diff options
author | red031000 <rubenru09@aol.com> | 2020-07-15 22:06:11 +0100 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2020-07-15 22:06:11 +0100 |
commit | 8975e7eaed7eff6ddd4359d98b0f013bc5cf223e (patch) | |
tree | f5e0455bc3213fd1c816c4d43b3abaf7da158561 | |
parent | 45d44883bf3613a1a9382042cf01bb509f51069b (diff) |
split mod05_021D80E8
-rw-r--r-- | arm9/arm9.lsf | 1 | ||||
-rw-r--r-- | arm9/global.inc | 6 | ||||
-rw-r--r-- | arm9/modules/05/asm/mod05_021D80E8.s | 2265 | ||||
-rw-r--r-- | arm9/modules/05/asm/module_05.s | 2261 |
4 files changed, 2272 insertions, 2261 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index 1b683c37..d59f7e0b 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -518,6 +518,7 @@ Overlay MODULE_05 After arm9 Object mod05_021D74E0.o Object mod05_021D7F4C.o + Object mod05_021D80E8.o Object module_05.o } diff --git a/arm9/global.inc b/arm9/global.inc index bc3c62c8..1898976b 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -6304,6 +6304,7 @@ .extern MOD05_021DC174 .extern MOD05_021DD60C .extern MOD05_021E1374 +.extern MOD05_021E1654 .extern MOD05_021E1858 .extern MOD05_021E1994 .extern MOD05_021E1BF8 @@ -6381,6 +6382,7 @@ .extern MOD05_021E5E8C .extern MOD05_021E5FD8 .extern MOD05_021E5FE0 +.extern MOD05_021E61A4 .extern MOD05_021E6410 .extern MOD05_021E643C .extern MOD05_021E6990 @@ -6391,6 +6393,7 @@ .extern MOD05_021E7138 .extern MOD05_021E7184 .extern MOD05_021E71E8 +.extern MOD05_021E72FC .extern MOD05_021E7750 .extern MOD05_021E799C .extern MOD05_021E7AC0 @@ -6435,6 +6438,7 @@ .extern MOD05_021ECD64 .extern MOD05_021ECF14 .extern MOD05_021ED0CC +.extern MOD05_021ED378 .extern MOD05_021ED49C .extern MOD05_021ED4E0 .extern MOD05_021ED52C @@ -6509,6 +6513,7 @@ .extern MOD05_021F4608 .extern MOD05_021F46C8 .extern MOD05_021F4704 +.extern MOD05_021F4724 .extern MOD05_021F4978 .extern MOD05_021F49AC .extern MOD05_021F4BD0 @@ -6519,6 +6524,7 @@ .extern MOD05_021F4CD4 .extern MOD05_021F4CF8 .extern MOD05_021F4D1C +.extern MOD05_021F4D2C .extern MOD05_021F4D80 .extern MOD05_021F4DC8 .extern MOD05_021F4E7C diff --git a/arm9/modules/05/asm/mod05_021D80E8.s b/arm9/modules/05/asm/mod05_021D80E8.s new file mode 100644 index 00000000..39ef4e7b --- /dev/null +++ b/arm9/modules/05/asm/mod05_021D80E8.s @@ -0,0 +1,2265 @@ + .include "asm/macros.inc" + .include "global.inc" + .section .text + .balign 4, 0 + + thumb_func_start MOD05_021D80E8 +MOD05_021D80E8: ; 0x021D80E8 + ldrh r2, [r0] + mov r1, #1 + bic r2, r1 + strh r2, [r0] + ldrh r2, [r0] + mov r1, #2 + bic r2, r1 + strh r2, [r0] + ldrh r2, [r0] + mov r1, #4 + bic r2, r1 + strh r2, [r0] + ldrh r2, [r0] + mov r1, #8 + bic r2, r1 + strh r2, [r0] + ldrh r2, [r0] + mov r1, #0x10 + bic r2, r1 + strh r2, [r0] + ldrh r2, [r0] + mov r1, #0x20 + bic r2, r1 + strh r2, [r0] + ldrh r2, [r0] + mov r1, #0x40 + bic r2, r1 + strh r2, [r0] + ldrh r2, [r0] + mov r1, #0x80 + bic r2, r1 + strh r2, [r0] + ldrh r2, [r0] + ldr r1, _021D8154 ; =0xFFFFFEFF + and r1, r2 + strh r1, [r0] + ldrh r2, [r0] + ldr r1, _021D8158 ; =0xFFFFFDFF + and r1, r2 + strh r1, [r0] + ldrh r2, [r0] + ldr r1, _021D815C ; =0xFFFFFBFF + and r1, r2 + strh r1, [r0] + ldrh r2, [r0] + ldr r1, _021D8160 ; =0xFFFFF7FF + and r2, r1 + strh r2, [r0] + mov r2, #0xff + strb r2, [r0, #2] + asr r1, r1, #0xc + strb r1, [r0, #3] + bx lr + nop +_021D8154: .word 0xFFFFFEFF +_021D8158: .word 0xFFFFFDFF +_021D815C: .word 0xFFFFFBFF +_021D8160: .word 0xFFFFF7FF + + thumb_func_start MOD05_021D8164 +MOD05_021D8164: ; 0x021D8164 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r7, r1, #0 + add r5, r0, #0 + add r6, r2, #0 + add r4, r3, #0 + bl MOD05_021D80E8 + ldr r0, [r7, #0x38] + bl FUN_02055378 + str r0, [sp, #4] + ldr r0, [r7, #0x38] + bl FUN_02055370 + str r0, [sp] + ldr r0, [r7, #0x38] + bl FUN_020552F8 + add r2, r0, #0 + ldr r0, [sp, #4] + strh r6, [r5, #4] + strh r4, [r5, #6] + cmp r0, #3 + beq _021D819A + cmp r0, #0 + bne _021D81F8 +_021D819A: + mov r0, #1 + lsl r0, r0, #0xa + tst r0, r6 + beq _021D81AA + ldrh r1, [r5] + mov r0, #4 + orr r0, r1 + strh r0, [r5] +_021D81AA: + mov r0, #2 + lsl r0, r0, #0xa + tst r0, r6 + beq _021D81BA + ldrh r1, [r5] + mov r0, #8 + orr r0, r1 + strh r0, [r5] +_021D81BA: + mov r3, #1 + add r0, r6, #0 + tst r0, r3 + beq _021D81CE + ldrh r1, [r5] + mov r0, #1 + bic r1, r0 + add r0, r1, #0 + orr r0, r3 + strh r0, [r5] +_021D81CE: + mov r0, #2 + tst r0, r6 + beq _021D81DC + ldrh r1, [r5] + mov r0, #0x80 + orr r0, r1 + strh r0, [r5] +_021D81DC: + mov r0, #0xf0 + add r3, r4, #0 + and r3, r0 + beq _021D81EC + ldrh r1, [r5] + mov r0, #0x10 + orr r0, r1 + strh r0, [r5] +_021D81EC: + cmp r3, #0 + beq _021D81F8 + ldrh r1, [r5] + mov r0, #0x20 + orr r0, r1 + strh r0, [r5] +_021D81F8: + ldr r0, [sp, #4] + cmp r0, #3 + bne _021D820C + ldr r0, [sp] + cmp r0, #1 + bne _021D820C + ldrh r1, [r5] + mov r0, #0x40 + orr r0, r1 + strh r0, [r5] +_021D820C: + ldr r0, [sp, #4] + cmp r0, #3 + bne _021D821A + ldrh r1, [r5] + mov r0, #2 + orr r0, r1 + strh r0, [r5] +_021D821A: + cmp r2, #0 + bne _021D8224 + mov r0, #0x40 + tst r0, r4 + bne _021D8242 +_021D8224: + cmp r2, #1 + bne _021D822E + mov r0, #0x80 + tst r0, r4 + bne _021D8242 +_021D822E: + cmp r2, #2 + bne _021D8238 + mov r0, #0x20 + tst r0, r4 + bne _021D8242 +_021D8238: + cmp r2, #3 + bne _021D8246 + mov r0, #0x10 + tst r0, r4 + beq _021D8246 +_021D8242: + strb r2, [r5, #3] + b _021D824C +_021D8246: + mov r0, #0 + mvn r0, r0 + strb r0, [r5, #3] +_021D824C: + ldr r0, [r7, #0x38] + add r1, r6, #0 + add r2, r4, #0 + bl FUN_02057020 + strb r0, [r5, #2] + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + + thumb_func_start MOD05_021D825C +MOD05_021D825C: ; 0x021D825C + push {r4, r5, r6, lr} + sub sp, #0x10 + add r4, r1, #0 + add r5, r0, #0 + ldr r0, [r4, #0x38] + bl FUN_02055378 + add r6, r0, #0 + ldr r0, [r4, #0x1c] + ldr r1, [r0] + ldr r0, _021D831C ; =0x00000156 + cmp r1, r0 + beq _021D827C + add sp, #0x10 + mov r0, #0 + pop {r4, r5, r6, pc} +_021D827C: + ldr r0, [r4, #0xc] + bl FUN_020462AC + bl FUN_0205ED3C + cmp r0, #0 + bne _021D8290 + add sp, #0x10 + mov r0, #0 + pop {r4, r5, r6, pc} +_021D8290: + cmp r6, #0 + bne _021D82EC + ldr r0, [r4, #0x38] + bl FUN_02055370 + ldrb r1, [r5, #2] + lsl r2, r1, #0x18 + asr r3, r2, #0x18 + mov r2, #0 + mvn r2, r2 + cmp r3, r2 + beq _021D82CE + cmp r0, #1 + bne _021D82CE + add r0, r4, #0 + add r2, sp, #0xc + add r3, sp, #8 + bl MOD05_021D9130 + ldr r1, [sp, #0xc] + ldr r2, [sp, #8] + add r0, r4, #0 + bl FUN_0204A6E0 + bl FUN_0205478C + cmp r0, #0 + beq _021D8314 + add sp, #0x10 + mov r0, #1 + pop {r4, r5, r6, pc} +_021D82CE: + mov r0, #3 + ldrsb r1, [r5, r0] + sub r0, r0, #4 + cmp r1, r0 + beq _021D8314 + add r0, r4, #0 + bl MOD05_021D9194 + bl FUN_0205478C + cmp r0, #0 + beq _021D8314 + add sp, #0x10 + mov r0, #1 + pop {r4, r5, r6, pc} +_021D82EC: + cmp r6, #3 + bne _021D8314 + ldrb r1, [r5, #2] + add r0, r4, #0 + add r2, sp, #4 + add r3, sp, #0 + bl MOD05_021D9130 + ldr r1, [sp, #4] + ldr r2, [sp] + add r0, r4, #0 + bl FUN_0204A6E0 + bl FUN_0205478C + cmp r0, #0 + beq _021D8314 + add sp, #0x10 + mov r0, #1 + pop {r4, r5, r6, pc} +_021D8314: + mov r0, #0 + add sp, #0x10 + pop {r4, r5, r6, pc} + nop +_021D831C: .word 0x00000156 + + thumb_func_start MOD05_021D8320 +MOD05_021D8320: ; 0x021D8320 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r5, r0, #0 + ldrh r0, [r5] + add r4, r1, #0 + lsl r0, r0, #0x14 + lsr r0, r0, #0x1f + bne _021D8342 + add r0, r4, #0 + mov r1, #1 + bl FUN_0203989C + cmp r0, #1 + bne _021D8342 + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8342: + ldrh r0, [r5] + lsl r0, r0, #0x14 + lsr r0, r0, #0x1f + bne _021D8384 + ldr r0, [r4, #0xc] + bl FUN_0206BB1C + bl FUN_0204A248 + add r6, r0, #0 + ldr r0, [r4, #0xc] + bl FUN_020462AC + bl FUN_0205ED3C + cmp r0, #1 + bne _021D8366 + mov r6, #1 +_021D8366: + add r0, r4, #0 + add r1, r6, #0 + bl FUN_0205C598 + cmp r0, #1 + bne _021D8384 + ldr r0, [r4, #0x38] + bl FUN_02055B14 + ldr r0, [r4, #0x34] + bl FUN_02058780 + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8384: + ldrh r0, [r5] + lsl r0, r0, #0x19 + lsr r0, r0, #0x1f + beq _021D83A6 + ldr r0, [r4, #0xc] + bl FUN_020462AC + bl FUN_0205ED5C + add r0, r4, #0 + bl MOD05_021D8D24 + cmp r0, #1 + bne _021D83A6 + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D83A6: + add r0, r5, #0 + add r1, r4, #0 + bl MOD05_021D825C + cmp r0, #0 + beq _021D83C2 + add r0, r4, #0 + mov r1, #4 + mov r2, #0 + bl FUN_02038C78 + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D83C2: + ldrh r1, [r5, #4] + ldrh r2, [r5, #6] + ldr r0, [r4, #0x38] + mov r6, #0 + bl FUN_02057020 + add r7, r0, #0 + ldr r0, [r4, #0xc] + bl FUN_020462AC + mov r1, #2 + bl FUN_0205F264 + cmp r0, #0 + beq _021D83E4 + mov r0, #1 + orr r6, r0 +_021D83E4: + ldr r0, [r4, #0xc] + bl FUN_0206BB1C + mov r1, #0x7f + bl FUN_0204A138 + cmp r0, #0xff + beq _021D83F8 + mov r0, #2 + orr r6, r0 +_021D83F8: + ldr r1, [r4, #0x38] + add r0, r4, #0 + add r2, r7, #0 + add r3, r6, #0 + bl MOD05_021E61A4 + cmp r0, #1 + bne _021D840E + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D840E: + ldrh r0, [r5] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + beq _021D8436 + add r0, r4, #0 + bl MOD05_021D8954 + cmp r0, #0 + beq _021D8426 + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8426: + add r0, r4, #0 + bl MOD05_021D859C + cmp r0, #1 + bne _021D8436 + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8436: + ldrh r0, [r5] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + beq _021D845A + ldr r0, [r4, #0x38] + bl FUN_020552F8 + ldrb r1, [r5, #2] + cmp r1, r0 + bne _021D845A + add r0, r4, #0 + bl MOD05_021D859C + cmp r0, #1 + bne _021D845A + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D845A: + ldrh r0, [r5] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + beq _021D8532 + add r0, r4, #0 + add r1, sp, #4 + bl FUN_02037090 + cmp r0, #1 + bne _021D84B8 + ldr r0, [r4, #0x38] + bl FUN_02055B30 + cmp r0, #1 + bne _021D8486 + ldr r0, [r4, #0x38] + bl FUN_020552F8 + add r1, r0, #0 + ldr r0, [r4, #0x38] + bl FUN_02055B8C +_021D8486: + ldr r0, [sp, #4] + bl FUN_02058488 + cmp r0, #9 + beq _021D84A8 + ldr r5, [sp, #4] + add r0, r5, #0 + bl FUN_02058498 + add r1, r0, #0 + lsl r1, r1, #0x10 + add r0, r4, #0 + lsr r1, r1, #0x10 + add r2, r5, #0 + bl FUN_02038C78 + b _021D84B2 +_021D84A8: + ldr r2, [sp, #4] + add r0, r4, #0 + mov r1, #0 + bl FUN_02038C78 +_021D84B2: + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D84B8: + add r0, r4, #0 + bl FUN_02034AF0 + add r6, r0, #0 + add r0, r4, #0 + bl FUN_02034AF8 + add r2, r0, #0 + add r0, r4, #0 + add r1, r6, #0 + bl FUN_020370BC + add r1, r0, #0 + ldr r0, _021D8594 ; =0x0000FFFF + cmp r1, r0 + beq _021D84EA + lsl r1, r1, #0x10 + add r0, r4, #0 + lsr r1, r1, #0x10 + mov r2, #0 + bl FUN_02038C78 + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D84EA: + add r0, r4, #0 + add r1, sp, #0 + bl MOD05_021F4D2C + cmp r0, #0 + beq _021D850A + ldr r1, [sp] + add r0, r4, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + mov r2, #0 + bl FUN_02038C78 + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D850A: + add r0, r4, #0 + bl MOD05_021D9194 + add r1, r0, #0 + add r0, r4, #0 + bl MOD05_021D8BAC + add r1, r0, #0 + ldr r0, _021D8594 ; =0x0000FFFF + cmp r1, r0 + beq _021D8532 + lsl r1, r1, #0x10 + add r0, r4, #0 + lsr r1, r1, #0x10 + mov r2, #0 + bl FUN_02038C78 + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8532: + ldrh r0, [r5] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1f + beq _021D8552 + add r0, r4, #0 + add r1, r5, #0 + bl MOD05_021D89BC + cmp r0, #1 + bne _021D8552 + add r0, r4, #0 + bl MOD05_021D9290 + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8552: + ldrh r0, [r5] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + beq _021D856A + add r0, r4, #0 + bl FUN_0205DB44 + cmp r0, #1 + bne _021D856A + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D856A: + ldrh r0, [r5] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + beq _021D858E + add r0, r4, #0 + bl FUN_02035068 + cmp r0, #1 + bne _021D858E + ldr r0, _021D8598 ; =0x000005FD + bl FUN_020054C8 + add r0, r4, #0 + bl FUN_02035080 + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D858E: + mov r0, #0 + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_021D8594: .word 0x0000FFFF +_021D8598: .word 0x000005FD + + thumb_func_start MOD05_021D859C +MOD05_021D859C: ; 0x021D859C + push {r3, r4, r5, lr} + add r1, sp, #0 + add r5, r0, #0 + bl FUN_02037230 + cmp r0, #1 + bne _021D85C4 + ldr r4, [sp] + add r0, r4, #0 + bl FUN_02058498 + add r1, r0, #0 + lsl r1, r1, #0x10 + add r0, r5, #0 + lsr r1, r1, #0x10 + add r2, r4, #0 + bl FUN_02038C78 + mov r0, #1 + pop {r3, r4, r5, pc} +_021D85C4: + add r0, r5, #0 + bl FUN_02034AF0 + add r4, r0, #0 + add r0, r5, #0 + bl FUN_02034AF8 + add r2, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + bl FUN_020371D0 + add r1, r0, #0 + ldr r0, _021D85F8 ; =0x0000FFFF + cmp r1, r0 + beq _021D85F4 + lsl r1, r1, #0x10 + add r0, r5, #0 + lsr r1, r1, #0x10 + mov r2, #0 + bl FUN_02038C78 + mov r0, #1 + pop {r3, r4, r5, pc} +_021D85F4: + mov r0, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_021D85F8: .word 0x0000FFFF + + thumb_func_start MOD05_021D85FC +MOD05_021D85FC: ; 0x021D85FC + push {r4, lr} + add r4, r0, #0 + ldrh r0, [r4] + lsl r0, r0, #0x14 + lsr r0, r0, #0x1f + bne _021D8618 + add r0, r1, #0 + mov r1, #1 + bl FUN_0203989C + cmp r0, #1 + bne _021D8618 + mov r0, #1 + pop {r4, pc} +_021D8618: + bl FUN_02031438 + cmp r0, #0 + bne _021D862C + bl FUN_02031190 + bl FUN_0204F6B4 + cmp r0, #0 + beq _021D8630 +_021D862C: + mov r0, #0 + pop {r4, pc} +_021D8630: + bl MOD18_0223DCB4 + ldrh r0, [r4] + lsl r1, r0, #0x1f + lsr r1, r1, #0x1f + beq _021D8646 + mov r0, #0 + bl MOD18_0223DCD0 + mov r0, #0 + pop {r4, pc} +_021D8646: + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + beq _021D8654 + bl MOD18_0223DC98 + mov r0, #0 + pop {r4, pc} +_021D8654: + bl MOD18_0223D8F4 + mov r0, #0 + pop {r4, pc} + + thumb_func_start MOD05_021D865C +MOD05_021D865C: ; 0x021D865C + push {r3, r4, r5, lr} + add r4, r0, #0 + ldrh r0, [r4] + add r5, r1, #0 + lsl r0, r0, #0x1a + lsr r0, r0, #0x1f + beq _021D868E + mov r0, #3 + ldrsb r0, [r4, r0] + cmp r0, #1 + bne _021D868E + add r0, r5, #0 + bl MOD05_021D9178 + bl FUN_020547E0 + cmp r0, #0 + beq _021D868E + ldr r1, _021D872C ; =0x0000238D + add r0, r5, #0 + mov r2, #0 + bl FUN_02038C78 + mov r0, #1 + pop {r3, r4, r5, pc} +_021D868E: + bl FUN_02031438 + cmp r0, #0 + bne _021D86AA + bl FUN_02031190 + bl FUN_0204F6B4 + cmp r0, #0 + bne _021D86AA + bl FUN_02050A68 + cmp r0, #0 + bne _021D86AE +_021D86AA: + mov r0, #0 + pop {r3, r4, r5, pc} +_021D86AE: + ldrh r0, [r4] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + beq _021D86FE + add r0, r5, #0 + add r1, sp, #0 + bl FUN_02037090 + cmp r0, #1 + bne _021D86FE + ldr r0, [sp] + bl FUN_02058480 + cmp r0, #1 + beq _021D86FE + ldr r0, [r5, #0x38] + bl FUN_02055B30 + cmp r0, #1 + bne _021D86E4 + ldr r0, [r5, #0x38] + bl FUN_020552F8 + add r1, r0, #0 + ldr r0, [r5, #0x38] + bl FUN_02055B8C +_021D86E4: + ldr r4, [sp] + add r0, r4, #0 + bl FUN_02058498 + add r1, r0, #0 + lsl r1, r1, #0x10 + add r0, r5, #0 + lsr r1, r1, #0x10 + add r2, r4, #0 + bl FUN_02038C78 + mov r0, #1 + pop {r3, r4, r5, pc} +_021D86FE: + ldrh r0, [r4] + lsl r1, r0, #0x1f + lsr r1, r1, #0x1f + beq _021D8710 + add r0, r5, #0 + bl FUN_02052044 + mov r0, #1 + pop {r3, r4, r5, pc} +_021D8710: + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + beq _021D8726 + ldr r0, _021D8730 ; =0x000005FD + bl FUN_020054C8 + add r0, r5, #0 + bl FUN_0203515C + mov r0, #1 + pop {r3, r4, r5, pc} +_021D8726: + mov r0, #0 + pop {r3, r4, r5, pc} + nop +_021D872C: .word 0x0000238D +_021D8730: .word 0x000005FD + + thumb_func_start MOD05_021D8734 +MOD05_021D8734: ; 0x021D8734 + push {r3, r4, r5, lr} + mov r5, #0 + mov r4, #1 +_021D873A: + add r0, r4, #0 + bl FUN_0202DFA4 + cmp r0, #0 + beq _021D8746 + add r5, r5, #1 +_021D8746: + add r4, r4, #1 + cmp r4, #5 + blt _021D873A + cmp r5, #1 + blt _021D8754 + mov r0, #1 + pop {r3, r4, r5, pc} +_021D8754: + mov r0, #0 + pop {r3, r4, r5, pc} + + thumb_func_start MOD05_021D8758 +MOD05_021D8758: ; 0x021D8758 + push {r3, r4, r5, lr} + add r4, r0, #0 + add r5, r1, #0 + bl FUN_0202CB8C + mov r1, #0xfe + tst r0, r1 + beq _021D878A + bl MOD05_021D8734 + cmp r0, #0 + beq _021D8786 + bl FUN_02030F20 + cmp r0, #1 + ble _021D8786 + add r0, r5, #0 + mov r1, #5 + mov r2, #0 + bl FUN_02038C78 + mov r0, #1 + pop {r3, r4, r5, pc} +_021D8786: + mov r0, #0 + pop {r3, r4, r5, pc} +_021D878A: + ldrh r0, [r4] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + beq _021D87D4 + add r0, r5, #0 + add r1, sp, #0 + bl FUN_02037090 + cmp r0, #1 + bne _021D87D4 + ldr r0, [r5, #0x38] + bl FUN_02055B30 + cmp r0, #1 + bne _021D87B6 + ldr r0, [r5, #0x38] + bl FUN_020552F8 + add r1, r0, #0 + ldr r0, [r5, #0x38] + bl FUN_02055B8C +_021D87B6: + bl FUN_02031C10 + ldr r4, [sp] + add r0, r4, #0 + bl FUN_02058498 + add r1, r0, #0 + lsl r1, r1, #0x10 + add r0, r5, #0 + lsr r1, r1, #0x10 + add r2, r4, #0 + bl FUN_02038C78 + mov r0, #1 + pop {r3, r4, r5, pc} +_021D87D4: + ldrh r0, [r4] + lsl r0, r0, #0x19 + lsr r0, r0, #0x1f + beq _021D87F4 + add r0, r5, #0 + bl MOD05_021D9178 + bl FUN_02054B60 + cmp r0, #0 + beq _021D87F4 + add r0, r5, #0 + bl FUN_02049D9C + mov r0, #1 + pop {r3, r4, r5, pc} +_021D87F4: + ldrh r0, [r4] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + beq _021D8816 + ldr r0, _021D881C ; =0x000005FD + bl FUN_020054C8 + add r0, r5, #0 + bl FUN_02035118 + mov r0, #4 + bl FUN_02052B74 + bl FUN_02031C2C + mov r0, #1 + pop {r3, r4, r5, pc} +_021D8816: + mov r0, #0 + pop {r3, r4, r5, pc} + nop +_021D881C: .word 0x000005FD + + thumb_func_start MOD05_021D8820 +MOD05_021D8820: ; 0x021D8820 + push {r3, r4, r5, r6, lr} + sub sp, #4 + add r5, r0, #0 + ldrh r0, [r5] + add r4, r1, #0 + lsl r0, r0, #0x14 + lsr r0, r0, #0x1f + bne _021D8842 + add r0, r4, #0 + mov r1, #1 + bl FUN_0203989C + cmp r0, #1 + bne _021D8842 + add sp, #4 + mov r0, #1 + pop {r3, r4, r5, r6, pc} +_021D8842: + ldrh r0, [r5] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + beq _021D88FA + add r0, r4, #0 + add r1, sp, #0 + bl FUN_02037090 + cmp r0, #1 + bne _021D88A0 + ldr r0, [r4, #0x38] + bl FUN_02055B30 + cmp r0, #1 + bne _021D886E + ldr r0, [r4, #0x38] + bl FUN_020552F8 + add r1, r0, #0 + ldr r0, [r4, #0x38] + bl FUN_02055B8C +_021D886E: + ldr r0, [sp] + bl FUN_02058488 + cmp r0, #9 + beq _021D8890 + ldr r5, [sp] + add r0, r5, #0 + bl FUN_02058498 + add r1, r0, #0 + lsl r1, r1, #0x10 + add r0, r4, #0 + lsr r1, r1, #0x10 + add r2, r5, #0 + bl FUN_02038C78 + b _021D889A +_021D8890: + ldr r2, [sp] + add r0, r4, #0 + mov r1, #0 + bl FUN_02038C78 +_021D889A: + add sp, #4 + mov r0, #1 + pop {r3, r4, r5, r6, pc} +_021D88A0: + add r0, r4, #0 + bl FUN_02034AF0 + add r6, r0, #0 + add r0, r4, #0 + bl FUN_02034AF8 + add r2, r0, #0 + add r0, r4, #0 + add r1, r6, #0 + bl FUN_020370BC + add r1, r0, #0 + ldr r0, _021D894C ; =0x0000FFFF + cmp r1, r0 + beq _021D88D2 + lsl r1, r1, #0x10 + add r0, r4, #0 + lsr r1, r1, #0x10 + mov r2, #0 + bl FUN_02038C78 + add sp, #4 + mov r0, #1 + pop {r3, r4, r5, r6, pc} +_021D88D2: + add r0, r4, #0 + bl MOD05_021D9194 + add r1, r0, #0 + add r0, r4, #0 + bl MOD05_021D8BAC + add r1, r0, #0 + ldr r0, _021D894C ; =0x0000FFFF + cmp r1, r0 + beq _021D88FA + lsl r1, r1, #0x10 + add r0, r4, #0 + lsr r1, r1, #0x10 + mov r2, #0 + bl FUN_02038C78 + add sp, #4 + mov r0, #1 + pop {r3, r4, r5, r6, pc} +_021D88FA: + ldrh r0, [r5] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1f + beq _021D8914 + add r0, r4, #0 + add r1, r5, #0 + bl MOD05_021D89BC + cmp r0, #1 + bne _021D8914 + add sp, #4 + mov r0, #1 + pop {r3, r4, r5, r6, pc} +_021D8914: + ldrh r0, [r5] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + beq _021D892C + add r0, r4, #0 + bl FUN_0205DB44 + cmp r0, #1 + bne _021D892C + add sp, #4 + mov r0, #1 + pop {r3, r4, r5, r6, pc} +_021D892C: + ldrh r0, [r5] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + beq _021D8946 + ldr r0, _021D8950 ; =0x000005FD + bl FUN_020054C8 + add r0, r4, #0 + bl FUN_02035080 + add sp, #4 + mov r0, #1 + pop {r3, r4, r5, r6, pc} +_021D8946: + mov r0, #0 + add sp, #4 + pop {r3, r4, r5, r6, pc} + .balign 4, 0 +_021D894C: .word 0x0000FFFF +_021D8950: .word 0x000005FD + + thumb_func_start MOD05_021D8954 +MOD05_021D8954: ; 0x021D8954 + push {r4, lr} + sub sp, #8 + add r4, r0, #0 + add r1, sp, #4 + add r2, sp, #0 + bl MOD05_021D90F8 + ldr r0, [r4, #0xc] + bl FUN_020462AC + bl FUN_0205F244 + cmp r0, #1 + bne _021D8998 + ldr r1, [sp, #4] + ldr r2, [sp] + add r0, r4, #0 + bl FUN_0204BA68 + cmp r0, #1 + bne _021D8992 + add r0, r4, #0 + bl FUN_0204BA90 + add r1, r0, #0 + add r0, r4, #0 + bl FUN_02046F70 + add sp, #8 + mov r0, #1 + pop {r4, pc} +_021D8992: + add sp, #8 + mov r0, #0 + pop {r4, pc} +_021D8998: + ldr r0, [r4, #0x1c] + ldr r0, [r0] + bl FUN_020347D8 + cmp r0, #0 + beq _021D89B4 + add r0, r4, #0 + bl MOD06_0223BA04 + cmp r0, #1 + bne _021D89B4 + add sp, #8 + mov r0, #1 + pop {r4, pc} +_021D89B4: + mov r0, #0 + add sp, #8 + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021D89BC +MOD05_021D89BC: ; 0x021D89BC + push {r4, r5, r6, lr} + sub sp, #0x28 + add r5, r1, #0 + mov r1, #3 + ldrsb r2, [r5, r1] + sub r1, r1, #4 + add r6, r0, #0 + cmp r2, r1 + bne _021D89D4 + add sp, #0x28 + mov r0, #0 + pop {r4, r5, r6, pc} +_021D89D4: + bl MOD06_022426AC + cmp r0, #0 + beq _021D89E2 + add sp, #0x28 + mov r0, #1 + pop {r4, r5, r6, pc} +_021D89E2: + add r0, r6, #0 + add r1, sp, #0x10 + add r2, sp, #0xc + bl MOD05_021D9114 + ldr r1, [sp, #0x10] + ldr r2, [sp, #0xc] + add r0, r6, #0 + bl FUN_0204A6B4 + cmp r0, #0 + bne _021D8A00 + add sp, #0x28 + mov r0, #0 + pop {r4, r5, r6, pc} +_021D8A00: + ldr r1, [sp, #0x10] + ldr r2, [sp, #0xc] + add r0, r6, #0 + add r3, sp, #0x14 + bl MOD05_021D91B0 + cmp r0, #0 + beq _021D8A4A + mov r0, #3 + ldrsb r1, [r5, r0] + sub r0, r0, #4 + cmp r1, r0 + beq _021D8A4A + ldr r1, [sp, #0x10] + ldr r2, [sp, #0xc] + add r0, r6, #0 + bl FUN_0204A6E0 + bl FUN_020547B0 + cmp r0, #0 + beq _021D8A4A + mov r3, #0 + str r3, [sp] + mov r0, #3 + ldrsb r0, [r5, r0] + str r0, [sp, #4] + mov r0, #1 + str r0, [sp, #8] + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x18] + add r0, r6, #0 + bl FUN_0204C260 + add sp, #0x28 + mov r0, #1 + pop {r4, r5, r6, pc} +_021D8A4A: + add r0, r6, #0 + add r1, sp, #0x10 + add r2, sp, #0xc + bl MOD05_021D90F8 + ldr r1, [sp, #0x10] + ldr r2, [sp, #0xc] + add r0, r6, #0 + bl FUN_0204A6E0 + add r4, r0, #0 + bl FUN_020547BC + cmp r0, #0 + bne _021D8A72 + add r0, r4, #0 + bl FUN_020547EC + cmp r0, #0 + beq _021D8A80 +_021D8A72: + mov r0, #3 + ldrsb r0, [r5, r0] + cmp r0, #3 + beq _021D8AF4 + add sp, #0x28 + mov r0, #0 + pop {r4, r5, r6, pc} +_021D8A80: + add r0, r4, #0 + bl FUN_020547C8 + cmp r0, #0 + bne _021D8A94 + add r0, r4, #0 + bl FUN_020547F8 + cmp r0, #0 + beq _021D8AA2 +_021D8A94: + mov r0, #3 + ldrsb r0, [r5, r0] + cmp r0, #2 + beq _021D8AF4 + add sp, #0x28 + mov r0, #0 + pop {r4, r5, r6, pc} +_021D8AA2: + add r0, r4, #0 + bl FUN_020547E0 + cmp r0, #0 + bne _021D8AB6 + add r0, r4, #0 + bl FUN_02054810 + cmp r0, #0 + beq _021D8AC4 +_021D8AB6: + mov r0, #3 + ldrsb r0, [r5, r0] + cmp r0, #1 + beq _021D8AF4 + add sp, #0x28 + mov r0, #0 + pop {r4, r5, r6, pc} +_021D8AC4: + add r0, r4, #0 + bl FUN_020548D8 + cmp r0, #0 + beq _021D8ADC + mov r0, #3 + ldrsb r0, [r5, r0] + cmp r0, #3 + beq _021D8AF4 + add sp, #0x28 + mov r0, #0 + pop {r4, r5, r6, pc} +_021D8ADC: + add r0, r4, #0 + bl FUN_020548E4 + cmp r0, #0 + beq _021D8AF4 + mov r0, #3 + ldrsb r0, [r5, r0] + cmp r0, #2 + beq _021D8AF4 + add sp, #0x28 + mov r0, #0 + pop {r4, r5, r6, pc} +_021D8AF4: + ldr r1, [sp, #0x10] + ldr r2, [sp, #0xc] + add r0, r6, #0 + add r3, sp, #0x14 + bl MOD05_021D91B0 + cmp r0, #0 + bne _021D8B0A + add sp, #0x28 + mov r0, #0 + pop {r4, r5, r6, pc} +_021D8B0A: + add r0, r4, #0 + bl FUN_020547B0 + cmp r0, #0 + beq _021D8B18 + mov r1, #1 + b _021D8B90 +_021D8B18: + add r0, r4, #0 + bl FUN_020548D8 + cmp r0, #0 + beq _021D8B26 + mov r1, #3 + b _021D8B90 +_021D8B26: + add r0, r4, #0 + bl FUN_020548E4 + cmp r0, #0 + beq _021D8B34 + mov r1, #3 + b _021D8B90 +_021D8B34: + add r0, r4, #0 + bl FUN_020547BC + cmp r0, #0 + bne _021D8B70 + add r0, r4, #0 + bl FUN_020547EC + cmp r0, #0 + bne _021D8B70 + add r0, r4, #0 + bl FUN_020547C8 + cmp r0, #0 + bne _021D8B70 + add r0, r4, #0 + bl FUN_020547F8 + cmp r0, #0 + bne _021D8B70 + add r0, r4, #0 + bl FUN_020547E0 + cmp r0, #0 + bne _021D8B70 + add r0, r4, #0 + bl FUN_02054810 + cmp r0, #0 + beq _021D8B8A +_021D8B70: + mov r3, #0 + str r3, [sp] + mov r0, #3 + ldrsb r0, [r5, r0] + str r0, [sp, #4] + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x18] + add r0, r6, #0 + bl FUN_0204C29C + add sp, #0x28 + mov r0, #1 + pop {r4, r5, r6, pc} +_021D8B8A: + add sp, #0x28 + mov r0, #0 + pop {r4, r5, r6, pc} +_021D8B90: + mov r3, #0 + str r3, [sp] + mov r0, #3 + ldrsb r0, [r5, r0] + str r0, [sp, #4] + str r1, [sp, #8] + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x18] + add r0, r6, #0 + bl FUN_0204C260 + mov r0, #1 + add sp, #0x28 + pop {r4, r5, r6, pc} + + thumb_func_start MOD05_021D8BAC +MOD05_021D8BAC: ; 0x021D8BAC + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + ldr r0, [r5, #0x38] + add r4, r1, #0 + bl FUN_020552F8 + add r6, r0, #0 + add r0, r4, #0 + bl FUN_02054878 + cmp r0, #0 + beq _021D8BCC + cmp r6, #0 + bne _021D8BCC + ldr r0, _021D8CE4 ; =0x000007E2 + pop {r3, r4, r5, r6, r7, pc} +_021D8BCC: + add r0, r4, #0 + bl FUN_02054914 + cmp r0, #0 + beq _021D8BDA + ldr r0, _021D8CE8 ; =0x000009C4 + pop {r3, r4, r5, r6, r7, pc} +_021D8BDA: + add r0, r4, #0 + bl FUN_02054920 + cmp r0, #0 + beq _021D8BE8 + ldr r0, _021D8CEC ; =0x000009C5 + pop {r3, r4, r5, r6, r7, pc} +_021D8BE8: + add r0, r4, #0 + bl FUN_0205492C + cmp r0, #0 + beq _021D8BF6 + ldr r0, _021D8CF0 ; =0x000009C6 + pop {r3, r4, r5, r6, r7, pc} +_021D8BF6: + add r0, r4, #0 + bl FUN_02054938 + cmp r0, #0 + beq _021D8C04 + ldr r0, _021D8CF4 ; =0x000009C7 + pop {r3, r4, r5, r6, r7, pc} +_021D8C04: + add r0, r4, #0 + bl FUN_02054944 + cmp r0, #0 + beq _021D8C12 + ldr r0, _021D8CF8 ; =0x000009C8 + pop {r3, r4, r5, r6, r7, pc} +_021D8C12: + add r0, r4, #0 + bl FUN_02054950 + cmp r0, #0 + beq _021D8C20 + ldr r0, _021D8CFC ; =0x000009C9 + pop {r3, r4, r5, r6, r7, pc} +_021D8C20: + add r0, r4, #0 + bl FUN_0205495C + cmp r0, #0 + beq _021D8C2E + ldr r0, _021D8D00 ; =0x000009CA + pop {r3, r4, r5, r6, r7, pc} +_021D8C2E: + add r0, r4, #0 + bl FUN_02054968 + cmp r0, #0 + beq _021D8C3C + ldr r0, _021D8D04 ; =0x000009CB + pop {r3, r4, r5, r6, r7, pc} +_021D8C3C: + add r0, r4, #0 + bl FUN_02054A48 + cmp r0, #0 + beq _021D8C4A + ldr r0, _021D8D08 ; =0x00002716 + pop {r3, r4, r5, r6, r7, pc} +_021D8C4A: + add r0, r4, #0 + bl FUN_02054884 + cmp r0, #0 + beq _021D8C58 + ldr r0, _021D8D0C ; =0x000009CC + pop {r3, r4, r5, r6, r7, pc} +_021D8C58: + add r0, r4, #0 + bl FUN_02054A54 + cmp r0, #0 + beq _021D8C66 + ldr r0, _021D8D10 ; =0x000007EE + pop {r3, r4, r5, r6, r7, pc} +_021D8C66: + add r0, r4, #0 + bl FUN_02054B14 + cmp r0, #0 + beq _021D8C78 + cmp r6, #0 + bne _021D8C78 + ldr r0, _021D8D14 ; =0x00002774 + pop {r3, r4, r5, r6, r7, pc} +_021D8C78: + add r0, r4, #0 + add r1, r6, #0 + bl MOD05_021E69BC + cmp r0, #0 + beq _021D8C88 + ldr r0, _021D8D18 ; =0x00002713 + pop {r3, r4, r5, r6, r7, pc} +_021D8C88: + ldr r0, [r5, #0x38] + bl FUN_020553C4 + cmp r0, #2 + beq _021D8CE0 + ldr r0, [r5, #0xc] + bl FUN_020238F4 + add r6, r0, #0 + ldr r0, [r5, #0x38] + bl FUN_02055320 + add r7, r0, #0 + ldr r0, [r5, #0x38] + bl FUN_0205532C + add r2, r0, #0 + add r0, r5, #0 + add r1, r7, #0 + bl FUN_0204A6E0 + add r1, r0, #0 + ldr r0, [r5, #0x38] + add r2, r4, #0 + bl MOD05_021E643C + cmp r0, #0 + beq _021D8CE0 + add r0, r6, #0 + mov r1, #4 + bl FUN_020239D0 + cmp r0, #0 + beq _021D8CE0 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + mov r1, #0x39 + bl FUN_0204A138 + cmp r0, #0xff + beq _021D8CE0 + ldr r0, _021D8D1C ; =0x00002714 + pop {r3, r4, r5, r6, r7, pc} +_021D8CE0: + ldr r0, _021D8D20 ; =0x0000FFFF + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_021D8CE4: .word 0x000007E2 +_021D8CE8: .word 0x000009C4 +_021D8CEC: .word 0x000009C5 +_021D8CF0: .word 0x000009C6 +_021D8CF4: .word 0x000009C7 +_021D8CF8: .word 0x000009C8 +_021D8CFC: .word 0x000009C9 +_021D8D00: .word 0x000009CA +_021D8D04: .word 0x000009CB +_021D8D08: .word 0x00002716 +_021D8D0C: .word 0x000009CC +_021D8D10: .word 0x000007EE +_021D8D14: .word 0x00002774 +_021D8D18: .word 0x00002713 +_021D8D1C: .word 0x00002714 +_021D8D20: .word 0x0000FFFF + + thumb_func_start MOD05_021D8D24 +MOD05_021D8D24: ; 0x021D8D24 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + bl MOD06_02242404 + cmp r0, #0 + beq _021D8D34 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8D34: + ldr r0, [r5, #0x38] + bl FUN_020552F8 + add r2, r0, #0 + ldr r1, [r5, #0x38] + add r0, r5, #0 + bl MOD05_021E72FC + cmp r0, #1 + bne _021D8D4C + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8D4C: + ldr r0, [r5, #0x38] + bl FUN_02055320 + add r4, r0, #0 + ldr r0, [r5, #0x38] + bl FUN_0205532C + add r7, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + add r2, r7, #0 + bl FUN_0204A6E0 + add r6, r0, #0 + add r0, r5, #0 + bl MOD05_021D8E1C + cmp r0, #1 + bne _021D8D76 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8D76: + add r0, r5, #0 + add r1, r4, #0 + add r2, r7, #0 + add r3, r6, #0 + bl MOD05_021D8E54 + cmp r0, #1 + bne _021D8D90 + add r0, r5, #0 + bl MOD05_021D9290 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8D90: + ldr r0, [r5, #0x38] + bl FUN_020556B4 + cmp r0, #0 + beq _021D8D9E + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_021D8D9E: + add r0, r5, #0 + mov r1, #5 + mov r2, #1 + bl MOD05_021EFA9C + add r0, r5, #0 + bl MOD05_021D9010 + cmp r0, #1 + bne _021D8DB6 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8DB6: + add r0, r5, #0 + bl MOD05_021D9090 + cmp r0, #1 + bne _021D8DC4 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8DC4: + add r0, r5, #0 + bl MOD05_021D8F38 + cmp r0, #1 + bne _021D8DD2 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8DD2: + add r0, r5, #0 + bl MOD05_021D8F84 + cmp r0, #1 + bne _021D8DE0 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8DE0: + add r0, r5, #0 + bl MOD05_021D8F90 + cmp r0, #1 + bne _021D8DEE + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8DEE: + add r0, r5, #0 + bl MOD05_021D8F9C + cmp r0, #1 + bne _021D8DFC + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021D8DFC: + add r0, r5, #0 + bl MOD05_021D8FA8 + cmp r0, #0 + beq _021D8E0C + add r0, r5, #0 + bl MOD05_021D8FD0 +_021D8E0C: + ldr r0, [r5, #0xc] + bl FUN_020462AC + bl FUN_0205F56C + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + + thumb_func_start MOD05_021D8E1C +MOD05_021D8E1C: ; 0x021D8E1C + push {r3, r4, r5, lr} + add r4, r0, #0 + bl FUN_02034B5C + add r5, r0, #0 + add r0, r4, #0 + bl FUN_02034B54 + add r2, r0, #0 + add r0, r4, #0 + add r1, r5, #0 + bl FUN_02037264 + add r1, r0, #0 + ldr r0, _021D8E50 ; =0x0000FFFF + cmp r1, r0 + beq _021D8E4A + add r0, r4, #0 + mov r2, #0 + bl FUN_02038C78 + mov r0, #1 + pop {r3, r4, r5, pc} +_021D8E4A: + mov r0, #0 + pop {r3, r4, r5, pc} + nop +_021D8E50: .word 0x0000FFFF + + thumb_func_start MOD05_021D8E54 +MOD05_021D8E54: ; 0x021D8E54 + push {r3, r4, r5, lr} + sub sp, #0x20 + add r5, r3, #0 + add r3, sp, #0xc + add r4, r0, #0 + bl MOD05_021D91B0 + cmp r0, #0 + bne _021D8E6C + add sp, #0x20 + mov r0, #0 + pop {r3, r4, r5, pc} +_021D8E6C: + add r0, r5, #0 + bl FUN_020548C0 + cmp r0, #1 + bne _021D8EB0 + ldr r0, [r4, #0x38] + bl FUN_020552F8 + cmp r0, #2 + bne _021D8E84 + mov r0, #3 + b _021D8E96 +_021D8E84: + cmp r0, #3 + bne _021D8E8C + mov r0, #2 + b _021D8E96 +_021D8E8C: + bl ErrorHandling + add sp, #0x20 + mov r0, #0 + pop {r3, r4, r5, pc} +_021D8E96: + mov r3, #0 + str r3, [sp] + str r0, [sp, #4] + mov r0, #2 + str r0, [sp, #8] + ldr r1, [sp, #0xc] + ldr r2, [sp, #0x10] + add r0, r4, #0 + bl FUN_0204C260 + add sp, #0x20 + mov r0, #1 + pop {r3, r4, r5, pc} +_021D8EB0: + add r0, r5, #0 + bl FUN_020548CC + cmp r0, #1 + bne _021D8EEC + ldr r0, [r4, #0x38] + bl FUN_020552F8 + cmp r0, #2 + beq _021D8ED2 + cmp r0, #3 + beq _021D8ED2 + bl ErrorHandling + add sp, #0x20 + mov r0, #0 + pop {r3, r4, r5, pc} +_021D8ED2: + mov r3, #0 + str r3, [sp] + str r0, [sp, #4] + mov r0, #2 + str r0, [sp, #8] + ldr r1, [sp, #0xc] + ldr r2, [sp, #0x10] + add r0, r4, #0 + bl FUN_0204C260 + add sp, #0x20 + mov r0, #1 + pop {r3, r4, r5, pc} +_021D8EEC: + add r0, r5, #0 + bl FUN_020547D4 + cmp r0, #0 + bne _021D8F00 + add r0, r5, #0 + bl FUN_02054804 + cmp r0, #0 + beq _021D8F16 +_021D8F00: + mov r3, #0 + str r3, [sp] + str r3, [sp, #4] + ldr r1, [sp, #0xc] + ldr r2, [sp, #0x10] + add r0, r4, #0 + bl FUN_0204C29C + add sp, #0x20 + mov r0, #1 + pop {r3, r4, r5, pc} +_021D8F16: + add r0, r5, #0 + bl FUN_02054B60 + cmp r0, #0 + beq _021D8F30 + ldr r1, [sp, #0xc] + ldr r2, [sp, #0x10] + add r0, r4, #0 + bl FUN_02049718 + add sp, #0x20 + mov r0, #1 + pop {r3, r4, r5, pc} +_021D8F30: + mov r0, #0 + add sp, #0x20 + pop {r3, r4, r5, pc} + .balign 4, 0 + + thumb_func_start MOD05_021D8F38 +MOD05_021D8F38: ; 0x021D8F38 + push {r3, r4, r5, lr} + add r4, r0, #0 + ldr r0, [r4, #0xc] + bl FUN_0206BB1C + add r5, r0, #0 + ldr r0, [r4, #0xc] + bl FUN_02023D58 + add r1, r5, #0 + add r2, r4, #0 + bl MOD05_021ED378 + cmp r0, #1 + bne _021D8F7A + ldr r0, [r4, #0xc] + bl FUN_02029FC8 + add r5, r0, #0 + mov r1, #0xb + bl FUN_0202A0E8 + add r0, r5, #0 + mov r1, #0xf + bl FUN_0202A170 + ldr r1, _021D8F80 ; =0x000007EF + add r0, r4, #0 + mov r2, #0 + bl FUN_02038C78 + mov r0, #1 + pop {r3, r4, r5, pc} +_021D8F7A: + mov r0, #0 + pop {r3, r4, r5, pc} + nop +_021D8F80: .word 0x000007EF + + thumb_func_start MOD05_021D8F84 +MOD05_021D8F84: ; 0x021D8F84 + push {r3, lr} + bl MOD05_021E1654 + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + + thumb_func_start MOD05_021D8F90 +MOD05_021D8F90: ; 0x021D8F90 + push {r3, lr} + bl FUN_0205E4A4 + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + + thumb_func_start MOD05_021D8F9C +MOD05_021D8F9C: ; 0x021D8F9C + ldr r3, _021D8FA4 ; =MOD06_0224C24C + add r1, r0, #0 + ldr r0, [r1, #0xc] + bx r3 + .balign 4, 0 +_021D8FA4: .word MOD06_0224C24C + + thumb_func_start MOD05_021D8FA8 +MOD05_021D8FA8: ; 0x021D8FA8 + push {r3, r4, r5, lr} + ldr r0, [r0, #0xc] + mov r5, #0 + bl FUN_020462AC + add r4, r0, #0 + bl FUN_0205F780 + add r0, r0, #1 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + cmp r1, #0x80 + blo _021D8FC6 + add r1, r5, #0 + mov r5, #1 +_021D8FC6: + add r0, r4, #0 + bl FUN_0205F790 + add r0, r5, #0 + pop {r3, r4, r5, pc} + + thumb_func_start MOD05_021D8FD0 +MOD05_021D8FD0: ; 0x021D8FD0 + push {r3, r4, r5, r6, r7, lr} + add r4, r0, #0 + ldr r0, [r4, #0xc] + bl FUN_0206BB1C + add r6, r0, #0 + ldr r0, [r4, #0x1c] + ldr r0, [r0] + bl FUN_02034824 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + add r0, r6, #0 + bl GetPartyCount + add r7, r0, #0 + mov r4, #0 + cmp r7, #0 + ble _021D900C +_021D8FF6: + add r0, r6, #0 + add r1, r4, #0 + bl GetPartyMonByIndex + mov r1, #5 + add r2, r5, #0 + bl MonApplyFriendshipMod + add r4, r4, #1 + cmp r4, r7 + blt _021D8FF6 +_021D900C: + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + + thumb_func_start MOD05_021D9010 +MOD05_021D9010: ; 0x021D9010 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + add r4, r0, #0 + ldr r0, [r5, #0xc] + bl FUN_02034E30 + bl FUN_02034E2C + ldrh r1, [r0] + add r1, r1, #1 + strh r1, [r0] + ldrh r2, [r0] + mov r1, #3 + and r1, r2 + strh r1, [r0] + ldrh r0, [r0] + cmp r0, #0 + beq _021D903E + mov r0, #0 + pop {r3, r4, r5, pc} +_021D903E: + ldr r0, [r5, #0x1c] + ldr r0, [r0] + bl FUN_02034824 + add r1, r0, #0 + lsl r1, r1, #0x10 + add r0, r4, #0 + lsr r1, r1, #0x10 + bl FUN_0204A29C + cmp r0, #0 + beq _021D9060 + cmp r0, #1 + beq _021D9064 + cmp r0, #2 + beq _021D9070 + b _021D9086 +_021D9060: + mov r0, #0 + pop {r3, r4, r5, pc} +_021D9064: + ldr r0, [r5, #4] + ldr r0, [r0, #0x20] + bl MOD05_021F4724 + mov r0, #0 + pop {r3, r4, r5, pc} +_021D9070: + ldr r0, [r5, #4] + ldr r0, [r0, #0x20] + bl MOD05_021F4724 + ldr r1, _021D908C ; =0x000007D3 + add r0, r5, #0 + mov r2, #0 + bl FUN_02038C78 + mov r0, #1 + pop {r3, r4, r5, pc} +_021D9086: + mov r0, #0 + pop {r3, r4, r5, pc} + nop +_021D908C: .word 0x000007D3 + + thumb_func_start MOD05_021D9090 +MOD05_021D9090: ; 0x021D9090 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0xc] + bl FUN_020462AC + bl FUN_0205F214 + cmp r0, #0 + bne _021D90A6 + mov r0, #0 + pop {r4, pc} +_021D90A6: + ldr r0, [r4, #0xc] + bl FUN_02034E30 + bl FUN_02034E24 + ldrh r0, [r0] + cmp r0, #0 + bne _021D90C4 + ldr r1, _021D90F0 ; =0x00002262 + add r0, r4, #0 + mov r2, #0 + bl FUN_02038C78 + mov r0, #1 + pop {r4, pc} +_021D90C4: + ldr r0, [r4, #0xc] + bl FUN_02034E30 + bl FUN_02034E28 + ldrh r1, [r0] + add r1, r1, #1 + strh r1, [r0] + ldrh r1, [r0] + mov r0, #0x7d + lsl r0, r0, #2 + cmp r1, r0 + blo _021D90EC + ldr r1, _021D90F4 ; =0x00002261 + add r0, r4, #0 + mov r2, #0 + bl FUN_02038C78 + mov r0, #1 + pop {r4, pc} +_021D90EC: + mov r0, #0 + pop {r4, pc} + .balign 4, 0 +_021D90F0: .word 0x00002262 +_021D90F4: .word 0x00002261 + + thumb_func_start MOD05_021D90F8 +MOD05_021D90F8: ; 0x021D90F8 + push {r4, r5, r6, lr} + add r5, r0, #0 + ldr r0, [r5, #0x38] + add r4, r1, #0 + add r6, r2, #0 + bl FUN_02055320 + str r0, [r4] + ldr r0, [r5, #0x38] + bl FUN_0205532C + str r0, [r6] + pop {r4, r5, r6, pc} + .balign 4, 0 + + thumb_func_start MOD05_021D9114 +MOD05_021D9114: ; 0x021D9114 + push {r4, r5, r6, lr} + add r5, r0, #0 + ldr r0, [r5, #0x38] + add r4, r1, #0 + add r6, r2, #0 + bl FUN_020552F8 + add r1, r0, #0 + add r0, r5, #0 + add r2, r4, #0 + add r3, r6, #0 + bl MOD05_021D9130 + pop {r4, r5, r6, pc} + + thumb_func_start MOD05_021D9130 +MOD05_021D9130: ; 0x021D9130 + push {r4, r5, r6, lr} + add r4, r2, #0 + add r5, r3, #0 + add r6, r1, #0 + add r1, r4, #0 + add r2, r5, #0 + bl MOD05_021D90F8 + cmp r6, #3 + bhi _021D9176 + add r0, r6, r6 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_021D9150: ; jump table + .short _021D9158 - _021D9150 - 2 ; case 0 + .short _021D9160 - _021D9150 - 2 ; case 1 + .short _021D9168 - _021D9150 - 2 ; case 2 + .short _021D9170 - _021D9150 - 2 ; case 3 +_021D9158: + ldr r0, [r5] + sub r0, r0, #1 + str r0, [r5] + pop {r4, r5, r6, pc} +_021D9160: + ldr r0, [r5] + add r0, r0, #1 + str r0, [r5] + pop {r4, r5, r6, pc} +_021D9168: + ldr r0, [r4] + sub r0, r0, #1 + str r0, [r4] + pop {r4, r5, r6, pc} +_021D9170: + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] +_021D9176: + pop {r4, r5, r6, pc} + + thumb_func_start MOD05_021D9178 +MOD05_021D9178: ; 0x021D9178 + push {r4, lr} + sub sp, #8 + add r1, sp, #4 + add r2, sp, #0 + add r4, r0, #0 + bl MOD05_021D90F8 + ldr r1, [sp, #4] + ldr r2, [sp] + add r0, r4, #0 + bl FUN_0204A6E0 + add sp, #8 + pop {r4, pc} + + thumb_func_start MOD05_021D9194 +MOD05_021D9194: ; 0x021D9194 + push {r4, lr} + sub sp, #8 + add r1, sp, #4 + add r2, sp, #0 + add r4, r0, #0 + bl MOD05_021D9114 + ldr r1, [sp, #4] + ldr r2, [sp] + add r0, r4, #0 + bl FUN_0204A6E0 + add sp, #8 + pop {r4, pc} + + thumb_func_start MOD05_021D91B0 +MOD05_021D91B0: ; 0x021D91B0 + push {r3, r4, r5, r6, r7, lr} + add r4, r0, #0 + add r7, r1, #0 + str r2, [sp] + add r5, r3, #0 + bl FUN_02034B18 + add r6, r0, #0 + mov r0, #0 + mvn r0, r0 + cmp r6, r0 + bne _021D91CC + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_021D91CC: + add r0, r4, #0 + add r1, r6, #0 + bl FUN_02034B00 + cmp r0, #0 + bne _021D91DC + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_021D91DC: + ldrh r3, [r0, #6] + mov r1, #1 + lsl r1, r1, #8 + cmp r3, r1 + bne _021D920C + ldrh r1, [r0, #4] + ldr r0, _021D9244 ; =0x00000FFF + cmp r1, r0 + beq _021D91F2 + bl ErrorHandling +_021D91F2: + ldr r0, [r4, #0xc] + bl FUN_02034E30 + bl FUN_02034DD0 + add r2, r0, #0 + ldmia r2!, {r0, r1} + stmia r5!, {r0, r1} + ldmia r2!, {r0, r1} + stmia r5!, {r0, r1} + ldr r0, [r2] + str r0, [r5] + b _021D921E +_021D920C: + ldrh r2, [r0, #2] + ldrh r1, [r0] + ldrh r0, [r0, #4] + str r0, [r5] + str r3, [r5, #4] + str r1, [r5, #8] + str r2, [r5, #0xc] + mov r0, #1 + str r0, [r5, #0x10] +_021D921E: + ldr r0, [r4, #0xc] + bl FUN_02034E30 + bl FUN_02034DC4 + add r5, r0, #0 + ldr r0, [r4, #0x38] + bl FUN_020552F8 + ldr r1, [r4, #0x1c] + ldr r1, [r1] + str r1, [r5] + str r6, [r5, #4] + ldr r1, [sp] + str r7, [r5, #8] + str r1, [r5, #0xc] + str r0, [r5, #0x10] + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_021D9244: .word 0x00000FFF + + thumb_func_start MOD05_021D9248 +MOD05_021D9248: ; 0x021D9248 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + ldr r0, [r5, #0xc] + add r7, r1, #0 + str r2, [sp] + add r4, r3, #0 + bl FUN_02034E30 + bl FUN_02034DCC + add r6, r0, #0 + ldr r3, [r5, #0x1c] + add r2, r6, #0 + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldr r0, [r3] + cmp r4, #0 + str r0, [r2] + str r4, [r6, #0x10] + ldr r0, [sp] + str r7, [r6, #8] + str r0, [r6, #0xc] + bne _021D9280 + ldr r0, [r6, #0xc] + add r0, r0, #1 + str r0, [r6, #0xc] +_021D9280: + ldr r0, [r5, #0x1c] + ldr r0, [r0] + str r0, [r6] + mov r0, #0 + mvn r0, r0 + str r0, [r6, #4] + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + + thumb_func_start MOD05_021D9290 +MOD05_021D9290: ; 0x021D9290 + push {r3, r4, lr} + sub sp, #0x1c + add r1, sp, #4 + add r2, sp, #0 + add r4, r0, #0 + bl MOD05_021D90F8 + ldr r1, [sp, #4] + ldr r2, [sp] + add r0, r4, #0 + add r3, sp, #8 + bl MOD05_021D91B0 + cmp r0, #0 + beq _021D92DA + ldr r0, [r4, #0x1c] + ldr r0, [r0] + bl FUN_02034908 + cmp r0, #1 + bne _021D931C + ldr r0, [sp, #8] + bl FUN_02034908 + cmp r0, #0 + bne _021D931C + ldr r0, [r4, #0x38] + bl FUN_020552F8 + add r3, r0, #0 + ldr r1, [sp, #4] + ldr r2, [sp] + add r0, r4, #0 + bl MOD05_021D9248 + add sp, #0x1c + pop {r3, r4, pc} +_021D92DA: + add r0, r4, #0 + add r1, sp, #4 + add r2, sp, #0 + bl MOD05_021D9114 + ldr r1, [sp, #4] + ldr r2, [sp] + add r0, r4, #0 + add r3, sp, #8 + bl MOD05_021D91B0 + cmp r0, #0 + beq _021D931C + ldr r0, [r4, #0x1c] + ldr r0, [r0] + bl FUN_02034908 + cmp r0, #1 + bne _021D931C + ldr r0, [sp, #8] + bl FUN_02034908 + cmp r0, #0 + bne _021D931C + ldr r0, [r4, #0x38] + bl FUN_020552F8 + add r3, r0, #0 + ldr r1, [sp, #4] + ldr r2, [sp] + add r0, r4, #0 + bl MOD05_021D9248 +_021D931C: + add sp, #0x1c + pop {r3, r4, pc} diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s index 75ed8405..62ffaa6d 100644 --- a/arm9/modules/05/asm/module_05.s +++ b/arm9/modules/05/asm/module_05.s @@ -3,2267 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD05_021D80E8 -MOD05_021D80E8: ; 0x021D80E8 - ldrh r2, [r0] - mov r1, #1 - bic r2, r1 - strh r2, [r0] - ldrh r2, [r0] - mov r1, #2 - bic r2, r1 - strh r2, [r0] - ldrh r2, [r0] - mov r1, #4 - bic r2, r1 - strh r2, [r0] - ldrh r2, [r0] - mov r1, #8 - bic r2, r1 - strh r2, [r0] - ldrh r2, [r0] - mov r1, #0x10 - bic r2, r1 - strh r2, [r0] - ldrh r2, [r0] - mov r1, #0x20 - bic r2, r1 - strh r2, [r0] - ldrh r2, [r0] - mov r1, #0x40 - bic r2, r1 - strh r2, [r0] - ldrh r2, [r0] - mov r1, #0x80 - bic r2, r1 - strh r2, [r0] - ldrh r2, [r0] - ldr r1, _021D8154 ; =0xFFFFFEFF - and r1, r2 - strh r1, [r0] - ldrh r2, [r0] - ldr r1, _021D8158 ; =0xFFFFFDFF - and r1, r2 - strh r1, [r0] - ldrh r2, [r0] - ldr r1, _021D815C ; =0xFFFFFBFF - and r1, r2 - strh r1, [r0] - ldrh r2, [r0] - ldr r1, _021D8160 ; =0xFFFFF7FF - and r2, r1 - strh r2, [r0] - mov r2, #0xff - strb r2, [r0, #2] - asr r1, r1, #0xc - strb r1, [r0, #3] - bx lr - nop -_021D8154: .word 0xFFFFFEFF -_021D8158: .word 0xFFFFFDFF -_021D815C: .word 0xFFFFFBFF -_021D8160: .word 0xFFFFF7FF - - thumb_func_start MOD05_021D8164 -MOD05_021D8164: ; 0x021D8164 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r7, r1, #0 - add r5, r0, #0 - add r6, r2, #0 - add r4, r3, #0 - bl MOD05_021D80E8 - ldr r0, [r7, #0x38] - bl FUN_02055378 - str r0, [sp, #4] - ldr r0, [r7, #0x38] - bl FUN_02055370 - str r0, [sp] - ldr r0, [r7, #0x38] - bl FUN_020552F8 - add r2, r0, #0 - ldr r0, [sp, #4] - strh r6, [r5, #4] - strh r4, [r5, #6] - cmp r0, #3 - beq _021D819A - cmp r0, #0 - bne _021D81F8 -_021D819A: - mov r0, #1 - lsl r0, r0, #0xa - tst r0, r6 - beq _021D81AA - ldrh r1, [r5] - mov r0, #4 - orr r0, r1 - strh r0, [r5] -_021D81AA: - mov r0, #2 - lsl r0, r0, #0xa - tst r0, r6 - beq _021D81BA - ldrh r1, [r5] - mov r0, #8 - orr r0, r1 - strh r0, [r5] -_021D81BA: - mov r3, #1 - add r0, r6, #0 - tst r0, r3 - beq _021D81CE - ldrh r1, [r5] - mov r0, #1 - bic r1, r0 - add r0, r1, #0 - orr r0, r3 - strh r0, [r5] -_021D81CE: - mov r0, #2 - tst r0, r6 - beq _021D81DC - ldrh r1, [r5] - mov r0, #0x80 - orr r0, r1 - strh r0, [r5] -_021D81DC: - mov r0, #0xf0 - add r3, r4, #0 - and r3, r0 - beq _021D81EC - ldrh r1, [r5] - mov r0, #0x10 - orr r0, r1 - strh r0, [r5] -_021D81EC: - cmp r3, #0 - beq _021D81F8 - ldrh r1, [r5] - mov r0, #0x20 - orr r0, r1 - strh r0, [r5] -_021D81F8: - ldr r0, [sp, #4] - cmp r0, #3 - bne _021D820C - ldr r0, [sp] - cmp r0, #1 - bne _021D820C - ldrh r1, [r5] - mov r0, #0x40 - orr r0, r1 - strh r0, [r5] -_021D820C: - ldr r0, [sp, #4] - cmp r0, #3 - bne _021D821A - ldrh r1, [r5] - mov r0, #2 - orr r0, r1 - strh r0, [r5] -_021D821A: - cmp r2, #0 - bne _021D8224 - mov r0, #0x40 - tst r0, r4 - bne _021D8242 -_021D8224: - cmp r2, #1 - bne _021D822E - mov r0, #0x80 - tst r0, r4 - bne _021D8242 -_021D822E: - cmp r2, #2 - bne _021D8238 - mov r0, #0x20 - tst r0, r4 - bne _021D8242 -_021D8238: - cmp r2, #3 - bne _021D8246 - mov r0, #0x10 - tst r0, r4 - beq _021D8246 -_021D8242: - strb r2, [r5, #3] - b _021D824C -_021D8246: - mov r0, #0 - mvn r0, r0 - strb r0, [r5, #3] -_021D824C: - ldr r0, [r7, #0x38] - add r1, r6, #0 - add r2, r4, #0 - bl FUN_02057020 - strb r0, [r5, #2] - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - - thumb_func_start MOD05_021D825C -MOD05_021D825C: ; 0x021D825C - push {r4, r5, r6, lr} - sub sp, #0x10 - add r4, r1, #0 - add r5, r0, #0 - ldr r0, [r4, #0x38] - bl FUN_02055378 - add r6, r0, #0 - ldr r0, [r4, #0x1c] - ldr r1, [r0] - ldr r0, _021D831C ; =0x00000156 - cmp r1, r0 - beq _021D827C - add sp, #0x10 - mov r0, #0 - pop {r4, r5, r6, pc} -_021D827C: - ldr r0, [r4, #0xc] - bl FUN_020462AC - bl FUN_0205ED3C - cmp r0, #0 - bne _021D8290 - add sp, #0x10 - mov r0, #0 - pop {r4, r5, r6, pc} -_021D8290: - cmp r6, #0 - bne _021D82EC - ldr r0, [r4, #0x38] - bl FUN_02055370 - ldrb r1, [r5, #2] - lsl r2, r1, #0x18 - asr r3, r2, #0x18 - mov r2, #0 - mvn r2, r2 - cmp r3, r2 - beq _021D82CE - cmp r0, #1 - bne _021D82CE - add r0, r4, #0 - add r2, sp, #0xc - add r3, sp, #8 - bl MOD05_021D9130 - ldr r1, [sp, #0xc] - ldr r2, [sp, #8] - add r0, r4, #0 - bl FUN_0204A6E0 - bl FUN_0205478C - cmp r0, #0 - beq _021D8314 - add sp, #0x10 - mov r0, #1 - pop {r4, r5, r6, pc} -_021D82CE: - mov r0, #3 - ldrsb r1, [r5, r0] - sub r0, r0, #4 - cmp r1, r0 - beq _021D8314 - add r0, r4, #0 - bl MOD05_021D9194 - bl FUN_0205478C - cmp r0, #0 - beq _021D8314 - add sp, #0x10 - mov r0, #1 - pop {r4, r5, r6, pc} -_021D82EC: - cmp r6, #3 - bne _021D8314 - ldrb r1, [r5, #2] - add r0, r4, #0 - add r2, sp, #4 - add r3, sp, #0 - bl MOD05_021D9130 - ldr r1, [sp, #4] - ldr r2, [sp] - add r0, r4, #0 - bl FUN_0204A6E0 - bl FUN_0205478C - cmp r0, #0 - beq _021D8314 - add sp, #0x10 - mov r0, #1 - pop {r4, r5, r6, pc} -_021D8314: - mov r0, #0 - add sp, #0x10 - pop {r4, r5, r6, pc} - nop -_021D831C: .word 0x00000156 - - thumb_func_start MOD05_021D8320 -MOD05_021D8320: ; 0x021D8320 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r0, #0 - ldrh r0, [r5] - add r4, r1, #0 - lsl r0, r0, #0x14 - lsr r0, r0, #0x1f - bne _021D8342 - add r0, r4, #0 - mov r1, #1 - bl FUN_0203989C - cmp r0, #1 - bne _021D8342 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8342: - ldrh r0, [r5] - lsl r0, r0, #0x14 - lsr r0, r0, #0x1f - bne _021D8384 - ldr r0, [r4, #0xc] - bl FUN_0206BB1C - bl FUN_0204A248 - add r6, r0, #0 - ldr r0, [r4, #0xc] - bl FUN_020462AC - bl FUN_0205ED3C - cmp r0, #1 - bne _021D8366 - mov r6, #1 -_021D8366: - add r0, r4, #0 - add r1, r6, #0 - bl FUN_0205C598 - cmp r0, #1 - bne _021D8384 - ldr r0, [r4, #0x38] - bl FUN_02055B14 - ldr r0, [r4, #0x34] - bl FUN_02058780 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8384: - ldrh r0, [r5] - lsl r0, r0, #0x19 - lsr r0, r0, #0x1f - beq _021D83A6 - ldr r0, [r4, #0xc] - bl FUN_020462AC - bl FUN_0205ED5C - add r0, r4, #0 - bl MOD05_021D8D24 - cmp r0, #1 - bne _021D83A6 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D83A6: - add r0, r5, #0 - add r1, r4, #0 - bl MOD05_021D825C - cmp r0, #0 - beq _021D83C2 - add r0, r4, #0 - mov r1, #4 - mov r2, #0 - bl FUN_02038C78 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D83C2: - ldrh r1, [r5, #4] - ldrh r2, [r5, #6] - ldr r0, [r4, #0x38] - mov r6, #0 - bl FUN_02057020 - add r7, r0, #0 - ldr r0, [r4, #0xc] - bl FUN_020462AC - mov r1, #2 - bl FUN_0205F264 - cmp r0, #0 - beq _021D83E4 - mov r0, #1 - orr r6, r0 -_021D83E4: - ldr r0, [r4, #0xc] - bl FUN_0206BB1C - mov r1, #0x7f - bl FUN_0204A138 - cmp r0, #0xff - beq _021D83F8 - mov r0, #2 - orr r6, r0 -_021D83F8: - ldr r1, [r4, #0x38] - add r0, r4, #0 - add r2, r7, #0 - add r3, r6, #0 - bl MOD05_021E61A4 - cmp r0, #1 - bne _021D840E - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D840E: - ldrh r0, [r5] - lsl r0, r0, #0x1e - lsr r0, r0, #0x1f - beq _021D8436 - add r0, r4, #0 - bl MOD05_021D8954 - cmp r0, #0 - beq _021D8426 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8426: - add r0, r4, #0 - bl MOD05_021D859C - cmp r0, #1 - bne _021D8436 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8436: - ldrh r0, [r5] - lsl r0, r0, #0x1b - lsr r0, r0, #0x1f - beq _021D845A - ldr r0, [r4, #0x38] - bl FUN_020552F8 - ldrb r1, [r5, #2] - cmp r1, r0 - bne _021D845A - add r0, r4, #0 - bl MOD05_021D859C - cmp r0, #1 - bne _021D845A - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D845A: - ldrh r0, [r5] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - beq _021D8532 - add r0, r4, #0 - add r1, sp, #4 - bl FUN_02037090 - cmp r0, #1 - bne _021D84B8 - ldr r0, [r4, #0x38] - bl FUN_02055B30 - cmp r0, #1 - bne _021D8486 - ldr r0, [r4, #0x38] - bl FUN_020552F8 - add r1, r0, #0 - ldr r0, [r4, #0x38] - bl FUN_02055B8C -_021D8486: - ldr r0, [sp, #4] - bl FUN_02058488 - cmp r0, #9 - beq _021D84A8 - ldr r5, [sp, #4] - add r0, r5, #0 - bl FUN_02058498 - add r1, r0, #0 - lsl r1, r1, #0x10 - add r0, r4, #0 - lsr r1, r1, #0x10 - add r2, r5, #0 - bl FUN_02038C78 - b _021D84B2 -_021D84A8: - ldr r2, [sp, #4] - add r0, r4, #0 - mov r1, #0 - bl FUN_02038C78 -_021D84B2: - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D84B8: - add r0, r4, #0 - bl FUN_02034AF0 - add r6, r0, #0 - add r0, r4, #0 - bl FUN_02034AF8 - add r2, r0, #0 - add r0, r4, #0 - add r1, r6, #0 - bl FUN_020370BC - add r1, r0, #0 - ldr r0, _021D8594 ; =0x0000FFFF - cmp r1, r0 - beq _021D84EA - lsl r1, r1, #0x10 - add r0, r4, #0 - lsr r1, r1, #0x10 - mov r2, #0 - bl FUN_02038C78 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D84EA: - add r0, r4, #0 - add r1, sp, #0 - bl MOD05_021F4D2C - cmp r0, #0 - beq _021D850A - ldr r1, [sp] - add r0, r4, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - mov r2, #0 - bl FUN_02038C78 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D850A: - add r0, r4, #0 - bl MOD05_021D9194 - add r1, r0, #0 - add r0, r4, #0 - bl MOD05_021D8BAC - add r1, r0, #0 - ldr r0, _021D8594 ; =0x0000FFFF - cmp r1, r0 - beq _021D8532 - lsl r1, r1, #0x10 - add r0, r4, #0 - lsr r1, r1, #0x10 - mov r2, #0 - bl FUN_02038C78 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8532: - ldrh r0, [r5] - lsl r0, r0, #0x1a - lsr r0, r0, #0x1f - beq _021D8552 - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021D89BC - cmp r0, #1 - bne _021D8552 - add r0, r4, #0 - bl MOD05_021D9290 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8552: - ldrh r0, [r5] - lsl r0, r0, #0x1c - lsr r0, r0, #0x1f - beq _021D856A - add r0, r4, #0 - bl FUN_0205DB44 - cmp r0, #1 - bne _021D856A - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D856A: - ldrh r0, [r5] - lsl r0, r0, #0x1d - lsr r0, r0, #0x1f - beq _021D858E - add r0, r4, #0 - bl FUN_02035068 - cmp r0, #1 - bne _021D858E - ldr r0, _021D8598 ; =0x000005FD - bl FUN_020054C8 - add r0, r4, #0 - bl FUN_02035080 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D858E: - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021D8594: .word 0x0000FFFF -_021D8598: .word 0x000005FD - - thumb_func_start MOD05_021D859C -MOD05_021D859C: ; 0x021D859C - push {r3, r4, r5, lr} - add r1, sp, #0 - add r5, r0, #0 - bl FUN_02037230 - cmp r0, #1 - bne _021D85C4 - ldr r4, [sp] - add r0, r4, #0 - bl FUN_02058498 - add r1, r0, #0 - lsl r1, r1, #0x10 - add r0, r5, #0 - lsr r1, r1, #0x10 - add r2, r4, #0 - bl FUN_02038C78 - mov r0, #1 - pop {r3, r4, r5, pc} -_021D85C4: - add r0, r5, #0 - bl FUN_02034AF0 - add r4, r0, #0 - add r0, r5, #0 - bl FUN_02034AF8 - add r2, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - bl FUN_020371D0 - add r1, r0, #0 - ldr r0, _021D85F8 ; =0x0000FFFF - cmp r1, r0 - beq _021D85F4 - lsl r1, r1, #0x10 - add r0, r5, #0 - lsr r1, r1, #0x10 - mov r2, #0 - bl FUN_02038C78 - mov r0, #1 - pop {r3, r4, r5, pc} -_021D85F4: - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_021D85F8: .word 0x0000FFFF - - thumb_func_start MOD05_021D85FC -MOD05_021D85FC: ; 0x021D85FC - push {r4, lr} - add r4, r0, #0 - ldrh r0, [r4] - lsl r0, r0, #0x14 - lsr r0, r0, #0x1f - bne _021D8618 - add r0, r1, #0 - mov r1, #1 - bl FUN_0203989C - cmp r0, #1 - bne _021D8618 - mov r0, #1 - pop {r4, pc} -_021D8618: - bl FUN_02031438 - cmp r0, #0 - bne _021D862C - bl FUN_02031190 - bl FUN_0204F6B4 - cmp r0, #0 - beq _021D8630 -_021D862C: - mov r0, #0 - pop {r4, pc} -_021D8630: - bl MOD18_0223DCB4 - ldrh r0, [r4] - lsl r1, r0, #0x1f - lsr r1, r1, #0x1f - beq _021D8646 - mov r0, #0 - bl MOD18_0223DCD0 - mov r0, #0 - pop {r4, pc} -_021D8646: - lsl r0, r0, #0x1d - lsr r0, r0, #0x1f - beq _021D8654 - bl MOD18_0223DC98 - mov r0, #0 - pop {r4, pc} -_021D8654: - bl MOD18_0223D8F4 - mov r0, #0 - pop {r4, pc} - - thumb_func_start MOD05_021D865C -MOD05_021D865C: ; 0x021D865C - push {r3, r4, r5, lr} - add r4, r0, #0 - ldrh r0, [r4] - add r5, r1, #0 - lsl r0, r0, #0x1a - lsr r0, r0, #0x1f - beq _021D868E - mov r0, #3 - ldrsb r0, [r4, r0] - cmp r0, #1 - bne _021D868E - add r0, r5, #0 - bl MOD05_021D9178 - bl FUN_020547E0 - cmp r0, #0 - beq _021D868E - ldr r1, _021D872C ; =0x0000238D - add r0, r5, #0 - mov r2, #0 - bl FUN_02038C78 - mov r0, #1 - pop {r3, r4, r5, pc} -_021D868E: - bl FUN_02031438 - cmp r0, #0 - bne _021D86AA - bl FUN_02031190 - bl FUN_0204F6B4 - cmp r0, #0 - bne _021D86AA - bl FUN_02050A68 - cmp r0, #0 - bne _021D86AE -_021D86AA: - mov r0, #0 - pop {r3, r4, r5, pc} -_021D86AE: - ldrh r0, [r4] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - beq _021D86FE - add r0, r5, #0 - add r1, sp, #0 - bl FUN_02037090 - cmp r0, #1 - bne _021D86FE - ldr r0, [sp] - bl FUN_02058480 - cmp r0, #1 - beq _021D86FE - ldr r0, [r5, #0x38] - bl FUN_02055B30 - cmp r0, #1 - bne _021D86E4 - ldr r0, [r5, #0x38] - bl FUN_020552F8 - add r1, r0, #0 - ldr r0, [r5, #0x38] - bl FUN_02055B8C -_021D86E4: - ldr r4, [sp] - add r0, r4, #0 - bl FUN_02058498 - add r1, r0, #0 - lsl r1, r1, #0x10 - add r0, r5, #0 - lsr r1, r1, #0x10 - add r2, r4, #0 - bl FUN_02038C78 - mov r0, #1 - pop {r3, r4, r5, pc} -_021D86FE: - ldrh r0, [r4] - lsl r1, r0, #0x1f - lsr r1, r1, #0x1f - beq _021D8710 - add r0, r5, #0 - bl FUN_02052044 - mov r0, #1 - pop {r3, r4, r5, pc} -_021D8710: - lsl r0, r0, #0x1d - lsr r0, r0, #0x1f - beq _021D8726 - ldr r0, _021D8730 ; =0x000005FD - bl FUN_020054C8 - add r0, r5, #0 - bl FUN_0203515C - mov r0, #1 - pop {r3, r4, r5, pc} -_021D8726: - mov r0, #0 - pop {r3, r4, r5, pc} - nop -_021D872C: .word 0x0000238D -_021D8730: .word 0x000005FD - - thumb_func_start MOD05_021D8734 -MOD05_021D8734: ; 0x021D8734 - push {r3, r4, r5, lr} - mov r5, #0 - mov r4, #1 -_021D873A: - add r0, r4, #0 - bl FUN_0202DFA4 - cmp r0, #0 - beq _021D8746 - add r5, r5, #1 -_021D8746: - add r4, r4, #1 - cmp r4, #5 - blt _021D873A - cmp r5, #1 - blt _021D8754 - mov r0, #1 - pop {r3, r4, r5, pc} -_021D8754: - mov r0, #0 - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021D8758 -MOD05_021D8758: ; 0x021D8758 - push {r3, r4, r5, lr} - add r4, r0, #0 - add r5, r1, #0 - bl FUN_0202CB8C - mov r1, #0xfe - tst r0, r1 - beq _021D878A - bl MOD05_021D8734 - cmp r0, #0 - beq _021D8786 - bl FUN_02030F20 - cmp r0, #1 - ble _021D8786 - add r0, r5, #0 - mov r1, #5 - mov r2, #0 - bl FUN_02038C78 - mov r0, #1 - pop {r3, r4, r5, pc} -_021D8786: - mov r0, #0 - pop {r3, r4, r5, pc} -_021D878A: - ldrh r0, [r4] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - beq _021D87D4 - add r0, r5, #0 - add r1, sp, #0 - bl FUN_02037090 - cmp r0, #1 - bne _021D87D4 - ldr r0, [r5, #0x38] - bl FUN_02055B30 - cmp r0, #1 - bne _021D87B6 - ldr r0, [r5, #0x38] - bl FUN_020552F8 - add r1, r0, #0 - ldr r0, [r5, #0x38] - bl FUN_02055B8C -_021D87B6: - bl FUN_02031C10 - ldr r4, [sp] - add r0, r4, #0 - bl FUN_02058498 - add r1, r0, #0 - lsl r1, r1, #0x10 - add r0, r5, #0 - lsr r1, r1, #0x10 - add r2, r4, #0 - bl FUN_02038C78 - mov r0, #1 - pop {r3, r4, r5, pc} -_021D87D4: - ldrh r0, [r4] - lsl r0, r0, #0x19 - lsr r0, r0, #0x1f - beq _021D87F4 - add r0, r5, #0 - bl MOD05_021D9178 - bl FUN_02054B60 - cmp r0, #0 - beq _021D87F4 - add r0, r5, #0 - bl FUN_02049D9C - mov r0, #1 - pop {r3, r4, r5, pc} -_021D87F4: - ldrh r0, [r4] - lsl r0, r0, #0x1d - lsr r0, r0, #0x1f - beq _021D8816 - ldr r0, _021D881C ; =0x000005FD - bl FUN_020054C8 - add r0, r5, #0 - bl FUN_02035118 - mov r0, #4 - bl FUN_02052B74 - bl FUN_02031C2C - mov r0, #1 - pop {r3, r4, r5, pc} -_021D8816: - mov r0, #0 - pop {r3, r4, r5, pc} - nop -_021D881C: .word 0x000005FD - - thumb_func_start MOD05_021D8820 -MOD05_021D8820: ; 0x021D8820 - push {r3, r4, r5, r6, lr} - sub sp, #4 - add r5, r0, #0 - ldrh r0, [r5] - add r4, r1, #0 - lsl r0, r0, #0x14 - lsr r0, r0, #0x1f - bne _021D8842 - add r0, r4, #0 - mov r1, #1 - bl FUN_0203989C - cmp r0, #1 - bne _021D8842 - add sp, #4 - mov r0, #1 - pop {r3, r4, r5, r6, pc} -_021D8842: - ldrh r0, [r5] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - beq _021D88FA - add r0, r4, #0 - add r1, sp, #0 - bl FUN_02037090 - cmp r0, #1 - bne _021D88A0 - ldr r0, [r4, #0x38] - bl FUN_02055B30 - cmp r0, #1 - bne _021D886E - ldr r0, [r4, #0x38] - bl FUN_020552F8 - add r1, r0, #0 - ldr r0, [r4, #0x38] - bl FUN_02055B8C -_021D886E: - ldr r0, [sp] - bl FUN_02058488 - cmp r0, #9 - beq _021D8890 - ldr r5, [sp] - add r0, r5, #0 - bl FUN_02058498 - add r1, r0, #0 - lsl r1, r1, #0x10 - add r0, r4, #0 - lsr r1, r1, #0x10 - add r2, r5, #0 - bl FUN_02038C78 - b _021D889A -_021D8890: - ldr r2, [sp] - add r0, r4, #0 - mov r1, #0 - bl FUN_02038C78 -_021D889A: - add sp, #4 - mov r0, #1 - pop {r3, r4, r5, r6, pc} -_021D88A0: - add r0, r4, #0 - bl FUN_02034AF0 - add r6, r0, #0 - add r0, r4, #0 - bl FUN_02034AF8 - add r2, r0, #0 - add r0, r4, #0 - add r1, r6, #0 - bl FUN_020370BC - add r1, r0, #0 - ldr r0, _021D894C ; =0x0000FFFF - cmp r1, r0 - beq _021D88D2 - lsl r1, r1, #0x10 - add r0, r4, #0 - lsr r1, r1, #0x10 - mov r2, #0 - bl FUN_02038C78 - add sp, #4 - mov r0, #1 - pop {r3, r4, r5, r6, pc} -_021D88D2: - add r0, r4, #0 - bl MOD05_021D9194 - add r1, r0, #0 - add r0, r4, #0 - bl MOD05_021D8BAC - add r1, r0, #0 - ldr r0, _021D894C ; =0x0000FFFF - cmp r1, r0 - beq _021D88FA - lsl r1, r1, #0x10 - add r0, r4, #0 - lsr r1, r1, #0x10 - mov r2, #0 - bl FUN_02038C78 - add sp, #4 - mov r0, #1 - pop {r3, r4, r5, r6, pc} -_021D88FA: - ldrh r0, [r5] - lsl r0, r0, #0x1a - lsr r0, r0, #0x1f - beq _021D8914 - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021D89BC - cmp r0, #1 - bne _021D8914 - add sp, #4 - mov r0, #1 - pop {r3, r4, r5, r6, pc} -_021D8914: - ldrh r0, [r5] - lsl r0, r0, #0x1c - lsr r0, r0, #0x1f - beq _021D892C - add r0, r4, #0 - bl FUN_0205DB44 - cmp r0, #1 - bne _021D892C - add sp, #4 - mov r0, #1 - pop {r3, r4, r5, r6, pc} -_021D892C: - ldrh r0, [r5] - lsl r0, r0, #0x1d - lsr r0, r0, #0x1f - beq _021D8946 - ldr r0, _021D8950 ; =0x000005FD - bl FUN_020054C8 - add r0, r4, #0 - bl FUN_02035080 - add sp, #4 - mov r0, #1 - pop {r3, r4, r5, r6, pc} -_021D8946: - mov r0, #0 - add sp, #4 - pop {r3, r4, r5, r6, pc} - .balign 4, 0 -_021D894C: .word 0x0000FFFF -_021D8950: .word 0x000005FD - - thumb_func_start MOD05_021D8954 -MOD05_021D8954: ; 0x021D8954 - push {r4, lr} - sub sp, #8 - add r4, r0, #0 - add r1, sp, #4 - add r2, sp, #0 - bl MOD05_021D90F8 - ldr r0, [r4, #0xc] - bl FUN_020462AC - bl FUN_0205F244 - cmp r0, #1 - bne _021D8998 - ldr r1, [sp, #4] - ldr r2, [sp] - add r0, r4, #0 - bl FUN_0204BA68 - cmp r0, #1 - bne _021D8992 - add r0, r4, #0 - bl FUN_0204BA90 - add r1, r0, #0 - add r0, r4, #0 - bl FUN_02046F70 - add sp, #8 - mov r0, #1 - pop {r4, pc} -_021D8992: - add sp, #8 - mov r0, #0 - pop {r4, pc} -_021D8998: - ldr r0, [r4, #0x1c] - ldr r0, [r0] - bl FUN_020347D8 - cmp r0, #0 - beq _021D89B4 - add r0, r4, #0 - bl MOD06_0223BA04 - cmp r0, #1 - bne _021D89B4 - add sp, #8 - mov r0, #1 - pop {r4, pc} -_021D89B4: - mov r0, #0 - add sp, #8 - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021D89BC -MOD05_021D89BC: ; 0x021D89BC - push {r4, r5, r6, lr} - sub sp, #0x28 - add r5, r1, #0 - mov r1, #3 - ldrsb r2, [r5, r1] - sub r1, r1, #4 - add r6, r0, #0 - cmp r2, r1 - bne _021D89D4 - add sp, #0x28 - mov r0, #0 - pop {r4, r5, r6, pc} -_021D89D4: - bl MOD06_022426AC - cmp r0, #0 - beq _021D89E2 - add sp, #0x28 - mov r0, #1 - pop {r4, r5, r6, pc} -_021D89E2: - add r0, r6, #0 - add r1, sp, #0x10 - add r2, sp, #0xc - bl MOD05_021D9114 - ldr r1, [sp, #0x10] - ldr r2, [sp, #0xc] - add r0, r6, #0 - bl FUN_0204A6B4 - cmp r0, #0 - bne _021D8A00 - add sp, #0x28 - mov r0, #0 - pop {r4, r5, r6, pc} -_021D8A00: - ldr r1, [sp, #0x10] - ldr r2, [sp, #0xc] - add r0, r6, #0 - add r3, sp, #0x14 - bl MOD05_021D91B0 - cmp r0, #0 - beq _021D8A4A - mov r0, #3 - ldrsb r1, [r5, r0] - sub r0, r0, #4 - cmp r1, r0 - beq _021D8A4A - ldr r1, [sp, #0x10] - ldr r2, [sp, #0xc] - add r0, r6, #0 - bl FUN_0204A6E0 - bl FUN_020547B0 - cmp r0, #0 - beq _021D8A4A - mov r3, #0 - str r3, [sp] - mov r0, #3 - ldrsb r0, [r5, r0] - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - ldr r1, [sp, #0x14] - ldr r2, [sp, #0x18] - add r0, r6, #0 - bl FUN_0204C260 - add sp, #0x28 - mov r0, #1 - pop {r4, r5, r6, pc} -_021D8A4A: - add r0, r6, #0 - add r1, sp, #0x10 - add r2, sp, #0xc - bl MOD05_021D90F8 - ldr r1, [sp, #0x10] - ldr r2, [sp, #0xc] - add r0, r6, #0 - bl FUN_0204A6E0 - add r4, r0, #0 - bl FUN_020547BC - cmp r0, #0 - bne _021D8A72 - add r0, r4, #0 - bl FUN_020547EC - cmp r0, #0 - beq _021D8A80 -_021D8A72: - mov r0, #3 - ldrsb r0, [r5, r0] - cmp r0, #3 - beq _021D8AF4 - add sp, #0x28 - mov r0, #0 - pop {r4, r5, r6, pc} -_021D8A80: - add r0, r4, #0 - bl FUN_020547C8 - cmp r0, #0 - bne _021D8A94 - add r0, r4, #0 - bl FUN_020547F8 - cmp r0, #0 - beq _021D8AA2 -_021D8A94: - mov r0, #3 - ldrsb r0, [r5, r0] - cmp r0, #2 - beq _021D8AF4 - add sp, #0x28 - mov r0, #0 - pop {r4, r5, r6, pc} -_021D8AA2: - add r0, r4, #0 - bl FUN_020547E0 - cmp r0, #0 - bne _021D8AB6 - add r0, r4, #0 - bl FUN_02054810 - cmp r0, #0 - beq _021D8AC4 -_021D8AB6: - mov r0, #3 - ldrsb r0, [r5, r0] - cmp r0, #1 - beq _021D8AF4 - add sp, #0x28 - mov r0, #0 - pop {r4, r5, r6, pc} -_021D8AC4: - add r0, r4, #0 - bl FUN_020548D8 - cmp r0, #0 - beq _021D8ADC - mov r0, #3 - ldrsb r0, [r5, r0] - cmp r0, #3 - beq _021D8AF4 - add sp, #0x28 - mov r0, #0 - pop {r4, r5, r6, pc} -_021D8ADC: - add r0, r4, #0 - bl FUN_020548E4 - cmp r0, #0 - beq _021D8AF4 - mov r0, #3 - ldrsb r0, [r5, r0] - cmp r0, #2 - beq _021D8AF4 - add sp, #0x28 - mov r0, #0 - pop {r4, r5, r6, pc} -_021D8AF4: - ldr r1, [sp, #0x10] - ldr r2, [sp, #0xc] - add r0, r6, #0 - add r3, sp, #0x14 - bl MOD05_021D91B0 - cmp r0, #0 - bne _021D8B0A - add sp, #0x28 - mov r0, #0 - pop {r4, r5, r6, pc} -_021D8B0A: - add r0, r4, #0 - bl FUN_020547B0 - cmp r0, #0 - beq _021D8B18 - mov r1, #1 - b _021D8B90 -_021D8B18: - add r0, r4, #0 - bl FUN_020548D8 - cmp r0, #0 - beq _021D8B26 - mov r1, #3 - b _021D8B90 -_021D8B26: - add r0, r4, #0 - bl FUN_020548E4 - cmp r0, #0 - beq _021D8B34 - mov r1, #3 - b _021D8B90 -_021D8B34: - add r0, r4, #0 - bl FUN_020547BC - cmp r0, #0 - bne _021D8B70 - add r0, r4, #0 - bl FUN_020547EC - cmp r0, #0 - bne _021D8B70 - add r0, r4, #0 - bl FUN_020547C8 - cmp r0, #0 - bne _021D8B70 - add r0, r4, #0 - bl FUN_020547F8 - cmp r0, #0 - bne _021D8B70 - add r0, r4, #0 - bl FUN_020547E0 - cmp r0, #0 - bne _021D8B70 - add r0, r4, #0 - bl FUN_02054810 - cmp r0, #0 - beq _021D8B8A -_021D8B70: - mov r3, #0 - str r3, [sp] - mov r0, #3 - ldrsb r0, [r5, r0] - str r0, [sp, #4] - ldr r1, [sp, #0x14] - ldr r2, [sp, #0x18] - add r0, r6, #0 - bl FUN_0204C29C - add sp, #0x28 - mov r0, #1 - pop {r4, r5, r6, pc} -_021D8B8A: - add sp, #0x28 - mov r0, #0 - pop {r4, r5, r6, pc} -_021D8B90: - mov r3, #0 - str r3, [sp] - mov r0, #3 - ldrsb r0, [r5, r0] - str r0, [sp, #4] - str r1, [sp, #8] - ldr r1, [sp, #0x14] - ldr r2, [sp, #0x18] - add r0, r6, #0 - bl FUN_0204C260 - mov r0, #1 - add sp, #0x28 - pop {r4, r5, r6, pc} - - thumb_func_start MOD05_021D8BAC -MOD05_021D8BAC: ; 0x021D8BAC - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - ldr r0, [r5, #0x38] - add r4, r1, #0 - bl FUN_020552F8 - add r6, r0, #0 - add r0, r4, #0 - bl FUN_02054878 - cmp r0, #0 - beq _021D8BCC - cmp r6, #0 - bne _021D8BCC - ldr r0, _021D8CE4 ; =0x000007E2 - pop {r3, r4, r5, r6, r7, pc} -_021D8BCC: - add r0, r4, #0 - bl FUN_02054914 - cmp r0, #0 - beq _021D8BDA - ldr r0, _021D8CE8 ; =0x000009C4 - pop {r3, r4, r5, r6, r7, pc} -_021D8BDA: - add r0, r4, #0 - bl FUN_02054920 - cmp r0, #0 - beq _021D8BE8 - ldr r0, _021D8CEC ; =0x000009C5 - pop {r3, r4, r5, r6, r7, pc} -_021D8BE8: - add r0, r4, #0 - bl FUN_0205492C - cmp r0, #0 - beq _021D8BF6 - ldr r0, _021D8CF0 ; =0x000009C6 - pop {r3, r4, r5, r6, r7, pc} -_021D8BF6: - add r0, r4, #0 - bl FUN_02054938 - cmp r0, #0 - beq _021D8C04 - ldr r0, _021D8CF4 ; =0x000009C7 - pop {r3, r4, r5, r6, r7, pc} -_021D8C04: - add r0, r4, #0 - bl FUN_02054944 - cmp r0, #0 - beq _021D8C12 - ldr r0, _021D8CF8 ; =0x000009C8 - pop {r3, r4, r5, r6, r7, pc} -_021D8C12: - add r0, r4, #0 - bl FUN_02054950 - cmp r0, #0 - beq _021D8C20 - ldr r0, _021D8CFC ; =0x000009C9 - pop {r3, r4, r5, r6, r7, pc} -_021D8C20: - add r0, r4, #0 - bl FUN_0205495C - cmp r0, #0 - beq _021D8C2E - ldr r0, _021D8D00 ; =0x000009CA - pop {r3, r4, r5, r6, r7, pc} -_021D8C2E: - add r0, r4, #0 - bl FUN_02054968 - cmp r0, #0 - beq _021D8C3C - ldr r0, _021D8D04 ; =0x000009CB - pop {r3, r4, r5, r6, r7, pc} -_021D8C3C: - add r0, r4, #0 - bl FUN_02054A48 - cmp r0, #0 - beq _021D8C4A - ldr r0, _021D8D08 ; =0x00002716 - pop {r3, r4, r5, r6, r7, pc} -_021D8C4A: - add r0, r4, #0 - bl FUN_02054884 - cmp r0, #0 - beq _021D8C58 - ldr r0, _021D8D0C ; =0x000009CC - pop {r3, r4, r5, r6, r7, pc} -_021D8C58: - add r0, r4, #0 - bl FUN_02054A54 - cmp r0, #0 - beq _021D8C66 - ldr r0, _021D8D10 ; =0x000007EE - pop {r3, r4, r5, r6, r7, pc} -_021D8C66: - add r0, r4, #0 - bl FUN_02054B14 - cmp r0, #0 - beq _021D8C78 - cmp r6, #0 - bne _021D8C78 - ldr r0, _021D8D14 ; =0x00002774 - pop {r3, r4, r5, r6, r7, pc} -_021D8C78: - add r0, r4, #0 - add r1, r6, #0 - bl MOD05_021E69BC - cmp r0, #0 - beq _021D8C88 - ldr r0, _021D8D18 ; =0x00002713 - pop {r3, r4, r5, r6, r7, pc} -_021D8C88: - ldr r0, [r5, #0x38] - bl FUN_020553C4 - cmp r0, #2 - beq _021D8CE0 - ldr r0, [r5, #0xc] - bl FUN_020238F4 - add r6, r0, #0 - ldr r0, [r5, #0x38] - bl FUN_02055320 - add r7, r0, #0 - ldr r0, [r5, #0x38] - bl FUN_0205532C - add r2, r0, #0 - add r0, r5, #0 - add r1, r7, #0 - bl FUN_0204A6E0 - add r1, r0, #0 - ldr r0, [r5, #0x38] - add r2, r4, #0 - bl MOD05_021E643C - cmp r0, #0 - beq _021D8CE0 - add r0, r6, #0 - mov r1, #4 - bl FUN_020239D0 - cmp r0, #0 - beq _021D8CE0 - ldr r0, [r5, #0xc] - bl FUN_0206BB1C - mov r1, #0x39 - bl FUN_0204A138 - cmp r0, #0xff - beq _021D8CE0 - ldr r0, _021D8D1C ; =0x00002714 - pop {r3, r4, r5, r6, r7, pc} -_021D8CE0: - ldr r0, _021D8D20 ; =0x0000FFFF - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021D8CE4: .word 0x000007E2 -_021D8CE8: .word 0x000009C4 -_021D8CEC: .word 0x000009C5 -_021D8CF0: .word 0x000009C6 -_021D8CF4: .word 0x000009C7 -_021D8CF8: .word 0x000009C8 -_021D8CFC: .word 0x000009C9 -_021D8D00: .word 0x000009CA -_021D8D04: .word 0x000009CB -_021D8D08: .word 0x00002716 -_021D8D0C: .word 0x000009CC -_021D8D10: .word 0x000007EE -_021D8D14: .word 0x00002774 -_021D8D18: .word 0x00002713 -_021D8D1C: .word 0x00002714 -_021D8D20: .word 0x0000FFFF - - thumb_func_start MOD05_021D8D24 -MOD05_021D8D24: ; 0x021D8D24 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - bl MOD06_02242404 - cmp r0, #0 - beq _021D8D34 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8D34: - ldr r0, [r5, #0x38] - bl FUN_020552F8 - add r2, r0, #0 - ldr r1, [r5, #0x38] - add r0, r5, #0 - bl MOD05_021E72FC - cmp r0, #1 - bne _021D8D4C - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8D4C: - ldr r0, [r5, #0x38] - bl FUN_02055320 - add r4, r0, #0 - ldr r0, [r5, #0x38] - bl FUN_0205532C - add r7, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - add r2, r7, #0 - bl FUN_0204A6E0 - add r6, r0, #0 - add r0, r5, #0 - bl MOD05_021D8E1C - cmp r0, #1 - bne _021D8D76 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8D76: - add r0, r5, #0 - add r1, r4, #0 - add r2, r7, #0 - add r3, r6, #0 - bl MOD05_021D8E54 - cmp r0, #1 - bne _021D8D90 - add r0, r5, #0 - bl MOD05_021D9290 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8D90: - ldr r0, [r5, #0x38] - bl FUN_020556B4 - cmp r0, #0 - beq _021D8D9E - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_021D8D9E: - add r0, r5, #0 - mov r1, #5 - mov r2, #1 - bl MOD05_021EFA9C - add r0, r5, #0 - bl MOD05_021D9010 - cmp r0, #1 - bne _021D8DB6 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8DB6: - add r0, r5, #0 - bl MOD05_021D9090 - cmp r0, #1 - bne _021D8DC4 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8DC4: - add r0, r5, #0 - bl MOD05_021D8F38 - cmp r0, #1 - bne _021D8DD2 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8DD2: - add r0, r5, #0 - bl MOD05_021D8F84 - cmp r0, #1 - bne _021D8DE0 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8DE0: - add r0, r5, #0 - bl MOD05_021D8F90 - cmp r0, #1 - bne _021D8DEE - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8DEE: - add r0, r5, #0 - bl MOD05_021D8F9C - cmp r0, #1 - bne _021D8DFC - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_021D8DFC: - add r0, r5, #0 - bl MOD05_021D8FA8 - cmp r0, #0 - beq _021D8E0C - add r0, r5, #0 - bl MOD05_021D8FD0 -_021D8E0C: - ldr r0, [r5, #0xc] - bl FUN_020462AC - bl FUN_0205F56C - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - - thumb_func_start MOD05_021D8E1C -MOD05_021D8E1C: ; 0x021D8E1C - push {r3, r4, r5, lr} - add r4, r0, #0 - bl FUN_02034B5C - add r5, r0, #0 - add r0, r4, #0 - bl FUN_02034B54 - add r2, r0, #0 - add r0, r4, #0 - add r1, r5, #0 - bl FUN_02037264 - add r1, r0, #0 - ldr r0, _021D8E50 ; =0x0000FFFF - cmp r1, r0 - beq _021D8E4A - add r0, r4, #0 - mov r2, #0 - bl FUN_02038C78 - mov r0, #1 - pop {r3, r4, r5, pc} -_021D8E4A: - mov r0, #0 - pop {r3, r4, r5, pc} - nop -_021D8E50: .word 0x0000FFFF - - thumb_func_start MOD05_021D8E54 -MOD05_021D8E54: ; 0x021D8E54 - push {r3, r4, r5, lr} - sub sp, #0x20 - add r5, r3, #0 - add r3, sp, #0xc - add r4, r0, #0 - bl MOD05_021D91B0 - cmp r0, #0 - bne _021D8E6C - add sp, #0x20 - mov r0, #0 - pop {r3, r4, r5, pc} -_021D8E6C: - add r0, r5, #0 - bl FUN_020548C0 - cmp r0, #1 - bne _021D8EB0 - ldr r0, [r4, #0x38] - bl FUN_020552F8 - cmp r0, #2 - bne _021D8E84 - mov r0, #3 - b _021D8E96 -_021D8E84: - cmp r0, #3 - bne _021D8E8C - mov r0, #2 - b _021D8E96 -_021D8E8C: - bl ErrorHandling - add sp, #0x20 - mov r0, #0 - pop {r3, r4, r5, pc} -_021D8E96: - mov r3, #0 - str r3, [sp] - str r0, [sp, #4] - mov r0, #2 - str r0, [sp, #8] - ldr r1, [sp, #0xc] - ldr r2, [sp, #0x10] - add r0, r4, #0 - bl FUN_0204C260 - add sp, #0x20 - mov r0, #1 - pop {r3, r4, r5, pc} -_021D8EB0: - add r0, r5, #0 - bl FUN_020548CC - cmp r0, #1 - bne _021D8EEC - ldr r0, [r4, #0x38] - bl FUN_020552F8 - cmp r0, #2 - beq _021D8ED2 - cmp r0, #3 - beq _021D8ED2 - bl ErrorHandling - add sp, #0x20 - mov r0, #0 - pop {r3, r4, r5, pc} -_021D8ED2: - mov r3, #0 - str r3, [sp] - str r0, [sp, #4] - mov r0, #2 - str r0, [sp, #8] - ldr r1, [sp, #0xc] - ldr r2, [sp, #0x10] - add r0, r4, #0 - bl FUN_0204C260 - add sp, #0x20 - mov r0, #1 - pop {r3, r4, r5, pc} -_021D8EEC: - add r0, r5, #0 - bl FUN_020547D4 - cmp r0, #0 - bne _021D8F00 - add r0, r5, #0 - bl FUN_02054804 - cmp r0, #0 - beq _021D8F16 -_021D8F00: - mov r3, #0 - str r3, [sp] - str r3, [sp, #4] - ldr r1, [sp, #0xc] - ldr r2, [sp, #0x10] - add r0, r4, #0 - bl FUN_0204C29C - add sp, #0x20 - mov r0, #1 - pop {r3, r4, r5, pc} -_021D8F16: - add r0, r5, #0 - bl FUN_02054B60 - cmp r0, #0 - beq _021D8F30 - ldr r1, [sp, #0xc] - ldr r2, [sp, #0x10] - add r0, r4, #0 - bl FUN_02049718 - add sp, #0x20 - mov r0, #1 - pop {r3, r4, r5, pc} -_021D8F30: - mov r0, #0 - add sp, #0x20 - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021D8F38 -MOD05_021D8F38: ; 0x021D8F38 - push {r3, r4, r5, lr} - add r4, r0, #0 - ldr r0, [r4, #0xc] - bl FUN_0206BB1C - add r5, r0, #0 - ldr r0, [r4, #0xc] - bl FUN_02023D58 - add r1, r5, #0 - add r2, r4, #0 - bl MOD05_021ED378 - cmp r0, #1 - bne _021D8F7A - ldr r0, [r4, #0xc] - bl FUN_02029FC8 - add r5, r0, #0 - mov r1, #0xb - bl FUN_0202A0E8 - add r0, r5, #0 - mov r1, #0xf - bl FUN_0202A170 - ldr r1, _021D8F80 ; =0x000007EF - add r0, r4, #0 - mov r2, #0 - bl FUN_02038C78 - mov r0, #1 - pop {r3, r4, r5, pc} -_021D8F7A: - mov r0, #0 - pop {r3, r4, r5, pc} - nop -_021D8F80: .word 0x000007EF - - thumb_func_start MOD05_021D8F84 -MOD05_021D8F84: ; 0x021D8F84 - push {r3, lr} - bl MOD05_021E1654 - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - - thumb_func_start MOD05_021D8F90 -MOD05_021D8F90: ; 0x021D8F90 - push {r3, lr} - bl FUN_0205E4A4 - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - - thumb_func_start MOD05_021D8F9C -MOD05_021D8F9C: ; 0x021D8F9C - ldr r3, _021D8FA4 ; =MOD06_0224C24C - add r1, r0, #0 - ldr r0, [r1, #0xc] - bx r3 - .balign 4, 0 -_021D8FA4: .word MOD06_0224C24C - - thumb_func_start MOD05_021D8FA8 -MOD05_021D8FA8: ; 0x021D8FA8 - push {r3, r4, r5, lr} - ldr r0, [r0, #0xc] - mov r5, #0 - bl FUN_020462AC - add r4, r0, #0 - bl FUN_0205F780 - add r0, r0, #1 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - cmp r1, #0x80 - blo _021D8FC6 - add r1, r5, #0 - mov r5, #1 -_021D8FC6: - add r0, r4, #0 - bl FUN_0205F790 - add r0, r5, #0 - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021D8FD0 -MOD05_021D8FD0: ; 0x021D8FD0 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - ldr r0, [r4, #0xc] - bl FUN_0206BB1C - add r6, r0, #0 - ldr r0, [r4, #0x1c] - ldr r0, [r0] - bl FUN_02034824 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - add r0, r6, #0 - bl GetPartyCount - add r7, r0, #0 - mov r4, #0 - cmp r7, #0 - ble _021D900C -_021D8FF6: - add r0, r6, #0 - add r1, r4, #0 - bl GetPartyMonByIndex - mov r1, #5 - add r2, r5, #0 - bl MonApplyFriendshipMod - add r4, r4, #1 - cmp r4, r7 - blt _021D8FF6 -_021D900C: - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - - thumb_func_start MOD05_021D9010 -MOD05_021D9010: ; 0x021D9010 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #0xc] - bl FUN_0206BB1C - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl FUN_02034E30 - bl FUN_02034E2C - ldrh r1, [r0] - add r1, r1, #1 - strh r1, [r0] - ldrh r2, [r0] - mov r1, #3 - and r1, r2 - strh r1, [r0] - ldrh r0, [r0] - cmp r0, #0 - beq _021D903E - mov r0, #0 - pop {r3, r4, r5, pc} -_021D903E: - ldr r0, [r5, #0x1c] - ldr r0, [r0] - bl FUN_02034824 - add r1, r0, #0 - lsl r1, r1, #0x10 - add r0, r4, #0 - lsr r1, r1, #0x10 - bl FUN_0204A29C - cmp r0, #0 - beq _021D9060 - cmp r0, #1 - beq _021D9064 - cmp r0, #2 - beq _021D9070 - b _021D9086 -_021D9060: - mov r0, #0 - pop {r3, r4, r5, pc} -_021D9064: - ldr r0, [r5, #4] - ldr r0, [r0, #0x20] - bl MOD05_021F4724 - mov r0, #0 - pop {r3, r4, r5, pc} -_021D9070: - ldr r0, [r5, #4] - ldr r0, [r0, #0x20] - bl MOD05_021F4724 - ldr r1, _021D908C ; =0x000007D3 - add r0, r5, #0 - mov r2, #0 - bl FUN_02038C78 - mov r0, #1 - pop {r3, r4, r5, pc} -_021D9086: - mov r0, #0 - pop {r3, r4, r5, pc} - nop -_021D908C: .word 0x000007D3 - - thumb_func_start MOD05_021D9090 -MOD05_021D9090: ; 0x021D9090 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0xc] - bl FUN_020462AC - bl FUN_0205F214 - cmp r0, #0 - bne _021D90A6 - mov r0, #0 - pop {r4, pc} -_021D90A6: - ldr r0, [r4, #0xc] - bl FUN_02034E30 - bl FUN_02034E24 - ldrh r0, [r0] - cmp r0, #0 - bne _021D90C4 - ldr r1, _021D90F0 ; =0x00002262 - add r0, r4, #0 - mov r2, #0 - bl FUN_02038C78 - mov r0, #1 - pop {r4, pc} -_021D90C4: - ldr r0, [r4, #0xc] - bl FUN_02034E30 - bl FUN_02034E28 - ldrh r1, [r0] - add r1, r1, #1 - strh r1, [r0] - ldrh r1, [r0] - mov r0, #0x7d - lsl r0, r0, #2 - cmp r1, r0 - blo _021D90EC - ldr r1, _021D90F4 ; =0x00002261 - add r0, r4, #0 - mov r2, #0 - bl FUN_02038C78 - mov r0, #1 - pop {r4, pc} -_021D90EC: - mov r0, #0 - pop {r4, pc} - .balign 4, 0 -_021D90F0: .word 0x00002262 -_021D90F4: .word 0x00002261 - - thumb_func_start MOD05_021D90F8 -MOD05_021D90F8: ; 0x021D90F8 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, [r5, #0x38] - add r4, r1, #0 - add r6, r2, #0 - bl FUN_02055320 - str r0, [r4] - ldr r0, [r5, #0x38] - bl FUN_0205532C - str r0, [r6] - pop {r4, r5, r6, pc} - .balign 4, 0 - - thumb_func_start MOD05_021D9114 -MOD05_021D9114: ; 0x021D9114 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, [r5, #0x38] - add r4, r1, #0 - add r6, r2, #0 - bl FUN_020552F8 - add r1, r0, #0 - add r0, r5, #0 - add r2, r4, #0 - add r3, r6, #0 - bl MOD05_021D9130 - pop {r4, r5, r6, pc} - - thumb_func_start MOD05_021D9130 -MOD05_021D9130: ; 0x021D9130 - push {r4, r5, r6, lr} - add r4, r2, #0 - add r5, r3, #0 - add r6, r1, #0 - add r1, r4, #0 - add r2, r5, #0 - bl MOD05_021D90F8 - cmp r6, #3 - bhi _021D9176 - add r0, r6, r6 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_021D9150: ; jump table - .short _021D9158 - _021D9150 - 2 ; case 0 - .short _021D9160 - _021D9150 - 2 ; case 1 - .short _021D9168 - _021D9150 - 2 ; case 2 - .short _021D9170 - _021D9150 - 2 ; case 3 -_021D9158: - ldr r0, [r5] - sub r0, r0, #1 - str r0, [r5] - pop {r4, r5, r6, pc} -_021D9160: - ldr r0, [r5] - add r0, r0, #1 - str r0, [r5] - pop {r4, r5, r6, pc} -_021D9168: - ldr r0, [r4] - sub r0, r0, #1 - str r0, [r4] - pop {r4, r5, r6, pc} -_021D9170: - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] -_021D9176: - pop {r4, r5, r6, pc} - - thumb_func_start MOD05_021D9178 -MOD05_021D9178: ; 0x021D9178 - push {r4, lr} - sub sp, #8 - add r1, sp, #4 - add r2, sp, #0 - add r4, r0, #0 - bl MOD05_021D90F8 - ldr r1, [sp, #4] - ldr r2, [sp] - add r0, r4, #0 - bl FUN_0204A6E0 - add sp, #8 - pop {r4, pc} - - thumb_func_start MOD05_021D9194 -MOD05_021D9194: ; 0x021D9194 - push {r4, lr} - sub sp, #8 - add r1, sp, #4 - add r2, sp, #0 - add r4, r0, #0 - bl MOD05_021D9114 - ldr r1, [sp, #4] - ldr r2, [sp] - add r0, r4, #0 - bl FUN_0204A6E0 - add sp, #8 - pop {r4, pc} - - thumb_func_start MOD05_021D91B0 -MOD05_021D91B0: ; 0x021D91B0 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r7, r1, #0 - str r2, [sp] - add r5, r3, #0 - bl FUN_02034B18 - add r6, r0, #0 - mov r0, #0 - mvn r0, r0 - cmp r6, r0 - bne _021D91CC - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_021D91CC: - add r0, r4, #0 - add r1, r6, #0 - bl FUN_02034B00 - cmp r0, #0 - bne _021D91DC - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_021D91DC: - ldrh r3, [r0, #6] - mov r1, #1 - lsl r1, r1, #8 - cmp r3, r1 - bne _021D920C - ldrh r1, [r0, #4] - ldr r0, _021D9244 ; =0x00000FFF - cmp r1, r0 - beq _021D91F2 - bl ErrorHandling -_021D91F2: - ldr r0, [r4, #0xc] - bl FUN_02034E30 - bl FUN_02034DD0 - add r2, r0, #0 - ldmia r2!, {r0, r1} - stmia r5!, {r0, r1} - ldmia r2!, {r0, r1} - stmia r5!, {r0, r1} - ldr r0, [r2] - str r0, [r5] - b _021D921E -_021D920C: - ldrh r2, [r0, #2] - ldrh r1, [r0] - ldrh r0, [r0, #4] - str r0, [r5] - str r3, [r5, #4] - str r1, [r5, #8] - str r2, [r5, #0xc] - mov r0, #1 - str r0, [r5, #0x10] -_021D921E: - ldr r0, [r4, #0xc] - bl FUN_02034E30 - bl FUN_02034DC4 - add r5, r0, #0 - ldr r0, [r4, #0x38] - bl FUN_020552F8 - ldr r1, [r4, #0x1c] - ldr r1, [r1] - str r1, [r5] - str r6, [r5, #4] - ldr r1, [sp] - str r7, [r5, #8] - str r1, [r5, #0xc] - str r0, [r5, #0x10] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021D9244: .word 0x00000FFF - - thumb_func_start MOD05_021D9248 -MOD05_021D9248: ; 0x021D9248 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - ldr r0, [r5, #0xc] - add r7, r1, #0 - str r2, [sp] - add r4, r3, #0 - bl FUN_02034E30 - bl FUN_02034DCC - add r6, r0, #0 - ldr r3, [r5, #0x1c] - add r2, r6, #0 - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldr r0, [r3] - cmp r4, #0 - str r0, [r2] - str r4, [r6, #0x10] - ldr r0, [sp] - str r7, [r6, #8] - str r0, [r6, #0xc] - bne _021D9280 - ldr r0, [r6, #0xc] - add r0, r0, #1 - str r0, [r6, #0xc] -_021D9280: - ldr r0, [r5, #0x1c] - ldr r0, [r0] - str r0, [r6] - mov r0, #0 - mvn r0, r0 - str r0, [r6, #4] - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - - thumb_func_start MOD05_021D9290 -MOD05_021D9290: ; 0x021D9290 - push {r3, r4, lr} - sub sp, #0x1c - add r1, sp, #4 - add r2, sp, #0 - add r4, r0, #0 - bl MOD05_021D90F8 - ldr r1, [sp, #4] - ldr r2, [sp] - add r0, r4, #0 - add r3, sp, #8 - bl MOD05_021D91B0 - cmp r0, #0 - beq _021D92DA - ldr r0, [r4, #0x1c] - ldr r0, [r0] - bl FUN_02034908 - cmp r0, #1 - bne _021D931C - ldr r0, [sp, #8] - bl FUN_02034908 - cmp r0, #0 - bne _021D931C - ldr r0, [r4, #0x38] - bl FUN_020552F8 - add r3, r0, #0 - ldr r1, [sp, #4] - ldr r2, [sp] - add r0, r4, #0 - bl MOD05_021D9248 - add sp, #0x1c - pop {r3, r4, pc} -_021D92DA: - add r0, r4, #0 - add r1, sp, #4 - add r2, sp, #0 - bl MOD05_021D9114 - ldr r1, [sp, #4] - ldr r2, [sp] - add r0, r4, #0 - add r3, sp, #8 - bl MOD05_021D91B0 - cmp r0, #0 - beq _021D931C - ldr r0, [r4, #0x1c] - ldr r0, [r0] - bl FUN_02034908 - cmp r0, #1 - bne _021D931C - ldr r0, [sp, #8] - bl FUN_02034908 - cmp r0, #0 - bne _021D931C - ldr r0, [r4, #0x38] - bl FUN_020552F8 - add r3, r0, #0 - ldr r1, [sp, #4] - ldr r2, [sp] - add r0, r4, #0 - bl MOD05_021D9248 -_021D931C: - add sp, #0x1c - pop {r3, r4, pc} - thumb_func_start MOD05_021D9320 MOD05_021D9320: ; 0x021D9320 push {r4, r5, r6, r7, lr} |