summaryrefslogtreecommitdiff
path: root/asm/unk_02000E0C.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/unk_02000E0C.s')
-rw-r--r--asm/unk_02000E0C.s2758
1 files changed, 0 insertions, 2758 deletions
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