.include "asm/macros.inc" .include "global.inc" .text thumb_func_start FUN_02046030 FUN_02046030: ; 0x02046030 push {r4, lr} add r4, r0, #0x0 mov r0, #0xb mov r1, #0xc bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 strb r0, [r2, #0x0] strb r0, [r2, #0x1] strb r0, [r2, #0x2] strb r0, [r2, #0x3] strb r0, [r2, #0x4] strb r0, [r2, #0x5] strb r0, [r2, #0x6] strb r0, [r2, #0x7] strb r0, [r2, #0x8] strb r0, [r2, #0x9] strb r0, [r2, #0xa] strb r0, [r2, #0xb] ldr r0, [r4, #0x10] ldr r1, _02046064 ; =FUN_02046068 bl FUN_0204640C pop {r4, pc} nop _02046064: .word FUN_02046068 thumb_func_start FUN_02046068 FUN_02046068: ; 0x02046068 push {r4-r6, lr} sub sp, #0x38 add r6, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_020462AC ldrb r1, [r4, #0x8] cmp r1, #0xb bls _0204608A b _020461F8 _0204608A: add r2, r1, r1 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _02046096: ; jump table (using 16-bit offset) .short _020460AE - _02046096 - 2; case 0 .short _020460D4 - _02046096 - 2; case 1 .short _020460E2 - _02046096 - 2; case 2 .short _0204610A - _02046096 - 2; case 3 .short _02046118 - _02046096 - 2; case 4 .short _02046150 - _02046096 - 2; case 5 .short _02046160 - _02046096 - 2; case 6 .short _0204618A - _02046096 - 2; case 7 .short _02046198 - _02046096 - 2; case 8 .short _020461C0 - _02046096 - 2; case 9 .short _020461CE - _02046096 - 2; case 10 .short _020461E4 - _02046096 - 2; case 11 _020460AE: ldr r0, [r5, #0x38] bl FUN_02055320 strh r0, [r4, #0x4] ldr r0, [r5, #0x38] bl FUN_0205532C strh r0, [r4, #0x6] add r0, r5, #0x0 mov r1, #0x1 bl FUN_0206367C add r0, r6, #0x0 bl FUN_0204AFC8 ldrb r0, [r4, #0x8] add r0, r0, #0x1 strb r0, [r4, #0x8] b _020461F8 _020460D4: add r0, r6, #0x0 bl FUN_0204AF3C ldrb r0, [r4, #0x8] add r0, r0, #0x1 strb r0, [r4, #0x8] b _020461F8 _020460E2: bl FUN_0205F1C4 mov r0, #0xac str r0, [sp, #0x24] sub r0, #0xad str r0, [sp, #0x28] ldr r0, _02046200 ; =0x0000034F add r1, sp, #0x24 str r0, [sp, #0x2c] ldr r0, _02046204 ; =0x00000231 str r0, [sp, #0x30] mov r0, #0x1 str r0, [sp, #0x34] add r0, r6, #0x0 bl FUN_02049160 ldrb r0, [r4, #0x8] add r0, r0, #0x1 strb r0, [r4, #0x8] b _020461F8 _0204610A: add r0, r6, #0x0 bl FUN_0204AF84 ldrb r0, [r4, #0x8] add r0, r0, #0x1 strb r0, [r4, #0x8] b _020461F8 _02046118: ldr r0, [r5, #0x38] mov r1, #0x1 bl FUN_02046214 add r0, r5, #0x0 bl FUN_02046224 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x6 str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] mov r0, #0xb str r0, [sp, #0xc] ldr r3, _02046208 ; =0x0000FFFF add r0, r6, #0x0 mov r1, #0x3 mov r2, #0x11 bl FUN_0204C1B4 ldr r0, _0204620C ; =0x00000679 bl FUN_020054C8 ldrb r0, [r4, #0x8] add r0, r0, #0x1 strb r0, [r4, #0x8] b _020461F8 _02046150: ldr r0, _02046210 ; =0x021C48B8 ldr r2, [r0, #0x48] mov r0, #0x3 tst r0, r2 beq _020461F8 add r0, r1, #0x1 strb r0, [r4, #0x8] b _020461F8 _02046160: mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x6 str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] mov r0, #0xb str r0, [sp, #0xc] ldr r3, _02046208 ; =0x0000FFFF add r0, r6, #0x0 mov r1, #0x3 mov r2, #0x10 bl FUN_0204C1B4 ldr r0, _0204620C ; =0x00000679 bl FUN_020054C8 ldrb r0, [r4, #0x8] add r0, r0, #0x1 strb r0, [r4, #0x8] b _020461F8 _0204618A: add r0, r6, #0x0 bl FUN_0204AF3C ldrb r0, [r4, #0x8] add r0, r0, #0x1 strb r0, [r4, #0x8] b _020461F8 _02046198: bl FUN_0205F1D4 ldrh r2, [r4, #0x6] ldrh r1, [r4, #0x4] mov r0, #0xa4 str r0, [sp, #0x10] sub r0, #0xa5 str r0, [sp, #0x14] mov r0, #0x0 str r1, [sp, #0x18] str r0, [sp, #0x20] str r2, [sp, #0x1c] add r0, r6, #0x0 add r1, sp, #0x10 bl FUN_02049160 ldrb r0, [r4, #0x8] add r0, r0, #0x1 strb r0, [r4, #0x8] b _020461F8 _020461C0: add r0, r6, #0x0 bl FUN_0204AF84 ldrb r0, [r4, #0x8] add r0, r0, #0x1 strb r0, [r4, #0x8] b _020461F8 _020461CE: ldr r0, [r5, #0x38] mov r1, #0x0 bl FUN_02046214 add r0, r6, #0x0 bl FUN_0204B00C ldrb r0, [r4, #0x8] add r0, r0, #0x1 strb r0, [r4, #0x8] b _020461F8 _020461E4: add r0, r4, #0x0 bl FUN_02016A18 add r0, r5, #0x0 mov r1, #0x0 bl FUN_0206367C add sp, #0x38 mov r0, #0x1 pop {r4-r6, pc} _020461F8: mov r0, #0x0 add sp, #0x38 pop {r4-r6, pc} nop _02046200: .word 0x0000034F _02046204: .word 0x00000231 _02046208: .word 0x0000FFFF _0204620C: .word 0x00000679 _02046210: .word 0x021C48B8 thumb_func_start FUN_02046214 FUN_02046214: ; 0x02046214 push {r4, lr} add r4, r1, #0x0 bl FUN_020553A0 add r1, r4, #0x0 bl FUN_0205889C pop {r4, pc} thumb_func_start FUN_02046224 FUN_02046224: ; 0x02046224 push {r3-r4, lr} sub sp, #0x14 add r4, r0, #0x0 ldr r0, _02046278 ; =0x000008C1 ldr r1, [r4, #0x20] bl FUN_0201EEF0 ldr r0, _0204627C ; =0x000F81B8 ldr r1, [r4, #0x20] bl FUN_0201EFE0 ldr r0, _02046280 ; =0x0350523D str r0, [sp, #0x8] ldr r0, _02046284 ; =0x0015EDB7 str r0, [sp, #0xc] ldr r0, _02046288 ; =0x023DA40E str r0, [sp, #0x10] ldr r1, [r4, #0x20] add r0, sp, #0x8 bl FUN_0201F04C ldr r1, _0204628C ; =0x00000823 add r0, sp, #0x0 strh r1, [r0, #0x0] mov r1, #0x52 lsl r1, r1, #0x4 strh r1, [r0, #0x2] mov r1, #0x0 strh r1, [r0, #0x4] ldr r1, [r4, #0x20] add r0, sp, #0x0 bl FUN_0201EF90 mov r0, #0x3 ldr r1, _02046290 ; =0x0061C000 ldr r2, [r4, #0x20] lsl r0, r0, #0xe bl FUN_0201EC94 add sp, #0x14 pop {r3-r4, pc} nop _02046278: .word 0x000008C1 _0204627C: .word 0x000F81B8 _02046280: .word 0x0350523D _02046284: .word 0x0015EDB7 _02046288: .word 0x023DA40E _0204628C: .word 0x00000823 _02046290: .word 0x0061C000 thumb_func_start FUN_02046294 FUN_02046294: ; 0x02046294 mov r0, #0xeb lsl r0, r0, #0x2 bx lr .balign 4 thumb_func_start FUN_0204629C FUN_0204629C: ; 0x0204629C ldr r3, _020462A8 ; =Call_FillMemWithValue mov r2, #0xeb mov r1, #0x0 lsl r2, r2, #0x2 bx r3 nop _020462A8: .word Call_FillMemWithValue thumb_func_start FUN_020462AC FUN_020462AC: ; 0x020462AC ldr r3, _020462B4 ; =FUN_02022610 mov r1, #0x4 bx r3 nop _020462B4: .word FUN_02022610 thumb_func_start FUN_020462B8 FUN_020462B8: ; 0x020462B8 push {r3-r5, lr} add r4, r1, #0x0 bl FUN_02046338 cmp r0, #0x0 beq _020462DE lsr r3, r4, #0x1f lsl r2, r4, #0x1d ldrb r5, [r0, #0x0] sub r2, r2, r3 mov r1, #0x1d ror r2, r1 mov r0, #0x1 add r1, r3, r2 add r2, r0, #0x0 lsl r2, r1 add r1, r5, #0x0 tst r1, r2 bne _020462E0 _020462DE: mov r0, #0x0 _020462E0: pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020462E4 FUN_020462E4: ; 0x020462E4 push {r4-r6, lr} add r4, r1, #0x0 bl FUN_02046338 cmp r0, #0x0 beq _02046308 lsr r5, r4, #0x1f lsl r3, r4, #0x1d sub r3, r3, r5 mov r2, #0x1d ror r3, r2 mov r6, #0x1 add r2, r5, r3 add r3, r6, #0x0 ldrb r1, [r0, #0x0] lsl r3, r2 orr r1, r3 strb r1, [r0, #0x0] _02046308: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0204630C FUN_0204630C: ; 0x0204630C push {r4-r6, lr} add r4, r1, #0x0 bl FUN_02046338 cmp r0, #0x0 beq _02046334 lsr r5, r4, #0x1f lsl r3, r4, #0x1d sub r3, r3, r5 mov r2, #0x1d ror r3, r2 mov r6, #0x1 add r2, r5, r3 add r3, r6, #0x0 lsl r3, r2 mov r2, #0xff ldrb r1, [r0, #0x0] eor r2, r3 and r1, r2 strb r1, [r0, #0x0] _02046334: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02046338 FUN_02046338: ; 0x02046338 push {r3-r5, lr} add r5, r0, #0x0 cmp r1, #0x0 bne _02046344 mov r0, #0x0 pop {r3-r5, pc} _02046344: mov r0, #0x1 lsl r0, r0, #0xe cmp r1, r0 bhs _02046364 mov r0, #0x5b lsr r4, r1, #0x3 lsl r0, r0, #0x2 cmp r4, r0 blt _0204635A bl ErrorHandling _0204635A: mov r0, #0x9 lsl r0, r0, #0x6 add r0, r5, r0 add r0, r0, r4 pop {r3-r5, pc} _02046364: sub r1, r1, r0 asr r0, r1, #0x2 lsr r0, r0, #0x1d add r0, r1, r0 asr r4, r0, #0x3 cmp r4, #0x8 blt _02046376 bl ErrorHandling _02046376: ldr r0, _0204637C ; =0x021C5A14 add r0, r0, r4 pop {r3-r5, pc} .balign 4 _0204637C: .word 0x021C5A14 thumb_func_start FUN_02046380 FUN_02046380: ; 0x02046380 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x1 lsl r0, r0, #0xe sub r4, r1, r0 mov r0, #0x12 lsl r0, r0, #0x4 cmp r4, r0 blt _02046396 bl ErrorHandling _02046396: lsl r0, r4, #0x1 add r0, r5, r0 pop {r3-r5, pc} thumb_func_start FUN_0204639C FUN_0204639C: ; 0x0204639C push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x20 add r6, r1, #0x0 add r1, r0, #0x0 add r7, r2, #0x0 bl FUN_020169D8 add r4, r0, #0x0 mov r0, #0x0 str r0, [r4, #0x0] str r6, [r4, #0x4] str r0, [r4, #0x8] str r7, [r4, #0xc] str r0, [r4, #0x10] str r0, [r4, #0x14] mov r0, #0x20 mov r1, #0x4 str r5, [r4, #0x18] bl FUN_020169D8 str r0, [r4, #0x1c] add r0, r4, #0x0 pop {r3-r7, pc} thumb_func_start FUN_020463CC FUN_020463CC: ; 0x020463CC push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x10] add r4, r1, #0x0 add r6, r2, #0x0 cmp r0, #0x0 beq _020463DE bl ErrorHandling _020463DE: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_0204639C str r0, [r5, #0x10] pop {r4-r6, pc} thumb_func_start FUN_020463EC FUN_020463EC: ; 0x020463EC push {r4, lr} add r4, r0, #0x0 str r1, [r4, #0x4] mov r0, #0x0 str r0, [r4, #0x8] str r2, [r4, #0xc] ldr r0, [r4, #0x14] cmp r0, #0x0 bne _02046400 beq _0204640A _02046400: bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x10] str r0, [r4, #0x14] _0204640A: pop {r4, pc} thumb_func_start FUN_0204640C FUN_0204640C: ; 0x0204640C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x18] bl FUN_0204639C str r4, [r0, #0x0] ldr r1, [r4, #0x18] str r0, [r1, #0x10] pop {r4, pc} .balign 4 thumb_func_start FUN_02046420 FUN_02046420: ; 0x02046420 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x10] cmp r0, #0x0 bne _0204642E mov r0, #0x0 pop {r3-r5, pc} _0204642E: ldr r1, [r0, #0x4] blx r1 cmp r0, #0x1 bne _02046466 _02046436: ldr r0, [r5, #0x10] ldr r4, [r0, #0x0] ldr r0, [r0, #0x14] cmp r0, #0x0 beq _02046444 bl FUN_02016A18 _02046444: ldr r0, [r5, #0x10] ldr r0, [r0, #0x1c] bl FUN_02016A18 ldr r0, [r5, #0x10] bl FUN_02016A18 str r4, [r5, #0x10] cmp r4, #0x0 bne _0204645C mov r0, #0x1 pop {r3-r5, pc} _0204645C: ldr r0, [r5, #0x10] ldr r1, [r0, #0x4] blx r1 cmp r0, #0x1 beq _02046436 _02046466: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0204646C FUN_0204646C: ; 0x0204646C ldr r0, [r0, #0x10] cmp r0, #0x0 beq _02046476 mov r0, #0x1 bx lr _02046476: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_0204647C FUN_0204647C: ; 0x0204647C push {r4, lr} add r4, r0, #0x0 bl FUN_0203739C cmp r0, #0x0 bne _02046492 add r0, r4, #0x0 bl FUN_020373C4 cmp r0, #0x0 beq _02046496 _02046492: mov r0, #0x1 pop {r4, pc} _02046496: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0204649C FUN_0204649C: ; 0x0204649C ldr r3, _020464A0 ; =FUN_02037350 bx r3 .balign 4 _020464A0: .word FUN_02037350 thumb_func_start FUN_020464A4 FUN_020464A4: ; 0x020464A4 push {r3, lr} bl FUN_020373AC cmp r0, #0x0 beq _020464B2 mov r0, #0x1 pop {r3, pc} _020464B2: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_020464B8 FUN_020464B8: ; 0x020464B8 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _020464D6 cmp r0, #0x1 beq _020464E8 b _020464FC _020464D6: ldr r1, [r4, #0x4] ldr r2, [r4, #0x8] add r0, r5, #0x0 bl FUN_020373D4 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020464FC _020464E8: add r0, r5, #0x0 bl FUN_0204647C cmp r0, #0x0 bne _020464FC add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _020464FC: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02046500 FUN_02046500: ; 0x02046500 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 mov r0, #0x20 mov r1, #0xc add r4, r2, #0x0 bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] str r5, [r2, #0x4] ldr r1, _02046524 ; =FUN_020464B8 add r0, r6, #0x0 str r4, [r2, #0x8] bl FUN_0204640C pop {r4-r6, pc} .balign 4 _02046524: .word FUN_020464B8 thumb_func_start FUN_02046528 FUN_02046528: ; 0x02046528 ldr r0, [r0, #0x18] bx lr thumb_func_start FUN_0204652C FUN_0204652C: ; 0x0204652C ldr r0, [r0, #0xc] bx lr thumb_func_start FUN_02046530 FUN_02046530: ; 0x02046530 add r0, #0x8 bx lr thumb_func_start FUN_02046534 FUN_02046534: ; 0x02046534 ldr r0, [r0, #0x1c] ldr r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_0204653C FUN_0204653C: ; 0x0204653C push {r4-r6, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02046562 cmp r0, #0x1 beq _02046572 b _02046580 _02046562: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_0203780C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046580 _02046572: add r0, r5, #0x0 bl FUN_0204647C cmp r0, #0x0 bne _02046580 mov r0, #0x1 pop {r4-r6, pc} _02046580: mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_02046584 FUN_02046584: ; 0x02046584 ldr r3, _0204658C ; =FUN_0204640C add r2, r1, #0x0 ldr r1, _02046590 ; =FUN_0204653C bx r3 .balign 4 _0204658C: .word FUN_0204640C _02046590: .word FUN_0204653C thumb_func_start FUN_02046594 FUN_02046594: ; 0x02046594 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0xb mov r1, #0x14 add r7, r2, #0x0 add r4, r3, #0x0 bl FUN_020169D8 str r4, [r0, #0x0] cmp r4, #0x0 beq _020465B0 mov r1, #0x0 str r1, [r4, #0x0] _020465B0: str r6, [r0, #0x4] str r7, [r0, #0x8] str r5, [r0, #0x10] pop {r3-r7, pc} thumb_func_start FUN_020465B8 FUN_020465B8: ; 0x020465B8 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x10] bl FUN_02047964 add r0, r4, #0x0 bl FUN_02016A18 pop {r4, pc} .balign 4 thumb_func_start FUN_020465CC FUN_020465CC: ; 0x020465CC ldr r2, [r0, #0x0] cmp r2, #0x0 beq _020465D8 ldr r1, [r0, #0x10] ldr r1, [r1, #0x14] str r1, [r2, #0x0] _020465D8: ldr r0, [r0, #0x10] ldr r3, _020465E0 ; =FUN_020480B8 ldr r0, [r0, #0x14] bx r3 .balign 4 _020465E0: .word FUN_020480B8 thumb_func_start FUN_020465E4 FUN_020465E4: ; 0x020465E4 push {r3, lr} mov r2, #0x2 ldr r3, [r0, #0x0] lsl r2, r2, #0x1e tst r2, r3 bne _020465F4 bl FUN_02047F38 _020465F4: pop {r3, pc} .balign 4 thumb_func_start FUN_020465F8 FUN_020465F8: ; 0x020465F8 push {r3-r7, lr} add r7, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r7, #0x0 bl FUN_0204652C add r5, r0, #0x0 add r0, r7, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x5 bhi _020466F8 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02046624: ; jump table (using 16-bit offset) .short _02046630 - _02046624 - 2; case 0 .short _02046648 - _02046624 - 2; case 1 .short _02046656 - _02046624 - 2; case 2 .short _02046666 - _02046624 - 2; case 3 .short _020466DA - _02046624 - 2; case 4 .short _020466EE - _02046624 - 2; case 5 _02046630: ldr r0, [r6, #0x34] bl FUN_02058780 ldr r1, [r5, #0x4] ldr r2, [r5, #0x8] add r0, r7, #0x0 bl FUN_0204AEF8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020466F8 _02046648: add r0, r7, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020466F8 _02046656: ldr r1, [r5, #0x10] add r0, r7, #0x0 bl FUN_02046584 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020466F8 _02046666: ldr r0, [r5, #0x10] add r1, r6, #0x0 bl FUN_020465E4 ldr r2, [r5, #0x10] ldr r1, [r2, #0x0] cmp r1, #0x0 beq _02046682 mov r0, #0x1 lsl r0, r0, #0x8 cmp r1, r0 beq _02046682 cmp r1, #0x4a bne _02046690 _02046682: mov r1, #0x4d lsl r1, r1, #0x2 ldr r1, [r2, r1] ldr r2, [r2, #0x14] add r0, r6, #0x0 bl FUN_02061080 _02046690: add r0, r5, #0x0 bl FUN_020465CC cmp r0, #0x0 bne _020466A4 add r0, r5, #0x0 bl FUN_020465B8 mov r0, #0x1 pop {r3-r7, pc} _020466A4: ldr r0, [r6, #0xc] bl FUN_020462AC bl FUN_0205ED3C cmp r0, #0x0 beq _020466BC ldr r0, [r6, #0xc] bl FUN_0206BB1C bl FUN_02085140 _020466BC: ldr r1, [r5, #0x10] add r0, r6, #0x0 bl FUN_020472F4 ldr r1, [r5, #0x10] add r0, r6, #0x0 bl FUN_020473CC add r0, r7, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020466F8 _020466DA: ldr r0, [r6, #0x34] bl FUN_020587B0 add r0, r7, #0x0 bl FUN_0204B00C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020466F8 _020466EE: add r0, r5, #0x0 bl FUN_020465B8 mov r0, #0x1 pop {r3-r7, pc} _020466F8: mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_020466FC FUN_020466FC: ; 0x020466FC push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 add r2, r3, #0x0 ldr r3, [sp, #0x8] bl FUN_02046594 add r2, r0, #0x0 ldr r1, _02046718 ; =FUN_020465F8 add r0, r4, #0x0 bl FUN_0204640C pop {r4, pc} .balign 4 _02046718: .word FUN_020465F8 thumb_func_start FUN_0204671C FUN_0204671C: ; 0x0204671C push {r3, lr} mov r2, #0xf and r0, r2 cmp r0, #0x6 bhi _02046754 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02046732: ; jump table (using 16-bit offset) .short _02046754 - _02046732 - 2; case 0 .short _02046740 - _02046732 - 2; case 1 .short _0204674A - _02046732 - 2; case 2 .short _02046754 - _02046732 - 2; case 3 .short _02046754 - _02046732 - 2; case 4 .short _0204674A - _02046732 - 2; case 5 .short _02046740 - _02046732 - 2; case 6 _02046740: ldr r0, [r1, #0xc] mov r1, #0x1 bl FUN_0202E25C pop {r3, pc} _0204674A: ldr r0, [r1, #0xc] sub r2, #0x10 add r1, r2, #0x0 bl FUN_0202E25C _02046754: pop {r3, pc} .balign 4 thumb_func_start FUN_02046758 FUN_02046758: ; 0x02046758 push {r3-r7, lr} add r6, r0, #0x0 bl FUN_02046528 add r7, r0, #0x0 add r0, r6, #0x0 bl FUN_0204652C add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x5 bhi _020467F6 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02046784: ; jump table (using 16-bit offset) .short _02046790 - _02046784 - 2; case 0 .short _020467A2 - _02046784 - 2; case 1 .short _020467B0 - _02046784 - 2; case 2 .short _020467C0 - _02046784 - 2; case 3 .short _020467EC - _02046784 - 2; case 4 .short _020467EC - _02046784 - 2; case 5 _02046790: ldr r1, [r5, #0x4] ldr r2, [r5, #0x8] add r0, r6, #0x0 bl FUN_0204AEF8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020467F6 _020467A2: add r0, r6, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020467F6 _020467B0: ldr r1, [r5, #0x10] add r0, r6, #0x0 bl FUN_02046584 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020467F6 _020467C0: ldr r0, [r5, #0x10] add r1, r7, #0x0 ldr r0, [r0, #0x14] bl FUN_0204671C ldr r0, [r5, #0x10] add r1, r7, #0x0 bl FUN_02047FA4 ldr r0, [r7, #0xc] bl FUN_02029FC8 mov r1, #0x15 bl FUN_0202A170 add r0, r6, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020467F6 _020467EC: add r0, r5, #0x0 bl FUN_020465B8 mov r0, #0x1 pop {r3-r7, pc} _020467F6: mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020467FC FUN_020467FC: ; 0x020467FC push {r3-r7, lr} add r7, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r7, #0x0 bl FUN_0204652C add r5, r0, #0x0 add r0, r7, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02046826 cmp r0, #0x1 beq _02046844 cmp r0, #0x2 beq _0204686A b _02046874 _02046826: ldr r1, [r5, #0x8] mov r0, #0x5 lsl r1, r1, #0x10 lsr r1, r1, #0x10 mov r2, #0x1 bl FUN_0200433C ldr r1, [r5, #0x10] add r0, r7, #0x0 bl FUN_02046584 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046874 _02046844: ldr r0, [r5, #0x10] add r1, r6, #0x0 ldr r0, [r0, #0x14] bl FUN_0204671C ldr r0, [r5, #0x10] add r1, r6, #0x0 bl FUN_02047FA4 ldr r0, [r6, #0xc] bl FUN_02029FC8 mov r1, #0x15 bl FUN_0202A170 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046874 _0204686A: add r0, r5, #0x0 bl FUN_020465B8 mov r0, #0x1 pop {r3-r7, pc} _02046874: mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02046878 FUN_02046878: ; 0x02046878 push {r3-r7, lr} add r6, r0, #0x0 bl FUN_02046528 add r7, r0, #0x0 add r0, r6, #0x0 bl FUN_0204652C add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x5 bhi _02046922 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020468A4: ; jump table (using 16-bit offset) .short _020468B0 - _020468A4 - 2; case 0 .short _020468C2 - _020468A4 - 2; case 1 .short _020468D0 - _020468A4 - 2; case 2 .short _020468E0 - _020468A4 - 2; case 3 .short _0204690A - _020468A4 - 2; case 4 .short _02046918 - _020468A4 - 2; case 5 _020468B0: ldr r1, [r5, #0x4] ldr r2, [r5, #0x8] add r0, r6, #0x0 bl FUN_0204AEF8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046922 _020468C2: add r0, r6, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046922 _020468D0: ldr r1, [r5, #0x10] add r0, r6, #0x0 bl FUN_02046584 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046922 _020468E0: ldr r0, [r5, #0x10] add r1, r7, #0x0 bl FUN_02047FA4 mov r1, #0x4e ldr r2, [r5, #0x10] lsl r1, r1, #0x2 add r0, r7, #0x0 add r1, r2, r1 bl FUN_02060044 add r0, r5, #0x0 bl FUN_020465CC add r0, r6, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046922 _0204690A: add r0, r6, #0x0 bl FUN_0204B00C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046922 _02046918: add r0, r5, #0x0 bl FUN_020465B8 mov r0, #0x1 pop {r3-r7, pc} _02046922: mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02046928 FUN_02046928: ; 0x02046928 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 add r2, r3, #0x0 ldr r3, [sp, #0x8] bl FUN_02046594 add r2, r0, #0x0 ldr r1, _02046944 ; =FUN_02046878 add r0, r4, #0x0 bl FUN_0204640C pop {r4, pc} .balign 4 _02046944: .word FUN_02046878 thumb_func_start FUN_02046948 FUN_02046948: ; 0x02046948 push {r3-r7, lr} add r4, r1, #0x0 add r7, r0, #0x0 add r5, r2, #0x0 bl FUN_02046528 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02244558 add r4, r0, #0x0 bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_020475B0 add r3, r0, #0x0 add r0, r7, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 str r5, [sp, #0x0] bl FUN_02046928 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0204697C FUN_0204697C: ; 0x0204697C push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0xb mov r1, #0x14 add r7, r2, #0x0 add r4, r3, #0x0 bl FUN_020169D8 str r4, [r0, #0xc] cmp r4, #0x0 beq _02046998 mov r1, #0x0 str r1, [r4, #0x0] _02046998: str r6, [r0, #0x4] str r7, [r0, #0x8] str r5, [r0, #0x10] mov r1, #0x0 str r1, [r0, #0x0] pop {r3-r7, pc} thumb_func_start FUN_020469A4 FUN_020469A4: ; 0x020469A4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x10] bl FUN_02047964 add r0, r4, #0x0 bl FUN_02016A18 pop {r4, pc} .balign 4 thumb_func_start FUN_020469B8 FUN_020469B8: ; 0x020469B8 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 bl FUN_020462AC bl FUN_0205F214 cmp r0, #0x0 beq _020469F2 add r0, r4, #0x0 bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 bl FUN_02046594 add r2, r0, #0x0 ldr r1, _02046A18 ; =FUN_02046C1C add r0, r5, #0x0 bl FUN_020463CC pop {r4-r6, pc} _020469F2: add r0, r4, #0x0 bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 bl FUN_0204697C add r2, r0, #0x0 ldr r1, _02046A1C ; =FUN_02046A88 add r0, r5, #0x0 bl FUN_020463CC pop {r4-r6, pc} .balign 4 _02046A18: .word FUN_02046C1C _02046A1C: .word FUN_02046A88 thumb_func_start FUN_02046A20 FUN_02046A20: ; 0x02046A20 push {r4-r6, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 add r4, r2, #0x0 bl FUN_020462AC bl FUN_0205F214 cmp r0, #0x0 beq _02046A5A add r0, r4, #0x0 bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 bl FUN_02046594 add r2, r0, #0x0 ldr r1, _02046A80 ; =FUN_02046C1C add r0, r5, #0x0 bl FUN_020463EC pop {r4-r6, pc} _02046A5A: add r0, r4, #0x0 bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 bl FUN_0204697C add r2, r0, #0x0 ldr r1, _02046A84 ; =FUN_02046A88 add r0, r5, #0x0 bl FUN_020463EC pop {r4-r6, pc} .balign 4 _02046A80: .word FUN_02046C1C _02046A84: .word FUN_02046A88 thumb_func_start FUN_02046A88 FUN_02046A88: ; 0x02046A88 push {r4-r6, lr} add r6, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x6 bls _02046AA2 b _02046C12 _02046AA2: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02046AAE: ; jump table (using 16-bit offset) .short _02046ABC - _02046AAE - 2; case 0 .short _02046AE0 - _02046AAE - 2; case 1 .short _02046AEE - _02046AAE - 2; case 2 .short _02046AFE - _02046AAE - 2; case 3 .short _02046BAE - _02046AAE - 2; case 4 .short _02046BC4 - _02046AAE - 2; case 5 .short _02046BF4 - _02046AAE - 2; case 6 _02046ABC: ldr r0, [r5, #0x34] bl FUN_02058780 ldr r0, [r5, #0xc] bl FUN_02029FC8 mov r1, #0x7 bl FUN_0202A0E8 ldr r1, [r4, #0x4] ldr r2, [r4, #0x8] add r0, r6, #0x0 bl FUN_0204AEF8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046C12 _02046AE0: add r0, r6, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046C12 _02046AEE: ldr r1, [r4, #0x10] add r0, r6, #0x0 bl FUN_02046584 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046C12 _02046AFE: ldr r0, [r4, #0x10] add r1, r5, #0x0 bl FUN_020465E4 mov r1, #0x4d ldr r2, [r4, #0x10] lsl r1, r1, #0x2 ldr r1, [r2, r1] ldr r2, [r2, #0x14] add r0, r5, #0x0 bl FUN_02061080 ldr r0, [r4, #0x10] ldr r0, [r0, #0x14] bl FUN_020480B8 cmp r0, #0x0 bne _02046B3E add r0, r4, #0x0 bl FUN_020469A4 add r5, #0x90 ldr r0, [r5, #0x0] bl FUN_0205DD40 ldr r1, _02046C18 ; =FUN_0204837C add r0, r6, #0x0 mov r2, #0x0 bl FUN_020463EC mov r0, #0x0 pop {r4-r6, pc} _02046B3E: ldr r0, [r5, #0xc] bl FUN_020462AC bl FUN_0205ED3C cmp r0, #0x0 beq _02046B56 ldr r0, [r5, #0xc] bl FUN_0206BB1C bl FUN_02085140 _02046B56: ldr r1, [r4, #0x10] add r0, r5, #0x0 bl FUN_020472F4 ldr r1, [r4, #0x10] add r0, r5, #0x0 bl FUN_020473CC add r0, r5, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] bl FUN_0205E128 cmp r0, #0x0 beq _02046BA0 add r0, r5, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] bl FUN_0205E0A4 cmp r0, #0x0 beq _02046B98 ldr r0, [r4, #0x10] ldr r0, [r0, #0x14] cmp r0, #0x1 beq _02046BA0 cmp r0, #0x4 beq _02046BA0 add r5, #0x90 ldr r0, [r5, #0x0] bl FUN_0205DD40 b _02046BA0 _02046B98: add r5, #0x90 ldr r0, [r5, #0x0] bl FUN_0205DD40 _02046BA0: add r0, r6, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046C12 _02046BAE: ldr r1, [r4, #0x10] add r0, r5, #0x0 bl FUN_02248724 add r0, r6, #0x0 bl FUN_0204B00C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046C12 _02046BC4: add r0, r5, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] bl FUN_0205E128 cmp r0, #0x0 beq _02046BEC ldr r1, [r4, #0x10] add r2, r5, #0x0 add r2, #0x90 ldr r1, [r1, #0x14] ldr r2, [r2, #0x0] add r0, r5, #0x0 bl FUN_0205DED4 add r0, r5, #0x0 add r5, #0x90 ldr r1, [r5, #0x0] bl FUN_0205DF44 _02046BEC: ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046C12 _02046BF4: add r0, r5, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] bl FUN_0205DF9C cmp r0, #0x0 beq _02046C12 ldr r0, [r5, #0x34] bl FUN_020587B0 add r0, r4, #0x0 bl FUN_020469A4 mov r0, #0x1 pop {r4-r6, pc} _02046C12: mov r0, #0x0 pop {r4-r6, pc} nop _02046C18: .word FUN_0204837C thumb_func_start FUN_02046C1C FUN_02046C1C: ; 0x02046C1C push {r4-r7, lr} sub sp, #0xc add r7, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r7, #0x0 bl FUN_0204652C add r5, r0, #0x0 add r0, r7, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r6, #0xc] bl FUN_02034E30 bl FUN_02034E24 str r0, [sp, #0x0] ldr r0, [r4, #0x0] cmp r0, #0x7 bls _02046C4C b _02046DA0 _02046C4C: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02046C58: ; jump table (using 16-bit offset) .short _02046C68 - _02046C58 - 2; case 0 .short _02046C8C - _02046C58 - 2; case 1 .short _02046C9A - _02046C58 - 2; case 2 .short _02046CAA - _02046C58 - 2; case 3 .short _02046D0E - _02046C58 - 2; case 4 .short _02046D1C - _02046C58 - 2; case 5 .short _02046D30 - _02046C58 - 2; case 6 .short _02046D94 - _02046C58 - 2; case 7 _02046C68: ldr r0, [r6, #0x34] bl FUN_02058780 ldr r0, [r6, #0xc] bl FUN_02029FC8 mov r1, #0x7 bl FUN_0202A0E8 ldr r1, [r5, #0x4] ldr r2, [r5, #0x8] add r0, r7, #0x0 bl FUN_0204AEF8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046DA0 _02046C8C: add r0, r7, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046DA0 _02046C9A: ldr r1, [r5, #0x10] add r0, r7, #0x0 bl FUN_02046584 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046DA0 _02046CAA: ldr r0, [r5, #0x10] add r1, r6, #0x0 bl FUN_020465E4 ldr r0, [r5, #0x10] ldr r0, [r0, #0x14] cmp r0, #0x4 bne _02046CD4 ldr r0, [r6, #0xc] bl FUN_02022504 str r0, [sp, #0x4] ldr r0, [r5, #0x10] mov r1, #0x0 ldr r0, [r0, #0x8] bl FUN_0206B9B0 add r1, r0, #0x0 ldr r0, [sp, #0x4] bl FUN_02060FE0 _02046CD4: ldr r1, [r5, #0x10] add r0, r6, #0x0 bl FUN_020472F4 ldr r0, [sp, #0x0] ldrh r0, [r0, #0x0] cmp r0, #0x0 bne _02046CFE ldr r0, [r5, #0x10] ldr r0, [r0, #0x14] cmp r0, #0x4 beq _02046CFE ldr r0, [r6, #0xc] bl FUN_02034E30 bl FUN_02034DD0 add r1, r0, #0x0 add r0, r7, #0x0 bl FUN_02049160 _02046CFE: ldr r1, [r5, #0x10] add r0, r6, #0x0 bl FUN_020473CC ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046DA0 _02046D0E: add r0, r7, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046DA0 _02046D1C: ldr r0, [r6, #0x34] bl FUN_020587B0 add r0, r7, #0x0 bl FUN_0204B00C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046DA0 _02046D30: ldr r0, [sp, #0x0] ldrh r0, [r0, #0x0] cmp r0, #0x0 bne _02046D5C ldr r0, [r5, #0x10] ldr r0, [r0, #0x14] cmp r0, #0x4 bne _02046D4E mov r2, #0x0 ldr r1, _02046DA8 ; =0x00002262 add r0, r7, #0x0 add r3, r2, #0x0 bl FUN_02038CD8 b _02046D8C _02046D4E: mov r2, #0x0 ldr r1, _02046DAC ; =0x00002269 add r0, r7, #0x0 add r3, r2, #0x0 bl FUN_02038CD8 b _02046D8C _02046D5C: ldr r0, [r6, #0xc] bl FUN_02022510 str r0, [sp, #0x8] ldr r0, [r6, #0xc] bl FUN_0206BB1C add r5, r0, #0x0 ldr r0, [sp, #0x8] bl FUN_0206B334 cmp r0, #0x12 bne _02046D8C add r0, r5, #0x0 bl FUN_0206B9AC cmp r0, #0x6 bne _02046D8C mov r2, #0x0 ldr r1, _02046DB0 ; =0x00002276 add r0, r7, #0x0 add r3, r2, #0x0 bl FUN_02038CD8 _02046D8C: ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046DA0 _02046D94: add r0, r5, #0x0 bl FUN_020465B8 add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} _02046DA0: mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} nop _02046DA8: .word 0x00002262 _02046DAC: .word 0x00002269 _02046DB0: .word 0x00002276 thumb_func_start FUN_02046DB4 FUN_02046DB4: ; 0x02046DB4 push {r3-r7, lr} add r7, r0, #0x0 add r6, r1, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] bl FUN_0205DD40 mov r0, #0xb mov r1, #0x0 bl FUN_020476CC add r1, r5, #0x0 add r4, r0, #0x0 bl FUN_02047BB0 mov r0, #0x15 mov r1, #0x0 lsl r0, r0, #0x4 str r1, [r4, r0] add r0, r0, #0x4 str r1, [r4, r0] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0223CCDC ldr r0, [r5, #0xc] bl FUN_02029FC8 mov r1, #0x7 bl FUN_0202A0E8 add r0, r4, #0x0 bl FUN_020475A0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_020475B0 add r3, r0, #0x0 add r0, r7, #0x0 add r1, r4, #0x0 add r2, r5, #0x0 str r6, [sp, #0x0] bl FUN_020466FC pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02046E18 FUN_02046E18: ; 0x02046E18 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x4] add r7, r1, #0x0 str r2, [sp, #0x8] add r6, r3, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] bl FUN_0205DD40 mov r0, #0xb mov r1, #0x0 bl FUN_020476CC add r1, r5, #0x0 add r4, r0, #0x0 bl FUN_02047BB0 ldr r2, [sp, #0x8] add r0, r5, #0x0 add r1, r7, #0x0 add r3, r4, #0x0 bl FUN_0223CD7C ldr r0, [sp, #0x20] cmp r0, #0x0 beq _02046E60 mov r1, #0x63 lsl r1, r1, #0x2 ldr r2, [r4, r1] mov r0, #0x8 orr r0, r2 str r0, [r4, r1] _02046E60: ldr r0, [r5, #0xc] bl FUN_02029FC8 mov r1, #0x7 bl FUN_0202A0E8 add r0, r4, #0x0 bl FUN_020475A0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_020475B0 add r3, r0, #0x0 ldr r0, [sp, #0x4] add r1, r4, #0x0 add r2, r5, #0x0 str r6, [sp, #0x0] bl FUN_020466FC add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_02046E8C FUN_02046E8C: ; 0x02046E8C push {r3-r7, lr} add r7, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r7, #0x0 bl FUN_0204652C add r5, r0, #0x0 add r0, r7, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x6 bhi _02046F6C add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02046EB8: ; jump table (using 16-bit offset) .short _02046EC6 - _02046EB8 - 2; case 0 .short _02046EEA - _02046EB8 - 2; case 1 .short _02046EF8 - _02046EB8 - 2; case 2 .short _02046F08 - _02046EB8 - 2; case 3 .short _02046F28 - _02046EB8 - 2; case 4 .short _02046F36 - _02046EB8 - 2; case 5 .short _02046F4A - _02046EB8 - 2; case 6 _02046EC6: ldr r0, [r6, #0x34] bl FUN_02058780 ldr r0, [r6, #0xc] bl FUN_02029FC8 mov r1, #0x7 bl FUN_0202A0E8 ldr r1, [r5, #0x4] ldr r2, [r5, #0x8] add r0, r7, #0x0 bl FUN_0204AEF8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046F6C _02046EEA: add r0, r7, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046F6C _02046EF8: ldr r1, [r5, #0x10] add r0, r7, #0x0 bl FUN_02046584 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046F6C _02046F08: ldr r0, [r5, #0x10] add r1, r6, #0x0 bl FUN_020465E4 ldr r1, [r5, #0x10] add r0, r6, #0x0 bl FUN_0204BAA0 ldr r1, [r5, #0x10] add r0, r6, #0x0 bl FUN_020472F4 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046F6C _02046F28: add r0, r7, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046F6C _02046F36: ldr r0, [r6, #0x34] bl FUN_020587B0 add r0, r7, #0x0 bl FUN_0204B00C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046F6C _02046F4A: add r0, r5, #0x0 bl FUN_020465B8 add r0, r6, #0x0 bl FUN_0204BAB0 cmp r0, #0x0 bne _02046F68 add r0, r7, #0x0 mov r1, #0x3 mov r2, #0x0 bl FUN_02038D10 mov r0, #0x0 pop {r3-r7, pc} _02046F68: mov r0, #0x1 pop {r3-r7, pc} _02046F6C: mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02046F70 FUN_02046F70: ; 0x02046F70 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 bl FUN_02046594 add r2, r0, #0x0 ldr r1, _02046F9C ; =FUN_02046E8C add r0, r5, #0x0 bl FUN_020463CC pop {r4-r6, pc} .balign 4 _02046F9C: .word FUN_02046E8C thumb_func_start FUN_02046FA0 FUN_02046FA0: ; 0x02046FA0 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x4] add r6, r1, #0x0 add r7, r2, #0x0 bl FUN_02046528 add r5, r0, #0x0 mov r0, #0xb mov r1, #0x0 bl FUN_020476CC add r4, r0, #0x0 add r1, r5, #0x0 bl FUN_02047BB0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 add r3, r4, #0x0 bl FUN_0223CD7C mov r0, #0x63 mov r1, #0x1 lsl r0, r0, #0x2 str r1, [r4, r0] ldr r0, [r5, #0xc] bl FUN_02029FC8 mov r1, #0x7 bl FUN_0202A0E8 add r0, r4, #0x0 bl FUN_020475A0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_020475B0 add r3, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] ldr r0, [sp, #0x4] add r1, r4, #0x0 add r2, r5, #0x0 bl FUN_020466FC add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02047004 FUN_02047004: ; 0x02047004 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_0204652C add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02046528 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x6 bhi _020470A6 add r1, r0, r0 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02047030: ; jump table (using 16-bit offset) .short _0204703E - _02047030 - 2; case 0 .short _02047056 - _02047030 - 2; case 1 .short _02047064 - _02047030 - 2; case 2 .short _02047074 - _02047030 - 2; case 3 .short _0204707A - _02047030 - 2; case 4 .short _02047088 - _02047030 - 2; case 5 .short _0204709C - _02047030 - 2; case 6 _0204703E: ldr r0, [r7, #0x34] bl FUN_02058780 ldr r1, [r6, #0x4] ldr r2, [r6, #0x8] add r0, r5, #0x0 bl FUN_0204AEF8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020470A6 _02047056: add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020470A6 _02047064: ldr r1, [r6, #0x10] add r0, r5, #0x0 bl FUN_02046584 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020470A6 _02047074: add r0, r0, #0x1 str r0, [r4, #0x0] b _020470A6 _0204707A: add r0, r5, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020470A6 _02047088: ldr r0, [r7, #0x34] bl FUN_020587B0 add r0, r5, #0x0 bl FUN_0204B00C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020470A6 _0204709C: add r0, r6, #0x0 bl FUN_020465B8 mov r0, #0x1 pop {r3-r7, pc} _020470A6: mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020470AC FUN_020470AC: ; 0x020470AC push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02046528 add r1, r0, #0x0 mov r0, #0xb bl FUN_02047814 add r4, r0, #0x0 bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 bl FUN_02046594 add r2, r0, #0x0 ldr r1, _020470E4 ; =FUN_02047004 add r0, r5, #0x0 bl FUN_0204640C pop {r4-r6, pc} nop _020470E4: .word FUN_02047004 thumb_func_start FUN_020470E8 FUN_020470E8: ; 0x020470E8 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x4] add r6, r1, #0x0 add r5, r2, #0x0 str r3, [sp, #0x8] bl FUN_02046528 add r7, r0, #0x0 cmp r5, #0x0 beq _02047110 cmp r6, r5 beq _02047110 ldr r0, [sp, #0x8] cmp r0, #0x0 bne _0204710C mov r4, #0x13 b _0204711A _0204710C: mov r4, #0x4b b _0204711A _02047110: cmp r6, r5 bne _02047118 mov r4, #0x3 b _0204711A _02047118: mov r4, #0x1 _0204711A: add r0, r7, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] bl FUN_0205DD40 mov r0, #0xb add r1, r4, #0x0 bl FUN_020476CC add r4, r0, #0x0 add r1, r7, #0x0 bl FUN_02047BB0 str r6, [r4, #0x1c] ldr r0, [sp, #0x8] str r5, [r4, #0x24] str r0, [r4, #0x20] ldr r1, [r7, #0xc] ldr r2, [sp, #0x20] add r0, r4, #0x0 bl FUN_0206ABC4 ldr r0, [r7, #0xc] bl FUN_02029FC8 mov r1, #0x8 bl FUN_0202A0E8 add r0, r4, #0x0 bl FUN_020475A0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_020475B0 add r3, r0, #0x0 ldr r0, [sp, #0x24] add r1, r4, #0x0 str r0, [sp, #0x0] ldr r0, [sp, #0x4] add r2, r5, #0x0 bl FUN_020466FC add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_02047174 FUN_02047174: ; 0x02047174 push {r3-r7, lr} add r5, r2, #0x0 add r7, r0, #0x0 add r4, r1, #0x0 bl FUN_02046528 add r6, r0, #0x0 mov r0, #0xb add r1, r5, #0x0 bl FUN_020476CC add r5, r0, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 bl FUN_02047F1C add r0, r5, #0x0 bl FUN_020475A0 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_020475B0 add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 bl FUN_02046594 add r2, r0, #0x0 ldr r1, _020471BC ; =FUN_02046758 add r0, r7, #0x0 bl FUN_0204640C pop {r3-r7, pc} nop _020471BC: .word FUN_02046758 thumb_func_start FUN_020471C0 FUN_020471C0: ; 0x020471C0 push {r3-r7, lr} str r0, [sp, #0x0] add r5, r1, #0x0 add r6, r2, #0x0 add r4, r3, #0x0 bl FUN_02046528 add r7, r0, #0x0 cmp r4, #0x0 beq _020471DE mov r0, #0xb mov r1, #0x5 bl FUN_020476CC b _020471E6 _020471DE: mov r0, #0xb mov r1, #0x7 bl FUN_020476CC _020471E6: add r4, r0, #0x0 add r0, r4, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 bl FUN_02047BC0 add r0, r4, #0x0 bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 bl FUN_02046594 add r2, r0, #0x0 ldr r0, [sp, #0x0] ldr r1, _0204721C ; =FUN_020467FC str r5, [r2, #0xc] bl FUN_0204640C pop {r3-r7, pc} nop _0204721C: .word FUN_020467FC thumb_func_start FUN_02047220 FUN_02047220: ; 0x02047220 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02047246 cmp r0, #0x1 beq _02047258 b _02047262 _02047246: ldr r1, _02047268 ; =FUN_02046758 add r0, r5, #0x0 add r2, r7, #0x0 bl FUN_0204640C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02047262 _02047258: add r0, r6, #0x0 bl FUN_0204FF5C mov r0, #0x1 pop {r3-r7, pc} _02047262: mov r0, #0x0 pop {r3-r7, pc} nop _02047268: .word FUN_02046758 thumb_func_start FUN_0204726C FUN_0204726C: ; 0x0204726C push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0xb add r1, r2, #0x0 bl FUN_020476CC add r4, r0, #0x0 add r1, r5, #0x0 add r2, r6, #0x0 bl FUN_02047F1C add r0, r4, #0x0 bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 bl FUN_02046594 add r2, r0, #0x0 ldr r1, _020472AC ; =FUN_02047220 add r0, r5, #0x0 bl FUN_020463CC pop {r4-r6, pc} nop _020472AC: .word FUN_02047220 thumb_func_start FUN_020472B0 FUN_020472B0: ; 0x020472B0 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0xb add r1, r2, #0x0 bl FUN_020476CC add r4, r0, #0x0 add r1, r5, #0x0 add r2, r6, #0x0 mov r3, #0x0 bl FUN_02047D48 add r0, r4, #0x0 bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 bl FUN_02046594 add r2, r0, #0x0 ldr r1, _020472F0 ; =FUN_02047220 add r0, r5, #0x0 bl FUN_020463CC pop {r4-r6, pc} .balign 4 _020472F0: .word FUN_02047220 thumb_func_start FUN_020472F4 FUN_020472F4: ; 0x020472F4 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r1, #0x0] mov r3, #0x4 ldr r2, [r1, #0x14] tst r3, r0 bne _020473C8 mov r3, #0x80 add r5, r0, #0x0 tst r5, r3 bne _020473C8 cmp r0, #0x0 beq _02047318 add r3, #0x80 cmp r0, r3 beq _02047318 cmp r0, #0x4a bne _02047364 _02047318: cmp r2, #0x1 bne _0204732A ldr r0, [r4, #0xc] bl FUN_02029FC8 mov r1, #0x8 bl FUN_0202A170 pop {r3-r5, pc} _0204732A: cmp r2, #0x4 bne _020473C8 ldr r0, [r1, #0x8] mov r1, #0x0 bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC add r1, r0, #0x0 mov r0, #0x0 bl FUN_0206BB48 cmp r0, #0x0 ldr r0, [r4, #0xc] beq _02047358 bl FUN_02029FC8 mov r1, #0x9 bl FUN_0202A170 pop {r3-r5, pc} _02047358: bl FUN_02029FC8 mov r1, #0xa bl FUN_0202A170 pop {r3-r5, pc} _02047364: mov r3, #0x1 tst r3, r0 bne _02047370 mov r3, #0x10 tst r3, r0 beq _02047382 _02047370: cmp r2, #0x1 bne _020473C8 ldr r0, [r4, #0xc] bl FUN_02029FC8 mov r1, #0xb bl FUN_0202A170 pop {r3-r5, pc} _02047382: mov r3, #0x20 add r5, r0, #0x0 tst r5, r3 bne _02047390 lsl r3, r3, #0x4 tst r0, r3 beq _020473C8 _02047390: cmp r2, #0x4 bne _020473C8 ldr r0, [r1, #0x8] mov r1, #0x0 bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC add r1, r0, #0x0 mov r0, #0x0 bl FUN_0206BB48 cmp r0, #0x0 ldr r0, [r4, #0xc] beq _020473BE bl FUN_02029FC8 mov r1, #0x9 bl FUN_0202A170 pop {r3-r5, pc} _020473BE: bl FUN_02029FC8 mov r1, #0xa bl FUN_0202A170 _020473C8: pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020473CC FUN_020473CC: ; 0x020473CC push {r4-r7, lr} sub sp, #0xc add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r2, #0x4 ldr r1, [r4, #0x14] tst r2, r0 bne _020473EC mov r3, #0x80 add r2, r0, #0x0 tst r2, r3 bne _020473EC lsl r2, r3, #0x2 tst r2, r0 beq _020473EE _020473EC: b _020474FC _020473EE: cmp r0, #0x0 beq _02047400 add r3, #0x80 cmp r0, r3 beq _02047400 cmp r0, #0x4a beq _02047400 cmp r0, #0x20 bne _020474D2 _02047400: cmp r1, #0x1 bne _02047470 add r0, r5, #0x0 add r0, #0x76 ldrh r0, [r0, #0x0] add r1, r0, #0x1 add r0, r5, #0x0 add r0, #0x76 strh r1, [r0, #0x0] add r0, r5, #0x0 add r0, #0x76 ldrh r0, [r0, #0x0] cmp r0, #0x5 blo _020474FC ldr r0, [r4, #0x8] mov r1, #0x0 bl FUN_0206B9B0 add r6, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02023918 str r0, [sp, #0x4] add r0, r6, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC add r7, r0, #0x0 add r0, r6, #0x0 mov r1, #0x6f mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 mov r3, #0xb str r3, [sp, #0x0] lsl r3, r3, #0x5 ldr r3, [r4, r3] lsl r1, r7, #0x10 lsl r2, r2, #0x18 lsl r3, r3, #0x18 ldr r0, [sp, #0x4] lsr r1, r1, #0x10 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_0202920C add r5, #0x98 add r1, r0, #0x0 ldr r0, [r5, #0x0] mov r2, #0x2 bl FUN_02028AD4 add sp, #0xc pop {r4-r7, pc} _02047470: cmp r1, #0x4 bne _020474FC mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 lsl r0, r0, #0x2 add r0, r4, r0 ldr r0, [r0, #0x4] bl FUN_0206B9B0 add r6, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02023918 str r0, [sp, #0x8] add r0, r6, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC add r7, r0, #0x0 add r0, r6, #0x0 mov r1, #0x6f mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 mov r3, #0xb str r3, [sp, #0x0] lsl r3, r3, #0x5 ldr r3, [r4, r3] lsl r1, r7, #0x10 lsl r2, r2, #0x18 lsl r3, r3, #0x18 ldr r0, [sp, #0x8] lsr r1, r1, #0x10 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_0202918C add r5, #0x98 add r1, r0, #0x0 ldr r0, [r5, #0x0] mov r2, #0x2 bl FUN_02028AD4 add sp, #0xc pop {r4-r7, pc} _020474D2: mov r2, #0x1 tst r2, r0 bne _020474DE mov r2, #0x10 tst r0, r2 beq _020474FC _020474DE: cmp r1, #0x1 bne _020474FC ldr r1, [r5, #0x1c] add r0, r5, #0x0 ldr r1, [r1, #0x0] ldr r2, [r4, #0x1c] add r0, #0x98 lsl r1, r1, #0x10 lsl r2, r2, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 lsr r2, r2, #0x10 mov r3, #0xb bl FUN_020299DC _020474FC: add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_02047500 FUN_02047500: ; 0x02047500 push {r4, lr} ldr r4, [r0, #0x0] mov r1, #0x1 tst r1, r4 beq _02047546 add r0, #0x5d ldrb r0, [r0, #0x0] bl FUN_020475C0 mov r1, #0x80 tst r1, r4 beq _0204752A cmp r0, #0x1c beq _02047558 mov r0, #0x2 tst r0, r4 beq _02047526 mov r0, #0x1a pop {r4, pc} _02047526: mov r0, #0x18 pop {r4, pc} _0204752A: add r1, r0, #0x0 sub r1, #0x15 cmp r1, #0x2 bls _02047558 mov r1, #0x2 tst r1, r4 beq _0204753C mov r0, #0x1a pop {r4, pc} _0204753C: mov r1, #0x4 tst r1, r4 beq _02047558 mov r0, #0x19 pop {r4, pc} _02047546: ldr r0, [r0, #0x8] bl FUN_02047668 cmp r0, #0x1e blo _02047558 mov r1, #0x2 tst r1, r4 beq _02047558 mov r0, #0x1b _02047558: pop {r4, pc} .balign 4 thumb_func_start FUN_0204755C FUN_0204755C: ; 0x0204755C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x1f blo _0204756A bl ErrorHandling _0204756A: ldr r0, _02047580 ; =0x020F457C lsl r1, r5, #0x2 ldrh r0, [r0, r1] ldr r1, _02047584 ; =0x0000FFFF cmp r0, r1 bne _0204757C add r0, r4, #0x0 bl FUN_021E495C _0204757C: pop {r3-r5, pc} nop _02047580: .word 0x020F457C _02047584: .word 0x0000FFFF thumb_func_start FUN_02047588 FUN_02047588: ; 0x02047588 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x1f blo _02047594 bl ErrorHandling _02047594: ldr r0, _0204759C ; =0x020F457E lsl r1, r4, #0x2 ldrh r0, [r0, r1] pop {r4, pc} .balign 4 _0204759C: .word 0x020F457E thumb_func_start FUN_020475A0 FUN_020475A0: ; 0x020475A0 push {r4, lr} add r4, r0, #0x0 bl FUN_02047500 add r1, r4, #0x0 bl FUN_0204755C pop {r4, pc} thumb_func_start FUN_020475B0 FUN_020475B0: ; 0x020475B0 push {r4, lr} add r4, r0, #0x0 bl FUN_02047500 add r1, r4, #0x0 bl FUN_02047588 pop {r4, pc} thumb_func_start FUN_020475C0 FUN_020475C0: ; 0x020475C0 sub r0, #0x3e mov r1, #0x1d cmp r0, #0x23 bhi _02047662 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020475D4: ; jump table (using 16-bit offset) .short _0204761C - _020475D4 - 2; case 0 .short _02047650 - _020475D4 - 2; case 1 .short _02047634 - _020475D4 - 2; case 2 .short _0204763C - _020475D4 - 2; case 3 .short _02047640 - _020475D4 - 2; case 4 .short _02047644 - _020475D4 - 2; case 5 .short _02047648 - _020475D4 - 2; case 6 .short _0204764C - _020475D4 - 2; case 7 .short _02047662 - _020475D4 - 2; case 8 .short _02047662 - _020475D4 - 2; case 9 .short _02047658 - _020475D4 - 2; case 10 .short _0204765C - _020475D4 - 2; case 11 .short _02047620 - _020475D4 - 2; case 12 .short _02047624 - _020475D4 - 2; case 13 .short _02047628 - _020475D4 - 2; case 14 .short _0204762C - _020475D4 - 2; case 15 .short _02047630 - _020475D4 - 2; case 16 .short _02047638 - _020475D4 - 2; case 17 .short _02047662 - _020475D4 - 2; case 18 .short _02047662 - _020475D4 - 2; case 19 .short _02047662 - _020475D4 - 2; case 20 .short _02047662 - _020475D4 - 2; case 21 .short _02047662 - _020475D4 - 2; case 22 .short _02047662 - _020475D4 - 2; case 23 .short _02047654 - _020475D4 - 2; case 24 .short _02047658 - _020475D4 - 2; case 25 .short _02047658 - _020475D4 - 2; case 26 .short _0204765C - _020475D4 - 2; case 27 .short _02047662 - _020475D4 - 2; case 28 .short _02047662 - _020475D4 - 2; case 29 .short _02047662 - _020475D4 - 2; case 30 .short _02047662 - _020475D4 - 2; case 31 .short _02047662 - _020475D4 - 2; case 32 .short _02047662 - _020475D4 - 2; case 33 .short _02047662 - _020475D4 - 2; case 34 .short _02047660 - _020475D4 - 2; case 35 _0204761C: mov r1, #0x0 b _02047662 _02047620: mov r1, #0x1 b _02047662 _02047624: mov r1, #0x2 b _02047662 _02047628: mov r1, #0x3 b _02047662 _0204762C: mov r1, #0x4 b _02047662 _02047630: mov r1, #0x5 b _02047662 _02047634: mov r1, #0x6 b _02047662 _02047638: mov r1, #0x7 b _02047662 _0204763C: mov r1, #0x8 b _02047662 _02047640: mov r1, #0x9 b _02047662 _02047644: mov r1, #0xa b _02047662 _02047648: mov r1, #0xb b _02047662 _0204764C: mov r1, #0xc b _02047662 _02047650: mov r1, #0xd b _02047662 _02047654: mov r1, #0x17 b _02047662 _02047658: mov r1, #0x16 b _02047662 _0204765C: mov r1, #0x15 b _02047662 _02047660: mov r1, #0x1c _02047662: add r0, r1, #0x0 bx lr .balign 4 thumb_func_start FUN_02047668 FUN_02047668: ; 0x02047668 push {r4, lr} mov r4, #0x1e bl FUN_0204A1D8 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC ldr r1, _020476C8 ; =0x000001DF sub r0, r0, r1 cmp r0, #0xe bhi _020476C4 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0204768C: ; jump table (using 16-bit offset) .short _020476B2 - _0204768C - 2; case 0 .short _020476BA - _0204768C - 2; case 1 .short _020476B6 - _0204768C - 2; case 2 .short _020476BA - _0204768C - 2; case 3 .short _020476BE - _0204768C - 2; case 4 .short _020476BE - _0204768C - 2; case 5 .short _020476B2 - _0204768C - 2; case 6 .short _020476B2 - _0204768C - 2; case 7 .short _020476B2 - _0204768C - 2; case 8 .short _020476AE - _0204768C - 2; case 9 .short _020476C4 - _0204768C - 2; case 10 .short _020476C4 - _0204768C - 2; case 11 .short _020476B2 - _0204768C - 2; case 12 .short _020476AA - _0204768C - 2; case 13 .short _020476C2 - _0204768C - 2; case 14 _020476AA: mov r4, #0xe b _020476C4 _020476AE: mov r4, #0x14 b _020476C4 _020476B2: mov r4, #0x13 b _020476C4 _020476B6: mov r4, #0x11 b _020476C4 _020476BA: mov r4, #0x10 b _020476C4 _020476BE: mov r4, #0xf b _020476C4 _020476C2: mov r4, #0x12 _020476C4: add r0, r4, #0x0 pop {r4, pc} .balign 4 _020476C8: .word 0x000001DF thumb_func_start FUN_020476CC FUN_020476CC: ; 0x020476CC push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0x67 lsl r1, r1, #0x2 add r5, r0, #0x0 bl FUN_02016998 mov r2, #0x67 mov r1, #0x0 lsl r2, r2, #0x2 add r7, r0, #0x0 blx MI_CpuFill8 mov r1, #0x63 str r4, [r7, #0x0] mov r0, #0x0 lsl r1, r1, #0x2 str r0, [r7, r1] add r4, r7, #0x0 str r0, [sp, #0x0] str r0, [r7, #0x14] add r6, r7, #0x0 add r4, #0x28 _020476FA: mov r0, #0x0 add r1, r4, #0x0 mov r2, #0x34 str r0, [r6, #0x18] blx MIi_CpuClear32 ldr r0, [sp, #0x0] add r6, r6, #0x4 add r0, r0, #0x1 add r4, #0x34 str r0, [sp, #0x0] cmp r0, #0x4 blt _020476FA mov r0, #0x15 lsl r0, r0, #0x4 mov r6, #0x0 str r6, [r7, r0] mov r2, #0xc add r1, r0, #0x4 str r2, [r7, r1] add r1, r0, #0x0 add r1, #0x8 str r6, [r7, r1] add r1, r0, #0x0 add r1, #0x10 str r6, [r7, r1] add r1, r0, #0x0 add r1, #0x14 str r6, [r7, r1] add r1, r0, #0x0 mov r2, #0x1 add r1, #0x18 str r2, [r7, r1] add r1, r0, #0x0 add r1, #0x1c str r2, [r7, r1] add r0, #0x24 str r6, [r7, r0] add r4, r7, #0x0 _02047748: add r0, r5, #0x0 bl FUN_0206B8AC str r0, [r4, #0x4] add r6, r6, #0x1 add r4, r4, #0x4 cmp r6, #0x4 blt _02047748 mov r6, #0x0 add r4, r7, #0x0 _0204775C: add r0, r5, #0x0 bl FUN_02023928 add r1, r4, #0x0 add r1, #0xf8 add r6, r6, #0x1 add r4, r4, #0x4 str r0, [r1, #0x0] cmp r6, #0x4 blt _0204775C mov r6, #0x0 add r4, r7, #0x0 _02047774: add r0, r5, #0x0 bl FUN_02029EE4 mov r1, #0x46 lsl r1, r1, #0x2 str r0, [r4, r1] add r6, r6, #0x1 add r4, r4, #0x4 cmp r6, #0x4 blt _02047774 add r0, r5, #0x0 bl FUN_0206EB88 mov r1, #0x42 lsl r1, r1, #0x2 str r0, [r7, r1] add r0, r5, #0x0 bl FUN_02023D6C mov r1, #0x11 lsl r1, r1, #0x4 str r0, [r7, r1] add r0, r5, #0x0 bl FUN_02024F30 mov r1, #0x13 lsl r1, r1, #0x4 str r0, [r7, r1] add r0, r5, #0x0 bl FUN_02061008 mov r2, #0x4d lsl r2, r2, #0x2 str r0, [r7, r2] add r0, r2, #0x0 mov r1, #0x0 sub r0, #0x28 str r1, [r7, r0] add r0, r2, #0x0 add r0, #0x5c str r1, [r7, r0] add r0, r2, #0x0 sub r0, #0x8 str r1, [r7, r0] add r0, r2, #0x0 add r0, #0x10 str r1, [r7, r0] add r0, r2, #0x0 add r0, #0x14 str r1, [r7, r0] add r0, r2, #0x0 add r0, #0x60 str r1, [r7, r0] add r0, r2, #0x4 add r0, r7, r0 mov r2, #0xc blx MI_CpuFill8 add r0, r7, #0x0 pop {r3-r7, pc} thumb_func_start FUN_020477EC FUN_020477EC: ; 0x020477EC push {r4, lr} add r4, r1, #0x0 mov r1, #0x20 bl FUN_020476CC mov r1, #0x19 lsl r1, r1, #0x4 str r4, [r0, r1] pop {r4, pc} .balign 4 thumb_func_start FUN_02047800 FUN_02047800: ; 0x02047800 push {r4, lr} add r4, r1, #0x0 mov r1, #0x2 lsl r1, r1, #0x8 bl FUN_020476CC mov r1, #0x19 lsl r1, r1, #0x4 str r4, [r0, r1] pop {r4, pc} thumb_func_start FUN_02047814 FUN_02047814: ; 0x02047814 push {r4-r7, lr} sub sp, #0x1c add r5, r1, #0x0 add r6, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_020238F4 str r0, [sp, #0x10] ldr r0, [r5, #0xc] bl LoadPlayerDataAddress mov r1, #0x1 str r0, [sp, #0x14] add r0, r6, #0x0 lsl r1, r1, #0xa bl FUN_020476CC add r4, r0, #0x0 ldr r2, _0204795C ; =0x000001F1 mov r0, #0x1 mov r1, #0x1a add r3, r6, #0x0 bl FUN_0200A86C str r0, [sp, #0x18] mov r0, #0x8 add r1, r6, #0x0 bl FUN_020219F4 add r7, r0, #0x0 ldr r0, [sp, #0x10] bl FUN_020239CC add r2, r0, #0x0 mov r1, #0x1 eor r1, r2 ldr r0, [sp, #0x18] add r2, r7, #0x0 bl FUN_0200A8E0 add r0, r7, #0x0 bl FUN_02021F2C add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] bl FUN_0202395C add r0, r7, #0x0 bl FUN_02021A20 ldr r0, [sp, #0x18] bl FUN_0200A8B8 ldr r0, [sp, #0x10] bl FUN_020239CC add r2, r0, #0x0 add r0, r4, #0x0 add r0, #0xf8 mov r1, #0x1 ldr r0, [r0, #0x0] eor r1, r2 bl FUN_020239C8 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_0204806C mov r1, #0x13 lsl r1, r1, #0x4 ldr r0, [sp, #0x14] ldr r1, [r4, r1] bl FUN_02024F44 add r0, r5, #0x0 bl FUN_0204B2A4 mov r1, #0x16 lsl r1, r1, #0x4 str r0, [r4, r1] sub r1, #0x58 ldr r0, [r4, r1] mov r1, #0x4 mov r2, #0x14 add r3, r6, #0x0 bl FUN_0206ED38 add r0, r6, #0x0 bl FUN_020669C0 add r6, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_020462AC bl FUN_0205F3C0 mov r2, #0x0 str r2, [sp, #0x0] add r1, r0, #0x0 str r2, [sp, #0x4] mov r0, #0x2 str r0, [sp, #0x8] str r2, [sp, #0xc] add r0, r6, #0x0 mov r2, #0x5 mov r3, #0x20 bl FUN_02066ACC ldr r0, [r4, #0x4] add r1, r6, #0x0 bl FUN_0206B900 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] mov r2, #0x2 str r2, [sp, #0x8] str r0, [sp, #0xc] ldr r1, _02047960 ; =0x0000018F add r0, r6, #0x0 mov r3, #0x20 bl FUN_02066ACC ldr r0, [r4, #0x8] add r1, r6, #0x0 bl FUN_0206B900 add r0, r6, #0x0 bl FUN_02016A18 ldr r0, [r5, #0xc] bl FUN_02022510 mov r1, #0x45 lsl r1, r1, #0x2 str r0, [r4, r1] add r0, r5, #0x0 add r0, #0x94 ldr r0, [r0, #0x0] sub r1, #0x8 str r0, [r4, r1] ldr r0, [r5, #0xc] bl FUN_02029FC8 mov r1, #0x51 lsl r1, r1, #0x2 str r0, [r4, r1] add r0, r5, #0x0 add r0, #0x98 ldr r2, [r0, #0x0] add r0, r1, #0x4 str r2, [r4, r0] ldr r0, [r5, #0x1c] add r1, #0x18 ldr r0, [r0, #0x0] str r0, [r4, r1] add r0, r4, #0x0 bl FUN_020480E4 add r0, r4, #0x0 add sp, #0x1c pop {r4-r7, pc} .balign 4 _0204795C: .word 0x000001F1 _02047960: .word 0x0000018F thumb_func_start FUN_02047964 FUN_02047964: ; 0x02047964 push {r3-r7, lr} add r7, r0, #0x0 mov r4, #0x0 add r5, r7, #0x0 _0204796C: ldr r0, [r5, #0x4] cmp r0, #0x0 bne _02047976 bl ErrorHandling _02047976: ldr r0, [r5, #0x4] bl FUN_02016A18 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 blt _0204796C mov r5, #0x0 add r4, r7, #0x0 _02047988: add r0, r4, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02047996 bl ErrorHandling _02047996: add r0, r4, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] bl FUN_02016A18 add r5, r5, #0x1 add r4, r4, #0x4 cmp r5, #0x4 blt _02047988 mov r6, #0x46 mov r5, #0x0 add r4, r7, #0x0 lsl r6, r6, #0x2 _020479B0: ldr r0, [r4, r6] cmp r0, #0x0 bne _020479BA bl ErrorHandling _020479BA: mov r0, #0x46 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02016A18 add r5, r5, #0x1 add r4, r4, #0x4 cmp r5, #0x4 blt _020479B0 mov r0, #0x42 lsl r0, r0, #0x2 ldr r0, [r7, r0] bl FUN_02016A18 mov r0, #0x11 lsl r0, r0, #0x4 ldr r0, [r7, r0] bl FUN_02016A18 mov r0, #0x13 lsl r0, r0, #0x4 ldr r0, [r7, r0] bl FUN_02016A18 mov r0, #0x4d lsl r0, r0, #0x2 ldr r0, [r7, r0] bl FUN_02061020 add r0, r7, #0x0 bl FUN_02016A18 pop {r3-r7, pc} thumb_func_start FUN_020479FC FUN_020479FC: ; 0x020479FC push {r4-r6, lr} add r4, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 cmp r4, #0x4 blt _02047A0C bl ErrorHandling _02047A0C: lsl r0, r4, #0x2 add r0, r5, r0 ldr r0, [r0, #0x4] add r1, r6, #0x0 bl FUN_0206B900 cmp r0, #0x0 bne _02047A20 bl ErrorHandling _02047A20: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02047A24 FUN_02047A24: ; 0x02047A24 push {r4-r6, lr} add r4, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 cmp r4, #0x4 blt _02047A34 bl ErrorHandling _02047A34: lsl r1, r4, #0x2 add r1, r5, r1 ldr r1, [r1, #0x4] add r0, r6, #0x0 bl FUN_0206BAD0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02047A44 FUN_02047A44: ; 0x02047A44 push {r4-r6, lr} add r4, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 cmp r4, #0x4 blt _02047A54 bl ErrorHandling _02047A54: lsl r1, r4, #0x2 add r1, r5, r1 add r1, #0xf8 ldr r1, [r1, #0x0] add r0, r6, #0x0 bl FUN_0202393C pop {r4-r6, pc} thumb_func_start FUN_02047A64 FUN_02047A64: ; 0x02047A64 lsl r2, r2, #0x2 add r2, r0, r2 mov r0, #0x46 lsl r0, r0, #0x2 ldr r3, _02047A74 ; =FUN_02029F9C ldr r0, [r2, r0] bx r3 nop _02047A74: .word FUN_02029F9C thumb_func_start FUN_02047A78 FUN_02047A78: ; 0x02047A78 push {r4-r7, lr} sub sp, #0x14 add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_020238F4 add r6, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_0206BB1C add r7, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_0206F158 str r0, [sp, #0x0] ldr r0, [r4, #0xc] bl FUN_02024DA0 str r0, [sp, #0x4] ldr r0, [r4, #0xc] bl FUN_02029EF8 str r0, [sp, #0x8] ldr r0, [r4, #0xc] bl LoadPlayerDataAddress str r0, [sp, #0xc] ldr r0, [r4, #0xc] bl FUN_02034E30 str r0, [sp, #0x10] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0204806C add r0, r5, #0x0 add r1, r6, #0x0 mov r2, #0x0 bl FUN_02047A44 add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x0 bl FUN_02047A24 mov r1, #0x42 lsl r1, r1, #0x2 ldr r0, [sp, #0x0] ldr r1, [r5, r1] bl FUN_0206EBB4 mov r1, #0x11 lsl r1, r1, #0x4 ldr r0, [sp, #0x4] ldr r1, [r5, r1] bl FUN_02023D80 mov r1, #0x13 lsl r1, r1, #0x4 ldr r0, [sp, #0xc] ldr r1, [r5, r1] bl FUN_02024F44 ldr r1, [sp, #0x8] add r0, r5, #0x0 mov r2, #0x0 bl FUN_02047A64 ldr r0, [r4, #0xc] bl FUN_02022510 mov r1, #0x45 lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] bl FUN_02034824 mov r1, #0x56 lsl r1, r1, #0x2 str r0, [r5, r1] add r0, r4, #0x0 bl FUN_0204B2A4 mov r1, #0x16 lsl r1, r1, #0x4 str r0, [r5, r1] ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] bl FUN_02034A04 mov r1, #0x59 lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [r4, #0xc] bl FUN_02079C70 mov r1, #0x5a lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [r4, #0xc] bl FUN_020462AC bl FUN_0205F1B4 mov r1, #0x5b lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [sp, #0x10] bl FUN_02034DEC mov r1, #0x5d lsl r1, r1, #0x2 str r0, [r5, r1] add r0, r4, #0x0 add r0, #0x94 ldr r0, [r0, #0x0] sub r1, #0x68 str r0, [r5, r1] ldr r0, [r4, #0xc] bl FUN_0204C1A8 mov r1, #0x4a lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [r4, #0xc] bl FUN_02029AFC mov r1, #0x4b lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [r4, #0xc] bl FUN_02029FC8 mov r1, #0x51 lsl r1, r1, #0x2 str r0, [r5, r1] add r0, r4, #0x0 add r0, #0x98 ldr r2, [r0, #0x0] add r0, r1, #0x4 str r2, [r5, r0] ldr r0, [r4, #0xc] bl FUN_020254C0 mov r1, #0x53 lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [r4, #0x1c] add r1, #0x10 ldr r0, [r0, #0x0] str r0, [r5, r1] add sp, #0x14 pop {r4-r7, pc} .balign 4 thumb_func_start FUN_02047BB0 FUN_02047BB0: ; 0x02047BB0 push {r4, lr} add r4, r0, #0x0 bl FUN_02047A78 add r0, r4, #0x0 bl FUN_020480E4 pop {r4, pc} thumb_func_start FUN_02047BC0 FUN_02047BC0: ; 0x02047BC0 push {r4-r7, lr} sub sp, #0x1c add r6, r0, #0x0 add r0, r1, #0x0 ldr r0, [r0, #0xc] str r1, [sp, #0x0] add r7, r2, #0x0 bl FUN_020238F4 add r4, r0, #0x0 ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_0206BB1C str r0, [sp, #0x14] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_0206F158 str r0, [sp, #0x10] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_02024DA0 str r0, [sp, #0xc] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_02029EF8 str r0, [sp, #0x8] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl LoadPlayerDataAddress str r0, [sp, #0x4] mov r0, #0x15 mov r1, #0x6 lsl r0, r0, #0x4 str r1, [r6, r0] mov r1, #0x9 add r0, r0, #0x4 str r1, [r6, r0] add r0, r6, #0x0 add r1, r4, #0x0 mov r2, #0x0 bl FUN_02047A44 mov r0, #0xb bl FUN_020669C0 add r5, r0, #0x0 ldr r0, [sp, #0x14] bl FUN_0206B9AC add r1, r0, #0x0 ldr r0, [r6, #0x4] bl FUN_0206B8CC ldr r0, [sp, #0x14] mov r4, #0x0 bl FUN_0206B9AC cmp r0, #0x0 ble _02047C98 _02047C40: ldr r0, [sp, #0x14] add r1, r4, #0x0 bl FUN_0206B9B0 add r1, r5, #0x0 bl FUN_02069B88 add r0, r5, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC cmp r7, r0 beq _02047C82 cmp r7, #0x0 beq _02047C82 add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC add r1, r7, #0x0 bl FUN_02068758 str r0, [sp, #0x18] add r0, r5, #0x0 mov r1, #0x8 add r2, sp, #0x18 bl FUN_02067830 add r0, r5, #0x0 bl FUN_02066ED8 _02047C82: add r0, r6, #0x0 add r1, r5, #0x0 mov r2, #0x0 bl FUN_020479FC ldr r0, [sp, #0x14] add r4, r4, #0x1 bl FUN_0206B9AC cmp r4, r0 blt _02047C40 _02047C98: add r0, r5, #0x0 bl FUN_02016A18 mov r1, #0x42 lsl r1, r1, #0x2 ldr r0, [sp, #0x10] ldr r1, [r6, r1] bl FUN_0206EBB4 mov r1, #0x11 lsl r1, r1, #0x4 ldr r0, [sp, #0xc] ldr r1, [r6, r1] bl FUN_02023D80 mov r1, #0x13 lsl r1, r1, #0x4 ldr r0, [sp, #0x4] ldr r1, [r6, r1] bl FUN_02024F44 ldr r1, [sp, #0x8] add r0, r6, #0x0 mov r2, #0x0 bl FUN_02047A64 ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_02022510 mov r1, #0x45 lsl r1, r1, #0x2 str r0, [r6, r1] ldr r0, [sp, #0x0] bl FUN_0204B2A4 mov r1, #0x16 lsl r1, r1, #0x4 str r0, [r6, r1] ldr r0, [sp, #0x0] sub r1, #0x54 add r0, #0x94 ldr r0, [r0, #0x0] str r0, [r6, r1] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_0204C1A8 mov r1, #0x4a lsl r1, r1, #0x2 str r0, [r6, r1] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_02029AFC mov r1, #0x4b lsl r1, r1, #0x2 str r0, [r6, r1] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_02029FC8 mov r1, #0x51 lsl r1, r1, #0x2 str r0, [r6, r1] ldr r0, [sp, #0x0] add r0, #0x98 ldr r2, [r0, #0x0] add r0, r1, #0x4 str r2, [r6, r0] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_020254C0 mov r1, #0x53 lsl r1, r1, #0x2 str r0, [r6, r1] ldr r0, [sp, #0x0] add r1, #0x10 ldr r0, [r0, #0x1c] ldr r0, [r0, #0x0] str r0, [r6, r1] add r0, r6, #0x0 bl FUN_020480E4 add sp, #0x1c pop {r4-r7, pc} .balign 4 thumb_func_start FUN_02047D48 FUN_02047D48: ; 0x02047D48 push {r4-r7, lr} sub sp, #0x24 add r5, r0, #0x0 add r0, r1, #0x0 ldr r0, [r0, #0xc] str r1, [sp, #0x0] str r2, [sp, #0x4] add r7, r3, #0x0 bl FUN_020238F4 str r0, [sp, #0x20] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_0206F158 str r0, [sp, #0x1c] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_02024DA0 str r0, [sp, #0x18] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_02029EF8 str r0, [sp, #0x14] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl LoadPlayerDataAddress str r0, [sp, #0x10] ldr r0, [sp, #0x0] mov r1, #0x6 add r0, #0xac ldr r0, [r0, #0x0] mov r2, #0x0 str r0, [sp, #0xc] mov r0, #0x15 lsl r0, r0, #0x4 str r1, [r5, r0] mov r1, #0x9 add r0, r0, #0x4 str r1, [r5, r0] ldr r1, [sp, #0x20] add r0, r5, #0x0 bl FUN_02047A44 cmp r7, #0x0 bne _02047DB6 ldr r1, [sp, #0x4] add r0, r5, #0x0 mov r2, #0x0 bl FUN_02047A24 b _02047E14 _02047DB6: mov r4, #0x0 add r1, r4, #0x0 _02047DBA: ldrb r0, [r7, r1] cmp r0, #0x0 beq _02047DC2 add r4, r4, #0x1 _02047DC2: add r1, r1, #0x1 cmp r1, #0x6 blt _02047DBA cmp r4, #0x0 bne _02047DD8 ldr r1, [sp, #0x4] add r0, r5, #0x0 mov r2, #0x0 bl FUN_02047A24 b _02047E14 _02047DD8: mov r0, #0xb bl FUN_020669C0 str r0, [sp, #0x8] ldr r0, [r5, #0x4] add r1, r4, #0x0 bl FUN_0206B8CC mov r6, #0x0 cmp r4, #0x0 ble _02047E0E _02047DEE: ldrb r1, [r7, r6] ldr r0, [sp, #0x4] sub r1, r1, #0x1 bl FUN_0206B9B0 ldr r1, [sp, #0x8] bl FUN_02069B88 ldr r1, [sp, #0x8] add r0, r5, #0x0 mov r2, #0x0 bl FUN_020479FC add r6, r6, #0x1 cmp r6, r4 blt _02047DEE _02047E0E: ldr r0, [sp, #0x8] bl FUN_02016A18 _02047E14: ldr r0, [sp, #0xc] cmp r0, #0x0 beq _02047E2C mov r1, #0xc bl FUN_02023B0C cmp r0, #0x0 beq _02047E2C mov r0, #0x65 mov r1, #0x1 lsl r0, r0, #0x2 str r1, [r5, r0] _02047E2C: mov r1, #0x42 lsl r1, r1, #0x2 ldr r0, [sp, #0x1c] ldr r1, [r5, r1] bl FUN_0206EBB4 mov r1, #0x11 lsl r1, r1, #0x4 ldr r0, [sp, #0x18] ldr r1, [r5, r1] bl FUN_02023D80 mov r1, #0x13 lsl r1, r1, #0x4 ldr r0, [sp, #0x10] ldr r1, [r5, r1] bl FUN_02024F44 ldr r1, [sp, #0x14] add r0, r5, #0x0 mov r2, #0x0 bl FUN_02047A64 ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_02022510 mov r1, #0x45 lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [sp, #0x0] bl FUN_0204B2A4 mov r1, #0x16 lsl r1, r1, #0x4 str r0, [r5, r1] ldr r0, [sp, #0x0] sub r1, #0x54 add r0, #0x94 ldr r0, [r0, #0x0] str r0, [r5, r1] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_02029AFC mov r1, #0x4b lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_02029FC8 mov r1, #0x51 lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [sp, #0x0] add r0, #0x98 ldr r2, [r0, #0x0] add r0, r1, #0x4 str r2, [r5, r0] ldr r0, [sp, #0x0] add r1, #0x18 ldr r0, [r0, #0x1c] ldr r0, [r0, #0x0] str r0, [r5, r1] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_020254C0 mov r1, #0x53 lsl r1, r1, #0x2 str r0, [r5, r1] bl FUN_02033534 bl FUN_0202D8B0 cmp r0, #0x0 beq _02047F10 ldr r0, [sp, #0x20] bl FUN_02023A28 add r4, r0, #0x0 ldr r0, [sp, #0x20] bl FUN_020239CC add r1, r4, #0x0 mov r2, #0x1 bl FUN_020536D0 add r1, r5, #0x0 add r1, #0x29 strb r0, [r1, #0x0] add r0, r5, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] bl FUN_0202398C add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x3c bl StringCopy add r3, r5, #0x0 add r3, #0x28 add r5, #0x90 mov r2, #0x6 _02047F00: ldmia r3!, {r0-r1} stmia r5!, {r0-r1} sub r2, r2, #0x1 bne _02047F00 ldr r0, [r3, #0x0] add sp, #0x24 str r0, [r5, #0x0] pop {r4-r7, pc} _02047F10: add r0, r5, #0x0 bl FUN_020480E4 add sp, #0x24 pop {r4-r7, pc} .balign 4 thumb_func_start FUN_02047F1C FUN_02047F1C: ; 0x02047F1C push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0xc] add r6, r2, #0x0 bl FUN_0206BB1C add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r3, r6, #0x0 bl FUN_02047D48 pop {r4-r6, pc} thumb_func_start FUN_02047F38 FUN_02047F38: ; 0x02047F38 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_020238F4 add r6, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_0206BB1C add r7, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_0206F158 str r0, [sp, #0x0] ldr r0, [r5, #0xc] bl FUN_02024DA0 str r0, [sp, #0x4] ldr r0, [r5, #0xc] bl FUN_02034E30 bl FUN_02034E24 add r5, r0, #0x0 add r0, r4, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] add r1, r6, #0x0 bl FUN_0202393C ldr r0, [r4, #0x4] add r1, r7, #0x0 bl FUN_0206BAD0 mov r0, #0x42 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldr r1, [sp, #0x0] bl FUN_0206EBB4 mov r0, #0x11 lsl r0, r0, #0x4 ldr r0, [r4, r0] ldr r1, [sp, #0x4] bl FUN_02023D80 mov r0, #0x19 lsl r0, r0, #0x4 ldr r0, [r4, r0] strh r0, [r5, #0x0] add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_02047FA4 FUN_02047FA4: ; 0x02047FA4 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_020238F4 ldr r0, [r5, #0xc] bl FUN_0206BB1C ldr r0, [r5, #0xc] bl FUN_0206F158 ldr r0, [r5, #0xc] bl FUN_02024DA0 add r1, r0, #0x0 mov r0, #0x11 lsl r0, r0, #0x4 ldr r0, [r4, r0] bl FUN_02023D80 pop {r3-r5, pc} thumb_func_start FUN_02047FD0 FUN_02047FD0: ; 0x02047FD0 push {r3-r5, lr} ldr r2, [r0, #0x1c] add r4, r1, #0x0 ldr r1, [r2, #0x8] ldr r2, [r2, #0xc] bl FUN_0204A6E0 add r5, r0, #0x0 bl FUN_020548F0 cmp r0, #0x0 beq _02047FEC mov r0, #0x8 pop {r3-r5, pc} _02047FEC: add r0, r5, #0x0 bl FUN_0205478C cmp r0, #0x0 bne _02048000 add r0, r5, #0x0 bl FUN_02054798 cmp r0, #0x0 beq _02048004 _02048000: mov r0, #0x2 pop {r3-r5, pc} _02048004: add r0, r5, #0x0 bl FUN_02054830 cmp r0, #0x0 beq _02048012 mov r0, #0x1 pop {r3-r5, pc} _02048012: add r0, r5, #0x0 bl FUN_020549AC cmp r0, #0x0 beq _02048020 mov r0, #0x6 pop {r3-r5, pc} _02048020: add r0, r5, #0x0 bl FUN_02054974 cmp r0, #0x0 bne _02048034 add r0, r5, #0x0 bl FUN_02054990 cmp r0, #0x0 beq _02048038 _02048034: mov r0, #0xa pop {r3-r5, pc} _02048038: add r0, r5, #0x0 bl FUN_02054A3C cmp r0, #0x0 beq _02048046 mov r0, #0x5 pop {r3-r5, pc} _02048046: add r0, r5, #0x0 bl FUN_0205481C cmp r0, #0x0 beq _02048054 mov r0, #0x7 pop {r3-r5, pc} _02048054: cmp r4, #0xc bhs _02048060 ldr r0, _02048068 ; =0x020F45F8 lsl r1, r4, #0x2 ldr r0, [r0, r1] pop {r3-r5, pc} _02048060: bl ErrorHandling mov r0, #0xc pop {r3-r5, pc} .balign 4 _02048068: .word 0x020F45F8 thumb_func_start FUN_0204806C FUN_0204806C: ; 0x0204806C push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_02034E30 bl FUN_02034E20 add r6, r0, #0x0 ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] bl FUN_02034860 mov r1, #0x15 lsl r1, r1, #0x4 str r0, [r5, r1] ldr r0, [r6, #0x4] cmp r0, #0x2 bne _02048096 mov r0, #0x1 str r0, [r5, r1] _02048096: mov r1, #0x15 lsl r1, r1, #0x4 ldr r1, [r5, r1] add r0, r4, #0x0 bl FUN_02047FD0 mov r1, #0x55 lsl r1, r1, #0x2 str r0, [r5, r1] pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020480AC FUN_020480AC: ; 0x020480AC mov r1, #0x55 mov r2, #0x7 lsl r1, r1, #0x2 str r2, [r0, r1] bx lr .balign 4 thumb_func_start FUN_020480B8 FUN_020480B8: ; 0x020480B8 cmp r0, #0x2 beq _020480C0 cmp r0, #0x3 bne _020480C4 _020480C0: mov r0, #0x0 bx lr _020480C4: mov r0, #0x1 bx lr thumb_func_start FUN_020480C8 FUN_020480C8: ; 0x020480C8 cmp r0, #0x1 beq _020480D0 cmp r0, #0x4 bne _020480D4 _020480D0: mov r0, #0x0 bx lr _020480D4: mov r0, #0x1 bx lr thumb_func_start FUN_020480D8 FUN_020480D8: ; 0x020480D8 cmp r0, #0x4 bne _020480E0 mov r0, #0x0 bx lr _020480E0: mov r0, #0x1 bx lr thumb_func_start FUN_020480E4 FUN_020480E4: ; 0x020480E4 push {r4, lr} add r4, r0, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] bl FUN_020239CC add r1, r4, #0x0 add r1, #0x29 strb r0, [r1, #0x0] add r0, r4, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] bl FUN_0202398C add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x3c bl StringCopy add r3, r4, #0x0 add r3, #0x28 add r4, #0x90 mov r2, #0x6 _02048112: ldmia r3!, {r0-r1} stmia r4!, {r0-r1} sub r2, r2, #0x1 bne _02048112 ldr r0, [r3, #0x0] str r0, [r4, #0x0] pop {r4, pc} thumb_func_start FUN_02048120 FUN_02048120: ; 0x02048120 push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 ldr r0, _02048158 ; =0x020F465C bl FUN_0201E66C ldr r0, _0204815C ; =0x020F4630 bl FUN_02016BBC ldr r2, _02048160 ; =0x020F4640 add r0, r4, #0x0 mov r1, #0x3 mov r3, #0x0 bl FUN_02016C18 mov r0, #0x20 str r0, [sp, #0x0] mov r0, #0xb mov r3, #0x1a str r0, [sp, #0x4] mov r0, #0xe mov r1, #0x6 mov r2, #0x0 lsl r3, r3, #0x4 bl FUN_02006930 add sp, #0x8 pop {r4, pc} .balign 4 _02048158: .word 0x020F465C _0204815C: .word 0x020F4630 _02048160: .word 0x020F4640 thumb_func_start FUN_02048164 FUN_02048164: ; 0x02048164 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0xb mov r1, #0x24 bl FUN_02016998 add r4, r0, #0x0 bne _0204817A bl ErrorHandling _0204817A: add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x24 blx Call_FillMemWithValue mov r0, #0x0 str r0, [r4, #0x0] str r5, [r4, #0x4] mov r0, #0xb bl FUN_02016B94 str r0, [r4, #0x8] bl FUN_02048120 mov r2, #0x52 mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 mov r3, #0xb bl FUN_0200A86C str r0, [r4, #0x1c] mov r0, #0xb bl FUN_0200AA80 str r0, [r4, #0x20] add r1, r4, #0x0 ldr r0, [r4, #0x8] ldr r2, _02048208 ; =0x020F4628 add r1, #0xc bl FUN_02019150 add r0, r5, #0x0 bl FUN_020377AC bl FUN_020238F4 add r2, r0, #0x0 ldr r0, [r4, #0x20] mov r1, #0x0 bl FUN_0200ABC0 ldr r0, [r5, #0x1c] ldr r1, [r0, #0x0] ldr r0, _0204820C ; =0x0000019E cmp r1, r0 bne _020481E6 mov r2, #0x0 add r0, r4, #0x0 mov r1, #0x4 add r3, r2, #0x0 bl FUN_020482F4 b _020481F2 _020481E6: mov r2, #0x0 add r0, r4, #0x0 mov r1, #0x3 add r3, r2, #0x0 bl FUN_020482F4 _020481F2: add r0, r4, #0x0 add r0, #0xc bl FUN_020191D0 ldr r1, _02048210 ; =FUN_02048214 add r0, r6, #0x0 add r2, r4, #0x0 bl FUN_0204640C pop {r4-r6, pc} nop _02048208: .word 0x020F4628 _0204820C: .word 0x0000019E _02048210: .word FUN_02048214 thumb_func_start FUN_02048214 FUN_02048214: ; 0x02048214 push {r3-r4, lr} sub sp, #0xc bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x4 bhi _020482EA add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02048230: ; jump table (using 16-bit offset) .short _0204823A - _02048230 - 2; case 0 .short _02048258 - _02048230 - 2; case 1 .short _02048268 - _02048230 - 2; case 2 .short _02048298 - _02048230 - 2; case 3 .short _020482B2 - _02048230 - 2; case 4 _0204823A: mov r0, #0x8 str r0, [sp, #0x0] mov r1, #0x1 str r1, [sp, #0x4] mov r0, #0x20 str r0, [sp, #0x8] mov r0, #0x3 mov r2, #0x2a mov r3, #0x0 bl FUN_0200E1D0 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020482EA _02048258: bl FUN_0200E308 cmp r0, #0x0 beq _020482EA ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020482EA _02048268: ldr r0, _020482F0 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x1 tst r0, r1 bne _02048278 mov r0, #0x2 tst r0, r1 beq _020482EA _02048278: mov r0, #0x8 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r0, #0x20 str r0, [sp, #0x8] mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020482EA _02048298: bl FUN_0200E308 cmp r0, #0x0 beq _020482EA add r0, r4, #0x0 add r0, #0xc mov r1, #0x0 bl FUN_02019620 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020482EA _020482B2: add r0, r4, #0x0 add r0, #0xc mov r1, #0x0 bl FUN_0200D0E0 add r0, r4, #0x0 add r0, #0xc bl FUN_02019178 ldr r0, [r4, #0x20] bl FUN_0200AB18 ldr r0, [r4, #0x1c] bl FUN_0200A8B8 ldr r0, [r4, #0x8] mov r1, #0x3 bl FUN_020178A0 ldr r0, [r4, #0x8] bl FUN_02016A18 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0xc mov r0, #0x1 pop {r3-r4, pc} _020482EA: mov r0, #0x0 add sp, #0xc pop {r3-r4, pc} .balign 4 _020482F0: .word 0x021C48B8 thumb_func_start FUN_020482F4 FUN_020482F4: ; 0x020482F4 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 mov r0, #0x1 str r1, [sp, #0x10] lsl r0, r0, #0xa mov r1, #0xb add r7, r3, #0x0 bl FUN_020219F4 add r6, r0, #0x0 mov r0, #0x1 lsl r0, r0, #0xa mov r1, #0xb bl FUN_020219F4 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0xc mov r1, #0x0 bl FUN_02019620 ldr r0, [r5, #0x1c] ldr r1, [sp, #0x10] add r2, r6, #0x0 bl FUN_0200A8E0 ldr r0, [r5, #0x20] add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_0200B7B8 mov r0, #0x0 add r1, r4, #0x0 add r2, r0, #0x0 bl FUN_02002F08 add r3, r0, #0x0 str r7, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _02048378 ; =0x000F0200 mov r1, #0x0 str r0, [sp, #0x8] add r0, r5, #0x0 str r1, [sp, #0xc] ldrb r5, [r5, #0x13] add r0, #0xc add r2, r4, #0x0 lsl r5, r5, #0x3 sub r3, r5, r3 lsl r3, r3, #0x18 lsr r3, r3, #0x19 sub r3, r3, #0x4 lsl r3, r3, #0x18 lsr r3, r3, #0x18 bl FUN_0201BDE0 add r0, r6, #0x0 bl FUN_02021A20 add r0, r4, #0x0 bl FUN_02021A20 add sp, #0x14 pop {r4-r7, pc} .balign 4 _02048378: .word 0x000F0200 thumb_func_start FUN_0204837C FUN_0204837C: ; 0x0204837C push {r3-r7, lr} sub sp, #0x18 add r5, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x6 bhi _02048488 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020483A2: ; jump table (using 16-bit offset) .short _020483B0 - _020483A2 - 2; case 0 .short _020483E8 - _020483A2 - 2; case 1 .short _020483F8 - _020483A2 - 2; case 2 .short _0204840C - _020483A2 - 2; case 3 .short _02048434 - _020483A2 - 2; case 4 .short _02048442 - _020483A2 - 2; case 5 .short _02048482 - _020483A2 - 2; case 6 _020483B0: ldr r0, [r6, #0xc] bl FUN_02034E30 add r7, r0, #0x0 bl FUN_02034DFC add r1, sp, #0x4 str r0, [sp, #0x0] bl FUN_02034EC4 add r0, r7, #0x0 bl FUN_02034DCC add r1, r0, #0x0 ldr r0, [sp, #0x0] bl FUN_02034E90 add r0, r5, #0x0 add r1, sp, #0x4 bl FUN_02049160 add r0, r6, #0x0 bl FUN_020637F0 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048488 _020483E8: mov r0, #0x0 mov r1, #0x14 bl FUN_020053CC ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048488 _020483F8: bl FUN_02005404 cmp r0, #0x0 bne _02048488 bl FUN_0204AB0C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048488 _0204840C: mov r0, #0xf mvn r0, r0 mov r1, #0x37 mov r2, #0x1 bl FUN_0200A274 mov r0, #0xf mvn r0, r0 mov r1, #0x3f mov r2, #0x2 bl FUN_0200A274 add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_02048164 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048488 _02048434: add r0, r5, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048488 _02048442: mov r0, #0x0 mov r1, #0x3f mov r2, #0x3 bl FUN_0200A274 bl FUN_02034E8C add r7, r0, #0x0 ldr r0, [r6, #0xc] bl FUN_02034E30 bl FUN_02034DFC cmp r7, r0 bne _0204846E mov r2, #0x0 ldr r1, _02048490 ; =0x000007E4 add r0, r5, #0x0 add r3, r2, #0x0 bl FUN_02038CD8 b _0204847A _0204846E: mov r2, #0x0 ldr r1, _02048494 ; =0x000007E5 add r0, r5, #0x0 add r3, r2, #0x0 bl FUN_02038CD8 _0204847A: ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048488 _02048482: add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02048488: mov r0, #0x0 add sp, #0x18 pop {r3-r7, pc} nop _02048490: .word 0x000007E4 _02048494: .word 0x000007E5 thumb_func_start FUN_02048498 FUN_02048498: ; 0x02048498 ldr r3, _020484A0 ; =FUN_0204640C ldr r1, _020484A4 ; =FUN_0204837C mov r2, #0x0 bx r3 .balign 4 _020484A0: .word FUN_0204640C _020484A4: .word FUN_0204837C thumb_func_start FUN_020484A8 FUN_020484A8: ; 0x020484A8 push {r3-r6, lr} sub sp, #0x14 add r5, r0, #0x0 ldr r0, [r5, #0xc] add r6, r1, #0x0 mov r1, #0xb add r2, sp, #0x0 bl FUN_02022534 add r4, r0, #0x0 ldr r0, [sp, #0x0] cmp r0, #0x1 bne _020484C6 cmp r6, #0x0 bne _020484CC _020484C6: add r0, r4, #0x0 bl FUN_0202B03C _020484CC: ldr r0, [r5, #0xc] bl FUN_0206BB1C add r6, r0, #0x0 add r0, sp, #0x4 bl FUN_020126B4 add r0, r4, #0x0 add r1, r6, #0x0 add r2, sp, #0x4 bl FUN_0202B050 ldr r0, [r5, #0xc] add r1, r4, #0x0 bl FUN_02022540 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x14 pop {r3-r6, pc} .balign 4 thumb_func_start FUN_020484F8 FUN_020484F8: ; 0x020484F8 push {r4-r7, lr} sub sp, #0xc add r4, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x9 bhi _02048554 add r1, r0, r0 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02048526: ; jump table (using 16-bit offset) .short _0204853A - _02048526 - 2; case 0 .short _0204854A - _02048526 - 2; case 1 .short _02048586 - _02048526 - 2; case 2 .short _020485AE - _02048526 - 2; case 3 .short _020485C0 - _02048526 - 2; case 4 .short _020485F6 - _02048526 - 2; case 5 .short _02048612 - _02048526 - 2; case 6 .short _02048624 - _02048526 - 2; case 7 .short _02048644 - _02048526 - 2; case 8 .short _02048666 - _02048526 - 2; case 9 _0204853A: add r0, r6, #0x0 add r1, r5, #0x4 bl FUN_02038814 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048688 _0204854A: add r0, r6, #0x0 bl FUN_0204647C cmp r0, #0x0 beq _02048556 _02048554: b _02048688 _02048556: mov r1, #0x4 mov r0, #0x3 lsl r2, r1, #0xf bl FUN_0201681C add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_02048764 mov r0, #0x8 str r0, [sp, #0x0] mov r1, #0x1 str r1, [sp, #0x4] mov r0, #0x20 str r0, [sp, #0x8] mov r0, #0x3 add r2, r1, #0x0 mov r3, #0x0 bl FUN_0200E1D0 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048688 _02048586: bl FUN_0200E308 cmp r0, #0x0 beq _02048688 ldr r0, [r6, #0xc] bl FUN_0202280C cmp r0, #0x0 bne _020485A8 add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_020487E4 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048688 _020485A8: mov r0, #0x7 str r0, [r4, #0x0] b _02048688 _020485AE: add r0, r5, #0x0 bl FUN_02048838 cmp r0, #0x0 beq _02048688 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048688 _020485C0: ldr r0, [r6, #0xc] bl FUN_0206BB1C bl FUN_02085140 bl FUN_02022830 ldr r0, [r6, #0xc] bl FUN_02022720 add r7, r0, #0x0 ldr r1, [r5, #0x0] add r0, r6, #0x0 bl FUN_020484A8 add r0, r5, #0x0 bl FUN_02048848 add r0, r6, #0x0 add r1, r5, #0x0 add r2, r7, #0x0 bl FUN_02048864 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048688 _020485F6: add r0, r5, #0x0 bl FUN_02048838 cmp r0, #0x0 beq _02048688 ldr r0, _02048690 ; =0x0000061B bl FUN_020054C8 mov r0, #0x12 str r0, [r5, #0x38] ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048688 _02048612: ldr r1, [r5, #0x38] cmp r1, #0x0 beq _0204861E sub r0, r1, #0x1 str r0, [r5, #0x38] b _02048688 _0204861E: add r0, r0, #0x1 str r0, [r4, #0x0] b _02048688 _02048624: mov r0, #0x8 str r0, [sp, #0x0] mov r1, #0x0 mov r0, #0x1 str r0, [sp, #0x4] mov r0, #0x20 str r0, [sp, #0x8] mov r0, #0x3 add r2, r1, #0x0 add r3, r1, #0x0 bl FUN_0200E1D0 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048688 _02048644: bl FUN_0200E308 cmp r0, #0x0 beq _02048688 add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_020488D4 add r5, #0x10 add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_02038854 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048688 _02048666: add r0, r6, #0x0 bl FUN_0204647C cmp r0, #0x0 bne _02048688 add r0, r5, #0x0 bl FUN_02016A18 mov r0, #0x4 bl FUN_020168D0 mov r0, #0x0 blx OS_ResetSystem add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} _02048688: mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} nop _02048690: .word 0x0000061B thumb_func_start FUN_02048694 FUN_02048694: ; 0x02048694 push {r4-r7, lr} sub sp, #0xc add r7, r0, #0x0 bl FUN_02046528 add r4, r0, #0x0 mov r0, #0x20 mov r1, #0x3c bl FUN_02016998 add r5, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_020462AC add r6, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_020238F4 str r0, [sp, #0x0] ldr r0, [r4, #0xc] bl FUN_02034E30 bl FUN_02034DD0 str r0, [sp, #0x8] ldr r0, [r4, #0xc] bl FUN_02034E30 bl FUN_02034DCC str r0, [sp, #0x4] add r0, r6, #0x0 bl FUN_0205ED0C str r0, [r5, #0x0] ldr r0, [r4, #0xc] bl FUN_020238F4 str r0, [r5, #0x4] ldr r0, [r4, #0xc] bl FUN_0206BB1C str r0, [r5, #0x8] ldr r0, [r4, #0xc] bl FUN_02023918 str r0, [r5, #0xc] ldr r0, [r4, #0xc] bl FUN_020238F4 bl FUN_020239CC str r0, [r5, #0x10] add r0, r6, #0x0 bl FUN_0205ED0C str r0, [r5, #0x14] ldr r0, [r4, #0xc] bl FUN_02024DA0 str r0, [r5, #0x18] add r0, r6, #0x0 bl FUN_0205ED0C cmp r0, #0x0 bne _0204871E add r0, r4, #0x0 bl FUN_0204B328 _0204871E: ldr r0, [r4, #0xc] bl FUN_0206BB1C bl FUN_0204A25C ldr r0, [sp, #0x8] bl FUN_020377B0 ldr r0, [sp, #0x4] bl FUN_020377C8 add r0, r6, #0x0 bl FUN_0205F154 add r0, r6, #0x0 bl FUN_0205ECFC ldr r0, [sp, #0x0] bl FUN_02023A78 ldr r0, [r4, #0xc] bl FUN_02029FC8 mov r1, #0x2e bl FUN_0202A0E8 ldr r1, _02048760 ; =FUN_020484F8 add r0, r7, #0x0 add r2, r5, #0x0 bl FUN_0204640C add sp, #0xc pop {r4-r7, pc} .balign 4 _02048760: .word FUN_020484F8 thumb_func_start FUN_02048764 FUN_02048764: ; 0x02048764 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 mov r0, #0x0 str r0, [r1, #0x2c] str r0, [r1, #0x30] add r1, #0x1c add r0, r1, #0x0 bl FUN_0201901C ldr r0, _020487D4 ; =0x020F46B0 bl FUN_0201E66C ldr r2, _020487D8 ; =0x04000304 ldrh r1, [r2, #0x0] lsr r0, r2, #0xb orr r0, r1 strh r0, [r2, #0x0] ldr r0, _020487DC ; =0x020F4684 bl FUN_02016BBC mov r0, #0x3 mov r1, #0x0 bl FUN_02017FE4 ldr r0, [r4, #0x8] ldr r2, _020487E0 ; =0x020F4694 mov r1, #0x3 mov r3, #0x0 bl FUN_02016C18 mov r1, #0x20 mov r0, #0x3 mov r2, #0x0 add r3, r1, #0x0 bl FUN_02017F18 mov r2, #0x0 str r2, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x11 str r0, [sp, #0xc] ldr r0, [r4, #0x8] mov r1, #0x3 add r3, r2, #0x0 bl FUN_02018540 ldr r0, [r4, #0x8] mov r1, #0x3 bl FUN_02017CD0 add sp, #0x10 pop {r4, pc} nop _020487D4: .word 0x020F46B0 _020487D8: .word 0x04000304 _020487DC: .word 0x020F4684 _020487E0: .word 0x020F4694 thumb_func_start FUN_020487E4 FUN_020487E4: ; 0x020487E4 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 bl LoadPlayerDataAddress add r6, r0, #0x0 mov r0, #0x1a mov r1, #0xc7 mov r2, #0xf mov r3, #0x20 bl FUN_0200A738 str r0, [r4, #0x2c] add r1, r4, #0x0 ldr r0, [r5, #0x8] add r1, #0x1c mov r2, #0x3 bl FUN_020545B8 add r0, r4, #0x0 add r0, #0x1c add r1, r6, #0x0 bl FUN_02054608 add r0, r4, #0x0 ldr r1, [r4, #0x2c] add r0, #0x1c add r2, r6, #0x0 mov r3, #0x1 bl FUN_02054658 str r0, [r4, #0x34] add r0, r4, #0x0 ldr r1, _02048834 ; =0x000003E2 add r0, #0x1c bl FUN_0200D858 str r0, [r4, #0x30] pop {r4-r6, pc} .balign 4 _02048834: .word 0x000003E2 thumb_func_start FUN_02048838 FUN_02048838: ; 0x02048838 ldr r0, [r0, #0x34] ldr r3, _02048844 ; =FUN_020546C8 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bx r3 nop _02048844: .word FUN_020546C8 thumb_func_start FUN_02048848 FUN_02048848: ; 0x02048848 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x2c] bl FUN_02021A20 ldr r0, [r4, #0x30] bl FUN_0200DBFC add r4, #0x1c add r0, r4, #0x0 bl FUN_0205464C pop {r4, pc} .balign 4 thumb_func_start FUN_02048864 FUN_02048864: ; 0x02048864 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 mov r0, #0x1 mov r1, #0x1a mov r2, #0xc7 mov r3, #0x4 bl FUN_0200A86C add r7, r0, #0x0 cmp r6, #0x2 bne _020488AC mov r0, #0x4 bl FUN_0200AA80 add r6, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_020238F4 add r2, r0, #0x0 add r0, r6, #0x0 mov r1, #0x0 bl FUN_0200ABC0 add r0, r6, #0x0 add r1, r7, #0x0 mov r2, #0x10 mov r3, #0x4 bl FUN_0200A9C4 str r0, [r4, #0x2c] add r0, r6, #0x0 bl FUN_0200AB18 b _020488B4 _020488AC: mov r1, #0x12 bl FUN_0200A914 str r0, [r4, #0x2c] _020488B4: add r0, r7, #0x0 bl FUN_0200A8B8 ldr r0, [r5, #0xc] bl LoadPlayerDataAddress add r2, r0, #0x0 add r0, r4, #0x0 ldr r1, [r4, #0x2c] add r0, #0x1c mov r3, #0x1 bl FUN_02054658 str r0, [r4, #0x34] pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020488D4 FUN_020488D4: ; 0x020488D4 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0x2c] cmp r0, #0x0 beq _020488E4 bl FUN_02021A20 _020488E4: add r0, r4, #0x0 add r0, #0x1c bl FUN_02019048 cmp r0, #0x0 beq _020488F8 add r4, #0x1c add r0, r4, #0x0 bl FUN_02019178 _020488F8: ldr r0, [r5, #0x8] mov r1, #0x3 bl FUN_020178A0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02048904 FUN_02048904: ; 0x02048904 ldr r1, [r0, #0x1c] ldr r2, _02048950 ; =0x0000014B ldr r1, [r1, #0x0] cmp r1, r2 bgt _0204892C sub r2, r2, #0x5 sub r2, r1, r2 bmi _02048936 add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _02048920: ; jump table (using 16-bit offset) .short _02048932 - _02048920 - 2; case 0 .short _02048932 - _02048920 - 2; case 1 .short _02048932 - _02048920 - 2; case 2 .short _02048932 - _02048920 - 2; case 3 .short _02048932 - _02048920 - 2; case 4 .short _02048932 - _02048920 - 2; case 5 _0204892C: ldr r2, _02048954 ; =0x000001ED cmp r1, r2 bne _02048936 _02048932: mov r2, #0x1 b _02048938 _02048936: mov r2, #0x0 _02048938: cmp r2, #0x0 bne _02048946 ldr r1, [r0, #0x6c] cmp r1, #0x4 bne _02048946 mov r1, #0x0 str r1, [r0, #0x6c] _02048946: cmp r2, #0x0 beq _0204894E mov r1, #0x4 str r1, [r0, #0x6c] _0204894E: bx lr .balign 4 _02048950: .word 0x0000014B _02048954: .word 0x000001ED thumb_func_start FUN_02048958 FUN_02048958: ; 0x02048958 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 bl FUN_02034E30 add r6, r0, #0x0 bl FUN_02034DC8 add r2, r0, #0x0 cmp r4, #0x0 beq _0204898C ldr r3, [r5, #0x1c] ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r3, #0x0] str r0, [r2, #0x0] ldr r2, [r5, #0x1c] ldmia r4!, {r0-r1} stmia r2!, {r0-r1} ldmia r4!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r4, #0x0] str r0, [r2, #0x0] _0204898C: ldr r1, [r5, #0x1c] add r0, r5, #0x0 ldr r1, [r1, #0x0] bl FUN_02034A60 ldr r0, [r5, #0x1c] ldr r1, [r0, #0x4] mov r0, #0x0 mvn r0, r0 cmp r1, r0 beq _020489DA add r0, r5, #0x0 bl FUN_02034B00 ldrh r2, [r0, #0x0] ldr r1, [r5, #0x1c] str r2, [r1, #0x8] ldrh r2, [r0, #0x2] ldr r1, [r5, #0x1c] str r2, [r1, #0xc] ldrh r1, [r0, #0x6] mov r0, #0x1 lsl r0, r0, #0x8 cmp r1, r0 bne _020489DA add r0, r6, #0x0 bl FUN_02034DD0 add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_02034DC4 add r2, r0, #0x0 ldmia r2!, {r0-r1} stmia r4!, {r0-r1} ldmia r2!, {r0-r1} stmia r4!, {r0-r1} ldr r0, [r2, #0x0] str r0, [r4, #0x0] _020489DA: pop {r4-r6, pc} thumb_func_start FUN_020489DC FUN_020489DC: ; 0x020489DC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x6c] cmp r0, #0x5 blt _020489EA bl ErrorHandling _020489EA: ldr r0, [r4, #0x70] ldr r0, [r0, #0x0] lsl r0, r0, #0x10 lsr r1, r0, #0x1c ldr r0, _020489F8 ; =0x021C4918 strb r1, [r0, #0x5] pop {r4, pc} .balign 4 _020489F8: .word 0x021C4918 thumb_func_start FUN_020489FC FUN_020489FC: ; 0x020489FC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 ldr r0, [r5, #0x1c] add r4, r1, #0x0 ldr r7, [r0, #0x0] ldr r0, [r5, #0xc] bl FUN_02034E30 str r0, [sp, #0x4] add r0, r5, #0x0 bl FUN_0204AB44 add r0, r5, #0x0 bl FUN_02039564 cmp r4, #0x0 bne _02048A28 add r0, r5, #0x0 bl FUN_020636DC b _02048A2E _02048A28: add r0, r5, #0x0 bl FUN_02063684 _02048A2E: ldr r0, [r5, #0xc] bl FUN_020462AC bl FUN_0205F408 cmp r4, #0x0 bne _02048A42 add r0, r5, #0x0 bl FUN_0204B0F8 _02048A42: cmp r4, #0x0 bne _02048A50 ldr r0, [r5, #0xc] bl FUN_02024ED8 bl FUN_02025484 _02048A50: ldr r0, [r5, #0xc] bl FUN_020462AC str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_02034FE4 lsl r0, r0, #0x10 lsr r6, r0, #0x10 cmp r6, #0xe bne _02048A72 ldr r0, [sp, #0x0] bl FUN_0205F2C4 cmp r0, #0x1 beq _02048A80 _02048A72: cmp r6, #0x10 bne _02048A82 ldr r0, [sp, #0x0] bl FUN_0205F294 cmp r0, #0x1 bne _02048A82 _02048A80: mov r6, #0x0 _02048A82: ldr r0, [sp, #0x4] add r1, r6, #0x0 bl FUN_02034DF4 cmp r4, #0x0 beq _02048AA6 ldr r0, [sp, #0x4] bl FUN_02034E10 add r6, r0, #0x0 add r0, r7, #0x0 bl FUN_0203484C cmp r6, r0 beq _02048AB4 bl ErrorHandling b _02048AB4 _02048AA6: add r0, r7, #0x0 bl FUN_0203484C add r1, r0, #0x0 ldr r0, [sp, #0x4] bl FUN_02034E18 _02048AB4: cmp r4, #0x0 bne _02048ACA add r0, r7, #0x0 bl FUN_02034EF8 lsl r0, r0, #0x10 lsr r1, r0, #0x10 beq _02048ACA ldr r0, [sp, #0x4] bl FUN_02034E04 _02048ACA: add r0, r5, #0x0 mov r1, #0x2 bl FUN_0203989C add r0, r5, #0x0 mov r1, #0x0 add r0, #0x74 strh r1, [r0, #0x0] add r5, #0x76 strh r1, [r5, #0x0] add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02048AE4 FUN_02048AE4: ; 0x02048AE4 push {r4-r5, lr} sub sp, #0xc add r5, r0, #0x0 mov r1, #0x40 mov r2, #0x5 bl FUN_02057380 str r0, [r5, #0x34] ldr r0, [r5, #0xc] bl FUN_020238F4 bl FUN_020239CC add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02034E30 bl FUN_02034E20 ldr r3, [r5, #0x1c] ldr r1, [r0, #0x4] str r1, [sp, #0x0] str r4, [sp, #0x4] str r0, [sp, #0x8] ldr r0, [r5, #0x34] ldr r1, [r3, #0x8] ldr r2, [r3, #0xc] ldr r3, [r3, #0x10] bl FUN_02055068 str r0, [r5, #0x38] add r0, r5, #0x0 bl FUN_02034AC8 ldr r0, [r5, #0x34] bl FUN_02058768 add sp, #0xc pop {r4-r5, pc} .balign 4 thumb_func_start FUN_02048B34 FUN_02048B34: ; 0x02048B34 push {r4, lr} add r4, r0, #0x0 bl FUN_0204CC48 ldr r0, [r4, #0x38] bl FUN_02055160 ldr r0, [r4, #0x34] bl FUN_0205771C ldr r0, [r4, #0x34] bl FUN_020573AC pop {r4, pc} thumb_func_start FUN_02048B50 FUN_02048B50: ; 0x02048B50 push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x40 mov r2, #0x5 bl FUN_02057380 str r0, [r5, #0x34] add r0, r5, #0x0 bl FUN_02034E60 ldr r0, [r5, #0xc] bl FUN_02034E30 bl FUN_02034E20 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_020238F4 bl FUN_020239CC add r2, r0, #0x0 ldr r0, [r5, #0x34] add r1, r4, #0x0 bl FUN_020550A4 str r0, [r5, #0x38] ldr r0, [r5, #0x34] bl FUN_02058768 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02048B90 FUN_02048B90: ; 0x02048B90 push {r4, lr} add r4, r0, #0x0 bl FUN_02048904 ldr r0, [r4, #0x58] cmp r0, #0x0 beq _02048BA2 bl ErrorHandling _02048BA2: ldr r0, [r4, #0x1c] ldr r1, [r4, #0x28] ldr r0, [r0, #0x0] bl FUN_020344AC ldr r0, [r4, #0xc] bl FUN_020462AC mov r1, #0x3 bl FUN_0205F524 cmp r0, #0x0 beq _02048BC2 ldr r0, [r4, #0x28] bl FUN_020346CC _02048BC2: ldr r0, [r4, #0xc] bl FUN_020462AC mov r1, #0x2 bl FUN_0205F524 cmp r0, #0x0 bne _02048BD8 ldr r0, [r4, #0x28] bl FUN_02034678 _02048BD8: ldr r0, [r4, #0x6c] cmp r0, #0x5 blt _02048BE2 bl ErrorHandling _02048BE2: ldr r0, [r4, #0x6c] ldr r1, _02048C28 ; =0x020F46E0 lsl r0, r0, #0x3 add r0, r1, r0 str r0, [r4, #0x70] ldr r0, [r0, #0x0] lsl r0, r0, #0x18 lsr r0, r0, #0x1c str r0, [r4, #0x5c] ldr r0, [r4, #0x70] ldr r0, [r0, #0x0] lsl r0, r0, #0x1c lsr r0, r0, #0x1c str r0, [r4, #0x18] ldr r1, [r4, #0x70] add r0, r4, #0x0 ldr r1, [r1, #0x0] add r0, #0x58 lsl r1, r1, #0x14 lsr r1, r1, #0x1c bl FUN_0204A690 ldr r0, [r4, #0x70] ldr r1, [r0, #0x0] lsl r0, r1, #0xc lsr r0, r0, #0x1c beq _02048C24 lsr r1, r1, #0x18 lsl r1, r1, #0x18 add r0, r4, #0x0 lsr r1, r1, #0x18 bl FUN_0204A368 _02048C24: pop {r4, pc} nop _02048C28: .word 0x020F46E0 thumb_func_start FUN_02048C2C FUN_02048C2C: ; 0x02048C2C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x58] cmp r0, #0x0 bne _02048C3A bl ErrorHandling _02048C3A: mov r0, #0x0 str r0, [r4, #0x58] mov r0, #0x5 str r0, [r4, #0x18] ldr r0, [r4, #0x70] ldr r0, [r0, #0x0] lsl r0, r0, #0xc lsr r0, r0, #0x1c beq _02048C52 add r0, r4, #0x0 bl FUN_0204A390 _02048C52: mov r0, #0x0 str r0, [r4, #0x70] pop {r4, pc} thumb_func_start FUN_02048C58 FUN_02048C58: ; 0x02048C58 push {r4, lr} add r4, r0, #0x0 add r0, #0x98 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02048C7E ldr r0, [r4, #0x1c] mov r1, #0xb ldr r0, [r0, #0x0] lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_02028FA4 add r4, #0x98 add r1, r0, #0x0 ldr r0, [r4, #0x0] mov r2, #0x0 bl FUN_02028AD4 _02048C7E: pop {r4, pc} thumb_func_start FUN_02048C80 FUN_02048C80: ; 0x02048C80 push {r4, lr} add r4, r0, #0x0 add r0, #0x98 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02048CAE ldr r0, [r4, #0xc] bl FUN_02034E30 bl FUN_02034DD0 ldr r0, [r0, #0x0] mov r1, #0xb lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_02028FA4 add r4, #0x98 add r1, r0, #0x0 ldr r0, [r4, #0x0] mov r2, #0x0 bl FUN_02028AD4 _02048CAE: pop {r4, pc} thumb_func_start FUN_02048CB0 FUN_02048CB0: ; 0x02048CB0 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0x38] bl FUN_0205532C add r6, r0, #0x0 ldr r0, [r4, #0x38] bl FUN_02055320 ldr r1, [r4, #0x1c] ldr r1, [r1, #0x0] str r1, [r5, #0x0] mov r1, #0x0 mvn r1, r1 str r1, [r5, #0x4] str r0, [r5, #0x8] str r6, [r5, #0xc] mov r0, #0x1 str r0, [r5, #0x10] pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02048CDC FUN_02048CDC: ; 0x02048CDC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] bl FUN_020349E4 cmp r0, #0x0 beq _02048CFE ldr r1, [r4, #0x1c] ldr r0, [r1, #0x8] cmp r0, #0x7 bne _02048CFE ldr r0, [r1, #0xc] cmp r0, #0x6 bne _02048CFE mov r0, #0x1 pop {r4, pc} _02048CFE: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_02048D04 FUN_02048D04: ; 0x02048D04 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02034E30 bl FUN_02034DD0 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_020462AC ldr r0, [r5, #0x1c] ldr r0, [r0, #0x0] str r0, [r4, #0x0] mov r0, #0x0 mvn r0, r0 str r0, [r4, #0x4] mov r0, #0x8 str r0, [r4, #0x8] mov r0, #0x2 str r0, [r4, #0xc] mov r0, #0x1 str r0, [r4, #0x10] pop {r3-r5, pc} thumb_func_start FUN_02048D34 FUN_02048D34: ; 0x02048D34 push {r4-r6, lr} add r6, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02048D56 cmp r0, #0x1 beq _02048D7A cmp r0, #0x2 beq _02048D88 b _02048D8C _02048D56: ldr r1, [r5, #0x1c] add r0, r5, #0x0 bl FUN_02048958 add r0, r5, #0x0 bl FUN_02048B90 add r0, r5, #0x0 mov r1, #0x0 bl FUN_020489FC add r0, r5, #0x0 bl FUN_02048AE4 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048D8C _02048D7A: add r0, r6, #0x0 bl FUN_0204B0E8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048D8C _02048D88: mov r0, #0x1 pop {r4-r6, pc} _02048D8C: mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_02048D90 FUN_02048D90: ; 0x02048D90 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 str r1, [r4, #0x6c] bl FUN_02039874 ldr r1, _02048DA8 ; =FUN_02048D34 add r0, r4, #0x0 mov r2, #0x0 bl FUN_020463CC pop {r4, pc} .balign 4 _02048DA8: .word FUN_02048D34 thumb_func_start FUN_02048DAC FUN_02048DAC: ; 0x02048DAC push {r3-r7, lr} add r7, r0, #0x0 bl FUN_02046528 add r4, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_020462AC add r6, r0, #0x0 add r0, r7, #0x0 bl FUN_02046530 add r5, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, #0x4 bhi _02048EC2 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02048DD8: ; jump table (using 16-bit offset) .short _02048DE2 - _02048DD8 - 2; case 0 .short _02048E10 - _02048DD8 - 2; case 1 .short _02048EA4 - _02048DD8 - 2; case 2 .short _02048EB0 - _02048DD8 - 2; case 3 .short _02048EB4 - _02048DD8 - 2; case 4 _02048DE2: ldr r0, [r4, #0xc] bl FUN_02025B94 add r0, r6, #0x0 mov r1, #0x2 bl FUN_0205F2D4 add r7, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_020289A4 add r1, r7, #0x0 bl FUN_02028A20 cmp r0, #0x0 beq _02048E10 add r0, r4, #0x0 mov r1, #0x0 bl FUN_02037944 mov r0, #0x4 str r0, [r5, #0x0] b _02048EC2 _02048E10: add r0, r6, #0x0 mov r1, #0x2 bl FUN_0205F2D4 add r7, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_020289A4 add r1, r7, #0x0 bl FUN_020289B0 add r1, r4, #0x0 add r1, #0x98 str r0, [r1, #0x0] add r0, r6, #0x0 bl FUN_0205F174 cmp r0, #0x0 beq _02048E78 ldr r0, [r4, #0xc] bl FUN_02034E30 add r7, r0, #0x0 add r0, r4, #0x0 bl FUN_02048CDC cmp r0, #0x0 beq _02048E4E add r0, r4, #0x0 bl FUN_02048D04 _02048E4E: add r0, r6, #0x0 bl FUN_0205F164 add r0, r7, #0x0 bl FUN_02034DD0 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02048958 add r0, r4, #0x0 bl FUN_02048B90 add r0, r4, #0x0 mov r1, #0x0 bl FUN_020489FC add r0, r4, #0x0 bl FUN_02048AE4 b _02048E92 _02048E78: add r0, r4, #0x0 mov r1, #0x0 bl FUN_02048958 add r0, r4, #0x0 bl FUN_02048B90 add r0, r4, #0x0 bl FUN_0204B0F8 add r0, r4, #0x0 bl FUN_02048B50 _02048E92: add r0, r4, #0x0 bl FUN_02048C58 add r0, r4, #0x0 bl FUN_02063808 mov r0, #0x2 str r0, [r5, #0x0] b _02048EC2 _02048EA4: add r0, r7, #0x0 bl FUN_0204B0E8 mov r0, #0x3 str r0, [r5, #0x0] b _02048EC2 _02048EB0: mov r0, #0x1 pop {r3-r7, pc} _02048EB4: add r0, r4, #0x0 bl FUN_0204647C cmp r0, #0x0 bne _02048EC2 mov r0, #0x1 str r0, [r5, #0x0] _02048EC2: mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02048EC8 FUN_02048EC8: ; 0x02048EC8 ldr r3, _02048ED4 ; =FUN_020463CC mov r2, #0x0 str r2, [r0, #0x6c] ldr r1, _02048ED8 ; =FUN_02048DAC bx r3 nop _02048ED4: .word FUN_020463CC _02048ED8: .word FUN_02048DAC thumb_func_start FUN_02048EDC FUN_02048EDC: ; 0x02048EDC push {r3-r7, lr} add r7, r0, #0x0 bl FUN_02046528 add r4, r0, #0x0 add r0, r7, #0x0 bl FUN_0204652C add r6, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_020462AC str r0, [sp, #0x0] add r0, r7, #0x0 bl FUN_02046530 add r5, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, #0x5 bhi _02048FC4 add r1, r0, r0 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02048F10: ; jump table (using 16-bit offset) .short _02048F1C - _02048F10 - 2; case 0 .short _02048F54 - _02048F10 - 2; case 1 .short _02048F7E - _02048F10 - 2; case 2 .short _02048F9A - _02048F10 - 2; case 3 .short _02048FAE - _02048F10 - 2; case 4 .short _02048FBA - _02048F10 - 2; case 5 _02048F1C: mov r0, #0x0 add r1, r0, #0x0 bl FUN_0200E3A0 mov r0, #0x1 mov r1, #0x0 bl FUN_0200E3A0 ldr r0, [r4, #0xc] bl FUN_02025B94 ldr r0, [sp, #0x0] mov r1, #0x2 bl FUN_0205F2D4 add r6, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_020289A4 add r1, r6, #0x0 bl FUN_020289B0 add r4, #0x98 str r0, [r4, #0x0] ldr r0, [r5, #0x0] add r0, r0, #0x1 str r0, [r5, #0x0] b _02048FC4 _02048F54: add r0, r4, #0x0 add r1, r6, #0x4 bl FUN_02048958 add r0, r4, #0x0 bl FUN_02048B90 add r0, r4, #0x0 mov r1, #0x0 bl FUN_020489FC add r0, r4, #0x0 bl FUN_02048AE4 add r0, r4, #0x0 bl FUN_02048C80 ldr r0, [r5, #0x0] add r0, r0, #0x1 str r0, [r5, #0x0] b _02048FC4 _02048F7E: add r0, r4, #0x0 bl FUN_020520AC str r0, [r4, #0x78] bl FUN_02052EE8 str r0, [r4, #0x7c] add r0, r7, #0x0 bl FUN_0204AF84 ldr r0, [r5, #0x0] add r0, r0, #0x1 str r0, [r5, #0x0] b _02048FC4 _02048F9A: mov r1, #0x0 str r1, [r6, #0x0] add r0, r4, #0x0 add r2, r6, #0x0 bl FUN_021E7750 ldr r0, [r5, #0x0] add r0, r0, #0x1 str r0, [r5, #0x0] b _02048FC4 _02048FAE: ldr r1, [r6, #0x0] cmp r1, #0x0 beq _02048FC4 add r0, r0, #0x1 str r0, [r5, #0x0] b _02048FC4 _02048FBA: add r0, r6, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r3-r7, pc} _02048FC4: mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02048FC8 FUN_02048FC8: ; 0x02048FC8 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] bl FUN_02034998 cmp r0, #0x0 bne _02049000 add r0, r4, #0x0 bl FUN_02048CDC cmp r0, #0x0 beq _02048FF8 ldr r0, [r4, #0xc] bl FUN_020462AC add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02048D04 add r0, r5, #0x0 bl FUN_0205F154 b _02049000 _02048FF8: add r0, r4, #0x0 bl FUN_02048EC8 pop {r3-r5, pc} _02049000: mov r0, #0xb mov r1, #0x18 bl FUN_020169D8 add r2, r0, #0x0 mov r1, #0x0 ldr r0, _02049030 ; =0x000001D2 str r1, [r2, #0x0] str r0, [r2, #0x4] sub r0, r1, #0x1 str r0, [r2, #0x8] mov r0, #0x8 str r0, [r2, #0xc] mov r0, #0xe str r0, [r2, #0x10] str r1, [r2, #0x14] mov r0, #0x2 str r0, [r4, #0x6c] ldr r1, _02049034 ; =FUN_02048EDC add r0, r4, #0x0 bl FUN_020463CC pop {r3-r5, pc} nop _02049030: .word 0x000001D2 _02049034: .word FUN_02048EDC thumb_func_start FUN_02049038 FUN_02049038: ; 0x02049038 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] cmp r1, #0x3 bhi _020490B6 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0204905C: ; jump table (using 16-bit offset) .short _02049064 - _0204905C - 2; case 0 .short _02049080 - _0204905C - 2; case 1 .short _02049090 - _0204905C - 2; case 2 .short _020490AE - _0204905C - 2; case 3 _02049064: ldr r0, _020490BC ; =0x00000603 bl FUN_020054C8 ldr r1, [r4, #0x4] add r0, r6, #0x0 bl FUN_0204AD60 add r0, r5, #0x0 bl FUN_0204B090 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020490B6 _02049080: add r0, r5, #0x0 add r1, r4, #0x4 bl FUN_02049160 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020490B6 _02049090: bl FUN_02005404 cmp r0, #0x0 bne _020490B6 ldr r1, [r4, #0x4] add r0, r6, #0x0 bl FUN_0204AD8C add r0, r5, #0x0 bl FUN_0204B0E8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020490B6 _020490AE: bl FUN_02016A18 mov r0, #0x1 pop {r4-r6, pc} _020490B6: mov r0, #0x0 pop {r4-r6, pc} nop _020490BC: .word 0x00000603 thumb_func_start FUN_020490C0 FUN_020490C0: ; 0x020490C0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0xb mov r1, #0x1c bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] ldmia r4!, {r0-r1} add r3, r2, #0x4 stmia r3!, {r0-r1} ldmia r4!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r4, #0x0] ldr r1, _020490EC ; =FUN_02049038 str r0, [r3, #0x0] add r0, r5, #0x0 bl FUN_0204640C pop {r3-r5, pc} .balign 4 _020490EC: .word FUN_02049038 thumb_func_start FUN_020490F0 FUN_020490F0: ; 0x020490F0 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02049112 cmp r0, #0x1 beq _02049126 cmp r0, #0x2 beq _0204914C b _0204915C _02049112: add r0, r5, #0x0 bl FUN_02048B34 add r0, r5, #0x0 bl FUN_02048C2C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204915C _02049126: add r0, r5, #0x0 add r1, r4, #0x4 bl FUN_02048958 add r0, r5, #0x0 bl FUN_02048B90 add r0, r5, #0x0 mov r1, #0x0 bl FUN_020489FC add r5, #0x90 ldr r0, [r5, #0x0] bl FUN_0205DD40 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204915C _0204914C: add r0, r5, #0x0 bl FUN_02048AE4 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _0204915C: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02049160 FUN_02049160: ; 0x02049160 push {r3-r7, lr} add r6, r0, #0x0 add r5, r1, #0x0 bl FUN_02046528 add r7, r0, #0x0 mov r0, #0xb mov r1, #0x18 bl FUN_020169D8 add r4, r0, #0x0 add r0, r7, #0x0 bl FUN_0203739C cmp r0, #0x0 beq _02049186 bl ErrorHandling pop {r3-r7, pc} _02049186: mov r0, #0x0 str r0, [r4, #0x0] ldmia r5!, {r0-r1} add r2, r4, #0x4 stmia r2!, {r0-r1} ldmia r5!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r5, #0x0] ldr r1, _020491A4 ; =FUN_020490F0 str r0, [r2, #0x0] add r0, r6, #0x0 add r2, r4, #0x0 bl FUN_0204640C pop {r3-r7, pc} .balign 4 _020491A4: .word FUN_020490F0 thumb_func_start FUN_020491A8 FUN_020491A8: ; 0x020491A8 push {lr} sub sp, #0x14 str r1, [sp, #0x0] ldr r1, [sp, #0x18] str r2, [sp, #0x4] str r1, [sp, #0xc] ldr r1, [sp, #0x1c] str r3, [sp, #0x8] str r1, [sp, #0x10] add r1, sp, #0x0 bl FUN_02049160 add sp, #0x14 pop {pc} thumb_func_start FUN_020491C4 FUN_020491C4: ; 0x020491C4 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] cmp r1, #0x3 bhi _0204923C add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _020491E8: ; jump table (using 16-bit offset) .short _020491F0 - _020491E8 - 2; case 0 .short _02049206 - _020491E8 - 2; case 1 .short _02049216 - _020491E8 - 2; case 2 .short _02049234 - _020491E8 - 2; case 3 _020491F0: ldr r1, [r4, #0x4] add r0, r6, #0x0 bl FUN_0204AD60 add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204923C _02049206: add r0, r5, #0x0 add r1, r4, #0x4 bl FUN_02049160 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204923C _02049216: bl FUN_02005404 cmp r0, #0x0 bne _0204923C ldr r1, [r4, #0x4] add r0, r6, #0x0 bl FUN_0204AD8C add r0, r5, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204923C _02049234: bl FUN_02016A18 mov r0, #0x1 pop {r4-r6, pc} _0204923C: mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_02049240 FUN_02049240: ; 0x02049240 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 mov r0, #0xb mov r1, #0x18 add r4, r2, #0x0 add r6, r3, #0x0 bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] str r5, [r2, #0x4] str r4, [r2, #0x8] ldr r0, [sp, #0x18] str r6, [r2, #0xc] str r0, [r2, #0x10] ldr r0, [sp, #0x1c] ldr r1, _02049270 ; =FUN_020491C4 str r0, [r2, #0x14] add r0, r7, #0x0 bl FUN_0204640C pop {r3-r7, pc} .balign 4 _02049270: .word FUN_020491C4 thumb_func_start FUN_02049274 FUN_02049274: ; 0x02049274 push {r4-r5, lr} sub sp, #0x14 add r4, r0, #0x0 ldr r0, [sp, #0x20] str r1, [sp, #0x0] str r0, [sp, #0xc] ldr r0, [sp, #0x24] mov r1, #0x20 str r0, [sp, #0x10] mov r0, #0xb str r2, [sp, #0x4] str r3, [sp, #0x8] bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] add r3, r2, #0x0 add r5, sp, #0x0 str r0, [r2, #0x4] ldmia r5!, {r0-r1} add r3, #0x8 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] ldr r1, _020492B8 ; =FUN_02049304 str r0, [r3, #0x0] add r0, r4, #0x0 bl FUN_020463CC add sp, #0x14 pop {r4-r5, pc} nop _020492B8: .word FUN_02049304 thumb_func_start FUN_020492BC FUN_020492BC: ; 0x020492BC push {r4-r5, lr} sub sp, #0x14 add r4, r0, #0x0 ldr r0, [sp, #0x20] str r1, [sp, #0x0] str r0, [sp, #0xc] ldr r0, [sp, #0x24] mov r1, #0x20 str r0, [sp, #0x10] mov r0, #0xb str r2, [sp, #0x4] str r3, [sp, #0x8] bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] add r3, r2, #0x0 add r5, sp, #0x0 str r0, [r2, #0x4] ldmia r5!, {r0-r1} add r3, #0x8 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] ldr r1, _02049300 ; =FUN_02049304 str r0, [r3, #0x0] add r0, r4, #0x0 bl FUN_020463EC add sp, #0x14 pop {r4-r5, pc} nop _02049300: .word FUN_02049304 thumb_func_start FUN_02049304 FUN_02049304: ; 0x02049304 push {r3-r7, lr} add r7, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r7, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r5, r4, #0x0 ldr r1, [r4, #0x0] add r5, #0x8 cmp r1, #0x3 bhi _02049390 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0204932C: ; jump table (using 16-bit offset) .short _02049334 - _0204932C - 2; case 0 .short _0204934A - _0204932C - 2; case 1 .short _02049364 - _0204932C - 2; case 2 .short _02049388 - _0204932C - 2; case 3 _02049334: ldr r1, [r5, #0x0] add r0, r6, #0x0 bl FUN_0204AD60 add r0, r7, #0x0 bl FUN_02049394 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049390 _0204934A: ldr r0, [r6, #0x38] mov r1, #0x0 bl FUN_020553A8 add r1, r4, #0x0 add r0, r7, #0x0 add r1, #0x8 bl FUN_02049160 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049390 _02049364: bl FUN_02005404 cmp r0, #0x0 bne _02049390 ldr r1, [r5, #0x0] add r0, r6, #0x0 bl FUN_0204AD8C add r0, r6, #0x0 bl FUN_020637A8 add r0, r7, #0x0 bl FUN_020493D0 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049390 _02049388: bl FUN_02016A18 mov r0, #0x1 pop {r3-r7, pc} _02049390: mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02049394 FUN_02049394: ; 0x02049394 ldr r3, _0204939C ; =FUN_0204640C ldr r1, _020493A0 ; =FUN_020493A4 mov r2, #0x0 bx r3 .balign 4 _0204939C: .word FUN_0204640C _020493A0: .word FUN_020493A4 thumb_func_start FUN_020493A4 FUN_020493A4: ; 0x020493A4 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _020493BA cmp r0, #0x1 beq _020493C8 b _020493CC _020493BA: add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020493CC _020493C8: mov r0, #0x1 pop {r3-r5, pc} _020493CC: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_020493D0 FUN_020493D0: ; 0x020493D0 push {r4, lr} add r4, r0, #0x0 bl FUN_0204652C add r2, r0, #0x0 ldr r1, _020493E4 ; =FUN_020493E8 add r0, r4, #0x0 bl FUN_0204640C pop {r4, pc} .balign 4 _020493E4: .word FUN_020493E8 thumb_func_start FUN_020493E8 FUN_020493E8: ; 0x020493E8 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02046530 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02046528 ldr r1, [r4, #0x0] cmp r1, #0x0 beq _02049408 cmp r1, #0x1 beq _02049416 cmp r1, #0x2 beq _02049428 b _0204942C _02049408: add r0, r5, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204942C _02049416: bl FUN_021E331C add r0, r5, #0x0 bl FUN_02049430 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204942C _02049428: mov r0, #0x1 pop {r3-r5, pc} _0204942C: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02049430 FUN_02049430: ; 0x02049430 push {r4-r6, lr} add r6, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0203739C cmp r0, #0x0 bne _02049452 bl ErrorHandling pop {r4-r6, pc} _02049452: ldr r0, [r5, #0x38] bl FUN_020553E8 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_022483BC str r0, [r4, #0x4] ldr r1, _02049470 ; =FUN_02049474 add r0, r6, #0x0 add r2, r4, #0x0 bl FUN_0204640C pop {r4-r6, pc} nop _02049470: .word FUN_02049474 thumb_func_start FUN_02049474 FUN_02049474: ; 0x02049474 push {r4, lr} bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] bl FUN_022483E0 cmp r0, #0x1 bne _02049490 ldr r0, [r4, #0x4] bl FUN_022483EC mov r0, #0x1 pop {r4, pc} _02049490: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_02049494 FUN_02049494: ; 0x02049494 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 mov r0, #0xb mov r1, #0x20 add r4, r2, #0x0 bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] str r4, [r2, #0x4] str r0, [r2, #0x8] add r3, r2, #0x0 ldmia r5!, {r0-r1} add r3, #0xc stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] ldr r1, _020494C8 ; =FUN_020494CC str r0, [r3, #0x0] add r0, r6, #0x0 bl FUN_020463EC pop {r4-r6, pc} .balign 4 _020494C8: .word FUN_020494CC thumb_func_start FUN_020494CC FUN_020494CC: ; 0x020494CC push {r3-r7, lr} add r7, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r7, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r6, r4, #0x0 ldr r1, [r4, #0x0] add r6, #0xc cmp r1, #0x3 bhi _02049570 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _020494F4: ; jump table (using 16-bit offset) .short _020494FC - _020494F4 - 2; case 0 .short _02049512 - _020494F4 - 2; case 1 .short _0204952C - _020494F4 - 2; case 2 .short _02049568 - _020494F4 - 2; case 3 _020494FC: ldr r1, [r6, #0x0] add r0, r5, #0x0 bl FUN_0204AD60 add r0, r7, #0x0 bl FUN_02049574 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049570 _02049512: ldr r0, [r5, #0x38] mov r1, #0x0 bl FUN_020553A8 add r1, r4, #0x0 add r0, r7, #0x0 add r1, #0xc bl FUN_02049160 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049570 _0204952C: bl FUN_02005404 cmp r0, #0x0 bne _02049570 ldr r1, [r6, #0x0] add r0, r5, #0x0 bl FUN_0204AD8C ldr r0, [r4, #0x4] cmp r0, #0x2 bne _0204954A add r0, r5, #0x0 bl FUN_020637C4 b _0204955A _0204954A: cmp r0, #0x1 bhi _02049556 add r0, r5, #0x0 bl FUN_020637E0 b _0204955A _02049556: bl ErrorHandling _0204955A: add r0, r7, #0x0 bl FUN_020495B0 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049570 _02049568: bl FUN_02016A18 mov r0, #0x1 pop {r3-r7, pc} _02049570: mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02049574 FUN_02049574: ; 0x02049574 ldr r3, _0204957C ; =FUN_0204640C ldr r1, _02049580 ; =FUN_02049584 mov r2, #0x0 bx r3 .balign 4 _0204957C: .word FUN_0204640C _02049580: .word FUN_02049584 thumb_func_start FUN_02049584 FUN_02049584: ; 0x02049584 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _0204959A cmp r0, #0x1 beq _020495A8 b _020495AC _0204959A: add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020495AC _020495A8: mov r0, #0x1 pop {r3-r5, pc} _020495AC: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_020495B0 FUN_020495B0: ; 0x020495B0 push {r4, lr} add r4, r0, #0x0 bl FUN_0204652C add r2, r0, #0x0 ldr r1, _020495C4 ; =FUN_020495C8 add r0, r4, #0x0 bl FUN_0204640C pop {r4, pc} .balign 4 _020495C4: .word FUN_020495C8 thumb_func_start FUN_020495C8 FUN_020495C8: ; 0x020495C8 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02046530 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C ldr r0, [r4, #0x0] cmp r0, #0x0 beq _020495F0 cmp r0, #0x1 beq _020495FE cmp r0, #0x2 beq _02049612 b _02049616 _020495F0: add r0, r5, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049616 _020495FE: add r0, r6, #0x0 bl FUN_021E331C add r0, r5, #0x0 bl FUN_0204961C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049616 _02049612: mov r0, #0x1 pop {r4-r6, pc} _02049616: mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0204961C FUN_0204961C: ; 0x0204961C push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02046528 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_0203739C cmp r0, #0x0 bne _0204963E bl ErrorHandling pop {r4-r6, pc} _0204963E: ldr r2, [r6, #0x4] add r0, r4, #0x0 mov r1, #0x4 bl FUN_0224C8C8 add r2, r0, #0x0 ldr r1, _02049654 ; =0x0224C8E9 add r0, r5, #0x0 bl FUN_0204640C pop {r4-r6, pc} .balign 4 _02049654: .word 0x0224C8E9 thumb_func_start FUN_02049658 FUN_02049658: ; 0x02049658 push {r3-r7, lr} add r6, r0, #0x0 bl FUN_02046528 add r7, r0, #0x0 add r0, r6, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r5, r4, #0x0 ldr r1, [r4, #0x0] add r5, #0x8 cmp r1, #0x6 bhi _02049712 add r2, r1, r1 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _02049680: ; jump table (using 16-bit offset) .short _0204968E - _02049680 - 2; case 0 .short _020496A0 - _02049680 - 2; case 1 .short _020496BC - _02049680 - 2; case 2 .short _020496CC - _02049680 - 2; case 3 .short _020496EA - _02049680 - 2; case 4 .short _020496FE - _02049680 - 2; case 5 .short _0204970A - _02049680 - 2; case 6 _0204968E: add r0, r7, #0x0 mov r1, #0x1 add r2, r4, #0x4 bl FUN_021E7750 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049712 _020496A0: ldr r0, [r4, #0x4] cmp r0, #0x0 beq _02049712 ldr r1, [r5, #0x0] add r0, r7, #0x0 bl FUN_0204AD60 add r0, r6, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049712 _020496BC: add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_02049160 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049712 _020496CC: bl FUN_02005404 cmp r0, #0x0 bne _02049712 ldr r1, [r5, #0x0] add r0, r7, #0x0 bl FUN_0204AD8C add r0, r6, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049712 _020496EA: mov r1, #0x0 str r1, [r4, #0x4] add r0, r7, #0x0 add r2, r4, #0x4 bl FUN_021E7750 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049712 _020496FE: ldr r0, [r4, #0x4] cmp r0, #0x0 beq _02049712 add r0, r1, #0x1 str r0, [r4, #0x0] b _02049712 _0204970A: bl FUN_02016A18 mov r0, #0x1 pop {r3-r7, pc} _02049712: mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02049718 FUN_02049718: ; 0x02049718 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0xb mov r1, #0x1c add r6, r2, #0x0 bl FUN_020169D8 mov r1, #0x0 mov r2, #0x1c add r7, r0, #0x0 blx MI_CpuFill8 ldr r0, [r5, #0x38] bl FUN_020552F8 mov r1, #0x0 add r2, r7, #0x0 str r4, [sp, #0x0] str r6, [sp, #0x4] add r3, sp, #0x0 str r1, [sp, #0x8] str r1, [sp, #0xc] str r0, [sp, #0x10] ldmia r3!, {r0-r1} add r2, #0x8 stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r3, #0x0] ldr r1, _02049768 ; =FUN_02049658 str r0, [r2, #0x0] add r0, r5, #0x0 add r2, r7, #0x0 bl FUN_020463CC add sp, #0x14 pop {r4-r7, pc} nop _02049768: .word FUN_02049658 thumb_func_start FUN_0204976C FUN_0204976C: ; 0x0204976C push {r4-r6, lr} add r6, r0, #0x0 ldr r0, [r6, #0xc] bl FUN_02034E30 bl FUN_02034DD0 add r4, r0, #0x0 mov r0, #0xb mov r1, #0x40 bl FUN_020169D8 add r5, r0, #0x0 mov r1, #0x0 str r1, [r5, #0x0] str r1, [r5, #0x4] ldr r0, [r6, #0x6c] cmp r0, #0x1 bne _020497A4 ldr r0, [r4, #0x0] str r0, [r5, #0x8] sub r0, r1, #0x1 str r0, [r5, #0xc] ldr r0, [r4, #0x8] str r0, [r5, #0x10] ldr r0, [r4, #0xc] str r0, [r5, #0x14] b _02049820 _020497A4: add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_02048CB0 mov r0, #0x2 str r0, [r5, #0x8] sub r0, r0, #0x3 str r0, [r5, #0xc] ldr r1, [r4, #0x8] asr r0, r1, #0x4 lsr r0, r0, #0x1b add r0, r1, r0 asr r0, r0, #0x5 ldr r1, [r4, #0xc] sub r6, r0, #0x1 asr r0, r1, #0x4 lsr r0, r0, #0x1b add r0, r1, r0 asr r0, r0, #0x5 sub r4, r0, #0x6 cmp r6, #0x0 bge _020497D4 bl ErrorHandling _020497D4: cmp r4, #0x0 bge _020497DC bl ErrorHandling _020497DC: lsr r2, r6, #0x1f lsl r1, r6, #0x1f sub r1, r1, r2 mov r0, #0x1f ror r1, r0 add r0, r2, r1 bne _020497EE mov r0, #0x8 b _020497F0 _020497EE: mov r0, #0x17 _020497F0: lsr r3, r4, #0x1f lsl r2, r4, #0x1f sub r2, r2, r3 mov r1, #0x1f ror r2, r1 add r1, r3, r2 bne _02049802 mov r1, #0x8 b _02049804 _02049802: mov r1, #0x17 _02049804: lsr r2, r6, #0x1f add r2, r6, r2 asr r2, r2, #0x1 add r6, r2, #0x1 lsr r2, r4, #0x1f add r2, r4, r2 asr r2, r2, #0x1 add r3, r2, #0x3 lsl r2, r6, #0x5 add r0, r0, r2 str r0, [r5, #0x10] lsl r0, r3, #0x5 add r0, r1, r0 str r0, [r5, #0x14] _02049820: add r0, r5, #0x0 pop {r4-r6, pc} thumb_func_start FUN_02049824 FUN_02049824: ; 0x02049824 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_0204976C add r4, r0, #0x0 beq _02049840 add r0, r5, #0x0 bl FUN_02049BE8 add r1, r0, #0x0 add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_020463CC _02049840: pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02049844 FUN_02049844: ; 0x02049844 push {r4-r6, lr} sub sp, #0x8 add r6, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0xc bhi _0204992C add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0204986A: ; jump table (using 16-bit offset) .short _02049884 - _0204986A - 2; case 0 .short _020498DC - _0204986A - 2; case 1 .short _02049918 - _0204986A - 2; case 2 .short _0204995E - _0204986A - 2; case 3 .short _020499A2 - _0204986A - 2; case 4 .short _020499D0 - _0204986A - 2; case 5 .short _020499E2 - _0204986A - 2; case 6 .short _020499F2 - _0204986A - 2; case 7 .short _02049A06 - _0204986A - 2; case 8 .short _02049A14 - _0204986A - 2; case 9 .short _02049A42 - _0204986A - 2; case 10 .short _02049A64 - _0204986A - 2; case 11 .short _02049A96 - _0204986A - 2; case 12 _02049884: mov r0, #0x1 mov r1, #0x1a mov r2, #0xcf mov r3, #0xb bl FUN_0200A86C add r6, r0, #0x0 mov r1, #0x7c bl FUN_0200A914 str r0, [r4, #0x34] add r0, r6, #0x0 bl FUN_0200A8B8 add r1, r4, #0x0 ldr r0, [r5, #0x8] add r1, #0x24 mov r2, #0x3 bl FUN_020545B8 ldr r0, [r5, #0xc] bl LoadPlayerDataAddress add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x24 bl FUN_02054608 ldr r0, [r5, #0xc] bl LoadPlayerDataAddress add r2, r0, #0x0 add r0, r4, #0x0 ldr r1, [r4, #0x34] add r0, #0x24 mov r3, #0x1 bl FUN_02054658 add r1, r4, #0x0 add r1, #0x38 strb r0, [r1, #0x0] mov r0, #0x1 str r0, [r4, #0x0] b _02049AB2 _020498DC: add r0, r4, #0x0 add r0, #0x38 ldrb r0, [r0, #0x0] bl FUN_020546C8 cmp r0, #0x1 bne _0204992C ldr r0, [r4, #0x34] bl FUN_02021A20 mov r0, #0x0 str r0, [sp, #0x0] mov r3, #0xb str r3, [sp, #0x4] ldr r0, [r5, #0x8] ldr r2, _02049AB8 ; =0x000003D9 mov r1, #0x3 bl FUN_0200CB00 mov r3, #0xb str r3, [sp, #0x0] ldr r0, [r5, #0x8] ldr r1, _02049ABC ; =0x020F46D8 ldr r2, _02049AB8 ; =0x000003D9 bl FUN_02002198 str r0, [r4, #0x3c] mov r0, #0x2 str r0, [r4, #0x0] b _02049AB2 _02049918: ldr r0, [r4, #0x3c] mov r1, #0xb bl FUN_020021AC cmp r0, #0x0 beq _0204992E mov r1, #0x1 mvn r1, r1 cmp r0, r1 beq _02049946 _0204992C: b _02049AB2 _0204992E: add r0, r4, #0x0 add r0, #0x24 mov r1, #0x0 bl FUN_0200D0E0 add r0, r4, #0x0 add r0, #0x24 bl FUN_02019178 mov r0, #0x3 str r0, [r4, #0x0] b _02049AB2 _02049946: add r0, r4, #0x0 add r0, #0x24 mov r1, #0x0 bl FUN_0200D0E0 add r0, r4, #0x0 add r0, #0x24 bl FUN_02019178 mov r0, #0x5 str r0, [r4, #0x0] b _02049AB2 _0204995E: ldr r0, [r5, #0xc] bl FUN_0202280C cmp r0, #0x0 beq _02049976 mov r2, #0x0 ldr r1, _02049AC0 ; =0x000007F2 add r0, r6, #0x0 add r3, r2, #0x0 bl FUN_02038CD8 b _0204999C _02049976: ldr r0, [r5, #0xc] bl FUN_02025BE8 add r0, r5, #0x0 mov r1, #0xb mov r2, #0x3 bl FUN_021E8588 str r0, [r4, #0x20] bl FUN_021E84F4 add r3, r4, #0x0 mov r2, #0x0 ldr r1, _02049AC4 ; =0x000007D5 add r0, r6, #0x0 add r3, #0x1c strh r2, [r4, #0x1c] bl FUN_02038CD8 _0204999C: mov r0, #0x4 str r0, [r4, #0x0] b _02049AB2 _020499A2: ldr r0, [r5, #0xc] bl FUN_0202280C cmp r0, #0x0 beq _020499B2 mov r0, #0x5 str r0, [r4, #0x0] b _02049AB2 _020499B2: ldr r0, [r4, #0x20] bl FUN_021E856C ldr r0, [r4, #0x20] bl FUN_021E85E4 ldrh r0, [r4, #0x1c] cmp r0, #0x0 bne _020499CA mov r0, #0x5 str r0, [r4, #0x0] b _02049AB2 _020499CA: mov r0, #0x6 str r0, [r4, #0x0] b _02049AB2 _020499D0: ldr r0, [r5, #0x34] bl FUN_020587B0 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _020499E2: mov r0, #0x0 mov r1, #0x1e bl FUN_020053CC ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049AB2 _020499F2: add r0, r6, #0x0 mov r1, #0x0 bl FUN_02049C0C cmp r0, #0x0 beq _02049AB2 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049AB2 _02049A06: add r0, r6, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049AB2 _02049A14: mov r0, #0x1 str r0, [r5, #0x6c] ldr r0, _02049AC8 ; =0x00000012 mov r1, #0x2 bl FUN_02005FDC add r0, r5, #0x0 bl FUN_0204FC5C ldr r0, [r4, #0x14] mov r2, #0x1 str r0, [sp, #0x0] str r2, [sp, #0x4] ldr r1, [r4, #0x8] ldr r3, [r4, #0x10] add r0, r6, #0x0 sub r2, r2, #0x2 bl FUN_020491A8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049AB2 _02049A42: bl FUN_02005404 cmp r0, #0x0 bne _02049AB2 mov r0, #0x0 bl FUN_0200415C add r0, r5, #0x0 bl FUN_0204AB44 add r0, r6, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049AB2 _02049A64: add r0, r6, #0x0 mov r1, #0x1 bl FUN_02049C0C cmp r0, #0x0 beq _02049AB2 bl FUN_0204FCA0 add r0, r5, #0x0 bl FUN_02244824 mov r1, #0x0 str r0, [r5, #0x68] mov r0, #0x2 add r2, r1, #0x0 str r0, [sp, #0x0] mov r0, #0x1e sub r2, #0x10 mov r3, #0x19 bl FUN_0200A208 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049AB2 _02049A96: mov r0, #0x2 bl FUN_0200A344 cmp r0, #0x0 beq _02049AB2 mov r0, #0x1 bl FUN_02247970 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _02049AB2: mov r0, #0x0 add sp, #0x8 pop {r4-r6, pc} .balign 4 _02049AB8: .word 0x000003D9 _02049ABC: .word 0x020F46D8 _02049AC0: .word 0x000007F2 _02049AC4: .word 0x000007D5 _02049AC8: .word 0x00000012 thumb_func_start FUN_02049ACC FUN_02049ACC: ; 0x02049ACC push {r4-r6, lr} sub sp, #0x8 add r6, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] cmp r1, #0x7 bhi _02049BDC add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02049AF2: ; jump table (using 16-bit offset) .short _02049B02 - _02049AF2 - 2; case 0 .short _02049B2C - _02049AF2 - 2; case 1 .short _02049B54 - _02049AF2 - 2; case 2 .short _02049B68 - _02049AF2 - 2; case 3 .short _02049B76 - _02049AF2 - 2; case 4 .short _02049B9C - _02049AF2 - 2; case 5 .short _02049BBE - _02049AF2 - 2; case 6 .short _02049BD2 - _02049AF2 - 2; case 7 _02049B02: mov r0, #0x0 bl FUN_02247970 bl FUN_0204FCD8 ldr r0, [r5, #0x68] bl FUN_0224484C mov r0, #0x2 str r0, [sp, #0x0] mov r0, #0x1e add r1, r0, #0x0 sub r1, #0x2e mov r2, #0x0 mov r3, #0x1 bl FUN_0200A208 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049BDC _02049B2C: mov r0, #0x2 bl FUN_0200A344 cmp r0, #0x0 beq _02049BDC ldr r0, [r5, #0x68] cmp r0, #0x0 bne _02049BDC bl FUN_02030F40 cmp r0, #0x0 bne _02049BDC mov r0, #0x0 mov r1, #0x1e bl FUN_020053CC ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049BDC _02049B54: add r0, r6, #0x0 mov r1, #0x2 bl FUN_02049C0C cmp r0, #0x0 beq _02049BDC ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049BDC _02049B68: add r0, r6, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049BDC _02049B76: mov r0, #0x0 str r0, [r5, #0x6c] ldr r0, _02049BE4 ; =0x00000012 bl FUN_02005F60 ldr r0, [r4, #0x14] mov r2, #0x1 str r0, [sp, #0x0] str r2, [sp, #0x4] ldr r1, [r4, #0x8] ldr r3, [r4, #0x10] add r0, r6, #0x0 sub r2, r2, #0x2 bl FUN_020491A8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049BDC _02049B9C: bl FUN_02005404 cmp r0, #0x0 bne _02049BDC mov r0, #0x0 bl FUN_0200415C add r0, r5, #0x0 bl FUN_0204AB44 add r0, r6, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049BDC _02049BBE: add r0, r6, #0x0 mov r1, #0x3 bl FUN_02049C0C cmp r0, #0x0 beq _02049BDC ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049BDC _02049BD2: bl FUN_02016A18 add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _02049BDC: mov r0, #0x0 add sp, #0x8 pop {r4-r6, pc} nop _02049BE4: .word 0x00000012 thumb_func_start FUN_02049BE8 FUN_02049BE8: ; 0x02049BE8 push {r3, lr} ldr r0, [r0, #0x6c] cmp r0, #0x0 bne _02049BF4 ldr r0, _02049C04 ; =FUN_02049844 pop {r3, pc} _02049BF4: cmp r0, #0x1 bne _02049BFC ldr r0, _02049C08 ; =FUN_02049ACC pop {r3, pc} _02049BFC: bl ErrorHandling mov r0, #0x0 pop {r3, pc} .balign 4 _02049C04: .word FUN_02049844 _02049C08: .word FUN_02049ACC thumb_func_start FUN_02049C0C FUN_02049C0C: ; 0x02049C0C push {r3-r7, lr} add r4, r0, #0x0 add r6, r1, #0x0 bl FUN_02046528 add r7, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] mov r5, #0x0 cmp r0, #0x0 beq _02049C2E cmp r0, #0x1 beq _02049C44 b _02049C4E _02049C2E: add r2, r4, #0x0 str r5, [r4, #0x18] add r0, r7, #0x0 add r1, r6, #0x0 add r2, #0x18 bl FUN_02053C98 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02049C4E _02049C44: ldr r0, [r4, #0x18] cmp r0, #0x0 beq _02049C4E str r5, [r4, #0x4] mov r5, #0x1 _02049C4E: add r0, r5, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02049C54 FUN_02049C54: ; 0x02049C54 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02049C76 cmp r0, #0x1 beq _02049C84 cmp r0, #0x2 beq _02049C9C b _02049CAC _02049C76: add r0, r5, #0x0 bl FUN_02048B34 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049CAC _02049C84: add r0, r5, #0x0 add r1, r4, #0x4 bl FUN_02048958 add r0, r5, #0x0 mov r1, #0x2 bl FUN_0203989C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049CAC _02049C9C: add r0, r5, #0x0 bl FUN_02048AE4 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _02049CAC: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02049CB0 FUN_02049CB0: ; 0x02049CB0 push {r3-r7, lr} add r6, r0, #0x0 add r5, r1, #0x0 bl FUN_02046528 add r7, r0, #0x0 mov r0, #0xb mov r1, #0x18 bl FUN_020169D8 add r4, r0, #0x0 add r0, r7, #0x0 bl FUN_0203739C cmp r0, #0x0 beq _02049CD6 bl ErrorHandling pop {r3-r7, pc} _02049CD6: mov r0, #0x0 str r0, [r4, #0x0] ldmia r5!, {r0-r1} add r2, r4, #0x4 stmia r2!, {r0-r1} ldmia r5!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r5, #0x0] ldr r1, _02049CF4 ; =FUN_02049C54 str r0, [r2, #0x0] add r0, r6, #0x0 add r2, r4, #0x0 bl FUN_0204640C pop {r3-r7, pc} .balign 4 _02049CF4: .word FUN_02049C54 thumb_func_start FUN_02049CF8 FUN_02049CF8: ; 0x02049CF8 push {r3-r7, lr} add r6, r0, #0x0 bl FUN_02046528 add r7, r0, #0x0 add r0, r6, #0x0 bl FUN_0204652C add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x5 bhi _02049D98 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02049D24: ; jump table (using 16-bit offset) .short _02049D30 - _02049D24 - 2; case 0 .short _02049D4C - _02049D24 - 2; case 1 .short _02049D60 - _02049D24 - 2; case 2 .short _02049D72 - _02049D24 - 2; case 3 .short _02049D80 - _02049D24 - 2; case 4 .short _02049D8E - _02049D24 - 2; case 5 _02049D30: ldr r1, [r5, #0x8] add r0, r7, #0x0 mov r2, #0x0 bl FUN_0204ACA8 add r0, r7, #0x0 mov r1, #0x1 add r2, r5, #0x4 bl FUN_021E7750 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049D98 _02049D4C: ldr r0, [r5, #0x4] cmp r0, #0x0 beq _02049D98 add r0, r6, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049D98 _02049D60: add r5, #0x8 add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_02049160 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049D98 _02049D72: add r0, r6, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049D98 _02049D80: add r0, r6, #0x0 bl FUN_0204B00C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049D98 _02049D8E: add r0, r5, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r3-r7, pc} _02049D98: mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02049D9C FUN_02049D9C: ; 0x02049D9C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02034E30 bl FUN_02034DD0 add r4, r0, #0x0 mov r0, #0xb mov r1, #0x1c bl FUN_020169D8 add r6, r0, #0x0 mov r1, #0x0 mov r2, #0x1c blx MI_CpuFill8 add r2, r6, #0x0 ldmia r4!, {r0-r1} add r2, #0x8 stmia r2!, {r0-r1} ldmia r4!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r4, #0x0] str r0, [r2, #0x0] add r0, r5, #0x0 bl FUN_020520F8 ldr r0, [r5, #0x7c] bl FUN_02052FA4 mov r0, #0x0 str r0, [r5, #0x6c] ldr r1, _02049DF0 ; =FUN_02049CF8 add r0, r5, #0x0 add r2, r6, #0x0 bl FUN_020463CC mov r0, #0x0 str r0, [r5, #0x78] pop {r4-r6, pc} nop _02049DF0: .word FUN_02049CF8 thumb_func_start FUN_02049DF4 FUN_02049DF4: ; 0x02049DF4 push {r3-r7, lr} add r6, r0, #0x0 bl FUN_02046528 add r7, r0, #0x0 add r0, r6, #0x0 bl FUN_0204652C add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x6 bhi _02049E9E add r1, r0, r0 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02049E20: ; jump table (using 16-bit offset) .short _02049E2E - _02049E20 - 2; case 0 .short _02049E46 - _02049E20 - 2; case 1 .short _02049E54 - _02049E20 - 2; case 2 .short _02049E66 - _02049E20 - 2; case 3 .short _02049E74 - _02049E20 - 2; case 4 .short _02049E88 - _02049E20 - 2; case 5 .short _02049E94 - _02049E20 - 2; case 6 _02049E2E: ldr r1, [r5, #0x8] add r0, r7, #0x0 mov r2, #0x0 bl FUN_0204ACA8 add r0, r6, #0x0 bl FUN_0204AFC8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049E9E _02049E46: add r0, r6, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049E9E _02049E54: add r5, #0x8 add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_02049160 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049E9E _02049E66: add r0, r6, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049E9E _02049E74: mov r1, #0x0 str r1, [r5, #0x4] add r0, r7, #0x0 add r2, r5, #0x4 bl FUN_021E7750 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049E9E _02049E88: ldr r1, [r5, #0x4] cmp r1, #0x0 beq _02049E9E add r0, r0, #0x1 str r0, [r4, #0x0] b _02049E9E _02049E94: add r0, r5, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r3-r7, pc} _02049E9E: mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02049EA4 FUN_02049EA4: ; 0x02049EA4 push {r3-r7, lr} add r6, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02034E30 bl FUN_02034DD0 add r7, r0, #0x0 mov r0, #0xb mov r1, #0x1c bl FUN_020169D8 mov r1, #0x0 mov r2, #0x1c add r4, r0, #0x0 blx MI_CpuFill8 add r0, r7, #0x0 add r1, r5, #0x0 bl FUN_02048CB0 ldr r0, _02049F08 ; =0x000001D2 str r0, [r4, #0x8] mov r0, #0x0 mvn r0, r0 str r0, [r4, #0xc] mov r0, #0x8 str r0, [r4, #0x10] mov r0, #0xe str r0, [r4, #0x14] mov r0, #0x0 str r0, [r4, #0x18] add r0, r5, #0x0 bl FUN_020520AC str r0, [r5, #0x78] bl FUN_02052EE8 str r0, [r5, #0x7c] mov r0, #0x2 str r0, [r5, #0x6c] ldr r1, _02049F0C ; =FUN_02049DF4 add r0, r6, #0x0 add r2, r4, #0x0 bl FUN_0204640C pop {r3-r7, pc} .balign 4 _02049F08: .word 0x000001D2 _02049F0C: .word FUN_02049DF4 thumb_func_start FUN_02049F10 FUN_02049F10: ; 0x02049F10 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] cmp r1, #0x3 bhi _02049F8E add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02049F34: ; jump table (using 16-bit offset) .short _02049F3C - _02049F34 - 2; case 0 .short _02049F58 - _02049F34 - 2; case 1 .short _02049F68 - _02049F34 - 2; case 2 .short _02049F86 - _02049F34 - 2; case 3 _02049F3C: ldr r0, _02049F94 ; =0x00000603 bl FUN_020054C8 ldr r1, [r4, #0x4] add r0, r6, #0x0 bl FUN_0204AD60 add r0, r5, #0x0 bl FUN_0204B090 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049F8E _02049F58: add r0, r5, #0x0 add r1, r4, #0x4 bl FUN_02049160 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049F8E _02049F68: bl FUN_02005404 cmp r0, #0x0 bne _02049F8E ldr r1, [r4, #0x4] add r0, r6, #0x0 bl FUN_0204AD8C add r0, r5, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049F8E _02049F86: bl FUN_02016A18 mov r0, #0x1 pop {r4-r6, pc} _02049F8E: mov r0, #0x0 pop {r4-r6, pc} nop _02049F94: .word 0x00000603 thumb_func_start FUN_02049F98 FUN_02049F98: ; 0x02049F98 push {r3-r7, lr} sub sp, #0x18 str r0, [sp, #0x0] add r5, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 bl FUN_02046528 add r4, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_02034E30 bl FUN_02034DD0 add r1, r4, #0x0 bl FUN_02048CB0 mov r0, #0x3 str r0, [r4, #0x6c] mov r0, #0xb mov r1, #0x1c bl FUN_020169D8 add r2, r0, #0x0 ldr r0, [sp, #0x30] str r5, [sp, #0x4] str r0, [sp, #0x10] ldr r0, [sp, #0x34] str r6, [sp, #0x8] str r0, [sp, #0x14] mov r0, #0x0 str r7, [sp, #0xc] add r4, sp, #0x4 str r0, [r2, #0x0] ldmia r4!, {r0-r1} add r3, r2, #0x4 stmia r3!, {r0-r1} ldmia r4!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r4, #0x0] ldr r1, _02049FF8 ; =FUN_02049F10 str r0, [r3, #0x0] ldr r0, [sp, #0x0] bl FUN_0204640C add sp, #0x18 pop {r3-r7, pc} nop _02049FF8: .word FUN_02049F10 thumb_func_start FUN_02049FFC FUN_02049FFC: ; 0x02049FFC push {r4, lr} bl FUN_02046528 add r4, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_02034E30 bl FUN_02034DD0 add r1, r0, #0x0 mov r0, #0x0 str r0, [r4, #0x6c] ldr r0, [r4, #0x10] bl FUN_020490C0 pop {r4, pc} thumb_func_start FUN_0204A01C FUN_0204A01C: ; 0x0204A01C push {r4, lr} mov r1, #0xa2 mov r2, #0x0 add r4, r0, #0x0 bl FUN_020671BC cmp r0, #0x0 bne _0204A030 mov r0, #0x0 pop {r4, pc} _0204A030: add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 bne _0204A042 mov r0, #0x1 pop {r4, pc} _0204A042: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0204A048 FUN_0204A048: ; 0x0204A048 push {r3-r7, lr} sub sp, #0x20 add r6, r1, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 add r7, r2, #0x0 str r3, [sp, #0x10] bl FUN_020238F4 str r0, [sp, #0x14] add r0, r6, #0x0 bl FUN_0206BB1C str r0, [sp, #0x18] add r0, r5, #0x0 bl FUN_020669C0 add r4, r0, #0x0 bl FUN_02066978 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] str r0, [sp, #0xc] ldr r2, [sp, #0x10] add r0, r4, #0x0 add r1, r7, #0x0 mov r3, #0x20 bl FUN_02066ACC ldr r0, [sp, #0x40] ldr r1, [sp, #0x14] str r0, [sp, #0x0] ldr r3, [sp, #0x3c] add r0, r4, #0x0 mov r2, #0x4 str r5, [sp, #0x4] bl FUN_0206A014 add r0, sp, #0x28 ldrh r0, [r0, #0x10] mov r1, #0x6 add r2, sp, #0x1c str r0, [sp, #0x1c] add r0, r4, #0x0 bl FUN_02067830 ldr r0, [sp, #0x18] add r1, r4, #0x0 bl FUN_0206B900 add r5, r0, #0x0 beq _0204A0BC add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_0202C144 _0204A0BC: add r0, r4, #0x0 bl FUN_02016A18 add r0, r5, #0x0 add sp, #0x20 pop {r3-r7, pc} thumb_func_start FUN_0204A0C8 FUN_0204A0C8: ; 0x0204A0C8 push {r4-r7, lr} sub sp, #0xc add r4, r1, #0x0 add r0, r4, #0x0 add r5, r2, #0x0 add r7, r3, #0x0 bl FUN_020238F4 str r0, [sp, #0x8] add r0, r4, #0x0 bl FUN_0206BB1C add r6, r0, #0x0 mov r0, #0x20 bl FUN_020669C0 add r4, r0, #0x0 bl FUN_02066978 ldr r0, [sp, #0x20] ldr r1, [sp, #0x24] bl FUN_02015CF8 mov r1, #0x4 str r1, [sp, #0x0] str r0, [sp, #0x4] ldr r3, [sp, #0x8] add r0, r4, #0x0 add r1, r5, #0x0 add r2, r7, #0x0 bl FUN_021ECF14 add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_0206B900 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02016A18 add r0, r5, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0204A120 FUN_0204A120: ; 0x0204A120 push {r3-r5, lr} add r5, r2, #0x0 add r4, r3, #0x0 bl FUN_0206B9B0 lsl r2, r5, #0x18 add r1, r4, #0x0 lsr r2, r2, #0x18 bl FUN_020697CC pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0204A138 FUN_0204A138: ; 0x0204A138 push {r3-r7, lr} str r0, [sp, #0x0] add r5, r1, #0x0 bl FUN_0206B9AC add r7, r0, #0x0 mov r6, #0x0 cmp r7, #0x0 ble _0204A1A2 _0204A14A: ldr r0, [sp, #0x0] add r1, r6, #0x0 bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r4, r0, #0x0 bl FUN_020671BC cmp r0, #0x0 bne _0204A19C add r0, r4, #0x0 mov r1, #0x36 mov r2, #0x0 bl FUN_020671BC cmp r5, r0 beq _0204A198 add r0, r4, #0x0 mov r1, #0x37 mov r2, #0x0 bl FUN_020671BC cmp r5, r0 beq _0204A198 add r0, r4, #0x0 mov r1, #0x38 mov r2, #0x0 bl FUN_020671BC cmp r5, r0 beq _0204A198 add r0, r4, #0x0 mov r1, #0x39 mov r2, #0x0 bl FUN_020671BC cmp r5, r0 bne _0204A19C _0204A198: add r0, r6, #0x0 pop {r3-r7, pc} _0204A19C: add r6, r6, #0x1 cmp r6, r7 blt _0204A14A _0204A1A2: mov r0, #0xff pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0204A1A8 FUN_0204A1A8: ; 0x0204A1A8 push {r3-r7, lr} add r7, r0, #0x0 bl FUN_0206B9AC mov r5, #0x0 add r6, r0, #0x0 add r4, r5, #0x0 cmp r6, #0x0 ble _0204A1D2 _0204A1BA: add r0, r7, #0x0 add r1, r4, #0x0 bl FUN_0206B9B0 bl FUN_0204A01C cmp r0, #0x0 beq _0204A1CC add r5, r5, #0x1 _0204A1CC: add r4, r4, #0x1 cmp r4, r6 blt _0204A1BA _0204A1D2: add r0, r5, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0204A1D8 FUN_0204A1D8: ; 0x0204A1D8 push {r3-r7, lr} add r6, r0, #0x0 bl FUN_0206B9AC add r5, r0, #0x0 mov r4, #0x0 cmp r5, #0x0 ble _0204A204 _0204A1E8: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_0206B9B0 add r7, r0, #0x0 bl FUN_0204A01C cmp r0, #0x0 beq _0204A1FE add r0, r7, #0x0 pop {r3-r7, pc} _0204A1FE: add r4, r4, #0x1 cmp r4, r5 blt _0204A1E8 _0204A204: bl ErrorHandling mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0204A20C FUN_0204A20C: ; 0x0204A20C push {r3-r7, lr} add r6, r0, #0x0 bl FUN_0206B9AC lsl r0, r0, #0x10 lsr r5, r0, #0x10 ldr r4, _0204A244 ; =0x00000000 beq _0204A240 _0204A21C: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r7, r0, #0x0 bl FUN_020671BC cmp r0, #0x0 bne _0204A236 add r0, r7, #0x0 pop {r3-r7, pc} _0204A236: add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, r5 blo _0204A21C _0204A240: mov r0, #0x0 pop {r3-r7, pc} .balign 4 _0204A244: .word 0x00000000 thumb_func_start FUN_0204A248 FUN_0204A248: ; 0x0204A248 push {r3, lr} bl FUN_0204A1A8 cmp r0, #0x2 blt _0204A256 mov r0, #0x1 pop {r3, pc} _0204A256: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0204A25C FUN_0204A25C: ; 0x0204A25C push {r3-r7, lr} mov r2, #0x1 add r1, sp, #0x0 add r7, r0, #0x0 strb r2, [r1, #0x0] bl FUN_0206B9AC add r6, r0, #0x0 mov r5, #0x0 cmp r6, #0x0 ble _0204A298 _0204A272: add r0, r7, #0x0 add r1, r5, #0x0 bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r4, r0, #0x0 bl FUN_020671BC cmp r0, #0x0 bne _0204A292 add r0, r4, #0x0 mov r1, #0x19 add r2, sp, #0x0 bl FUN_02067830 _0204A292: add r5, r5, #0x1 cmp r5, r6 blt _0204A272 _0204A298: pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0204A29C FUN_0204A29C: ; 0x0204A29C push {r3-r7, lr} sub sp, #0x10 mov r7, #0x0 str r0, [sp, #0x0] str r1, [sp, #0x4] add r6, r7, #0x0 bl FUN_0206B9AC add r4, r7, #0x0 str r0, [sp, #0x8] cmp r0, #0x0 ble _0204A310 _0204A2B4: ldr r0, [sp, #0x0] add r1, r4, #0x0 bl FUN_0206B9B0 add r5, r0, #0x0 bl FUN_0204A01C cmp r0, #0x0 beq _0204A308 add r0, r5, #0x0 mov r1, #0x9f mov r2, #0x0 bl FUN_020671BC mov r1, #0x88 tst r0, r1 beq _0204A308 add r0, r5, #0x0 mov r1, #0xa2 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0xc] cmp r0, #0x1 bls _0204A2EA sub r0, r0, #0x1 str r0, [sp, #0xc] _0204A2EA: add r0, r5, #0x0 mov r1, #0xa2 add r2, sp, #0xc bl FUN_02067830 ldr r0, [sp, #0xc] cmp r0, #0x1 bne _0204A306 ldr r2, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x7 add r6, r6, #0x1 bl FUN_020688E8 _0204A306: add r7, r7, #0x1 _0204A308: ldr r0, [sp, #0x8] add r4, r4, #0x1 cmp r4, r0 blt _0204A2B4 _0204A310: cmp r6, #0x0 beq _0204A31A add sp, #0x10 mov r0, #0x2 pop {r3-r7, pc} _0204A31A: cmp r7, #0x0 beq _0204A324 add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} _0204A324: mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0204A32C FUN_0204A32C: ; 0x0204A32C push {r3-r4, lr} sub sp, #0x4 mov r1, #0x9f mov r2, #0x0 add r4, r0, #0x0 bl FUN_020671BC mov r1, #0x88 tst r0, r1 beq _0204A362 add r0, r4, #0x0 mov r1, #0xa2 mov r2, #0x0 bl FUN_020671BC cmp r0, #0x1 bne _0204A362 mov r0, #0x0 str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x9f add r2, sp, #0x0 bl FUN_02067830 add sp, #0x4 mov r0, #0x1 pop {r3-r4, pc} _0204A362: mov r0, #0x0 add sp, #0x4 pop {r3-r4, pc} thumb_func_start FUN_0204A368 FUN_0204A368: ; 0x0204A368 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x54] add r4, r1, #0x0 cmp r0, #0x0 bne _0204A388 ldr r1, _0204A38C ; =0x000080E2 mov r0, #0xb bl FUN_02016998 str r0, [r5, #0x54] ldr r0, [r5, #0x28] ldr r1, [r5, #0x54] add r2, r4, #0x0 bl FUN_0204A3B0 _0204A388: pop {r3-r5, pc} nop _0204A38C: .word 0x000080E2 thumb_func_start FUN_0204A390 FUN_0204A390: ; 0x0204A390 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x54] cmp r0, #0x0 beq _0204A3A2 bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x54] _0204A3A2: pop {r4, pc} thumb_func_start FUN_0204A3A4 FUN_0204A3A4: ; 0x0204A3A4 ldrb r0, [r1, r0] add r2, r1, #0x0 add r2, #0xe2 lsl r0, r0, #0xb add r0, r2, r0 bx lr thumb_func_start FUN_0204A3B0 FUN_0204A3B0: ; 0x0204A3B0 push {r4-r7, lr} sub sp, #0x3c str r1, [sp, #0x8] str r2, [sp, #0xc] str r0, [sp, #0x4] mov r2, #0x0 add r1, sp, #0x18 strb r2, [r1, #0x0] bl FUN_020344FC add r6, r0, #0x0 ldr r0, [sp, #0x4] bl FUN_0203450C str r0, [sp, #0x10] mov r0, #0x0 str r0, [sp, #0x14] ldr r0, [sp, #0x10] cmp r0, #0x0 ble _0204A410 ldr r7, [sp, #0x14] _0204A3DA: mov r5, #0x0 cmp r6, #0x0 ble _0204A402 _0204A3E0: add r0, r5, r7 lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r1, [sp, #0x4] add r0, r4, #0x0 bl FUN_020344D8 add r1, sp, #0x18 add r1, #0x2 add r2, sp, #0x18 bl FUN_0204A45C ldr r1, [sp, #0x8] add r5, r5, #0x1 strb r0, [r1, r4] cmp r5, r6 blt _0204A3E0 _0204A402: ldr r0, [sp, #0x14] add r7, r7, r6 add r1, r0, #0x1 ldr r0, [sp, #0x10] str r1, [sp, #0x14] cmp r1, r0 blt _0204A3DA _0204A410: mov r0, #0x43 mov r1, #0xb bl FUN_02006670 add r7, r0, #0x0 ldr r0, [sp, #0xc] mov r6, #0x0 cmp r0, #0x0 ble _0204A452 ldr r0, [sp, #0x8] add r4, sp, #0x18 add r0, #0xe2 add r4, #0x2 add r5, r6, #0x0 str r0, [sp, #0x8] _0204A42E: ldr r0, [sp, #0x8] lsl r1, r5, #0x1 add r0, r0, r1 str r0, [sp, #0x0] ldrh r1, [r4, #0x0] mov r2, #0x10 add r0, r7, #0x0 lsl r3, r2, #0x7 bl FUN_02006814 mov r0, #0x1 lsl r0, r0, #0xa add r5, r5, r0 ldr r0, [sp, #0xc] add r6, r6, #0x1 add r4, r4, #0x2 cmp r6, r0 blt _0204A42E _0204A452: add r0, r7, #0x0 bl FUN_020066F4 add sp, #0x3c pop {r4-r7, pc} thumb_func_start FUN_0204A45C FUN_0204A45C: ; 0x0204A45C push {r3-r7, lr} add r7, r2, #0x0 add r5, r0, #0x0 ldrb r0, [r7, #0x0] add r6, r1, #0x0 mov r4, #0x0 cmp r0, #0x0 bls _0204A482 _0204A46C: lsl r1, r4, #0x1 ldrh r1, [r6, r1] cmp r5, r1 bne _0204A478 add r0, r4, #0x0 pop {r3-r7, pc} _0204A478: add r1, r4, #0x1 lsl r1, r1, #0x18 lsr r4, r1, #0x18 cmp r4, r0 blo _0204A46C _0204A482: cmp r4, #0x10 blo _0204A48A bl ErrorHandling _0204A48A: lsl r0, r4, #0x1 strh r5, [r6, r0] ldrb r0, [r7, #0x0] add r0, r0, #0x1 strb r0, [r7, #0x0] add r0, r4, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0204A498 FUN_0204A498: ; 0x0204A498 cmp r0, r1 blt _0204A4A0 sub r0, r0, r1 bx lr _0204A4A0: sub r0, r1, r0 bx lr thumb_func_start FUN_0204A4A4 FUN_0204A4A4: ; 0x0204A4A4 push {r3-r7, lr} sub sp, #0x38 add r4, r2, #0x0 add r6, r3, #0x0 add r5, r0, #0x0 mov r0, #0x0 str r4, [sp, #0x2c] str r6, [sp, #0x34] str r0, [sp, #0x10] str r0, [sp, #0x30] ldr r0, [r5, #0x24] str r1, [sp, #0x4] str r0, [sp, #0x8] ldr r0, [r5, #0x28] bl FUN_020344FC str r0, [sp, #0x24] lsl r0, r0, #0x5 str r0, [sp, #0xc] asr r0, r4, #0xf lsr r0, r0, #0x10 add r0, r4, r0 asr r7, r0, #0x10 asr r0, r6, #0xf lsr r0, r0, #0x10 add r0, r6, r0 asr r0, r0, #0x10 str r0, [sp, #0x1c] add r2, r5, #0x0 add r2, #0x9c ldr r1, [sp, #0x1c] ldr r2, [r2, #0x0] add r0, r7, #0x0 add r3, sp, #0x28 bl FUN_021F4520 str r0, [sp, #0x20] lsr r0, r7, #0x5 str r0, [sp, #0x18] ldr r0, [sp, #0x1c] ldr r1, [sp, #0x1c] lsr r0, r0, #0x5 str r0, [sp, #0x14] ldr r0, [sp, #0x18] lsl r0, r0, #0x5 add r0, #0x10 lsl r0, r0, #0x10 sub r0, r4, r0 str r0, [sp, #0x2c] ldr r0, [sp, #0x14] lsl r0, r0, #0x5 add r0, #0x10 lsl r0, r0, #0x10 sub r0, r6, r0 str r0, [sp, #0x34] ldr r0, [sp, #0xc] mul r0, r1 ldr r1, [sp, #0xc] add r0, r7, r0 bl FUN_021EF620 ldr r2, [sp, #0x14] add r1, r0, #0x0 add r3, r2, #0x0 ldr r0, [sp, #0x24] ldr r2, [sp, #0x8] mul r3, r0 ldr r0, [sp, #0x18] add r0, r0, r3 bl FUN_021EF654 add r1, r0, #0x0 cmp r1, #0x3 bls _0204A53C mov r4, #0x0 b _0204A558 _0204A53C: lsl r1, r1, #0x18 ldr r0, [sp, #0x8] lsr r1, r1, #0x18 bl FUN_021EF8C8 add r3, r0, #0x0 add r0, sp, #0x30 str r0, [sp, #0x0] ldr r0, [sp, #0x4] ldr r1, [sp, #0x2c] ldr r2, [sp, #0x34] bl FUN_021F3DA4 add r4, r0, #0x0 _0204A558: ldr r0, [sp, #0x20] cmp r0, #0x0 beq _0204A5A4 add r0, sp, #0x28 add r5, #0x9c ldrb r0, [r0, #0x0] ldr r1, [r5, #0x0] bl FUN_021F4568 add r5, r0, #0x0 cmp r4, #0x0 beq _0204A59E ldr r0, [sp, #0x30] str r0, [sp, #0x10] cmp r5, r0 bgt _0204A57C mov r1, #0x1 b _0204A5B2 _0204A57C: ldr r1, [sp, #0x4] bl FUN_0204A498 add r4, r0, #0x0 ldr r1, [sp, #0x4] add r0, r5, #0x0 bl FUN_0204A498 cmp r4, r0 bgt _0204A598 ldr r0, [sp, #0x30] mov r1, #0x1 str r0, [sp, #0x10] b _0204A5B2 _0204A598: str r5, [sp, #0x10] mov r1, #0x2 b _0204A5B2 _0204A59E: mov r1, #0x2 str r5, [sp, #0x10] b _0204A5B2 _0204A5A4: cmp r4, #0x0 beq _0204A5B0 ldr r0, [sp, #0x30] mov r1, #0x1 str r0, [sp, #0x10] b _0204A5B2 _0204A5B0: mov r1, #0x0 _0204A5B2: ldr r0, [sp, #0x50] cmp r0, #0x0 beq _0204A5BA strb r1, [r0, #0x0] _0204A5BA: ldr r0, [sp, #0x10] add sp, #0x38 pop {r3-r7, pc} thumb_func_start FUN_0204A5C0 FUN_0204A5C0: ; 0x0204A5C0 push {r3, lr} asr r1, r2, #0xf lsr r1, r1, #0x10 add r1, r2, r1 asr r2, r3, #0xf lsr r2, r2, #0x10 add r2, r3, r2 ldr r0, [r0, #0x24] asr r1, r1, #0x10 asr r2, r2, #0x10 mov r3, #0x0 bl FUN_021EF844 ldr r1, [sp, #0x8] cmp r1, #0x0 beq _0204A5EE cmp r0, #0x0 beq _0204A5E8 mov r1, #0x1 b _0204A5EA _0204A5E8: mov r1, #0x0 _0204A5EA: ldr r0, [sp, #0x8] strb r1, [r0, #0x0] _0204A5EE: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0204A5F4 FUN_0204A5F4: ; 0x0204A5F4 push {r3-r7, lr} ldr r7, [r0, #0x24] add r4, r3, #0x0 add r0, r7, #0x0 add r3, sp, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 bl FUN_021EF844 cmp r0, #0x0 bne _0204A612 mov r0, #0xff strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} _0204A612: add r1, sp, #0x0 ldrb r1, [r1, #0x0] add r0, r7, #0x0 bl FUN_021EF8DC lsr r2, r5, #0x1f lsl r1, r5, #0x1b sub r1, r1, r2 mov r3, #0x1b ror r1, r3 add r1, r2, r1 lsr r5, r6, #0x1f lsl r2, r6, #0x1b sub r2, r2, r5 ror r2, r3 add r2, r5, r2 lsl r2, r2, #0x5 add r1, r1, r2 lsl r1, r1, #0x1 ldrh r0, [r0, r1] strh r0, [r4, #0x0] mov r0, #0x1 pop {r3-r7, pc} thumb_func_start FUN_0204A640 FUN_0204A640: ; 0x0204A640 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, [r6, #0x28] add r4, r2, #0x0 add r5, r1, #0x0 add r7, r3, #0x0 bl FUN_020344FC asr r2, r4, #0x4 asr r1, r5, #0x4 lsr r2, r2, #0x1b lsr r1, r1, #0x1b add r2, r4, r2 add r1, r5, r1 asr r2, r2, #0x5 asr r1, r1, #0x5 mul r0, r2 add r0, r1, r0 ldr r1, [r6, #0x54] bl FUN_0204A3A4 lsr r2, r5, #0x1f lsl r1, r5, #0x1b sub r1, r1, r2 mov r3, #0x1b ror r1, r3 add r1, r2, r1 lsr r5, r4, #0x1f lsl r2, r4, #0x1b sub r2, r2, r5 ror r2, r3 add r2, r5, r2 lsl r2, r2, #0x5 add r1, r1, r2 lsl r1, r1, #0x1 ldrh r0, [r0, r1] strh r0, [r7, #0x0] mov r0, #0x1 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0204A690 FUN_0204A690: ; 0x0204A690 push {r3, lr} cmp r1, #0x0 bne _0204A69C ldr r1, _0204A6AC ; =0x020F4708 str r1, [r0, #0x0] pop {r3, pc} _0204A69C: cmp r1, #0x1 bne _0204A6A6 ldr r1, _0204A6B0 ; =0x020F4710 str r1, [r0, #0x0] pop {r3, pc} _0204A6A6: bl ErrorHandling pop {r3, pc} .balign 4 _0204A6AC: .word 0x020F4708 _0204A6B0: .word 0x020F4710 thumb_func_start FUN_0204A6B4 FUN_0204A6B4: ; 0x0204A6B4 push {r3-r4, lr} sub sp, #0x4 ldr r4, [r0, #0x58] add r3, sp, #0x0 ldr r4, [r4, #0x4] blx r4 cmp r0, #0x0 beq _0204A6DA add r0, sp, #0x0 ldrh r0, [r0, #0x0] asr r0, r0, #0xf lsl r0, r0, #0x18 lsr r1, r0, #0x18 mov r0, #0x1 and r1, r0 lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, #0x1 beq _0204A6DC _0204A6DA: mov r0, #0x0 _0204A6DC: add sp, #0x4 pop {r3-r4, pc} thumb_func_start FUN_0204A6E0 FUN_0204A6E0: ; 0x0204A6E0 push {r3-r4, lr} sub sp, #0x4 ldr r4, [r0, #0x58] add r3, sp, #0x0 ldr r4, [r4, #0x4] blx r4 cmp r0, #0x0 beq _0204A700 add r0, sp, #0x0 ldrh r0, [r0, #0x0] add sp, #0x4 lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3-r4, pc} _0204A700: mov r0, #0xff add sp, #0x4 pop {r3-r4, pc} .balign 4 thumb_func_start FUN_0204A708 FUN_0204A708: ; 0x0204A708 push {r3-r4, lr} sub sp, #0x4 ldr r4, [sp, #0x10] str r4, [sp, #0x0] ldr r4, [r0, #0x58] ldr r4, [r4, #0x0] blx r4 add sp, #0x4 pop {r3-r4, pc} .balign 4 thumb_func_start FUN_0204A71C FUN_0204A71C: ; 0x0204A71C push {r3-r5, lr} add r4, r1, #0x0 ldr r1, [sp, #0x10] mov r5, #0x2 str r1, [sp, #0x0] ldr r1, [r4, #0x4] lsl r2, r2, #0x10 lsl r5, r5, #0xe lsl r3, r3, #0x10 add r2, r2, r5 add r3, r3, r5 bl FUN_0204A708 ldr r1, [r4, #0x4] cmp r0, r1 bge _0204A744 mov r4, #0x0 add r2, r1, #0x0 mvn r4, r4 b _0204A754 _0204A744: cmp r0, r1 ble _0204A750 add r2, r0, #0x0 add r0, r1, #0x0 mov r4, #0x1 b _0204A754 _0204A750: mov r0, #0x0 pop {r3-r5, pc} _0204A754: sub r1, r2, r0 mov r0, #0x5 lsl r0, r0, #0xe cmp r1, r0 blt _0204A768 cmp r4, #0x0 bne _0204A76A bl ErrorHandling b _0204A76A _0204A768: mov r4, #0x0 _0204A76A: add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0204A770 FUN_0204A770: ; 0x0204A770 push {r3-r7, lr} sub sp, #0x8 add r6, sp, #0x4 add r5, r0, #0x0 add r4, r2, #0x0 add r7, r3, #0x0 str r6, [sp, #0x0] bl FUN_0204A71C ldr r1, [sp, #0x20] cmp r1, #0x0 beq _0204A78A strb r0, [r1, #0x0] _0204A78A: cmp r0, #0x0 bne _0204A7C2 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 bl FUN_0204A6B4 add r6, r0, #0x0 bne _0204A7BC add r0, sp, #0x4 ldrb r0, [r0, #0x0] cmp r0, #0x2 bne _0204A7BC add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 bl FUN_0204A6E0 bl FUN_020548B4 cmp r0, #0x0 beq _0204A7BC add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _0204A7BC: add sp, #0x8 add r0, r6, #0x0 pop {r3-r7, pc} _0204A7C2: mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_0204A7C8 FUN_0204A7C8: ; 0x0204A7C8 push {r3-r7, lr} sub sp, #0x10 add r6, sp, #0x8 add r5, r0, #0x0 str r1, [sp, #0x4] add r4, r2, #0x0 add r7, r3, #0x0 str r6, [sp, #0x0] bl FUN_0204A71C ldr r1, [sp, #0x28] cmp r1, #0x0 beq _0204A7E4 strb r0, [r1, #0x0] _0204A7E4: cmp r0, #0x0 bne _0204A83A add r0, sp, #0xc str r0, [sp, #0x0] ldr r3, [sp, #0x4] add r0, r5, #0x0 ldr r3, [r3, #0x4] add r1, r4, #0x0 add r2, r7, #0x0 bl FUN_0205CE00 cmp r0, #0x0 bne _0204A834 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 bl FUN_0204A6B4 str r0, [sp, #0xc] cmp r0, #0x0 bne _0204A82E add r0, sp, #0x8 ldrb r0, [r0, #0x0] cmp r0, #0x2 bne _0204A82E add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 bl FUN_0204A6E0 bl FUN_020548B4 cmp r0, #0x0 beq _0204A82E add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} _0204A82E: ldr r0, [sp, #0xc] add sp, #0x10 pop {r3-r7, pc} _0204A834: ldr r0, [sp, #0xc] add sp, #0x10 pop {r3-r7, pc} _0204A83A: mov r0, #0x1 add sp, #0x10 pop {r3-r7, pc} thumb_func_start FUN_0204A840 FUN_0204A840: ; 0x0204A840 push {r3-r7, lr} add r6, r0, r2 ldr r0, [sp, #0x18] add r4, r1, r3 add r0, r6, r0 str r0, [sp, #0x0] ldr r0, [sp, #0x1c] ldr r5, [sp, #0x20] add r7, r4, r0 cmp r6, #0x0 blt _0204A864 cmp r4, #0x0 blt _0204A864 ldr r0, [sp, #0x0] cmp r0, #0x0 blt _0204A864 cmp r7, #0x0 bge _0204A868 _0204A864: bl ErrorHandling _0204A868: lsl r0, r6, #0x10 str r0, [r5, #0x0] lsl r0, r4, #0x10 str r0, [r5, #0x4] ldr r0, [sp, #0x0] lsl r0, r0, #0x10 str r0, [r5, #0x8] lsl r0, r7, #0x10 str r0, [r5, #0xc] pop {r3-r7, pc} thumb_func_start FUN_0204A87C FUN_0204A87C: ; 0x0204A87C push {r4-r5, lr} sub sp, #0xc add r3, r0, #0x0 add r5, r1, #0x0 add r4, r2, #0x0 add r0, sp, #0x0 add r1, r3, #0x0 bl FUN_021E7EA0 ldr r1, [sp, #0x0] ldr r0, [r4, #0x0] ldr r2, [sp, #0x8] add r0, r1, r0 str r0, [sp, #0x0] ldr r1, [r4, #0x8] add r2, r2, r1 str r2, [sp, #0x8] ldr r1, [r5, #0x0] cmp r1, r0 bgt _0204A8BC ldr r1, [r5, #0x8] cmp r0, r1 bgt _0204A8BC ldr r0, [r5, #0x4] cmp r0, r2 bgt _0204A8BC ldr r0, [r5, #0xc] cmp r2, r0 bgt _0204A8BC add sp, #0xc mov r0, #0x1 pop {r4-r5, pc} _0204A8BC: mov r0, #0x0 add sp, #0xc pop {r4-r5, pc} .balign 4 thumb_func_start FUN_0204A8C4 FUN_0204A8C4: ; 0x0204A8C4 push {r4-r7, lr} sub sp, #0x1c str r0, [sp, #0x0] mov r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 str r3, [sp, #0x4] str r0, [sp, #0x8] _0204A8D4: ldr r1, [sp, #0x0] ldr r0, [sp, #0x8] ldr r1, [r1, #0x24] add r2, sp, #0xc bl FUN_021EF604 ldr r0, [sp, #0x0] ldr r1, [sp, #0x8] ldr r0, [r0, #0x24] bl FUN_021EF824 add r4, r0, #0x0 ldr r0, [sp, #0x0] ldr r0, [r0, #0x28] bl FUN_020344FC add r1, r0, #0x0 add r0, r4, #0x0 add r2, sp, #0x10 bl FUN_0204AAD4 mov r5, #0x0 _0204A900: ldr r0, [sp, #0xc] add r1, r5, #0x0 bl FUN_021E7ED0 add r1, r7, #0x0 add r2, sp, #0x10 add r4, r0, #0x0 bl FUN_0204A87C cmp r0, #0x0 beq _0204A92E add r0, r4, #0x0 bl FUN_021E7EC4 cmp r0, r6 bne _0204A92E ldr r0, [sp, #0x4] cmp r0, #0x0 beq _0204A928 str r4, [r0, #0x0] _0204A928: add sp, #0x1c mov r0, #0x1 pop {r4-r7, pc} _0204A92E: add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x20 blo _0204A900 ldr r0, [sp, #0x8] add r0, r0, #0x1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x8] cmp r0, #0x4 blo _0204A8D4 mov r0, #0x0 add sp, #0x1c pop {r4-r7, pc} thumb_func_start FUN_0204A94C FUN_0204A94C: ; 0x0204A94C push {r4-r7, lr} sub sp, #0x1c str r0, [sp, #0x0] mov r0, #0x0 add r5, r1, #0x0 add r4, r2, #0x0 str r3, [sp, #0x4] str r0, [sp, #0x8] _0204A95C: ldr r1, [sp, #0x0] ldr r0, [sp, #0x8] ldr r1, [r1, #0x24] add r2, sp, #0xc bl FUN_021EF604 ldr r0, [sp, #0x0] ldr r1, [sp, #0x8] ldr r0, [r0, #0x24] bl FUN_021EF824 add r6, r0, #0x0 ldr r0, [sp, #0x0] ldr r0, [r0, #0x28] bl FUN_020344FC add r1, r0, #0x0 add r0, r6, #0x0 add r2, sp, #0x10 bl FUN_0204AAD4 mov r6, #0x0 _0204A988: ldr r0, [sp, #0xc] add r1, r6, #0x0 bl FUN_021E7ED0 ldr r1, [sp, #0x4] add r2, sp, #0x10 add r7, r0, #0x0 bl FUN_0204A87C cmp r0, #0x0 beq _0204A9D2 add r0, r7, #0x0 bl FUN_021E7EC4 mov r1, #0x0 cmp r4, #0x0 bls _0204A9D2 _0204A9AA: lsl r2, r1, #0x2 ldr r2, [r5, r2] cmp r0, r2 bne _0204A9C8 ldr r1, [sp, #0x30] cmp r1, #0x0 beq _0204A9BA str r7, [r1, #0x0] _0204A9BA: ldr r1, [sp, #0x34] cmp r1, #0x0 beq _0204A9C2 str r0, [r1, #0x0] _0204A9C2: add sp, #0x1c mov r0, #0x1 pop {r4-r7, pc} _0204A9C8: add r1, r1, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, r4 blo _0204A9AA _0204A9D2: add r0, r6, #0x1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 cmp r6, #0x20 blo _0204A988 ldr r0, [sp, #0x8] add r0, r0, #0x1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x8] cmp r0, #0x4 blo _0204A95C mov r0, #0x0 add sp, #0x1c pop {r4-r7, pc} thumb_func_start FUN_0204A9F0 FUN_0204A9F0: ; 0x0204A9F0 push {r3-r7, lr} sub sp, #0x10 str r0, [sp, #0x0] add r5, r1, #0x0 str r2, [sp, #0x4] str r3, [sp, #0x8] mov r7, #0x0 _0204A9FE: ldr r1, [sp, #0x0] add r0, r7, #0x0 ldr r1, [r1, #0x24] add r2, sp, #0xc bl FUN_021EF604 mov r4, #0x0 _0204AA0C: ldr r0, [sp, #0xc] add r1, r4, #0x0 bl FUN_021E7ED0 add r6, r0, #0x0 bl FUN_021E7EC4 cmp r0, r5 bne _0204AA40 ldr r0, [sp, #0x4] cmp r0, #0x0 beq _0204AA26 str r6, [r0, #0x0] _0204AA26: ldr r0, [sp, #0x8] cmp r0, #0x0 beq _0204AA3A ldr r0, [sp, #0x0] add r1, r7, #0x0 ldr r0, [r0, #0x24] bl FUN_021EF824 ldr r1, [sp, #0x8] str r0, [r1, #0x0] _0204AA3A: add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} _0204AA40: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x20 blo _0204AA0C add r0, r7, #0x1 lsl r0, r0, #0x18 lsr r7, r0, #0x18 cmp r7, #0x4 blo _0204A9FE mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0204AA5C FUN_0204AA5C: ; 0x0204AA5C push {r3-r7, lr} sub sp, #0x10 str r0, [sp, #0x0] mov r0, #0x0 add r5, r1, #0x0 add r4, r2, #0x0 str r3, [sp, #0x4] str r0, [sp, #0x8] _0204AA6C: ldr r1, [sp, #0x0] ldr r0, [sp, #0x8] ldr r1, [r1, #0x24] add r2, sp, #0xc bl FUN_021EF604 mov r6, #0x0 _0204AA7A: ldr r0, [sp, #0xc] add r1, r6, #0x0 bl FUN_021E7ED0 add r7, r0, #0x0 bl FUN_021E7EC4 mov r1, #0x0 cmp r4, #0x0 bls _0204AAB6 _0204AA8E: lsl r2, r1, #0x2 ldr r2, [r5, r2] cmp r0, r2 bne _0204AAAC ldr r1, [sp, #0x4] cmp r1, #0x0 beq _0204AA9E str r7, [r1, #0x0] _0204AA9E: ldr r1, [sp, #0x28] cmp r1, #0x0 beq _0204AAA6 str r0, [r1, #0x0] _0204AAA6: add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} _0204AAAC: add r1, r1, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, r4 blo _0204AA8E _0204AAB6: add r0, r6, #0x1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 cmp r6, #0x20 blo _0204AA7A ldr r0, [sp, #0x8] add r0, r0, #0x1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x8] cmp r0, #0x4 blo _0204AA6C mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} thumb_func_start FUN_0204AAD4 FUN_0204AAD4: ; 0x0204AAD4 push {r4-r6, lr} add r4, r2, #0x0 mov r2, #0x1 lsl r2, r2, #0x14 str r2, [r4, #0x0] add r5, r0, #0x0 add r6, r1, #0x0 str r2, [r4, #0x8] blx _s32_div_f lsl r1, r1, #0x10 lsr r1, r1, #0x10 ldr r0, [r4, #0x0] lsl r1, r1, #0x15 add r0, r0, r1 str r0, [r4, #0x0] add r0, r5, #0x0 add r1, r6, #0x0 blx _s32_div_f lsl r0, r0, #0x10 lsr r0, r0, #0x10 ldr r1, [r4, #0x8] lsl r0, r0, #0x15 add r0, r1, r0 str r0, [r4, #0x8] pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0204AB0C FUN_0204AB0C: ; 0x0204AB0C push {r3, lr} bl FUN_0200541C bl FUN_02004810 mov r0, #0x0 bl FUN_0200415C pop {r3, pc} .balign 4 thumb_func_start FUN_0204AB20 FUN_0204AB20: ; 0x0204AB20 push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 bl FUN_02034E30 bl FUN_02034DE8 strh r4, [r0, #0x0] pop {r4, pc} .balign 4 thumb_func_start FUN_0204AB34 FUN_0204AB34: ; 0x0204AB34 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_02034E30 bl FUN_02034DE8 ldrh r0, [r0, #0x0] pop {r3, pc} thumb_func_start FUN_0204AB44 FUN_0204AB44: ; 0x0204AB44 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_02034E30 bl FUN_02034DE8 mov r1, #0x0 strh r1, [r0, #0x0] pop {r3, pc} .balign 4 thumb_func_start FUN_0204AB58 FUN_0204AB58: ; 0x0204AB58 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x38] add r4, r1, #0x0 bl FUN_020553C4 cmp r0, #0x2 bne _0204AB6C ldr r0, _0204ABA0 ; =0x0000047F pop {r3-r5, pc} _0204AB6C: add r0, r5, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] bl FUN_0205E128 cmp r0, #0x1 bne _0204AB7E ldr r0, _0204ABA4 ; =0x0000047E pop {r3-r5, pc} _0204AB7E: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0204ABA8 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0204AB34 cmp r0, #0x0 beq _0204AB9A add r0, r5, #0x0 bl FUN_0204AB34 add r4, r0, #0x0 _0204AB9A: add r0, r4, #0x0 pop {r3-r5, pc} nop _0204ABA0: .word 0x0000047F _0204ABA4: .word 0x0000047E thumb_func_start FUN_0204ABA8 FUN_0204ABA8: ; 0x0204ABA8 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_0201277C cmp r0, #0x0 bne _0204ABBE add r0, r4, #0x0 bl FUN_020347B0 b _0204ABC4 _0204ABBE: add r0, r4, #0x0 bl FUN_020347C4 _0204ABC4: add r6, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_020462AC add r1, r4, #0x0 bl FUN_0205EF20 cmp r0, #0x0 beq _0204ABD8 add r6, r0, #0x0 _0204ABD8: add r0, r6, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0204ABDC FUN_0204ABDC: ; 0x0204ABDC push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 ldr r0, [r5, #0x38] add r4, r1, #0x0 add r7, r2, #0x0 bl FUN_020553C4 add r6, r0, #0x0 bl FUN_02004104 cmp r0, #0x1 bne _0204ABFC add sp, #0x14 mov r0, #0x0 pop {r4-r7, pc} _0204ABFC: add r0, r5, #0x0 bl FUN_02004124 cmp r4, r0 bne _0204AC0C add sp, #0x14 mov r0, #0x0 pop {r4-r7, pc} _0204AC0C: bl FUN_02004810 add r0, r5, #0x0 add r1, r7, #0x0 add r2, sp, #0x10 add r3, sp, #0xc bl FUN_0204ACCC cmp r6, #0x1 beq _0204AC22 bne _0204AC3A _0204AC22: mov r0, #0x1e str r0, [sp, #0x0] mov r0, #0x0 str r0, [sp, #0x4] str r0, [sp, #0x8] ldr r2, [sp, #0x10] ldr r3, [sp, #0xc] mov r0, #0x4 add r1, r4, #0x0 bl FUN_02004E08 b _0204AC4C _0204AC3A: mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] ldr r2, [sp, #0x10] ldr r3, [sp, #0xc] mov r0, #0x4 add r1, r4, #0x0 bl FUN_02004DCC _0204AC4C: mov r0, #0x1 add sp, #0x14 pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0204AC54 FUN_0204AC54: ; 0x0204AC54 push {r4-r6, lr} sub sp, #0x10 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_02004104 cmp r0, #0x1 bne _0204AC6C add sp, #0x10 mov r0, #0x0 pop {r4-r6, pc} _0204AC6C: add r0, r5, #0x0 bl FUN_02004124 cmp r4, r0 bne _0204AC7C add sp, #0x10 mov r0, #0x0 pop {r4-r6, pc} _0204AC7C: bl FUN_02004810 add r0, r5, #0x0 add r1, r6, #0x0 add r2, sp, #0xc add r3, sp, #0x8 bl FUN_0204ACCC mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0x0 str r0, [sp, #0x4] ldr r2, [sp, #0xc] ldr r3, [sp, #0x8] mov r0, #0x4 add r1, r4, #0x0 bl FUN_02004DCC mov r0, #0x1 add sp, #0x10 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0204ACA8 FUN_0204ACA8: ; 0x0204ACA8 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 bl FUN_0204AB58 add r7, r0, #0x0 add r0, r4, #0x0 bl FUN_0204AD44 bl FUN_0200414C add r0, r5, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 bl FUN_0204AC54 pop {r3-r7, pc} thumb_func_start FUN_0204ACCC FUN_0204ACCC: ; 0x0204ACCC cmp r1, #0x3 bhi _0204AD0A add r0, r1, r1 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0204ACDC: ; jump table (using 16-bit offset) .short _0204ACE4 - _0204ACDC - 2; case 0 .short _0204ACEE - _0204ACDC - 2; case 1 .short _0204ACF8 - _0204ACDC - 2; case 2 .short _0204AD02 - _0204ACDC - 2; case 3 _0204ACE4: mov r0, #0x1e str r0, [r2, #0x0] mov r0, #0x0 str r0, [r3, #0x0] bx lr _0204ACEE: mov r0, #0x3c str r0, [r2, #0x0] mov r0, #0x0 str r0, [r3, #0x0] bx lr _0204ACF8: mov r0, #0x3c str r0, [r2, #0x0] mov r0, #0xf str r0, [r3, #0x0] bx lr _0204AD02: mov r0, #0x3c str r0, [r2, #0x0] mov r0, #0x0 str r0, [r3, #0x0] _0204AD0A: bx lr thumb_func_start FUN_0204AD0C FUN_0204AD0C: ; 0x0204AD0C push {r3-r5, lr} mov r1, #0x1 bl FUN_0206AC74 lsl r0, r0, #0x18 lsr r5, r0, #0x18 ldr r0, _0204AD38 ; =0x0000044D ldr r2, _0204AD3C ; =0x020F4718 mov r4, #0x0 _0204AD1E: lsl r3, r4, #0x2 ldrh r1, [r2, r3] cmp r5, r1 bne _0204AD2C ldr r0, _0204AD40 ; =0x020F471A ldrh r0, [r0, r3] pop {r3-r5, pc} _0204AD2C: add r1, r4, #0x1 lsl r1, r1, #0x10 lsr r4, r1, #0x10 cmp r4, #0x4e blo _0204AD1E pop {r3-r5, pc} .balign 4 _0204AD38: .word 0x0000044D _0204AD3C: .word 0x020F4718 _0204AD40: .word 0x020F471A thumb_func_start FUN_0204AD44 FUN_0204AD44: ; 0x0204AD44 push {r4, lr} add r4, r0, #0x0 bl FUN_0201277C cmp r0, #0x0 bne _0204AD58 add r0, r4, #0x0 bl FUN_020347B0 pop {r4, pc} _0204AD58: add r0, r4, #0x0 bl FUN_020347C4 pop {r4, pc} thumb_func_start FUN_0204AD60 FUN_0204AD60: ; 0x0204AD60 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 bl FUN_02004104 cmp r0, #0x1 beq _0204AD88 bl FUN_02004124 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_0204ABA8 cmp r4, r0 beq _0204AD88 mov r0, #0x0 mov r1, #0x28 bl FUN_020053CC _0204AD88: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0204AD8C FUN_0204AD8C: ; 0x0204AD8C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02004104 cmp r0, #0x1 beq _0204ADB8 mov r0, #0x0 bl FUN_0200415C add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0204ABA8 add r4, r0, #0x0 bl FUN_0200414C mov r0, #0x4 add r1, r4, #0x0 mov r2, #0x1 bl FUN_0200433C _0204ADB8: pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0204ADBC FUN_0204ADBC: ; 0x0204ADBC push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_0204AB58 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0204ABA8 bl FUN_0200414C mov r0, #0x4 add r1, r6, #0x0 mov r2, #0x1 bl FUN_0200433C pop {r4-r6, pc} thumb_func_start FUN_0204ADE0 FUN_0204ADE0: ; 0x0204ADE0 mov r3, #0x0 add r2, r3, #0x0 _0204ADE4: lsl r1, r3, #0x2 add r1, r0, r1 strb r2, [r1, #0x6] strb r2, [r1, #0x7] strb r2, [r1, #0x8] strb r2, [r1, #0x9] add r1, r3, #0x1 lsl r1, r1, #0x18 lsr r3, r1, #0x18 cmp r3, #0x6 blo _0204ADE4 str r2, [r0, #0x0] strb r2, [r0, #0x4] strb r2, [r0, #0x5] bx lr .balign 4 thumb_func_start FUN_0204AE04 FUN_0204AE04: ; 0x0204AE04 push {r4, lr} add r4, r0, #0x0 asr r0, r1, #0x4 lsr r0, r0, #0x1b add r0, r1, r0 asr r1, r2, #0x4 lsr r1, r1, #0x1b add r1, r2, r1 lsl r0, r0, #0x13 lsl r1, r1, #0x13 ldrb r2, [r4, #0x4] lsr r0, r0, #0x18 lsr r1, r1, #0x18 cmp r0, r2 bne _0204AE28 ldrb r2, [r4, #0x5] cmp r1, r2 beq _0204AE58 _0204AE28: ldr r2, [r4, #0x0] lsl r2, r2, #0x2 add r2, r4, r2 strb r0, [r2, #0x6] ldr r0, [r4, #0x0] lsl r0, r0, #0x2 add r0, r4, r0 strb r1, [r0, #0x7] ldr r0, [r4, #0x0] mov r1, #0xff lsl r0, r0, #0x2 add r0, r4, r0 strb r1, [r0, #0x8] ldr r0, [r4, #0x0] mov r1, #0x1 lsl r0, r0, #0x2 add r0, r4, r0 strb r1, [r0, #0x9] ldr r0, [r4, #0x0] mov r1, #0x6 add r0, r0, #0x1 blx _s32_div_f str r1, [r4, #0x0] _0204AE58: pop {r4, pc} .balign 4 thumb_func_start FUN_0204AE5C FUN_0204AE5C: ; 0x0204AE5C push {r4, lr} add r4, r0, #0x0 lsl r0, r1, #0x18 lsl r1, r2, #0x18 ldrb r2, [r4, #0x4] lsr r0, r0, #0x18 lsr r1, r1, #0x18 cmp r0, r2 bne _0204AE74 ldrb r2, [r4, #0x5] cmp r1, r2 beq _0204AEA6 _0204AE74: ldr r2, [r4, #0x0] lsl r2, r2, #0x2 add r2, r4, r2 strb r0, [r2, #0x6] ldr r2, [r4, #0x0] lsl r2, r2, #0x2 add r2, r4, r2 strb r1, [r2, #0x7] ldr r2, [r4, #0x0] lsl r2, r2, #0x2 add r2, r4, r2 strb r3, [r2, #0x8] ldr r2, [r4, #0x0] mov r3, #0x1 lsl r2, r2, #0x2 add r2, r4, r2 strb r3, [r2, #0x9] strb r0, [r4, #0x4] strb r1, [r4, #0x5] ldr r0, [r4, #0x0] mov r1, #0x6 add r0, r0, #0x1 blx _s32_div_f str r1, [r4, #0x0] _0204AEA6: pop {r4, pc} thumb_func_start FUN_0204AEA8 FUN_0204AEA8: ; 0x0204AEA8 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] cmp r1, #0x0 beq _0204AEC6 cmp r1, #0x1 beq _0204AEE6 b _0204AEF4 _0204AEC6: ldr r0, [r4, #0x8] add r1, r5, #0x0 add r2, r4, #0x4 bl FUN_021E3444 ldr r1, [r4, #0xc] mov r0, #0x5 lsl r1, r1, #0x10 lsr r1, r1, #0x10 mov r2, #0x1 bl FUN_0200433C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204AEF4 _0204AEE6: ldr r1, [r4, #0x4] cmp r1, #0x1 bne _0204AEF4 bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _0204AEF4: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0204AEF8 FUN_0204AEF8: ; 0x0204AEF8 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 mov r0, #0xb mov r1, #0x10 add r4, r2, #0x0 bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] str r0, [r2, #0x4] str r5, [r2, #0x8] ldr r1, _0204AF20 ; =FUN_0204AEA8 add r0, r6, #0x0 str r4, [r2, #0xc] bl FUN_0204640C pop {r4-r6, pc} nop _0204AF20: .word FUN_0204AEA8 thumb_func_start FUN_0204AF24 FUN_0204AF24: ; 0x0204AF24 push {r3, lr} bl FUN_02046528 bl FUN_0203739C cmp r0, #0x0 bne _0204AF36 mov r0, #0x1 pop {r3, pc} _0204AF36: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0204AF3C FUN_0204AF3C: ; 0x0204AF3C push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02046528 add r4, r0, #0x0 bl FUN_0203739C cmp r0, #0x0 bne _0204AF54 bl ErrorHandling pop {r3-r5, pc} _0204AF54: add r0, r4, #0x0 bl FUN_02037394 ldr r1, _0204AF68 ; =FUN_0204AF24 add r0, r5, #0x0 mov r2, #0x0 bl FUN_0204640C pop {r3-r5, pc} nop _0204AF68: .word FUN_0204AF24 thumb_func_start FUN_0204AF6C FUN_0204AF6C: ; 0x0204AF6C push {r3, lr} bl FUN_02046528 bl FUN_020464A4 cmp r0, #0x0 beq _0204AF7E mov r0, #0x1 pop {r3, pc} _0204AF7E: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0204AF84 FUN_0204AF84: ; 0x0204AF84 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02046528 add r4, r0, #0x0 bl FUN_0203739C cmp r0, #0x0 beq _0204AF9C bl ErrorHandling pop {r3-r5, pc} _0204AF9C: add r0, r4, #0x0 bl FUN_0204649C ldr r1, _0204AFB0 ; =FUN_0204AF6C add r0, r5, #0x0 mov r2, #0x0 bl FUN_0204640C pop {r3-r5, pc} nop _0204AFB0: .word FUN_0204AF6C thumb_func_start FUN_0204AFB4 FUN_0204AFB4: ; 0x0204AFB4 push {r3, lr} bl FUN_0200E308 cmp r0, #0x0 beq _0204AFC2 mov r0, #0x1 pop {r3, pc} _0204AFC2: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0204AFC8 FUN_0204AFC8: ; 0x0204AFC8 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 bl FUN_02046528 bl FUN_0203739C cmp r0, #0x0 bne _0204AFE2 bl ErrorHandling add sp, #0xc pop {r3-r4, pc} _0204AFE2: mov r0, #0x6 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 ldr r1, _0204B008 ; =FUN_0204AFB4 add r0, r4, #0x0 mov r2, #0x0 bl FUN_0204640C add sp, #0xc pop {r3-r4, pc} .balign 4 _0204B008: .word FUN_0204AFB4 thumb_func_start FUN_0204B00C FUN_0204B00C: ; 0x0204B00C push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 bl FUN_02046528 bl FUN_0203739C cmp r0, #0x0 bne _0204B026 bl ErrorHandling add sp, #0xc pop {r3-r4, pc} _0204B026: mov r0, #0x6 str r0, [sp, #0x0] mov r1, #0x1 str r1, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] mov r0, #0x0 add r2, r1, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 ldr r1, _0204B04C ; =FUN_0204AFB4 add r0, r4, #0x0 mov r2, #0x0 bl FUN_0204640C add sp, #0xc pop {r3-r4, pc} nop _0204B04C: .word FUN_0204AFB4 thumb_func_start FUN_0204B050 FUN_0204B050: ; 0x0204B050 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _0204B06A cmp r0, #0x1 beq _0204B078 cmp r0, #0x2 beq _0204B086 b _0204B08A _0204B06A: add r0, r5, #0x0 bl FUN_0204AFC8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204B08A _0204B078: add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204B08A _0204B086: mov r0, #0x1 pop {r3-r5, pc} _0204B08A: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0204B090 FUN_0204B090: ; 0x0204B090 ldr r3, _0204B098 ; =FUN_0204640C ldr r1, _0204B09C ; =FUN_0204B050 mov r2, #0x0 bx r3 .balign 4 _0204B098: .word FUN_0204640C _0204B09C: .word FUN_0204B050 thumb_func_start FUN_0204B0A0 FUN_0204B0A0: ; 0x0204B0A0 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02046530 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02046528 ldr r1, [r4, #0x0] cmp r1, #0x0 beq _0204B0C0 cmp r1, #0x1 beq _0204B0CE cmp r1, #0x2 beq _0204B0E0 b _0204B0E4 _0204B0C0: add r0, r5, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204B0E4 _0204B0CE: bl FUN_021E331C add r0, r5, #0x0 bl FUN_0204B00C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204B0E4 _0204B0E0: mov r0, #0x1 pop {r3-r5, pc} _0204B0E4: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0204B0E8 FUN_0204B0E8: ; 0x0204B0E8 ldr r3, _0204B0F0 ; =FUN_0204640C ldr r1, _0204B0F4 ; =FUN_0204B0A0 mov r2, #0x0 bx r3 .balign 4 _0204B0F0: .word FUN_0204640C _0204B0F4: .word FUN_0204B0A0 thumb_func_start FUN_0204B0F8 FUN_0204B0F8: ; 0x0204B0F8 push {r4-r5, lr} sub sp, #0x1c add r5, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02023794 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _0204B12A add r0, sp, #0xc add r1, sp, #0x0 bl FUN_0201265C add r0, r5, #0x0 add r1, r4, #0x0 add r2, sp, #0xc bl FUN_0204B130 add r0, r5, #0x0 add r1, r4, #0x0 add r2, sp, #0xc add r3, sp, #0x0 bl FUN_0204B158 _0204B12A: add sp, #0x1c pop {r4-r5, pc} .balign 4 thumb_func_start FUN_0204B130 FUN_0204B130: ; 0x0204B130 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 add r0, r2, #0x0 blx RTC_ConvertDateToDay ldr r1, [r5, #0x20] add r4, r0, #0x0 cmp r4, r1 bhs _0204B148 str r4, [r5, #0x20] pop {r4-r6, pc} _0204B148: cmp r4, r1 bls _0204B156 add r0, r6, #0x0 sub r1, r4, r1 bl FUN_0204B1DC str r4, [r5, #0x20] _0204B156: pop {r4-r6, pc} thumb_func_start FUN_0204B158 FUN_0204B158: ; 0x0204B158 push {r4-r7, lr} sub sp, #0xc add r4, r2, #0x0 str r0, [sp, #0x0] add r6, r3, #0x0 add r5, r1, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 blx RTC_ConvertDateTimeToSecond str r1, [sp, #0x8] add r1, r5, #0x0 add r7, r0, #0x0 add r0, r5, #0x4 add r1, #0x14 blx RTC_ConvertDateTimeToSecond add r2, r1, #0x0 sub r1, r7, r0 ldr r1, [sp, #0x8] sbc r1, r2 bge _0204B19C add r2, r5, #0x4 ldmia r4!, {r0-r1} stmia r2!, {r0-r1} ldmia r4!, {r0-r1} stmia r2!, {r0-r1} ldmia r6!, {r0-r1} add r5, #0x14 stmia r5!, {r0-r1} ldr r0, [r6, #0x0] add sp, #0xc str r0, [r5, #0x0] pop {r4-r7, pc} _0204B19C: ldr r1, [sp, #0x8] sub r0, r7, r0 sbc r1, r2 mov r2, #0x3c mov r3, #0x0 str r1, [sp, #0x8] blx _ll_sdiv add r7, r0, #0x0 cmp r7, #0x0 ble _0204B1D8 add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_02023884 ldr r0, [sp, #0x0] add r1, r7, #0x0 add r2, r6, #0x0 bl FUN_0204B270 add r2, r5, #0x4 ldmia r4!, {r0-r1} stmia r2!, {r0-r1} ldmia r4!, {r0-r1} stmia r2!, {r0-r1} ldmia r6!, {r0-r1} add r5, #0x14 stmia r5!, {r0-r1} ldr r0, [r6, #0x0] str r0, [r5, #0x0] _0204B1D8: add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_0204B1DC FUN_0204B1DC: ; 0x0204B1DC push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 bl FUN_020377AC add r1, r4, #0x0 bl FUN_02025A60 add r0, r5, #0x0 bl FUN_0203959C ldr r0, [r5, #0xc] add r1, r4, #0x0 bl FUN_02060344 ldr r0, [r5, #0xc] bl FUN_0202881C add r1, r4, #0x0 bl FUN_02028754 ldr r0, [r5, #0xc] bl FUN_0202A9B0 add r6, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_0202881C bl FUN_020287A4 add r1, r0, #0x0 add r0, r6, #0x0 bl FUN_0202A988 ldr r0, [r5, #0xc] bl FUN_0206BB1C add r1, r4, #0x0 bl FUN_02069D50 ldr r0, [r5, #0xc] bl FUN_020462AC add r6, r0, #0x0 bl FUN_0205F594 cmp r0, r4 ble _0204B244 sub r0, r0, r4 lsl r0, r0, #0x10 lsr r1, r0, #0x10 b _0204B246 _0204B244: mov r1, #0x0 _0204B246: add r0, r6, #0x0 bl FUN_0205F5A4 lsl r1, r4, #0x10 ldr r0, [r5, #0xc] lsr r1, r1, #0x10 bl FUN_0205F618 ldr r0, [r5, #0xc] bl FUN_0205F668 ldr r0, [r5, #0xc] bl FUN_0206007C ldr r0, [r5, #0xc] bl FUN_02029AFC bl FUN_02029C08 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0204B270 FUN_0204B270: ; 0x0204B270 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_0204B3D0 ldr r0, [r5, #0xc] add r1, r4, #0x0 bl FUN_0202A9D0 add r0, r5, #0x0 bl FUN_0204B33C add r2, r0, #0x0 ldr r0, [r5, #0xc] add r1, r4, #0x0 bl FUN_02025B60 ldr r0, [r5, #0xc] bl FUN_02022504 ldr r2, [r6, #0x4] add r1, r4, #0x0 bl FUN_0202B3C4 pop {r4-r6, pc} thumb_func_start FUN_0204B2A4 FUN_0204B2A4: ; 0x0204B2A4 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_02023794 ldr r0, [r0, #0x14] bl FUN_020127A8 pop {r3, pc} thumb_func_start FUN_0204B2B4 FUN_0204B2B4: ; 0x0204B2B4 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_02023794 ldr r0, [r0, #0x8] pop {r3, pc} thumb_func_start FUN_0204B2C0 FUN_0204B2C0: ; 0x0204B2C0 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_02023794 ldr r0, [r0, #0xc] pop {r3, pc} thumb_func_start FUN_0204B2CC FUN_0204B2CC: ; 0x0204B2CC push {r3, lr} ldr r0, [r0, #0xc] bl FUN_02023794 ldr r0, [r0, #0x10] pop {r3, pc} thumb_func_start FUN_0204B2D8 FUN_0204B2D8: ; 0x0204B2D8 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_02023794 ldr r0, [r0, #0x14] pop {r3, pc} thumb_func_start FUN_0204B2E4 FUN_0204B2E4: ; 0x0204B2E4 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_02023794 ldr r0, [r0, #0x18] pop {r3, pc} thumb_func_start FUN_0204B2F0 FUN_0204B2F0: ; 0x0204B2F0 push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 add r4, r2, #0x0 bl FUN_02023794 add r3, r0, #0x0 ldr r2, [r3, #0x24] ldr r3, [r3, #0x28] add r0, r5, #0x0 add r1, r4, #0x0 blx RTC_ConvertSecondToDateTime pop {r3-r5, pc} thumb_func_start FUN_0204B30C FUN_0204B30C: ; 0x0204B30C push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 add r4, r2, #0x0 bl FUN_02023794 add r3, r0, #0x0 ldr r2, [r3, #0x2c] ldr r3, [r3, #0x30] add r0, r5, #0x0 add r1, r4, #0x0 blx RTC_ConvertSecondToDateTime pop {r3-r5, pc} thumb_func_start FUN_0204B328 FUN_0204B328: ; 0x0204B328 push {r4, lr} ldr r0, [r0, #0xc] bl FUN_02023794 add r4, r0, #0x0 bl FUN_020126FC str r0, [r4, #0x2c] str r1, [r4, #0x30] pop {r4, pc} thumb_func_start FUN_0204B33C FUN_0204B33C: ; 0x0204B33C push {r3, lr} ldr r0, [r0, #0xc] bl FUN_02023794 bl FUN_02023874 pop {r3, pc} .balign 4 thumb_func_start FUN_0204B34C FUN_0204B34C: ; 0x0204B34C cmp r0, #0x0 bne _0204B354 mov r0, #0x0 bx lr _0204B354: add r0, #0x94 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bx lr thumb_func_start FUN_0204B35C FUN_0204B35C: ; 0x0204B35C cmp r0, #0x0 bne _0204B364 mov r0, #0x0 bx lr _0204B364: sub r0, #0x94 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bx lr thumb_func_start FUN_0204B36C FUN_0204B36C: ; 0x0204B36C cmp r0, #0x0 bne _0204B374 mov r0, #0x0 bx lr _0204B374: add r0, #0x5e lsl r0, r0, #0x10 lsr r0, r0, #0x10 bx lr thumb_func_start FUN_0204B37C FUN_0204B37C: ; 0x0204B37C cmp r0, #0x0 bne _0204B384 mov r0, #0x0 bx lr _0204B384: sub r0, #0x5e bx lr thumb_func_start FUN_0204B388 FUN_0204B388: ; 0x0204B388 push {r4-r6, lr} add r6, r1, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 mov r1, #0x64 bl FUN_02016998 add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x64 blx MI_CpuFill8 str r6, [r4, #0x0] add r0, r6, #0x0 bl FUN_02025128 str r0, [r4, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0204B410 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0204B3B8 FUN_0204B3B8: ; 0x0204B3B8 push {r4, lr} add r4, r0, #0x0 bl FUN_0204B444 ldr r0, [r4, #0x4] bl FUN_02016A18 add r0, r4, #0x0 bl FUN_02016A18 pop {r4, pc} .balign 4 thumb_func_start FUN_0204B3D0 FUN_0204B3D0: ; 0x0204B3D0 push {r4-r6, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] add r6, r1, #0x0 cmp r0, #0x0 bne _0204B3FA mov r0, #0xb bl FUN_02025128 add r5, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_02024ECC add r1, r5, #0x0 add r2, r6, #0x0 bl FUN_020253E0 add r0, r5, #0x0 bl FUN_02016A18 pop {r4-r6, pc} _0204B3FA: ldr r0, [r0, #0x18] ldr r5, [r0, #0x4] ldr r0, [r4, #0xc] bl FUN_02024ECC add r1, r5, #0x0 add r2, r6, #0x0 bl FUN_020253E0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0204B410 FUN_0204B410: ; 0x0204B410 push {r3-r5, lr} ldr r4, [r0, #0x3c] add r5, r1, #0x0 add r0, r4, #0x0 mov r1, #0x11 bl FUN_021E4C54 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_02016998 str r0, [r5, #0x60] ldr r2, [r5, #0x60] add r0, r4, #0x0 mov r1, #0x11 bl FUN_021E4C60 add r0, r5, #0x0 add r1, r5, #0x0 add r5, #0x60 add r0, #0x8 add r1, #0x5c add r2, r5, #0x0 bl FUN_0201B234 pop {r3-r5, pc} thumb_func_start FUN_0204B444 FUN_0204B444: ; 0x0204B444 ldr r3, _0204B44C ; =0x021E4C01 ldr r0, [r0, #0x60] bx r3 nop _0204B44C: .word 0x021E4C01 thumb_func_start FUN_0204B450 FUN_0204B450: ; 0x0204B450 push {r3-r5, lr} sub sp, #0x30 ldr r3, _0204B48C ; =0x020F4860 add r5, r0, #0x0 add r4, r1, #0x0 ldmia r3!, {r0-r1} add r2, sp, #0x24 stmia r2!, {r0-r1} ldr r0, [r3, #0x0] str r0, [r2, #0x0] add r0, sp, #0x0 blx MTX_Identity33_ ldr r0, [r5, #0x4] add r1, r4, #0x0 ldr r0, [r0, #0x18] add r2, sp, #0x0 ldr r0, [r0, #0x5c] add r3, sp, #0x24 bl FUN_0201B6D0 cmp r0, #0x0 beq _0204B484 add sp, #0x30 mov r0, #0x1 pop {r3-r5, pc} _0204B484: mov r0, #0x0 add sp, #0x30 pop {r3-r5, pc} nop _0204B48C: .word 0x020F4860 thumb_func_start FUN_0204B490 FUN_0204B490: ; 0x0204B490 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x4] ldr r0, [r5, #0xc] bl FUN_02024ECC add r4, r0, #0x0 ldr r0, [r5, #0x34] add r1, sp, #0x0 add r2, sp, #0x4 mov r3, #0x1 bl FUN_020580F4 cmp r0, #0x1 bne _0204B4F8 mov r6, #0x0 mov r7, #0x1 _0204B4B6: ldr r0, [sp, #0x0] bl FUN_02058458 bl FUN_0205C334 cmp r0, #0x1 bne _0204B4E8 ldr r0, [sp, #0x0] bl FUN_02058B7C add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0204B450 cmp r0, #0x0 beq _0204B4E8 ldr r0, [sp, #0x0] add r1, r6, #0x0 bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 add r2, r7, #0x0 bl FUN_020252C4 _0204B4E8: ldr r0, [r5, #0x34] add r1, sp, #0x0 add r2, sp, #0x4 mov r3, #0x1 bl FUN_020580F4 cmp r0, #0x1 beq _0204B4B6 _0204B4F8: add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_0204B4FC FUN_0204B4FC: ; 0x0204B4FC push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 ldr r0, [r5, #0xc] add r7, r1, #0x0 bl FUN_02024ECC add r4, r0, #0x0 add r0, r7, #0x0 mov r1, #0x0 bl FUN_02058510 str r0, [sp, #0x0] ldr r1, [sp, #0x0] add r0, r4, #0x0 bl FUN_02025244 str r0, [sp, #0x4] ldr r1, [sp, #0x0] add r0, r4, #0x0 bl FUN_020252E8 add r6, r0, #0x0 ldr r0, [sp, #0x4] bl FUN_0204B34C str r0, [sp, #0x8] ldr r1, [sp, #0x0] add r0, r4, #0x0 bl FUN_02025268 add r2, r0, #0x0 lsl r2, r2, #0x18 lsl r3, r6, #0x10 ldr r1, [sp, #0x8] add r0, r5, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x10 bl FUN_020616A4 ldr r1, [sp, #0x0] add r0, r4, #0x0 bl FUN_020252F4 add r0, r7, #0x0 bl FUN_0205C374 ldr r0, [r5, #0xc] bl FUN_0206F158 add r4, r0, #0x0 ldr r0, [sp, #0x4] bl FUN_0204B34C lsl r2, r6, #0x10 add r1, r0, #0x0 add r0, r4, #0x0 lsr r2, r2, #0x10 mov r3, #0x4 bl FUN_0206ED38 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0204B57C FUN_0204B57C: ; 0x0204B57C push {r4-r6, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 add r5, r2, #0x0 bl FUN_02024ECC add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x0 bl FUN_02058510 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0204B37C add r2, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_020252DC pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0204B5A8 FUN_0204B5A8: ; 0x0204B5A8 push {r3-r7, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] add r5, r1, #0x0 add r6, r2, #0x0 bl FUN_02024ECC add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058510 add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_0204B35C ldr r2, [r4, #0x4] add r3, r0, #0x0 ldr r2, [r2, #0x18] add r0, r7, #0x0 ldr r2, [r2, #0x4] add r1, r5, #0x0 bl FUN_02025274 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0204B5DC FUN_0204B5DC: ; 0x0204B5DC push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 bl FUN_02024ECC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_020252AC pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0204B5FC FUN_0204B5FC: ; 0x0204B5FC push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 bl FUN_02024ECC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02025238 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0204B61C FUN_0204B61C: ; 0x0204B61C push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 bl FUN_02024ECC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02025244 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0204B63C FUN_0204B63C: ; 0x0204B63C push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 bl FUN_02024ECC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02025244 bl FUN_0204B34C pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0204B660 FUN_0204B660: ; 0x0204B660 push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 bl FUN_02024ECC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_020252D0 bl FUN_0204B36C pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0204B684 FUN_0204B684: ; 0x0204B684 push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 bl FUN_02024ECC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_0202524C pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0204B6A4 FUN_0204B6A4: ; 0x0204B6A4 push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 bl FUN_02024ECC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_020252E8 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0204B6C4 FUN_0204B6C4: ; 0x0204B6C4 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 ldr r4, _0204B708 ; =0x00000000 beq _0204B6D8 add r0, r5, #0x0 bl FUN_02058458 cmp r0, #0x64 beq _0204B6DC _0204B6D8: mov r0, #0x0 pop {r4-r6, pc} _0204B6DC: add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_0204B5FC cmp r0, #0x0 bne _0204B6FE mov r0, #0x1 orr r4, r0 add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_0204B660 cmp r0, #0x0 bne _0204B702 mov r0, #0x2 orr r4, r0 b _0204B702 _0204B6FE: mov r0, #0x4 orr r4, r0 _0204B702: add r0, r4, #0x0 pop {r4-r6, pc} nop _0204B708: .word 0x00000000 thumb_func_start FUN_0204B70C FUN_0204B70C: ; 0x0204B70C push {r3-r7, lr} add r7, r0, #0x0 ldr r0, [r7, #0x38] add r5, r2, #0x0 bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r7, #0x38] bl FUN_0205532C add r4, r0, #0x0 cmp r5, #0x2 bne _0204B72A sub r6, r6, #0x1 b _0204B746 _0204B72A: cmp r5, #0x3 bne _0204B732 add r6, r6, #0x1 b _0204B746 _0204B732: cmp r5, #0x0 bne _0204B73A sub r4, r4, #0x1 b _0204B746 _0204B73A: cmp r5, #0x1 bne _0204B742 add r4, r4, #0x1 b _0204B746 _0204B742: bl ErrorHandling _0204B746: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 bl FUN_0204A6B4 cmp r0, #0x0 beq _0204B758 mov r0, #0x1 pop {r3-r7, pc} _0204B758: ldr r0, [r7, #0x34] add r1, r6, #0x0 add r2, r4, #0x0 bl FUN_02058D74 cmp r0, #0x0 beq _0204B76A mov r0, #0x1 pop {r3-r7, pc} _0204B76A: mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0204B770 FUN_0204B770: ; 0x0204B770 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x38] add r6, r1, #0x0 bl FUN_02055320 add r4, r0, #0x0 ldr r0, [r5, #0x38] bl FUN_0205532C add r2, r0, #0x0 cmp r6, #0x2 bne _0204B78E sub r4, r4, #0x1 b _0204B794 _0204B78E: cmp r6, #0x3 bne _0204B794 add r4, r4, #0x1 _0204B794: ldr r0, [r5, #0x34] add r1, r4, #0x0 sub r2, r2, #0x1 bl FUN_02058D74 pop {r4-r6, pc} thumb_func_start FUN_0204B7A0 FUN_0204B7A0: ; 0x0204B7A0 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x38] add r6, r1, #0x0 bl FUN_02055320 add r7, r0, #0x0 ldr r0, [r5, #0x38] bl FUN_0205532C add r4, r0, #0x0 ldr r0, [r6, #0x4] cmp r0, #0x0 bne _0204B7C0 sub r4, r4, #0x1 b _0204B7CC _0204B7C0: cmp r0, #0x1 bne _0204B7C8 add r4, r4, #0x1 b _0204B7CC _0204B7C8: bl ErrorHandling _0204B7CC: ldr r0, [r5, #0x34] add r1, r7, #0x0 add r2, r4, #0x0 bl FUN_02058D74 pop {r3-r7, pc} thumb_func_start FUN_0204B7D8 FUN_0204B7D8: ; 0x0204B7D8 push {r3, lr} bl FUN_02058458 cmp r0, #0x64 bne _0204B7E6 mov r0, #0x1 pop {r3, pc} _0204B7E6: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0204B7EC FUN_0204B7EC: ; 0x0204B7EC push {r4, lr} add r4, r0, #0x0 bl FUN_0204B7A0 add r1, r0, #0x0 beq _0204B7FE add r0, r4, #0x0 bl FUN_0204B5DC _0204B7FE: pop {r4, pc} thumb_func_start FUN_0204B800 FUN_0204B800: ; 0x0204B800 push {r3-r5, lr} ldr r0, [r0, #0x38] add r4, r2, #0x0 add r5, r1, #0x0 bl FUN_020553A0 add r1, r4, #0x0 bl FUN_0205AEA4 str r0, [r5, #0xc] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0204B818 FUN_0204B818: ; 0x0204B818 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x4 bls _0204B832 b _0204B98E _0204B832: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0204B83E: ; jump table (using 16-bit offset) .short _0204B848 - _0204B83E - 2; case 0 .short _0204B866 - _0204B83E - 2; case 1 .short _0204B876 - _0204B83E - 2; case 2 .short _0204B93A - _0204B83E - 2; case 3 .short _0204B972 - _0204B83E - 2; case 4 _0204B848: ldr r0, [r5, #0x38] mov r1, #0x10 bl FUN_021E5FD8 ldr r0, [r5, #0x38] bl FUN_021E5FE0 ldr r0, [r5, #0x38] bl FUN_020553A0 bl FUN_02058914 mov r0, #0x1 str r0, [r4, #0x0] b _0204B98E _0204B866: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0204B7EC mov r0, #0x0 str r0, [r4, #0x8] mov r0, #0x2 str r0, [r4, #0x0] _0204B876: ldr r0, _0204B994 ; =0x021C48B8 mov r1, #0x20 ldr r0, [r0, #0x44] tst r1, r0 beq _0204B8B8 add r0, r5, #0x0 mov r1, #0x2 bl FUN_0204B770 cmp r0, #0x0 beq _0204B894 bl FUN_0204B7D8 cmp r0, #0x0 bne _0204B89A _0204B894: mov r0, #0x4 str r0, [r4, #0x0] b _0204B98E _0204B89A: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x2 bl FUN_0204B70C cmp r0, #0x0 bne _0204B922 ldr r2, _0204B998 ; =0x020F4850 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0204B800 mov r0, #0x3 str r0, [r4, #0x0] b _0204B98E _0204B8B8: mov r1, #0x10 tst r1, r0 beq _0204B8F6 add r0, r5, #0x0 mov r1, #0x3 bl FUN_0204B770 cmp r0, #0x0 beq _0204B8D2 bl FUN_0204B7D8 cmp r0, #0x0 bne _0204B8D8 _0204B8D2: mov r0, #0x4 str r0, [r4, #0x0] b _0204B98E _0204B8D8: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x3 bl FUN_0204B70C cmp r0, #0x0 bne _0204B922 ldr r2, _0204B99C ; =0x020F4858 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0204B800 mov r0, #0x3 str r0, [r4, #0x0] b _0204B98E _0204B8F6: mov r1, #0x40 tst r1, r0 beq _0204B910 ldr r1, [r4, #0x4] cmp r1, #0x1 bne _0204B910 ldr r0, [r5, #0x38] mov r1, #0x0 bl FUN_02055304 mov r0, #0x4 str r0, [r4, #0x0] b _0204B98E _0204B910: mov r1, #0x80 tst r0, r1 beq _0204B922 ldr r0, [r4, #0x4] cmp r0, #0x0 bne _0204B922 mov r0, #0x4 str r0, [r4, #0x0] b _0204B98E _0204B922: ldr r0, [r4, #0x8] add r0, r0, #0x1 str r0, [r4, #0x8] cmp r0, #0x5a ble _0204B98E ldr r0, [r5, #0x38] ldr r1, [r4, #0x4] bl FUN_02055304 mov r0, #0x4 str r0, [r4, #0x0] b _0204B98E _0204B93A: ldr r0, [r4, #0xc] bl FUN_0205AEF0 cmp r0, #0x0 beq _0204B98E ldr r0, [r4, #0xc] bl FUN_0205AEFC add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0204B7A0 cmp r0, #0x0 beq _0204B964 bl FUN_0204B7D8 cmp r0, #0x0 beq _0204B964 mov r0, #0x1 str r0, [r4, #0x0] b _0204B98E _0204B964: ldr r0, [r5, #0x38] ldr r1, [r4, #0x4] bl FUN_02055304 mov r0, #0x4 str r0, [r4, #0x0] b _0204B98E _0204B972: ldr r0, [r5, #0x38] ldr r1, [r4, #0x4] bl FUN_02055304 ldr r0, [r5, #0x38] bl FUN_020553A0 bl FUN_02058908 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _0204B98E: mov r0, #0x0 pop {r3-r5, pc} nop _0204B994: .word 0x021C48B8 _0204B998: .word 0x020F4850 _0204B99C: .word 0x020F4858 thumb_func_start FUN_0204B9A0 FUN_0204B9A0: ; 0x0204B9A0 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x20 mov r1, #0x10 bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x0 str r0, [r4, #0x0] str r0, [r4, #0xc] ldr r0, [r5, #0x38] bl FUN_020552F8 str r0, [r4, #0x4] ldr r0, [r5, #0x10] ldr r1, _0204B9C8 ; =FUN_0204B818 add r2, r4, #0x0 bl FUN_0204640C pop {r3-r5, pc} .balign 4 _0204B9C8: .word FUN_0204B818 thumb_func_start FUN_0204B9CC FUN_0204B9CC: ; 0x0204B9CC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x38] bl FUN_020553C4 bl FUN_02055648 add r1, r0, #0x0 ldr r0, [r4, #0x38] bl FUN_021E5FD8 ldr r0, [r4, #0x38] bl FUN_021E5FE0 pop {r4, pc} .balign 4 thumb_func_start FUN_0204B9EC FUN_0204B9EC: ; 0x0204B9EC push {r4, lr} ldr r1, _0204BA14 ; =0x021C5A1C add r4, r0, #0x0 mov r0, #0x0 mov r2, #0x4c blx MIi_CpuClearFast ldr r1, _0204BA14 ; =0x021C5A1C add r0, r4, #0x0 bl FUN_0204BB20 ldr r0, _0204BA14 ; =0x021C5A1C bl FUN_0204BBC4 bl FUN_020126FC ldr r2, _0204BA18 ; =0x021C5A1C str r0, [r2, #0x40] str r1, [r2, #0x44] pop {r4, pc} .balign 4 _0204BA14: .word 0x021C5A1C _0204BA18: .word 0x021C5A1C thumb_func_start FUN_0204BA1C FUN_0204BA1C: ; 0x0204BA1C push {r3-r5, lr} ldr r0, [r0, #0xc] ldr r4, _0204BA60 ; =0x021C5A1C bl FUN_02029FC8 add r5, r0, #0x0 bl FUN_020126FC add r3, r1, #0x0 ldr r1, _0204BA64 ; =0x021C5A1C add r2, r0, #0x0 ldr r0, [r1, #0x40] ldr r1, [r1, #0x44] bl FUN_020127C0 mov r2, #0xfa mov r3, #0x0 lsl r2, r2, #0x2 sub r2, r0, r2 sbc r1, r3 bge _0204BA50 mov r1, #0xfa lsl r1, r1, #0x2 sub r0, r1, r0 lsl r0, r0, #0x1 b _0204BA52 _0204BA50: mov r0, #0x0 _0204BA52: str r0, [r4, #0x48] add r0, r5, #0x0 mov r1, #0x11 bl FUN_0202A170 pop {r3-r5, pc} nop _0204BA60: .word 0x021C5A1C _0204BA64: .word 0x021C5A1C thumb_func_start FUN_0204BA68 FUN_0204BA68: ; 0x0204BA68 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _0204BA8C ; =0x021C5A1C add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_0204BBE8 cmp r0, #0x1 bne _0204BA88 ldr r1, _0204BA8C ; =0x021C5A1C add r0, r5, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 bl FUN_0204BC48 pop {r4-r6, pc} _0204BA88: mov r0, #0x0 pop {r4-r6, pc} .balign 4 _0204BA8C: .word 0x021C5A1C thumb_func_start FUN_0204BA90 FUN_0204BA90: ; 0x0204BA90 ldr r3, _0204BA98 ; =FUN_0204BD40 ldr r1, _0204BA9C ; =0x021C5A1C bx r3 nop _0204BA98: .word FUN_0204BD40 _0204BA9C: .word 0x021C5A1C thumb_func_start FUN_0204BAA0 FUN_0204BAA0: ; 0x0204BAA0 ldr r3, _0204BAA8 ; =FUN_0204BD18 ldr r2, _0204BAAC ; =0x021C5A1C bx r3 nop _0204BAA8: .word FUN_0204BD18 _0204BAAC: .word 0x021C5A1C thumb_func_start FUN_0204BAB0 FUN_0204BAB0: ; 0x0204BAB0 push {r3, lr} ldr r0, _0204BAC0 ; =0x021C5A1C bl FUN_0204BBA8 mov r1, #0x6 sub r0, r1, r0 pop {r3, pc} nop _0204BAC0: .word 0x021C5A1C thumb_func_start FUN_0204BAC4 FUN_0204BAC4: ; 0x0204BAC4 ldr r3, _0204BACC ; =FUN_0204BD8C ldr r0, _0204BAD0 ; =0x021C5A1C bx r3 nop _0204BACC: .word FUN_0204BD8C _0204BAD0: .word 0x021C5A1C thumb_func_start FUN_0204BAD4 FUN_0204BAD4: ; 0x0204BAD4 ldr r3, _0204BADC ; =0x0204BE11 ldr r0, _0204BAE0 ; =0x021C5A1C bx r3 nop _0204BADC: .word 0x0204BE11 _0204BAE0: .word 0x021C5A1C thumb_func_start FUN_0204BAE4 FUN_0204BAE4: ; 0x0204BAE4 ldr r3, _0204BAEC ; =FUN_0204BDA0 ldr r0, _0204BAF0 ; =0x021C5A1C bx r3 nop _0204BAEC: .word FUN_0204BDA0 _0204BAF0: .word 0x021C5A1C thumb_func_start FUN_0204BAF4 FUN_0204BAF4: ; 0x0204BAF4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 beq _0204BB04 ldr r0, _0204BB1C ; =0x000001ED cmp r5, r0 bls _0204BB08 _0204BB04: bl ErrorHandling _0204BB08: mov r3, #0x6 add r0, r4, #0x0 sub r4, r5, #0x1 str r3, [sp, #0x0] mov r1, #0x83 mov r2, #0x0 mul r3, r4 bl FUN_02006548 pop {r3-r5, pc} .balign 4 _0204BB1C: .word 0x000001ED thumb_func_start FUN_0204BB20 FUN_0204BB20: ; 0x0204BB20 push {r3-r7, lr} sub sp, #0x10 ldr r0, [r0, #0xc] str r1, [sp, #0x0] bl FUN_02022528 str r0, [sp, #0x4] mov r0, #0x4 bl FUN_020669C0 ldr r5, [sp, #0x0] add r4, r0, #0x0 mov r6, #0x0 add r7, sp, #0x8 _0204BB3C: ldr r0, [sp, #0x0] add r2, r4, #0x0 add r1, r0, r6 add r1, #0x30 mov r0, #0x0 strb r0, [r1, #0x0] ldr r0, [sp, #0x4] add r1, r6, #0x0 bl FUN_0202BFD8 add r0, r4, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 strh r0, [r5, #0x0] add r1, sp, #0x8 bl FUN_0204BAF4 ldrb r0, [r7, #0x0] cmp r0, #0x0 beq _0204BB6E b _0204BB72 _0204BB6E: ldrb r0, [r7, #0x1] add r0, r0, #0x4 _0204BB72: strb r0, [r5, #0x2] ldrb r0, [r7, #0x3] mov r1, #0xb0 mov r2, #0x0 strb r0, [r5, #0x3] ldrb r0, [r7, #0x2] strh r0, [r5, #0x4] add r0, r4, #0x0 bl FUN_020671BC strb r0, [r5, #0x6] add r0, r4, #0x0 mov r1, #0xb1 mov r2, #0x0 bl FUN_020671BC strb r0, [r5, #0x7] add r6, r6, #0x1 add r5, #0x8 cmp r6, #0x6 blt _0204BB3C add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x10 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0204BBA8 FUN_0204BBA8: ; 0x0204BBA8 mov r3, #0x0 add r2, r3, #0x0 _0204BBAC: add r1, r0, r2 add r1, #0x30 ldrb r1, [r1, #0x0] cmp r1, #0x0 beq _0204BBB8 add r3, r3, #0x1 _0204BBB8: add r2, r2, #0x1 cmp r2, #0x6 blt _0204BBAC add r0, r3, #0x0 bx lr .balign 4 thumb_func_start FUN_0204BBC4 FUN_0204BBC4: ; 0x0204BBC4 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_0201B9EC ldr r1, _0204BBE4 ; =0x0000199A blx _s32_div_f lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0xa blo _0204BBDE bl ErrorHandling _0204BBDE: add r0, r5, #0x5 str r0, [r4, #0x38] pop {r3-r5, pc} .balign 4 _0204BBE4: .word 0x0000199A thumb_func_start FUN_0204BBE8 FUN_0204BBE8: ; 0x0204BBE8 push {r3, lr} ldr r1, [r0, #0x38] sub r1, r1, #0x1 str r1, [r0, #0x38] bne _0204BBFA bl FUN_0204BBC4 mov r0, #0x1 pop {r3, pc} _0204BBFA: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0204BC00 FUN_0204BC00: ; 0x0204BC00 push {r4-r6, lr} add r5, r1, #0x0 add r6, r2, #0x0 bl FUN_0204A6E0 add r4, r0, #0x0 cmp r5, #0x20 blt _0204BC14 mov r5, #0x1 b _0204BC16 _0204BC14: mov r5, #0x0 _0204BC16: cmp r6, #0x20 bge _0204BC1E mov r0, #0x0 b _0204BC20 _0204BC1E: mov r0, #0x2 _0204BC20: add r5, r5, r0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 bl FUN_0205478C cmp r0, #0x0 beq _0204BC32 add r0, r5, #0x1 pop {r4-r6, pc} _0204BC32: lsl r0, r4, #0x18 lsr r0, r0, #0x18 bl FUN_0205481C cmp r0, #0x0 beq _0204BC42 add r0, r5, #0x5 pop {r4-r6, pc} _0204BC42: mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0204BC48 FUN_0204BC48: ; 0x0204BC48 push {r3-r7, lr} add r5, r1, #0x0 add r1, r2, #0x0 add r2, r3, #0x0 mov r6, #0x0 bl FUN_0204BC00 add r7, r0, #0x0 bne _0204BC5E add r0, r6, #0x0 pop {r3-r7, pc} _0204BC5E: add r0, r6, #0x0 add r1, r5, #0x0 _0204BC62: add r2, r5, r0 add r2, #0x30 ldrb r2, [r2, #0x0] cmp r2, #0x0 bne _0204BC76 ldrb r2, [r1, #0x2] cmp r7, r2 bne _0204BC76 ldrb r2, [r1, #0x3] add r6, r6, r2 _0204BC76: add r0, r0, #0x1 add r1, #0x8 cmp r0, #0x6 blt _0204BC62 cmp r6, #0x0 bne _0204BC86 mov r0, #0x0 pop {r3-r7, pc} _0204BC86: add r0, r6, #0x0 add r0, #0x14 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bne _0204BC94 bl ErrorHandling _0204BC94: add r0, r6, #0x0 add r0, #0x14 lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, #0x1 bhi _0204BCA4 mov r4, #0x0 b _0204BCD8 _0204BCA4: bl FUN_0201B9EC add r1, r6, #0x0 add r1, #0x14 add r4, r0, #0x0 lsl r1, r1, #0x10 ldr r0, _0204BD14 ; =0x0000FFFF lsr r1, r1, #0x10 blx _s32_div_f add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r4, #0x0 lsr r1, r1, #0x10 blx _s32_div_f lsl r0, r0, #0x10 add r6, #0x14 lsr r4, r0, #0x10 lsl r0, r6, #0x10 lsr r0, r0, #0x10 cmp r4, r0 blo _0204BCD8 bl ErrorHandling _0204BCD8: cmp r4, #0x14 bge _0204BCE0 mov r0, #0x0 pop {r3-r7, pc} _0204BCE0: sub r4, #0x14 mov r1, #0x0 add r0, r5, #0x0 _0204BCE6: add r2, r5, r1 add r2, #0x30 ldrb r2, [r2, #0x0] cmp r2, #0x0 bne _0204BD04 ldrb r2, [r0, #0x2] cmp r7, r2 bne _0204BD04 ldrb r2, [r0, #0x3] cmp r4, r2 bge _0204BD02 str r1, [r5, #0x3c] mov r0, #0x1 pop {r3-r7, pc} _0204BD02: sub r4, r4, r2 _0204BD04: add r1, r1, #0x1 add r0, #0x8 cmp r1, #0x6 blt _0204BCE6 bl ErrorHandling mov r0, #0x0 pop {r3-r7, pc} .balign 4 _0204BD14: .word 0x0000FFFF thumb_func_start FUN_0204BD18 FUN_0204BD18: ; 0x0204BD18 push {r4, lr} ldr r0, [r1, #0x14] add r4, r2, #0x0 cmp r0, #0x4 beq _0204BD28 cmp r0, #0x5 beq _0204BD3E b _0204BD3A _0204BD28: add r0, r4, #0x0 bl FUN_0204BBA8 add r1, r0, #0x1 ldr r0, [r4, #0x3c] add r0, r4, r0 add r0, #0x30 strb r1, [r0, #0x0] pop {r4, pc} _0204BD3A: bl ErrorHandling _0204BD3E: pop {r4, pc} thumb_func_start FUN_0204BD40 FUN_0204BD40: ; 0x0204BD40 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x20 add r6, r1, #0x0 bl FUN_020669C0 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02022528 str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_0204BAB0 add r1, r0, #0x0 mov r0, #0xb bl FUN_02047800 add r1, r5, #0x0 add r7, r0, #0x0 bl FUN_02047BB0 ldr r0, [sp, #0x0] ldr r1, [r6, #0x3c] add r2, r4, #0x0 bl FUN_0202BFD8 add r0, r7, #0x0 add r1, r4, #0x0 mov r2, #0x1 bl FUN_020479FC add r0, r4, #0x0 bl FUN_02016A18 add r0, r7, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0204BD8C FUN_0204BD8C: ; 0x0204BD8C mov r3, #0x0 add r2, r3, #0x0 _0204BD90: ldrh r1, [r0, #0x4] add r2, r2, #0x1 add r0, #0x8 add r3, r3, r1 cmp r2, #0x6 blt _0204BD90 add r0, r3, #0x0 bx lr thumb_func_start FUN_0204BDA0 FUN_0204BDA0: ; 0x0204BDA0 push {r4-r7} mov r3, #0x0 add r5, r0, #0x0 add r4, r3, #0x0 mov r0, #0x1 _0204BDAA: mov r1, #0x0 _0204BDAC: add r2, r5, r1 add r2, #0x30 ldrb r2, [r2, #0x0] cmp r0, r2 bne _0204BDEC lsl r1, r1, #0x3 add r2, r5, r1 ldrb r1, [r2, #0x6] ldrb r2, [r2, #0x7] cmp r0, #0x1 beq _0204BDD8 mov r6, r12 cmp r6, r1 beq _0204BDD8 mov r6, r12 cmp r6, r2 beq _0204BDD8 cmp r7, r1 beq _0204BDD8 cmp r7, r2 beq _0204BDD8 add r4, #0xc8 _0204BDD8: mov r6, #0x1 mov r12, r1 lsl r6, r1 add r1, r3, #0x0 mov r3, #0x1 lsl r3, r2 orr r1, r6 add r7, r2, #0x0 orr r3, r1 b _0204BDF2 _0204BDEC: add r1, r1, #0x1 cmp r1, #0x6 blt _0204BDAC _0204BDF2: add r0, r0, #0x1 cmp r0, #0x7 blt _0204BDAA cmp r3, #0x0 beq _0204BE0A mov r0, #0x1 _0204BDFE: add r1, r3, #0x0 tst r1, r0 beq _0204BE06 add r4, #0x32 _0204BE06: lsr r3, r3, #0x1 bne _0204BDFE _0204BE0A: add r0, r4, #0x0 pop {r4-r7} bx lr thumb_func_start FUN_0204BE10 FUN_0204BE10: ; 0x0204BE10 ldr r0, [r0, #0x48] bx lr thumb_func_start FUN_0204BE14 FUN_0204BE14: ; 0x0204BE14 mov r0, #0xe8 bx lr thumb_func_start FUN_0204BE18 FUN_0204BE18: ; 0x0204BE18 push {r3-r5, lr} mov r2, #0x0 add r3, r2, #0x0 _0204BE1E: add r1, r0, r2 add r2, r2, #0x1 strb r3, [r1, #0x3] cmp r2, #0x20 blt _0204BE1E strb r3, [r0, #0x1] strb r3, [r0, #0x2] ldrb r1, [r0, #0x0] mov r2, #0x1 bic r1, r2 strb r1, [r0, #0x0] ldrb r4, [r0, #0x0] mov r1, #0x38 bic r4, r1 strb r4, [r0, #0x0] ldrb r4, [r0, #0x0] mov r1, #0x2 bic r4, r1 strb r4, [r0, #0x0] str r3, [r0, #0x24] ldrh r1, [r0, #0x28] bic r1, r2 strh r1, [r0, #0x28] ldrh r2, [r0, #0x28] mov r1, #0x3e bic r2, r1 strh r2, [r0, #0x28] ldrh r2, [r0, #0x28] ldr r1, _0204BEB0 ; =0xFFFFF03F and r1, r2 strh r1, [r0, #0x28] add r1, r0, #0x0 mov r2, #0x1 add r1, #0xa8 strb r2, [r1, #0x0] add r1, r0, #0x0 add r1, #0xa4 str r3, [r1, #0x0] ldr r1, _0204BEB4 ; =0x020F486C add r2, r0, #0x0 _0204BE6E: ldrb r5, [r1, #0x0] add r4, r2, #0x0 add r4, #0xa9 strb r5, [r4, #0x0] add r4, r2, #0x0 ldrb r5, [r1, #0x1] add r4, #0xaa add r3, r3, #0x1 strb r5, [r4, #0x0] add r1, r1, #0x2 add r2, r2, #0x2 cmp r3, #0x6 blt _0204BE6E mov r4, #0x0 add r3, r0, #0x0 add r1, r4, #0x0 _0204BE8E: add r2, r3, #0x0 add r2, #0xb6 strh r1, [r2, #0x0] add r2, r3, #0x0 add r2, #0xb8 add r4, r4, #0x1 add r3, r3, #0x4 strh r1, [r2, #0x0] cmp r4, #0xc blt _0204BE8E ldrb r3, [r0, #0x0] mov r2, #0x4 bic r3, r2 strb r3, [r0, #0x0] bl FUN_0204BED8 pop {r3-r5, pc} .balign 4 _0204BEB0: .word 0xFFFFF03F _0204BEB4: .word 0x020F486C thumb_func_start FUN_0204BEB8 FUN_0204BEB8: ; 0x0204BEB8 ldrb r2, [r0, #0x0] mov r1, #0x1 bic r2, r1 mov r1, #0x1 orr r1, r2 strb r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_0204BEC8 FUN_0204BEC8: ; 0x0204BEC8 ldrb r0, [r0, #0x0] lsl r0, r0, #0x1f lsr r0, r0, #0x1f bx lr thumb_func_start FUN_0204BED0 FUN_0204BED0: ; 0x0204BED0 add r0, r0, r1 ldrb r0, [r0, #0x3] bx lr .balign 4 thumb_func_start FUN_0204BED8 FUN_0204BED8: ; 0x0204BED8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bmi _0204BEE4 cmp r4, #0x19 blt _0204BEE8 _0204BEE4: bl ErrorHandling _0204BEE8: mov r0, #0x1 ldrsb r1, [r5, r0] cmp r1, #0x19 bge _0204BF10 add r2, r5, #0x3 ldrb r1, [r2, r4] cmp r1, #0x0 bne _0204BF10 strb r0, [r2, r4] ldrsb r0, [r5, r0] add r0, r0, #0x1 strb r0, [r5, #0x1] cmp r4, #0x3 bne _0204BF0C ldrb r1, [r5, #0x0] mov r0, #0x2 orr r0, r1 strb r0, [r5, #0x0] _0204BF0C: mov r0, #0x1 pop {r3-r5, pc} _0204BF10: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0204BF14 FUN_0204BF14: ; 0x0204BF14 mov r1, #0x2 ldrsb r0, [r0, r1] bx lr .balign 4 thumb_func_start FUN_0204BF1C FUN_0204BF1C: ; 0x0204BF1C push {r3-r4} mov r1, #0x2 ldrsb r3, [r0, r1] mov r2, #0x0 add r4, r3, #0x0 _0204BF26: add r3, r3, #0x1 cmp r3, #0x19 blt _0204BF2E add r3, r2, #0x0 _0204BF2E: cmp r3, r4 beq _0204BF3A add r1, r0, r3 ldrb r1, [r1, #0x3] cmp r1, #0x0 beq _0204BF26 _0204BF3A: mov r1, #0x2 strb r3, [r0, #0x2] ldrsb r0, [r0, r1] pop {r3-r4} bx lr thumb_func_start FUN_0204BF44 FUN_0204BF44: ; 0x0204BF44 push {r4, lr} add r4, r0, #0x0 bne _0204BF4E bl ErrorHandling _0204BF4E: ldrb r0, [r4, #0x0] lsl r0, r0, #0x1a lsr r0, r0, #0x1d pop {r4, pc} .balign 4 thumb_func_start FUN_0204BF58 FUN_0204BF58: ; 0x0204BF58 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _0204BF66 bl ErrorHandling _0204BF66: cmp r4, #0x8 blo _0204BF6E bl ErrorHandling _0204BF6E: ldrb r1, [r5, #0x0] mov r0, #0x38 bic r1, r0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1d lsr r0, r0, #0x1a orr r0, r1 strb r0, [r5, #0x0] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0204BF84 FUN_0204BF84: ; 0x0204BF84 ldr r0, [r0, #0x24] bx lr thumb_func_start FUN_0204BF88 FUN_0204BF88: ; 0x0204BF88 ldrb r2, [r0, #0x0] lsl r2, r2, #0x1e lsr r2, r2, #0x1f beq _0204BF92 str r1, [r0, #0x24] _0204BF92: bx lr thumb_func_start FUN_0204BF94 FUN_0204BF94: ; 0x0204BF94 ldrh r0, [r0, #0x28] lsl r0, r0, #0x1f lsr r0, r0, #0x1f bx lr thumb_func_start FUN_0204BF9C FUN_0204BF9C: ; 0x0204BF9C ldrh r3, [r0, #0x28] lsl r3, r3, #0x1a lsr r3, r3, #0x1b str r3, [r1, #0x0] ldrh r0, [r0, #0x28] lsl r0, r0, #0x14 lsr r0, r0, #0x1a str r0, [r2, #0x0] bx lr .balign 4 thumb_func_start FUN_0204BFB0 FUN_0204BFB0: ; 0x0204BFB0 push {r4-r5} ldrh r4, [r0, #0x28] mov r5, #0x1 lsl r1, r1, #0x10 bic r4, r5 lsr r5, r1, #0x10 mov r1, #0x1 and r1, r5 orr r1, r4 strh r1, [r0, #0x28] lsl r2, r2, #0x10 lsr r2, r2, #0x10 lsl r2, r2, #0x1b ldrh r1, [r0, #0x28] mov r4, #0x3e lsr r2, r2, #0x1a bic r1, r4 orr r1, r2 strh r1, [r0, #0x28] ldrh r2, [r0, #0x28] ldr r1, _0204BFEC ; =0xFFFFF03F and r2, r1 lsl r1, r3, #0x10 lsr r1, r1, #0x10 lsl r1, r1, #0x1a lsr r1, r1, #0x14 orr r1, r2 strh r1, [r0, #0x28] pop {r4-r5} bx lr .balign 4 _0204BFEC: .word 0xFFFFF03F thumb_func_start FUN_0204BFF0 FUN_0204BFF0: ; 0x0204BFF0 push {r3-r4} add r3, r0, #0x0 add r3, #0xa8 ldrb r3, [r3, #0x0] cmp r3, r1 bne _0204C016 add r1, r0, #0x0 add r1, #0xa4 ldr r4, [r1, #0x0] mov r3, #0x1 sub r1, r2, #0x1 add r2, r3, #0x0 lsl r2, r1 add r1, r4, #0x0 orr r1, r2 add r0, #0xa4 str r1, [r0, #0x0] pop {r3-r4} bx lr _0204C016: add r3, r0, #0x0 add r3, #0xa8 strb r1, [r3, #0x0] mov r3, #0x1 sub r1, r2, #0x1 add r2, r3, #0x0 lsl r2, r1 add r0, #0xa4 str r2, [r0, #0x0] pop {r3-r4} bx lr thumb_func_start FUN_0204C02C FUN_0204C02C: ; 0x0204C02C push {r3-r4} add r3, r0, #0x0 add r3, #0xa8 ldrb r3, [r3, #0x0] cmp r3, r1 bne _0204C052 add r1, r0, #0x0 add r1, #0xa4 ldr r4, [r1, #0x0] mov r3, #0x1 sub r1, r2, #0x1 add r2, r3, #0x0 lsl r2, r1 mvn r1, r2 and r1, r4 add r0, #0xa4 str r1, [r0, #0x0] pop {r3-r4} bx lr _0204C052: add r2, r0, #0x0 add r2, #0xa8 strb r1, [r2, #0x0] mov r1, #0x0 add r0, #0xa4 str r1, [r0, #0x0] pop {r3-r4} bx lr .balign 4 thumb_func_start FUN_0204C064 FUN_0204C064: ; 0x0204C064 add r3, r0, #0x0 add r3, #0xa8 ldrb r3, [r3, #0x0] cmp r3, r1 bne _0204C07C add r0, #0xa4 ldr r1, [r0, #0x0] sub r0, r2, #0x1 lsr r1, r0 mov r0, #0x1 and r0, r1 bx lr _0204C07C: mov r0, #0x0 bx lr thumb_func_start FUN_0204C080 FUN_0204C080: ; 0x0204C080 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 cmp r4, #0x6 blt _0204C092 bl ErrorHandling _0204C092: lsl r1, r4, #0x1 add r0, r5, r1 add r0, #0xa9 strb r6, [r0, #0x0] add r0, r5, r1 add r0, #0xaa strb r7, [r0, #0x0] pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0204C0A4 FUN_0204C0A4: ; 0x0204C0A4 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 cmp r4, #0x6 blt _0204C0B6 bl ErrorHandling _0204C0B6: lsl r1, r4, #0x1 add r0, r5, r1 add r0, #0xa9 ldrb r0, [r0, #0x0] strb r0, [r6, #0x0] add r0, r5, r1 add r0, #0xaa ldrb r0, [r0, #0x0] strb r0, [r7, #0x0] pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0204C0CC FUN_0204C0CC: ; 0x0204C0CC ldrb r0, [r0, #0x0] lsl r0, r0, #0x1d lsr r0, r0, #0x1f bx lr thumb_func_start FUN_0204C0D4 FUN_0204C0D4: ; 0x0204C0D4 push {r3, lr} ldrb r2, [r0, #0x0] lsl r2, r2, #0x1d lsr r2, r2, #0x1f beq _0204C0E6 add r0, #0x2a mov r2, #0x78 blx MI_CpuCopy8 _0204C0E6: pop {r3, pc} thumb_func_start FUN_0204C0E8 FUN_0204C0E8: ; 0x0204C0E8 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 add r1, r4, #0x0 add r1, #0x2a mov r2, #0x78 blx MI_CpuCopy8 ldrb r1, [r4, #0x0] mov r0, #0x4 orr r0, r1 strb r0, [r4, #0x0] pop {r4, pc} .balign 4 thumb_func_start FUN_0204C104 FUN_0204C104: ; 0x0204C104 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 bl FUN_0204C158 cmp r0, #0xc blt _0204C138 mov r0, #0x0 add r1, r5, #0x0 _0204C116: add r2, r1, #0x0 add r2, #0xba ldrh r3, [r2, #0x0] add r2, r1, #0x0 add r2, #0xb6 strh r3, [r2, #0x0] add r2, r1, #0x0 add r2, #0xbc ldrh r3, [r2, #0x0] add r2, r1, #0x0 add r2, #0xb8 add r0, r0, #0x1 add r1, r1, #0x4 strh r3, [r2, #0x0] cmp r0, #0xb blt _0204C116 mov r0, #0xb _0204C138: lsl r4, r0, #0x2 add r0, r6, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020672BC add r1, r5, r4 add r1, #0xb6 strh r0, [r1, #0x0] add r0, r6, #0x0 bl FUN_0206B754 add r1, r5, r4 add r1, #0xb8 strh r0, [r1, #0x0] pop {r4-r6, pc} thumb_func_start FUN_0204C158 FUN_0204C158: ; 0x0204C158 mov r2, #0x0 _0204C15A: add r1, r0, #0x0 add r1, #0xb6 ldrh r1, [r1, #0x0] cmp r1, #0x0 bne _0204C168 add r0, r2, #0x0 bx lr _0204C168: add r2, r2, #0x1 add r0, r0, #0x4 cmp r2, #0xc blt _0204C15A add r0, r2, #0x0 bx lr thumb_func_start FUN_0204C174 FUN_0204C174: ; 0x0204C174 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r7, r2, #0x0 str r3, [sp, #0x0] cmp r4, #0xc blt _0204C186 bl ErrorHandling _0204C186: add r6, r5, #0x0 lsl r4, r4, #0x2 add r6, #0xb6 ldrh r0, [r6, r4] cmp r0, #0x0 bne _0204C196 bl ErrorHandling _0204C196: ldrh r0, [r6, r4] str r0, [r7, #0x0] add r0, r5, r4 add r0, #0xb8 ldrh r1, [r0, #0x0] ldr r0, [sp, #0x0] str r1, [r0, #0x0] pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0204C1A8 FUN_0204C1A8: ; 0x0204C1A8 ldr r3, _0204C1B0 ; =FUN_02022610 mov r1, #0x5 bx r3 nop _0204C1B0: .word FUN_02022610 thumb_func_start FUN_0204C1B4 FUN_0204C1B4: ; 0x0204C1B4 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 ldr r0, [sp, #0x24] mov r1, #0x20 add r4, r2, #0x0 add r6, r3, #0x0 bl FUN_02016998 add r2, r0, #0x0 str r5, [r2, #0x4] str r4, [r2, #0x8] str r6, [r2, #0xc] add r0, sp, #0x8 ldrh r0, [r0, #0x10] ldr r1, _0204C1F0 ; =FUN_0204C1F4 strh r0, [r2, #0x10] ldr r0, [sp, #0x1c] str r0, [r2, #0x14] ldr r0, [sp, #0x20] str r0, [r2, #0x18] ldr r0, [sp, #0x24] str r0, [r2, #0x1c] mov r0, #0x0 str r0, [r2, #0x0] add r0, r7, #0x0 bl FUN_0204640C pop {r3-r7, pc} nop _0204C1F0: .word FUN_0204C1F4 thumb_func_start FUN_0204C1F4 FUN_0204C1F4: ; 0x0204C1F4 push {r4-r5, lr} sub sp, #0xc add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _0204C214 cmp r0, #0x1 beq _0204C23C b _0204C258 _0204C214: ldr r0, [r5, #0x4] ldr r0, [r0, #0x1c] bl FUN_021F4608 ldr r0, [r4, #0x14] str r0, [sp, #0x0] ldr r0, [r4, #0x18] str r0, [sp, #0x4] ldr r0, [r4, #0x1c] str r0, [sp, #0x8] ldrh r3, [r4, #0x10] ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] ldr r2, [r4, #0xc] bl FUN_0200E1D0 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204C258 _0204C23C: bl FUN_0200E308 cmp r0, #0x0 beq _0204C258 ldr r0, [r5, #0x4] ldr r0, [r0, #0x1c] bl FUN_021F45E8 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0xc mov r0, #0x1 pop {r4-r5, pc} _0204C258: mov r0, #0x0 add sp, #0xc pop {r4-r5, pc} .balign 4 thumb_func_start FUN_0204C260 FUN_0204C260: ; 0x0204C260 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 mov r0, #0xb mov r1, #0x24 add r4, r2, #0x0 add r6, r3, #0x0 bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] str r0, [r2, #0x4] str r5, [r2, #0x8] str r4, [r2, #0xc] ldr r0, [sp, #0x18] str r6, [r2, #0x10] str r0, [r2, #0x14] ldr r0, [sp, #0x1c] ldr r1, _0204C298 ; =FUN_0204C380 str r0, [r2, #0x18] ldr r0, [sp, #0x20] str r0, [r2, #0x20] add r0, r7, #0x0 bl FUN_020463CC pop {r3-r7, pc} nop _0204C298: .word FUN_0204C380 thumb_func_start FUN_0204C29C FUN_0204C29C: ; 0x0204C29C push {r4-r7, lr} sub sp, #0xc add r7, r0, #0x0 add r5, r1, #0x0 mov r0, #0xb mov r1, #0x24 str r2, [sp, #0x0] str r3, [sp, #0x4] bl FUN_020169D8 add r6, r0, #0x0 mov r4, #0x0 str r4, [r6, #0x0] str r4, [r6, #0x4] ldr r0, [sp, #0x0] str r5, [r6, #0x8] str r0, [r6, #0xc] ldr r0, [sp, #0x4] str r0, [r6, #0x10] ldr r0, [sp, #0x20] str r0, [r6, #0x14] ldr r0, [sp, #0x24] str r0, [r6, #0x18] ldr r0, [r7, #0x1c] ldr r0, [r0, #0x0] str r0, [sp, #0x8] bl FUN_02034930 cmp r0, #0x0 beq _0204C308 add r0, r5, #0x0 bl FUN_02034930 cmp r0, #0x0 beq _0204C2E6 mov r4, #0x6 b _0204C36A _0204C2E6: add r0, r5, #0x0 bl FUN_02034964 cmp r0, #0x0 beq _0204C2F4 mov r4, #0x5 b _0204C36A _0204C2F4: add r0, r5, #0x0 bl FUN_02034944 cmp r0, #0x0 beq _0204C302 mov r4, #0x6 b _0204C36A _0204C302: bl ErrorHandling b _0204C36A _0204C308: ldr r0, [sp, #0x8] bl FUN_02034964 cmp r0, #0x0 beq _0204C334 add r0, r5, #0x0 bl FUN_02034930 cmp r0, #0x0 beq _0204C320 mov r4, #0x4 b _0204C36A _0204C320: add r0, r5, #0x0 bl FUN_02034944 cmp r0, #0x0 beq _0204C32E mov r4, #0x6 b _0204C36A _0204C32E: bl ErrorHandling b _0204C36A _0204C334: ldr r0, [sp, #0x8] bl FUN_02034944 cmp r0, #0x0 beq _0204C366 add r0, r5, #0x0 bl FUN_02034964 cmp r0, #0x0 bne _0204C36A add r0, r5, #0x0 bl FUN_02034944 cmp r0, #0x0 beq _0204C356 mov r4, #0x6 b _0204C36A _0204C356: add r0, r5, #0x0 bl FUN_02034930 cmp r0, #0x0 bne _0204C36A bl ErrorHandling b _0204C36A _0204C366: bl ErrorHandling _0204C36A: ldr r1, _0204C37C ; =FUN_0204C380 add r0, r7, #0x0 add r2, r6, #0x0 str r4, [r6, #0x20] bl FUN_020463CC add sp, #0xc pop {r4-r7, pc} nop _0204C37C: .word FUN_0204C380 thumb_func_start FUN_0204C380 FUN_0204C380: ; 0x0204C380 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02046528 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r6, r4, #0x0 ldr r1, [r4, #0x0] add r6, #0x8 cmp r1, #0x6 bhi _0204C458 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0204C3A8: ; jump table (using 16-bit offset) .short _0204C3B6 - _0204C3A8 - 2; case 0 .short _0204C3DA - _0204C3A8 - 2; case 1 .short _0204C3E8 - _0204C3A8 - 2; case 2 .short _0204C3F8 - _0204C3A8 - 2; case 3 .short _0204C406 - _0204C3A8 - 2; case 4 .short _0204C41E - _0204C3A8 - 2; case 5 .short _0204C450 - _0204C3A8 - 2; case 6 _0204C3B6: mov r0, #0x0 str r0, [r4, #0x4] ldr r1, [r6, #0x0] add r0, r7, #0x0 bl FUN_0204AD60 ldr r1, [r4, #0x20] add r0, r5, #0x0 lsl r2, r1, #0x2 ldr r1, _0204C45C ; =0x020F4894 ldr r1, [r1, r2] add r2, r4, #0x0 bl FUN_0204640C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204C458 _0204C3DA: add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204C458 _0204C3E8: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02049160 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204C458 _0204C3F8: add r0, r5, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204C458 _0204C406: ldr r0, [r4, #0x20] lsl r1, r0, #0x2 ldr r0, _0204C460 ; =0x020F48B0 ldr r1, [r0, r1] cmp r1, #0x0 beq _0204C416 add r0, r7, #0x0 blx r1 _0204C416: ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204C458 _0204C41E: bl FUN_02005404 cmp r0, #0x0 bne _0204C458 ldr r1, [r6, #0x0] add r0, r7, #0x0 bl FUN_0204AD8C add r0, r7, #0x0 bl FUN_021E331C mov r0, #0x0 str r0, [r4, #0x4] ldr r1, [r4, #0x20] add r0, r5, #0x0 lsl r2, r1, #0x2 ldr r1, _0204C464 ; =0x020F4878 ldr r1, [r1, r2] add r2, r4, #0x0 bl FUN_0204640C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204C458 _0204C450: bl FUN_02016A18 mov r0, #0x1 pop {r3-r7, pc} _0204C458: mov r0, #0x0 pop {r3-r7, pc} .balign 4 _0204C45C: .word 0x020F4894 _0204C460: .word 0x020F48B0 _0204C464: .word 0x020F4878 thumb_func_start FUN_0204C468 FUN_0204C468: ; 0x0204C468 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02046528 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _0204C484 cmp r0, #0x1 beq _0204C498 b _0204C49C _0204C484: ldr r0, _0204C4A0 ; =0x00000603 bl FUN_020054C8 add r0, r5, #0x0 bl FUN_0204AFC8 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C49C _0204C498: mov r0, #0x1 pop {r3-r5, pc} _0204C49C: mov r0, #0x0 pop {r3-r5, pc} .balign 4 _0204C4A0: .word 0x00000603 thumb_func_start FUN_0204C4A4 FUN_0204C4A4: ; 0x0204C4A4 push {r4-r6, lr} add r6, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x3 bhi _0204C522 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0204C4C8: ; jump table (using 16-bit offset) .short _0204C4D0 - _0204C4C8 - 2; case 0 .short _0204C4F6 - _0204C4C8 - 2; case 1 .short _0204C510 - _0204C4C8 - 2; case 2 .short _0204C51E - _0204C4C8 - 2; case 3 _0204C4D0: bl FUN_021DA5B8 str r0, [r4, #0x1c] ldr r0, [r5, #0x38] bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r5, #0x38] bl FUN_0205532C add r1, r0, #0x0 ldr r2, [r4, #0x1c] add r0, r6, #0x0 bl FUN_021DA5D0 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C522 _0204C4F6: ldr r1, [r4, #0x1c] add r0, r5, #0x0 bl FUN_021DA5D8 cmp r0, #0x0 beq _0204C522 ldr r0, [r4, #0x1c] bl FUN_021DA5C8 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C522 _0204C510: add r0, r6, #0x0 bl FUN_0204AFC8 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C522 _0204C51E: mov r0, #0x1 pop {r4-r6, pc} _0204C522: mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0204C528 FUN_0204C528: ; 0x0204C528 push {r4-r6, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _0204C54A cmp r0, #0x1 beq _0204C570 cmp r0, #0x2 beq _0204C598 b _0204C59C _0204C54A: bl FUN_021DA5B8 str r0, [r4, #0x1c] ldr r0, [r5, #0x38] bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r5, #0x38] bl FUN_0205532C add r1, r0, #0x0 ldr r2, [r4, #0x1c] add r0, r6, #0x0 bl FUN_021DA5D0 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C59C _0204C570: ldr r0, [r5, #0x38] ldr r6, [r4, #0x1c] bl FUN_020552F8 add r2, r0, #0x0 lsl r2, r2, #0x18 add r0, r5, #0x0 add r1, r6, #0x0 lsr r2, r2, #0x18 bl FUN_021DAC70 cmp r0, #0x0 beq _0204C59C ldr r0, [r4, #0x1c] bl FUN_021DA5C8 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C59C _0204C598: mov r0, #0x1 pop {r4-r6, pc} _0204C59C: mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0204C5A0 FUN_0204C5A0: ; 0x0204C5A0 push {r4-r6, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x3 bhi _0204C63C add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0204C5C4: ; jump table (using 16-bit offset) .short _0204C5CC - _0204C5C4 - 2; case 0 .short _0204C5FE - _0204C5C4 - 2; case 1 .short _0204C61C - _0204C5C4 - 2; case 2 .short _0204C630 - _0204C5C4 - 2; case 3 _0204C5CC: ldr r0, [r5, #0x38] bl FUN_020552F8 add r6, r0, #0x0 ldr r0, [r5, #0x38] bl FUN_020553A0 cmp r6, #0x2 bne _0204C5E6 mov r1, #0xa bl FUN_0205ADDC b _0204C5F6 _0204C5E6: cmp r6, #0x3 bne _0204C5F2 mov r1, #0xb bl FUN_0205ADDC b _0204C5F6 _0204C5F2: bl ErrorHandling _0204C5F6: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C63C _0204C5FE: ldr r0, [r5, #0x38] bl FUN_020553A0 add r5, r0, #0x0 bl FUN_0205AE28 cmp r0, #0x1 bne _0204C63C add r0, r5, #0x0 bl FUN_0205AE50 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C63C _0204C61C: ldr r0, _0204C640 ; =0x00000603 bl FUN_020054C8 mov r0, #0x0 bl FUN_021D7CA4 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C63C _0204C630: bl FUN_0200E308 cmp r0, #0x0 beq _0204C63C mov r0, #0x1 pop {r4-r6, pc} _0204C63C: mov r0, #0x0 pop {r4-r6, pc} .balign 4 _0204C640: .word 0x00000603 thumb_func_start FUN_0204C644 FUN_0204C644: ; 0x0204C644 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r6, #0x38] bl FUN_020553A0 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _0204C668 cmp r0, #0x1 beq _0204C67E b _0204C682 _0204C668: bl FUN_021DB030 add r2, r0, #0x0 ldr r1, _0204C688 ; =0x021DB1D1 add r0, r5, #0x0 bl FUN_0204640C ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C682 _0204C67E: mov r0, #0x1 pop {r4-r6, pc} _0204C682: mov r0, #0x0 pop {r4-r6, pc} nop _0204C688: .word 0x021DB1D1 thumb_func_start FUN_0204C68C FUN_0204C68C: ; 0x0204C68C push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r6, #0x38] bl FUN_020553A0 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _0204C6B0 cmp r0, #0x1 beq _0204C6C6 b _0204C6CA _0204C6B0: bl FUN_021DB030 add r2, r0, #0x0 ldr r1, _0204C6D0 ; =0x021DB145 add r0, r5, #0x0 bl FUN_0204640C ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C6CA _0204C6C6: mov r0, #0x1 pop {r4-r6, pc} _0204C6CA: mov r0, #0x0 pop {r4-r6, pc} nop _0204C6D0: .word 0x021DB145 thumb_func_start FUN_0204C6D4 FUN_0204C6D4: ; 0x0204C6D4 push {r3-r7, lr} add r6, r0, #0x0 bl FUN_02046528 add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_0204652C add r5, r0, #0x0 ldr r0, [r5, #0x4] cmp r0, #0x3 bhi _0204C798 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0204C6F8: ; jump table (using 16-bit offset) .short _0204C700 - _0204C6F8 - 2; case 0 .short _0204C74A - _0204C6F8 - 2; case 1 .short _0204C770 - _0204C6F8 - 2; case 2 .short _0204C794 - _0204C6F8 - 2; case 3 _0204C700: ldr r0, [r4, #0x38] bl FUN_020553A0 add r7, r0, #0x0 ldr r0, [r4, #0x38] bl FUN_02055320 str r0, [sp, #0x0] ldr r0, [r4, #0x38] bl FUN_0205532C add r2, r0, #0x0 ldr r1, [sp, #0x0] add r0, r4, #0x0 bl FUN_0204A6E0 bl FUN_020547B0 cmp r0, #0x0 beq _0204C736 add r0, r7, #0x0 mov r1, #0x1 bl FUN_0205889C mov r0, #0x1 str r0, [r5, #0x4] b _0204C798 _0204C736: bl FUN_021DB030 add r2, r0, #0x0 ldr r1, _0204C79C ; =0x021DB251 add r0, r6, #0x0 bl FUN_0204640C mov r0, #0x3 str r0, [r5, #0x4] b _0204C798 _0204C74A: bl FUN_021DA5B8 str r0, [r5, #0x1c] ldr r0, [r4, #0x38] bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r4, #0x38] bl FUN_0205532C add r1, r0, #0x0 ldr r2, [r5, #0x1c] add r0, r6, #0x0 bl FUN_021DA5D0 ldr r0, [r5, #0x4] add r0, r0, #0x1 str r0, [r5, #0x4] b _0204C798 _0204C770: ldr r5, [r5, #0x1c] add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_021DA7B4 cmp r0, #0x0 beq _0204C798 add r0, r5, #0x0 bl FUN_021DA5C8 ldr r0, [r4, #0x38] bl FUN_020553A0 mov r1, #0x0 bl FUN_0205889C mov r0, #0x1 pop {r3-r7, pc} _0204C794: mov r0, #0x1 pop {r3-r7, pc} _0204C798: mov r0, #0x0 pop {r3-r7, pc} .balign 4 _0204C79C: .word 0x021DB251 thumb_func_start FUN_0204C7A0 FUN_0204C7A0: ; 0x0204C7A0 push {r3-r7, lr} add r6, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _0204C7BE cmp r0, #0x1 beq _0204C814 b _0204C818 _0204C7BE: ldr r0, [r5, #0x38] bl FUN_020553A0 add r7, r0, #0x0 ldr r0, [r5, #0x38] bl FUN_02055320 str r0, [sp, #0x0] ldr r0, [r5, #0x38] bl FUN_0205532C add r2, r0, #0x0 ldr r1, [sp, #0x0] add r0, r5, #0x0 bl FUN_0204A6E0 bl FUN_020547B0 cmp r0, #0x0 beq _0204C7FE add r0, r7, #0x0 mov r1, #0x1 bl FUN_0205889C mov r0, #0x1 str r0, [r4, #0x4] ldr r1, _0204C81C ; =FUN_0204C6D4 add r0, r6, #0x0 add r2, r4, #0x0 bl FUN_020463EC b _0204C818 _0204C7FE: bl FUN_021DB030 add r2, r0, #0x0 ldr r1, _0204C820 ; =0x021DB381 add r0, r6, #0x0 bl FUN_0204640C ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C818 _0204C814: mov r0, #0x1 pop {r3-r7, pc} _0204C818: mov r0, #0x0 pop {r3-r7, pc} .balign 4 _0204C81C: .word FUN_0204C6D4 _0204C820: .word 0x021DB381 thumb_func_start FUN_0204C824 FUN_0204C824: ; 0x0204C824 push {r4-r6, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _0204C846 cmp r0, #0x1 beq _0204C86C cmp r0, #0x2 beq _0204C894 b _0204C898 _0204C846: bl FUN_021DA5B8 str r0, [r4, #0x1c] ldr r0, [r5, #0x38] bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r5, #0x38] bl FUN_0205532C add r1, r0, #0x0 ldr r2, [r4, #0x1c] add r0, r6, #0x0 bl FUN_021DA5D0 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C898 _0204C86C: ldr r0, [r5, #0x38] ldr r6, [r4, #0x1c] bl FUN_020552F8 add r2, r0, #0x0 lsl r2, r2, #0x18 add r0, r5, #0x0 add r1, r6, #0x0 lsr r2, r2, #0x18 bl FUN_021DAAA4 cmp r0, #0x0 beq _0204C898 ldr r0, [r4, #0x1c] bl FUN_021DA5C8 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C898 _0204C894: mov r0, #0x1 pop {r4-r6, pc} _0204C898: mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0204C89C FUN_0204C89C: ; 0x0204C89C push {r4-r6, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x3 bhi _0204C936 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0204C8C0: ; jump table (using 16-bit offset) .short _0204C8C8 - _0204C8C0 - 2; case 0 .short _0204C904 - _0204C8C0 - 2; case 1 .short _0204C922 - _0204C8C0 - 2; case 2 .short _0204C932 - _0204C8C0 - 2; case 3 _0204C8C8: mov r0, #0x1 bl FUN_021D7CA4 ldr r0, [r5, #0x38] bl FUN_020553A0 add r6, r0, #0x0 ldr r0, [r5, #0x38] bl FUN_020552F8 cmp r0, #0x2 bne _0204C8EA add r0, r6, #0x0 mov r1, #0xa bl FUN_0205ADDC b _0204C8FC _0204C8EA: cmp r0, #0x3 bne _0204C8F8 add r0, r6, #0x0 mov r1, #0xb bl FUN_0205ADDC b _0204C8FC _0204C8F8: bl ErrorHandling _0204C8FC: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C936 _0204C904: ldr r0, [r5, #0x38] bl FUN_020553A0 add r5, r0, #0x0 bl FUN_0205AE28 cmp r0, #0x1 bne _0204C936 add r0, r5, #0x0 bl FUN_0205AE50 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C936 _0204C922: bl FUN_0200E308 cmp r0, #0x0 beq _0204C936 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C936 _0204C932: mov r0, #0x1 pop {r4-r6, pc} _0204C936: mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0204C93C FUN_0204C93C: ; 0x0204C93C push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r6, #0x38] bl FUN_020553A0 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _0204C960 cmp r0, #0x1 beq _0204C976 b _0204C97A _0204C960: bl FUN_021DB030 add r2, r0, #0x0 ldr r1, _0204C980 ; =0x021DB041 add r0, r5, #0x0 bl FUN_0204640C ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0204C97A _0204C976: mov r0, #0x1 pop {r4-r6, pc} _0204C97A: mov r0, #0x0 pop {r4-r6, pc} nop _0204C980: .word 0x021DB041 thumb_func_start FUN_0204C984 FUN_0204C984: ; 0x0204C984 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 ldr r0, [r5, #0x38] bl FUN_020552F8 add r4, r0, #0x0 ldr r0, [r5, #0x38] add r1, sp, #0x4 bl FUN_02055350 cmp r4, #0x3 bne _0204C9AA mov r0, #0x1 ldr r1, [sp, #0x4] lsl r0, r0, #0x10 sub r0, r1, r0 str r0, [sp, #0x4] b _0204C9B4 _0204C9AA: mov r0, #0x1 ldr r1, [sp, #0x4] lsl r0, r0, #0x10 add r0, r1, r0 str r0, [sp, #0x4] _0204C9B4: mov r0, #0x0 str r0, [sp, #0x0] ldr r1, [sp, #0x8] ldr r2, [sp, #0x4] ldr r3, [sp, #0xc] add r0, r5, #0x0 bl FUN_0204A708 str r0, [sp, #0x8] ldr r0, [r5, #0x38] add r1, sp, #0x4 add r2, r4, #0x0 bl FUN_020554EC ldr r0, [r5, #0x38] bl FUN_02055360 ldr r1, [r5, #0x20] bl FUN_0201EFEC ldr r0, [r5, #0x38] bl FUN_02055360 ldr r1, [r5, #0x20] bl FUN_0201EC68 add sp, #0x10 pop {r3-r5, pc} thumb_func_start FUN_0204C9EC FUN_0204C9EC: ; 0x0204C9EC push {r4-r6, lr} sub sp, #0x10 add r5, r0, #0x0 ldr r0, [r5, #0x38] bl FUN_020552F8 add r4, r0, #0x0 ldr r0, [r5, #0x38] add r1, sp, #0x4 bl FUN_02055350 ldr r0, [r5, #0x38] bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r5, #0x38] bl FUN_0205532C add r2, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_0204A6E0 add r6, r0, #0x0 bl FUN_020548D8 cmp r0, #0x0 beq _0204CA32 mov r0, #0x1 ldr r1, [sp, #0x4] lsl r0, r0, #0x10 add r0, r1, r0 str r0, [sp, #0x4] mov r4, #0x2 b _0204CA48 _0204CA32: add r0, r6, #0x0 bl FUN_020548E4 cmp r0, #0x0 beq _0204CA48 mov r0, #0x1 ldr r1, [sp, #0x4] lsl r0, r0, #0x10 sub r0, r1, r0 str r0, [sp, #0x4] mov r4, #0x3 _0204CA48: mov r0, #0x0 str r0, [sp, #0x0] ldr r1, [sp, #0x8] ldr r2, [sp, #0x4] ldr r3, [sp, #0xc] add r0, r5, #0x0 bl FUN_0204A708 str r0, [sp, #0x8] ldr r0, [r5, #0x38] add r1, sp, #0x4 add r2, r4, #0x0 bl FUN_020554EC ldr r0, [r5, #0x38] bl FUN_02055360 ldr r1, [r5, #0x20] bl FUN_0201EFEC ldr r0, [r5, #0x38] bl FUN_02055360 ldr r1, [r5, #0x20] bl FUN_0201EC68 add sp, #0x10 pop {r4-r6, pc} thumb_func_start FUN_0204CA80 FUN_0204CA80: ; 0x0204CA80 mov r1, #0x1c mul r1, r0 ldr r0, _0204CA8C ; =0x020F48CC ldrb r0, [r0, r1] bx lr nop _0204CA8C: .word 0x020F48CC thumb_func_start FUN_0204CA90 FUN_0204CA90: ; 0x0204CA90 mov r1, #0x1c mul r1, r0 ldr r0, _0204CA9C ; =0x020F48CD ldrb r0, [r0, r1] bx lr nop _0204CA9C: .word 0x020F48CD thumb_func_start FUN_0204CAA0 FUN_0204CAA0: ; 0x0204CAA0 mov r1, #0x1c ldr r2, _0204CAAC ; =0x020F48CC mul r1, r0 add r0, r2, r1 add r0, r0, #0x2 bx lr .balign 4 _0204CAAC: .word 0x020F48CC thumb_func_start FUN_0204CAB0 FUN_0204CAB0: ; 0x0204CAB0 mov r1, #0x1c mul r1, r0 ldr r0, _0204CABC ; =0x020F48D7 ldrb r0, [r0, r1] bx lr nop _0204CABC: .word 0x020F48D7 thumb_func_start FUN_0204CAC0 FUN_0204CAC0: ; 0x0204CAC0 mov r1, #0x1c mul r1, r0 ldr r0, _0204CACC ; =0x020F48D8 ldrb r0, [r0, r1] bx lr nop _0204CACC: .word 0x020F48D8 thumb_func_start FUN_0204CAD0 FUN_0204CAD0: ; 0x0204CAD0 mov r1, #0x1c mul r1, r0 ldr r0, _0204CADC ; =0x020F48D9 ldrb r0, [r0, r1] bx lr nop _0204CADC: .word 0x020F48D9 thumb_func_start FUN_0204CAE0 FUN_0204CAE0: ; 0x0204CAE0 mov r1, #0x1c mul r1, r0 ldr r0, _0204CAEC ; =0x020F48DC ldr r0, [r0, r1] bx lr nop _0204CAEC: .word 0x020F48DC thumb_func_start FUN_0204CAF0 FUN_0204CAF0: ; 0x0204CAF0 mov r1, #0x1c mul r1, r0 ldr r0, _0204CAFC ; =0x020F48E0 ldr r0, [r0, r1] bx lr nop _0204CAFC: .word 0x020F48E0 thumb_func_start FUN_0204CB00 FUN_0204CB00: ; 0x0204CB00 mov r1, #0x1c mul r1, r0 ldr r0, _0204CB0C ; =0x020F48E4 ldrb r0, [r0, r1] bx lr nop _0204CB0C: .word 0x020F48E4 thumb_func_start FUN_0204CB10 FUN_0204CB10: ; 0x0204CB10 mov r1, #0x1c mul r1, r0 ldr r0, _0204CB1C ; =0x020F48E5 ldrb r0, [r0, r1] bx lr nop _0204CB1C: .word 0x020F48E5 thumb_func_start FUN_0204CB20 FUN_0204CB20: ; 0x0204CB20 push {r3-r7, lr} add r4, r1, #0x0 ldr r1, _0204CC34 ; =0x021C5A68 add r5, r2, #0x0 ldr r2, [r1, #0x0] cmp r2, #0x0 beq _0204CB32 mov r0, #0x0 pop {r3-r7, pc} _0204CB32: bne _0204CB40 mov r2, #0xb1 str r0, [r1, #0x0] mov r1, #0x0 lsl r2, r2, #0x2 blx MI_CpuFill8 _0204CB40: ldr r1, _0204CC34 ; =0x021C5A68 ldr r0, _0204CC38 ; =0x000002BE ldr r2, [r1, #0x0] strb r5, [r2, r0] mov r2, #0x0 ldr r0, [r1, #0x0] cmp r5, #0x0 str r2, [r0, #0x4] beq _0204CB6C bl FUN_02244D1C add r1, r0, #0x0 mov r0, #0xf bl FUN_02016998 ldr r1, _0204CC34 ; =0x021C5A68 ldr r2, [r1, #0x0] str r0, [r2, #0x4] ldr r0, [r1, #0x0] ldr r0, [r0, #0x4] bl FUN_02244D20 _0204CB6C: ldr r0, _0204CC34 ; =0x021C5A68 ldr r7, _0204CC3C ; =0x0000FFFF ldr r1, [r0, #0x0] str r4, [r1, #0x54] mov r1, #0x0 add r2, r1, #0x0 add r3, r1, #0x0 _0204CB7A: ldr r4, [r0, #0x0] add r5, r4, r2 mov r4, #0x0 add r5, #0xa6 mvn r4, r4 strb r4, [r5, #0x0] ldr r4, [r0, #0x0] add r4, r4, r2 add r4, #0xa2 strh r7, [r4, #0x0] ldr r4, [r0, #0x0] add r4, r4, r2 add r4, #0xa4 strh r7, [r4, #0x0] ldr r4, [r0, #0x0] add r5, r4, r2 add r5, #0xa7 mov r4, #0x2 strb r4, [r5, #0x0] ldr r4, [r0, #0x0] add r5, r4, r2 mov r4, #0x0 add r5, #0x66 mvn r4, r4 strb r4, [r5, #0x0] ldr r4, [r0, #0x0] add r4, r4, r2 add r4, #0x62 strh r7, [r4, #0x0] ldr r4, [r0, #0x0] add r4, r4, r2 add r4, #0x64 strh r7, [r4, #0x0] ldr r4, [r0, #0x0] add r5, r4, r2 add r5, #0x67 mov r4, #0x2 strb r4, [r5, #0x0] ldr r4, [r0, #0x0] ldr r5, _0204CC40 ; =0x00000102 add r6, r4, r1 mov r4, #0x0 mvn r4, r4 strb r4, [r6, r5] ldr r4, [r0, #0x0] add r2, #0x8 add r5, r4, r1 add r5, #0xe2 mov r4, #0x0 strb r4, [r5, #0x0] ldr r4, [r0, #0x0] add r5, r4, r1 add r5, #0xea mov r4, #0x1 strb r4, [r5, #0x0] ldr r4, [r0, #0x0] add r5, r4, r1 add r5, #0xf2 mov r4, #0x0 strb r4, [r5, #0x0] ldr r4, [r0, #0x0] mov r5, #0xff add r6, r4, r3 add r4, r5, #0x0 add r4, #0x6b add r1, r1, #0x1 add r3, #0x22 strh r5, [r6, r4] cmp r1, #0x8 blt _0204CB7A ldr r2, _0204CC34 ; =0x021C5A68 mov r1, #0xaf ldr r3, [r2, #0x0] lsl r1, r1, #0x2 mov r0, #0x0 strb r0, [r3, r1] ldr r2, [r2, #0x0] add r1, r1, #0x3 strb r0, [r2, r1] ldr r0, _0204CC44 ; =FUN_0204D4F0 mov r1, #0x0 mov r2, #0xc8 bl FUN_0200CA44 ldr r1, _0204CC34 ; =0x021C5A68 ldr r1, [r1, #0x0] str r0, [r1, #0x50] bl FUN_02030FA8 bl FUN_0204CF60 mov r0, #0x1 pop {r3-r7, pc} .balign 4 _0204CC34: .word 0x021C5A68 _0204CC38: .word 0x000002BE _0204CC3C: .word 0x0000FFFF _0204CC40: .word 0x00000102 _0204CC44: .word FUN_0204D4F0 thumb_func_start FUN_0204CC48 FUN_0204CC48: ; 0x0204CC48 push {r3-r7, lr} ldr r4, _0204CC94 ; =0x021C5A68 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _0204CC92 ldr r6, _0204CC98 ; =0x000002BE mov r5, #0x0 mov r7, #0x1 _0204CC58: ldr r0, [r4, #0x0] ldrb r0, [r0, r6] cmp r0, #0x0 beq _0204CC6E lsl r0, r5, #0x18 lsr r0, r0, #0x18 add r1, r7, #0x0 mov r2, #0x0 bl FUN_0204D43C b _0204CC7A _0204CC6E: lsl r0, r5, #0x18 mov r1, #0x1 lsr r0, r0, #0x18 add r2, r1, #0x0 bl FUN_0204D43C _0204CC7A: add r5, r5, #0x1 cmp r5, #0x8 blt _0204CC58 ldr r0, _0204CC94 ; =0x021C5A68 ldr r2, [r0, #0x0] ldr r0, _0204CC98 ; =0x000002BE ldrb r1, [r2, r0] cmp r1, #0x0 beq _0204CC92 mov r1, #0x1 sub r0, r0, #0x1 strb r1, [r2, r0] _0204CC92: pop {r3-r7, pc} .balign 4 _0204CC94: .word 0x021C5A68 _0204CC98: .word 0x000002BE thumb_func_start FUN_0204CC9C FUN_0204CC9C: ; 0x0204CC9C push {r3, lr} ldr r1, _0204CCD8 ; =0x021C5A68 ldr r3, [r1, #0x0] cmp r3, #0x0 beq _0204CCD6 ldr r0, _0204CCDC ; =0x000002BB mov r2, #0x1 strb r2, [r3, r0] ldr r1, [r1, #0x0] mov r2, #0x0 add r0, r0, #0x2 strb r2, [r1, r0] bl FUN_0204CF60 mov r0, #0x1 bl FUN_0204D168 ldr r0, _0204CCD8 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] bl FUN_02055320 ldr r0, _0204CCD8 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] bl FUN_0205532C _0204CCD6: pop {r3, pc} .balign 4 _0204CCD8: .word 0x021C5A68 _0204CCDC: .word 0x000002BB thumb_func_start FUN_0204CCE0 FUN_0204CCE0: ; 0x0204CCE0 push {r3-r7, lr} ldr r7, _0204CD70 ; =0x021C5A68 add r6, r0, #0x0 ldr r0, [r7, #0x0] cmp r0, #0x0 beq _0204CD6E mov r4, #0x0 add r5, r4, #0x0 _0204CCF0: ldr r0, [r7, #0x0] add r1, r0, r5 mov r0, #0x9f lsl r0, r0, #0x2 ldr r0, [r1, r0] cmp r0, #0x0 beq _0204CD0E bl FUN_02016A18 ldr r0, [r7, #0x0] mov r1, #0x0 add r2, r0, r5 mov r0, #0x9f lsl r0, r0, #0x2 str r1, [r2, r0] _0204CD0E: add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x5 blt _0204CCF0 ldr r0, _0204CD70 ; =0x021C5A68 ldr r2, [r0, #0x0] ldr r0, _0204CD74 ; =0x000002B2 ldrh r1, [r2, r0] cmp r1, #0x5 blo _0204CD28 ldr r0, [r2, #0x54] bl FUN_02061B64 _0204CD28: mov r4, #0x0 add r5, r4, #0x0 _0204CD2C: lsl r0, r4, #0x18 lsr r0, r0, #0x18 add r1, r5, #0x0 add r2, r6, #0x0 bl FUN_0204D43C add r4, r4, #0x1 cmp r4, #0x8 blt _0204CD2C ldr r0, _0204CD70 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x50] bl FUN_0200CAB4 ldr r0, _0204CD70 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] cmp r0, #0x0 beq _0204CD60 bl FUN_02244D3C ldr r0, _0204CD70 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] bl FUN_02016A18 _0204CD60: ldr r0, _0204CD70 ; =0x021C5A68 ldr r0, [r0, #0x0] bl FUN_02016A18 ldr r0, _0204CD70 ; =0x021C5A68 mov r1, #0x0 str r1, [r0, #0x0] _0204CD6E: pop {r3-r7, pc} .balign 4 _0204CD70: .word 0x021C5A68 _0204CD74: .word 0x000002B2 thumb_func_start FUN_0204CD78 FUN_0204CD78: ; 0x0204CD78 push {r4, lr} lsl r4, r0, #0x2 ldr r0, _0204CDB0 ; =0x021C5A68 ldr r0, [r0, #0x0] add r0, r0, r4 ldr r0, [r0, #0x28] cmp r0, #0x0 beq _0204CDAC bl FUN_020646A0 cmp r0, #0x0 beq _0204CD9E ldr r0, _0204CDB0 ; =0x021C5A68 ldr r0, [r0, #0x0] add r0, r0, r4 ldr r0, [r0, #0x28] bl FUN_02064520 b _0204CDA2 _0204CD9E: bl ErrorHandling _0204CDA2: ldr r0, _0204CDB0 ; =0x021C5A68 mov r1, #0x0 ldr r0, [r0, #0x0] add r0, r0, r4 str r1, [r0, #0x28] _0204CDAC: pop {r4, pc} nop _0204CDB0: .word 0x021C5A68 thumb_func_start FUN_0204CDB4 FUN_0204CDB4: ; 0x0204CDB4 push {r3-r7, lr} mov r4, #0x0 ldr r6, _0204CED4 ; =0x021C5A68 add r7, r4, #0x0 add r5, r4, #0x0 _0204CDBE: add r0, r4, #0x0 bl FUN_0204E778 add r0, r4, #0x0 bl FUN_0204CD78 cmp r4, #0x0 beq _0204CDD4 add r0, r4, #0x0 bl FUN_0204ED9C _0204CDD4: ldr r1, [r6, #0x0] add r0, r1, r7 ldr r0, [r0, #0x8] cmp r0, #0x0 beq _0204CDFA ldr r2, [r1, #0x54] ldr r2, [r2, #0x38] cmp r2, r0 beq _0204CDF2 ldr r2, _0204CED8 ; =0x000002BE ldrb r1, [r1, r2] cmp r1, #0x0 beq _0204CDF2 bl FUN_02055168 _0204CDF2: ldr r0, [r6, #0x0] add r1, r0, r7 mov r0, #0x0 str r0, [r1, #0x8] _0204CDFA: ldr r0, [r6, #0x0] add r7, r7, #0x4 add r1, r0, r4 add r1, #0x48 mov r0, #0x0 strb r0, [r1, #0x0] ldr r0, [r6, #0x0] add r1, r0, r5 mov r0, #0x0 add r1, #0xa6 mvn r0, r0 strb r0, [r1, #0x0] ldr r0, [r6, #0x0] add r1, r0, r5 ldr r0, _0204CEDC ; =0x0000FFFF add r1, #0xa2 strh r0, [r1, #0x0] ldr r0, [r6, #0x0] add r1, r0, r5 ldr r0, _0204CEDC ; =0x0000FFFF add r1, #0xa4 strh r0, [r1, #0x0] ldr r0, [r6, #0x0] add r1, r0, r5 add r1, #0xa7 mov r0, #0x2 strb r0, [r1, #0x0] ldr r0, [r6, #0x0] add r1, r0, r5 mov r0, #0x0 add r1, #0x66 mvn r0, r0 strb r0, [r1, #0x0] ldr r0, [r6, #0x0] add r1, r0, r5 ldr r0, _0204CEDC ; =0x0000FFFF add r1, #0x62 strh r0, [r1, #0x0] ldr r0, [r6, #0x0] add r1, r0, r5 ldr r0, _0204CEDC ; =0x0000FFFF add r1, #0x64 strh r0, [r1, #0x0] ldr r0, [r6, #0x0] add r1, r0, r5 add r1, #0x67 mov r0, #0x2 strb r0, [r1, #0x0] ldr r0, [r6, #0x0] mov r1, #0x0 add r2, r0, r4 ldr r0, _0204CEE0 ; =0x00000102 mvn r1, r1 strb r1, [r2, r0] ldr r0, [r6, #0x0] mov r1, #0x0 add r2, r0, r4 ldr r0, _0204CEE4 ; =0x0000010A add r5, #0x8 strb r1, [r2, r0] ldr r0, [r6, #0x0] add r1, r0, r4 add r1, #0xe2 mov r0, #0x0 strb r0, [r1, #0x0] ldr r0, [r6, #0x0] add r1, r0, r4 add r1, #0xea mov r0, #0x1 strb r0, [r1, #0x0] ldr r0, [r6, #0x0] add r1, r0, r4 add r1, #0xf2 mov r0, #0x0 strb r0, [r1, #0x0] ldr r0, [r6, #0x0] mov r1, #0x0 add r2, r0, r4 ldr r0, _0204CEE8 ; =0x0000013A strb r1, [r2, r0] ldr r0, [r6, #0x0] add r2, r0, r4 ldr r0, _0204CEEC ; =0x00000142 add r4, r4, #0x1 strb r1, [r2, r0] cmp r4, #0x8 blt _0204CDBE ldr r0, _0204CED4 ; =0x021C5A68 ldr r1, _0204CEF0 ; =0x000002BF ldr r2, [r0, #0x0] mov r0, #0x0 strb r0, [r2, r1] bl FUN_0204CF60 ldr r0, _0204CED4 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x50] cmp r0, #0x0 bne _0204CED0 ldr r0, _0204CEF4 ; =FUN_0204D4F0 mov r1, #0x0 mov r2, #0xc8 bl FUN_0200CA44 ldr r1, _0204CED4 ; =0x021C5A68 ldr r1, [r1, #0x0] str r0, [r1, #0x50] _0204CED0: pop {r3-r7, pc} nop _0204CED4: .word 0x021C5A68 _0204CED8: .word 0x000002BE _0204CEDC: .word 0x0000FFFF _0204CEE0: .word 0x00000102 _0204CEE4: .word 0x0000010A _0204CEE8: .word 0x0000013A _0204CEEC: .word 0x00000142 _0204CEF0: .word 0x000002BF _0204CEF4: .word FUN_0204D4F0 thumb_func_start FUN_0204CEF8 FUN_0204CEF8: ; 0x0204CEF8 push {r3, lr} ldr r0, _0204CF20 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x50] cmp r0, #0x0 beq _0204CF16 mov r0, #0x0 add r1, r0, #0x0 bl FUN_0204D4F0 ldr r0, _0204CF20 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x50] bl FUN_0200CAB4 _0204CF16: ldr r0, _0204CF20 ; =0x021C5A68 mov r1, #0x0 ldr r0, [r0, #0x0] str r1, [r0, #0x50] pop {r3, pc} .balign 4 _0204CF20: .word 0x021C5A68 thumb_func_start FUN_0204CF24 FUN_0204CF24: ; 0x0204CF24 push {r3-r5, lr} ldr r0, _0204CF58 ; =0x021C5A68 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0204CF54 mov r5, #0x0 add r4, r5, #0x0 _0204CF32: lsl r0, r5, #0x18 lsr r0, r0, #0x18 add r1, r4, #0x0 add r2, r4, #0x0 bl FUN_0204D43C add r0, r5, #0x0 bl FUN_0204F69C add r5, r5, #0x1 cmp r5, #0x8 blt _0204CF32 ldr r0, _0204CF58 ; =0x021C5A68 mov r2, #0x1 ldr r1, [r0, #0x0] ldr r0, _0204CF5C ; =0x000002BD strb r2, [r1, r0] _0204CF54: pop {r3-r5, pc} nop _0204CF58: .word 0x021C5A68 _0204CF5C: .word 0x000002BD thumb_func_start FUN_0204CF60 FUN_0204CF60: ; 0x0204CF60 push {r4, lr} bl FUN_02031190 ldr r1, _0204D03C ; =0x021C5A68 lsl r0, r0, #0x2 ldr r2, [r1, #0x0] ldr r1, [r2, #0x54] add r0, r2, r0 ldr r1, [r1, #0x38] str r1, [r0, #0x8] bl FUN_02031190 ldr r1, _0204D03C ; =0x021C5A68 mov r2, #0x1 ldr r1, [r1, #0x0] add r0, r1, r0 add r0, #0x48 strb r2, [r0, #0x0] bl FUN_02031190 add r4, r0, #0x0 ldr r0, _0204D03C ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] bl FUN_02055320 ldr r1, _0204D03C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x3 add r1, r2, r1 add r1, #0xa2 strh r0, [r1, #0x0] bl FUN_02031190 add r4, r0, #0x0 ldr r0, _0204D03C ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] bl FUN_0205532C ldr r1, _0204D03C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x3 add r1, r2, r1 add r1, #0xa4 strh r0, [r1, #0x0] bl FUN_02031190 add r4, r0, #0x0 ldr r0, _0204D03C ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] bl FUN_020552F8 ldr r1, _0204D03C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x3 add r1, r2, r1 add r1, #0xa6 strb r0, [r1, #0x0] bl FUN_02031190 add r4, r0, #0x0 ldr r0, _0204D03C ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] bl FUN_02055320 ldr r1, _0204D03C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x3 add r1, r2, r1 add r1, #0x62 strh r0, [r1, #0x0] bl FUN_02031190 add r4, r0, #0x0 ldr r0, _0204D03C ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] bl FUN_0205532C ldr r1, _0204D03C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x3 add r1, r2, r1 add r1, #0x64 strh r0, [r1, #0x0] bl FUN_02031190 add r4, r0, #0x0 ldr r0, _0204D03C ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] bl FUN_020552F8 ldr r1, _0204D03C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x3 add r1, r2, r1 add r1, #0x66 strb r0, [r1, #0x0] pop {r4, pc} nop _0204D03C: .word 0x021C5A68 thumb_func_start FUN_0204D040 FUN_0204D040: ; 0x0204D040 push {r3-r7, lr} str r0, [sp, #0x0] ldr r0, _0204D110 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r0, #0x0] ldr r0, _0204D114 ; =0x000002BF strb r2, [r1, r0] bl FUN_02031190 ldr r2, _0204D110 ; =0x021C5A68 add r1, r0, #0x0 ldr r4, [r2, #0x0] lsl r6, r1, #0x2 ldr r0, [r4, #0x54] ldr r3, [r0, #0x38] add r0, r4, r6 str r3, [r0, #0x8] ldr r0, [r2, #0x0] mov r3, #0x1 add r0, r0, r1 add r0, #0x48 strb r3, [r0, #0x0] ldr r0, [sp, #0x0] ldr r3, [r2, #0x0] lsl r5, r0, #0x3 add r0, r3, r5 add r0, #0xa2 lsl r4, r1, #0x3 add r3, r3, r4 ldrh r0, [r0, #0x0] add r3, #0xa2 strh r0, [r3, #0x0] ldr r3, [r2, #0x0] add r0, r3, r5 add r0, #0xa4 add r3, r3, r4 ldrh r0, [r0, #0x0] add r3, #0xa4 strh r0, [r3, #0x0] ldr r7, [r2, #0x0] mov r0, #0xa6 add r3, r7, r5 ldrsb r0, [r3, r0] add r3, r7, r4 add r3, #0xa6 strb r0, [r3, #0x0] ldr r3, [r2, #0x0] mov r7, #0x29 add r0, r3, r5 add r0, #0x62 add r3, r3, r4 ldrh r0, [r0, #0x0] add r3, #0x62 lsl r7, r7, #0x4 strh r0, [r3, #0x0] ldr r3, [r2, #0x0] add r0, r3, r5 add r0, #0x64 add r3, r3, r4 ldrh r0, [r0, #0x0] add r3, #0x64 strh r0, [r3, #0x0] ldr r0, [r2, #0x0] mov r3, #0x66 add r5, r0, r5 add r0, r0, r4 ldrsb r5, [r5, r3] add r0, #0x66 strb r5, [r0, #0x0] ldr r0, [sp, #0x0] ldr r4, [r2, #0x0] lsl r5, r0, #0x2 add r0, r4, r5 ldr r0, [r0, r7] add r4, r4, r6 str r0, [r4, r7] ldr r0, [r2, #0x0] mov r4, #0x0 add r0, r0, r5 str r4, [r0, r7] ldr r2, [r2, #0x0] add r0, r2, r6 ldr r0, [r0, r7] cmp r0, #0x0 beq _0204D0F8 add r3, #0xe4 add r3, r2, r3 mov r2, #0x22 mul r2, r1 add r1, r3, r2 bl FUN_0202393C _0204D0F8: ldr r1, _0204D110 ; =0x021C5A68 mov r0, #0xff ldr r3, [r1, #0x0] ldr r1, [sp, #0x0] mov r2, #0x22 mul r2, r1 add r1, r0, #0x0 add r2, r3, r2 add r1, #0x6b strh r0, [r2, r1] pop {r3-r7, pc} nop _0204D110: .word 0x021C5A68 _0204D114: .word 0x000002BF thumb_func_start FUN_0204D118 FUN_0204D118: ; 0x0204D118 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 ldr r0, _0204D160 ; =0x021C5A68 add r4, r1, #0x0 ldr r0, [r0, #0x0] add r6, r2, #0x0 ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] bl FUN_020552F8 add r1, sp, #0x0 strb r4, [r1, #0x0] asr r2, r4, #0x8 strb r2, [r1, #0x1] asr r2, r6, #0x8 strb r6, [r1, #0x2] strb r2, [r1, #0x3] strb r0, [r1, #0x4] cmp r5, #0x0 beq _0204D14A ldrb r2, [r1, #0x4] mov r0, #0x80 orr r0, r2 strb r0, [r1, #0x4] _0204D14A: mov r0, #0x16 add r1, sp, #0x0 bl FUN_020311D0 ldr r0, _0204D160 ; =0x021C5A68 mov r2, #0x1 ldr r1, [r0, #0x0] ldr r0, _0204D164 ; =0x000002BB strb r2, [r1, r0] add sp, #0x8 pop {r4-r6, pc} .balign 4 _0204D160: .word 0x021C5A68 _0204D164: .word 0x000002BB thumb_func_start FUN_0204D168 FUN_0204D168: ; 0x0204D168 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0204D194 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] bl FUN_02055320 add r4, r0, #0x0 ldr r0, _0204D194 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] bl FUN_0205532C add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0204D118 pop {r3-r5, pc} nop _0204D194: .word 0x021C5A68 thumb_func_start FUN_0204D198 FUN_0204D198: ; 0x0204D198 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02031190 ldr r1, _0204D1C8 ; =0x021C5A68 lsl r0, r0, #0x3 ldr r1, [r1, #0x0] add r0, r1, r0 add r0, #0x62 ldrh r4, [r0, #0x0] bl FUN_02031190 ldr r1, _0204D1C8 ; =0x021C5A68 lsl r0, r0, #0x3 ldr r1, [r1, #0x0] add r0, r1, r0 add r0, #0x64 ldrh r2, [r0, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0204D118 pop {r3-r5, pc} nop _0204D1C8: .word 0x021C5A68 thumb_func_start FUN_0204D1CC FUN_0204D1CC: ; 0x0204D1CC push {r3-r5, lr} sub sp, #0x8 ldrh r2, [r1, #0x0] mov r4, #0xf lsl r4, r4, #0xc ldrh r3, [r1, #0x2] cmp r2, r4 blo _0204D1DE sub r2, r4, #0x1 _0204D1DE: mov r4, #0xf lsl r4, r4, #0xc cmp r3, r4 blo _0204D1E8 sub r3, r4, #0x1 _0204D1E8: mov r4, #0xf and r0, r4 add r4, sp, #0x0 strb r0, [r4, #0x0] strb r2, [r4, #0x1] asr r2, r2, #0x8 add r5, r2, #0x0 mov r0, #0x1 and r5, r0 asr r2, r3, #0x7 mov r0, #0x2 and r0, r2 add r0, r5, r0 strb r0, [r4, #0x2] strb r3, [r4, #0x3] ldrb r0, [r1, #0x7] cmp r0, #0x0 beq _0204D214 ldrb r2, [r4, #0x2] mov r0, #0x80 orr r0, r2 strb r0, [r4, #0x2] _0204D214: mov r2, #0x4 ldrsb r2, [r1, r2] add r5, sp, #0x0 ldrb r0, [r5, #0x0] lsr r4, r2, #0x1f lsl r3, r2, #0x1e sub r3, r3, r4 mov r2, #0x1e ror r3, r2 add r2, r4, r3 lsl r2, r2, #0x4 add r0, r0, r2 strb r0, [r5, #0x0] ldrb r0, [r1, #0x5] ldrb r2, [r5, #0x0] add r1, sp, #0x0 lsl r0, r0, #0x6 add r0, r2, r0 strb r0, [r5, #0x0] mov r0, #0x17 mov r2, #0x0 bl FUN_02030BC4 add sp, #0x8 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0204D248 FUN_0204D248: ; 0x0204D248 push {r3-r5, lr} ldr r0, _0204D2A8 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] bl FUN_02055370 add r4, r0, #0x0 ldr r0, _0204D2A8 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] bl FUN_02055378 add r5, r0, #0x0 cmp r4, #0x0 bne _0204D292 bl FUN_02031190 bl FUN_02030E7C cmp r0, #0x0 beq _0204D292 ldr r0, _0204D2A8 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204D2AC ; =0x000002BA ldrb r0, [r1, r0] cmp r0, #0x0 bne _0204D292 mov r0, #0x1 bl FUN_0204D168 ldr r0, _0204D2A8 ; =0x021C5A68 mov r2, #0x1 ldr r1, [r0, #0x0] ldr r0, _0204D2AC ; =0x000002BA strb r2, [r1, r0] _0204D292: cmp r4, #0x1 bne _0204D2A4 cmp r5, #0x1 bne _0204D2A4 ldr r0, _0204D2A8 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r0, #0x0] ldr r0, _0204D2AC ; =0x000002BA strb r2, [r1, r0] _0204D2A4: pop {r3-r5, pc} nop _0204D2A8: .word 0x021C5A68 _0204D2AC: .word 0x000002BA thumb_func_start FUN_0204D2B0 FUN_0204D2B0: ; 0x0204D2B0 push {r3-r7, lr} mov r4, #0x0 ldr r7, _0204D2FC ; =0x021C5A68 add r5, r4, #0x0 add r6, r4, #0x0 _0204D2BA: ldr r0, [r7, #0x0] add r2, r0, r4 add r1, r2, #0x0 add r1, #0x48 ldrb r1, [r1, #0x0] cmp r1, #0x0 beq _0204D2E8 ldr r3, _0204D300 ; =0x00000132 add r1, r0, #0x0 ldrb r3, [r2, r3] add r1, #0x62 cmp r3, #0x0 bne _0204D2DC ldr r3, _0204D304 ; =0x000002BB ldrb r0, [r0, r3] cmp r0, #0x0 beq _0204D2E8 _0204D2DC: ldr r0, _0204D300 ; =0x00000132 add r1, r1, r5 strb r6, [r2, r0] add r0, r4, #0x0 bl FUN_0204D1CC _0204D2E8: add r4, r4, #0x1 add r5, #0x8 cmp r4, #0x8 blt _0204D2BA ldr r0, _0204D2FC ; =0x021C5A68 mov r2, #0x0 ldr r1, [r0, #0x0] ldr r0, _0204D304 ; =0x000002BB strb r2, [r1, r0] pop {r3-r7, pc} .balign 4 _0204D2FC: .word 0x021C5A68 _0204D300: .word 0x00000132 _0204D304: .word 0x000002BB thumb_func_start FUN_0204D308 FUN_0204D308: ; 0x0204D308 ldr r0, _0204D31C ; =0x021C5A68 ldr r2, [r0, #0x0] cmp r2, #0x0 beq _0204D318 mov r0, #0xae mov r1, #0x0 lsl r0, r0, #0x2 strb r1, [r2, r0] _0204D318: bx lr nop _0204D31C: .word 0x021C5A68 thumb_func_start FUN_0204D320 FUN_0204D320: ; 0x0204D320 mov r0, #0xb1 lsl r0, r0, #0x2 bx lr .balign 4 thumb_func_start FUN_0204D328 FUN_0204D328: ; 0x0204D328 push {r3-r7, lr} sub sp, #0x10 ldr r1, _0204D430 ; =0x021C5A68 add r5, r0, #0x0 ldr r2, [r1, #0x0] lsl r6, r5, #0x2 add r1, r2, r6 ldr r1, [r1, #0x8] cmp r1, #0x0 bne _0204D42A ldr r1, _0204D434 ; =0x000002BD ldrb r1, [r2, r1] cmp r1, #0x0 bne _0204D42A bl FUN_0202DFA4 str r0, [sp, #0xc] cmp r0, #0x0 beq _0204D42A ldr r0, _0204D430 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204D438 ; =0x000002BE ldrb r0, [r1, r0] cmp r0, #0x0 bne _0204D37C bl FUN_02031190 cmp r5, r0 beq _0204D37C ldr r0, _0204D430 ; =0x021C5A68 mov r1, #0x1 ldr r0, [r0, #0x0] lsl r1, r1, #0x8 ldr r0, [r0, #0x54] add r1, r5, r1 ldr r0, [r0, #0x34] bl FUN_02058060 cmp r0, #0x0 beq _0204D37C bl FUN_02057654 _0204D37C: ldr r0, _0204D430 ; =0x021C5A68 lsl r4, r5, #0x3 ldr r7, [r0, #0x0] ldr r0, [sp, #0xc] bl FUN_020239CC mov r1, #0x0 str r1, [sp, #0x0] str r0, [sp, #0x4] str r1, [sp, #0x8] ldr r0, [r7, #0x54] add r7, r7, r4 add r1, r7, #0x0 add r2, r7, #0x0 add r1, #0xa2 add r2, #0xa4 mov r3, #0xa6 ldrh r1, [r1, #0x0] ldrh r2, [r2, #0x0] ldrsb r3, [r7, r3] ldr r0, [r0, #0x34] bl FUN_02055068 add r7, r0, #0x0 bne _0204D3B2 bl ErrorHandling _0204D3B2: ldr r0, _0204D430 ; =0x021C5A68 ldr r0, [r0, #0x0] add r0, r0, r6 str r7, [r0, #0x8] add r0, r7, #0x0 bl FUN_020553A0 mov r1, #0x1 lsl r1, r1, #0x8 add r1, r5, r1 bl FUN_02058444 ldr r0, _0204D430 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204D438 ; =0x000002BE ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204D3DC add r0, r5, #0x0 bl FUN_0223E4D4 _0204D3DC: ldr r0, _0204D430 ; =0x021C5A68 ldr r1, _0204D438 ; =0x000002BE ldr r3, [r0, #0x0] ldrb r2, [r3, r1] cmp r2, #0x0 beq _0204D41E add r0, r3, r5 add r0, #0x48 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0204D41E sub r0, r1, #0x1 ldrb r0, [r3, r0] cmp r0, #0x0 bne _0204D40E add r1, r3, r4 ldr r0, [r3, #0x54] add r3, r3, r4 add r1, #0xa2 add r3, #0xa4 ldrh r1, [r1, #0x0] ldrh r3, [r3, #0x0] mov r2, #0x0 bl FUN_021E5B30 _0204D40E: ldr r0, _0204D430 ; =0x021C5A68 mov r1, #0x1 ldr r0, [r0, #0x0] add sp, #0x10 add r0, r0, r5 add r0, #0x48 strb r1, [r0, #0x0] pop {r3-r7, pc} _0204D41E: cmp r2, #0x0 bne _0204D42A add r0, r3, r5 mov r1, #0x1 add r0, #0x48 strb r1, [r0, #0x0] _0204D42A: add sp, #0x10 pop {r3-r7, pc} nop _0204D430: .word 0x021C5A68 _0204D434: .word 0x000002BD _0204D438: .word 0x000002BE thumb_func_start FUN_0204D43C FUN_0204D43C: ; 0x0204D43C push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _0204D4CC ; =0x021C5A68 add r6, r1, #0x0 ldr r0, [r0, #0x0] add r7, r2, #0x0 cmp r0, #0x0 beq _0204D4C8 add r0, #0x5a mov r1, #0x0 mov r2, #0x8 blx MI_CpuFill8 add r0, r5, #0x0 bl FUN_0204CD78 ldr r0, _0204D4CC ; =0x021C5A68 lsl r4, r5, #0x2 ldr r1, [r0, #0x0] add r0, r1, r4 ldr r0, [r0, #0x8] cmp r0, #0x0 beq _0204D492 ldr r2, [r1, #0x54] ldr r2, [r2, #0x38] cmp r2, r0 beq _0204D488 ldr r2, _0204D4D0 ; =0x000002BE ldrb r1, [r1, r2] cmp r1, #0x0 bne _0204D47E cmp r7, #0x0 beq _0204D484 _0204D47E: bl FUN_02055168 b _0204D488 _0204D484: bl FUN_02055160 _0204D488: ldr r0, _0204D4CC ; =0x021C5A68 mov r1, #0x0 ldr r0, [r0, #0x0] add r0, r0, r4 str r1, [r0, #0x8] _0204D492: ldr r0, _0204D4CC ; =0x021C5A68 ldr r1, [r0, #0x0] add r1, #0x48 ldrb r0, [r1, r5] cmp r0, #0x0 beq _0204D4A6 cmp r6, #0x0 bne _0204D4A6 mov r0, #0x0 strb r0, [r1, r5] _0204D4A6: ldr r0, _0204D4CC ; =0x021C5A68 mov r2, #0x1 ldr r0, [r0, #0x0] add r1, r0, r5 ldr r0, _0204D4D4 ; =0x00000132 cmp r6, #0x0 strb r2, [r1, r0] bne _0204D4C8 add r0, r5, #0x0 bl FUN_0204ED9C ldr r0, _0204D4CC ; =0x021C5A68 mov r1, #0x0 ldr r0, [r0, #0x0] add r0, r0, r5 add r0, #0xfa strb r1, [r0, #0x0] _0204D4C8: pop {r3-r7, pc} nop _0204D4CC: .word 0x021C5A68 _0204D4D0: .word 0x000002BE _0204D4D4: .word 0x00000132 thumb_func_start FUN_0204D4D8 FUN_0204D4D8: ; 0x0204D4D8 ldr r1, _0204D4E8 ; =0x021C48B8 mov r0, #0x2 ldr r1, [r1, #0x44] tst r1, r0 beq _0204D4E4 mov r0, #0x1 _0204D4E4: ldr r3, _0204D4EC ; =FUN_02030F60 bx r3 .balign 4 _0204D4E8: .word 0x021C48B8 _0204D4EC: .word FUN_02030F60 thumb_func_start FUN_0204D4F0 FUN_0204D4F0: ; 0x0204D4F0 push {r4-r6, lr} add r4, r1, #0x0 bl FUN_02030F40 cmp r0, #0x0 beq _0204D530 bl FUN_0204D4D8 bl FUN_02031190 cmp r0, #0x0 bne _0204D524 add r0, r4, #0x0 bl FUN_0204D2B0 add r0, r4, #0x0 bl FUN_0204D248 ldr r0, _0204D560 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] cmp r0, #0x0 beq _0204D52A bl FUN_02244D58 b _0204D52A _0204D524: add r0, r4, #0x0 bl FUN_0204D248 _0204D52A: add r0, r4, #0x0 bl FUN_0204D568 _0204D530: ldr r4, _0204D560 ; =0x021C5A68 ldr r6, _0204D564 ; =0x000002BE mov r5, #0x0 _0204D536: ldr r0, [r4, #0x0] ldrb r0, [r0, r6] cmp r0, #0x0 beq _0204D556 bl FUN_02031190 cmp r0, #0x0 bne _0204D556 add r0, r5, #0x0 bl FUN_0202DFA4 cmp r0, #0x0 bne _0204D556 add r0, r5, #0x0 bl FUN_02245358 _0204D556: add r5, r5, #0x1 cmp r5, #0x8 blt _0204D536 pop {r4-r6, pc} nop _0204D560: .word 0x021C5A68 _0204D564: .word 0x000002BE thumb_func_start FUN_0204D568 FUN_0204D568: ; 0x0204D568 push {r3-r7, lr} ldr r4, _0204D608 ; =0x021C5A68 ldr r7, _0204D60C ; =0x000002BE mov r5, #0x0 add r6, sp, #0x0 _0204D572: lsl r0, r5, #0x10 lsr r0, r0, #0x10 bl FUN_02030E7C cmp r0, #0x0 bne _0204D5A0 bl FUN_02031280 cmp r0, #0x0 beq _0204D58A cmp r5, #0x0 beq _0204D5A0 _0204D58A: bl FUN_02031190 cmp r0, #0x0 bne _0204D5A0 ldr r0, [r4, #0x0] ldrb r0, [r0, r7] cmp r0, #0x0 beq _0204D5A0 add r0, r5, #0x0 bl FUN_02247614 _0204D5A0: lsl r0, r5, #0x10 lsr r0, r0, #0x10 bl FUN_02030E7C cmp r0, #0x0 bne _0204D5B8 bl FUN_02031280 cmp r0, #0x0 beq _0204D5C6 cmp r5, #0x0 bne _0204D5C6 _0204D5B8: add r0, r5, #0x0 bl FUN_0204DE30 add r0, r5, #0x0 bl FUN_0204EFCC b _0204D600 _0204D5C6: ldr r0, [r4, #0x0] add r0, r0, r5 add r0, #0x48 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _0204D600 bl FUN_02031190 cmp r0, #0x0 bne _0204D5F0 ldr r1, [r4, #0x0] ldr r0, _0204D60C ; =0x000002BE ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204D5F0 add r0, r5, #0x0 bl FUN_0223EB8C add r0, r5, #0x0 bl FUN_0223CB08 _0204D5F0: strb r5, [r6, #0x0] ldr r3, [r4, #0x0] mov r0, #0x0 ldr r3, [r3, #0x54] mov r1, #0x1 add r2, sp, #0x0 bl FUN_0204DBCC _0204D600: add r5, r5, #0x1 cmp r5, #0x8 blt _0204D572 pop {r3-r7, pc} .balign 4 _0204D608: .word 0x021C5A68 _0204D60C: .word 0x000002BE thumb_func_start FUN_0204D610 FUN_0204D610: ; 0x0204D610 ldr r0, _0204D624 ; =0x021C5A68 ldr r1, [r0, #0x0] cmp r1, #0x0 beq _0204D620 mov r0, #0xaf lsl r0, r0, #0x2 ldrb r0, [r1, r0] bx lr _0204D620: mov r0, #0x0 bx lr .balign 4 _0204D624: .word 0x021C5A68 thumb_func_start FUN_0204D628 FUN_0204D628: ; 0x0204D628 push {r3, lr} ldr r1, _0204D650 ; =0x021C5A68 ldr r3, [r1, #0x0] cmp r3, #0x0 beq _0204D64E mov r1, #0xaf lsl r1, r1, #0x2 ldrb r2, [r3, r1] cmp r2, r0 beq _0204D63E strb r0, [r3, r1] _0204D63E: ldr r1, _0204D650 ; =0x021C5A68 mov r0, #0x3e ldr r2, [r1, #0x0] mov r1, #0xaf lsl r1, r1, #0x2 add r1, r2, r1 bl FUN_020311D0 _0204D64E: pop {r3, pc} .balign 4 _0204D650: .word 0x021C5A68 thumb_func_start FUN_0204D654 FUN_0204D654: ; 0x0204D654 push {r4, lr} ldr r2, _0204D678 ; =0x021C5A68 ldr r4, [r2, #0x0] cmp r4, #0x0 beq _0204D674 mov r1, #0xaf lsl r1, r1, #0x2 ldrb r3, [r4, r1] cmp r3, r0 beq _0204D674 strb r0, [r4, r1] ldr r2, [r2, #0x0] mov r0, #0x3e add r1, r2, r1 bl FUN_020311D0 _0204D674: pop {r4, pc} nop _0204D678: .word 0x021C5A68 thumb_func_start FUN_0204D67C FUN_0204D67C: ; 0x0204D67C push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0204D6BC ; =0x021C5A68 add r4, r2, #0x0 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0204D6B8 cmp r1, #0x1 beq _0204D692 bl ErrorHandling _0204D692: cmp r5, #0x8 blt _0204D69A bl ErrorHandling _0204D69A: ldrb r0, [r4, #0x0] mov r1, #0x1 cmp r0, #0x1 beq _0204D6A8 cmp r0, #0x0 beq _0204D6A8 mov r1, #0x0 _0204D6A8: cmp r1, #0x0 bne _0204D6B0 bl ErrorHandling _0204D6B0: ldrb r1, [r4, #0x0] add r0, r5, #0x0 bl FUN_0204EAD8 _0204D6B8: pop {r3-r5, pc} nop _0204D6BC: .word 0x021C5A68 thumb_func_start FUN_0204D6C0 FUN_0204D6C0: ; 0x0204D6C0 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0204D734 ; =0x021C5A68 add r4, r1, #0x0 ldr r1, [r0, #0x0] cmp r1, #0x0 beq _0204D732 ldr r0, _0204D738 ; =0x000002BE ldrb r0, [r1, r0] cmp r0, #0x0 bne _0204D6E4 add r0, r4, #0x0 bl FUN_0204D654 ldr r0, _0204D734 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204D73C ; =0x000002C1 strb r4, [r1, r0] _0204D6E4: ldr r4, [r5, #0x38] cmp r4, #0x0 beq _0204D6F8 bl FUN_02031190 ldr r1, _0204D734 ; =0x021C5A68 lsl r0, r0, #0x2 ldr r1, [r1, #0x0] add r0, r1, r0 str r4, [r0, #0x8] _0204D6F8: bl FUN_02030F40 cmp r0, #0x0 beq _0204D712 bl FUN_02031190 cmp r0, #0x0 bne _0204D712 ldr r1, _0204D734 ; =0x021C5A68 mov r0, #0x0 ldr r1, [r1, #0x0] bl FUN_0204D89C _0204D712: bl FUN_02030F40 cmp r0, #0x0 beq _0204D732 bl FUN_02031190 cmp r0, #0x0 bne _0204D732 ldr r0, _0204D734 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204D738 ; =0x000002BE ldrb r0, [r1, r0] cmp r0, #0x0 bne _0204D732 bl FUN_0204EC28 _0204D732: pop {r3-r5, pc} .balign 4 _0204D734: .word 0x021C5A68 _0204D738: .word 0x000002BE _0204D73C: .word 0x000002C1 thumb_func_start FUN_0204D740 FUN_0204D740: ; 0x0204D740 mov r0, #0x20 tst r0, r1 beq _0204D74A mov r0, #0x2 bx lr _0204D74A: mov r0, #0x10 tst r0, r1 beq _0204D754 mov r0, #0x3 bx lr _0204D754: mov r0, #0x40 tst r0, r1 beq _0204D75E mov r0, #0x0 bx lr _0204D75E: mov r0, #0x80 tst r1, r0 beq _0204D768 mov r0, #0x1 bx lr _0204D768: sub r0, #0x81 bx lr thumb_func_start FUN_0204D76C FUN_0204D76C: ; 0x0204D76C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _0204D7AC ; =0x021C5A68 add r6, r1, #0x0 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] bl FUN_02034B64 add r4, r0, #0x0 ldr r0, _0204D7AC ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] bl FUN_02034B6C mov r2, #0x0 cmp r4, #0x0 ble _0204D7A6 _0204D78E: ldrh r1, [r0, #0x18] cmp r5, r1 bne _0204D79E ldrh r1, [r0, #0x1a] cmp r6, r1 bne _0204D79E mov r0, #0x1 pop {r4-r6, pc} _0204D79E: add r2, r2, #0x1 add r0, #0x20 cmp r2, r4 blt _0204D78E _0204D7A6: mov r0, #0x0 pop {r4-r6, pc} nop _0204D7AC: .word 0x021C5A68 thumb_func_start FUN_0204D7B0 FUN_0204D7B0: ; 0x0204D7B0 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _0204D824 ; =0x0000FFFF add r6, r1, #0x0 add r7, r2, #0x0 cmp r5, r0 beq _0204D812 cmp r6, r0 beq _0204D812 mov r4, #0x0 _0204D7C4: cmp r4, r7 beq _0204D7E0 add r0, r4, #0x0 bl FUN_0204E544 cmp r5, r0 bne _0204D7E0 add r0, r4, #0x0 bl FUN_0204E598 cmp r6, r0 bne _0204D7E0 mov r0, #0x1 pop {r3-r7, pc} _0204D7E0: add r4, r4, #0x1 cmp r4, #0x8 blt _0204D7C4 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_0204D76C cmp r0, #0x0 beq _0204D7F6 mov r0, #0x1 pop {r3-r7, pc} _0204D7F6: ldr r0, _0204D828 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204D82C ; =0x000002BE ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204D812 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02246F1C cmp r0, #0x0 bne _0204D812 mov r0, #0x1 pop {r3-r7, pc} _0204D812: ldr r0, _0204D828 ; =0x021C5A68 add r1, r5, #0x0 ldr r0, [r0, #0x0] add r2, r6, #0x0 ldr r0, [r0, #0x54] bl FUN_0204A6B4 pop {r3-r7, pc} nop _0204D824: .word 0x0000FFFF _0204D828: .word 0x021C5A68 _0204D82C: .word 0x000002BE thumb_func_start FUN_0204D830 FUN_0204D830: ; 0x0204D830 push {r3, lr} add r1, r0, #0x0 ldr r0, _0204D858 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] cmp r0, #0x0 beq _0204D852 bl FUN_02244D40 bl FUN_02244DA0 cmp r0, #0x0 bne _0204D84E mov r0, #0x1 pop {r3, pc} _0204D84E: mov r0, #0x0 pop {r3, pc} _0204D852: mov r0, #0x0 pop {r3, pc} nop _0204D858: .word 0x021C5A68 thumb_func_start FUN_0204D85C FUN_0204D85C: ; 0x0204D85C cmp r0, #0x5 bge _0204D864 mov r0, #0x8 bx lr _0204D864: cmp r0, #0xa bge _0204D86C mov r0, #0x4 bx lr _0204D86C: mov r0, #0x2 bx lr thumb_func_start FUN_0204D870 FUN_0204D870: ; 0x0204D870 push {r3-r4, lr} sub sp, #0x14 ldr r3, _0204D898 ; =0x020F5824 add r4, r0, #0x0 ldmia r3!, {r0-r1} add r2, sp, #0x0 stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r3, #0x0] cmp r4, #0x5 str r0, [r2, #0x0] blt _0204D88E bl ErrorHandling _0204D88E: lsl r1, r4, #0x2 add r0, sp, #0x0 ldr r0, [r0, r1] add sp, #0x14 pop {r3-r4, pc} .balign 4 _0204D898: .word 0x020F5824 thumb_func_start FUN_0204D89C FUN_0204D89C: ; 0x0204D89C push {r3-r7, lr} sub sp, #0x18 mov r5, #0x0 add r0, r5, #0x0 ldr r6, _0204DAF4 ; =0x021C5A68 str r5, [sp, #0x4] str r0, [sp, #0x0] _0204D8AA: ldr r0, [r6, #0x0] add r1, r0, r5 add r1, #0x48 ldrb r1, [r1, #0x0] cmp r1, #0x0 beq _0204D976 add r1, r0, r5 add r1, #0xe2 ldrb r1, [r1, #0x0] cmp r1, #0x0 beq _0204D976 add r1, r0, r5 add r1, #0xea ldrb r1, [r1, #0x0] cmp r1, #0x0 beq _0204D976 add r2, r0, #0x0 ldr r1, [sp, #0x0] add r2, #0x62 ldr r0, [r0, #0x4] add r4, r2, r1 cmp r0, #0x0 beq _0204D8E0 add r1, r5, #0x0 bl FUN_02244D40 str r0, [sp, #0x4] _0204D8E0: ldr r1, [r6, #0x0] ldr r0, _0204DAF8 ; =0x000002BE ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204D8F4 add r0, r5, #0x0 bl FUN_02245F4C cmp r0, #0x0 bne _0204D976 _0204D8F4: ldr r0, [r6, #0x0] ldr r1, _0204DAFC ; =0x0000013A add r0, r0, r5 ldrb r1, [r0, r1] cmp r1, #0x0 beq _0204D90A ldr r1, _0204DAFC ; =0x0000013A ldrb r1, [r0, r1] sub r2, r1, #0x1 ldr r1, _0204DAFC ; =0x0000013A strb r2, [r0, r1] _0204D90A: ldr r0, [r6, #0x0] ldr r1, _0204DAFC ; =0x0000013A add r2, r0, r5 ldrb r1, [r2, r1] cmp r1, #0x0 bne _0204D93C ldr r1, _0204DAF8 ; =0x000002BE ldrb r0, [r0, r1] cmp r0, #0x0 beq _0204D93C add r0, r5, #0x0 bl FUN_0223F8D8 cmp r0, #0x0 bne _0204D976 add r0, r5, #0x0 bl FUN_0204D830 cmp r0, #0x0 bne _0204D93C add r0, r5, #0x0 bl FUN_02247544 cmp r0, #0x0 bne _0204D976 _0204D93C: ldr r0, [sp, #0x4] cmp r0, #0x0 beq _0204D94A bl FUN_02244DB0 cmp r0, #0x0 beq _0204D976 _0204D94A: ldr r0, [r6, #0x0] add r0, r0, r5 add r0, #0xf2 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _0204D95A mov r7, #0x0 b _0204D962 _0204D95A: add r0, r5, #0x0 bl FUN_02030F88 add r7, r0, #0x0 _0204D962: add r0, r5, #0x0 bl FUN_02030F74 strb r0, [r4, #0x5] ldr r0, [r6, #0x0] add r1, r0, r5 ldr r0, _0204DAFC ; =0x0000013A ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204D978 _0204D976: b _0204DAE2 _0204D978: ldr r0, _0204DB00 ; =0x0000010A ldr r2, _0204DB04 ; =0x0000012A ldrb r0, [r1, r0] ldrb r1, [r1, r2] bl FUN_0204D85C str r0, [sp, #0x10] ldr r1, [sp, #0x10] add r0, r5, #0x0 bl FUN_0204E084 cmp r0, #0x0 beq _0204D9A8 ldr r0, [r6, #0x0] ldr r1, [sp, #0x10] add r2, r0, r5 ldr r0, _0204DAFC ; =0x0000013A strb r1, [r2, r0] ldr r0, [r6, #0x0] mov r1, #0x1 add r2, r0, r5 ldr r0, _0204DB08 ; =0x00000132 strb r1, [r2, r0] b _0204DAE2 _0204D9A8: ldrb r0, [r4, #0x7] cmp r0, #0x1 bne _0204D9B8 ldr r0, [r6, #0x0] mov r1, #0x1 add r2, r0, r5 ldr r0, _0204DB08 ; =0x00000132 strb r1, [r2, r0] _0204D9B8: mov r0, #0x0 strb r0, [r4, #0x7] ldr r0, [r6, #0x0] ldr r1, _0204DB0C ; =0x00000122 add r0, r0, r5 ldrb r1, [r0, r1] cmp r1, #0x2 bne _0204D9DE add r1, sp, #0x14 strb r5, [r1, #0x1] ldr r1, _0204DB0C ; =0x00000122 mov r2, #0x1 strb r2, [r0, r1] add r1, sp, #0x14 mov r0, #0x28 add r1, #0x1 bl FUN_02030C4C b _0204DAE2 _0204D9DE: add r0, r7, #0x0 add r1, r7, #0x0 bl FUN_0204D740 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_0204E62C str r0, [sp, #0xc] add r0, r5, #0x0 bl FUN_0204E664 str r0, [sp, #0x8] ldr r1, [sp, #0xc] ldr r0, _0204DB10 ; =0x0000FFFF cmp r1, r0 beq _0204DAE2 ldr r1, [sp, #0x8] cmp r1, r0 beq _0204DAE2 mov r0, #0x0 mvn r0, r0 cmp r7, r0 beq _0204DAE2 mov r0, #0x4 ldrsb r0, [r4, r0] cmp r0, r7 beq _0204DA44 strb r7, [r4, #0x4] ldr r0, [r6, #0x0] mov r1, #0x4 add r2, r0, r5 ldr r0, _0204DAFC ; =0x0000013A strb r1, [r2, r0] ldr r0, [r6, #0x0] mov r1, #0x1 add r2, r0, r5 ldr r0, _0204DB08 ; =0x00000132 strb r1, [r2, r0] ldr r0, [r6, #0x0] ldr r1, _0204DB0C ; =0x00000122 add r0, r0, r5 ldrb r1, [r0, r1] cmp r1, #0x2 bls _0204DAE2 ldr r1, _0204DB0C ; =0x00000122 ldrb r1, [r0, r1] sub r2, r1, #0x1 ldr r1, _0204DB0C ; =0x00000122 strb r2, [r0, r1] b _0204DAE2 _0204DA44: ldr r0, [r6, #0x0] ldr r1, _0204DB0C ; =0x00000122 add r2, r0, r5 ldrb r1, [r2, r1] cmp r1, #0x0 bne _0204DAE2 ldr r1, _0204DAF8 ; =0x000002BE ldrb r0, [r0, r1] cmp r0, #0x0 beq _0204DA66 ldr r1, [sp, #0xc] ldr r2, [sp, #0x8] add r0, r5, #0x0 bl FUN_0224566C cmp r0, #0x1 beq _0204DAE2 _0204DA66: ldr r0, [sp, #0xc] ldr r1, [sp, #0x8] add r2, r5, #0x0 bl FUN_0204D7B0 cmp r0, #0x0 beq _0204DA8E mov r0, #0x1 strb r0, [r4, #0x7] ldr r0, [r6, #0x0] mov r1, #0x1 add r2, r0, r5 ldr r0, _0204DB08 ; =0x00000132 strb r1, [r2, r0] ldr r0, [r6, #0x0] mov r1, #0x4 add r2, r0, r5 ldr r0, _0204DAFC ; =0x0000013A strb r1, [r2, r0] b _0204DAE2 _0204DA8E: ldr r0, [r6, #0x0] mov r1, #0x1 add r2, r0, r5 ldr r0, _0204DB08 ; =0x00000132 strb r1, [r2, r0] ldr r0, [sp, #0xc] strh r0, [r4, #0x0] ldr r0, [sp, #0x8] strh r0, [r4, #0x2] strb r7, [r4, #0x4] ldrb r0, [r4, #0x5] bl FUN_0204D870 ldr r1, [r6, #0x0] add r2, r1, r5 ldr r1, _0204DAFC ; =0x0000013A strb r0, [r2, r1] ldr r0, [r6, #0x0] sub r1, #0x20 add r0, r0, r5 ldrb r1, [r0, r1] cmp r1, #0x0 beq _0204DAE2 ldr r1, _0204DB14 ; =0x0000011A ldrb r1, [r0, r1] sub r2, r1, #0x1 ldr r1, _0204DB14 ; =0x0000011A strb r2, [r0, r1] ldr r0, [r6, #0x0] add r1, r0, r5 ldr r0, _0204DB14 ; =0x0000011A ldrb r0, [r1, r0] cmp r0, #0x0 bne _0204DAE2 mov r1, #0x1 add r0, sp, #0x14 strb r1, [r0, #0x0] add r0, r5, #0x0 add r2, sp, #0x14 mov r3, #0x0 bl FUN_0224089C _0204DAE2: ldr r0, [sp, #0x0] add r5, r5, #0x1 add r0, #0x8 str r0, [sp, #0x0] cmp r5, #0x8 bge _0204DAF0 b _0204D8AA _0204DAF0: add sp, #0x18 pop {r3-r7, pc} .balign 4 _0204DAF4: .word 0x021C5A68 _0204DAF8: .word 0x000002BE _0204DAFC: .word 0x0000013A _0204DB00: .word 0x0000010A _0204DB04: .word 0x0000012A _0204DB08: .word 0x00000132 _0204DB0C: .word 0x00000122 _0204DB10: .word 0x0000FFFF _0204DB14: .word 0x0000011A thumb_func_start FUN_0204DB18 FUN_0204DB18: ; 0x0204DB18 push {r3-r7, lr} ldr r5, _0204DBC0 ; =0x021C5A68 add r7, r0, #0x0 ldr r0, [r5, #0x0] add r3, r2, #0x0 cmp r0, #0x0 beq _0204DBBC add r2, r0, #0x0 ldrb r4, [r3, #0x4] add r2, #0x62 lsl r1, r7, #0x3 add r2, r2, r1 mov r1, #0x80 tst r1, r4 beq _0204DB3E ldr r1, _0204DBC4 ; =0x000002BB mov r2, #0x1 strb r2, [r0, r1] pop {r3-r7, pc} _0204DB3E: mov r0, #0x4 ldrsb r1, [r2, r0] sub r0, r0, #0x5 cmp r1, r0 bne _0204DB5A ldr r4, _0204DBC8 ; =0x00000132 mov r1, #0x0 mov r0, #0x1 _0204DB4E: ldr r6, [r5, #0x0] add r6, r6, r1 add r1, r1, #0x1 strb r0, [r6, r4] cmp r1, #0x8 blt _0204DB4E _0204DB5A: mov r0, #0x0 strh r0, [r2, #0x0] strh r0, [r2, #0x2] ldrh r1, [r2, #0x0] ldrb r0, [r3, #0x0] add r0, r1, r0 strh r0, [r2, #0x0] ldrb r1, [r3, #0x1] ldrh r0, [r2, #0x0] lsl r4, r1, #0x8 mov r1, #0xff lsl r1, r1, #0x8 and r4, r1 add r0, r0, r4 strh r0, [r2, #0x0] ldrh r4, [r2, #0x2] ldrb r0, [r3, #0x2] add r0, r4, r0 strh r0, [r2, #0x2] ldrb r4, [r3, #0x3] ldrh r0, [r2, #0x2] lsl r4, r4, #0x8 and r1, r4 add r0, r0, r1 strh r0, [r2, #0x2] ldrb r1, [r3, #0x4] mov r0, #0xf ldr r3, _0204DBC0 ; =0x021C5A68 and r0, r1 strb r0, [r2, #0x4] ldr r1, [r3, #0x0] mov r0, #0x1 add r1, r1, r7 add r1, #0x48 strb r0, [r1, #0x0] ldr r1, [r3, #0x0] add r4, r1, r7 ldr r1, _0204DBC8 ; =0x00000132 strb r0, [r4, r1] ldr r0, [r3, #0x0] ldrh r1, [r2, #0x0] ldrh r2, [r2, #0x2] ldr r0, [r0, #0x54] bl FUN_0204A6B4 cmp r0, #0x0 beq _0204DBBC bl ErrorHandling _0204DBBC: pop {r3-r7, pc} nop _0204DBC0: .word 0x021C5A68 _0204DBC4: .word 0x000002BB _0204DBC8: .word 0x00000132 thumb_func_start FUN_0204DBCC FUN_0204DBCC: ; 0x0204DBCC push {r3-r5, lr} ldr r0, _0204DC28 ; =0x021C5A68 ldrb r4, [r2, #0x0] ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0204DC24 bl FUN_02031190 cmp r4, r0 beq _0204DC24 ldr r0, _0204DC28 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204DC2C ; =0x000002BE ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204DC14 add r0, r4, #0x0 bl FUN_0223E554 ldr r0, _0204DC28 ; =0x021C5A68 ldr r3, [r0, #0x0] ldr r0, _0204DC30 ; =0x000002BD ldrb r0, [r3, r0] cmp r0, #0x0 bne _0204DC14 lsl r5, r4, #0x3 add r1, r3, r5 ldr r0, [r3, #0x54] add r3, r3, r5 add r1, #0xa2 add r3, #0xa4 ldrh r1, [r1, #0x0] ldrh r3, [r3, #0x0] mov r2, #0x0 bl FUN_021E5B30 _0204DC14: mov r1, #0x0 add r0, r4, #0x0 add r2, r1, #0x0 bl FUN_0204D43C add r0, r4, #0x0 bl FUN_0202DE78 _0204DC24: pop {r3-r5, pc} nop _0204DC28: .word 0x021C5A68 _0204DC2C: .word 0x000002BE _0204DC30: .word 0x000002BD thumb_func_start FUN_0204DC34 FUN_0204DC34: ; 0x0204DC34 mov r0, #0x5 bx lr thumb_func_start FUN_0204DC38 FUN_0204DC38: ; 0x0204DC38 push {r3-r5, lr} ldrb r1, [r2, #0x0] mov r0, #0xf add r3, r1, #0x0 and r3, r0 ldr r0, _0204DCB0 ; =0x021C5A68 ldr r1, [r0, #0x0] cmp r1, #0x0 beq _0204DCAC ldrb r4, [r2, #0x2] add r1, #0xa2 lsl r0, r3, #0x3 add r1, r1, r0 mov r0, #0x80 tst r0, r4 beq _0204DC5C mov r0, #0x1 b _0204DC5E _0204DC5C: mov r0, #0x0 _0204DC5E: strb r0, [r1, #0x7] mov r0, #0x0 strh r0, [r1, #0x0] strh r0, [r1, #0x2] ldrh r4, [r1, #0x0] ldrb r0, [r2, #0x1] add r0, r4, r0 strh r0, [r1, #0x0] ldrb r4, [r2, #0x2] ldrh r0, [r1, #0x0] lsl r5, r4, #0x8 mov r4, #0x1 lsl r4, r4, #0x8 and r5, r4 add r0, r0, r5 strh r0, [r1, #0x0] ldrh r5, [r1, #0x2] ldrb r0, [r2, #0x3] add r0, r5, r0 strh r0, [r1, #0x2] ldrb r5, [r2, #0x2] ldrh r0, [r1, #0x2] lsl r5, r5, #0x7 and r4, r5 add r0, r0, r4 strh r0, [r1, #0x2] ldrb r0, [r2, #0x0] asr r4, r0, #0x4 mov r0, #0x3 and r4, r0 strb r4, [r1, #0x4] ldrb r2, [r2, #0x0] asr r2, r2, #0x6 and r0, r2 strb r0, [r1, #0x5] lsl r0, r3, #0x18 lsr r0, r0, #0x18 bl FUN_0204D328 _0204DCAC: pop {r3-r5, pc} nop _0204DCB0: .word 0x021C5A68 thumb_func_start FUN_0204DCB4 FUN_0204DCB4: ; 0x0204DCB4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0204DD10 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] bl FUN_020377AC bl FUN_02026CC4 add r4, r0, #0x0 ldr r0, _0204DD10 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] bl FUN_020377AC bl FUN_02026CB4 ldr r0, _0204DD10 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204DD14 ; =0x000002BE ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204DD0C bl FUN_02031190 cmp r5, r0 bne _0204DD0C add r0, r4, #0x0 bl FUN_020266B0 add r0, r4, #0x0 bl FUN_020266C8 cmp r0, #0x32 bne _0204DD0C ldr r0, _0204DD10 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0xc] bl FUN_02029FC8 mov r1, #0x25 bl FUN_0202A170 _0204DD0C: pop {r3-r5, pc} nop _0204DD10: .word 0x021C5A68 _0204DD14: .word 0x000002BE thumb_func_start FUN_0204DD18 FUN_0204DD18: ; 0x0204DD18 push {r3-r7, lr} sub sp, #0x10 ldr r4, _0204DE24 ; =0x020F5808 add r6, r3, #0x0 add r5, r0, #0x0 add r3, sp, #0x4 mov r2, #0xc _0204DD26: ldrb r0, [r4, #0x0] add r4, r4, #0x1 strb r0, [r3, #0x0] add r3, r3, #0x1 sub r2, r2, #0x1 bne _0204DD26 ldr r0, _0204DE28 ; =0x021C5A68 ldr r2, _0204DE2C ; =0x00000102 ldr r0, [r0, #0x0] add r3, r0, r5 ldrsb r3, [r3, r2] mov r2, #0x0 mvn r2, r2 cmp r3, r2 beq _0204DD4E lsl r7, r5, #0x2 add r0, r0, r7 ldr r0, [r0, #0x8] cmp r0, #0x0 bne _0204DD54 _0204DD4E: add sp, #0x10 mov r0, #0x0 pop {r3-r7, pc} _0204DD54: cmp r1, #0x0 bne _0204DD5E add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} _0204DD5E: bl FUN_020553A0 add r4, r0, #0x0 ldr r0, _0204DE28 ; =0x021C5A68 ldr r1, [r0, #0x0] add r0, r7, #0x0 add r0, r1, r0 ldr r0, [r0, #0x8] bl FUN_020552F8 str r0, [sp, #0x0] ldr r0, _0204DE28 ; =0x021C5A68 ldr r0, [r0, #0x0] add r1, r0, r5 ldr r0, _0204DE2C ; =0x00000102 ldrsb r0, [r1, r0] bl FUN_0204F610 ldr r1, [sp, #0x0] cmp r1, r0 beq _0204DDB4 add r0, r4, #0x0 mov r1, #0x80 bl FUN_02058418 ldr r0, _0204DE28 ; =0x021C5A68 ldr r0, [r0, #0x0] add r1, r0, r5 ldr r0, _0204DE2C ; =0x00000102 ldrsb r0, [r1, r0] bl FUN_0204F610 add r1, r0, #0x0 ldr r0, _0204DE28 ; =0x021C5A68 ldr r0, [r0, #0x0] add r0, r0, r7 ldr r0, [r0, #0x8] bl FUN_02055304 add r0, r4, #0x0 mov r1, #0x80 bl FUN_02058410 _0204DDB4: add r0, r4, #0x0 bl FUN_0205AE28 add r0, r4, #0x0 bl FUN_0205AD98 cmp r0, #0x1 bne _0204DE1C add r0, r5, #0x0 bl FUN_0204DCB4 cmp r6, #0x0 beq _0204DDD8 cmp r6, #0x1 beq _0204DDEE cmp r6, #0x2 beq _0204DE06 b _0204DE1C _0204DDD8: ldr r1, _0204DE28 ; =0x021C5A68 add r0, r4, #0x0 ldr r1, [r1, #0x0] add r2, r1, r5 ldr r1, _0204DE2C ; =0x00000102 ldrsb r2, [r2, r1] add r1, sp, #0x4 ldrb r1, [r1, r2] bl FUN_0205ADDC b _0204DE1C _0204DDEE: ldr r1, _0204DE28 ; =0x021C5A68 add r0, r4, #0x0 ldr r1, [r1, #0x0] add r2, r1, r5 ldr r1, _0204DE2C ; =0x00000102 ldrsb r1, [r2, r1] add r2, r1, #0x4 add r1, sp, #0x4 ldrb r1, [r1, r2] bl FUN_0205ADDC b _0204DE1C _0204DE06: ldr r1, _0204DE28 ; =0x021C5A68 add r0, r4, #0x0 ldr r1, [r1, #0x0] add r2, r1, r5 ldr r1, _0204DE2C ; =0x00000102 ldrsb r2, [r2, r1] add r1, sp, #0x4 add r2, #0x8 ldrb r1, [r1, r2] bl FUN_0205ADDC _0204DE1C: mov r0, #0x1 add sp, #0x10 pop {r3-r7, pc} nop _0204DE24: .word 0x020F5808 _0204DE28: .word 0x021C5A68 _0204DE2C: .word 0x00000102 thumb_func_start FUN_0204DE30 FUN_0204DE30: ; 0x0204DE30 push {r4-r7, lr} sub sp, #0x1c add r4, r0, #0x0 ldr r0, _0204E06C ; =0x021C5A68 lsl r1, r4, #0x3 ldr r0, [r0, #0x0] add r2, r0, #0x0 add r2, #0xa2 add r5, r2, r1 ldr r1, _0204E070 ; =0x00000142 add r2, r0, r1 ldrb r1, [r2, r4] cmp r1, #0x0 beq _0204DE54 sub r0, r1, #0x1 add sp, #0x1c strb r0, [r2, r4] pop {r4-r7, pc} _0204DE54: ldrh r2, [r5, #0x0] ldr r1, _0204E074 ; =0x0000FFFF cmp r2, r1 beq _0204DF08 ldrh r2, [r5, #0x2] cmp r2, r1 beq _0204DF08 ldr r1, _0204E078 ; =0x000002BD ldrb r2, [r0, r1] cmp r2, #0x0 bne _0204DF08 add r1, r1, #0x1 ldrb r0, [r0, r1] cmp r0, #0x0 bne _0204DE86 bl FUN_02031190 cmp r4, r0 bne _0204DE86 ldr r0, _0204E06C ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204E07C ; =0x000002C1 ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204DF08 _0204DE86: ldr r0, _0204E06C ; =0x021C5A68 ldr r1, [r0, #0x0] lsl r0, r4, #0x2 add r0, r1, r0 ldr r0, [r0, #0x8] str r0, [sp, #0x18] cmp r0, #0x0 bne _0204DE98 b _0204E068 _0204DE98: bl FUN_02055320 ldrh r1, [r5, #0x0] sub r0, r0, r1 str r0, [sp, #0x10] ldr r0, [sp, #0x18] bl FUN_0205532C ldrh r1, [r5, #0x2] sub r7, r0, r1 ldr r0, [sp, #0x18] bl FUN_020552F8 str r0, [sp, #0xc] ldr r0, [sp, #0x10] cmp r0, #0x0 bne _0204DEC2 cmp r7, #0x0 bne _0204DEC2 mov r6, #0x0 b _0204DEEC _0204DEC2: ldr r0, [sp, #0x10] blx abs add r6, r0, #0x0 add r0, r7, #0x0 blx abs cmp r6, r0 ble _0204DEE2 ldr r0, [sp, #0x10] cmp r0, #0x0 ble _0204DEDE mov r6, #0x20 b _0204DEEC _0204DEDE: mov r6, #0x10 b _0204DEEC _0204DEE2: cmp r7, #0x0 ble _0204DEEA mov r6, #0x40 b _0204DEEC _0204DEEA: mov r6, #0x80 _0204DEEC: add r0, r7, #0x0 blx abs ldr r0, [sp, #0x10] blx abs ldrb r3, [r5, #0x5] add r0, r4, #0x0 add r1, r6, #0x0 add r2, r6, #0x0 bl FUN_0204DD18 cmp r0, #0x0 beq _0204DF0A _0204DF08: b _0204E068 _0204DF0A: ldrb r0, [r5, #0x5] mov r7, #0xff str r0, [sp, #0x14] cmp r0, #0x3 bhi _0204DF46 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0204DF20: ; jump table (using 16-bit offset) .short _0204DF28 - _0204DF20 - 2; case 0 .short _0204DF2E - _0204DF20 - 2; case 1 .short _0204DF3C - _0204DF20 - 2; case 2 .short _0204DF42 - _0204DF20 - 2; case 3 _0204DF28: mov r0, #0x5 str r0, [sp, #0x8] b _0204DF46 _0204DF2E: mov r0, #0x4 str r0, [sp, #0x8] mov r0, #0x2 orr r0, r6 lsl r0, r0, #0x10 lsr r6, r0, #0x10 b _0204DF46 _0204DF3C: mov r0, #0x2 str r0, [sp, #0x8] b _0204DF46 _0204DF42: mov r0, #0x1 str r0, [sp, #0x8] _0204DF46: ldr r0, _0204E06C ; =0x021C5A68 ldr r1, [r0, #0x0] mov r0, #0xb lsl r0, r0, #0x6 ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204DF6C bl FUN_02031190 cmp r4, r0 bne _0204DF6C ldr r0, _0204E06C ; =0x021C5A68 ldr r2, [r0, #0x0] mov r0, #0xb lsl r0, r0, #0x6 ldrb r1, [r2, r0] sub r1, r1, #0x1 strb r1, [r2, r0] b _0204E00C _0204DF6C: bl FUN_02030FE0 cmp r0, #0x0 bne _0204DFA0 ldr r0, _0204E06C ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204E080 ; =0x000002BE ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204DFA0 bl FUN_02031190 cmp r4, r0 bne _0204DFA0 mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0x0 str r0, [sp, #0x4] ldr r0, [sp, #0x18] ldr r3, [sp, #0x8] add r1, r6, #0x0 add r2, r6, #0x0 bl FUN_02057194 add r7, r0, #0x0 b _0204E00C _0204DFA0: mov r0, #0x2 add r1, r6, #0x0 bic r1, r0 bne _0204DFDE ldrb r0, [r5, #0x7] cmp r0, #0x0 beq _0204DFDE mov r0, #0x3 str r0, [sp, #0x14] mov r0, #0x4 ldrsb r0, [r5, r0] cmp r0, #0x3 bhi _0204DFD2 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0204DFC6: ; jump table (using 16-bit offset) .short _0204DFCE - _0204DFC6 - 2; case 0 .short _0204DFD2 - _0204DFC6 - 2; case 1 .short _0204DFD6 - _0204DFC6 - 2; case 2 .short _0204DFDA - _0204DFC6 - 2; case 3 _0204DFCE: mov r7, #0x1c b _0204E00C _0204DFD2: mov r7, #0x1d b _0204E00C _0204DFD6: mov r7, #0x1e b _0204E00C _0204DFDA: mov r7, #0x1f b _0204E00C _0204DFDE: cmp r1, #0x0 bne _0204DFF6 mov r0, #0x4 ldrsb r0, [r5, r0] ldr r1, [sp, #0xc] cmp r0, r1 beq _0204DFF6 mov r1, #0x24 bl FUN_0205AFDC add r7, r0, #0x0 b _0204E00C _0204DFF6: mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0x0 str r0, [sp, #0x4] ldr r0, [sp, #0x18] ldr r3, [sp, #0x8] add r1, r6, #0x0 add r2, r6, #0x0 bl FUN_02057194 add r7, r0, #0x0 _0204E00C: ldr r0, [sp, #0x18] bl FUN_02057254 cmp r0, #0x0 bne _0204E020 ldr r0, [sp, #0x18] bl FUN_020570C4 cmp r0, #0x0 beq _0204E068 _0204E020: cmp r7, #0xff beq _0204E068 ldr r0, [sp, #0x18] add r1, r7, #0x0 bl FUN_02057260 mov r0, #0x2 bic r6, r0 beq _0204E068 ldr r0, _0204E06C ; =0x021C5A68 ldr r0, [r0, #0x0] add r1, r0, r4 ldr r0, _0204E070 ; =0x00000142 ldrb r0, [r1, r0] cmp r0, #0x0 bne _0204E050 ldr r0, [sp, #0x14] bl FUN_0204D870 ldr r1, _0204E06C ; =0x021C5A68 ldr r1, [r1, #0x0] add r2, r1, r4 ldr r1, _0204E070 ; =0x00000142 strb r0, [r2, r1] _0204E050: ldr r0, _0204E06C ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204E070 ; =0x00000142 add r1, r1, r0 ldrb r0, [r1, r4] cmp r0, #0x0 beq _0204E062 sub r0, r0, #0x1 strb r0, [r1, r4] _0204E062: add r0, r4, #0x0 bl FUN_0204DCB4 _0204E068: add sp, #0x1c pop {r4-r7, pc} .balign 4 _0204E06C: .word 0x021C5A68 _0204E070: .word 0x00000142 _0204E074: .word 0x0000FFFF _0204E078: .word 0x000002BD _0204E07C: .word 0x000002C1 _0204E080: .word 0x000002BE thumb_func_start FUN_0204E084 FUN_0204E084: ; 0x0204E084 push {r3-r7, lr} sub sp, #0x8 add r4, r1, #0x0 ldr r1, _0204E16C ; =0x021C5A68 add r5, r0, #0x0 ldr r2, [r1, #0x0] ldr r1, _0204E170 ; =0x0000010A add r2, r2, r1 ldrb r1, [r2, r5] cmp r1, #0x0 bne _0204E0A0 add sp, #0x8 mov r0, #0x0 pop {r3-r7, pc} _0204E0A0: cmp r1, #0xff bne _0204E0AA add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _0204E0AA: sub r1, r1, #0x1 strb r1, [r2, r5] cmp r4, #0x1 bne _0204E0B8 add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _0204E0B8: bl FUN_0204E544 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204E598 str r0, [sp, #0x0] ldr r0, _0204E16C ; =0x021C5A68 ldr r0, [r0, #0x0] add r1, r0, r5 ldr r0, _0204E174 ; =0x00000112 ldrb r0, [r1, r0] bl FUN_02059BF4 add r7, r6, r0 ldr r0, _0204E16C ; =0x021C5A68 ldr r0, [r0, #0x0] add r1, r0, r5 ldr r0, _0204E174 ; =0x00000112 ldrb r0, [r1, r0] bl FUN_02059C00 ldr r1, [sp, #0x0] add r6, r1, r0 ldr r0, _0204E16C ; =0x021C5A68 ldr r0, [r0, #0x0] add r1, r0, r5 ldr r0, _0204E170 ; =0x0000010A ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204E110 add r0, r7, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 bl FUN_0204D7B0 cmp r0, #0x0 beq _0204E110 ldr r1, _0204E16C ; =0x021C5A68 mov r0, #0x1 ldr r1, [r1, #0x0] add r2, r1, r5 ldr r1, _0204E170 ; =0x0000010A strb r0, [r2, r1] _0204E110: ldr r0, _0204E16C ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204E170 ; =0x0000010A add r2, r1, r5 ldrb r0, [r2, r0] cmp r0, #0x1 bne _0204E124 add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _0204E124: cmp r0, #0x0 bne _0204E13E mov r1, #0x1 add r0, sp, #0x4 strb r1, [r0, #0x0] add r0, r5, #0x0 add r2, sp, #0x4 mov r3, #0x0 bl FUN_0224089C add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _0204E13E: add r1, #0x62 lsl r2, r5, #0x3 add r0, r1, r2 strh r7, [r1, r2] strh r6, [r0, #0x2] cmp r4, #0x2 beq _0204E156 cmp r4, #0x4 beq _0204E15C cmp r4, #0x8 beq _0204E162 b _0204E166 _0204E156: mov r1, #0x0 strb r1, [r0, #0x5] b _0204E166 _0204E15C: mov r1, #0x1 strb r1, [r0, #0x5] b _0204E166 _0204E162: mov r1, #0x2 strb r1, [r0, #0x5] _0204E166: mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} .balign 4 _0204E16C: .word 0x021C5A68 _0204E170: .word 0x0000010A _0204E174: .word 0x00000112 thumb_func_start FUN_0204E178 FUN_0204E178: ; 0x0204E178 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _0204E1DC ; =0x021C5A68 add r4, r1, #0x0 ldr r1, [r0, #0x0] lsl r0, r5, #0x3 add r1, #0x62 add r6, r1, r0 add r0, r4, #0x0 add r7, r2, #0x0 bl FUN_0204F610 ldr r1, _0204E1DC ; =0x021C5A68 strb r0, [r6, #0x4] ldr r0, [r1, #0x0] add r2, r0, r5 ldr r0, _0204E1E0 ; =0x00000112 cmp r7, #0x0 strb r4, [r2, r0] beq _0204E1B6 ldr r2, [r1, #0x0] mov r3, #0x1 add r2, r2, r5 add r0, #0x18 strb r3, [r2, r0] ldr r0, [r1, #0x0] mov r2, #0x2d add r1, r0, r5 add r0, r2, #0x0 add r0, #0xdd b _0204E1CA _0204E1B6: ldr r2, [r1, #0x0] mov r3, #0x0 add r2, r2, r5 add r0, #0x18 strb r3, [r2, r0] ldr r0, [r1, #0x0] mov r2, #0x1b add r1, r0, r5 add r0, r2, #0x0 add r0, #0xef _0204E1CA: strb r2, [r1, r0] ldr r0, _0204E1DC ; =0x021C5A68 mov r2, #0x1 ldr r0, [r0, #0x0] add r1, r0, r5 ldr r0, _0204E1E4 ; =0x00000132 strb r2, [r1, r0] pop {r3-r7, pc} nop _0204E1DC: .word 0x021C5A68 _0204E1E0: .word 0x00000112 _0204E1E4: .word 0x00000132 thumb_func_start FUN_0204E1E8 FUN_0204E1E8: ; 0x0204E1E8 ldr r1, _0204E1F8 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r1, #0x0] add r1, r1, r0 ldr r0, _0204E1FC ; =0x0000010A strb r2, [r1, r0] bx lr nop _0204E1F8: .word 0x021C5A68 _0204E1FC: .word 0x0000010A thumb_func_start FUN_0204E200 FUN_0204E200: ; 0x0204E200 ldr r1, _0204E210 ; =0x021C5A68 mov r2, #0xff ldr r1, [r1, #0x0] add r1, r1, r0 add r0, r2, #0x0 add r0, #0xb strb r2, [r1, r0] bx lr .balign 4 _0204E210: .word 0x021C5A68 thumb_func_start FUN_0204E214 FUN_0204E214: ; 0x0204E214 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _0204E24C ; =0x021C5A68 add r4, r1, #0x0 ldr r1, [r0, #0x0] lsl r0, r5, #0x2 add r0, r1, r0 ldr r0, [r0, #0x8] cmp r0, #0x0 beq _0204E248 bl FUN_020553A0 mov r1, #0x80 add r6, r0, #0x0 bl FUN_02058410 mov r1, #0x1 add r0, r6, #0x0 lsl r1, r1, #0x8 bl FUN_02058410 ldr r0, _0204E24C ; =0x021C5A68 ldr r0, [r0, #0x0] add r1, r0, r5 ldr r0, _0204E250 ; =0x00000102 strb r4, [r1, r0] _0204E248: pop {r4-r6, pc} nop _0204E24C: .word 0x021C5A68 _0204E250: .word 0x00000102 thumb_func_start FUN_0204E254 FUN_0204E254: ; 0x0204E254 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, _0204E2A0 ; =0x021C5A68 ldr r1, [r0, #0x0] lsl r0, r4, #0x2 add r0, r1, r0 ldr r0, [r0, #0x8] cmp r0, #0x0 beq _0204E29E add r2, r1, r4 ldr r1, _0204E2A4 ; =0x00000102 ldrsb r2, [r2, r1] mov r1, #0x0 mvn r1, r1 cmp r2, r1 beq _0204E29E bl FUN_020553A0 add r5, r0, #0x0 bl FUN_0205AE50 add r0, r5, #0x0 mov r1, #0x80 bl FUN_02058418 mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0x8 bl FUN_02058418 ldr r0, _0204E2A0 ; =0x021C5A68 mov r2, #0x0 ldr r0, [r0, #0x0] mvn r2, r2 add r1, r0, r4 ldr r0, _0204E2A4 ; =0x00000102 strb r2, [r1, r0] _0204E29E: pop {r3-r5, pc} .balign 4 _0204E2A0: .word 0x021C5A68 _0204E2A4: .word 0x00000102 thumb_func_start FUN_0204E2A8 FUN_0204E2A8: ; 0x0204E2A8 mov r0, #0x4 bx lr thumb_func_start FUN_0204E2AC FUN_0204E2AC: ; 0x0204E2AC ldr r3, _0204E2B0 ; =FUN_0204F7FC bx r3 .balign 4 _0204E2B0: .word FUN_0204F7FC thumb_func_start FUN_0204E2B4 FUN_0204E2B4: ; 0x0204E2B4 ldr r3, _0204E2B8 ; =FUN_0204F7FC bx r3 .balign 4 _0204E2B8: .word FUN_0204F7FC thumb_func_start FUN_0204E2BC FUN_0204E2BC: ; 0x0204E2BC ldr r3, _0204E2C4 ; =FUN_0204F774 mov r0, #0x2 bx r3 nop _0204E2C4: .word FUN_0204F774 thumb_func_start FUN_0204E2C8 FUN_0204E2C8: ; 0x0204E2C8 ldr r3, _0204E2D0 ; =FUN_0204F774 mov r0, #0x20 bx r3 nop _0204E2D0: .word FUN_0204F774 thumb_func_start FUN_0204E2D4 FUN_0204E2D4: ; 0x0204E2D4 ldr r3, _0204E2DC ; =FUN_0204F774 mov r0, #0x1 bx r3 nop _0204E2DC: .word FUN_0204F774 thumb_func_start FUN_0204E2E0 FUN_0204E2E0: ; 0x0204E2E0 push {r3, lr} add r1, sp, #0x0 strb r0, [r1, #0x0] mov r0, #0x1a add r1, sp, #0x0 bl FUN_02030C4C pop {r3, pc} thumb_func_start FUN_0204E2F0 FUN_0204E2F0: ; 0x0204E2F0 ldr r3, _0204E2F8 ; =0x0223E4BD ldrb r0, [r2, #0x0] bx r3 nop _0204E2F8: .word 0x0223E4BD thumb_func_start FUN_0204E2FC FUN_0204E2FC: ; 0x0204E2FC push {r3, lr} bl FUN_02031280 cmp r0, #0x0 beq _0204E30A mov r0, #0x1 pop {r3, pc} _0204E30A: ldr r0, _0204E344 ; =0x021C5A68 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0204E316 mov r0, #0x0 pop {r3, pc} _0204E316: bl FUN_02031190 bl FUN_02030E7C cmp r0, #0x0 bne _0204E326 mov r0, #0x0 pop {r3, pc} _0204E326: ldr r0, _0204E344 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204E348 ; =0x000002BE ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204E33E bl FUN_0204FE5C cmp r0, #0x0 bne _0204E33E mov r0, #0x0 pop {r3, pc} _0204E33E: mov r0, #0x1 pop {r3, pc} nop _0204E344: .word 0x021C5A68 _0204E348: .word 0x000002BE thumb_func_start FUN_0204E34C FUN_0204E34C: ; 0x0204E34C ldr r1, _0204E358 ; =0x021C5A68 ldr r1, [r1, #0x0] add r0, r1, r0 add r0, #0x48 ldrb r0, [r0, #0x0] bx lr .balign 4 _0204E358: .word 0x021C5A68 thumb_func_start FUN_0204E35C FUN_0204E35C: ; 0x0204E35C push {r4, lr} add r4, r0, #0x0 ldr r0, _0204E39C ; =0x021C5A68 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0204E36C ldr r0, _0204E3A0 ; =0x0000FFFF pop {r4, pc} _0204E36C: bl FUN_02031190 cmp r4, r0 bne _0204E382 ldr r0, _0204E39C ; =0x021C5A68 ldr r1, [r0, #0x0] lsl r0, r4, #0x3 add r0, r1, r0 add r0, #0xa2 ldrh r0, [r0, #0x0] pop {r4, pc} _0204E382: bl FUN_0204E2FC cmp r0, #0x0 beq _0204E398 ldr r0, _0204E39C ; =0x021C5A68 ldr r1, [r0, #0x0] lsl r0, r4, #0x3 add r0, r1, r0 add r0, #0xa2 ldrh r0, [r0, #0x0] pop {r4, pc} _0204E398: ldr r0, _0204E3A0 ; =0x0000FFFF pop {r4, pc} .balign 4 _0204E39C: .word 0x021C5A68 _0204E3A0: .word 0x0000FFFF thumb_func_start FUN_0204E3A4 FUN_0204E3A4: ; 0x0204E3A4 push {r4, lr} add r4, r0, #0x0 ldr r0, _0204E3E4 ; =0x021C5A68 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0204E3B4 ldr r0, _0204E3E8 ; =0x0000FFFF pop {r4, pc} _0204E3B4: bl FUN_02031190 cmp r4, r0 bne _0204E3CA ldr r0, _0204E3E4 ; =0x021C5A68 ldr r1, [r0, #0x0] lsl r0, r4, #0x3 add r0, r1, r0 add r0, #0xa4 ldrh r0, [r0, #0x0] pop {r4, pc} _0204E3CA: bl FUN_0204E2FC cmp r0, #0x0 beq _0204E3E0 ldr r0, _0204E3E4 ; =0x021C5A68 ldr r1, [r0, #0x0] lsl r0, r4, #0x3 add r0, r1, r0 add r0, #0xa4 ldrh r0, [r0, #0x0] pop {r4, pc} _0204E3E0: ldr r0, _0204E3E8 ; =0x0000FFFF pop {r4, pc} .balign 4 _0204E3E4: .word 0x021C5A68 _0204E3E8: .word 0x0000FFFF thumb_func_start FUN_0204E3EC FUN_0204E3EC: ; 0x0204E3EC push {r4, lr} add r4, r0, #0x0 ldr r0, _0204E438 ; =0x021C5A68 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0204E3FC ldr r0, _0204E43C ; =0x0000FFFF pop {r4, pc} _0204E3FC: bl FUN_02031190 cmp r4, r0 bne _0204E412 ldr r0, _0204E438 ; =0x021C5A68 ldr r1, [r0, #0x0] lsl r0, r4, #0x3 add r0, r1, r0 add r0, #0xa2 ldrh r0, [r0, #0x0] pop {r4, pc} _0204E412: bl FUN_0204E2FC cmp r0, #0x0 beq _0204E428 ldr r0, _0204E438 ; =0x021C5A68 ldr r1, [r0, #0x0] add r0, r1, r4 add r0, #0x48 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0204E42C _0204E428: ldr r0, _0204E43C ; =0x0000FFFF pop {r4, pc} _0204E42C: lsl r0, r4, #0x3 add r0, r1, r0 add r0, #0xa2 ldrh r0, [r0, #0x0] pop {r4, pc} nop _0204E438: .word 0x021C5A68 _0204E43C: .word 0x0000FFFF thumb_func_start FUN_0204E440 FUN_0204E440: ; 0x0204E440 push {r4, lr} add r4, r0, #0x0 ldr r0, _0204E48C ; =0x021C5A68 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0204E450 ldr r0, _0204E490 ; =0x0000FFFF pop {r4, pc} _0204E450: bl FUN_02031190 cmp r4, r0 bne _0204E466 ldr r0, _0204E48C ; =0x021C5A68 ldr r1, [r0, #0x0] lsl r0, r4, #0x3 add r0, r1, r0 add r0, #0xa4 ldrh r0, [r0, #0x0] pop {r4, pc} _0204E466: bl FUN_0204E2FC cmp r0, #0x0 beq _0204E47C ldr r0, _0204E48C ; =0x021C5A68 ldr r1, [r0, #0x0] add r0, r1, r4 add r0, #0x48 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0204E480 _0204E47C: ldr r0, _0204E490 ; =0x0000FFFF pop {r4, pc} _0204E480: lsl r0, r4, #0x3 add r0, r1, r0 add r0, #0xa4 ldrh r0, [r0, #0x0] pop {r4, pc} nop _0204E48C: .word 0x021C5A68 _0204E490: .word 0x0000FFFF thumb_func_start FUN_0204E494 FUN_0204E494: ; 0x0204E494 ldr r1, _0204E4AC ; =0x021C5A68 ldr r1, [r1, #0x0] cmp r1, #0x0 beq _0204E4A6 lsl r0, r0, #0x3 add r0, r1, r0 add r0, #0xa2 ldrh r0, [r0, #0x0] bx lr _0204E4A6: ldr r0, _0204E4B0 ; =0x0000FFFF bx lr nop _0204E4AC: .word 0x021C5A68 _0204E4B0: .word 0x0000FFFF thumb_func_start FUN_0204E4B4 FUN_0204E4B4: ; 0x0204E4B4 ldr r1, _0204E4CC ; =0x021C5A68 ldr r1, [r1, #0x0] cmp r1, #0x0 beq _0204E4C6 lsl r0, r0, #0x3 add r0, r1, r0 add r0, #0xa4 ldrh r0, [r0, #0x0] bx lr _0204E4C6: ldr r0, _0204E4D0 ; =0x0000FFFF bx lr nop _0204E4CC: .word 0x021C5A68 _0204E4D0: .word 0x0000FFFF thumb_func_start FUN_0204E4D4 FUN_0204E4D4: ; 0x0204E4D4 push {r4, lr} add r4, r0, #0x0 bl FUN_0204E3EC ldr r1, _0204E504 ; =0x0000FFFF cmp r0, r1 bne _0204E4E6 add r0, r1, #0x0 pop {r4, pc} _0204E4E6: ldr r0, _0204E508 ; =0x021C5A68 lsl r4, r4, #0x3 ldr r0, [r0, #0x0] add r1, r0, r4 mov r0, #0xa6 ldrsb r0, [r1, r0] bl FUN_02059BF4 ldr r1, _0204E508 ; =0x021C5A68 ldr r1, [r1, #0x0] add r1, r1, r4 add r1, #0xa2 ldrh r1, [r1, #0x0] add r0, r1, r0 pop {r4, pc} .balign 4 _0204E504: .word 0x0000FFFF _0204E508: .word 0x021C5A68 thumb_func_start FUN_0204E50C FUN_0204E50C: ; 0x0204E50C push {r4, lr} add r4, r0, #0x0 bl FUN_0204E440 ldr r1, _0204E53C ; =0x0000FFFF cmp r0, r1 bne _0204E51E add r0, r1, #0x0 pop {r4, pc} _0204E51E: ldr r0, _0204E540 ; =0x021C5A68 lsl r4, r4, #0x3 ldr r0, [r0, #0x0] add r1, r0, r4 mov r0, #0xa6 ldrsb r0, [r1, r0] bl FUN_02059C00 ldr r1, _0204E540 ; =0x021C5A68 ldr r1, [r1, #0x0] add r1, r1, r4 add r1, #0xa4 ldrh r1, [r1, #0x0] add r0, r1, r0 pop {r4, pc} .balign 4 _0204E53C: .word 0x0000FFFF _0204E540: .word 0x021C5A68 thumb_func_start FUN_0204E544 FUN_0204E544: ; 0x0204E544 push {r4, lr} add r4, r0, #0x0 ldr r0, _0204E590 ; =0x021C5A68 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0204E554 ldr r0, _0204E594 ; =0x0000FFFF pop {r4, pc} _0204E554: bl FUN_02031190 cmp r4, r0 bne _0204E56A ldr r0, _0204E590 ; =0x021C5A68 ldr r1, [r0, #0x0] lsl r0, r4, #0x3 add r0, r1, r0 add r0, #0x62 ldrh r0, [r0, #0x0] pop {r4, pc} _0204E56A: bl FUN_0204E2FC cmp r0, #0x0 beq _0204E580 ldr r0, _0204E590 ; =0x021C5A68 ldr r1, [r0, #0x0] add r0, r1, r4 add r0, #0x48 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0204E584 _0204E580: ldr r0, _0204E594 ; =0x0000FFFF pop {r4, pc} _0204E584: lsl r0, r4, #0x3 add r0, r1, r0 add r0, #0x62 ldrh r0, [r0, #0x0] pop {r4, pc} nop _0204E590: .word 0x021C5A68 _0204E594: .word 0x0000FFFF thumb_func_start FUN_0204E598 FUN_0204E598: ; 0x0204E598 push {r4, lr} add r4, r0, #0x0 ldr r0, _0204E5E4 ; =0x021C5A68 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0204E5A8 ldr r0, _0204E5E8 ; =0x0000FFFF pop {r4, pc} _0204E5A8: bl FUN_02031190 cmp r4, r0 bne _0204E5BE ldr r0, _0204E5E4 ; =0x021C5A68 ldr r1, [r0, #0x0] lsl r0, r4, #0x3 add r0, r1, r0 add r0, #0x64 ldrh r0, [r0, #0x0] pop {r4, pc} _0204E5BE: bl FUN_0204E2FC cmp r0, #0x0 beq _0204E5D4 ldr r0, _0204E5E4 ; =0x021C5A68 ldr r1, [r0, #0x0] add r0, r1, r4 add r0, #0x48 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0204E5D8 _0204E5D4: ldr r0, _0204E5E8 ; =0x0000FFFF pop {r4, pc} _0204E5D8: lsl r0, r4, #0x3 add r0, r1, r0 add r0, #0x64 ldrh r0, [r0, #0x0] pop {r4, pc} nop _0204E5E4: .word 0x021C5A68 _0204E5E8: .word 0x0000FFFF thumb_func_start FUN_0204E5EC FUN_0204E5EC: ; 0x0204E5EC ldr r1, _0204E604 ; =0x021C5A68 ldr r1, [r1, #0x0] cmp r1, #0x0 beq _0204E5FE lsl r0, r0, #0x3 add r0, r1, r0 add r0, #0x62 ldrh r0, [r0, #0x0] bx lr _0204E5FE: ldr r0, _0204E608 ; =0x0000FFFF bx lr nop _0204E604: .word 0x021C5A68 _0204E608: .word 0x0000FFFF thumb_func_start FUN_0204E60C FUN_0204E60C: ; 0x0204E60C ldr r1, _0204E624 ; =0x021C5A68 ldr r1, [r1, #0x0] cmp r1, #0x0 beq _0204E61E lsl r0, r0, #0x3 add r0, r1, r0 add r0, #0x64 ldrh r0, [r0, #0x0] bx lr _0204E61E: ldr r0, _0204E628 ; =0x0000FFFF bx lr nop _0204E624: .word 0x021C5A68 _0204E628: .word 0x0000FFFF thumb_func_start FUN_0204E62C FUN_0204E62C: ; 0x0204E62C push {r4, lr} add r4, r0, #0x0 bl FUN_0204E544 ldr r1, _0204E65C ; =0x0000FFFF cmp r0, r1 bne _0204E63E add r0, r1, #0x0 pop {r4, pc} _0204E63E: ldr r0, _0204E660 ; =0x021C5A68 lsl r4, r4, #0x3 ldr r0, [r0, #0x0] add r1, r0, r4 mov r0, #0x66 ldrsb r0, [r1, r0] bl FUN_02059BF4 ldr r1, _0204E660 ; =0x021C5A68 ldr r1, [r1, #0x0] add r1, r1, r4 add r1, #0x62 ldrh r1, [r1, #0x0] add r0, r1, r0 pop {r4, pc} .balign 4 _0204E65C: .word 0x0000FFFF _0204E660: .word 0x021C5A68 thumb_func_start FUN_0204E664 FUN_0204E664: ; 0x0204E664 push {r4, lr} add r4, r0, #0x0 bl FUN_0204E598 ldr r1, _0204E694 ; =0x0000FFFF cmp r0, r1 bne _0204E676 add r0, r1, #0x0 pop {r4, pc} _0204E676: ldr r0, _0204E698 ; =0x021C5A68 lsl r4, r4, #0x3 ldr r0, [r0, #0x0] add r1, r0, r4 mov r0, #0x66 ldrsb r0, [r1, r0] bl FUN_02059C00 ldr r1, _0204E698 ; =0x021C5A68 ldr r1, [r1, #0x0] add r1, r1, r4 add r1, #0x64 ldrh r1, [r1, #0x0] add r0, r1, r0 pop {r4, pc} .balign 4 _0204E694: .word 0x0000FFFF _0204E698: .word 0x021C5A68 thumb_func_start FUN_0204E69C FUN_0204E69C: ; 0x0204E69C push {r4, lr} add r4, r0, #0x0 bl FUN_0204E2FC cmp r0, #0x0 beq _0204E6B6 ldr r0, _0204E6C8 ; =0x021C5A68 ldr r1, [r0, #0x0] add r0, r1, r4 add r0, #0x48 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0204E6BC _0204E6B6: mov r0, #0x0 mvn r0, r0 pop {r4, pc} _0204E6BC: lsl r0, r4, #0x3 add r1, r1, r0 mov r0, #0xa6 ldrsb r0, [r1, r0] pop {r4, pc} nop _0204E6C8: .word 0x021C5A68 thumb_func_start FUN_0204E6CC FUN_0204E6CC: ; 0x0204E6CC push {r4, lr} add r4, r0, #0x0 bl FUN_0204E2FC cmp r0, #0x0 beq _0204E6E6 ldr r0, _0204E6F8 ; =0x021C5A68 ldr r1, [r0, #0x0] add r0, r1, r4 add r0, #0x48 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0204E6EC _0204E6E6: mov r0, #0x0 mvn r0, r0 pop {r4, pc} _0204E6EC: lsl r0, r4, #0x3 add r1, r1, r0 mov r0, #0x66 ldrsb r0, [r1, r0] pop {r4, pc} nop _0204E6F8: .word 0x021C5A68 thumb_func_start FUN_0204E6FC FUN_0204E6FC: ; 0x0204E6FC push {r4, lr} add r4, r1, #0x0 ldr r1, _0204E728 ; =0x021C5A68 lsl r0, r0, #0x3 ldr r1, [r1, #0x0] add r1, r1, r0 mov r0, #0x66 ldrsb r0, [r1, r0] bl FUN_0204F610 ldr r2, _0204E728 ; =0x021C5A68 lsl r1, r4, #0x3 ldr r3, [r2, #0x0] add r1, r3, r1 add r1, #0x66 strb r0, [r1, #0x0] ldr r0, [r2, #0x0] mov r3, #0x1 add r1, r0, r4 ldr r0, _0204E72C ; =0x00000132 strb r3, [r1, r0] pop {r4, pc} .balign 4 _0204E728: .word 0x021C5A68 _0204E72C: .word 0x00000132 thumb_func_start FUN_0204E730 FUN_0204E730: ; 0x0204E730 push {r4, lr} add r4, r1, #0x0 ldr r1, _0204E754 ; =0x021C5A68 lsl r0, r0, #0x3 ldr r1, [r1, #0x0] add r1, r1, r0 mov r0, #0xa6 ldrsb r0, [r1, r0] bl FUN_0204F610 ldr r1, _0204E754 ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x3 add r1, r2, r1 add r1, #0xa6 strb r0, [r1, #0x0] pop {r4, pc} nop _0204E754: .word 0x021C5A68 thumb_func_start FUN_0204E758 FUN_0204E758: ; 0x0204E758 push {r4, lr} add r2, r0, #0x0 ldr r0, _0204E774 ; =0x021C5A68 add r4, r1, #0x0 ldr r0, [r0, #0x0] add r1, r2, #0x0 ldr r0, [r0, #0x4] bl FUN_02244D40 add r1, r4, #0x0 bl FUN_02244D98 pop {r4, pc} nop _0204E774: .word 0x021C5A68 thumb_func_start FUN_0204E778 FUN_0204E778: ; 0x0204E778 push {r3, lr} add r1, r0, #0x0 ldr r0, _0204E790 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] bl FUN_02244D40 mov r1, #0x0 bl FUN_02244D98 pop {r3, pc} nop _0204E790: .word 0x021C5A68 thumb_func_start FUN_0204E794 FUN_0204E794: ; 0x0204E794 push {r3-r7, lr} sub sp, #0x8 str r1, [sp, #0x0] ldr r1, _0204E7C8 ; =0x021C5A68 add r6, r3, #0x0 ldr r4, [r1, #0x0] lsl r7, r0, #0x3 add r4, #0x62 add r0, r6, #0x0 str r2, [sp, #0x4] add r5, r4, r7 bl FUN_02059BF4 ldr r1, [sp, #0x0] add r0, r1, r0 strh r0, [r4, r7] add r0, r6, #0x0 bl FUN_02059C00 ldr r1, [sp, #0x4] add r0, r1, r0 strh r0, [r5, #0x2] strb r6, [r5, #0x4] add sp, #0x8 pop {r3-r7, pc} nop _0204E7C8: .word 0x021C5A68 thumb_func_start FUN_0204E7CC FUN_0204E7CC: ; 0x0204E7CC push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _0204E848 ; =0x021C5A68 add r6, r1, #0x0 ldr r0, [r0, #0x0] add r7, r2, #0x0 str r3, [sp, #0x0] cmp r0, #0x0 beq _0204E844 add r2, r0, #0x0 add r2, #0xa2 lsl r1, r5, #0x3 add r4, r2, r1 ldr r1, _0204E84C ; =0x000002BD ldrb r1, [r0, r1] cmp r1, #0x0 bne _0204E7FA ldrh r1, [r4, #0x0] ldrh r3, [r4, #0x2] ldr r0, [r0, #0x54] mov r2, #0x0 bl FUN_021E5B30 _0204E7FA: strh r6, [r4, #0x0] ldr r0, [sp, #0x0] strh r7, [r4, #0x2] strb r0, [r4, #0x4] ldr r0, _0204E848 ; =0x021C5A68 ldr r1, [r0, #0x0] lsl r0, r5, #0x2 add r0, r1, r0 ldr r0, [r0, #0x8] cmp r0, #0x0 beq _0204E81A ldr r3, [sp, #0x0] add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_02055514 _0204E81A: ldr r0, _0204E848 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204E84C ; =0x000002BD ldrb r0, [r1, r0] cmp r0, #0x0 bne _0204E832 ldr r0, [r1, #0x54] ldrh r1, [r4, #0x0] ldrh r3, [r4, #0x2] mov r2, #0x0 bl FUN_021E5B30 _0204E832: ldr r0, _0204E848 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204E84C ; =0x000002BD ldrb r0, [r1, r0] cmp r0, #0x0 bne _0204E844 add r0, r5, #0x0 bl FUN_0204F0A8 _0204E844: pop {r3-r7, pc} nop _0204E848: .word 0x021C5A68 _0204E84C: .word 0x000002BD thumb_func_start FUN_0204E850 FUN_0204E850: ; 0x0204E850 push {r3-r4, lr} sub sp, #0x4 mov r2, #0x2 add r1, sp, #0x0 add r4, r0, #0x0 strb r2, [r1, #0x0] strb r4, [r1, #0x1] ldr r1, _0204E8AC ; =0x021C5A68 ldr r1, [r1, #0x0] add r1, r1, r4 add r1, #0xe2 ldrb r1, [r1, #0x0] cmp r1, #0x0 beq _0204E88A bl FUN_0204D830 cmp r0, #0x0 bne _0204E88A add r0, r4, #0x0 bl FUN_0204EE9C cmp r0, #0x0 add r0, sp, #0x0 beq _0204E886 mov r1, #0x3 strb r1, [r0, #0x0] b _0204E88A _0204E886: mov r1, #0x1 strb r1, [r0, #0x0] _0204E88A: mov r0, #0x1d add r1, sp, #0x0 mov r2, #0x2 bl FUN_02030BC4 cmp r0, #0x0 beq _0204E8A8 add r0, sp, #0x0 ldrb r0, [r0, #0x0] cmp r0, #0x2 beq _0204E8A8 add r0, r4, #0x0 mov r1, #0x0 bl FUN_0204EAD8 _0204E8A8: add sp, #0x4 pop {r3-r4, pc} .balign 4 _0204E8AC: .word 0x021C5A68 thumb_func_start FUN_0204E8B0 FUN_0204E8B0: ; 0x0204E8B0 push {r3-r6} ldr r2, _0204E8F8 ; =0x021C5A68 ldr r3, [r2, #0x0] cmp r3, #0x0 bne _0204E8C0 mov r0, #0xff pop {r3-r6} bx lr _0204E8C0: mov r2, #0x0 add r4, r3, #0x0 _0204E8C4: add r5, r3, #0x0 add r5, #0x48 ldrb r5, [r5, #0x0] cmp r5, #0x0 beq _0204E8E8 add r5, r4, #0x0 add r5, #0x64 ldrh r6, [r5, #0x0] add r5, r4, #0x0 add r5, #0x62 ldrh r5, [r5, #0x0] cmp r0, r5 bne _0204E8E8 cmp r1, r6 bne _0204E8E8 add r0, r2, #0x0 pop {r3-r6} bx lr _0204E8E8: add r2, r2, #0x1 add r3, r3, #0x1 add r4, #0x8 cmp r2, #0x8 blt _0204E8C4 mov r0, #0xff pop {r3-r6} bx lr .balign 4 _0204E8F8: .word 0x021C5A68 thumb_func_start FUN_0204E8FC FUN_0204E8FC: ; 0x0204E8FC push {r4, lr} add r4, r2, #0x0 bl FUN_02030FE0 cmp r0, #0x0 beq _0204E962 ldrb r0, [r4, #0x0] cmp r0, #0x1 bne _0204E936 bl FUN_02031190 ldrb r1, [r4, #0x1] cmp r1, r0 bne _0204E936 ldr r1, _0204E964 ; =0x021C5A68 mov r0, #0xae ldr r3, [r1, #0x0] lsl r0, r0, #0x2 ldrb r2, [r3, r0] cmp r2, #0x0 bne _0204E962 mov r2, #0x1 strb r2, [r3, r0] ldr r1, [r1, #0x0] ldr r0, _0204E968 ; =FUN_0204D308 ldr r1, [r1, #0x54] bl FUN_022494C8 pop {r4, pc} _0204E936: ldrb r0, [r4, #0x0] cmp r0, #0x3 bne _0204E962 bl FUN_02031190 ldrb r1, [r4, #0x1] cmp r1, r0 bne _0204E962 ldr r1, _0204E964 ; =0x021C5A68 mov r0, #0xae ldr r3, [r1, #0x0] lsl r0, r0, #0x2 ldrb r2, [r3, r0] cmp r2, #0x0 bne _0204E962 mov r2, #0x1 strb r2, [r3, r0] ldr r1, [r1, #0x0] ldr r0, _0204E968 ; =FUN_0204D308 ldr r1, [r1, #0x54] bl FUN_0224A7C8 _0204E962: pop {r4, pc} .balign 4 _0204E964: .word 0x021C5A68 _0204E968: .word FUN_0204D308 thumb_func_start FUN_0204E96C FUN_0204E96C: ; 0x0204E96C push {r4-r6, lr} ldr r0, _0204EACC ; =0x021C5A68 add r5, r2, #0x0 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0xc] bl FUN_020462AC add r6, r0, #0x0 ldrb r0, [r5, #0x1] cmp r0, #0x8 blo _0204E988 bl ErrorHandling _0204E988: ldrb r0, [r5, #0x0] cmp r0, #0x4 bne _0204E9AA bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 bne _0204E9AA bl FUN_0204F7E4 bl FUN_0223D638 ldr r3, _0204EAD0 ; =FUN_0204E2AC mov r1, #0x48 mov r2, #0x1 bl FUN_0224DCB8 _0204E9AA: ldrb r0, [r5, #0x0] cmp r0, #0x1 bne _0204E9B8 ldrb r0, [r5, #0x1] ldrb r1, [r5, #0x2] bl FUN_0204E730 _0204E9B8: ldrb r0, [r5, #0x0] cmp r0, #0x1 bne _0204EA7C bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 bne _0204EA7C ldr r2, _0204EACC ; =0x021C5A68 ldrb r0, [r5, #0x2] ldr r2, [r2, #0x0] ldr r1, _0204EAD4 ; =FUN_0204D308 ldr r2, [r2, #0x54] bl FUN_02247A34 ldr r0, _0204EACC ; =0x021C5A68 ldrb r4, [r5, #0x1] ldr r2, [r0, #0x0] mov r3, #0xf add r1, r2, #0x0 add r1, #0x58 ldrb r1, [r1, #0x0] add r2, #0x58 bic r1, r3 mov r3, #0xf and r3, r4 orr r1, r3 strb r1, [r2, #0x0] ldr r2, [r0, #0x0] mov r3, #0xf0 add r1, r2, #0x0 add r1, #0x58 ldrb r1, [r1, #0x0] add r2, #0x58 bic r1, r3 ldrb r3, [r5, #0x2] lsl r3, r3, #0x1c lsr r3, r3, #0x18 orr r1, r3 strb r1, [r2, #0x0] ldr r3, [r0, #0x0] add r1, r3, #0x0 add r1, #0x59 ldrb r2, [r1, #0x0] mov r1, #0x1 add r3, #0x59 bic r2, r1 strb r2, [r3, #0x0] ldr r3, [r0, #0x0] add r1, r3, #0x0 add r1, #0x59 ldrb r2, [r1, #0x0] mov r1, #0x2 add r3, #0x59 bic r2, r1 strb r2, [r3, #0x0] ldrb r4, [r5, #0x2] ldr r1, [r0, #0x0] add r0, r1, r4 add r0, #0x5a ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0204EA7C ldr r0, [r1, #0x54] bl FUN_020377AC bl FUN_02026CB4 add r1, r4, #0x0 bl FUN_02026908 add r0, r6, #0x0 bl FUN_0205F688 add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 bl FUN_0205F698 add r0, r6, #0x0 bl FUN_0205F6A8 add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 bl FUN_0205F6B8 ldr r0, _0204EACC ; =0x021C5A68 ldrb r1, [r5, #0x2] ldr r2, [r0, #0x0] add r2, #0x5a ldrb r0, [r2, r1] add r0, r0, #0x1 strb r0, [r2, r1] _0204EA7C: ldrb r0, [r5, #0x0] cmp r0, #0x1 bne _0204EA9A ldrb r4, [r5, #0x2] bl FUN_02031190 cmp r4, r0 bne _0204EA9A ldr r2, _0204EACC ; =0x021C5A68 ldrb r1, [r5, #0x1] ldr r2, [r2, #0x0] add r0, r4, #0x0 ldr r2, [r2, #0x54] bl FUN_02248DF8 _0204EA9A: ldrb r0, [r5, #0x0] cmp r0, #0x2 bne _0204EABC bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 bne _0204EABC bl FUN_0204F7E4 bl FUN_0223D638 ldr r3, _0204EAD0 ; =FUN_0204E2AC mov r1, #0x2 mov r2, #0x1 bl FUN_0224DCB8 _0204EABC: ldrb r0, [r5, #0x0] cmp r0, #0x1 bne _0204EACA ldrb r0, [r5, #0x1] ldrb r1, [r5, #0x2] bl FUN_0223E4A8 _0204EACA: pop {r4-r6, pc} .balign 4 _0204EACC: .word 0x021C5A68 _0204EAD0: .word FUN_0204E2AC _0204EAD4: .word FUN_0204D308 thumb_func_start FUN_0204EAD8 FUN_0204EAD8: ; 0x0204EAD8 push {r3-r4} ldr r3, _0204EB0C ; =0x021C5A68 ldr r4, [r3, #0x0] add r4, #0xe2 ldrb r2, [r4, r0] cmp r1, r2 beq _0204EB08 strb r1, [r4, r0] ldr r2, [r3, #0x0] lsl r1, r0, #0x3 add r2, r2, r1 mov r4, #0x0 add r2, #0x69 strb r4, [r2, #0x0] ldr r2, [r3, #0x0] mov r4, #0x1 add r2, r2, r0 ldr r0, _0204EB10 ; =0x00000132 strb r4, [r2, r0] ldr r0, [r3, #0x0] mov r2, #0x2 add r0, r0, r1 add r0, #0x67 strb r2, [r0, #0x0] _0204EB08: pop {r3-r4} bx lr .balign 4 _0204EB0C: .word 0x021C5A68 _0204EB10: .word 0x00000132 thumb_func_start FUN_0204EB14 FUN_0204EB14: ; 0x0204EB14 ldr r1, _0204EB3C ; =0x021C5A68 ldr r2, [r1, #0x0] ldr r1, _0204EB40 ; =0x000002C2 ldrb r1, [r2, r1] cmp r1, #0x0 beq _0204EB24 mov r0, #0x0 bx lr _0204EB24: add r1, r2, r0 add r1, #0xea ldrb r1, [r1, #0x0] cmp r1, #0x0 beq _0204EB36 add r0, r2, r0 add r0, #0xe2 ldrb r0, [r0, #0x0] bx lr _0204EB36: mov r0, #0x0 bx lr nop _0204EB3C: .word 0x021C5A68 _0204EB40: .word 0x000002C2 thumb_func_start FUN_0204EB44 FUN_0204EB44: ; 0x0204EB44 push {r3-r7, lr} sub sp, #0x30 ldr r1, _0204EBF8 ; =0x020F5800 add r0, sp, #0x8 ldrh r2, [r1, #0x0] ldr r3, _0204EBFC ; =0x020F5814 strh r2, [r0, #0x0] ldrh r2, [r1, #0x2] strh r2, [r0, #0x2] ldrh r2, [r1, #0x4] ldrh r1, [r1, #0x6] strh r2, [r0, #0x4] strh r1, [r0, #0x6] add r2, sp, #0x20 mov r1, #0x8 _0204EB62: ldrh r0, [r3, #0x0] add r3, r3, #0x2 strh r0, [r2, #0x0] add r2, r2, #0x2 sub r1, r1, #0x1 bne _0204EB62 bl FUN_02033534 bl FUN_02031248 add r6, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x4] str r0, [sp, #0x0] cmp r6, #0x2 bne _0204EB86 add r5, sp, #0x8 b _0204EB88 _0204EB86: add r5, sp, #0x20 _0204EB88: mov r7, #0x0 cmp r6, #0x0 ble _0204EBD4 _0204EB8E: mov r4, #0x0 cmp r6, #0x0 ble _0204EBCC _0204EB94: add r0, r4, #0x0 bl FUN_0204E3EC ldrh r1, [r5, #0x0] cmp r1, r0 bne _0204EBC6 add r0, r4, #0x0 bl FUN_0204E440 ldrh r1, [r5, #0x2] cmp r1, r0 bne _0204EBC6 ldr r0, [sp, #0x4] lsl r1, r4, #0x2 add r0, r0, #0x1 str r0, [sp, #0x4] add r0, sp, #0x10 str r7, [r0, r1] bl FUN_02031190 cmp r4, r0 bne _0204EBCC mov r0, #0x1 str r0, [sp, #0x0] b _0204EBCC _0204EBC6: add r4, r4, #0x1 cmp r4, r6 blt _0204EB94 _0204EBCC: add r7, r7, #0x1 add r5, r5, #0x4 cmp r7, r6 blt _0204EB8E _0204EBD4: ldr r0, [sp, #0x4] cmp r0, r6 bne _0204EBF2 mov r5, #0x0 cmp r6, #0x0 ble _0204EBF2 add r4, sp, #0x10 _0204EBE2: ldr r0, [r4, #0x0] add r1, r5, #0x0 bl FUN_020313B4 add r5, r5, #0x1 add r4, r4, #0x4 cmp r5, r6 blt _0204EBE2 _0204EBF2: ldr r0, [sp, #0x0] add sp, #0x30 pop {r3-r7, pc} .balign 4 _0204EBF8: .word 0x020F5800 _0204EBFC: .word 0x020F5814 thumb_func_start FUN_0204EC00 FUN_0204EC00: ; 0x0204EC00 ldrb r2, [r2, #0x0] cmp r2, #0x3 bne _0204EC14 ldr r1, _0204EC24 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r1, #0x0] add r0, r1, r0 add r0, #0xf2 strb r2, [r0, #0x0] bx lr _0204EC14: ldr r1, _0204EC24 ; =0x021C5A68 ldr r1, [r1, #0x0] add r1, r1, r0 mov r0, #0xad lsl r0, r0, #0x2 strb r2, [r1, r0] bx lr nop _0204EC24: .word 0x021C5A68 thumb_func_start FUN_0204EC28 FUN_0204EC28: ; 0x0204EC28 push {r3-r7, lr} sub sp, #0x8 bl FUN_02033534 bl FUN_02031248 add r7, r0, #0x0 cmp r7, #0x2 bne _0204EC40 ldr r0, _0204ECB4 ; =0x02105E5C str r0, [sp, #0x0] b _0204EC44 _0204EC40: ldr r0, _0204ECB8 ; =0x02105E64 str r0, [sp, #0x0] _0204EC44: mov r1, #0x0 add r0, sp, #0x4 strb r1, [r0, #0x0] cmp r7, #0x0 ble _0204ECAE _0204EC4E: ldr r0, _0204ECBC ; =0x021C5A68 add r6, sp, #0x4 ldr r1, [r0, #0x0] ldrb r0, [r6, #0x0] add r1, r1, r0 mov r0, #0xad lsl r0, r0, #0x2 ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204ECA0 mov r4, #0x0 cmp r7, #0x0 ble _0204ECA0 ldr r5, [sp, #0x0] _0204EC6A: ldrb r0, [r6, #0x0] bl FUN_0204E544 ldrh r1, [r5, #0x0] cmp r1, r0 bne _0204EC98 ldrb r0, [r6, #0x0] bl FUN_0204E598 ldrh r1, [r5, #0x2] cmp r1, r0 bne _0204EC98 ldr r0, _0204ECBC ; =0x021C5A68 ldr r1, [r0, #0x0] ldrb r0, [r6, #0x0] add r1, r1, r0 add r1, #0xf2 mov r0, #0x1 strb r0, [r1, #0x0] mov r0, #0x5f add r1, sp, #0x4 bl FUN_02030C4C _0204EC98: add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, r7 blt _0204EC6A _0204ECA0: add r0, sp, #0x4 ldrb r1, [r0, #0x0] add r1, r1, #0x1 strb r1, [r0, #0x0] ldrb r0, [r0, #0x0] cmp r0, r7 blt _0204EC4E _0204ECAE: add sp, #0x8 pop {r3-r7, pc} nop _0204ECB4: .word 0x02105E5C _0204ECB8: .word 0x02105E64 _0204ECBC: .word 0x021C5A68 thumb_func_start FUN_0204ECC0 FUN_0204ECC0: ; 0x0204ECC0 push {r4, lr} bl FUN_02031190 add r4, r0, #0x0 bl FUN_0204E3EC cmp r0, #0x8 ble _0204ECE0 mov r0, #0x2 bl FUN_0204F6DC mov r0, #0x2 mov r1, #0x24 bl FUN_0205AFDC b _0204ECEE _0204ECE0: mov r0, #0x3 bl FUN_0204F6DC mov r0, #0x3 mov r1, #0x24 bl FUN_0205AFDC _0204ECEE: add r1, r0, #0x0 ldr r0, _0204ED04 ; =0x021C5A68 ldr r2, [r0, #0x0] lsl r0, r4, #0x2 add r0, r2, r0 ldr r0, [r0, #0x8] bl FUN_02057260 bl FUN_0204FB14 pop {r4, pc} .balign 4 _0204ED04: .word 0x021C5A68 thumb_func_start FUN_0204ED08 FUN_0204ED08: ; 0x0204ED08 push {r3-r7, lr} sub sp, #0x8 bl FUN_02033534 bl FUN_02031248 mov r3, #0x0 str r0, [sp, #0x0] cmp r0, #0x0 ble _0204ED3C ldr r0, _0204ED94 ; =0x021C5A68 mov r1, #0x66 add r2, r1, #0x0 ldr r4, [r0, #0x0] sub r2, #0x67 _0204ED26: ldrsb r0, [r4, r1] cmp r0, r2 bne _0204ED32 add sp, #0x8 mov r0, #0x0 pop {r3-r7, pc} _0204ED32: ldr r0, [sp, #0x0] add r3, r3, #0x1 add r4, #0x8 cmp r3, r0 blt _0204ED26 _0204ED3C: ldr r0, [sp, #0x0] mov r5, #0x0 cmp r0, #0x0 ble _0204ED8E add r4, r5, #0x0 _0204ED46: ldr r0, _0204ED94 ; =0x021C5A68 ldr r7, [r0, #0x0] mov r0, #0x4 add r7, #0x62 add r6, r7, r4 ldrsb r0, [r6, r0] bl FUN_0204F610 str r0, [sp, #0x4] bl FUN_02059BF4 ldrh r1, [r7, r4] add r0, r1, r0 strh r0, [r7, r4] ldr r0, [sp, #0x4] bl FUN_02059C00 ldrh r1, [r6, #0x2] add r0, r1, r0 strh r0, [r6, #0x2] mov r0, #0x2 strb r0, [r6, #0x5] ldr r0, _0204ED94 ; =0x021C5A68 mov r1, #0x1 ldr r0, [r0, #0x0] add r2, r0, r5 ldr r0, _0204ED98 ; =0x00000132 strb r1, [r2, r0] add r0, r5, #0x0 bl FUN_0204EAD8 ldr r0, [sp, #0x0] add r5, r5, #0x1 add r4, #0x8 cmp r5, r0 blt _0204ED46 _0204ED8E: mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} .balign 4 _0204ED94: .word 0x021C5A68 _0204ED98: .word 0x00000132 thumb_func_start FUN_0204ED9C FUN_0204ED9C: ; 0x0204ED9C push {r4, lr} add r4, r0, #0x0 ldr r0, _0204EDE8 ; =0x021C5A68 ldr r1, [r0, #0x0] lsl r0, r4, #0x2 add r1, r1, r0 mov r0, #0x29 lsl r0, r0, #0x4 ldr r0, [r1, r0] cmp r0, #0x0 beq _0204EDE2 bl FUN_02016A18 ldr r2, _0204EDE8 ; =0x021C5A68 lsl r1, r4, #0x2 ldr r3, [r2, #0x0] mov r0, #0x0 add r3, r3, r1 mov r1, #0x29 lsl r1, r1, #0x4 str r0, [r3, r1] ldr r1, [r2, #0x0] mov r3, #0xff add r1, r1, r4 add r1, #0xfa strb r0, [r1, #0x0] mov r0, #0x22 ldr r1, [r2, #0x0] mul r0, r4 add r1, r1, r0 add r0, r3, #0x0 add r0, #0x6b strh r3, [r1, r0] mov r0, #0x1 pop {r4, pc} _0204EDE2: mov r0, #0x0 pop {r4, pc} nop _0204EDE8: .word 0x021C5A68 thumb_func_start FUN_0204EDEC FUN_0204EDEC: ; 0x0204EDEC push {r3-r7, lr} add r7, r0, #0x0 bl FUN_02031190 cmp r7, r0 bne _0204EE90 ldr r0, _0204EE98 ; =0x021C5A68 ldr r2, [r0, #0x0] lsl r0, r7, #0x2 add r1, r2, r0 mov r0, #0x29 lsl r0, r0, #0x4 ldr r0, [r1, r0] cmp r0, #0x0 beq _0204EE96 ldr r0, [r2, #0x54] ldr r0, [r0, #0xc] bl FUN_02029FC8 mov r1, #0x1c bl FUN_0202A170 ldr r0, _0204EE98 ; =0x021C5A68 ldr r1, [r0, #0x0] mov r0, #0xa3 lsl r0, r0, #0x2 ldr r0, [r1, r0] cmp r0, #0x0 beq _0204EE2A bl FUN_02016A18 _0204EE2A: mov r0, #0x9e lsl r0, r0, #0x2 ldr r2, _0204EE98 ; =0x021C5A68 mov r5, #0x4 mov r6, #0x10 add r1, r0, #0x4 _0204EE36: ldr r3, [r2, #0x0] sub r5, r5, #0x1 add r4, r3, r6 ldr r3, [r4, r0] sub r6, r6, #0x4 str r3, [r4, r1] cmp r5, #0x1 bge _0204EE36 ldr r1, _0204EE98 ; =0x021C5A68 mov r0, #0x29 ldr r3, [r1, #0x0] lsl r4, r7, #0x2 add r2, r3, r4 lsl r0, r0, #0x4 ldr r2, [r2, r0] sub r0, #0x14 str r2, [r3, r0] ldr r5, [r1, #0x0] ldr r0, [r5, #0x54] bl FUN_020377AC bl FUN_02026CC4 mov r1, #0x29 add r2, r5, r4 lsl r1, r1, #0x4 ldr r1, [r2, r1] bl FUN_02025C40 ldr r1, _0204EE98 ; =0x021C5A68 mov r3, #0x0 ldr r0, [r1, #0x0] add r2, r0, r4 mov r0, #0x29 lsl r0, r0, #0x4 str r3, [r2, r0] mov r0, #0x22 ldr r1, [r1, #0x0] mul r0, r7 mov r2, #0xff add r1, r1, r0 add r0, r2, #0x0 add r0, #0x6b strh r2, [r1, r0] pop {r3-r7, pc} _0204EE90: add r0, r7, #0x0 bl FUN_0204ED9C _0204EE96: pop {r3-r7, pc} .balign 4 _0204EE98: .word 0x021C5A68 thumb_func_start FUN_0204EE9C FUN_0204EE9C: ; 0x0204EE9C ldr r1, _0204EEB8 ; =0x021C5A68 lsl r0, r0, #0x2 ldr r1, [r1, #0x0] add r1, r1, r0 mov r0, #0x29 lsl r0, r0, #0x4 ldr r0, [r1, r0] cmp r0, #0x0 beq _0204EEB2 mov r0, #0x1 bx lr _0204EEB2: mov r0, #0x0 bx lr nop _0204EEB8: .word 0x021C5A68 thumb_func_start FUN_0204EEBC FUN_0204EEBC: ; 0x0204EEBC push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _0204EF48 ; =0x021C5A68 add r6, r1, #0x0 ldr r1, [r0, #0x0] lsl r0, r5, #0x2 add r1, r1, r0 mov r0, #0x29 lsl r0, r0, #0x4 ldr r0, [r1, r0] cmp r0, #0x0 bne _0204EF44 add r0, r6, #0x0 bl FUN_0202DFA4 add r7, r0, #0x0 beq _0204EF44 mov r0, #0xf lsl r4, r5, #0x2 bl FUN_02023928 mov r3, #0x29 ldr r1, _0204EF48 ; =0x021C5A68 add r2, r0, #0x0 ldr r0, [r1, #0x0] lsl r3, r3, #0x4 add r0, r0, r4 str r2, [r0, r3] ldr r1, [r1, #0x0] add r0, r7, #0x0 add r1, r1, r4 ldr r1, [r1, r3] bl FUN_0202393C ldr r1, _0204EF48 ; =0x021C5A68 mov r2, #0x1 ldr r0, [r1, #0x0] ldr r3, _0204EF4C ; =0x0000016A add r0, r0, r5 add r0, #0xfa strb r2, [r0, #0x0] mov r0, #0x22 add r2, r5, #0x0 mul r2, r0 ldr r0, [r1, #0x0] add r0, r0, r2 strh r5, [r0, r3] ldr r1, [r1, #0x0] sub r3, #0x20 add r1, r1, r3 add r0, r7, #0x0 add r1, r1, r2 bl FUN_0202393C bl FUN_02031190 cmp r6, r0 bne _0204EF40 ldr r0, _0204EF48 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0xc] bl FUN_02026CB4 bl FUN_02026BC8 _0204EF40: mov r0, #0x1 pop {r3-r7, pc} _0204EF44: mov r0, #0x0 pop {r3-r7, pc} .balign 4 _0204EF48: .word 0x021C5A68 _0204EF4C: .word 0x0000016A thumb_func_start FUN_0204EF50 FUN_0204EF50: ; 0x0204EF50 push {r3-r7, lr} ldr r4, _0204EFC4 ; =0x021C5A68 mov r7, #0x29 ldr r6, [r4, #0x0] add r3, r0, #0x0 lsl r7, r7, #0x4 add r5, r6, r7 lsl r0, r3, #0x2 add r2, r1, #0x0 ldr r1, [r5, r0] cmp r1, #0x0 bne _0204EFBE lsl r1, r2, #0x2 add r6, r6, r1 ldr r6, [r6, r7] cmp r6, #0x0 beq _0204EFBE str r6, [r5, r0] ldr r5, [r4, #0x0] mov r6, #0x0 add r1, r5, r1 str r6, [r1, r7] ldr r1, [r4, #0x0] mov r5, #0x1 add r1, r1, r3 add r1, #0xfa strb r5, [r1, #0x0] ldr r1, [r4, #0x0] add r1, r1, r2 add r1, #0xfa strb r6, [r1, #0x0] mov r1, #0x22 ldr r5, [r4, #0x0] mul r1, r3 add r6, r5, r1 ldr r5, _0204EFC8 ; =0x0000016A strh r3, [r6, r5] mov r6, #0x22 mov r5, #0xff mul r6, r2 ldr r3, [r4, #0x0] add r2, r5, #0x0 add r3, r3, r6 add r2, #0x6b strh r5, [r3, r2] ldr r2, [r4, #0x0] add r5, #0x4b add r0, r2, r0 add r2, r2, r5 ldr r0, [r0, r7] add r1, r2, r1 bl FUN_0202393C mov r0, #0x1 pop {r3-r7, pc} _0204EFBE: mov r0, #0x0 pop {r3-r7, pc} nop _0204EFC4: .word 0x021C5A68 _0204EFC8: .word 0x0000016A thumb_func_start FUN_0204EFCC FUN_0204EFCC: ; 0x0204EFCC push {r4, lr} ldr r1, _0204F06C ; =0x021C5A68 add r4, r0, #0x0 ldr r3, [r1, #0x0] ldr r1, _0204F070 ; =0x000002BD ldrb r1, [r3, r1] cmp r1, #0x0 bne _0204F068 lsl r1, r4, #0x2 add r2, r3, r1 ldr r1, [r2, #0x8] cmp r1, #0x0 beq _0204F068 add r3, r3, r4 add r3, #0xfa ldrb r3, [r3, #0x0] cmp r3, #0x3 bhi _0204F068 add r3, r3, r3 add r3, pc ldrh r3, [r3, #0x6] lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 _0204EFFC: ; jump table (using 16-bit offset) .short _0204F064 - _0204EFFC - 2; case 0 .short _0204F048 - _0204EFFC - 2; case 1 .short _0204F02C - _0204EFFC - 2; case 2 .short _0204F004 - _0204EFFC - 2; case 3 _0204F004: ldr r0, [r2, #0x28] cmp r0, #0x0 bne _0204F01E add r0, r1, #0x0 bl FUN_020553A0 bl FUN_021E5970 ldr r1, _0204F06C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x2 add r1, r2, r1 str r0, [r1, #0x28] _0204F01E: ldr r0, _0204F06C ; =0x021C5A68 mov r1, #0x0 ldr r0, [r0, #0x0] add r0, r0, r4 add r0, #0xfa strb r1, [r0, #0x0] pop {r4, pc} _0204F02C: ldr r0, [r2, #0x28] cmp r0, #0x0 bne _0204F068 add r0, r1, #0x0 bl FUN_020553A0 bl FUN_021E57D4 ldr r1, _0204F06C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x2 add r1, r2, r1 str r0, [r1, #0x28] pop {r4, pc} _0204F048: ldr r0, [r2, #0x28] cmp r0, #0x0 bne _0204F068 add r0, r1, #0x0 bl FUN_020553A0 bl FUN_021E5614 ldr r1, _0204F06C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x2 add r1, r2, r1 str r0, [r1, #0x28] pop {r4, pc} _0204F064: bl FUN_0204CD78 _0204F068: pop {r4, pc} nop _0204F06C: .word 0x021C5A68 _0204F070: .word 0x000002BD thumb_func_start FUN_0204F074 FUN_0204F074: ; 0x0204F074 ldr r1, _0204F088 ; =0x021C5A68 ldr r2, [r1, #0x0] add r2, #0xfa ldrb r1, [r2, r0] cmp r1, #0x1 beq _0204F084 mov r1, #0x2 strb r1, [r2, r0] _0204F084: bx lr nop _0204F088: .word 0x021C5A68 thumb_func_start FUN_0204F08C FUN_0204F08C: ; 0x0204F08C ldr r1, _0204F0A0 ; =0x021C5A68 ldr r2, [r1, #0x0] add r2, #0xfa ldrb r1, [r2, r0] cmp r1, #0x1 beq _0204F09C mov r1, #0x3 strb r1, [r2, r0] _0204F09C: ldr r3, _0204F0A4 ; =FUN_0204CD78 bx r3 .balign 4 _0204F0A0: .word 0x021C5A68 _0204F0A4: .word FUN_0204CD78 thumb_func_start FUN_0204F0A8 FUN_0204F0A8: ; 0x0204F0A8 ldr r1, _0204F0BC ; =0x021C5A68 ldr r2, [r1, #0x0] add r2, #0xfa ldrb r1, [r2, r0] cmp r1, #0x1 beq _0204F0B8 mov r1, #0x0 strb r1, [r2, r0] _0204F0B8: ldr r3, _0204F0C0 ; =FUN_0204CD78 bx r3 .balign 4 _0204F0BC: .word 0x021C5A68 _0204F0C0: .word FUN_0204CD78 thumb_func_start FUN_0204F0C4 FUN_0204F0C4: ; 0x0204F0C4 mov r0, #0x3 bx lr thumb_func_start FUN_0204F0C8 FUN_0204F0C8: ; 0x0204F0C8 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 add r0, sp, #0x0 strb r4, [r0, #0x1] ldrb r1, [r2, #0x0] cmp r1, #0x0 beq _0204F0E0 cmp r1, #0x3 beq _0204F0F0 add sp, #0x4 pop {r3-r4, pc} _0204F0E0: mov r1, #0x0 strb r1, [r0, #0x0] mov r0, #0x55 add r1, sp, #0x0 bl FUN_02030C4C add sp, #0x4 pop {r3-r4, pc} _0204F0F0: mov r1, #0x3 strb r1, [r0, #0x0] mov r0, #0x55 add r1, sp, #0x0 bl FUN_02030C4C add r0, r4, #0x0 mov r1, #0x0 bl FUN_0204EAD8 add sp, #0x4 pop {r3-r4, pc} thumb_func_start FUN_0204F108 FUN_0204F108: ; 0x0204F108 push {r3, lr} bl FUN_02031190 bl FUN_0204F0A8 bl FUN_0223D648 bl FUN_0224DD94 mov r0, #0x4 bl FUN_0204F774 pop {r3, pc} .balign 4 thumb_func_start FUN_0204F124 FUN_0204F124: ; 0x0204F124 push {r3-r7, lr} add r5, r1, #0x0 add r6, r0, #0x0 ldr r0, [r5, #0x4] mov r4, #0x0 lsl r0, r0, #0x18 lsr r7, r0, #0x18 add r0, r7, #0x0 bl FUN_02030E7C cmp r0, #0x0 bne _0204F14A add r0, r5, #0x0 bl FUN_02016A18 add r0, r6, #0x0 bl FUN_0200CAB4 pop {r3-r7, pc} _0204F14A: ldr r0, [r5, #0x0] add r0, r0, #0x1 str r0, [r5, #0x0] cmp r0, #0x3c ble _0204F156 mov r4, #0x1 _0204F156: cmp r4, #0x0 beq _0204F172 ldr r0, _0204F174 ; =0x021C5A68 mov r1, #0x1 ldr r0, [r0, #0x0] add r0, r0, r7 add r0, #0xea strb r1, [r0, #0x0] add r0, r5, #0x0 bl FUN_02016A18 add r0, r6, #0x0 bl FUN_0200CAB4 _0204F172: pop {r3-r7, pc} .balign 4 _0204F174: .word 0x021C5A68 thumb_func_start FUN_0204F178 FUN_0204F178: ; 0x0204F178 push {r4, lr} add r4, r0, #0x0 mov r0, #0xb mov r1, #0x8 bl FUN_02016998 add r1, r0, #0x0 mov r2, #0x0 str r2, [r1, #0x0] ldr r0, _0204F1A8 ; =0x021C5A68 str r4, [r1, #0x4] ldr r0, [r0, #0x0] add r0, r0, r4 add r0, #0xea strb r2, [r0, #0x0] ldr r0, _0204F1AC ; =FUN_0204F124 mov r2, #0x64 bl FUN_0200CA44 add r0, r4, #0x0 mov r1, #0x0 bl FUN_0204EAD8 pop {r4, pc} .balign 4 _0204F1A8: .word 0x021C5A68 _0204F1AC: .word FUN_0204F124 thumb_func_start FUN_0204F1B0 FUN_0204F1B0: ; 0x0204F1B0 push {r3-r5, lr} add r4, r1, #0x0 mov r1, #0x1 add r5, r0, #0x0 tst r1, r2 beq _0204F1C4 mov r1, #0xb add r0, sp, #0x0 strb r1, [r0, #0x0] b _0204F1F6 _0204F1C4: bl FUN_0204EE9C cmp r0, #0x0 beq _0204F1D4 mov r1, #0xb add r0, sp, #0x0 strb r1, [r0, #0x0] b _0204F1F6 _0204F1D4: cmp r4, #0xff bne _0204F1DC mov r0, #0x0 pop {r3-r5, pc} _0204F1DC: add r0, r4, #0x0 bl FUN_0204EE9C cmp r0, #0x0 bne _0204F1EA mov r0, #0x0 pop {r3-r5, pc} _0204F1EA: mov r1, #0x5 add r0, sp, #0x0 strb r1, [r0, #0x0] add r0, r4, #0x0 bl FUN_0204F178 _0204F1F6: add r0, sp, #0x0 strb r5, [r0, #0x1] strb r4, [r0, #0x2] add r0, r5, #0x0 mov r1, #0x0 bl FUN_0204EAD8 mov r0, #0x55 add r1, sp, #0x0 bl FUN_02030C4C mov r0, #0x1 pop {r3-r5, pc} thumb_func_start FUN_0204F210 FUN_0204F210: ; 0x0204F210 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 bl FUN_0204EE9C cmp r0, #0x0 beq _0204F226 mov r1, #0xc add r0, sp, #0x0 strb r1, [r0, #0x0] b _0204F22C _0204F226: add sp, #0x4 mov r0, #0x0 pop {r3-r4, pc} _0204F22C: strb r4, [r0, #0x1] mov r0, #0x55 add r1, sp, #0x0 bl FUN_02030C4C mov r0, #0x1 add sp, #0x4 pop {r3-r4, pc} thumb_func_start FUN_0204F23C FUN_0204F23C: ; 0x0204F23C push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_0223E6B8 mov r0, #0x0 bl FUN_0204D628 mov r0, #0x4 bl FUN_0204F74C bl FUN_0223D648 add r6, r0, #0x0 ldrb r0, [r5, #0x1] bl FUN_0202DFA4 add r1, r0, #0x0 add r0, r6, #0x0 bl FUN_0224DDB8 cmp r4, #0x0 beq _0204F29C bl FUN_02031190 ldr r1, _0204F2C8 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r1, #0x0] add r0, r1, r0 add r0, #0xfa strb r2, [r0, #0x0] bl FUN_02031190 bl FUN_0204F0A8 bl FUN_02031190 bl FUN_0204F074 bl FUN_0223D648 ldr r3, _0204F2CC ; =FUN_0204F108 mov r1, #0xa mov r2, #0x1 bl FUN_0224DCB8 b _0204F2AA _0204F29C: bl FUN_0223D648 ldr r3, _0204F2CC ; =FUN_0204F108 mov r1, #0xb mov r2, #0x1 bl FUN_0224DCB8 _0204F2AA: mov r0, #0xff str r0, [sp, #0x0] mov r3, #0x0 ldr r1, _0204F2D0 ; =0x00000424 mov r0, #0x4 mov r2, #0x3c str r3, [sp, #0x4] bl FUN_02004DCC ldr r0, _0204F2D4 ; =0x000005F6 bl FUN_020054C8 add sp, #0x8 pop {r4-r6, pc} nop _0204F2C8: .word 0x021C5A68 _0204F2CC: .word FUN_0204F108 _0204F2D0: .word 0x00000424 _0204F2D4: .word 0x000005F6 thumb_func_start FUN_0204F2D8 FUN_0204F2D8: ; 0x0204F2D8 push {r4-r5, lr} sub sp, #0xc ldr r0, _0204F5E0 ; =0x021C5A68 add r5, r2, #0x0 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] bl FUN_020377AC bl FUN_02026CB4 add r4, r0, #0x0 ldrb r0, [r5, #0x0] cmp r0, #0x5 bgt _0204F308 cmp r0, #0x0 blt _0204F346 beq _0204F31E cmp r0, #0x3 bne _0204F300 b _0204F4D2 _0204F300: cmp r0, #0x5 beq _0204F370 add sp, #0xc pop {r4-r5, pc} _0204F308: cmp r0, #0xc bgt _0204F346 cmp r0, #0xb blt _0204F346 bne _0204F314 b _0204F48C _0204F314: cmp r0, #0xc bne _0204F31A b _0204F4AE _0204F31A: add sp, #0xc pop {r4-r5, pc} _0204F31E: ldr r1, _0204F5E0 ; =0x021C5A68 ldrb r0, [r5, #0x1] ldr r2, [r1, #0x0] lsl r1, r0, #0x2 add r2, r2, r1 mov r1, #0x29 lsl r1, r1, #0x4 ldr r1, [r2, r1] cmp r1, #0x0 beq _0204F346 bl FUN_0204ED9C ldrb r0, [r5, #0x1] bl FUN_0204F0A8 bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 beq _0204F348 _0204F346: b _0204F5DA _0204F348: bl FUN_0204F7E4 bl FUN_0223D648 ldr r3, _0204F5E4 ; =FUN_0204E2B4 mov r1, #0x2 mov r2, #0x1 bl FUN_0224DCB8 mov r0, #0xff str r0, [sp, #0x0] mov r3, #0x0 ldr r1, _0204F5E8 ; =0x00000424 mov r0, #0x4 mov r2, #0x3c str r3, [sp, #0x4] bl FUN_02004DCC add sp, #0xc pop {r4-r5, pc} _0204F370: ldrb r0, [r5, #0x1] bl FUN_0202DFA4 cmp r0, #0x0 bne _0204F384 ldrb r0, [r5, #0x2] bl FUN_0204ED9C add sp, #0xc pop {r4-r5, pc} _0204F384: ldr r0, _0204F5E0 ; =0x021C5A68 ldr r1, [r0, #0x0] ldrb r0, [r5, #0x2] lsl r0, r0, #0x2 add r1, r1, r0 mov r0, #0x29 lsl r0, r0, #0x4 ldr r0, [r1, r0] cmp r0, #0x0 bne _0204F3AC bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 beq _0204F3A4 b _0204F5DA _0204F3A4: bl FUN_0204F7FC add sp, #0xc pop {r4-r5, pc} _0204F3AC: ldrb r0, [r5, #0x1] bl FUN_0202DFA4 add r1, r0, #0x0 ldr r0, _0204F5E0 ; =0x021C5A68 ldr r2, [r0, #0x0] ldrb r0, [r5, #0x2] lsl r0, r0, #0x2 add r2, r2, r0 mov r0, #0x29 lsl r0, r0, #0x4 ldr r0, [r2, r0] bl FUN_02023AA4 cmp r0, #0x1 bne _0204F41A ldrb r0, [r5, #0x2] bl FUN_0204ED9C bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 bne _0204F3FC add r0, r4, #0x0 bl FUN_02026C00 bl FUN_0204F7E4 bl FUN_0223D648 ldr r3, _0204F5EC ; =FUN_0204E2AC mov r1, #0xd mov r2, #0x1 bl FUN_0224DCB8 ldr r0, _0204F5F0 ; =0x00000625 bl FUN_020054C8 b _0204F410 _0204F3FC: bl FUN_02031190 ldrb r1, [r5, #0x2] cmp r1, r0 bne _0204F410 add r0, r5, #0x0 mov r1, #0x0 add r2, r4, #0x0 bl FUN_0204F23C _0204F410: ldrb r0, [r5, #0x1] bl FUN_022472AC add sp, #0xc pop {r4-r5, pc} _0204F41A: ldrb r0, [r5, #0x1] ldrb r1, [r5, #0x2] bl FUN_0204EF50 cmp r0, #0x0 beq _0204F4B8 bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 bne _0204F46C add r0, r4, #0x0 bl FUN_02026970 mov r0, #0x1 bl FUN_0204F74C bl FUN_0223D648 add r4, r0, #0x0 ldrb r0, [r5, #0x2] bl FUN_0202DFA4 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_0224DDB8 bl FUN_0223D648 ldr r3, _0204F5F4 ; =FUN_0204E2D4 mov r1, #0xc mov r2, #0x1 bl FUN_0224DCB8 ldr r0, _0204F5F8 ; =0x00000425 bl FUN_0200521C ldr r0, _0204F5F0 ; =0x00000625 bl FUN_020054C8 b _0204F480 _0204F46C: bl FUN_02031190 ldrb r1, [r5, #0x2] cmp r1, r0 bne _0204F480 add r0, r5, #0x0 mov r1, #0x1 add r2, r4, #0x0 bl FUN_0204F23C _0204F480: ldrb r0, [r5, #0x1] ldrb r1, [r5, #0x2] bl FUN_02247294 add sp, #0xc pop {r4-r5, pc} _0204F48C: bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 bne _0204F4B8 mov r0, #0x2 bl FUN_0204F74C bl FUN_0223D648 ldr r3, _0204F5FC ; =FUN_0204E2BC mov r1, #0x6 mov r2, #0x1 bl FUN_0224DCB8 add sp, #0xc pop {r4-r5, pc} _0204F4AE: bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 beq _0204F4BA _0204F4B8: b _0204F5DA _0204F4BA: mov r0, #0x20 bl FUN_0204F74C bl FUN_0223D648 ldr r3, _0204F600 ; =FUN_0204E2C8 mov r1, #0x5 mov r2, #0x1 bl FUN_0224DCB8 add sp, #0xc pop {r4-r5, pc} _0204F4D2: ldr r0, _0204F5E0 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r0, #0x0] ldrb r0, [r5, #0x1] add r0, r1, r0 add r0, #0xfa strb r2, [r0, #0x0] ldrb r0, [r5, #0x1] bl FUN_0204F0A8 bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 bne _0204F58C ldr r0, _0204F5E0 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] bl FUN_020377AC bl FUN_02026CB4 add r4, r0, #0x0 bl FUN_020269A0 add r1, sp, #0x8 strb r0, [r1, #0x0] add r0, r4, #0x0 bl FUN_020269D4 ldr r0, _0204F5E0 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205EDF8 ldr r0, _0204F5E0 ; =0x021C5A68 ldrb r1, [r5, #0x1] ldr r0, [r0, #0x0] lsl r1, r1, #0x2 add r2, r0, r1 mov r1, #0x29 lsl r1, r1, #0x4 ldr r1, [r2, r1] cmp r1, #0x0 beq _0204F54A ldr r0, [r0, #0x54] bl FUN_0206189C ldr r0, _0204F5E0 ; =0x021C5A68 ldr r1, _0204F604 ; =0x0000FFFF ldr r3, [r0, #0x0] ldr r0, _0204F608 ; =0x000002B2 ldrh r2, [r3, r0] cmp r2, r1 beq _0204F54A add r1, r2, #0x1 strh r1, [r3, r0] _0204F54A: bl FUN_0204F7E4 ldr r0, _0204F60C ; =0x0000062B bl FUN_020054C8 add r0, r4, #0x0 bl FUN_020269A0 add r1, sp, #0x8 ldrb r1, [r1, #0x0] cmp r1, r0 bne _0204F572 bl FUN_0223D648 ldr r3, _0204F5EC ; =FUN_0204E2AC mov r1, #0x7 mov r2, #0x1 bl FUN_0224DCB8 b _0204F57A _0204F572: mov r0, #0x60 add r1, sp, #0x8 bl FUN_020311D0 _0204F57A: mov r0, #0xff str r0, [sp, #0x0] mov r3, #0x0 ldr r1, _0204F5E8 ; =0x00000424 mov r0, #0x4 mov r2, #0x3c str r3, [sp, #0x4] bl FUN_02004DCC _0204F58C: ldr r0, _0204F5E0 ; =0x021C5A68 ldr r1, [r0, #0x0] ldrb r0, [r5, #0x1] lsl r0, r0, #0x2 add r1, r1, r0 mov r0, #0x29 lsl r0, r0, #0x4 ldr r0, [r1, r0] cmp r0, #0x0 beq _0204F5D4 bl FUN_02031190 bl FUN_0202DFA4 add r1, r0, #0x0 ldr r0, _0204F5E0 ; =0x021C5A68 ldr r2, [r0, #0x0] ldrb r0, [r5, #0x1] lsl r0, r0, #0x2 add r2, r2, r0 mov r0, #0x29 lsl r0, r0, #0x4 ldr r0, [r2, r0] bl FUN_02023AA4 cmp r0, #0x1 bne _0204F5D4 ldrb r0, [r5, #0x1] bl FUN_0202DFA4 add r1, r0, #0x0 ldr r0, _0204F5E0 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] bl FUN_020618B8 _0204F5D4: ldrb r0, [r5, #0x1] bl FUN_0204EDEC _0204F5DA: add sp, #0xc pop {r4-r5, pc} nop _0204F5E0: .word 0x021C5A68 _0204F5E4: .word FUN_0204E2B4 _0204F5E8: .word 0x00000424 _0204F5EC: .word FUN_0204E2AC _0204F5F0: .word 0x00000625 _0204F5F4: .word FUN_0204E2D4 _0204F5F8: .word 0x00000425 _0204F5FC: .word FUN_0204E2BC _0204F600: .word FUN_0204E2C8 _0204F604: .word 0x0000FFFF _0204F608: .word 0x000002B2 _0204F60C: .word 0x0000062B thumb_func_start FUN_0204F610 FUN_0204F610: ; 0x0204F610 push {r3, lr} cmp r0, #0x0 bne _0204F61A mov r0, #0x1 pop {r3, pc} _0204F61A: cmp r0, #0x1 bne _0204F622 mov r0, #0x0 pop {r3, pc} _0204F622: cmp r0, #0x2 bne _0204F62A mov r0, #0x3 pop {r3, pc} _0204F62A: cmp r0, #0x3 bne _0204F632 mov r0, #0x2 pop {r3, pc} _0204F632: bl ErrorHandling mov r0, #0x2 pop {r3, pc} .balign 4 thumb_func_start FUN_0204F63C FUN_0204F63C: ; 0x0204F63C push {r3-r4} ldr r3, _0204F658 ; =0x021C5A68 ldr r2, [r3, #0x0] add r4, r2, r0 ldr r2, _0204F65C ; =0x0000011A strb r1, [r4, r2] ldr r1, [r3, #0x0] mov r4, #0xf add r0, r1, r0 add r2, #0x20 strb r4, [r0, r2] pop {r3-r4} bx lr nop _0204F658: .word 0x021C5A68 _0204F65C: .word 0x0000011A thumb_func_start FUN_0204F660 FUN_0204F660: ; 0x0204F660 ldr r1, _0204F670 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r1, #0x0] add r1, r1, r0 ldr r0, _0204F674 ; =0x0000011A strb r2, [r1, r0] bx lr nop _0204F670: .word 0x021C5A68 _0204F674: .word 0x0000011A thumb_func_start FUN_0204F678 FUN_0204F678: ; 0x0204F678 push {r3-r4} ldr r3, _0204F694 ; =0x021C5A68 ldr r2, [r3, #0x0] add r4, r2, r0 ldr r2, _0204F698 ; =0x00000122 strb r1, [r4, r2] ldr r1, [r3, #0x0] mov r4, #0xf add r0, r1, r0 add r2, #0x18 strb r4, [r0, r2] pop {r3-r4} bx lr nop _0204F694: .word 0x021C5A68 _0204F698: .word 0x00000122 thumb_func_start FUN_0204F69C FUN_0204F69C: ; 0x0204F69C ldr r1, _0204F6AC ; =0x021C5A68 mov r2, #0x0 ldr r1, [r1, #0x0] add r1, r1, r0 ldr r0, _0204F6B0 ; =0x00000122 strb r2, [r1, r0] bx lr nop _0204F6AC: .word 0x021C5A68 _0204F6B0: .word 0x00000122 thumb_func_start FUN_0204F6B4 FUN_0204F6B4: ; 0x0204F6B4 ldr r1, _0204F6C0 ; =0x021C5A68 ldr r1, [r1, #0x0] add r1, r1, r0 ldr r0, _0204F6C4 ; =0x00000142 ldrb r0, [r1, r0] bx lr .balign 4 _0204F6C0: .word 0x021C5A68 _0204F6C4: .word 0x00000142 thumb_func_start FUN_0204F6C8 FUN_0204F6C8: ; 0x0204F6C8 ldr r1, _0204F6D4 ; =0x021C5A68 ldr r1, [r1, #0x0] add r1, r1, r0 ldr r0, _0204F6D8 ; =0x0000013A ldrb r0, [r1, r0] bx lr .balign 4 _0204F6D4: .word 0x021C5A68 _0204F6D8: .word 0x0000013A thumb_func_start FUN_0204F6DC FUN_0204F6DC: ; 0x0204F6DC push {r4, lr} add r4, r0, #0x0 ldr r0, _0204F708 ; =0x021C5A68 add r1, r4, #0x0 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] bl FUN_02055304 bl FUN_02031190 ldr r1, _0204F708 ; =0x021C5A68 lsl r0, r0, #0x3 ldr r1, [r1, #0x0] add r0, r1, r0 add r0, #0xa6 strb r4, [r0, #0x0] mov r0, #0x0 bl FUN_0204D168 pop {r4, pc} nop _0204F708: .word 0x021C5A68 thumb_func_start FUN_0204F70C FUN_0204F70C: ; 0x0204F70C push {r4, lr} ldr r3, _0204F728 ; =0x021C5A68 lsl r2, r0, #0x3 ldr r4, [r3, #0x0] lsl r0, r0, #0x2 add r2, r4, r2 add r2, #0xa6 strb r1, [r2, #0x0] ldr r2, [r3, #0x0] add r0, r2, r0 ldr r0, [r0, #0x8] bl FUN_02055304 pop {r4, pc} .balign 4 _0204F728: .word 0x021C5A68 thumb_func_start FUN_0204F72C FUN_0204F72C: ; 0x0204F72C push {r3, lr} ldr r1, _0204F748 ; =0x021C5A68 lsl r0, r0, #0x2 ldr r1, [r1, #0x0] add r0, r1, r0 ldr r0, [r0, #0x8] cmp r0, #0x0 beq _0204F742 bl FUN_020552F8 pop {r3, pc} _0204F742: mov r0, #0x0 mvn r0, r0 pop {r3, pc} .balign 4 _0204F748: .word 0x021C5A68 thumb_func_start FUN_0204F74C FUN_0204F74C: ; 0x0204F74C push {r3, lr} cmp r0, #0x0 beq _0204F75C ldr r1, _0204F770 ; =0x021C5A68 ldr r2, [r1, #0x0] ldr r1, [r2, #0x0] orr r0, r1 str r0, [r2, #0x0] _0204F75C: bl FUN_02037760 ldr r0, _0204F770 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r0, #0x0] mov r0, #0xaf lsl r0, r0, #0x2 strb r2, [r1, r0] pop {r3, pc} nop _0204F770: .word 0x021C5A68 thumb_func_start FUN_0204F774 FUN_0204F774: ; 0x0204F774 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 beq _0204F788 ldr r0, _0204F7D0 ; =0x021C5A68 ldr r2, [r0, #0x0] mvn r0, r4 ldr r1, [r2, #0x0] and r0, r1 str r0, [r2, #0x0] _0204F788: ldr r0, _0204F7D0 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x0] cmp r0, #0x10 bne _0204F7A0 mov r1, #0x1 add r0, sp, #0x0 strb r1, [r0, #0x0] mov r0, #0x3e add r1, sp, #0x0 bl FUN_020311D0 _0204F7A0: ldr r0, _0204F7D0 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0204F7CC cmp r4, #0x10 beq _0204F7BC bl FUN_02037778 mov r0, #0x1 bl FUN_0204D628 add sp, #0x4 pop {r3-r4, pc} _0204F7BC: bl FUN_02037778 ldr r0, _0204F7D0 ; =0x021C5A68 mov r2, #0x1 ldr r1, [r0, #0x0] mov r0, #0xaf lsl r0, r0, #0x2 strb r2, [r1, r0] _0204F7CC: add sp, #0x4 pop {r3-r4, pc} .balign 4 _0204F7D0: .word 0x021C5A68 thumb_func_start FUN_0204F7D4 FUN_0204F7D4: ; 0x0204F7D4 ldr r0, _0204F7E0 ; =0x021C5A68 mov r1, #0x0 ldr r0, [r0, #0x0] str r1, [r0, #0x0] bx lr nop _0204F7E0: .word 0x021C5A68 thumb_func_start FUN_0204F7E4 FUN_0204F7E4: ; 0x0204F7E4 push {r3, lr} bl FUN_02037760 ldr r0, _0204F7F8 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r0, #0x0] mov r0, #0xaf lsl r0, r0, #0x2 strb r2, [r1, r0] pop {r3, pc} .balign 4 _0204F7F8: .word 0x021C5A68 thumb_func_start FUN_0204F7FC FUN_0204F7FC: ; 0x0204F7FC push {r3, lr} bl FUN_02037778 mov r0, #0x1 bl FUN_0204D628 pop {r3, pc} .balign 4 thumb_func_start FUN_0204F80C FUN_0204F80C: ; 0x0204F80C push {r3, lr} ldr r0, _0204F850 ; =0x021C5A68 ldr r2, [r0, #0x0] ldr r0, _0204F854 ; =0x000002BF ldrb r1, [r2, r0] cmp r1, #0x0 bne _0204F84C sub r0, r0, #0x1 ldrb r0, [r2, r0] cmp r0, #0x0 bne _0204F832 bl FUN_0204F7FC ldr r0, _0204F850 ; =0x021C5A68 mov r2, #0x1 ldr r1, [r0, #0x0] ldr r0, _0204F854 ; =0x000002BF strb r2, [r1, r0] pop {r3, pc} _0204F832: bl FUN_02031190 bl FUN_0223E734 cmp r0, #0x0 beq _0204F84C bl FUN_0204F7FC ldr r0, _0204F850 ; =0x021C5A68 mov r2, #0x1 ldr r1, [r0, #0x0] ldr r0, _0204F854 ; =0x000002BF strb r2, [r1, r0] _0204F84C: pop {r3, pc} nop _0204F850: .word 0x021C5A68 _0204F854: .word 0x000002BF thumb_func_start FUN_0204F858 FUN_0204F858: ; 0x0204F858 push {r3, lr} ldr r0, _0204F884 ; =0x021C5A68 ldr r2, [r0, #0x0] ldr r0, _0204F888 ; =0x000002BF ldrb r1, [r2, r0] cmp r1, #0x0 bne _0204F880 sub r0, r0, #0x1 ldrb r0, [r2, r0] cmp r0, #0x0 beq _0204F880 bl FUN_02031190 bl FUN_0223E734 cmp r0, #0x0 bne _0204F880 mov r0, #0x0 bl FUN_0204D628 _0204F880: pop {r3, pc} nop _0204F884: .word 0x021C5A68 _0204F888: .word 0x000002BF thumb_func_start FUN_0204F88C FUN_0204F88C: ; 0x0204F88C push {r3-r7, lr} sub sp, #0x10 ldr r0, _0204F908 ; =0x021C5A68 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0204F902 mov r6, #0x0 add r4, r6, #0x0 add r5, r6, #0x0 _0204F89E: ldr r0, _0204F908 ; =0x021C5A68 ldr r0, [r0, #0x0] add r0, r0, r4 ldr r0, [r0, #0x8] cmp r0, #0x0 beq _0204F8F8 bl FUN_02031190 cmp r6, r0 beq _0204F8F8 ldr r0, _0204F908 ; =0x021C5A68 ldr r0, [r0, #0x0] add r0, r0, r4 ldr r0, [r0, #0x8] bl FUN_020553A0 ldr r1, _0204F908 ; =0x021C5A68 str r0, [sp, #0xc] ldr r1, [r1, #0x0] add r1, r1, r5 add r2, r1, #0x0 add r2, #0xa2 ldrh r2, [r2, #0x0] str r2, [sp, #0x8] add r2, r1, #0x0 add r2, #0xa4 ldrh r7, [r2, #0x0] mov r2, #0xa6 ldrsb r1, [r1, r2] str r1, [sp, #0x4] ldr r1, [sp, #0x8] bl FUN_02058B30 ldr r0, [sp, #0xc] add r1, r7, #0x0 bl FUN_02058B50 ldr r0, [sp, #0x4] ldr r1, [sp, #0x8] str r0, [sp, #0x0] ldr r0, [sp, #0xc] mov r2, #0x0 add r3, r7, #0x0 bl FUN_02058E28 _0204F8F8: add r6, r6, #0x1 add r4, r4, #0x4 add r5, #0x8 cmp r6, #0x8 blt _0204F89E _0204F902: add sp, #0x10 pop {r3-r7, pc} nop _0204F908: .word 0x021C5A68 thumb_func_start FUN_0204F90C FUN_0204F90C: ; 0x0204F90C push {r4-r5} mov r3, #0xff mov r4, #0x0 add r0, r3, #0x0 ldr r1, _0204F92C ; =0x021C5A68 add r5, r4, #0x0 add r0, #0x6b _0204F91A: ldr r2, [r1, #0x0] add r4, r4, #0x1 add r2, r2, r5 add r5, #0x22 strh r3, [r2, r0] cmp r4, #0x8 blt _0204F91A pop {r4-r5} bx lr .balign 4 _0204F92C: .word 0x021C5A68 thumb_func_start FUN_0204F930 FUN_0204F930: ; 0x0204F930 push {r3-r5, lr} ldr r0, _0204F9B0 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r0, #0x0] ldr r0, _0204F9B4 ; =0x000002B9 strb r2, [r1, r0] bl FUN_02031190 ldr r1, _0204F9B0 ; =0x021C5A68 lsl r0, r0, #0x2 ldr r1, [r1, #0x0] add r1, r1, r0 mov r0, #0x29 lsl r0, r0, #0x4 ldr r0, [r1, r0] cmp r0, #0x0 beq _0204F96E bl FUN_02031190 ldr r1, _0204F9B0 ; =0x021C5A68 add r3, r0, #0x0 ldr r2, [r1, #0x0] lsl r1, r3, #0x2 add r2, r2, r1 mov r1, #0x29 lsl r1, r1, #0x4 ldr r1, [r2, r1] mov r0, #0x5b bl FUN_020311D0 pop {r3-r5, pc} _0204F96E: mov r0, #0xf bl FUN_02023928 add r4, r0, #0x0 mov r0, #0x14 mov r1, #0xf bl FUN_020219F4 add r5, r0, #0x0 cmp r4, #0x0 bne _0204F988 bl ErrorHandling _0204F988: cmp r5, #0x0 bne _0204F990 bl ErrorHandling _0204F990: add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_0202397C mov r0, #0x5b add r1, r4, #0x0 bl FUN_020311D0 add r0, r5, #0x0 bl FUN_02021A20 add r0, r4, #0x0 bl FUN_02016A18 pop {r3-r5, pc} nop _0204F9B0: .word 0x021C5A68 _0204F9B4: .word 0x000002B9 thumb_func_start FUN_0204F9B8 FUN_0204F9B8: ; 0x0204F9B8 mov r0, #0x20 bx lr thumb_func_start FUN_0204F9BC FUN_0204F9BC: ; 0x0204F9BC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, sp, #0x4 strb r5, [r0, #0x0] ldr r0, _0204FA54 ; =0x021C5A68 add r6, r2, #0x0 ldr r2, [r0, #0x0] cmp r2, #0x0 beq _0204FA4C ldr r1, _0204FA58 ; =0x0000014A mov r0, #0x22 add r4, r5, #0x0 mul r4, r0 add r1, r2, r1 add r0, r6, #0x0 add r1, r1, r4 bl FUN_0202393C add r0, r6, #0x0 mov r1, #0xf bl FUN_020239A0 str r0, [sp, #0x0] bl FUN_02021D3C cmp r0, #0x0 beq _0204F9FE ldr r0, _0204FA54 ; =0x021C5A68 ldr r0, [r0, #0x0] add r1, r0, r4 ldr r0, _0204FA5C ; =0x0000016A strh r5, [r1, r0] _0204F9FE: mov r4, #0x0 ldr r6, _0204FA54 ; =0x021C5A68 ldr r7, _0204FA5C ; =0x0000016A add r5, r4, #0x0 _0204FA06: ldr r0, [r6, #0x0] add r1, r0, r5 ldrh r0, [r1, r7] cmp r0, #0xff beq _0204FA26 ldr r0, _0204FA5C ; =0x0000016A strh r4, [r1, r0] mov r0, #0x5c add r1, r0, #0x0 ldr r2, [r6, #0x0] add r1, #0xee add r1, r2, r1 add r1, r1, r5 mov r2, #0x22 bl FUN_02030B3C _0204FA26: add r4, r4, #0x1 add r5, #0x22 cmp r4, #0x8 blt _0204FA06 mov r0, #0x5d add r1, sp, #0x4 mov r2, #0x1 bl FUN_02030BC4 ldr r0, [sp, #0x0] bl FUN_02021A20 ldr r0, _0204FA54 ; =0x021C5A68 mov r2, #0x1 ldr r1, [r0, #0x0] ldr r0, _0204FA60 ; =0x000002C2 add sp, #0x8 strb r2, [r1, r0] pop {r3-r7, pc} _0204FA4C: bl ErrorHandling add sp, #0x8 pop {r3-r7, pc} .balign 4 _0204FA54: .word 0x021C5A68 _0204FA58: .word 0x0000014A _0204FA5C: .word 0x0000016A _0204FA60: .word 0x000002C2 thumb_func_start FUN_0204FA64 FUN_0204FA64: ; 0x0204FA64 ldr r0, _0204FA70 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204FA74 ; =0x0000025A add r0, r1, r0 bx lr nop _0204FA70: .word 0x021C5A68 _0204FA74: .word 0x0000025A thumb_func_start FUN_0204FA78 FUN_0204FA78: ; 0x0204FA78 push {r4-r6, lr} ldr r0, _0204FAC8 ; =0x021C5A68 add r6, r2, #0x0 ldr r1, [r0, #0x0] cmp r1, #0x0 beq _0204FAC4 ldrh r5, [r6, #0x20] lsl r0, r5, #0x2 add r1, r1, r0 mov r0, #0x29 lsl r0, r0, #0x4 ldr r0, [r1, r0] cmp r0, #0x0 beq _0204FA98 bl FUN_02016A18 _0204FA98: mov r0, #0xf lsl r4, r5, #0x2 bl FUN_02023928 ldr r2, _0204FAC8 ; =0x021C5A68 ldr r1, [r2, #0x0] add r3, r1, r4 mov r1, #0x29 lsl r1, r1, #0x4 str r0, [r3, r1] ldr r2, [r2, #0x0] add r0, r6, #0x0 add r2, r2, r4 ldr r1, [r2, r1] bl FUN_0202393C ldr r0, _0204FAC8 ; =0x021C5A68 mov r1, #0x1 ldr r0, [r0, #0x0] add r0, r0, r5 add r0, #0xfa strb r1, [r0, #0x0] _0204FAC4: pop {r4-r6, pc} nop _0204FAC8: .word 0x021C5A68 thumb_func_start FUN_0204FACC FUN_0204FACC: ; 0x0204FACC mov r0, #0x22 bx lr thumb_func_start FUN_0204FAD0 FUN_0204FAD0: ; 0x0204FAD0 push {r4, lr} add r4, r2, #0x0 bl FUN_02031190 ldrb r1, [r4, #0x0] cmp r1, r0 bne _0204FAE8 ldr r0, _0204FAF4 ; =0x021C5A68 mov r2, #0x1 ldr r1, [r0, #0x0] ldr r0, _0204FAF8 ; =0x000002B9 strb r2, [r1, r0] _0204FAE8: ldr r0, _0204FAF4 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r0, #0x0] ldr r0, _0204FAFC ; =0x000002C2 strb r2, [r1, r0] pop {r4, pc} .balign 4 _0204FAF4: .word 0x021C5A68 _0204FAF8: .word 0x000002B9 _0204FAFC: .word 0x000002C2 thumb_func_start FUN_0204FB00 FUN_0204FB00: ; 0x0204FB00 ldr r0, _0204FB0C ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204FB10 ; =0x000002B9 ldrb r0, [r1, r0] bx lr nop _0204FB0C: .word 0x021C5A68 _0204FB10: .word 0x000002B9 thumb_func_start FUN_0204FB14 FUN_0204FB14: ; 0x0204FB14 ldr r0, _0204FB24 ; =0x021C5A68 mov r2, #0x8 ldr r1, [r0, #0x0] mov r0, #0xb lsl r0, r0, #0x6 strb r2, [r1, r0] bx lr nop _0204FB24: .word 0x021C5A68 thumb_func_start FUN_0204FB28 FUN_0204FB28: ; 0x0204FB28 push {r3-r5, lr} mov r4, #0x0 bl FUN_02031190 ldr r2, _0204FB9C ; =0x021C5A68 lsl r1, r0, #0x2 ldr r3, [r2, #0x0] add r5, r3, r1 mov r1, #0x29 lsl r1, r1, #0x4 ldr r3, [r5, r1] cmp r3, #0x0 beq _0204FB60 add r4, r3, #0x0 mov r3, #0x0 str r3, [r5, r1] ldr r1, [r2, #0x0] add r1, r1, r0 add r1, #0xfa strb r3, [r1, #0x0] ldr r3, [r2, #0x0] mov r2, #0x22 mul r2, r0 mov r1, #0xff add r0, r1, #0x0 add r2, r3, r2 add r0, #0x6b strh r1, [r2, r0] _0204FB60: mov r5, #0x0 _0204FB62: add r0, r5, #0x0 bl FUN_0204ED9C add r5, r5, #0x1 cmp r5, #0x8 blt _0204FB62 cmp r4, #0x0 beq _0204FB9A ldr r1, _0204FB9C ; =0x021C5A68 mov r0, #0x29 ldr r2, [r1, #0x0] lsl r0, r0, #0x4 str r4, [r2, r0] ldr r0, [r1, #0x0] mov r2, #0x1 add r0, #0xfa strb r2, [r0, #0x0] ldr r2, [r1, #0x0] ldr r1, _0204FBA0 ; =0x0000014A add r0, r4, #0x0 add r1, r2, r1 bl FUN_0202393C ldr r0, _0204FB9C ; =0x021C5A68 mov r2, #0x0 ldr r1, [r0, #0x0] ldr r0, _0204FBA4 ; =0x0000016A strh r2, [r1, r0] _0204FB9A: pop {r3-r5, pc} .balign 4 _0204FB9C: .word 0x021C5A68 _0204FBA0: .word 0x0000014A _0204FBA4: .word 0x0000016A thumb_func_start FUN_0204FBA8 FUN_0204FBA8: ; 0x0204FBA8 bx lr .balign 4 thumb_func_start FUN_0204FBAC FUN_0204FBAC: ; 0x0204FBAC bx lr .balign 4 thumb_func_start FUN_0204FBB0 FUN_0204FBB0: ; 0x0204FBB0 push {r4, lr} ldr r1, _0204FC08 ; =0x021C5A6C add r4, r0, #0x0 ldr r1, [r1, #0x0] cmp r1, #0x0 bne _0204FC04 bl FUN_0208881C mov r0, #0xf mov r1, #0x48 bl FUN_02016998 ldr r1, _0204FC08 ; =0x021C5A6C mov r2, #0x48 str r0, [r1, #0x0] mov r1, #0x0 blx MI_CpuFill8 ldr r0, _0204FC08 ; =0x021C5A6C mov r1, #0x32 ldr r0, [r0, #0x0] mov r2, #0xa strh r1, [r0, #0x3c] ldr r0, _0204FC0C ; =FUN_0205006C mov r1, #0x0 bl FUN_0200CA44 ldr r1, _0204FC08 ; =0x021C5A6C ldr r2, [r1, #0x0] str r0, [r2, #0x38] ldr r0, [r1, #0x0] mov r2, #0x0 str r4, [r0, #0x18] ldr r0, [r1, #0x0] str r2, [r0, #0x44] bl FUN_0204FBA8 ldr r0, _0204FC08 ; =0x021C5A6C ldr r0, [r0, #0x0] add r0, #0x1c bl FUN_020312BC _0204FC04: pop {r4, pc} nop _0204FC08: .word 0x021C5A6C _0204FC0C: .word FUN_0205006C thumb_func_start FUN_0204FC10 FUN_0204FC10: ; 0x0204FC10 push {r4-r6, lr} ldr r0, _0204FC58 ; =0x021C5A6C ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0204FC56 ldr r0, [r0, #0x38] bl FUN_0200CAB4 mov r4, #0x0 ldr r6, _0204FC58 ; =0x021C5A6C add r5, r4, #0x0 _0204FC26: ldr r0, [r6, #0x0] ldr r0, [r0, r5] cmp r0, #0x0 beq _0204FC32 bl FUN_02016A18 _0204FC32: add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 blt _0204FC26 ldr r0, _0204FC58 ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x44] cmp r0, #0x0 beq _0204FC48 bl FUN_02016A18 _0204FC48: ldr r0, _0204FC58 ; =0x021C5A6C ldr r0, [r0, #0x0] bl FUN_02016A18 ldr r0, _0204FC58 ; =0x021C5A6C mov r1, #0x0 str r1, [r0, #0x0] _0204FC56: pop {r4-r6, pc} .balign 4 _0204FC58: .word 0x021C5A6C thumb_func_start FUN_0204FC5C FUN_0204FC5C: ; 0x0204FC5C push {r4, lr} ldr r1, _0204FC9C ; =0x021C5A6C add r4, r0, #0x0 ldr r1, [r1, #0x0] cmp r1, #0x0 bne _0204FC9A bl FUN_020377AC bl FUN_02031824 add r0, r4, #0x0 bl FUN_0204FBB0 mov r2, #0x3a mov r0, #0x3 mov r1, #0x21 lsl r2, r2, #0xa bl FUN_0201681C ldr r0, _0204FC9C ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205F194 cmp r0, #0x0 bne _0204FC9A bl FUN_02031924 _0204FC9A: pop {r4, pc} .balign 4 _0204FC9C: .word 0x021C5A6C thumb_func_start FUN_0204FCA0 FUN_0204FCA0: ; 0x0204FCA0 push {r3, lr} ldr r0, _0204FCD0 ; =0x021C5A6C mov r2, #0x1 ldr r1, [r0, #0x0] add r1, #0x41 strb r2, [r1, #0x0] ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] ldr r0, [r0, #0xc] bl FUN_02029FC8 mov r1, #0x24 bl FUN_0202A170 ldr r0, _0204FCD0 ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] bl FUN_0223E060 ldr r0, _0204FCD4 ; =FUN_020500A4 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} .balign 4 _0204FCD0: .word 0x021C5A6C _0204FCD4: .word FUN_020500A4 thumb_func_start FUN_0204FCD8 FUN_0204FCD8: ; 0x0204FCD8 push {r3, lr} ldr r0, _0204FCEC ; =0x021C5A6C ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0204FCEA ldr r0, _0204FCF0 ; =FUN_02050D54 mov r1, #0x3 bl FUN_02050094 _0204FCEA: pop {r3, pc} .balign 4 _0204FCEC: .word 0x021C5A6C _0204FCF0: .word FUN_02050D54 thumb_func_start FUN_0204FCF4 FUN_0204FCF4: ; 0x0204FCF4 push {r3, lr} bl FUN_02031914 ldr r0, _0204FD04 ; =FUN_020504D8 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} .balign 4 _0204FD04: .word FUN_020504D8 thumb_func_start FUN_0204FD08 FUN_0204FD08: ; 0x0204FD08 push {r3, lr} bl FUN_0202EDD8 cmp r0, #0x0 bne _0204FD1E bl FUN_02245F1C ldr r0, _0204FD20 ; =FUN_020500A4 mov r1, #0x0 bl FUN_02050094 _0204FD1E: pop {r3, pc} .balign 4 _0204FD20: .word FUN_020500A4 thumb_func_start FUN_0204FD24 FUN_0204FD24: ; 0x0204FD24 push {r3, lr} bl FUN_02031934 ldr r0, _0204FD34 ; =FUN_0204FD08 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} .balign 4 _0204FD34: .word FUN_0204FD08 thumb_func_start FUN_0204FD38 FUN_0204FD38: ; 0x0204FD38 push {r3-r7, lr} sub sp, #0x10 ldr r0, _0204FDBC ; =0x021C5A6C add r2, sp, #0x0 ldr r0, [r0, #0x0] ldr r3, _0204FDC0 ; =0x020F5838 ldr r5, [r0, #0x34] add r6, r2, #0x0 ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r0, _0204FDC4 ; =FUN_020502AC ldr r4, _0204FDC8 ; =FUN_02050548 ldr r7, _0204FDCC ; =FUN_02050168 cmp r5, r0 bne _0204FD68 ldr r0, _0204FDD0 ; =FUN_0205031C mov r1, #0x0 bl FUN_02050094 add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} _0204FD68: cmp r4, r5 bne _0204FD7A ldr r0, _0204FDD4 ; =FUN_02050578 mov r1, #0x0 bl FUN_02050094 add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} _0204FD7A: cmp r7, r5 bne _0204FD8C ldr r0, _0204FDD8 ; =FUN_020505E0 mov r1, #0x0 bl FUN_02050094 add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} _0204FD8C: ldr r0, _0204FDDC ; =FUN_020504D0 cmp r0, r5 bne _0204FDA0 ldr r0, _0204FDE0 ; =FUN_02050610 mov r1, #0x0 bl FUN_02050094 add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} _0204FDA0: mov r1, #0x0 _0204FDA2: ldr r0, [r6, #0x0] cmp r5, r0 bne _0204FDAE add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} _0204FDAE: add r1, r1, #0x1 add r6, r6, #0x4 cmp r1, #0x4 blo _0204FDA2 mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 _0204FDBC: .word 0x021C5A6C _0204FDC0: .word 0x020F5838 _0204FDC4: .word FUN_020502AC _0204FDC8: .word FUN_02050548 _0204FDCC: .word FUN_02050168 _0204FDD0: .word FUN_0205031C _0204FDD4: .word FUN_02050578 _0204FDD8: .word FUN_020505E0 _0204FDDC: .word FUN_020504D0 _0204FDE0: .word FUN_02050610 thumb_func_start FUN_0204FDE4 FUN_0204FDE4: ; 0x0204FDE4 push {r4, lr} ldr r0, _0204FE38 ; =0x021C5A6C ldr r3, _0204FE3C ; =FUN_0205058C ldr r0, [r0, #0x0] ldr r2, _0204FE40 ; =FUN_020505F4 ldr r4, [r0, #0x34] ldr r0, _0204FE44 ; =FUN_02050330 ldr r1, _0204FE48 ; =FUN_02050624 cmp r4, r0 bne _0204FE04 ldr r0, _0204FE4C ; =FUN_02050338 mov r1, #0x0 bl FUN_02050094 mov r0, #0x1 pop {r4, pc} _0204FE04: cmp r3, r4 bne _0204FE14 ldr r0, _0204FE50 ; =FUN_02050594 mov r1, #0x0 bl FUN_02050094 mov r0, #0x1 pop {r4, pc} _0204FE14: cmp r2, r4 bne _0204FE24 ldr r0, _0204FE54 ; =FUN_020505F8 mov r1, #0x0 bl FUN_02050094 mov r0, #0x1 pop {r4, pc} _0204FE24: cmp r1, r4 bne _0204FE34 ldr r0, _0204FE58 ; =FUN_02050628 mov r1, #0x0 bl FUN_02050094 mov r0, #0x1 pop {r4, pc} _0204FE34: mov r0, #0x0 pop {r4, pc} .balign 4 _0204FE38: .word 0x021C5A6C _0204FE3C: .word FUN_0205058C _0204FE40: .word FUN_020505F4 _0204FE44: .word FUN_02050330 _0204FE48: .word FUN_02050624 _0204FE4C: .word FUN_02050338 _0204FE50: .word FUN_02050594 _0204FE54: .word FUN_020505F8 _0204FE58: .word FUN_02050628 thumb_func_start FUN_0204FE5C FUN_0204FE5C: ; 0x0204FE5C push {r3-r4} sub sp, #0x38 ldr r4, _0204FEA8 ; =0x020F5848 add r3, sp, #0x0 mov r2, #0x7 _0204FE66: ldmia r4!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _0204FE66 ldr r0, _0204FEAC ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r1, [r0, #0x34] cmp r0, #0x0 bne _0204FE80 add sp, #0x38 mov r0, #0x0 pop {r3-r4} bx lr _0204FE80: ldr r0, [sp, #0x0] cmp r0, #0x0 beq _0204FE9E add r2, sp, #0x0 _0204FE88: ldr r0, [r2, #0x0] cmp r1, r0 bne _0204FE96 add sp, #0x38 mov r0, #0x1 pop {r3-r4} bx lr _0204FE96: add r2, r2, #0x4 ldr r0, [r2, #0x0] cmp r0, #0x0 bne _0204FE88 _0204FE9E: mov r0, #0x0 add sp, #0x38 pop {r3-r4} bx lr nop _0204FEA8: .word 0x020F5848 _0204FEAC: .word 0x021C5A6C thumb_func_start FUN_0204FEB0 FUN_0204FEB0: ; 0x0204FEB0 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_02030F40 cmp r0, #0x0 bne _0204FEE8 add r0, r5, #0x0 bl FUN_020377AC mov r1, #0x0 add r3, r5, #0x0 str r1, [sp, #0x0] add r3, #0xac ldr r3, [r3, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02031948 add r0, r5, #0x0 bl FUN_0204FBB0 ldr r0, _0204FEEC ; =FUN_02050640 mov r1, #0x0 bl FUN_02050094 _0204FEE8: add sp, #0x4 pop {r3-r6, pc} .balign 4 _0204FEEC: .word FUN_02050640 thumb_func_start FUN_0204FEF0 FUN_0204FEF0: ; 0x0204FEF0 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_02030F40 cmp r0, #0x0 bne _0204FF28 add r0, r5, #0x0 bl FUN_020377AC mov r1, #0x0 add r3, r5, #0x0 str r1, [sp, #0x0] add r3, #0xac ldr r3, [r3, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02031990 add r0, r5, #0x0 bl FUN_0204FBB0 ldr r0, _0204FF2C ; =FUN_02050668 mov r1, #0x0 bl FUN_02050094 _0204FF28: add sp, #0x4 pop {r3-r6, pc} .balign 4 _0204FF2C: .word FUN_02050668 thumb_func_start FUN_0204FF30 FUN_0204FF30: ; 0x0204FF30 ldr r1, _0204FF40 ; =0x021C5A6C ldr r3, _0204FF44 ; =FUN_02050094 ldr r1, [r1, #0x0] add r1, #0x3e strb r0, [r1, #0x0] ldr r0, _0204FF48 ; =FUN_02050688 mov r1, #0x0 bx r3 .balign 4 _0204FF40: .word 0x021C5A6C _0204FF44: .word FUN_02050094 _0204FF48: .word FUN_02050688 thumb_func_start FUN_0204FF4C FUN_0204FF4C: ; 0x0204FF4C ldr r3, _0204FF54 ; =FUN_02050094 ldr r0, _0204FF58 ; =FUN_02050BBC mov r1, #0x0 bx r3 .balign 4 _0204FF54: .word FUN_02050094 _0204FF58: .word FUN_02050BBC thumb_func_start FUN_0204FF5C FUN_0204FF5C: ; 0x0204FF5C push {r4-r7, lr} sub sp, #0xc add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 bl FUN_0200E3BC mov r0, #0x1 mov r1, #0x0 bl FUN_0200E3BC mov r0, #0x1 add r1, r0, #0x0 bl FUN_020334E8 bl FUN_02031810 cmp r0, #0x0 beq _02050014 ldr r0, _02050018 ; =0x021C5A6C ldr r1, [r0, #0x0] cmp r1, #0x0 bne _0204FF9C add r0, r4, #0x0 bl FUN_0204FBB0 ldr r0, _02050018 ; =0x021C5A6C mov r1, #0x1 ldr r0, [r0, #0x0] add r0, #0x42 strb r1, [r0, #0x0] b _0204FFA2 _0204FF9C: mov r0, #0x0 add r1, #0x42 strb r0, [r1, #0x0] _0204FFA2: ldr r0, _02050018 ; =0x021C5A6C mov r1, #0x0 ldr r0, [r0, #0x0] add r0, #0x43 strb r1, [r0, #0x0] bl FUN_02031190 str r0, [sp, #0x8] bl FUN_02031190 bl FUN_0202DFA4 mov r4, #0x0 bl FUN_02030F20 cmp r0, #0x0 ble _0204FFEA ldr r6, _02050018 ; =0x021C5A6C add r5, r4, #0x0 add r7, r4, #0x0 _0204FFCA: ldr r0, [r6, #0x0] ldr r0, [r0, r5] cmp r0, #0x0 bne _0204FFDE ldr r1, _0205001C ; =0x0000066C add r0, r7, #0x0 bl FUN_02016998 ldr r1, [r6, #0x0] str r0, [r1, r5] _0204FFDE: add r5, r5, #0x4 add r4, r4, #0x1 bl FUN_02030F20 cmp r4, r0 blt _0204FFCA _0204FFEA: ldr r0, _02050018 ; =0x021C5A6C mov r3, #0xff ldr r1, [r0, #0x0] ldr r0, [r1, #0x18] str r0, [sp, #0x0] ldr r0, [sp, #0x8] lsl r0, r0, #0x2 ldr r0, [r1, r0] str r0, [sp, #0x4] mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 bl FUN_02064E90 mov r0, #0x5f bl FUN_02031588 ldr r0, _02050020 ; =FUN_02050C14 mov r1, #0x0 bl FUN_02050094 _02050014: add sp, #0xc pop {r4-r7, pc} .balign 4 _02050018: .word 0x021C5A6C _0205001C: .word 0x0000066C _02050020: .word FUN_02050C14 thumb_func_start FUN_02050024 FUN_02050024: ; 0x02050024 push {r3, lr} ldr r0, _02050040 ; =0x021C5A6C ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0205003E mov r0, #0x0 add r1, r0, #0x0 bl FUN_020334E8 ldr r0, _02050044 ; =FUN_02050DB0 mov r1, #0x5 bl FUN_02050094 _0205003E: pop {r3, pc} .balign 4 _02050040: .word 0x021C5A6C _02050044: .word FUN_02050DB0 thumb_func_start FUN_02050048 FUN_02050048: ; 0x02050048 push {r3, lr} ldr r0, _02050064 ; =0x021C5A6C ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02050060 mov r0, #0x5b bl FUN_02031588 ldr r0, _02050068 ; =FUN_02050D88 mov r1, #0x5 bl FUN_02050094 _02050060: pop {r3, pc} nop _02050064: .word 0x021C5A6C _02050068: .word FUN_02050D88 thumb_func_start FUN_0205006C FUN_0205006C: ; 0x0205006C push {r3, lr} ldr r1, _02050090 ; =0x021C5A6C ldr r2, [r1, #0x0] cmp r2, #0x0 bne _0205007C bl FUN_0200CAB4 pop {r3, pc} _0205007C: ldr r1, [r2, #0x34] cmp r1, #0x0 beq _0205008C add r2, #0x40 ldrb r0, [r2, #0x0] cmp r0, #0x0 bne _0205008C blx r1 _0205008C: pop {r3, pc} nop _02050090: .word 0x021C5A6C thumb_func_start FUN_02050094 FUN_02050094: ; 0x02050094 ldr r2, _020500A0 ; =0x021C5A6C ldr r3, [r2, #0x0] str r0, [r3, #0x34] ldr r0, [r2, #0x0] strh r1, [r0, #0x3c] bx lr .balign 4 _020500A0: .word 0x021C5A6C thumb_func_start FUN_020500A4 FUN_020500A4: ; 0x020500A4 push {r3, lr} ldr r0, _02050108 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _020500B6 sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _020500B6: bl FUN_02030F40 cmp r0, #0x0 beq _02050104 ldr r0, _02050108 ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] bl FUN_0223E1E0 bl FUN_0202DBE0 mov r0, #0x0 bl FUN_0204D168 bl FUN_0223EF7C bl FUN_02245FA0 ldr r0, _02050108 ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205F194 cmp r0, #0x0 bne _020500F8 ldr r0, _0205010C ; =FUN_02050114 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} _020500F8: bl FUN_0204F80C ldr r0, _02050110 ; =FUN_02050144 mov r1, #0x18 bl FUN_02050094 _02050104: pop {r3, pc} nop _02050108: .word 0x021C5A6C _0205010C: .word FUN_02050114 _02050110: .word FUN_02050144 thumb_func_start FUN_02050114 FUN_02050114: ; 0x02050114 push {r3, lr} ldr r0, _0205013C ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205F194 cmp r0, #0x0 beq _0205013A bl FUN_02031880 bl FUN_0204F80C ldr r0, _02050140 ; =FUN_02050168 mov r1, #0x18 bl FUN_02050094 _0205013A: pop {r3, pc} .balign 4 _0205013C: .word 0x021C5A6C _02050140: .word FUN_02050168 thumb_func_start FUN_02050144 FUN_02050144: ; 0x02050144 push {r3, lr} ldr r0, _02050160 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050156 sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _02050156: ldr r0, _02050164 ; =FUN_02050168 mov r1, #0x18 bl FUN_02050094 pop {r3, pc} .balign 4 _02050160: .word 0x021C5A6C _02050164: .word FUN_02050168 thumb_func_start FUN_02050168 FUN_02050168: ; 0x02050168 push {r3, lr} bl FUN_0223DFB4 bl FUN_0204F80C bl FUN_020318C4 cmp r0, #0x0 beq _02050198 bl FUN_02031190 cmp r0, #0x0 bne _02050190 bl FUN_02245324 ldr r0, _0205019C ; =FUN_0205024C mov r1, #0x3c bl FUN_02050094 pop {r3, pc} _02050190: ldr r0, _020501A0 ; =FUN_020501A4 mov r1, #0x78 bl FUN_02050094 _02050198: pop {r3, pc} nop _0205019C: .word FUN_0205024C _020501A0: .word FUN_020501A4 thumb_func_start FUN_020501A4 FUN_020501A4: ; 0x020501A4 push {r3, lr} ldr r0, _02050240 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _020501B4 sub r0, r0, #0x1 strh r0, [r1, #0x3c] _020501B4: bl FUN_0202EE44 cmp r0, #0x0 bne _020501CE bl FUN_020311F0 cmp r0, #0x0 bne _020501CE ldr r0, _02050240 ; =0x021C5A6C ldr r0, [r0, #0x0] ldrh r0, [r0, #0x3c] cmp r0, #0x0 bne _020501DC _020501CE: bl FUN_02031880 ldr r0, _02050244 ; =FUN_020504A4 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} _020501DC: bl FUN_02031190 bl FUN_02030E7C cmp r0, #0x0 beq _0205023C ldr r0, _02050240 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050202 sub r0, r0, #0x1 strh r0, [r1, #0x3c] bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 bne _0205023C _02050202: bl FUN_0223E6B8 mov r0, #0x0 bl FUN_0204D040 mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 bl FUN_022408FC mov r0, #0x0 mov r1, #0x1 bl FUN_0223FCE8 mov r0, #0x0 bl FUN_0202DE78 mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 bl FUN_0204D43C bl FUN_0204F858 ldr r0, _02050248 ; =FUN_02050350 mov r1, #0xa bl FUN_02050094 _0205023C: pop {r3, pc} nop _02050240: .word 0x021C5A6C _02050244: .word FUN_020504A4 _02050248: .word FUN_02050350 thumb_func_start FUN_0205024C FUN_0205024C: ; 0x0205024C push {r3, lr} bl FUN_0223DFB4 ldr r0, _020502A0 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050260 sub r0, r0, #0x1 strh r0, [r1, #0x3c] _02050260: bl FUN_020311E8 cmp r0, #0x0 bne _02050272 ldr r0, _020502A0 ; =0x021C5A6C ldr r0, [r0, #0x0] ldrh r0, [r0, #0x3c] cmp r0, #0x0 bne _0205029E _02050272: bl FUN_0223E6B8 cmp r0, #0x0 beq _0205027E bl FUN_0204F7FC _0205027E: ldr r0, _020502A4 ; =0x02105E74 bl FUN_0204FBAC mov r0, #0x0 bl FUN_0204D168 bl FUN_0204F930 bl FUN_02245FA0 bl FUN_0223E7FC ldr r0, _020502A8 ; =FUN_020502AC mov r1, #0x0 bl FUN_02050094 _0205029E: pop {r3, pc} .balign 4 _020502A0: .word 0x021C5A6C _020502A4: .word 0x02105E74 _020502A8: .word FUN_020502AC thumb_func_start FUN_020502AC FUN_020502AC: ; 0x020502AC push {r3, lr} bl FUN_0223DFB4 ldr r0, _02050314 ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] ldr r0, [r0, #0x10] cmp r0, #0x0 bne _02050310 bl FUN_020311F0 cmp r0, #0x0 bne _020502E2 bl FUN_0202EE24 cmp r0, #0x0 beq _020502E2 bl FUN_02031190 bl FUN_02030E7C cmp r0, #0x0 bne _02050310 bl FUN_02031280 cmp r0, #0x0 bne _02050310 _020502E2: mov r0, #0x0 bl FUN_02245358 bl FUN_0204F90C bl FUN_02247808 mov r0, #0x2b bl FUN_020311DC bl FUN_02031190 mov r1, #0x1 bl FUN_0223FCE8 bl FUN_0223E6B8 bl FUN_020318B4 ldr r0, _02050318 ; =FUN_02050458 mov r1, #0x0 bl FUN_02050094 _02050310: pop {r3, pc} nop _02050314: .word 0x021C5A6C _02050318: .word FUN_02050458 thumb_func_start FUN_0205031C FUN_0205031C: ; 0x0205031C push {r3, lr} bl FUN_0204CC48 ldr r0, _0205032C ; =FUN_02050330 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} .balign 4 _0205032C: .word FUN_02050330 thumb_func_start FUN_02050330 FUN_02050330: ; 0x02050330 ldr r3, _02050334 ; =FUN_0223DFB4 bx r3 .balign 4 _02050334: .word FUN_0223DFB4 + 1 thumb_func_start FUN_02050338 FUN_02050338: ; 0x02050338 push {r3, lr} bl FUN_02245F1C bl FUN_0204CC9C ldr r0, _0205034C ; =FUN_020502AC mov r1, #0x0 bl FUN_02050094 pop {r3, pc} .balign 4 _0205034C: .word FUN_020502AC thumb_func_start FUN_02050350 FUN_02050350: ; 0x02050350 push {r3, lr} ldr r0, _020503A8 ; =0x021C5A6C ldr r0, [r0, #0x0] ldrh r0, [r0, #0x3c] cmp r0, #0x9 bne _02050364 bl FUN_0202DBE0 bl FUN_0223E7FC _02050364: ldr r0, _020503A8 ; =0x021C5A6C ldr r0, [r0, #0x0] ldrh r0, [r0, #0x3c] cmp r0, #0x1 bne _02050374 mov r0, #0x0 bl FUN_0204D198 _02050374: ldr r0, _020503A8 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050384 sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _02050384: bl FUN_0202DCF8 cmp r0, #0x0 beq _020503A0 ldr r0, _020503AC ; =0x02105E80 bl FUN_0204FBAC bl FUN_0204F930 ldr r0, _020503B0 ; =FUN_020503B4 mov r1, #0xc8 bl FUN_02050094 pop {r3, pc} _020503A0: bl FUN_02050548 pop {r3, pc} nop _020503A8: .word 0x021C5A6C _020503AC: .word 0x02105E80 _020503B0: .word FUN_020503B4 thumb_func_start FUN_020503B4 FUN_020503B4: ; 0x020503B4 push {r3, lr} bl FUN_0204FB00 cmp r0, #0x0 beq _020503CC bl FUN_0223EF7C ldr r0, _020503E8 ; =FUN_020503F0 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} _020503CC: bl FUN_02050548 ldr r0, _020503EC ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _020503E0 sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _020503E0: bl FUN_02050510 pop {r3, pc} nop _020503E8: .word FUN_020503F0 _020503EC: .word 0x021C5A6C thumb_func_start FUN_020503F0 FUN_020503F0: ; 0x020503F0 push {r3, lr} bl FUN_0223F4D8 cmp r0, #0x0 beq _02050412 ldr r0, _02050418 ; =0x02105E94 bl FUN_0204FBAC bl FUN_0223F4F4 bl FUN_02245FA0 ldr r0, _0205041C ; =FUN_02050420 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} _02050412: bl FUN_02050548 pop {r3, pc} .balign 4 _02050418: .word 0x02105E94 _0205041C: .word FUN_02050420 thumb_func_start FUN_02050420 FUN_02050420: ; 0x02050420 push {r3, lr} bl FUN_022461A4 cmp r0, #0x0 beq _0205044A ldr r0, _02050450 ; =0x02105EB0 bl FUN_0204FBAC bl FUN_022461B8 mov r0, #0x1 bl FUN_0204D168 mov r0, #0x1f bl FUN_020311DC ldr r0, _02050454 ; =FUN_02050548 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} _0205044A: bl FUN_02050548 pop {r3, pc} .balign 4 _02050450: .word 0x02105EB0 _02050454: .word FUN_02050548 thumb_func_start FUN_02050458 FUN_02050458: ; 0x02050458 push {r3, lr} bl FUN_02031280 cmp r0, #0x0 beq _02050472 mov r0, #0x0 add r1, r0, #0x0 bl FUN_0204EAD8 ldr r0, _02050474 ; =FUN_02050478 mov r1, #0x1e bl FUN_02050094 _02050472: pop {r3, pc} .balign 4 _02050474: .word FUN_02050478 thumb_func_start FUN_02050478 FUN_02050478: ; 0x02050478 push {r3, lr} ldr r0, _0205049C ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _0205048A sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _0205048A: bl FUN_02031190 cmp r0, #0x0 bne _0205049A ldr r0, _020504A0 ; =FUN_020500A4 mov r1, #0x0 bl FUN_02050094 _0205049A: pop {r3, pc} .balign 4 _0205049C: .word 0x021C5A6C _020504A0: .word FUN_020500A4 thumb_func_start FUN_020504A4 FUN_020504A4: ; 0x020504A4 push {r3, lr} ldr r0, _020504C8 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _020504B6 sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _020504B6: bl FUN_02031190 cmp r0, #0x0 bne _020504C6 ldr r0, _020504CC ; =FUN_020500A4 mov r1, #0x0 bl FUN_02050094 _020504C6: pop {r3, pc} .balign 4 _020504C8: .word 0x021C5A6C _020504CC: .word FUN_020500A4 thumb_func_start FUN_020504D0 FUN_020504D0: ; 0x020504D0 ldr r3, _020504D4 ; =FUN_0223DFB4 bx r3 .balign 4 _020504D4: .word FUN_0223DFB4 + 1 thumb_func_start FUN_020504D8 FUN_020504D8: ; 0x020504D8 push {r3, lr} bl FUN_02031190 cmp r0, #0x0 bne _02050506 ldr r0, _02050508 ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] bl FUN_0223E1E0 bl FUN_0202DBE0 mov r0, #0x0 bl FUN_0204D168 bl FUN_0223EF7C bl FUN_02245FA0 ldr r0, _0205050C ; =FUN_020504D0 mov r1, #0x0 bl FUN_02050094 _02050506: pop {r3, pc} .balign 4 _02050508: .word 0x021C5A6C _0205050C: .word FUN_020504D0 thumb_func_start FUN_02050510 FUN_02050510: ; 0x02050510 push {r3, lr} bl FUN_02031190 mov r1, #0x1 bl FUN_0223FCE8 bl FUN_02031190 mov r1, #0x1 bl FUN_02247728 bl FUN_0223CACC bl FUN_0204CEF8 bl FUN_0223E6B8 bl FUN_02031880 bl FUN_0204FB28 ldr r0, _02050544 ; =FUN_020504A4 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} .balign 4 _02050544: .word FUN_020504A4 thumb_func_start FUN_02050548 FUN_02050548: ; 0x02050548 push {r3, lr} bl FUN_0223DFB4 bl FUN_0204F80C ldr r0, _02050574 ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] ldr r0, [r0, #0x10] cmp r0, #0x0 bne _02050572 bl FUN_0202EE44 cmp r0, #0x0 bne _0205056E bl FUN_020311F0 cmp r0, #0x0 beq _02050572 _0205056E: bl FUN_02050510 _02050572: pop {r3, pc} .balign 4 _02050574: .word 0x021C5A6C thumb_func_start FUN_02050578 FUN_02050578: ; 0x02050578 push {r3, lr} bl FUN_0204CC48 ldr r0, _02050588 ; =FUN_0205058C mov r1, #0x0 bl FUN_02050094 pop {r3, pc} .balign 4 _02050588: .word FUN_0205058C thumb_func_start FUN_0205058C FUN_0205058C: ; 0x0205058C ldr r3, _02050590 ; =0x02247831 bx r3 .balign 4 _02050590: .word 0x02247831 thumb_func_start FUN_02050594 FUN_02050594: ; 0x02050594 push {r3, lr} bl FUN_02245F1C bl FUN_0204CC9C bl FUN_0202EE44 cmp r0, #0x0 bne _020505AE bl FUN_020311F0 cmp r0, #0x0 beq _020505CC _020505AE: bl FUN_022452A4 bl FUN_0204CEF8 bl FUN_0223E6B8 bl FUN_02031880 bl FUN_0204FB28 ldr r0, _020505D8 ; =FUN_020504A4 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} _020505CC: ldr r0, _020505DC ; =FUN_02050548 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} nop _020505D8: .word FUN_020504A4 _020505DC: .word FUN_02050548 thumb_func_start FUN_020505E0 FUN_020505E0: ; 0x020505E0 push {r3, lr} bl FUN_0204CC48 ldr r0, _020505F0 ; =FUN_020505F4 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} .balign 4 _020505F0: .word FUN_020505F4 thumb_func_start FUN_020505F4 FUN_020505F4: ; 0x020505F4 bx lr .balign 4 thumb_func_start FUN_020505F8 FUN_020505F8: ; 0x020505F8 push {r3, lr} bl FUN_02245F1C bl FUN_0204CC9C ldr r0, _0205060C ; =FUN_02050168 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} .balign 4 _0205060C: .word FUN_02050168 thumb_func_start FUN_02050610 FUN_02050610: ; 0x02050610 push {r3, lr} bl FUN_0204CF24 ldr r0, _02050620 ; =FUN_02050624 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} .balign 4 _02050620: .word FUN_02050624 thumb_func_start FUN_02050624 FUN_02050624: ; 0x02050624 bx lr .balign 4 thumb_func_start FUN_02050628 FUN_02050628: ; 0x02050628 push {r3, lr} bl FUN_02245F1C bl FUN_0204CC9C ldr r0, _0205063C ; =FUN_020504D0 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} .balign 4 _0205063C: .word FUN_020504D0 thumb_func_start FUN_02050640 FUN_02050640: ; 0x02050640 push {r3, lr} bl FUN_02031190 bl FUN_02030E7C cmp r0, #0x0 beq _0205065E bl FUN_02240834 bl FUN_0202DBE0 ldr r0, _02050660 ; =FUN_02050664 mov r1, #0x0 bl FUN_02050094 _0205065E: pop {r3, pc} .balign 4 _02050660: .word FUN_02050664 thumb_func_start FUN_02050664 FUN_02050664: ; 0x02050664 bx lr .balign 4 thumb_func_start FUN_02050668 FUN_02050668: ; 0x02050668 push {r3, lr} bl FUN_0202E4C8 cmp r0, #0x0 beq _0205067E bl FUN_022407CC ldr r0, _02050680 ; =FUN_02050684 mov r1, #0x0 bl FUN_02050094 _0205067E: pop {r3, pc} .balign 4 _02050680: .word FUN_02050684 thumb_func_start FUN_02050684 FUN_02050684: ; 0x02050684 bx lr .balign 4 thumb_func_start FUN_02050688 FUN_02050688: ; 0x02050688 push {r3, lr} ldr r0, _020506A0 ; =0x021C5A6C ldr r0, [r0, #0x0] add r0, #0x3e ldrb r0, [r0, #0x0] bl FUN_020319D8 ldr r0, _020506A4 ; =FUN_020506A8 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} .balign 4 _020506A0: .word 0x021C5A6C _020506A4: .word FUN_020506A8 thumb_func_start FUN_020506A8 FUN_020506A8: ; 0x020506A8 push {r3, lr} bl FUN_02031A2C cmp r0, #0x0 beq _020506BE bl FUN_0202DBE0 ldr r0, _020506C0 ; =FUN_020506C4 mov r1, #0x0 bl FUN_02050094 _020506BE: pop {r3, pc} .balign 4 _020506C0: .word FUN_020506C4 thumb_func_start FUN_020506C4 FUN_020506C4: ; 0x020506C4 bx lr .balign 4 thumb_func_start FUN_020506C8 FUN_020506C8: ; 0x020506C8 push {r3, lr} mov r0, #0x62 bl FUN_020315D8 cmp r0, #0x0 beq _02050704 bl FUN_0204D320 add r1, r0, #0x0 mov r0, #0xf bl FUN_02016998 ldr r1, _02050720 ; =0x021C5A6C mov r2, #0x0 ldr r1, [r1, #0x0] ldr r1, [r1, #0x18] bl FUN_0204CB20 bl FUN_0204F80C bl FUN_02030FC8 mov r0, #0x5c bl FUN_02031588 ldr r0, _02050724 ; =FUN_02050728 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} _02050704: ldr r0, _02050720 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050714 sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _02050714: mov r0, #0x1e strh r0, [r1, #0x3c] mov r0, #0x62 bl FUN_02031588 pop {r3, pc} .balign 4 _02050720: .word 0x021C5A6C _02050724: .word FUN_02050728 thumb_func_start FUN_02050728 FUN_02050728: ; 0x02050728 push {lr} sub sp, #0xc bl FUN_02031190 cmp r0, #0x0 bne _02050738 bl FUN_0202DDE8 _02050738: mov r0, #0x5c bl FUN_020315D8 cmp r0, #0x0 beq _02050776 mov r0, #0x6 str r0, [sp, #0x0] mov r1, #0x1 str r1, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] mov r0, #0x0 add r2, r1, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 mov r0, #0x0 bl FUN_0200E388 mov r0, #0x1 bl FUN_0200E388 bl FUN_0204CC9C mov r0, #0x0 bl FUN_0204D168 ldr r0, _0205077C ; =FUN_020507B4 mov r1, #0x1 bl FUN_02050094 _02050776: add sp, #0xc pop {pc} nop _0205077C: .word FUN_020507B4 thumb_func_start FUN_02050780 FUN_02050780: ; 0x02050780 push {r3, lr} ldr r0, _020507AC ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050792 sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _02050792: mov r0, #0x1e bl FUN_020315D8 cmp r0, #0x0 beq _020507A8 bl FUN_02030FA8 ldr r0, _020507B0 ; =FUN_02050930 mov r1, #0x0 bl FUN_02050094 _020507A8: pop {r3, pc} nop _020507AC: .word 0x021C5A6C _020507B0: .word FUN_02050930 thumb_func_start FUN_020507B4 FUN_020507B4: ; 0x020507B4 push {r3, lr} ldr r0, _020507F0 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _020507C6 sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _020507C6: bl FUN_02031190 cmp r0, #0x0 bne _020507DE bl FUN_0204ED08 cmp r0, #0x0 beq _020507EC mov r0, #0x1e bl FUN_02031588 b _020507E4 _020507DE: mov r0, #0x1e bl FUN_02031588 _020507E4: ldr r0, _020507F4 ; =FUN_02050780 mov r1, #0x14 bl FUN_02050094 _020507EC: pop {r3, pc} nop _020507F0: .word 0x021C5A6C _020507F4: .word FUN_02050780 thumb_func_start FUN_020507F8 FUN_020507F8: ; 0x020507F8 push {r3, lr} mov r0, #0x62 bl FUN_020315D8 cmp r0, #0x0 beq _02050830 bl FUN_0204D320 add r1, r0, #0x0 mov r0, #0xf bl FUN_02016998 ldr r1, _0205084C ; =0x021C5A6C mov r2, #0x0 ldr r1, [r1, #0x0] ldr r1, [r1, #0x18] bl FUN_0204CB20 bl FUN_0204F80C mov r0, #0x5c bl FUN_02031588 ldr r0, _02050850 ; =FUN_02050854 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} _02050830: ldr r0, _0205084C ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050840 sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _02050840: mov r0, #0x1e strh r0, [r1, #0x3c] mov r0, #0x62 bl FUN_02031588 pop {r3, pc} .balign 4 _0205084C: .word 0x021C5A6C _02050850: .word FUN_02050854 thumb_func_start FUN_02050854 FUN_02050854: ; 0x02050854 push {r3, lr} sub sp, #0x10 bl FUN_02031190 cmp r0, #0x0 bne _02050864 bl FUN_0202DDE8 _02050864: mov r0, #0x5c bl FUN_020315D8 cmp r0, #0x0 beq _020508B0 bl FUN_0204CC9C mov r0, #0x0 bl FUN_0204D168 mov r1, #0x1 add r0, sp, #0xc strb r1, [r0, #0x0] mov r0, #0x5e add r1, sp, #0xc bl FUN_020311D0 mov r0, #0x6 str r0, [sp, #0x0] mov r1, #0x1 str r1, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] mov r0, #0x0 add r2, r1, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 mov r0, #0x0 bl FUN_0200E388 mov r0, #0x1 bl FUN_0200E388 ldr r0, _020508B4 ; =FUN_02050A14 mov r1, #0x0 bl FUN_02050094 _020508B0: add sp, #0x10 pop {r3, pc} .balign 4 _020508B4: .word FUN_02050A14 thumb_func_start FUN_020508B8 FUN_020508B8: ; 0x020508B8 push {r3-r7, lr} mov r7, #0x0 bl FUN_02030F20 cmp r0, #0x0 ble _02050916 ldr r6, _02050928 ; =0x021C5A6C _020508C6: bl FUN_02031190 cmp r7, r0 beq _0205090C add r0, r7, #0x0 bl FUN_020315FC cmp r0, #0x5e bne _0205090C ldr r0, [r6, #0x0] ldr r0, [r0, #0x18] ldr r0, [r0, #0x10] cmp r0, #0x0 bne _0205090C mov r4, #0x0 add r5, r4, #0x0 _020508E6: ldr r0, [r6, #0x0] ldr r0, [r0, r5] cmp r0, #0x0 beq _020508F8 bl FUN_02016A18 ldr r1, [r6, #0x0] mov r0, #0x0 str r0, [r1, r5] _020508F8: add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 blt _020508E6 ldr r0, [r6, #0x0] ldr r1, _0205092C ; =0x0000238E ldr r0, [r0, #0x18] mov r2, #0x0 bl FUN_02038C78 _0205090C: add r7, r7, #0x1 bl FUN_02030F20 cmp r7, r0 blt _020508C6 _02050916: ldr r1, _02050928 ; =0x021C5A6C mov r0, #0x4 ldr r1, [r1, #0x0] ldr r1, [r1, #0x18] ldr r1, [r1, #0x8] bl FUN_020335F0 pop {r3-r7, pc} nop _02050928: .word 0x021C5A6C _0205092C: .word 0x0000238E thumb_func_start FUN_02050930 FUN_02050930: ; 0x02050930 push {r3, lr} bl FUN_0204EB44 cmp r0, #0x0 bne _0205095A ldr r0, _02050960 ; =0x021C5A6C mov r1, #0x0 ldr r0, [r0, #0x0] add r0, #0x43 strb r1, [r0, #0x0] mov r1, #0x1 add r0, sp, #0x0 strb r1, [r0, #0x0] mov r0, #0x5e add r1, sp, #0x0 bl FUN_020311D0 ldr r0, _02050964 ; =FUN_02050A14 mov r1, #0x0 bl FUN_02050094 _0205095A: bl FUN_020508B8 pop {r3, pc} .balign 4 _02050960: .word 0x021C5A6C _02050964: .word FUN_02050A14 thumb_func_start FUN_02050968 FUN_02050968: ; 0x02050968 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 beq _02050986 mov r0, #0xb bl FUN_0206B8AC ldr r1, _020509AC ; =0x021C5A6C ldr r2, [r1, #0x0] str r0, [r2, #0x44] ldr r1, [r1, #0x0] add r0, r4, #0x0 ldr r1, [r1, #0x44] bl FUN_0206BAD0 _02050986: cmp r5, #0x0 beq _02050994 ldr r0, _020509B0 ; =FUN_02050B8C mov r1, #0x3 bl FUN_02050094 pop {r3-r5, pc} _02050994: mov r1, #0x3 add r0, sp, #0x0 strb r1, [r0, #0x0] mov r0, #0x5e add r1, sp, #0x0 bl FUN_020311D0 ldr r0, _020509B4 ; =FUN_02050930 mov r1, #0x0 bl FUN_02050094 pop {r3-r5, pc} .balign 4 _020509AC: .word 0x021C5A6C _020509B0: .word FUN_02050B8C _020509B4: .word FUN_02050930 thumb_func_start FUN_020509B8 FUN_020509B8: ; 0x020509B8 ldr r3, _020509C0 ; =FUN_02050094 ldr r0, _020509C4 ; =FUN_02050930 mov r1, #0x0 bx r3 .balign 4 _020509C0: .word FUN_02050094 _020509C4: .word FUN_02050930 thumb_func_start FUN_020509C8 FUN_020509C8: ; 0x020509C8 push {r3, lr} bl FUN_02031438 cmp r0, #0x0 bne _02050A06 bl FUN_02031190 bl FUN_0204F6B4 cmp r0, #0x0 bne _02050A06 ldr r0, _02050A08 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _020509EE sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _020509EE: bl FUN_0204F7E4 ldr r0, _02050A08 ; =0x021C5A6C ldr r1, _02050A0C ; =FUN_02050968 ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] bl FUN_02051880 ldr r0, _02050A10 ; =FUN_020509B8 mov r1, #0x0 bl FUN_02050094 _02050A06: pop {r3, pc} .balign 4 _02050A08: .word 0x021C5A6C _02050A0C: .word FUN_02050968 _02050A10: .word FUN_020509B8 thumb_func_start FUN_02050A14 FUN_02050A14: ; 0x02050A14 push {r3, lr} ldr r0, _02050A40 ; =0x021C5A6C ldr r0, [r0, #0x0] add r0, #0x43 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _02050A38 ldr r0, _02050A44 ; =FUN_020509C8 mov r1, #0x5 bl FUN_02050094 mov r1, #0x0 add r0, sp, #0x0 strb r1, [r0, #0x0] mov r0, #0x5e add r1, sp, #0x0 bl FUN_020311D0 _02050A38: bl FUN_020508B8 pop {r3, pc} nop _02050A40: .word 0x021C5A6C _02050A44: .word FUN_020509C8 thumb_func_start FUN_02050A48 FUN_02050A48: ; 0x02050A48 push {r4, lr} add r4, r2, #0x0 bl FUN_02031190 ldrb r1, [r4, #0x0] cmp r1, r0 bne _02050A60 ldr r0, _02050A64 ; =0x021C5A6C mov r1, #0x1 ldr r0, [r0, #0x0] add r0, #0x43 strb r1, [r0, #0x0] _02050A60: pop {r4, pc} nop _02050A64: .word 0x021C5A6C thumb_func_start FUN_02050A68 FUN_02050A68: ; 0x02050A68 ldr r0, _02050A88 ; =0x021C5A6C ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02050A82 ldr r1, [r0, #0x34] ldr r0, _02050A8C ; =FUN_02050A14 cmp r1, r0 beq _02050A7E ldr r0, _02050A90 ; =FUN_02050930 cmp r1, r0 bne _02050A82 _02050A7E: mov r0, #0x1 bx lr _02050A82: mov r0, #0x0 bx lr nop _02050A88: .word 0x021C5A6C _02050A8C: .word FUN_02050A14 _02050A90: .word FUN_02050930 thumb_func_start FUN_02050A94 FUN_02050A94: ; 0x02050A94 push {r4, lr} sub sp, #0x8 ldr r0, _02050B00 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050AAA sub r0, r0, #0x1 strh r0, [r1, #0x3c] add sp, #0x8 pop {r4, pc} _02050AAA: mov r4, #0x5 bl FUN_02033534 cmp r0, #0x2 beq _02050AC0 cmp r0, #0x4 beq _02050ABC cmp r0, #0x5 bne _02050AC2 _02050ABC: mov r4, #0xf b _02050AC2 _02050AC0: mov r4, #0x7 _02050AC2: add r0, sp, #0x0 bl FUN_02033578 ldr r0, _02050B00 ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r1, [r0, #0x44] ldr r0, [r0, #0x18] cmp r1, #0x0 bne _02050ADE add r1, sp, #0x0 add r2, r4, #0x0 bl FUN_0204726C b _02050AF6 _02050ADE: add r2, r4, #0x0 bl FUN_020472B0 ldr r0, _02050B00 ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x44] bl FUN_02016A18 ldr r0, _02050B00 ; =0x021C5A6C mov r1, #0x0 ldr r0, [r0, #0x0] str r1, [r0, #0x44] _02050AF6: bl FUN_0204FC10 add sp, #0x8 pop {r4, pc} nop _02050B00: .word 0x021C5A6C thumb_func_start FUN_02050B04 FUN_02050B04: ; 0x02050B04 push {r3, lr} bl FUN_0202FA48 cmp r0, #0x0 beq _02050B3E ldr r0, _02050B40 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050B1C sub r0, r0, #0x1 strh r0, [r1, #0x3c] _02050B1C: ldr r0, _02050B40 ; =0x021C5A6C ldr r0, [r0, #0x0] ldrh r0, [r0, #0x3c] cmp r0, #0x5a bne _02050B2C mov r0, #0x4 bl FUN_02031588 _02050B2C: mov r0, #0x4 bl FUN_020315D8 cmp r0, #0x0 beq _02050B3E ldr r0, _02050B44 ; =FUN_02050A94 mov r1, #0x0 bl FUN_02050094 _02050B3E: pop {r3, pc} .balign 4 _02050B40: .word 0x021C5A6C _02050B44: .word FUN_02050A94 thumb_func_start FUN_02050B48 FUN_02050B48: ; 0x02050B48 push {r3, lr} ldr r0, _02050B68 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050B5A sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _02050B5A: bl FUN_0202FA10 ldr r0, _02050B6C ; =FUN_02050B04 mov r1, #0x78 bl FUN_02050094 pop {r3, pc} .balign 4 _02050B68: .word 0x021C5A6C _02050B6C: .word FUN_02050B04 thumb_func_start FUN_02050B70 FUN_02050B70: ; 0x02050B70 push {r3, lr} mov r0, #0x3 bl FUN_020315D8 cmp r0, #0x0 beq _02050B84 ldr r0, _02050B88 ; =FUN_02050B48 mov r1, #0x2 bl FUN_02050094 _02050B84: pop {r3, pc} nop _02050B88: .word FUN_02050B48 thumb_func_start FUN_02050B8C FUN_02050B8C: ; 0x02050B8C push {r3, lr} ldr r0, _02050BB4 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050B9E sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _02050B9E: mov r0, #0x0 bl FUN_0204CCE0 mov r0, #0x3 bl FUN_02031588 ldr r0, _02050BB8 ; =FUN_02050B70 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} .balign 4 _02050BB4: .word 0x021C5A6C _02050BB8: .word FUN_02050B70 thumb_func_start FUN_02050BBC FUN_02050BBC: ; 0x02050BBC push {r3, lr} bl FUN_020319F4 ldr r0, _02050BCC ; =FUN_02050BD0 mov r1, #0x2 bl FUN_02050094 pop {r3, pc} .balign 4 _02050BCC: .word FUN_02050BD0 thumb_func_start FUN_02050BD0 FUN_02050BD0: ; 0x02050BD0 push {r3, lr} bl FUN_0202EE0C cmp r0, #0x0 beq _02050BE2 ldr r0, _02050BE4 ; =FUN_020506A8 mov r1, #0xa bl FUN_02050094 _02050BE2: pop {r3, pc} .balign 4 _02050BE4: .word FUN_020506A8 thumb_func_start FUN_02050BE8 FUN_02050BE8: ; 0x02050BE8 ldr r1, _02050BF4 ; =0x021C5A6C mov r2, #0x1 ldr r1, [r1, #0x0] add r0, r1, r0 strb r2, [r0, #0x10] bx lr .balign 4 _02050BF4: .word 0x021C5A6C thumb_func_start FUN_02050BF8 FUN_02050BF8: ; 0x02050BF8 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x4 blt _02050C04 bl ErrorHandling _02050C04: ldr r0, _02050C10 ; =0x021C5A6C ldr r1, [r0, #0x0] lsl r0, r4, #0x2 ldr r0, [r1, r0] pop {r4, pc} nop _02050C10: .word 0x021C5A6C thumb_func_start FUN_02050C14 FUN_02050C14: ; 0x02050C14 push {r4, lr} bl FUN_02031190 add r4, r0, #0x0 mov r0, #0x5f bl FUN_020315D8 cmp r0, #0x0 beq _02050C3E ldr r1, _02050C40 ; =0x021C5A6C mov r0, #0x58 ldr r2, [r1, #0x0] lsl r1, r4, #0x2 ldr r1, [r2, r1] ldr r2, _02050C44 ; =0x0000066C bl FUN_02030A78 ldr r0, _02050C48 ; =FUN_02050C4C mov r1, #0x0 bl FUN_02050094 _02050C3E: pop {r4, pc} .balign 4 _02050C40: .word 0x021C5A6C _02050C44: .word 0x0000066C _02050C48: .word FUN_02050C4C thumb_func_start FUN_02050C4C FUN_02050C4C: ; 0x02050C4C push {r3-r5, lr} mov r4, #0x0 bl FUN_02030F20 cmp r0, #0x0 ble _02050C6E ldr r5, _02050C80 ; =0x021C5A6C _02050C5A: ldr r0, [r5, #0x0] add r0, r0, r4 ldrb r0, [r0, #0x10] cmp r0, #0x0 beq _02050C7C add r4, r4, #0x1 bl FUN_02030F20 cmp r4, r0 blt _02050C5A _02050C6E: mov r0, #0x61 bl FUN_02031588 ldr r0, _02050C84 ; =FUN_02050CF4 mov r1, #0x0 bl FUN_02050094 _02050C7C: pop {r3-r5, pc} nop _02050C80: .word 0x021C5A6C _02050C84: .word FUN_02050CF4 thumb_func_start FUN_02050C88 FUN_02050C88: ; 0x02050C88 push {r3, lr} bl FUN_0202FA48 cmp r0, #0x0 bne _02050CC2 ldr r0, _02050CC4 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050CA0 sub r0, r0, #0x1 strh r0, [r1, #0x3c] _02050CA0: ldr r0, _02050CC4 ; =0x021C5A6C ldr r0, [r0, #0x0] ldrh r0, [r0, #0x3c] cmp r0, #0x5a bne _02050CB0 mov r0, #0x5 bl FUN_02031588 _02050CB0: mov r0, #0x5 bl FUN_020315D8 cmp r0, #0x0 beq _02050CC2 ldr r0, _02050CC8 ; =FUN_02050D10 mov r1, #0x0 bl FUN_02050094 _02050CC2: pop {r3, pc} .balign 4 _02050CC4: .word 0x021C5A6C _02050CC8: .word FUN_02050D10 thumb_func_start FUN_02050CCC FUN_02050CCC: ; 0x02050CCC push {r3, lr} ldr r0, _02050CEC ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050CDE sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _02050CDE: bl FUN_0202FA1C ldr r0, _02050CF0 ; =FUN_02050C88 mov r1, #0x78 bl FUN_02050094 pop {r3, pc} .balign 4 _02050CEC: .word 0x021C5A6C _02050CF0: .word FUN_02050C88 thumb_func_start FUN_02050CF4 FUN_02050CF4: ; 0x02050CF4 push {r3, lr} mov r0, #0x61 bl FUN_020315D8 cmp r0, #0x0 beq _02050D08 ldr r0, _02050D0C ; =FUN_02050CCC mov r1, #0x2 bl FUN_02050094 _02050D08: pop {r3, pc} nop _02050D0C: .word FUN_02050CCC thumb_func_start FUN_02050D10 FUN_02050D10: ; 0x02050D10 push {r3, lr} ldr r0, _02050D48 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050D22 sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _02050D22: mov r0, #0x62 bl FUN_02031588 ldr r0, _02050D48 ; =0x021C5A6C ldr r0, [r0, #0x0] add r0, #0x42 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _02050D3E ldr r0, _02050D4C ; =FUN_020506C8 mov r1, #0x1e bl FUN_02050094 pop {r3, pc} _02050D3E: ldr r0, _02050D50 ; =FUN_020507F8 mov r1, #0x1e bl FUN_02050094 pop {r3, pc} .balign 4 _02050D48: .word 0x021C5A6C _02050D4C: .word FUN_020506C8 _02050D50: .word FUN_020507F8 thumb_func_start FUN_02050D54 FUN_02050D54: ; 0x02050D54 push {r3, lr} ldr r0, _02050D84 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050D66 sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _02050D66: bl FUN_0223E1A4 bl FUN_02031860 mov r0, #0x21 bl FUN_020168D0 ldr r0, _02050D84 ; =0x021C5A6C mov r1, #0x0 ldr r0, [r0, #0x0] add r0, #0x41 strb r1, [r0, #0x0] bl FUN_0204FC10 pop {r3, pc} .balign 4 _02050D84: .word 0x021C5A6C thumb_func_start FUN_02050D88 FUN_02050D88: ; 0x02050D88 push {r3, lr} mov r0, #0x5b bl FUN_020315D8 cmp r0, #0x0 beq _02050DAA mov r0, #0x0 add r1, r0, #0x0 bl FUN_020334E8 mov r0, #0x1 bl FUN_0204CCE0 ldr r0, _02050DAC ; =FUN_02050DC8 mov r1, #0x5 bl FUN_02050094 _02050DAA: pop {r3, pc} .balign 4 _02050DAC: .word FUN_02050DC8 thumb_func_start FUN_02050DB0 FUN_02050DB0: ; 0x02050DB0 push {r3, lr} mov r0, #0x1 bl FUN_0204CCE0 ldr r0, _02050DC4 ; =FUN_02050DC8 mov r1, #0x5 bl FUN_02050094 pop {r3, pc} nop _02050DC4: .word FUN_02050DC8 thumb_func_start FUN_02050DC8 FUN_02050DC8: ; 0x02050DC8 push {r3, lr} ldr r0, _02050DE8 ; =0x021C5A6C ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3c] cmp r0, #0x0 beq _02050DDA sub r0, r0, #0x1 strh r0, [r1, #0x3c] pop {r3, pc} _02050DDA: bl FUN_02031A08 ldr r0, _02050DEC ; =FUN_0204FC10 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} .balign 4 _02050DE8: .word 0x021C5A6C _02050DEC: .word FUN_0204FC10 thumb_func_start FUN_02050DF0 FUN_02050DF0: ; 0x02050DF0 push {r3, lr} ldr r1, _02050E0C ; =0x021C5A6C ldr r1, [r1, #0x0] cmp r1, #0x0 beq _02050E02 add r1, #0x41 ldrb r1, [r1, #0x0] cmp r1, #0x0 bne _02050E06 _02050E02: mov r0, #0x0 pop {r3, pc} _02050E06: bl FUN_0223E2AC pop {r3, pc} .balign 4 _02050E0C: .word 0x021C5A6C thumb_func_start FUN_02050E10 FUN_02050E10: ; 0x02050E10 push {r3, lr} ldr r0, _02050E28 ; =0x021C5A6C ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02050E26 add r0, #0x41 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _02050E26 bl FUN_0223E118 _02050E26: pop {r3, pc} .balign 4 _02050E28: .word 0x021C5A6C thumb_func_start FUN_02050E2C FUN_02050E2C: ; 0x02050E2C push {r3, lr} ldr r0, _02050E44 ; =0x021C5A6C ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02050E42 add r0, #0x41 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _02050E42 bl FUN_0223E154 _02050E42: pop {r3, pc} .balign 4 _02050E44: .word 0x021C5A6C thumb_func_start FUN_02050E48 FUN_02050E48: ; 0x02050E48 push {r3-r7, lr} sub sp, #0x8 add r7, r0, #0x0 add r5, r1, #0x0 ldr r0, [sp, #0x24] mov r1, #0x30 str r2, [sp, #0x0] str r3, [sp, #0x4] ldr r6, [r5, #0xc] bl FUN_020169D8 mov r1, #0x0 mov r2, #0x30 add r4, r0, #0x0 blx MI_CpuFill8 ldr r0, [r5, #0xc] bl FUN_020238F4 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_0207C2A4 add r0, r6, #0x0 bl FUN_0206BB28 str r0, [r4, #0x1c] add r0, r6, #0x0 bl FUN_02079C70 str r0, [r4, #0x2c] add r0, r6, #0x0 bl LoadPlayerDataAddress str r0, [r4, #0x4] ldr r0, [sp, #0x0] str r0, [r4, #0x0] mov r0, #0x1 strb r0, [r4, #0x11] ldr r0, [sp, #0x4] strb r0, [r4, #0x14] ldr r0, [r4, #0x0] bl FUN_0206B9AC strb r0, [r4, #0x13] mov r0, #0x0 strh r0, [r4, #0x18] ldr r0, [sp, #0x20] strb r0, [r4, #0x12] add r0, r6, #0x0 bl FUN_0202A918 str r0, [r4, #0x20] ldr r1, _02050ECC ; =0x020F5880 add r0, r4, #0x0 bl FUN_0207B000 ldr r1, _02050ED0 ; =0x020FA6E8 add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_020373D4 str r4, [r7, #0x0] add sp, #0x8 pop {r3-r7, pc} nop _02050ECC: .word 0x020F5880 _02050ED0: .word 0x020FA6E8 thumb_func_start FUN_02050ED4 FUN_02050ED4: ; 0x02050ED4 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 mov r1, #0x40 bl FUN_02016998 mov r1, #0x0 mov r2, #0x40 add r4, r0, #0x0 blx MI_CpuFill8 ldr r0, [r5, #0x24] ldr r0, [r0, #0xc] bl LoadPlayerDataAddress str r0, [r4, #0xc] ldr r0, [r5, #0x24] add r0, #0xac ldr r0, [r0, #0x0] str r0, [r4, #0x14] ldr r0, [r5, #0x24] ldr r0, [r0, #0xc] bl FUN_0206BB1C str r0, [r4, #0x0] ldr r0, [r5, #0x24] ldr r0, [r0, #0xc] bl FUN_0206F158 str r0, [r4, #0x4] add r0, r4, #0x0 mov r1, #0x0 add r0, #0x21 strb r1, [r0, #0x0] add r0, r4, #0x0 mov r1, #0x2 add r0, #0x20 strb r1, [r0, #0x0] ldr r0, [r5, #0x24] add r0, #0xac ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02050F64 mov r1, #0x1 bl FUN_02023B0C add r1, r4, #0x0 add r1, #0x32 ldrb r1, [r1, #0x0] mov r2, #0xf lsl r0, r0, #0x18 bic r1, r2 lsr r2, r0, #0x18 mov r0, #0xf and r0, r2 orr r1, r0 add r0, r4, #0x0 add r0, #0x32 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x32 ldrb r0, [r0, #0x0] mov r1, #0xf0 bic r0, r1 add r1, r4, #0x0 add r1, #0x32 ldrb r1, [r1, #0x0] lsl r1, r1, #0x1c lsr r1, r1, #0x1c lsl r1, r1, #0x1c lsr r1, r1, #0x18 b _02050F84 _02050F64: add r0, r4, #0x0 add r0, #0x32 ldrb r1, [r0, #0x0] mov r0, #0xf bic r1, r0 mov r0, #0x3 orr r1, r0 add r0, r4, #0x0 add r0, #0x32 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x32 ldrb r1, [r0, #0x0] mov r0, #0xf0 bic r1, r0 mov r0, #0x30 _02050F84: orr r1, r0 add r0, r4, #0x0 add r0, #0x32 strb r1, [r0, #0x0] add r0, r4, #0x0 mov r1, #0x64 add r0, #0x33 strb r1, [r0, #0x0] add r0, r5, #0x0 add r0, #0x3c ldrb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x22 strb r1, [r0, #0x0] mov r2, #0x0 _02050FA2: add r0, r5, r2 add r0, #0x3d ldrb r1, [r0, #0x0] add r0, r4, r2 add r0, #0x2c add r2, r2, #0x1 strb r1, [r0, #0x0] cmp r2, #0x6 blt _02050FA2 ldr r0, [r5, #0x24] ldr r1, _02050FC4 ; =0x020F96DC add r2, r4, #0x0 bl FUN_020373D4 str r4, [r5, #0x4] pop {r3-r5, pc} nop _02050FC4: .word 0x020F96DC thumb_func_start FUN_02050FC8 FUN_02050FC8: ; 0x02050FC8 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 bl FUN_0204647C cmp r0, #0x0 beq _02050FDA mov r0, #0x0 pop {r4, pc} _02050FDA: ldr r0, [r4, #0x4] add r1, r4, #0x0 add r0, #0x2c add r1, #0x3d mov r2, #0x6 blx MI_CpuCopy8 ldr r0, [r4, #0x4] add r0, #0x22 ldrb r0, [r0, #0x0] cmp r0, #0x6 beq _02050FFC cmp r0, #0x7 bne _02051002 mov r0, #0x0 str r0, [r4, #0x38] b _02051006 _02050FFC: mov r0, #0x1 str r0, [r4, #0x38] b _02051006 _02051002: mov r0, #0x2 str r0, [r4, #0x38] _02051006: ldr r0, [r4, #0x4] add r0, #0x22 ldrb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x3c strb r1, [r0, #0x0] ldr r0, [r4, #0x4] bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x4] mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_02051020 FUN_02051020: ; 0x02051020 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 bl FUN_0204647C cmp r0, #0x0 beq _02051032 mov r0, #0x0 pop {r4, pc} _02051032: ldr r0, [r4, #0x0] ldrb r1, [r0, #0x14] add r0, r4, #0x0 add r0, #0x3c strb r1, [r0, #0x0] ldr r0, [r4, #0x0] bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0205104C FUN_0205104C: ; 0x0205104C push {r3, lr} ldr r0, [r0, #0x24] bl FUN_020464A4 cmp r0, #0x0 beq _02051066 mov r0, #0x1 bl FUN_021D7CA4 bl FUN_0204CC9C mov r0, #0x1 pop {r3, pc} _02051066: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0205106C FUN_0205106C: ; 0x0205106C push {r3-r5, lr} bl FUN_02030F20 add r5, r0, #0x0 mov r4, #0x0 cmp r5, #0x0 ble _0205108E _0205107A: add r0, r4, #0x0 bl FUN_020315FC cmp r0, #0x5e bne _02051088 mov r0, #0x1 pop {r3-r5, pc} _02051088: add r4, r4, #0x1 cmp r4, r5 blt _0205107A _0205108E: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02051094 FUN_02051094: ; 0x02051094 push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02046528 ldr r1, [r4, #0x34] cmp r1, #0x2c bls _020510AE b _020517B8 _020510AE: add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _020510BA: ; jump table (using 16-bit offset) .short _02051114 - _020510BA - 2; case 0 .short _02051136 - _020510BA - 2; case 1 .short _02051150 - _020510BA - 2; case 2 .short _0205116A - _020510BA - 2; case 3 .short _020511A6 - _020510BA - 2; case 4 .short _020511F6 - _020510BA - 2; case 5 .short _020517B8 - _020510BA - 2; case 6 .short _020511E4 - _020510BA - 2; case 7 .short _0205120C - _020510BA - 2; case 8 .short _02051232 - _020510BA - 2; case 9 .short _0205123E - _020510BA - 2; case 10 .short _0205126A - _020510BA - 2; case 11 .short _02051288 - _020510BA - 2; case 12 .short _0205129C - _020510BA - 2; case 13 .short _020512A8 - _020510BA - 2; case 14 .short _020512CA - _020510BA - 2; case 15 .short _020512E0 - _020510BA - 2; case 16 .short _0205130E - _020510BA - 2; case 17 .short _02051334 - _020510BA - 2; case 18 .short _02051346 - _020510BA - 2; case 19 .short _0205138A - _020510BA - 2; case 20 .short _0205136A - _020510BA - 2; case 21 .short _020513A6 - _020510BA - 2; case 22 .short _020513B6 - _020510BA - 2; case 23 .short _020513D4 - _020510BA - 2; case 24 .short _020513F2 - _020510BA - 2; case 25 .short _02051406 - _020510BA - 2; case 26 .short _02051472 - _020510BA - 2; case 27 .short _020514A8 - _020510BA - 2; case 28 .short _020514BE - _020510BA - 2; case 29 .short _02051508 - _020510BA - 2; case 30 .short _02051540 - _020510BA - 2; case 31 .short _02051566 - _020510BA - 2; case 32 .short _02051686 - _020510BA - 2; case 33 .short _020516B6 - _020510BA - 2; case 34 .short _020516CE - _020510BA - 2; case 35 .short _020515BA - _020510BA - 2; case 36 .short _020515F8 - _020510BA - 2; case 37 .short _02051614 - _020510BA - 2; case 38 .short _020516DE - _020510BA - 2; case 39 .short _020517B8 - _020510BA - 2; case 40 .short _02051702 - _020510BA - 2; case 41 .short _02051744 - _020510BA - 2; case 42 .short _02051766 - _020510BA - 2; case 43 .short _02051798 - _020510BA - 2; case 44 _02051114: add r0, r4, #0x0 add r0, #0x43 ldrb r0, [r0, #0x0] sub r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x43 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x43 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _020511DC mov r0, #0x1 str r0, [r4, #0x34] bl FUN_0204ECC0 b _020517B8 _02051136: ldr r0, [r4, #0x2c] ldr r2, [r4, #0xc] mov r1, #0x1 bl FUN_0200A8E0 ldr r1, [r4, #0xc] add r0, r4, #0x0 bl FUN_020517C0 str r0, [r4, #0x30] mov r0, #0x2 str r0, [r4, #0x34] b _020517B8 _02051150: ldr r0, [r4, #0x30] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_020546C8 cmp r0, #0x0 beq _020511DC mov r0, #0x5d bl FUN_02031588 mov r0, #0x3 str r0, [r4, #0x34] b _020517B8 _0205116A: mov r0, #0x5d bl FUN_020315D8 cmp r0, #0x0 beq _0205118A mov r0, #0x7 str r0, [r4, #0x34] ldr r0, [r4, #0x24] ldr r0, [r0, #0x34] bl FUN_02058768 ldr r1, [r4, #0x50] ldr r2, [r4, #0x8] mov r0, #0x1 blx r2 b _020517B8 _0205118A: ldr r0, _020514A4 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x2 tst r0, r1 beq _020511DC mov r0, #0x4 str r0, [r4, #0x34] mov r0, #0x5c bl FUN_02031588 mov r0, #0x5 add r4, #0x43 strb r0, [r4, #0x0] b _020517B8 _020511A6: mov r0, #0x5d bl FUN_020315D8 cmp r0, #0x0 beq _020511C4 mov r0, #0x7 str r0, [r4, #0x34] ldr r0, [r4, #0x24] ldr r0, [r0, #0x34] bl FUN_02058768 ldr r1, [r4, #0x50] ldr r2, [r4, #0x8] mov r0, #0x1 blx r2 _020511C4: add r0, r4, #0x0 add r0, #0x43 ldrb r0, [r0, #0x0] sub r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x43 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x43 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _020511DE _020511DC: b _020517B8 _020511DE: mov r0, #0x8 str r0, [r4, #0x34] b _020517B8 _020511E4: add r0, r4, #0x0 bl FUN_02051998 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x8 mov r0, #0x1 pop {r3-r5, pc} _020511F6: add r0, r4, #0x0 bl FUN_02051998 add r0, r4, #0x0 bl FUN_02016A18 bl FUN_0204F7FC add sp, #0x8 mov r0, #0x1 pop {r3-r5, pc} _0205120C: mov r0, #0x5d bl FUN_020315D8 cmp r0, #0x0 beq _02051224 mov r0, #0x5 str r0, [r4, #0x34] ldr r1, [r4, #0x50] ldr r2, [r4, #0x8] mov r0, #0x1 blx r2 b _020517B8 _02051224: ldr r1, [r4, #0x50] ldr r2, [r4, #0x8] mov r0, #0x0 blx r2 mov r0, #0x5 str r0, [r4, #0x34] b _020517B8 _02051232: mov r0, #0xa str r0, [r4, #0x34] mov r0, #0x5 add r4, #0x44 strb r0, [r4, #0x0] b _020517B8 _0205123E: add r1, r4, #0x0 add r1, #0x44 ldrb r1, [r1, #0x0] cmp r1, #0x0 beq _02051256 add r0, r4, #0x0 add r0, #0x44 ldrb r0, [r0, #0x0] add r4, #0x44 sub r0, r0, #0x1 strb r0, [r4, #0x0] b _020517B8 _02051256: ldr r0, [r0, #0x38] bl FUN_020553A0 bl FUN_0205AE28 cmp r0, #0x0 beq _020512FA mov r0, #0xb str r0, [r4, #0x34] b _020517B8 _0205126A: bl FUN_0204ECC0 ldr r0, [r4, #0x2c] ldr r2, [r4, #0xc] mov r1, #0xd bl FUN_0200A8E0 ldr r1, [r4, #0xc] add r0, r4, #0x0 bl FUN_020517C0 str r0, [r4, #0x30] mov r0, #0xc str r0, [r4, #0x34] b _020517B8 _02051288: ldr r0, [r4, #0x30] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_020546C8 cmp r0, #0x0 beq _020512FA mov r0, #0xd str r0, [r4, #0x34] b _020517B8 _0205129C: mov r0, #0x0 bl FUN_021D7CA4 mov r0, #0xe str r0, [r4, #0x34] b _020517B8 _020512A8: add r0, r4, #0x0 add r0, #0x43 ldrb r0, [r0, #0x0] sub r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x43 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x43 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _020512FA bl FUN_0204ECC0 mov r0, #0xf str r0, [r4, #0x34] b _020517B8 _020512CA: add r0, r4, #0x0 mov r1, #0x0 bl FUN_02051810 add r0, r4, #0x0 mov r1, #0xb bl FUN_02050ED4 mov r0, #0x10 str r0, [r4, #0x34] b _020517B8 _020512E0: ldr r1, [r4, #0x24] add r0, r4, #0x0 bl FUN_02050FC8 cmp r0, #0x0 beq _020512FA ldr r0, [r4, #0x38] cmp r0, #0x0 beq _020512FC cmp r0, #0x1 beq _02051302 cmp r0, #0x2 beq _02051308 _020512FA: b _020517B8 _020512FC: mov r0, #0x14 str r0, [r4, #0x34] b _020517B8 _02051302: mov r0, #0x13 str r0, [r4, #0x34] b _020517B8 _02051308: mov r0, #0x11 str r0, [r4, #0x34] b _020517B8 _0205130E: ldr r0, [r4, #0x24] ldr r0, [r0, #0xc] bl FUN_0206BB1C add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0xb str r0, [sp, #0x4] add r3, r4, #0x0 add r3, #0x3c ldrb r3, [r3, #0x0] ldr r1, [r4, #0x24] add r0, r4, #0x0 bl FUN_02050E48 mov r0, #0x12 str r0, [r4, #0x34] b _020517B8 _02051334: ldr r1, [r4, #0x24] add r0, r4, #0x0 bl FUN_02051020 cmp r0, #0x0 beq _02051410 mov r0, #0xf str r0, [r4, #0x34] b _020517B8 _02051346: ldr r0, [r4, #0x24] bl FUN_0204649C add r0, r4, #0x0 add r0, #0x88 ldrb r0, [r0, #0x0] cmp r0, #0x3 beq _02051364 add r0, r4, #0x0 mov r1, #0x5 add r0, #0x43 strb r1, [r0, #0x0] mov r0, #0x15 str r0, [r4, #0x34] b _020517B8 _02051364: mov r0, #0x1a str r0, [r4, #0x34] b _020517B8 _0205136A: add r0, r4, #0x0 add r0, #0x3d bl FUN_02033564 add r0, r4, #0x0 bl FUN_0205104C cmp r0, #0x0 beq _02051410 add r0, r4, #0x0 mov r1, #0x5 add r0, #0x43 strb r1, [r0, #0x0] mov r0, #0x0 str r0, [r4, #0x34] b _020517B8 _0205138A: ldr r0, [r4, #0x24] bl FUN_0204649C add r0, r4, #0x0 add r0, #0x88 ldrb r0, [r0, #0x0] cmp r0, #0x3 beq _020513A0 mov r0, #0x16 str r0, [r4, #0x34] b _020517B8 _020513A0: mov r0, #0x1a str r0, [r4, #0x34] b _020517B8 _020513A6: add r0, r4, #0x0 bl FUN_0205104C cmp r0, #0x0 beq _02051410 mov r0, #0x8 str r0, [r4, #0x34] b _020517B8 _020513B6: add r0, r4, #0x0 add r0, #0x44 ldrb r0, [r0, #0x0] sub r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x44 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x44 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _02051410 mov r0, #0x18 str r0, [r4, #0x34] b _020517B8 _020513D4: bl FUN_0204ECC0 ldr r0, [r4, #0x2c] ldr r2, [r4, #0xc] mov r1, #0x13 bl FUN_0200A8E0 ldr r1, [r4, #0xc] add r0, r4, #0x0 bl FUN_020517C0 str r0, [r4, #0x30] mov r0, #0x19 str r0, [r4, #0x34] b _020517B8 _020513F2: ldr r0, [r4, #0x30] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_020546C8 cmp r0, #0x0 beq _02051410 mov r0, #0xd str r0, [r4, #0x34] b _020517B8 _02051406: add r0, r4, #0x0 bl FUN_0205104C cmp r0, #0x0 bne _02051412 _02051410: b _020517B8 _02051412: bl FUN_0205106C cmp r0, #0x0 beq _02051420 mov r0, #0x5 str r0, [r4, #0x34] b _020517B8 _02051420: ldr r0, [r4, #0x38] cmp r0, #0x0 beq _0205142A mov r1, #0x1 b _0205142C _0205142A: mov r1, #0x0 _0205142C: add r0, r4, #0x0 add r0, #0x82 strb r1, [r0, #0x0] add r1, r4, #0x0 add r1, #0x82 ldrb r1, [r1, #0x0] add r0, r4, #0x0 bl FUN_020519F0 mov r0, #0x0 bl FUN_02031588 ldr r0, [r4, #0x28] ldr r2, [r4, #0x74] mov r1, #0x0 bl FUN_0200ABC0 ldr r0, [r4, #0x2c] ldr r2, [r4, #0xc] mov r1, #0xe bl FUN_0200A8E0 ldr r0, [r4, #0x28] ldr r1, [r4, #0x10] ldr r2, [r4, #0xc] bl FUN_0200B7B8 ldr r1, [r4, #0x10] add r0, r4, #0x0 bl FUN_020517C0 str r0, [r4, #0x30] mov r0, #0x1b str r0, [r4, #0x34] b _020517B8 _02051472: ldr r0, [r4, #0x30] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_020546C8 cmp r0, #0x0 beq _02051574 bl FUN_0205106C cmp r0, #0x0 beq _0205148E mov r0, #0x5 str r0, [r4, #0x34] b _020517B8 _0205148E: mov r0, #0x0 bl FUN_020315D8 cmp r0, #0x0 beq _02051574 add r0, r4, #0x0 bl FUN_02051A38 mov r0, #0x1c str r0, [r4, #0x34] b _020517B8 .balign 4 _020514A4: .word 0x021C48B8 _020514A8: add r0, r4, #0x0 bl FUN_02051A80 cmp r0, #0x0 beq _02051574 mov r0, #0x1 bl FUN_02031588 mov r0, #0x1d str r0, [r4, #0x34] b _020517B8 _020514BE: mov r0, #0x1 bl FUN_020315D8 cmp r0, #0x0 beq _02051574 add r0, r4, #0x0 bl FUN_02051A90 add r1, r4, #0x0 add r1, #0x83 strb r0, [r1, #0x0] add r0, r4, #0x0 add r0, #0x82 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _02051502 add r0, r4, #0x0 add r0, #0x83 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _02051502 ldr r0, [r4, #0x2c] ldr r2, [r4, #0xc] mov r1, #0x14 bl FUN_0200A8E0 ldr r1, [r4, #0xc] add r0, r4, #0x0 bl FUN_020517C0 str r0, [r4, #0x30] mov r0, #0x1e str r0, [r4, #0x34] b _020517B8 _02051502: mov r0, #0x2a str r0, [r4, #0x34] b _020517B8 _02051508: ldr r0, [r4, #0x30] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_020546C8 cmp r0, #0x0 beq _02051574 add r0, r4, #0x0 mov r1, #0x0 add r0, #0x89 strb r1, [r0, #0x0] ldr r0, [r4, #0x2c] ldr r2, [r4, #0xc] mov r1, #0x11 bl FUN_0200A8E0 ldr r1, [r4, #0xc] add r0, r4, #0x0 bl FUN_020517C0 str r0, [r4, #0x30] add r0, r4, #0x0 mov r1, #0x0 add r0, #0x84 strb r1, [r0, #0x0] mov r0, #0x1f str r0, [r4, #0x34] b _020517B8 _02051540: ldr r0, [r4, #0x30] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_020546C8 cmp r0, #0x0 beq _02051574 add r0, r4, #0x0 bl FUN_02051AF0 add r1, r4, #0x0 add r1, #0x84 ldrb r1, [r1, #0x0] add r0, r4, #0x0 bl FUN_02051B68 mov r0, #0x20 str r0, [r4, #0x34] b _020517B8 _02051566: add r0, r4, #0x0 bl FUN_02051D54 cmp r0, #0x1 beq _02051576 cmp r0, #0x2 beq _0205158C _02051574: b _020517B8 _02051576: add r0, r4, #0x0 bl FUN_02051E24 mov r0, #0x81 ldrsb r1, [r4, r0] add r0, r4, #0x0 add r0, #0x84 strb r1, [r0, #0x0] mov r0, #0x24 str r0, [r4, #0x34] b _020517B8 _0205158C: add r0, r4, #0x0 bl FUN_02051E24 add r0, r4, #0x0 mov r1, #0xff add r0, #0x84 strb r1, [r0, #0x0] ldr r0, [r4, #0x2c] ldr r2, [r4, #0xc] mov r1, #0xf bl FUN_0200A8E0 ldr r1, [r4, #0xc] add r0, r4, #0x0 bl FUN_020517C0 str r0, [r4, #0x30] mov r0, #0x2 bl FUN_02031588 mov r0, #0x27 str r0, [r4, #0x34] b _020517B8 _020515BA: add r1, r4, #0x0 add r1, #0x84 ldrb r1, [r1, #0x0] ldr r0, [r4, #0x50] bl FUN_0206B9B0 bl FUN_020690E4 add r2, r0, #0x0 ldr r0, [r4, #0x28] mov r1, #0x1 bl FUN_0200AC60 ldr r0, [r4, #0x2c] ldr r2, [r4, #0xc] mov r1, #0x12 bl FUN_0200A8E0 ldr r0, [r4, #0x28] ldr r1, [r4, #0x10] ldr r2, [r4, #0xc] bl FUN_0200B7B8 ldr r1, [r4, #0x10] add r0, r4, #0x0 bl FUN_020517C0 str r0, [r4, #0x30] mov r0, #0x25 str r0, [r4, #0x34] b _020517B8 _020515F8: ldr r0, [r4, #0x30] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_020546C8 cmp r0, #0x0 beq _0205168E add r0, r4, #0x0 mov r1, #0x0 bl FUN_02051C88 mov r0, #0x26 str r0, [r4, #0x34] b _020517B8 _02051614: add r0, r4, #0x0 bl FUN_02051D54 cmp r0, #0x1 beq _02051642 cmp r0, #0x2 bne _0205168E add r0, r4, #0x0 bl FUN_02051E24 ldr r0, [r4, #0x2c] ldr r2, [r4, #0xc] mov r1, #0x11 bl FUN_0200A8E0 ldr r1, [r4, #0xc] add r0, r4, #0x0 bl FUN_020517C0 str r0, [r4, #0x30] mov r0, #0x1f str r0, [r4, #0x34] b _020517B8 _02051642: mov r0, #0x81 ldrsb r0, [r4, r0] cmp r0, #0x1 bne _0205167A add r0, r4, #0x0 bl FUN_02051E24 ldr r0, [r4, #0x2c] ldr r2, [r4, #0xc] mov r1, #0xe bl FUN_0200A8E0 ldr r0, [r4, #0x28] ldr r1, [r4, #0x10] ldr r2, [r4, #0xc] bl FUN_0200B7B8 ldr r1, [r4, #0x10] add r0, r4, #0x0 bl FUN_020517C0 str r0, [r4, #0x30] mov r0, #0x2 bl FUN_02031588 mov r0, #0x27 str r0, [r4, #0x34] b _020517B8 _0205167A: mov r0, #0x0 bl FUN_021D7CA4 mov r0, #0x21 str r0, [r4, #0x34] b _020517B8 _02051686: bl FUN_0200E308 cmp r0, #0x0 bne _02051690 _0205168E: b _020517B8 _02051690: add r0, r4, #0x0 mov r1, #0x0 bl FUN_02051810 mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0xb str r0, [sp, #0x4] add r3, r4, #0x0 add r3, #0x84 ldrb r3, [r3, #0x0] ldr r1, [r4, #0x24] ldr r2, [r4, #0x50] add r0, r4, #0x0 bl FUN_02050E48 mov r0, #0x22 str r0, [r4, #0x34] b _020517B8 _020516B6: ldr r1, [r4, #0x24] add r0, r4, #0x0 bl FUN_02051020 cmp r0, #0x0 beq _020517B8 ldr r0, [r4, #0x24] bl FUN_0204649C mov r0, #0x23 str r0, [r4, #0x34] b _020517B8 _020516CE: add r0, r4, #0x0 bl FUN_0205104C cmp r0, #0x0 beq _020517B8 mov r0, #0x24 str r0, [r4, #0x34] b _020517B8 _020516DE: ldr r0, [r4, #0x30] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_020546C8 cmp r0, #0x0 beq _020517B8 mov r0, #0x2 bl FUN_020315D8 cmp r0, #0x0 beq _020517B8 add r0, r4, #0x0 bl FUN_02051AA4 mov r0, #0x29 str r0, [r4, #0x34] b _020517B8 _02051702: add r0, r4, #0x0 bl FUN_02051AE0 cmp r0, #0x0 beq _020517B8 add r0, r4, #0x0 add r0, #0x84 ldrb r0, [r0, #0x0] cmp r0, #0xff bne _02051722 mov r0, #0x4 bl FUN_02031588 mov r0, #0x2c str r0, [r4, #0x34] b _020517B8 _02051722: add r0, r4, #0x0 add r0, #0x85 ldrb r0, [r0, #0x0] cmp r0, #0xff bne _02051732 mov r0, #0x2a str r0, [r4, #0x34] b _020517B8 _02051732: add r0, r4, #0x0 bl FUN_02051B1C mov r0, #0x5d bl FUN_02031588 mov r0, #0x2 str r0, [r4, #0x34] b _020517B8 _02051744: ldr r0, [r4, #0x2c] ldr r2, [r4, #0xc] mov r1, #0xf bl FUN_0200A8E0 ldr r1, [r4, #0xc] add r0, r4, #0x0 bl FUN_020517C0 str r0, [r4, #0x30] add r0, r4, #0x0 mov r1, #0x0 add r0, #0x43 strb r1, [r0, #0x0] mov r0, #0x2b str r0, [r4, #0x34] b _020517B8 _02051766: ldr r0, [r4, #0x30] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_020546C8 cmp r0, #0x0 beq _020517B8 add r0, r4, #0x0 add r0, #0x43 ldrb r0, [r0, #0x0] add r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x43 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x43 ldrb r0, [r0, #0x0] cmp r0, #0x3c bls _020517B8 mov r0, #0x4 bl FUN_02031588 mov r0, #0x2c str r0, [r4, #0x34] b _020517B8 _02051798: mov r0, #0x4 bl FUN_020315D8 cmp r0, #0x0 beq _020517B8 add r0, r4, #0x0 add r0, #0x14 mov r1, #0x0 bl FUN_0200D0E0 mov r0, #0x0 ldr r2, [r4, #0x8] add r1, r0, #0x0 blx r2 mov r0, #0x5 str r0, [r4, #0x34] _020517B8: mov r0, #0x0 add sp, #0x8 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020517C0 FUN_020517C0: ; 0x020517C0 push {r4-r6, lr} add r5, r0, #0x0 add r4, r5, #0x0 add r4, #0x14 add r0, r4, #0x0 add r6, r1, #0x0 bl FUN_02019048 cmp r0, #0x0 bne _020517F2 ldr r0, [r5, #0x24] add r1, r4, #0x0 ldr r0, [r0, #0x8] mov r2, #0x3 bl FUN_020545B8 ldr r0, [r5, #0x24] ldr r0, [r0, #0xc] bl LoadPlayerDataAddress add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02054608 b _020517F8 _020517F2: add r0, r4, #0x0 bl FUN_0205464C _020517F8: ldr r0, [r5, #0x24] ldr r0, [r0, #0xc] bl LoadPlayerDataAddress add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x1 bl FUN_02054658 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02051810 FUN_02051810: ; 0x02051810 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x14 add r4, r1, #0x0 bl FUN_02019048 cmp r0, #0x0 beq _02051846 cmp r4, #0x0 beq _02051836 add r0, r5, #0x0 add r0, #0x14 mov r1, #0x0 bl FUN_0200D0E0 add r0, r5, #0x0 add r0, #0x14 bl FUN_02019570 _02051836: add r0, r5, #0x0 add r0, #0x14 bl FUN_02019178 add r0, r5, #0x0 add r0, #0x14 bl FUN_0201901C _02051846: add r0, r5, #0x0 add r0, #0x54 bl FUN_02019048 cmp r0, #0x0 beq _02051862 add r0, r5, #0x0 add r0, #0x54 bl FUN_02019178 add r0, r5, #0x0 add r0, #0x54 bl FUN_0201901C _02051862: add r0, r5, #0x0 add r0, #0x64 bl FUN_02019048 cmp r0, #0x0 beq _0205187E add r0, r5, #0x0 add r0, #0x64 bl FUN_02019178 add r5, #0x64 add r0, r5, #0x0 bl FUN_0201901C _0205187E: pop {r3-r5, pc} thumb_func_start FUN_02051880 FUN_02051880: ; 0x02051880 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x10] add r6, r1, #0x0 cmp r0, #0x0 beq _0205188E b _02051992 _0205188E: mov r0, #0xb mov r1, #0x8c bl FUN_020169D8 add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x8c blx MI_CpuFill8 add r0, r4, #0x0 mov r1, #0x5 add r0, #0x43 strb r1, [r0, #0x0] str r5, [r4, #0x24] str r6, [r4, #0x8] mov r0, #0xb bl FUN_0200AA80 str r0, [r4, #0x28] mov r0, #0x0 mov r1, #0x1a mov r2, #0x9 mov r3, #0xb bl FUN_0200A86C str r0, [r4, #0x2c] mov r0, #0xc8 mov r1, #0xb bl FUN_020219F4 str r0, [r4, #0xc] mov r0, #0xc8 mov r1, #0xb bl FUN_020219F4 str r0, [r4, #0x10] add r0, r4, #0x0 add r0, #0x14 bl FUN_0201901C add r0, r4, #0x0 add r0, #0x54 bl FUN_0201901C add r0, r4, #0x0 add r0, #0x64 bl FUN_0201901C mov r0, #0xb bl FUN_02013690 str r0, [r4, #0x78] bl FUN_02033534 add r1, r4, #0x0 add r1, #0x88 strb r0, [r1, #0x0] mov r1, #0x0 str r1, [r4, #0x4c] str r1, [r4, #0x48] add r0, r4, #0x0 str r1, [r4, #0x50] add r0, #0x89 strb r1, [r0, #0x0] bl FUN_02031190 add r1, r4, #0x0 add r1, #0x86 strh r0, [r1, #0x0] add r0, r4, #0x0 add r0, #0x86 ldrh r1, [r0, #0x0] mov r0, #0x1 eor r0, r1 bl FUN_0202DFA4 str r0, [r4, #0x74] add r0, r4, #0x0 add r0, #0x88 ldrb r0, [r0, #0x0] cmp r0, #0x3 beq _02051938 cmp r0, #0x4 beq _0205196E b _02051974 _02051938: bl FUN_02051E54 add r6, r0, #0x0 mov r0, #0xb add r1, r6, #0x0 bl FUN_020169D8 str r0, [r4, #0x4c] mov r0, #0xb add r1, r6, #0x0 bl FUN_020169D8 str r0, [r4, #0x48] mov r0, #0xb bl FUN_0206B8AC mov r1, #0x3 str r0, [r4, #0x50] bl FUN_0206B8CC add r0, r4, #0x0 mov r1, #0x5 add r0, #0x44 strb r1, [r0, #0x0] mov r0, #0x17 str r0, [r4, #0x34] b _02051988 _0205196E: mov r0, #0x9 str r0, [r4, #0x34] b _02051988 _02051974: ldr r0, [r4, #0x24] add r0, #0xac ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02051984 mov r0, #0x9 str r0, [r4, #0x34] b _02051988 _02051984: mov r0, #0x0 str r0, [r4, #0x34] _02051988: ldr r1, _02051994 ; =FUN_02051094 add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_020463CC _02051992: pop {r4-r6, pc} .balign 4 _02051994: .word FUN_02051094 thumb_func_start FUN_02051998 FUN_02051998: ; 0x02051998 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x50] cmp r0, #0x0 beq _020519A6 bl FUN_02016A18 _020519A6: ldr r0, [r4, #0x4c] cmp r0, #0x0 beq _020519B0 bl FUN_02016A18 _020519B0: ldr r0, [r4, #0x48] cmp r0, #0x0 beq _020519BA bl FUN_02016A18 _020519BA: ldr r0, [r4, #0x2c] bl FUN_0200A8B8 ldr r0, [r4, #0x28] bl FUN_0200AB18 ldr r0, [r4, #0xc] bl FUN_02021A20 ldr r0, [r4, #0x10] bl FUN_02021A20 ldr r0, [r4, #0x78] bl FUN_020136C0 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02051810 pop {r4, pc} .balign 4 thumb_func_start FUN_020519E4 FUN_020519E4: ; 0x020519E4 ldr r3, _020519EC ; =FUN_0204652C ldr r0, [r0, #0x10] bx r3 nop _020519EC: .word FUN_0204652C thumb_func_start FUN_020519F0 FUN_020519F0: ; 0x020519F0 push {r3-r7, lr} add r7, r0, #0x0 ldr r0, [r7, #0x24] add r5, r1, #0x0 ldr r0, [r0, #0xc] bl FUN_0206BB1C str r0, [sp, #0x0] ldr r4, [r7, #0x4c] bl FUN_020690C4 add r6, r0, #0x0 lsl r0, r6, #0x1 add r0, r6, r0 str r5, [r4, r0] ldr r0, [r4, r0] cmp r0, #0x0 beq _02051A34 mov r5, #0x0 _02051A16: add r1, r7, r5 add r1, #0x3d ldrb r1, [r1, #0x0] ldr r0, [sp, #0x0] sub r1, r1, #0x1 bl FUN_0206B9B0 add r1, r4, #0x0 add r2, r6, #0x0 blx MI_CpuCopy8 add r5, r5, #0x1 add r4, r4, r6 cmp r5, #0x3 blt _02051A16 _02051A34: pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02051A38 FUN_02051A38: ; 0x02051A38 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x89 ldrb r1, [r0, #0x0] mov r0, #0x1 tst r1, r0 bne _02051A7C ldr r4, [r5, #0x4c] bl FUN_02051E54 add r2, r0, #0x0 add r0, r5, #0x0 add r0, #0x86 ldrh r0, [r0, #0x0] cmp r0, #0x0 bne _02051A62 mov r0, #0x6a add r1, r4, #0x0 bl FUN_02030B3C b _02051A6A _02051A62: mov r0, #0x6a add r1, r4, #0x0 bl FUN_02030A78 _02051A6A: cmp r0, #0x0 beq _02051A7C add r1, r5, #0x0 add r1, #0x89 ldrb r2, [r1, #0x0] mov r1, #0x1 add r5, #0x89 orr r1, r2 strb r1, [r5, #0x0] _02051A7C: pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02051A80 FUN_02051A80: ; 0x02051A80 add r0, #0x89 ldrb r0, [r0, #0x0] cmp r0, #0x3 bne _02051A8C mov r0, #0x1 bx lr _02051A8C: mov r0, #0x0 bx lr thumb_func_start FUN_02051A90 FUN_02051A90: ; 0x02051A90 push {r4, lr} add r4, r0, #0x0 bl FUN_020690C4 lsl r1, r0, #0x1 ldr r2, [r4, #0x48] add r0, r0, r1 ldr r0, [r2, r0] pop {r4, pc} .balign 4 thumb_func_start FUN_02051AA4 FUN_02051AA4: ; 0x02051AA4 push {r4, lr} add r4, r0, #0x0 add r0, #0x86 ldrh r0, [r0, #0x0] cmp r0, #0x0 bne _02051ABE add r1, r4, #0x0 mov r0, #0x6b add r1, #0x84 mov r2, #0x1 bl FUN_02030BC4 b _02051ACA _02051ABE: add r1, r4, #0x0 mov r0, #0x6b add r1, #0x84 mov r2, #0x1 bl FUN_02030ADC _02051ACA: cmp r0, #0x0 beq _02051ADC add r1, r4, #0x0 add r1, #0x89 ldrb r2, [r1, #0x0] mov r1, #0x1 add r4, #0x89 orr r1, r2 strb r1, [r4, #0x0] _02051ADC: pop {r4, pc} .balign 4 thumb_func_start FUN_02051AE0 FUN_02051AE0: ; 0x02051AE0 add r0, #0x89 ldrb r0, [r0, #0x0] cmp r0, #0x3 bne _02051AEC mov r0, #0x1 bx lr _02051AEC: mov r0, #0x0 bx lr thumb_func_start FUN_02051AF0 FUN_02051AF0: ; 0x02051AF0 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_020690C4 add r6, r0, #0x0 ldr r0, [r5, #0x50] mov r1, #0x3 bl FUN_0206B8CC mov r4, #0x0 _02051B04: add r1, r4, #0x0 ldr r2, [r5, #0x48] mul r1, r6 ldr r0, [r5, #0x50] add r1, r2, r1 bl FUN_0206B900 add r4, r4, #0x1 cmp r4, #0x3 blt _02051B04 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02051B1C FUN_02051B1C: ; 0x02051B1C push {r4-r6, lr} add r6, r0, #0x0 bl FUN_020690C4 add r4, r0, #0x0 add r0, r6, #0x0 add r0, #0x84 ldrb r0, [r0, #0x0] ldr r2, [r6, #0x48] ldr r3, [r6, #0x4c] add r1, r0, #0x0 mul r1, r4 add r0, r2, r1 add r1, r6, #0x0 add r1, #0x85 ldrb r1, [r1, #0x0] add r2, r1, #0x0 mul r2, r4 add r1, r3, r2 add r2, r4, #0x0 blx MI_CpuCopy8 ldr r0, [r6, #0x50] mov r1, #0x3 bl FUN_0206B8CC mov r5, #0x0 _02051B52: add r1, r5, #0x0 ldr r2, [r6, #0x4c] mul r1, r4 ldr r0, [r6, #0x50] add r1, r2, r1 bl FUN_0206B900 add r5, r5, #0x1 cmp r5, #0x3 blt _02051B52 pop {r4-r6, pc} thumb_func_start FUN_02051B68 FUN_02051B68: ; 0x02051B68 push {r4-r7, lr} sub sp, #0x24 add r5, r0, #0x0 str r0, [sp, #0x20] add r0, #0x54 str r1, [sp, #0x14] str r0, [sp, #0x20] bl FUN_02019048 cmp r0, #0x0 bne _02051C34 ldr r2, _02051C84 ; =0x0000016A mov r0, #0x1 mov r1, #0x1a mov r3, #0x4 bl FUN_0200A86C str r0, [sp, #0x18] bl FUN_020690C4 str r0, [sp, #0x1c] mov r0, #0x9 str r0, [sp, #0x0] mov r1, #0xa str r1, [sp, #0x4] mov r0, #0x8 str r0, [sp, #0x8] mov r0, #0xd str r0, [sp, #0xc] str r1, [sp, #0x10] ldr r0, [r5, #0x24] ldr r1, [sp, #0x20] ldr r0, [r0, #0x8] mov r2, #0x3 mov r3, #0x15 bl FUN_02019064 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x4 str r0, [sp, #0x4] ldr r0, [r5, #0x24] mov r1, #0x3 ldr r0, [r0, #0x8] mov r2, #0x1 mov r3, #0xb bl FUN_0200CB00 ldr r0, [sp, #0x20] mov r1, #0xf bl FUN_02019620 mov r7, #0x0 add r6, r7, #0x0 add r4, r7, #0x0 _02051BD6: ldr r0, [r5, #0x48] mov r1, #0x5 add r0, r0, r6 mov r2, #0x0 bl FUN_020671BC add r1, r0, #0x0 ldr r0, [sp, #0x18] ldr r2, [r5, #0xc] bl FUN_0200A8E0 str r4, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] ldr r0, [sp, #0x20] ldr r2, [r5, #0xc] mov r1, #0x0 mov r3, #0x10 bl FUN_0201BD84 ldr r0, [sp, #0x1c] add r7, r7, #0x1 add r6, r6, r0 add r4, #0x10 cmp r7, #0x3 blt _02051BD6 ldr r0, [r5, #0x2c] ldr r2, [r5, #0xc] mov r1, #0x15 bl FUN_0200A8E0 lsl r0, r7, #0x4 str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] mov r1, #0x0 str r1, [sp, #0x8] ldr r0, [sp, #0x20] ldr r2, [r5, #0xc] mov r3, #0x10 bl FUN_0201BD84 ldr r0, [sp, #0x18] bl FUN_0200A8B8 _02051C34: mov r0, #0x10 str r0, [sp, #0x0] ldr r0, [sp, #0x20] mov r2, #0x0 ldrb r0, [r0, #0x8] mov r1, #0xf add r3, r2, #0x0 lsl r0, r0, #0x13 lsr r0, r0, #0x10 str r0, [sp, #0x4] ldr r0, [sp, #0x20] bl FUN_020196F4 ldr r3, [sp, #0x14] add r1, r5, #0x0 ldr r0, [r5, #0x78] add r1, #0x54 mov r2, #0x0 lsl r3, r3, #0x4 bl FUN_020136F8 add r0, r5, #0x0 add r0, #0x54 mov r1, #0x0 mov r2, #0x1 mov r3, #0xb bl FUN_0200CCA4 add r1, r5, #0x0 ldr r0, [sp, #0x14] add r1, #0x81 strb r0, [r1, #0x0] add r0, r5, #0x0 mov r1, #0x4 add r0, #0x80 strb r1, [r0, #0x0] ldr r0, [sp, #0x20] str r0, [r5, #0x7c] add sp, #0x24 pop {r4-r7, pc} .balign 4 _02051C84: .word 0x0000016A thumb_func_start FUN_02051C88 FUN_02051C88: ; 0x02051C88 push {r3-r7, lr} sub sp, #0x18 add r5, r0, #0x0 add r7, r5, #0x0 add r7, #0x64 add r0, r7, #0x0 str r1, [sp, #0x14] bl FUN_02019048 cmp r0, #0x0 bne _02051D0A mov r0, #0xb str r0, [sp, #0x0] str r0, [sp, #0x4] mov r0, #0x6 str r0, [sp, #0x8] mov r0, #0xd str r0, [sp, #0xc] mov r0, #0x5a str r0, [sp, #0x10] ldr r0, [r5, #0x24] add r1, r7, #0x0 ldr r0, [r0, #0x8] mov r2, #0x3 mov r3, #0x14 bl FUN_02019064 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x4 str r0, [sp, #0x4] ldr r0, [r5, #0x24] mov r1, #0x3 ldr r0, [r0, #0x8] mov r2, #0x1 mov r3, #0xb bl FUN_0200CB00 add r0, r7, #0x0 mov r1, #0xf bl FUN_02019620 mov r6, #0x0 add r4, r6, #0x0 _02051CE0: add r1, r6, #0x0 ldr r0, [r5, #0x2c] ldr r2, [r5, #0xc] add r1, #0x16 bl FUN_0200A8E0 str r4, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] ldr r2, [r5, #0xc] add r0, r7, #0x0 mov r1, #0x0 mov r3, #0x10 bl FUN_0201BD84 add r6, r6, #0x1 add r4, #0x10 cmp r6, #0x3 blt _02051CE0 _02051D0A: add r0, r5, #0x0 mov r1, #0x3 add r0, #0x80 strb r1, [r0, #0x0] add r1, r5, #0x0 ldr r0, [sp, #0x14] str r7, [r5, #0x7c] add r1, #0x81 strb r0, [r1, #0x0] mov r0, #0x10 str r0, [sp, #0x0] ldrb r0, [r7, #0x8] mov r2, #0x0 mov r1, #0xf lsl r0, r0, #0x13 lsr r0, r0, #0x10 str r0, [sp, #0x4] add r0, r7, #0x0 add r3, r2, #0x0 bl FUN_020196F4 ldr r3, [sp, #0x14] ldr r0, [r5, #0x78] ldr r1, [r5, #0x7c] mov r2, #0x0 lsl r3, r3, #0x4 bl FUN_020136F8 ldr r0, [r5, #0x7c] mov r1, #0x0 mov r2, #0x1 mov r3, #0xb bl FUN_0200CCA4 add sp, #0x18 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02051D54 FUN_02051D54: ; 0x02051D54 push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 ldr r0, _02051E1C ; =0x021C48B8 mov r1, #0x40 ldr r0, [r0, #0x48] tst r1, r0 beq _02051D7E mov r0, #0x81 ldrsb r0, [r4, r0] cmp r0, #0x0 bne _02051D74 add r0, r4, #0x0 add r0, #0x80 ldrb r0, [r0, #0x0] b _02051D74 _02051D74: sub r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x81 strb r1, [r0, #0x0] b _02051DE0 _02051D7E: mov r1, #0x80 tst r1, r0 beq _02051DA2 mov r0, #0x81 ldrsb r1, [r4, r0] add r0, r4, #0x0 add r0, #0x80 ldrb r0, [r0, #0x0] sub r0, r0, #0x1 cmp r1, r0 bne _02051D98 mov r1, #0x0 b _02051D9A _02051D98: add r1, r1, #0x1 _02051D9A: add r0, r4, #0x0 add r0, #0x81 strb r1, [r0, #0x0] b _02051DE0 _02051DA2: mov r1, #0x1 tst r1, r0 beq _02051DC8 ldr r0, _02051E20 ; =0x000005DC bl FUN_020054C8 mov r0, #0x81 ldrsb r1, [r4, r0] add r4, #0x80 ldrb r0, [r4, #0x0] sub r0, r0, #0x1 cmp r1, r0 bge _02051DC2 add sp, #0x8 mov r0, #0x1 pop {r4, pc} _02051DC2: add sp, #0x8 mov r0, #0x2 pop {r4, pc} _02051DC8: mov r1, #0x2 tst r0, r1 beq _02051DDA ldr r0, _02051E20 ; =0x000005DC bl FUN_020054C8 add sp, #0x8 mov r0, #0x2 pop {r4, pc} _02051DDA: add sp, #0x8 mov r0, #0x0 pop {r4, pc} _02051DE0: ldr r0, _02051E20 ; =0x000005DC bl FUN_020054C8 ldr r0, [r4, #0x7c] mov r1, #0x10 str r1, [sp, #0x0] ldrb r1, [r0, #0x8] mov r2, #0x0 add r3, r2, #0x0 lsl r1, r1, #0x13 lsr r1, r1, #0x10 str r1, [sp, #0x4] mov r1, #0xf bl FUN_020196F4 mov r3, #0x81 ldrsb r3, [r4, r3] ldr r0, [r4, #0x78] ldr r1, [r4, #0x7c] mov r2, #0x0 lsl r3, r3, #0x4 bl FUN_020136F8 ldr r0, [r4, #0x7c] bl FUN_02019548 mov r0, #0x0 add sp, #0x8 pop {r4, pc} nop _02051E1C: .word 0x021C48B8 _02051E20: .word 0x000005DC thumb_func_start FUN_02051E24 FUN_02051E24: ; 0x02051E24 ldr r3, _02051E2C ; =FUN_0200CCF8 ldr r0, [r0, #0x7c] mov r1, #0x1 bx r3 .balign 4 _02051E2C: .word FUN_0200CCF8 thumb_func_start FUN_02051E30 FUN_02051E30: ; 0x02051E30 push {r4, lr} add r4, r0, #0x0 add r0, r3, #0x0 bl FUN_020519E4 add r1, r0, #0x0 add r1, #0x86 ldrh r1, [r1, #0x0] cmp r1, r4 beq _02051E52 add r1, r0, #0x0 add r1, #0x89 ldrb r2, [r1, #0x0] mov r1, #0x2 add r0, #0x89 orr r1, r2 strb r1, [r0, #0x0] _02051E52: pop {r4, pc} thumb_func_start FUN_02051E54 FUN_02051E54: ; 0x02051E54 push {r3, lr} bl FUN_020690C4 lsl r1, r0, #0x1 add r0, r0, r1 add r0, r0, #0x4 pop {r3, pc} .balign 4 thumb_func_start FUN_02051E64 FUN_02051E64: ; 0x02051E64 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 bl FUN_020519E4 add r1, r0, #0x0 add r1, #0x86 ldrh r1, [r1, #0x0] cmp r1, r4 beq _02051E7C ldr r0, [r0, #0x48] pop {r4, pc} _02051E7C: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_02051E80 FUN_02051E80: ; 0x02051E80 push {r3-r5, lr} add r5, r0, #0x0 add r0, r3, #0x0 add r4, r2, #0x0 bl FUN_020519E4 add r1, r0, #0x0 add r1, #0x86 ldrh r1, [r1, #0x0] cmp r1, r5 beq _02051EAC ldrb r2, [r4, #0x0] add r1, r0, #0x0 add r1, #0x85 strb r2, [r1, #0x0] add r1, r0, #0x0 add r1, #0x89 ldrb r2, [r1, #0x0] mov r1, #0x2 add r0, #0x89 orr r1, r2 strb r1, [r0, #0x0] _02051EAC: pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02051EB0 FUN_02051EB0: ; 0x02051EB0 push {r4-r6, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 mov r1, #0x0 ldr r0, [r4, #0x24] add r2, r1, #0x0 bl FUN_02050BF8 add r6, r0, #0x0 ldr r0, [r4, #0x28] cmp r0, #0x7 bls _02051ED6 b _02052036 _02051ED6: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02051EE2: ; jump table (using 16-bit offset) .short _02051EF2 - _02051EE2 - 2; case 0 .short _02051F7C - _02051EE2 - 2; case 1 .short _02051FCC - _02051EE2 - 2; case 2 .short _02051FDC - _02051EE2 - 2; case 3 .short _02051FEC - _02051EE2 - 2; case 4 .short _02051FFE - _02051EE2 - 2; case 5 .short _0205200C - _02051EE2 - 2; case 6 .short _02052028 - _02051EE2 - 2; case 7 _02051EF2: mov r0, #0x4 bl FUN_0200AA80 str r0, [r4, #0x18] mov r0, #0x0 mov r1, #0x1a mov r2, #0x9 mov r3, #0x4 bl FUN_0200A86C str r0, [r4, #0x1c] mov r0, #0xc8 mov r1, #0x4 bl FUN_020219F4 str r0, [r4, #0x0] mov r0, #0xc8 mov r1, #0x4 bl FUN_020219F4 str r0, [r4, #0x4] ldrb r1, [r6, #0x3] ldr r0, [r4, #0x1c] ldr r2, [r4, #0x0] add r1, r1, #0x2 bl FUN_0200A8E0 ldr r0, [r4, #0x24] bl FUN_0202DFA4 add r2, r0, #0x0 ldr r0, [r4, #0x18] mov r1, #0x0 bl FUN_0200ABC0 ldr r0, [r4, #0x18] ldr r1, [r4, #0x4] ldr r2, [r4, #0x0] bl FUN_0200B7B8 add r1, r4, #0x0 ldr r0, [r5, #0x8] add r1, #0x8 mov r2, #0x3 bl FUN_020545B8 ldr r0, [r5, #0xc] bl LoadPlayerDataAddress add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x8 bl FUN_02054608 ldr r0, [r5, #0xc] bl LoadPlayerDataAddress add r2, r0, #0x0 add r0, r4, #0x0 ldr r1, [r4, #0x4] add r0, #0x8 mov r3, #0x1 bl FUN_02054658 str r0, [r4, #0x20] ldr r0, [r4, #0x28] add r0, r0, #0x1 str r0, [r4, #0x28] b _0205203A _02051F7C: ldr r0, [r4, #0x20] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_020546C8 cmp r0, #0x0 beq _0205203A ldr r0, _02052040 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x1 tst r0, r1 beq _0205203A ldr r0, [r4, #0x1c] bl FUN_0200A8B8 ldr r0, [r4, #0x18] bl FUN_0200AB18 ldr r0, [r4, #0x0] bl FUN_02021A20 ldr r0, [r4, #0x4] bl FUN_02021A20 add r0, r4, #0x0 add r0, #0x8 mov r1, #0x0 bl FUN_0200D0E0 add r0, r4, #0x0 add r0, #0x8 bl FUN_02019178 mov r0, #0x0 bl FUN_021D7CA4 ldr r0, [r4, #0x28] add r0, r0, #0x1 str r0, [r4, #0x28] b _0205203A _02051FCC: bl FUN_0200E308 cmp r0, #0x0 beq _0205203A ldr r0, [r4, #0x28] add r0, r0, #0x1 str r0, [r4, #0x28] b _0205203A _02051FDC: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02038680 ldr r0, [r4, #0x28] add r0, r0, #0x1 str r0, [r4, #0x28] b _0205203A _02051FEC: add r0, r5, #0x0 bl FUN_0204647C cmp r0, #0x0 bne _0205203A ldr r0, [r4, #0x28] add r0, r0, #0x1 str r0, [r4, #0x28] b _0205203A _02051FFE: add r0, r5, #0x0 bl FUN_0204649C ldr r0, [r4, #0x28] add r0, r0, #0x1 str r0, [r4, #0x28] b _0205203A _0205200C: add r0, r5, #0x0 bl FUN_020464A4 cmp r0, #0x0 bne _0205203A mov r0, #0x1 bl FUN_021D7CA4 bl FUN_0204CC9C ldr r0, [r4, #0x28] add r0, r0, #0x1 str r0, [r4, #0x28] b _0205203A _02052028: bl FUN_0204F7FC add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r4-r6, pc} _02052036: mov r0, #0x1 pop {r4-r6, pc} _0205203A: mov r0, #0x0 pop {r4-r6, pc} nop _02052040: .word 0x021C48B8 thumb_func_start FUN_02052044 FUN_02052044: ; 0x02052044 push {r3-r7, lr} str r0, [sp, #0x0] bl FUN_02031190 add r5, r0, #0x0 bl FUN_0204E4D4 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_0204E50C add r6, r0, #0x0 mov r4, #0x0 bl FUN_02030F20 cmp r0, #0x0 ble _020520A6 _02052066: cmp r4, r5 beq _0205209C add r0, r4, #0x0 bl FUN_0204E3EC cmp r7, r0 bne _0205209C add r0, r4, #0x0 bl FUN_0204E440 cmp r6, r0 bne _0205209C mov r0, #0xb mov r1, #0x2c bl FUN_020169D8 add r2, r0, #0x0 str r4, [r2, #0x24] mov r0, #0x0 str r0, [r2, #0x28] ldr r0, [sp, #0x0] ldr r1, _020520A8 ; =FUN_02051EB0 bl FUN_020463CC bl FUN_02037760 pop {r3-r7, pc} _0205209C: add r4, r4, #0x1 bl FUN_02030F20 cmp r4, r0 blt _02052066 _020520A6: pop {r3-r7, pc} .balign 4 _020520A8: .word FUN_02051EB0 thumb_func_start FUN_020520AC FUN_020520AC: ; 0x020520AC push {r3-r5, lr} add r4, r0, #0x0 bne _020520B6 bl ErrorHandling _020520B6: ldr r0, [r4, #0x78] cmp r0, #0x0 beq _020520C0 mov r0, #0x0 pop {r3-r5, pc} _020520C0: mov r2, #0x2a mov r0, #0x3 mov r1, #0x1f lsl r2, r2, #0x6 bl FUN_02016828 add r0, r4, #0x0 bl FUN_02052110 add r5, r0, #0x0 bne _020520D8 ldr r5, [r4, #0x78] _020520D8: add r0, r4, #0x0 bl FUN_0208881C mov r0, #0x2 bl FUN_02032B6C ldr r1, _020520F4 ; =FUN_02052178 add r0, r5, #0x0 mov r2, #0x28 bl FUN_02052300 add r0, r5, #0x0 pop {r3-r5, pc} nop _020520F4: .word FUN_02052178 thumb_func_start FUN_020520F8 FUN_020520F8: ; 0x020520F8 push {r3, lr} ldr r0, [r0, #0x78] cmp r0, #0x0 beq _02052108 ldr r1, _0205210C ; =FUN_02052348 mov r2, #0x5 bl FUN_02052300 _02052108: pop {r3, pc} nop _0205210C: .word FUN_02052348 thumb_func_start FUN_02052110 FUN_02052110: ; 0x02052110 push {r4-r6, lr} add r5, r0, #0x0 ldr r1, [r5, #0x78] cmp r1, #0x0 beq _0205211E mov r0, #0x0 pop {r4-r6, pc} _0205211E: bl FUN_020377AC add r6, r0, #0x0 bl FUN_02031A7C mov r1, #0x19 mov r0, #0x1f lsl r1, r1, #0x4 bl FUN_02016998 mov r2, #0x19 mov r1, #0x0 lsl r2, r2, #0x4 add r4, r0, #0x0 blx MI_CpuFill8 mov r0, #0x0 str r0, [r4, #0x10] mov r0, #0x28 str r0, [r4, #0x14] ldr r0, _02052174 ; =FUN_02052308 add r1, r4, #0x0 mov r2, #0xa bl FUN_0200CA44 str r0, [r4, #0xc] str r5, [r4, #0x0] str r6, [r4, #0x4] add r0, r6, #0x0 bl FUN_020238F4 str r0, [r4, #0x8] add r0, r4, #0x0 bl FUN_02052E1C mov r0, #0x15 lsl r0, r0, #0x4 add r0, r4, r0 bl FUN_020312BC add r0, r4, #0x0 pop {r4-r6, pc} nop _02052174: .word FUN_02052308 thumb_func_start FUN_02052178 FUN_02052178: ; 0x02052178 push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 bl FUN_0202EDF8 cmp r0, #0x0 beq _020521A4 add r0, sp, #0x0 bl FUN_02013754 add r0, sp, #0x0 bl FUN_02052DE8 add r0, r4, #0x0 add r1, sp, #0x0 bl FUN_02052CD8 ldr r1, _020521A8 ; =FUN_020521AC add r0, r4, #0x0 mov r2, #0x28 bl FUN_02052300 _020521A4: add sp, #0x8 pop {r4, pc} .balign 4 _020521A8: .word FUN_020521AC thumb_func_start FUN_020521AC FUN_020521AC: ; 0x020521AC push {r4, lr} add r4, r0, #0x0 bl FUN_02031B2C cmp r0, #0x0 beq _020521C8 ldr r0, _02052208 ; =0x021C5A70 mov r2, #0x0 str r2, [r0, #0x0] ldr r1, _0205220C ; =FUN_0205225C add r0, r4, #0x0 bl FUN_02052300 pop {r4, pc} _020521C8: ldr r0, [r4, #0x20] cmp r0, #0x0 beq _02052206 mov r0, #0x2 str r0, [r4, #0x28] ldr r0, [r4, #0x20] cmp r0, #0x1 bne _020521EC ldr r0, [r4, #0x30] cmp r0, #0x5 ldr r0, [r4, #0x18] bne _020521E6 bl FUN_020328F4 b _020521FC _020521E6: bl FUN_02031AC8 b _020521FC _020521EC: cmp r0, #0x2 bne _020521FC mov r0, #0x0 bl FUN_02083D48 ldr r0, [r4, #0x18] bl FUN_020328C0 _020521FC: ldr r1, _02052210 ; =FUN_02052380 add r0, r4, #0x0 mov r2, #0xc bl FUN_02052300 _02052206: pop {r4, pc} .balign 4 _02052208: .word 0x021C5A70 _0205220C: .word FUN_0205225C _02052210: .word FUN_02052380 thumb_func_start FUN_02052214 FUN_02052214: ; 0x02052214 push {r4, lr} add r4, r0, #0x0 bl FUN_02031BD0 cmp r0, #0x1 bne _02052230 ldr r0, [r4, #0x0] bl FUN_0208881C ldr r1, _02052234 ; =FUN_020521AC add r0, r4, #0x0 mov r2, #0x2 bl FUN_02052300 _02052230: pop {r4, pc} nop _02052234: .word FUN_020521AC thumb_func_start FUN_02052238 FUN_02052238: ; 0x02052238 push {r3-r5, lr} mov r5, #0x0 mov r4, #0x1 _0205223E: add r0, r4, #0x0 bl FUN_0202DFA4 cmp r0, #0x0 beq _0205224A add r5, r5, #0x1 _0205224A: add r4, r4, #0x1 cmp r4, #0x5 blt _0205223E cmp r5, #0x1 blt _02052258 mov r0, #0x1 pop {r3-r5, pc} _02052258: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0205225C FUN_0205225C: ; 0x0205225C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x14] cmp r0, #0x0 ble _0205226C sub r0, r0, #0x1 str r0, [r4, #0x14] pop {r4, pc} _0205226C: ldr r0, _020522C4 ; =0x021C5A70 ldr r1, [r0, #0x0] add r1, r1, #0x1 str r1, [r0, #0x0] bl FUN_020311E8 cmp r0, #0x0 beq _020522A0 bl FUN_02052238 cmp r0, #0x1 bne _020522A0 bl FUN_0202DBE0 mov r0, #0x1 add r1, r0, #0x0 bl FUN_020334E8 mov r0, #0xb bl FUN_02052B74 ldr r1, _020522C8 ; =FUN_020522D0 add r0, r4, #0x0 mov r2, #0x0 bl FUN_02052300 _020522A0: bl FUN_02031B2C cmp r0, #0x0 bne _020522C2 bl FUN_02031B50 add r0, r4, #0x0 bl FUN_02052E1C mov r0, #0x0 bl FUN_02052B74 ldr r1, _020522CC ; =FUN_02052214 add r0, r4, #0x0 mov r2, #0x2 bl FUN_02052300 _020522C2: pop {r4, pc} .balign 4 _020522C4: .word 0x021C5A70 _020522C8: .word FUN_020522D0 _020522CC: .word FUN_02052214 thumb_func_start FUN_020522D0 FUN_020522D0: ; 0x020522D0 push {r4, lr} add r4, r0, #0x0 bl FUN_020311E8 bl FUN_020311E8 cmp r0, #0x0 bne _020522FA bl FUN_02031B50 add r0, r4, #0x0 bl FUN_02052E1C mov r0, #0x0 bl FUN_02052B74 ldr r1, _020522FC ; =FUN_02052214 add r0, r4, #0x0 mov r2, #0x2 bl FUN_02052300 _020522FA: pop {r4, pc} .balign 4 _020522FC: .word FUN_02052214 thumb_func_start FUN_02052300 FUN_02052300: ; 0x02052300 str r1, [r0, #0x10] str r2, [r0, #0x14] bx lr .balign 4 thumb_func_start FUN_02052308 FUN_02052308: ; 0x02052308 push {r3-r7, lr} str r1, [sp, #0x0] cmp r1, #0x0 bne _02052316 bl FUN_0200CAB4 pop {r3-r7, pc} _02052316: mov r7, #0x11 ldr r5, _02052344 ; =0x021C5A7C mov r6, #0x0 add r4, r1, #0x0 lsl r7, r7, #0x4 _02052320: add r0, r6, #0x0 bl FUN_0202EF18 mov r1, #0x11 lsl r1, r1, #0x4 str r0, [r4, r1] ldr r0, [r4, r7] add r6, r6, #0x1 add r4, r4, #0x4 stmia r5!, {r0} cmp r6, #0x10 blt _02052320 ldr r0, [sp, #0x0] ldr r1, [r0, #0x10] cmp r1, #0x0 beq _02052342 blx r1 _02052342: pop {r3-r7, pc} .balign 4 _02052344: .word 0x021C5A7C thumb_func_start FUN_02052348 FUN_02052348: ; 0x02052348 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x14] cmp r0, #0x0 beq _02052358 sub r0, r0, #0x1 str r0, [r4, #0x14] pop {r4, pc} _02052358: bl FUN_02031BF4 ldr r1, _02052368 ; =FUN_0205236C add r0, r4, #0x0 mov r2, #0x0 bl FUN_02052300 pop {r4, pc} .balign 4 _02052368: .word FUN_0205236C thumb_func_start FUN_0205236C FUN_0205236C: ; 0x0205236C push {r4, lr} add r4, r0, #0x0 bl FUN_02030F40 cmp r0, #0x0 bne _0205237E add r0, r4, #0x0 bl FUN_020524A0 _0205237E: pop {r4, pc} thumb_func_start FUN_02052380 FUN_02052380: ; 0x02052380 push {r4, lr} add r4, r0, #0x0 bl FUN_02031AF4 cmp r0, #0x1 bne _0205239C bl FUN_0202DBE0 ldr r1, _020523D4 ; =FUN_02052410 add r0, r4, #0x0 mov r2, #0x3 bl FUN_02052300 pop {r4, pc} _0205239C: bl FUN_020311E8 cmp r0, #0x0 beq _020523B4 mov r2, #0x0 str r2, [r4, #0x20] mov r0, #0x3 str r0, [r4, #0x1c] ldr r1, _020523D8 ; =FUN_0205225C add r0, r4, #0x0 bl FUN_02052300 _020523B4: bl FUN_02031AF4 cmp r0, #0x0 beq _020523D2 ldr r1, _020523DC ; =FUN_020523E0 add r0, r4, #0x0 mov r2, #0x2 bl FUN_02052300 mov r1, #0x0 str r1, [r4, #0x24] mov r0, #0x2 str r0, [r4, #0x1c] str r1, [r4, #0x20] str r1, [r4, #0x44] _020523D2: pop {r4, pc} .balign 4 _020523D4: .word FUN_02052410 _020523D8: .word FUN_0205225C _020523DC: .word FUN_020523E0 thumb_func_start FUN_020523E0 FUN_020523E0: ; 0x020523E0 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_0204646C cmp r0, #0x0 bne _02052408 bl FUN_02031B50 add r0, r4, #0x0 bl FUN_02052E1C mov r0, #0x0 bl FUN_02052B74 ldr r1, _0205240C ; =FUN_02052214 add r0, r4, #0x0 mov r2, #0x2 bl FUN_02052300 _02052408: pop {r4, pc} nop _0205240C: .word FUN_02052214 thumb_func_start FUN_02052410 FUN_02052410: ; 0x02052410 push {r4, lr} add r4, r0, #0x0 bl FUN_02031AF4 cmp r0, #0x1 bne _02052444 bl FUN_02031190 bl FUN_0202DFA4 cmp r0, #0x0 beq _0205246C mov r1, #0x0 str r1, [r4, #0x20] mov r0, #0x1 str r0, [r4, #0x1c] str r1, [r4, #0x44] add r1, r0, #0x0 bl FUN_020334E8 ldr r1, _02052470 ; =FUN_02052478 add r0, r4, #0x0 mov r2, #0x3 bl FUN_02052300 pop {r4, pc} _02052444: bl FUN_02031AF4 cmp r0, #0x0 bne _0205246C bl FUN_02031B50 add r0, r4, #0x0 bl FUN_02052E1C ldr r1, _02052474 ; =FUN_02052214 add r0, r4, #0x0 mov r2, #0x2 bl FUN_02052300 mov r1, #0x0 str r1, [r4, #0x24] mov r0, #0x2 str r0, [r4, #0x1c] str r1, [r4, #0x20] str r1, [r4, #0x44] _0205246C: pop {r4, pc} nop _02052470: .word FUN_02052478 _02052474: .word FUN_02052214 thumb_func_start FUN_02052478 FUN_02052478: ; 0x02052478 push {r4, lr} add r4, r0, #0x0 bl FUN_02031AF4 cmp r0, #0x0 bne _02052498 bl FUN_02031B50 add r0, r4, #0x0 bl FUN_02052E1C ldr r1, _0205249C ; =FUN_02052214 add r0, r4, #0x0 mov r2, #0x2 bl FUN_02052300 _02052498: pop {r4, pc} nop _0205249C: .word FUN_02052214 thumb_func_start FUN_020524A0 FUN_020524A0: ; 0x020524A0 push {r4, lr} add r4, r0, #0x0 beq _020524B8 ldr r0, [r4, #0xc] bl FUN_0200CAB4 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1f bl FUN_020168D0 _020524B8: pop {r4, pc} .balign 4 thumb_func_start FUN_020524BC FUN_020524BC: ; 0x020524BC ldr r0, [r0, #0x0] bx lr thumb_func_start FUN_020524C0 FUN_020524C0: ; 0x020524C0 lsl r1, r1, #0x2 add r1, r0, r1 mov r0, #0x11 lsl r0, r0, #0x4 ldr r0, [r1, r0] bx lr thumb_func_start FUN_020524CC FUN_020524CC: ; 0x020524CC push {r4-r6, lr} add r5, r1, #0x0 add r4, r0, #0x0 sub r0, r5, #0x1 bl FUN_0202EF84 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_02052E10 cmp r6, #0x0 bne _020524E8 mov r0, #0x5 pop {r4-r6, pc} _020524E8: sub r0, r5, #0x1 lsl r0, r0, #0x2 add r1, r4, r0 mov r0, #0x11 lsl r0, r0, #0x4 ldr r1, [r1, r0] ldr r0, _02052540 ; =0x021C5A70 add r1, #0x50 add r1, #0x30 str r1, [r0, #0x4] ldrb r0, [r1, #0x1c] cmp r0, #0xb bhi _0205253A add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205250E: ; jump table (using 16-bit offset) .short _02052526 - _0205250E - 2; case 0 .short _0205252A - _0205250E - 2; case 1 .short _0205252E - _0205250E - 2; case 2 .short _02052532 - _0205250E - 2; case 3 .short _02052536 - _0205250E - 2; case 4 .short _02052536 - _0205250E - 2; case 5 .short _02052536 - _0205250E - 2; case 6 .short _02052536 - _0205250E - 2; case 7 .short _02052536 - _0205250E - 2; case 8 .short _0205253A - _0205250E - 2; case 9 .short _0205253A - _0205250E - 2; case 10 .short _02052536 - _0205250E - 2; case 11 _02052526: mov r0, #0x1 pop {r4-r6, pc} _0205252A: mov r0, #0x2 pop {r4-r6, pc} _0205252E: mov r0, #0x3 pop {r4-r6, pc} _02052532: mov r0, #0x4 pop {r4-r6, pc} _02052536: mov r0, #0x5 pop {r4-r6, pc} _0205253A: mov r0, #0x5 pop {r4-r6, pc} nop _02052540: .word 0x021C5A70 thumb_func_start FUN_02052544 FUN_02052544: ; 0x02052544 push {r4-r6, lr} add r6, r1, #0x0 add r4, r0, #0x0 sub r0, r6, #0x1 add r5, r2, #0x0 bl FUN_0202EF84 sub r0, r6, #0x1 lsl r1, r0, #0x2 add r2, r4, r1 mov r1, #0x11 lsl r1, r1, #0x4 ldr r2, [r2, r1] ldr r1, _02052600 ; =0x021C5A70 add r2, #0x50 add r2, #0x30 str r2, [r1, #0x4] ldrb r1, [r2, #0x1c] cmp r1, #0xb bhi _020525F8 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02052578: ; jump table (using 16-bit offset) .short _020525C6 - _02052578 - 2; case 0 .short _020525DC - _02052578 - 2; case 1 .short _020525AC - _02052578 - 2; case 2 .short _02052590 - _02052578 - 2; case 3 .short _020525F4 - _02052578 - 2; case 4 .short _020525F4 - _02052578 - 2; case 5 .short _020525F4 - _02052578 - 2; case 6 .short _020525F4 - _02052578 - 2; case 7 .short _020525F4 - _02052578 - 2; case 8 .short _020525F8 - _02052578 - 2; case 9 .short _020525F8 - _02052578 - 2; case 10 .short _020525F4 - _02052578 - 2; case 11 _02052590: cmp r5, #0x4 beq _02052598 mov r0, #0x5 pop {r4-r6, pc} _02052598: mov r1, #0x6 str r1, [r4, #0x30] str r0, [r4, #0x18] mov r0, #0x2 str r0, [r4, #0x20] mov r0, #0x0 str r0, [r4, #0x24] str r0, [r4, #0x1c] mov r0, #0x1 pop {r4-r6, pc} _020525AC: cmp r5, #0x3 beq _020525B4 mov r0, #0x5 pop {r4-r6, pc} _020525B4: mov r1, #0x5 str r1, [r4, #0x30] str r0, [r4, #0x18] mov r0, #0x1 str r0, [r4, #0x20] mov r1, #0x0 str r1, [r4, #0x24] str r1, [r4, #0x1c] pop {r4-r6, pc} _020525C6: cmp r5, #0x1 beq _020525CE mov r0, #0x5 pop {r4-r6, pc} _020525CE: str r0, [r4, #0x18] mov r0, #0x1 str r0, [r4, #0x20] mov r1, #0x0 str r1, [r4, #0x24] str r1, [r4, #0x1c] pop {r4-r6, pc} _020525DC: cmp r5, #0x2 beq _020525E4 mov r0, #0x5 pop {r4-r6, pc} _020525E4: str r0, [r4, #0x18] mov r0, #0x2 str r0, [r4, #0x20] mov r0, #0x0 str r0, [r4, #0x24] str r0, [r4, #0x1c] mov r0, #0x1 pop {r4-r6, pc} _020525F4: mov r0, #0x5 pop {r4-r6, pc} _020525F8: bl ErrorHandling mov r0, #0x0 pop {r4-r6, pc} .balign 4 _02052600: .word 0x021C5A70 thumb_func_start FUN_02052604 FUN_02052604: ; 0x02052604 ldr r0, [r0, #0x1c] bx lr thumb_func_start FUN_02052608 FUN_02052608: ; 0x02052608 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x44] cmp r0, #0x0 beq _02052616 mov r0, #0x7 pop {r4, pc} _02052616: bl FUN_02030F20 cmp r0, #0x2 bge _02052622 mov r0, #0x7 pop {r4, pc} _02052622: bl FUN_02031190 cmp r0, #0x0 bne _02052636 bl FUN_02031B2C cmp r0, #0x1 bne _02052642 ldr r0, [r4, #0x40] pop {r4, pc} _02052636: bl FUN_02031AF4 cmp r0, #0x1 bne _02052642 ldr r0, [r4, #0x40] pop {r4, pc} _02052642: mov r0, #0x7 pop {r4, pc} .balign 4 thumb_func_start FUN_02052648 FUN_02052648: ; 0x02052648 push {r4, lr} add r4, r0, #0x0 bl FUN_02031B2C cmp r0, #0x1 bne _02052658 ldr r0, [r4, #0x30] pop {r4, pc} _02052658: mov r0, #0x7 pop {r4, pc} thumb_func_start FUN_0205265C FUN_0205265C: ; 0x0205265C push {r3-r5, lr} add r5, r0, #0x0 add r4, r2, #0x0 add r0, sp, #0x0 strb r4, [r0, #0x2] cmp r1, #0x0 beq _02052670 cmp r1, #0x1 beq _02052688 pop {r3-r5, pc} _02052670: ldr r1, [r5, #0x44] cmp r1, #0x0 bne _020526B0 ldrb r0, [r0, #0x2] add r1, sp, #0x0 add r1, #0x2 str r0, [r5, #0x34] mov r0, #0x63 mov r2, #0x1 bl FUN_02030ADC pop {r3-r5, pc} _02052688: cmp r4, #0x0 bne _020526A0 ldr r1, [r5, #0x30] mov r2, #0x1 strb r1, [r0, #0x1] add r1, sp, #0x0 mov r0, #0x67 add r1, #0x1 bl FUN_02030BC4 str r4, [r5, #0x3c] pop {r3-r5, pc} _020526A0: mov r1, #0x7 strb r1, [r0, #0x0] mov r0, #0x67 add r1, sp, #0x0 mov r2, #0x1 bl FUN_02030BC4 str r4, [r5, #0x3c] _020526B0: pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020526B4 FUN_020526B4: ; 0x020526B4 bx lr .balign 4 thumb_func_start FUN_020526B8 FUN_020526B8: ; 0x020526B8 bx lr .balign 4 thumb_func_start FUN_020526BC FUN_020526BC: ; 0x020526BC push {r4, lr} add r4, r3, #0x0 ldr r0, [r4, #0x78] ldr r1, _020526D4 ; =FUN_020521AC mov r2, #0x2 bl FUN_02052300 ldr r0, [r4, #0x78] bl FUN_02052E1C pop {r4, pc} nop _020526D4: .word FUN_020521AC thumb_func_start FUN_020526D8 FUN_020526D8: ; 0x020526D8 ldr r1, [r3, #0x78] ldr r0, [r1, #0x44] cmp r0, #0x0 bne _020526EA ldrb r0, [r2, #0x0] str r0, [r1, #0x30] ldrb r1, [r2, #0x0] ldr r0, _020526EC ; =0x021C5A70 str r1, [r0, #0x8] _020526EA: bx lr .balign 4 _020526EC: .word 0x021C5A70 thumb_func_start FUN_020526F0 FUN_020526F0: ; 0x020526F0 push {r3, lr} ldr r0, [r3, #0x78] mov r1, #0x1 str r1, [r0, #0x2c] ldrb r1, [r2, #0x0] ldr r0, [r3, #0x78] str r1, [r0, #0x40] ldrb r0, [r2, #0x0] cmp r0, #0x4 bne _02052708 bl FUN_02032888 _02052708: pop {r3, pc} .balign 4 thumb_func_start FUN_0205270C FUN_0205270C: ; 0x0205270C ldr r0, [r3, #0x78] mov r1, #0x1 str r1, [r0, #0x44] bx lr thumb_func_start FUN_02052714 FUN_02052714: ; 0x02052714 ldr r0, [r0, #0x44] bx lr thumb_func_start FUN_02052718 FUN_02052718: ; 0x02052718 push {r4, lr} ldr r0, [r0, #0x30] add r4, r1, #0x0 cmp r0, #0x0 bne _02052730 mov r1, #0x0 mov r0, #0x68 add r2, r1, #0x0 bl FUN_02030ADC add r0, r4, #0x0 pop {r4, pc} _02052730: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_02052734 FUN_02052734: ; 0x02052734 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 add r4, r3, #0x0 bl FUN_02031190 mov r1, #0x1 eor r0, r1 bl FUN_0202DFA4 add r7, r0, #0x0 ldr r0, _02052784 ; =0x0000066A mov r1, #0x1 strh r1, [r6, r0] bl FUN_02031190 cmp r5, r0 beq _02052780 add r0, r7, #0x0 bl FUN_0202398C add r5, r0, #0x0 add r0, r7, #0x0 bl FUN_020239CC add r1, r0, #0x0 lsl r1, r1, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 mov r2, #0x1f bl FUN_0202942C add r4, #0x98 add r1, r0, #0x0 ldr r0, [r4, #0x0] mov r2, #0x4 bl FUN_02028AD4 _02052780: pop {r3-r7, pc} nop _02052784: .word 0x0000066A thumb_func_start FUN_02052788 FUN_02052788: ; 0x02052788 ldr r1, [r1, #0x78] lsl r0, r0, #0x2 add r1, r1, r0 mov r0, #0x62 lsl r0, r0, #0x2 ldr r0, [r1, r0] bx lr .balign 4 thumb_func_start FUN_02052798 FUN_02052798: ; 0x02052798 ldr r1, [r3, #0x78] ldrb r2, [r2, #0x0] add r1, r1, r0 ldr r0, _020527A4 ; =0x00000176 strb r2, [r1, r0] bx lr .balign 4 _020527A4: .word 0x00000176 thumb_func_start FUN_020527A8 FUN_020527A8: ; 0x020527A8 push {r4, lr} add r4, r0, #0x0 bl FUN_02031190 ldr r2, _020527D4 ; =0x00000176 add r1, r4, r0 ldrb r1, [r1, r2] cmp r1, #0x2 bne _020527BE mov r0, #0x1 pop {r4, pc} _020527BE: mov r1, #0x1 eor r0, r1 add r0, r4, r0 ldrb r0, [r0, r2] cmp r0, #0x2 bne _020527CE mov r0, #0x2 pop {r4, pc} _020527CE: mov r0, #0x0 pop {r4, pc} nop _020527D4: .word 0x00000176 thumb_func_start FUN_020527D8 FUN_020527D8: ; 0x020527D8 push {r3, lr} add r1, sp, #0x0 strb r0, [r1, #0x0] mov r0, #0x65 add r1, sp, #0x0 mov r2, #0x1 bl FUN_02030ADC pop {r3, pc} .balign 4 thumb_func_start FUN_020527EC FUN_020527EC: ; 0x020527EC ldr r3, _02052810 ; =0x020F58D4 mov r2, #0x0 _020527F0: ldrh r1, [r3, #0x0] cmp r1, r0 bgt _02052800 add r1, r1, #0x4 cmp r1, r0 ble _02052800 add r0, r2, #0x0 bx lr _02052800: add r2, r2, #0x1 add r3, r3, #0x2 cmp r2, #0xa blt _020527F0 mov r0, #0x0 mvn r0, r0 bx lr nop _02052810: .word 0x020F58D4 thumb_func_start FUN_02052814 FUN_02052814: ; 0x02052814 push {r4-r6, lr} add r4, r1, #0x0 add r6, r0, #0x0 cmp r4, #0x9 ble _02052834 add r0, r4, #0x0 bl FUN_020527EC add r5, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r4, r0 bne _02052836 bl ErrorHandling b _02052836 _02052834: add r5, r4, #0x0 _02052836: add r0, r5, #0x0 bl FUN_0202EF84 lsl r1, r5, #0x2 add r2, r6, r1 mov r1, #0x11 lsl r1, r1, #0x4 ldr r5, [r2, r1] add r5, #0x50 add r5, #0x30 cmp r0, #0x0 bne _02052852 mov r0, #0x28 pop {r4-r6, pc} _02052852: cmp r4, #0x9 ble _0205286C sub r4, #0xa lsr r2, r4, #0x1f lsl r1, r4, #0x1e sub r1, r1, r2 mov r0, #0x1e ror r1, r0 add r0, r2, r1 add r0, r5, r0 ldrb r0, [r0, #0x18] asr r4, r0, #0x7 b _02052872 _0205286C: bl FUN_020239CC add r4, r0, #0x0 _02052872: ldrb r0, [r5, #0x1c] cmp r0, #0xb bhi _0205294C add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02052884: ; jump table (using 16-bit offset) .short _0205294C - _02052884 - 2; case 0 .short _020528F8 - _02052884 - 2; case 1 .short _02052914 - _02052884 - 2; case 2 .short _02052930 - _02052884 - 2; case 3 .short _0205289C - _02052884 - 2; case 4 .short _020528A4 - _02052884 - 2; case 5 .short _020528C0 - _02052884 - 2; case 6 .short _020528DC - _02052884 - 2; case 7 .short _020528F8 - _02052884 - 2; case 8 .short _02052914 - _02052884 - 2; case 9 .short _02052930 - _02052884 - 2; case 10 .short _0205289C - _02052884 - 2; case 11 _0205289C: ldr r0, _02052950 ; =0x020F5894 lsl r1, r4, #0x2 ldr r0, [r0, r1] pop {r4-r6, pc} _020528A4: bl FUN_0201B9EC lsr r2, r0, #0x1f lsl r1, r0, #0x1f sub r1, r1, r2 mov r0, #0x1f ror r1, r0 add r0, r2, r1 lsl r2, r0, #0x3 ldr r0, _02052954 ; =0x020F58C4 lsl r1, r4, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _020528C0: bl FUN_0201B9EC lsr r2, r0, #0x1f lsl r1, r0, #0x1e sub r1, r1, r2 mov r0, #0x1e ror r1, r0 add r0, r2, r1 lsl r2, r0, #0x3 ldr r0, _02052958 ; =0x020F5984 lsl r1, r4, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _020528DC: bl FUN_0201B9EC lsr r2, r0, #0x1f lsl r1, r0, #0x1f sub r1, r1, r2 mov r0, #0x1f ror r1, r0 add r0, r2, r1 lsl r2, r0, #0x3 ldr r0, _0205295C ; =0x020F58B4 lsl r1, r4, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _020528F8: bl FUN_0201B9EC lsr r2, r0, #0x1f lsl r1, r0, #0x1e sub r1, r1, r2 mov r0, #0x1e ror r1, r0 add r0, r2, r1 lsl r2, r0, #0x3 ldr r0, _02052960 ; =0x020F5964 lsl r1, r4, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _02052914: bl FUN_0201B9EC lsr r2, r0, #0x1f lsl r1, r0, #0x1e sub r1, r1, r2 mov r0, #0x1e ror r1, r0 add r0, r2, r1 lsl r2, r0, #0x3 ldr r0, _02052964 ; =0x020F59A4 lsl r1, r4, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _02052930: bl FUN_0201B9EC lsr r2, r0, #0x1f lsl r1, r0, #0x1e sub r1, r1, r2 mov r0, #0x1e ror r1, r0 add r0, r2, r1 lsl r2, r0, #0x3 ldr r0, _02052968 ; =0x020F59C4 lsl r1, r4, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _0205294C: mov r0, #0x28 pop {r4-r6, pc} .balign 4 _02052950: .word 0x020F5894 _02052954: .word 0x020F58C4 _02052958: .word 0x020F5984 _0205295C: .word 0x020F58B4 _02052960: .word 0x020F5964 _02052964: .word 0x020F59A4 _02052968: .word 0x020F59C4 thumb_func_start FUN_0205296C FUN_0205296C: ; 0x0205296C push {r3-r7, lr} str r0, [sp, #0x0] bl FUN_02031190 bl FUN_0202E020 lsl r0, r0, #0x18 lsr r7, r0, #0x18 bl FUN_02031190 mov r1, #0x1 eor r0, r1 bl FUN_0202E020 lsl r0, r0, #0x18 lsr r4, r0, #0x18 bl FUN_02031190 bl FUN_0202E044 lsl r0, r0, #0x18 lsr r6, r0, #0x18 bl FUN_02031190 mov r1, #0x1 eor r0, r1 bl FUN_0202E044 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r4, #0x0 bne _020529B0 mov r0, #0xf pop {r3-r7, pc} _020529B0: beq _020529CC ldr r0, [sp, #0x0] mov r1, #0x3 add r2, r4, #0x0 bl FUN_0200B4A0 cmp r5, #0x0 beq _020529CC ldr r0, [sp, #0x0] mov r1, #0x4 add r2, r4, #0x0 add r3, r5, #0x0 bl FUN_0200B4D8 _020529CC: cmp r7, r4 beq _020529E4 cmp r5, #0x0 bne _020529D8 mov r0, #0xd pop {r3-r7, pc} _020529D8: cmp r6, r5 bne _020529E0 mov r0, #0xd pop {r3-r7, pc} _020529E0: mov r0, #0xc pop {r3-r7, pc} _020529E4: cmp r6, r5 beq _020529EC mov r0, #0xe pop {r3-r7, pc} _020529EC: mov r0, #0xf pop {r3-r7, pc} thumb_func_start FUN_020529F0 FUN_020529F0: ; 0x020529F0 push {r3, lr} cmp r0, #0x0 beq _02052A02 lsl r2, r0, #0x3 ldr r0, _02052A0C ; =0x020F5A14 lsl r1, r1, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r3, pc} _02052A02: add r0, r2, #0x0 bl FUN_0205296C pop {r3, pc} nop _02052A0C: .word 0x020F5A14 thumb_func_start FUN_02052A10 FUN_02052A10: ; 0x02052A10 push {r4-r6, lr} add r4, r2, #0x0 add r5, r0, #0x0 add r6, r3, #0x0 cmp r4, #0x0 bne _02052A24 sub r1, r1, #0x1 bl FUN_02052814 pop {r4-r6, pc} _02052A24: sub r0, r1, #0x1 bl FUN_0202EF84 bl FUN_020239CC add r1, r0, #0x0 cmp r4, #0x18 bhi _02052AFA add r0, r4, r4 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02052A40: ; jump table (using 16-bit offset) .short _02052AFA - _02052A40 - 2; case 0 .short _02052A72 - _02052A40 - 2; case 1 .short _02052A7E - _02052A40 - 2; case 2 .short _02052AAA - _02052A40 - 2; case 3 .short _02052AAA - _02052A40 - 2; case 4 .short _02052AAA - _02052A40 - 2; case 5 .short _02052AAA - _02052A40 - 2; case 6 .short _02052AAA - _02052A40 - 2; case 7 .short _02052AAA - _02052A40 - 2; case 8 .short _02052A86 - _02052A40 - 2; case 9 .short _02052AB8 - _02052A40 - 2; case 10 .short _02052AB8 - _02052A40 - 2; case 11 .short _02052AB8 - _02052A40 - 2; case 12 .short _02052AC6 - _02052A40 - 2; case 13 .short _02052AC6 - _02052A40 - 2; case 14 .short _02052AC6 - _02052A40 - 2; case 15 .short _02052AD4 - _02052A40 - 2; case 16 .short _02052AD4 - _02052A40 - 2; case 17 .short _02052AD4 - _02052A40 - 2; case 18 .short _02052A9C - _02052A40 - 2; case 19 .short _02052A9C - _02052A40 - 2; case 20 .short _02052A9C - _02052A40 - 2; case 21 .short _02052AE2 - _02052A40 - 2; case 22 .short _02052AEA - _02052A40 - 2; case 23 .short _02052AF2 - _02052A40 - 2; case 24 _02052A72: ldr r0, [r5, #0x34] add r2, r6, #0x0 sub r0, r0, #0x1 bl FUN_020529F0 pop {r4-r6, pc} _02052A7E: ldr r0, _02052B04 ; =0x020F58AC lsl r1, r1, #0x2 ldr r0, [r0, r1] pop {r4-r6, pc} _02052A86: ldr r0, [r5, #0x34] cmp r0, #0x0 bne _02052A90 mov r0, #0x0 pop {r4-r6, pc} _02052A90: lsl r2, r0, #0x3 ldr r0, _02052B08 ; =0x020F59DC lsl r1, r1, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _02052A9C: sub r4, #0x13 ldr r0, _02052B0C ; =0x020F58E8 lsl r2, r4, #0x3 lsl r1, r1, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _02052AAA: sub r0, r4, #0x3 lsl r2, r0, #0x3 ldr r0, _02052B10 ; =0x020F5A44 lsl r1, r1, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _02052AB8: sub r4, #0xa ldr r0, _02052B14 ; =0x020F5900 lsl r2, r4, #0x3 lsl r1, r1, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _02052AC6: sub r4, #0xd ldr r0, _02052B18 ; =0x020F5918 lsl r2, r4, #0x3 lsl r1, r1, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _02052AD4: sub r4, #0x10 ldr r0, _02052B1C ; =0x020F5930 lsl r2, r4, #0x3 lsl r1, r1, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _02052AE2: ldr r0, _02052B20 ; =0x020F588C lsl r1, r1, #0x2 ldr r0, [r0, r1] pop {r4-r6, pc} _02052AEA: ldr r0, _02052B24 ; =0x020F58A4 lsl r1, r1, #0x2 ldr r0, [r0, r1] pop {r4-r6, pc} _02052AF2: ldr r0, _02052B28 ; =0x020F589C lsl r1, r1, #0x2 ldr r0, [r0, r1] pop {r4-r6, pc} _02052AFA: bl ErrorHandling mov r0, #0x28 pop {r4-r6, pc} nop _02052B04: .word 0x020F58AC _02052B08: .word 0x020F59DC _02052B0C: .word 0x020F58E8 _02052B10: .word 0x020F5A44 _02052B14: .word 0x020F5900 _02052B18: .word 0x020F5918 _02052B1C: .word 0x020F5930 _02052B20: .word 0x020F588C _02052B24: .word 0x020F58A4 _02052B28: .word 0x020F589C thumb_func_start FUN_02052B2C FUN_02052B2C: ; 0x02052B2C push {r3-r7, lr} add r5, r0, #0x0 mov r6, #0x1 _02052B32: add r0, r6, #0x0 sub r4, r6, #0x1 bl FUN_0202DFA4 add r7, r0, #0x0 beq _02052B60 bl FUN_020239BC lsl r1, r4, #0x2 str r0, [r5, r1] add r0, r7, #0x0 bl FUN_02023A28 str r0, [sp, #0x0] add r0, r7, #0x0 bl FUN_020239CC lsl r1, r0, #0x7 ldr r0, [sp, #0x0] orr r1, r0 add r0, r5, r4 strb r1, [r0, #0x18] b _02052B6A _02052B60: lsl r1, r4, #0x2 mov r0, #0x0 str r0, [r5, r1] add r1, r5, r4 strb r0, [r1, #0x18] _02052B6A: add r6, r6, #0x1 cmp r6, #0x5 blt _02052B32 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02052B74 FUN_02052B74: ; 0x02052B74 push {r4, lr} sub sp, #0x20 add r4, r0, #0x0 add r0, sp, #0x0 mov r1, #0x0 mov r2, #0x20 blx MI_CpuFill8 cmp r4, #0xb bhi _02052BFA add r0, r4, r4 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02052B94: ; jump table (using 16-bit offset) .short _02052BFA - _02052B94 - 2; case 0 .short _02052BCA - _02052B94 - 2; case 1 .short _02052BDE - _02052B94 - 2; case 2 .short _02052BF2 - _02052B94 - 2; case 3 .short _02052BFA - _02052B94 - 2; case 4 .short _02052BB6 - _02052B94 - 2; case 5 .short _02052BB6 - _02052B94 - 2; case 6 .short _02052BB6 - _02052B94 - 2; case 7 .short _02052BC0 - _02052B94 - 2; case 8 .short _02052BD4 - _02052B94 - 2; case 9 .short _02052BE8 - _02052B94 - 2; case 10 .short _02052BAC - _02052B94 - 2; case 11 _02052BAC: add r0, sp, #0x0 mov r1, #0x2 bl FUN_02052B2C b _02052BFA _02052BB6: add r0, sp, #0x0 mov r1, #0x2 bl FUN_02052B2C b _02052BFA _02052BC0: add r0, sp, #0x0 mov r1, #0x5 bl FUN_02052B2C b _02052BFA _02052BCA: add r0, sp, #0x0 mov r1, #0x4 bl FUN_02052B2C b _02052BFA _02052BD4: add r0, sp, #0x0 mov r1, #0x5 bl FUN_02052B2C b _02052BFA _02052BDE: add r0, sp, #0x0 mov r1, #0x4 bl FUN_02052B2C b _02052BFA _02052BE8: add r0, sp, #0x0 mov r1, #0x4 bl FUN_02052B2C b _02052BFA _02052BF2: add r0, sp, #0x0 mov r1, #0x4 bl FUN_02052B2C _02052BFA: add r0, sp, #0x0 strb r4, [r0, #0x1c] add r0, sp, #0x0 bl FUN_0202F094 bl FUN_0202F0B8 add sp, #0x20 pop {r4, pc} thumb_func_start FUN_02052C0C FUN_02052C0C: ; 0x02052C0C push {r4-r6, lr} add r5, r0, #0x0 mov r3, #0x0 mov r0, #0x11 add r6, r1, #0x0 add r2, r3, #0x0 add r4, r5, #0x0 lsl r0, r0, #0x4 _02052C1C: ldr r1, [r4, r0] cmp r1, #0x0 beq _02052C24 add r3, r3, #0x1 _02052C24: add r2, r2, #0x1 add r4, r4, #0x4 cmp r2, #0xa blt _02052C1C cmp r3, #0x0 beq _02052C34 mov r0, #0xa4 pop {r4-r6, pc} _02052C34: mov r0, #0x5e lsl r0, r0, #0x2 add r0, r5, r0 bl FUN_0201385C cmp r0, #0x0 bne _02052C46 mov r0, #0xa5 pop {r4-r6, pc} _02052C46: mov r0, #0x5e lsl r0, r0, #0x2 add r0, r5, r0 bl FUN_02013920 cmp r0, #0x4 beq _02052C78 ldr r0, [r5, #0x8] bl FUN_02023A28 add r4, r0, #0x0 ldr r0, [r5, #0x8] bl FUN_020239CC add r1, r4, #0x0 mov r2, #0x2 bl FUN_020536D0 add r2, r0, #0x0 add r0, r6, #0x0 mov r1, #0x0 bl FUN_0200B064 mov r0, #0xa6 pop {r4-r6, pc} _02052C78: mov r0, #0x5e lsl r0, r0, #0x2 add r0, r5, r0 bl FUN_02013924 add r4, r0, #0x0 cmp r4, #0x14 blt _02052C8A mov r4, #0x0 _02052C8A: mov r0, #0x5e lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x0 bl FUN_02013918 add r2, r0, #0x0 ldr r0, _02052CB0 ; =0x0000FFFF cmp r2, r0 beq _02052CA6 add r0, r6, #0x0 mov r1, #0x0 bl FUN_0200B518 _02052CA6: ldr r0, _02052CB4 ; =0x020F5A74 lsl r1, r4, #0x2 ldr r0, [r0, r1] pop {r4-r6, pc} nop _02052CB0: .word 0x0000FFFF _02052CB4: .word 0x020F5A74 thumb_func_start FUN_02052CB8 FUN_02052CB8: ; 0x02052CB8 push {r3-r4} mov r3, #0x0 strb r3, [r0, #0x1c] add r4, r0, #0x0 add r2, r3, #0x0 _02052CC2: stmia r4!, {r2} add r1, r0, r3 strb r2, [r1, #0x18] strb r2, [r1, #0x10] add r3, r3, #0x1 strb r2, [r1, #0x14] cmp r3, #0x4 blt _02052CC2 pop {r3-r4} bx lr .balign 4 thumb_func_start FUN_02052CD8 FUN_02052CD8: ; 0x02052CD8 push {r4, lr} add r4, r0, #0x0 mov r0, #0x5e lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02013960 mov r0, #0x6 mov r1, #0x1 lsl r0, r0, #0x6 str r1, [r4, r0] pop {r4, pc} thumb_func_start FUN_02052CF0 FUN_02052CF0: ; 0x02052CF0 mov r1, #0x6 lsl r1, r1, #0x6 ldr r2, [r0, r1] cmp r2, #0x0 bne _02052CFE mov r0, #0x0 bx lr _02052CFE: mov r2, #0x0 str r2, [r0, r1] sub r1, #0x8 add r0, r0, r1 bx lr thumb_func_start FUN_02052D08 FUN_02052D08: ; 0x02052D08 push {r4-r7, lr} sub sp, #0xc add r6, r2, #0x0 mov r2, #0x9 add r5, r0, #0x0 add r4, r1, #0x0 str r3, [sp, #0x8] mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x6 mov r3, #0x4 bl FUN_0200A86C add r7, r0, #0x0 cmp r4, #0x0 bne _02052D30 sub r0, r6, #0x1 bl FUN_0202EF84 b _02052D3C _02052D30: bl FUN_02031190 mov r1, #0x1 eor r0, r1 bl FUN_0202DFA4 _02052D3C: add r4, r0, #0x0 cmp r4, #0x0 beq _02052DE0 add r0, r5, #0x0 mov r1, #0x0 add r2, r4, #0x0 bl FUN_0200ABC0 ldr r2, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x1 bl FUN_0200ABC0 add r0, r4, #0x0 bl FUN_02023A70 add r4, r0, #0x0 cmp r4, #0x1 blt _02052D80 cmp r4, #0x7 bgt _02052D80 sub r0, r4, #0x1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, #0x7 bhs _02052D80 lsl r1, r0, #0x2 ldr r0, _02052DE4 ; =0x020F5948 ldr r1, [r0, r1] cmp r1, #0x0 blt _02052D80 ldr r0, [sp, #0x20] bl FUN_02013C18 _02052D80: cmp r4, #0x7 bhi _02052DB8 add r0, r4, r4 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02052D90: ; jump table (using 16-bit offset) .short _02052DB8 - _02052D90 - 2; case 0 .short _02052DA0 - _02052D90 - 2; case 1 .short _02052DA4 - _02052D90 - 2; case 2 .short _02052DA8 - _02052D90 - 2; case 3 .short _02052DAC - _02052D90 - 2; case 4 .short _02052DB0 - _02052D90 - 2; case 5 .short _02052DB8 - _02052D90 - 2; case 6 .short _02052DB4 - _02052D90 - 2; case 7 _02052DA0: mov r1, #0xd1 b _02052DBA _02052DA4: mov r1, #0xd2 b _02052DBA _02052DA8: mov r1, #0xd3 b _02052DBA _02052DAC: mov r1, #0xd4 b _02052DBA _02052DB0: mov r1, #0xd5 b _02052DBA _02052DB4: mov r1, #0xd6 b _02052DBA _02052DB8: mov r1, #0xd7 _02052DBA: add r0, r7, #0x0 bl FUN_0200A914 add r6, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x2 add r2, r6, #0x0 mov r3, #0x0 str r4, [sp, #0x4] bl FUN_0200ABB4 add r0, r6, #0x0 bl FUN_02016A18 add r0, r7, #0x0 bl FUN_0200A8B8 _02052DE0: add sp, #0xc pop {r4-r7, pc} .balign 4 _02052DE4: .word 0x020F5948 thumb_func_start FUN_02052DE8 FUN_02052DE8: ; 0x02052DE8 push {r4, lr} sub sp, #0x20 add r4, r0, #0x0 add r0, sp, #0x0 bl FUN_02052CB8 mov r1, #0x0 add r0, sp, #0x0 strb r1, [r0, #0x1c] add r0, r4, #0x0 bl FUN_0202F078 add r0, sp, #0x0 bl FUN_0202F094 bl FUN_0202F0B8 add sp, #0x20 pop {r4, pc} .balign 4 thumb_func_start FUN_02052E10 FUN_02052E10: ; 0x02052E10 mov r1, #0x0 str r1, [r0, #0x30] str r1, [r0, #0x40] str r1, [r0, #0x44] bx lr .balign 4 thumb_func_start FUN_02052E1C FUN_02052E1C: ; 0x02052E1C mov r2, #0x0 str r2, [r0, #0x20] str r2, [r0, #0x24] str r2, [r0, #0x2c] str r2, [r0, #0x30] mov r1, #0x5d str r2, [r0, #0x40] lsl r1, r1, #0x2 strh r2, [r0, r1] add r1, #0xc str r2, [r0, r1] str r2, [r0, #0x44] bx lr .balign 4 thumb_func_start FUN_02052E38 FUN_02052E38: ; 0x02052E38 push {r3-r5, lr} sub sp, #0x8 add r4, r0, #0x0 mov r0, #0x0 bl FUN_02065054 mov r1, #0x61 lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0x0 bl FUN_02065054 mov r1, #0x62 lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0x0 bl FUN_02065054 mov r1, #0x63 lsl r1, r1, #0x2 str r0, [r4, r1] ldr r0, [r4, #0x8] bl FUN_020239CC add r5, r0, #0x0 ldr r0, [r4, #0x8] bl FUN_02023A28 add r1, r0, #0x0 add r0, r5, #0x0 mov r2, #0x0 bl FUN_020536D0 add r3, r0, #0x0 ldr r0, [r4, #0x0] lsl r3, r3, #0x18 str r0, [sp, #0x0] mov r0, #0x61 lsl r0, r0, #0x2 ldr r0, [r4, r0] lsr r3, r3, #0x18 str r0, [sp, #0x4] mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 bl FUN_02064E90 bl FUN_02031190 mov r1, #0x1 eor r0, r1 lsl r0, r0, #0x2 add r1, r4, r0 mov r0, #0x62 lsl r0, r0, #0x2 ldr r0, [r1, r0] add sp, #0x8 pop {r3-r5, pc} thumb_func_start FUN_02052EAC FUN_02052EAC: ; 0x02052EAC push {r4, lr} add r4, r0, #0x0 mov r0, #0x62 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02016A18 mov r0, #0x63 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02016A18 mov r0, #0x61 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02016A18 pop {r4, pc} thumb_func_start FUN_02052ED0 FUN_02052ED0: ; 0x02052ED0 mov r1, #0x61 add r2, r0, #0x0 lsl r1, r1, #0x2 ldr r1, [r2, r1] ldr r3, _02052EE0 ; =FUN_02030A78 mov r0, #0x69 ldr r2, _02052EE4 ; =0x0000066C bx r3 .balign 4 _02052EE0: .word FUN_02030A78 _02052EE4: .word 0x0000066C thumb_func_start FUN_02052EE8 FUN_02052EE8: ; 0x02052EE8 push {r3-r5, lr} ldr r1, _02052F58 ; =0x000004E8 add r5, r0, #0x0 mov r0, #0x1f bl FUN_02016998 add r4, r0, #0x0 ldr r2, _02052F58 ; =0x000004E8 mov r0, #0x0 add r1, r4, #0x0 blx MIi_CpuClearFast mov r0, #0x4e str r5, [r4, #0x0] mov r1, #0x1 lsl r0, r0, #0x4 str r1, [r4, r0] ldr r0, _02052F5C ; =FUN_02052FC8 add r1, r4, #0x0 mov r2, #0xb bl FUN_0200CA44 str r0, [r4, #0x4] add r0, r5, #0x0 bl FUN_020524BC ldr r1, _02052F60 ; =0x000004D4 str r0, [r4, r1] ldr r0, [r4, r1] mov r1, #0x9 ldr r0, [r0, #0xc] bl FUN_02022610 ldr r1, _02052F64 ; =0x000004D8 ldr r2, _02052F68 ; =0x00002710 str r0, [r4, r1] sub r0, r1, #0x4 ldr r0, [r4, r0] mov r1, #0x59 ldr r0, [r0, #0x38] str r0, [r4, #0x8] mov r0, #0xb bl FUN_02016828 mov r0, #0x59 bl FUN_02053618 ldr r1, _02052F6C ; =0x000004DC str r0, [r4, r1] add r0, r4, #0x0 bl FUN_02052F8C ldr r0, _02052F70 ; =0x021C5ABC str r4, [r0, #0x0] add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 _02052F58: .word 0x000004E8 _02052F5C: .word FUN_02052FC8 _02052F60: .word 0x000004D4 _02052F64: .word 0x000004D8 _02052F68: .word 0x00002710 _02052F6C: .word 0x000004DC _02052F70: .word 0x021C5ABC thumb_func_start FUN_02052F74 FUN_02052F74: ; 0x02052F74 mov r3, #0x0 mov r1, #0x3 _02052F78: ldrb r2, [r0, #0xd] cmp r2, #0x0 beq _02052F80 strb r1, [r0, #0xc] _02052F80: add r3, r3, #0x1 add r0, #0x18 cmp r3, #0x33 blt _02052F78 bx lr .balign 4 thumb_func_start FUN_02052F8C FUN_02052F8C: ; 0x02052F8C mov r2, #0x0 add r1, r2, #0x0 _02052F90: strb r1, [r0, #0xc] strb r1, [r0, #0xd] strb r1, [r0, #0xe] strb r1, [r0, #0xf] add r2, r2, #0x1 add r0, #0x18 cmp r2, #0x33 blt _02052F90 bx lr .balign 4 thumb_func_start FUN_02052FA4 FUN_02052FA4: ; 0x02052FA4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] bl FUN_0200CAB4 ldr r0, _02052FC4 ; =0x000004DC ldr r0, [r4, r0] bl FUN_0205362C mov r0, #0x59 bl FUN_020168D0 add r0, r4, #0x0 bl FUN_02016A18 pop {r4, pc} .balign 4 _02052FC4: .word 0x000004DC thumb_func_start FUN_02052FC8 FUN_02052FC8: ; 0x02052FC8 push {r3-r5, lr} ldr r0, _02052FFC ; =0x000004D4 add r5, r1, #0x0 ldr r0, [r5, r0] ldr r4, [r5, #0x0] bl FUN_0204646C cmp r0, #0x0 bne _02052FF8 ldr r3, _02052FFC ; =0x000004D4 add r0, r5, #0x0 ldr r2, [r5, r3] add r3, r3, #0x4 ldr r2, [r2, #0x34] ldr r3, [r5, r3] add r1, r4, #0x0 bl FUN_0205312C ldr r1, _02052FFC ; =0x000004D4 add r0, r5, #0x0 ldr r1, [r5, r1] ldr r1, [r1, #0x34] bl FUN_020531E4 _02052FF8: pop {r3-r5, pc} nop _02052FFC: .word 0x000004D4 thumb_func_start FUN_02053000 FUN_02053000: ; 0x02053000 push {r4-r7, lr} sub sp, #0x14 mov r5, #0x0 str r0, [sp, #0x0] str r3, [sp, #0x4] cmp r2, #0x0 bne _02053034 ldr r0, _02053100 ; =0x020F58D4 lsl r1, r1, #0x1 ldrh r4, [r0, r1] ldr r0, [sp, #0x0] mov r6, #0x3 add r0, #0xc str r0, [sp, #0x0] _0205301C: ldr r0, [sp, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02053104 add r5, r5, #0x1 add r4, r4, #0x1 cmp r5, #0x4 blt _0205301C add sp, #0x14 mov r0, #0x0 pop {r4-r7, pc} _02053034: add r0, r2, #0x0 str r0, [sp, #0xc] add r0, #0x50 str r0, [sp, #0xc] add r0, #0x30 str r0, [sp, #0xc] ldr r0, [r2, #0x50] mov r2, #0x18 add r3, r1, #0x0 mul r3, r2 ldr r2, [sp, #0x0] add r2, r2, r3 ldr r2, [r2, #0x18] cmp r0, r2 beq _02053078 ldr r0, _02053100 ; =0x020F58D4 lsl r1, r1, #0x1 ldrh r4, [r0, r1] ldr r0, [sp, #0x0] mov r6, #0x3 add r0, #0xc str r0, [sp, #0x0] _02053060: ldr r0, [sp, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02053104 add r5, r5, #0x1 add r4, r4, #0x1 cmp r5, #0x4 blt _02053060 add sp, #0x14 mov r0, #0x0 pop {r4-r7, pc} _02053078: ldr r0, _02053100 ; =0x020F58D4 lsl r1, r1, #0x1 ldrh r7, [r0, r1] ldr r0, [sp, #0xc] add r6, r5, #0x0 str r0, [sp, #0x8] ldr r0, [sp, #0x0] str r0, [sp, #0x10] add r0, #0xc str r0, [sp, #0x10] _0205308C: mov r0, #0x18 add r1, r7, #0x0 mul r1, r0 ldr r0, [sp, #0x0] add r4, r0, r1 ldrb r0, [r4, #0xd] cmp r0, #0x0 beq _020530A6 cmp r0, #0x2 beq _020530CC cmp r0, #0x4 beq _020530E6 b _020530EA _020530A6: ldr r0, [sp, #0xc] add r1, r0, r6 ldrb r0, [r1, #0x18] cmp r0, #0x0 beq _020530EA mov r0, #0x2 strb r0, [r4, #0xc] ldrb r1, [r1, #0x18] mov r0, #0x7f and r0, r1 strb r0, [r4, #0x14] ldr r1, [sp, #0x8] ldr r0, [sp, #0x4] ldr r1, [r1, #0x0] bl FUN_02025614 strb r0, [r4, #0xe] mov r5, #0x1 b _020530EA _020530CC: ldr r0, [sp, #0xc] add r0, r0, r6 ldrb r0, [r0, #0x18] cmp r0, #0x0 bne _020530E2 ldr r0, [sp, #0x10] add r1, r7, #0x0 mov r2, #0x3 bl FUN_02053104 b _020530EA _020530E2: mov r5, #0x1 b _020530EA _020530E6: mov r0, #0x0 strb r0, [r4, #0xc] _020530EA: ldr r0, [sp, #0x8] add r6, r6, #0x1 add r0, r0, #0x4 add r7, r7, #0x1 str r0, [sp, #0x8] cmp r6, #0x4 blt _0205308C add r0, r5, #0x0 add sp, #0x14 pop {r4-r7, pc} nop _02053100: .word 0x020F58D4 thumb_func_start FUN_02053104 FUN_02053104: ; 0x02053104 push {r4-r6, lr} ldr r6, _02053124 ; =0x021C5ABC mov r4, #0x18 ldr r3, [r6, #0x0] ldr r5, _02053128 ; =0x000004D4 mul r4, r1 ldr r3, [r3, r5] strb r2, [r0, r4] ldr r0, [r6, #0x0] ldr r0, [r0, r5] cmp r3, r0 beq _02053120 bl ErrorHandling _02053120: pop {r4-r6, pc} nop _02053124: .word 0x021C5ABC _02053128: .word 0x000004D4 thumb_func_start FUN_0205312C FUN_0205312C: ; 0x0205312C push {r4-r7, lr} sub sp, #0x14 str r0, [sp, #0x0] add r5, r0, #0x0 str r0, [sp, #0x10] add r0, #0xc str r1, [sp, #0x4] str r3, [sp, #0x8] mov r4, #0x0 str r0, [sp, #0x10] _02053140: ldr r0, [sp, #0x4] add r1, r4, #0x0 bl FUN_020524C0 add r6, r0, #0x0 add r7, r6, #0x0 add r7, #0x50 add r0, r7, #0x0 str r0, [sp, #0xc] add r0, #0x10 str r0, [sp, #0xc] ldrb r0, [r5, #0xd] cmp r0, #0x0 beq _02053166 cmp r0, #0x2 beq _020531A2 cmp r0, #0x4 beq _020531D4 b _020531D8 _02053166: cmp r6, #0x0 beq _020531D8 ldr r0, [sp, #0xc] bl FUN_02023A28 strb r0, [r5, #0x14] ldr r0, [sp, #0xc] bl FUN_020239BC add r1, r0, #0x0 ldr r0, [sp, #0x8] bl FUN_02025614 strb r0, [r5, #0xe] ldr r0, [r7, #0x0] ldr r3, [sp, #0x8] str r0, [r5, #0x18] ldr r0, [sp, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02053000 cmp r0, #0x0 beq _0205319C mov r0, #0x2 strb r0, [r5, #0xc] b _020531D8 _0205319C: mov r0, #0x1 strb r0, [r5, #0xc] b _020531D8 _020531A2: cmp r6, #0x0 beq _020531AE ldr r1, [r7, #0x0] ldr r0, [r5, #0x18] cmp r1, r0 beq _020531B8 _020531AE: ldr r0, [sp, #0x10] add r1, r4, #0x0 mov r2, #0x3 bl FUN_02053104 _020531B8: ldr r0, [sp, #0x0] ldr r3, [sp, #0x8] add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02053000 cmp r0, #0x0 beq _020531D8 ldrb r0, [r5, #0x15] cmp r0, #0x1 bne _020531D8 mov r0, #0x3 strb r0, [r5, #0xc] b _020531D8 _020531D4: mov r0, #0x0 strb r0, [r5, #0xc] _020531D8: add r4, r4, #0x1 add r5, #0x18 cmp r4, #0xa blt _02053140 add sp, #0x14 pop {r4-r7, pc} thumb_func_start FUN_020531E4 FUN_020531E4: ; 0x020531E4 push {r3-r7, lr} sub sp, #0x10 str r0, [sp, #0x0] ldr r0, [r0, #0x8] str r1, [sp, #0x4] bl FUN_02055320 str r0, [sp, #0xc] ldr r0, [sp, #0x0] ldr r0, [r0, #0x8] bl FUN_0205532C ldr r4, [sp, #0x0] str r0, [sp, #0x8] add r6, r4, #0x0 mov r7, #0x0 add r6, #0xc _02053206: ldr r0, [sp, #0x4] add r1, r7, #0x1 bl FUN_02058060 add r5, r0, #0x0 bne _02053216 bl ErrorHandling _02053216: ldrb r0, [r4, #0xd] cmp r0, #0x4 bhi _0205330A add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02053228: ; jump table (using 16-bit offset) .short _02053232 - _02053228 - 2; case 0 .short _02053252 - _02053228 - 2; case 1 .short _020532B2 - _02053228 - 2; case 2 .short _020532DA - _02053228 - 2; case 3 .short _02053306 - _02053228 - 2; case 4 _02053232: add r0, r5, #0x0 bl FUN_0205AD98 cmp r0, #0x1 bne _0205330A ldrb r0, [r4, #0xc] sub r0, r0, #0x1 cmp r0, #0x1 bhi _0205330A ldr r2, [sp, #0xc] ldr r3, [sp, #0x8] add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_0205339C b _0205330A _02053252: add r0, r5, #0x0 bl FUN_0205AD98 cmp r0, #0x1 bne _0205330A ldrb r0, [r4, #0xc] cmp r0, #0x3 bne _02053272 mov r0, #0x0 strb r0, [r4, #0xd] strb r0, [r4, #0xc] add r0, r6, #0x0 mov r1, #0x1 bl FUN_0205333C b _0205330A _02053272: add r0, r5, #0x0 bl FUN_0205AE50 add r0, r5, #0x0 mov r1, #0x0 bl FUN_020588EC ldrb r0, [r4, #0xc] cmp r0, #0x1 bne _020532A8 ldrb r0, [r4, #0x15] cmp r0, #0x0 bne _020532A8 add r0, r5, #0x0 mov r1, #0x3 bl FUN_02058E90 add r0, r5, #0x0 mov r1, #0x1 bl FUN_02058534 add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205853C mov r0, #0x1 strb r0, [r4, #0x15] _020532A8: mov r0, #0x2 strb r0, [r4, #0xd] mov r0, #0x0 strb r0, [r4, #0xc] b _0205330A _020532B2: add r0, r5, #0x0 bl FUN_0205AD98 cmp r0, #0x1 bne _0205330A add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_02053478 ldrb r0, [r4, #0xc] cmp r0, #0x3 bne _020532D2 add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_02053444 _020532D2: add r0, r6, #0x0 bl FUN_02053378 b _0205330A _020532DA: add r0, r5, #0x0 bl FUN_0205AD98 cmp r0, #0x1 bne _0205330A add r0, r5, #0x0 bl FUN_0205AE50 mov r0, #0x4 strb r0, [r4, #0xd] mov r0, #0x0 strb r0, [r4, #0xc] strb r0, [r4, #0x15] add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205889C add r0, r5, #0x0 mov r1, #0x0 bl FUN_020588B8 b _0205330A _02053306: mov r0, #0x0 strb r0, [r4, #0xd] _0205330A: add r7, r7, #0x1 add r4, #0x18 add r6, #0x18 cmp r7, #0x32 bge _02053316 b _02053206 _02053316: ldr r0, [sp, #0x0] ldr r0, [r0, #0x8] bl FUN_020553A0 add r1, r0, #0x0 ldr r2, _02053338 ; =0x000004BC ldr r0, [sp, #0x0] add r0, r0, r2 bl FUN_02053478 ldr r1, _02053338 ; =0x000004BC ldr r0, [sp, #0x0] add r0, r0, r1 bl FUN_02053378 add sp, #0x10 pop {r3-r7, pc} .balign 4 _02053338: .word 0x000004BC thumb_func_start FUN_0205333C FUN_0205333C: ; 0x0205333C push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x10] add r4, r1, #0x0 cmp r0, #0x0 beq _0205335A bl FUN_020646A0 cmp r0, #0x0 beq _02053356 ldr r0, [r5, #0x10] bl FUN_02064520 _02053356: mov r0, #0x0 str r0, [r5, #0x10] _0205335A: cmp r4, #0x0 beq _02053376 ldr r0, [r5, #0x14] cmp r0, #0x0 beq _02053376 bl FUN_020646A0 cmp r0, #0x0 beq _02053372 ldr r0, [r5, #0x14] bl FUN_02064520 _02053372: mov r0, #0x0 str r0, [r5, #0x14] _02053376: pop {r3-r5, pc} thumb_func_start FUN_02053378 FUN_02053378: ; 0x02053378 push {r4, lr} add r4, r0, #0x0 ldrb r1, [r4, #0x4] cmp r1, #0x0 beq _02053398 ldrh r1, [r4, #0x6] sub r1, r1, #0x1 strh r1, [r4, #0x6] ldrh r1, [r4, #0x6] cmp r1, #0x0 bne _02053398 mov r1, #0x0 bl FUN_0205333C mov r0, #0x0 strb r0, [r4, #0x4] _02053398: pop {r4, pc} .balign 4 thumb_func_start FUN_0205339C FUN_0205339C: ; 0x0205339C push {r3-r7, lr} sub sp, #0x10 add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 str r2, [sp, #0x4] str r3, [sp, #0x8] bl FUN_02058AFC add r7, r0, #0x0 add r0, r4, #0x0 bl FUN_02058B04 str r0, [sp, #0xc] add r0, r4, #0x0 bl FUN_02058B0C add r6, r0, #0x0 ldr r0, [sp, #0x4] cmp r7, r0 bne _020533CC ldr r0, [sp, #0x8] cmp r6, r0 beq _0205343C _020533CC: ldr r0, _02053440 ; =0x0000064F bl FUN_020054C8 ldrb r1, [r5, #0x8] add r0, r4, #0x0 bl FUN_02057634 add r0, r5, #0x0 mov r1, #0x0 bl FUN_0205333C mov r0, #0x1 str r0, [sp, #0x0] ldr r2, [sp, #0xc] add r0, r4, #0x0 add r1, r7, #0x0 add r3, r6, #0x0 bl FUN_02058E28 add r0, r4, #0x0 mov r1, #0x1 bl FUN_020584A4 add r0, r4, #0x0 mov r1, #0x44 bl FUN_0205ADDC add r0, r4, #0x0 mov r1, #0x0 bl FUN_0205889C add r0, r4, #0x0 mov r1, #0x1 bl FUN_020588B8 mov r1, #0x1 strb r1, [r5, #0x1] ldrb r0, [r5, #0x2] cmp r0, #0x0 beq _0205343C cmp r0, #0x1 bne _0205342A add r0, r4, #0x0 bl FUN_02249668 str r0, [r5, #0x14] b _02053438 _0205342A: cmp r0, #0x2 blo _02053438 add r0, r4, #0x0 mov r1, #0x2 bl FUN_02249668 str r0, [r5, #0x14] _02053438: mov r0, #0x0 strb r0, [r5, #0x2] _0205343C: add sp, #0x10 pop {r3-r7, pc} .balign 4 _02053440: .word 0x0000064F thumb_func_start FUN_02053444 FUN_02053444: ; 0x02053444 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x43 bl FUN_0205ADDC add r0, r5, #0x0 mov r1, #0x1 bl FUN_020588EC add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058E90 add r0, r4, #0x0 mov r1, #0x1 bl FUN_0205333C mov r0, #0x0 strb r0, [r4, #0x4] strh r0, [r4, #0x6] mov r0, #0x3 strb r0, [r4, #0x1] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02053478 FUN_02053478: ; 0x02053478 push {r4, lr} add r4, r0, #0x0 ldrb r0, [r4, #0x3] cmp r0, #0x1 bne _0205349C ldrb r0, [r4, #0x4] cmp r0, #0x0 bne _0205349C add r0, r1, #0x0 bl FUN_021EDA48 str r0, [r4, #0x10] mov r0, #0x1e strh r0, [r4, #0x6] mov r0, #0x0 strb r0, [r4, #0x3] mov r0, #0x1 strb r0, [r4, #0x4] _0205349C: pop {r4, pc} .balign 4 thumb_func_start FUN_020534A0 FUN_020534A0: ; 0x020534A0 push {r3-r7, lr} add r5, r1, #0x0 add r6, r2, #0x0 add r7, r0, #0x0 cmp r5, r6 bge _020534DA _020534AC: add r0, r7, #0x0 add r1, r5, #0x0 bl FUN_02058060 add r4, r0, #0x0 bne _020534BC bl ErrorHandling _020534BC: add r0, r4, #0x0 mov r1, #0x1 bl FUN_0205889C add r0, r4, #0x0 mov r1, #0x0 bl FUN_020588B8 add r0, r4, #0x0 mov r1, #0x1 bl FUN_020588EC add r5, r5, #0x1 cmp r5, r6 blt _020534AC _020534DA: pop {r3-r7, pc} thumb_func_start FUN_020534DC FUN_020534DC: ; 0x020534DC push {r3-r7, lr} add r5, r1, #0x0 mov r1, #0x0 add r7, r0, #0x0 bl FUN_02058060 add r4, r0, #0x0 bne _020534F0 bl ErrorHandling _020534F0: add r0, r4, #0x0 bl FUN_0205AD98 cmp r0, #0x1 bne _02053596 bl FUN_02031B2C cmp r0, #0x0 bne _0205350A bl FUN_02031AF4 cmp r0, #0x0 beq _0205358C _0205350A: mov r6, #0x0 add r5, #0xc _0205350E: ldrb r0, [r5, #0x1] cmp r0, #0x1 bne _02053578 add r0, r7, #0x0 add r1, r6, #0x1 bl FUN_02058060 add r4, r0, #0x0 bne _02053524 bl ErrorHandling _02053524: ldrb r1, [r5, #0x8] add r0, r4, #0x0 bl FUN_02057634 add r0, r4, #0x0 mov r1, #0x1 bl FUN_020584A4 add r0, r4, #0x0 mov r1, #0x44 bl FUN_0205ADDC add r0, r4, #0x0 mov r1, #0x0 bl FUN_0205889C add r0, r4, #0x0 mov r1, #0x1 bl FUN_020588B8 mov r0, #0x1 strb r0, [r5, #0x1] ldrb r0, [r5, #0x2] cmp r0, #0x0 beq _02053578 cmp r0, #0x1 bne _02053566 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02249668 str r0, [r5, #0x14] b _02053574 _02053566: cmp r0, #0x2 blo _02053574 add r0, r4, #0x0 mov r1, #0x2 bl FUN_02249668 str r0, [r5, #0x14] _02053574: mov r0, #0x0 strb r0, [r5, #0x2] _02053578: add r6, r6, #0x1 add r5, #0x18 cmp r6, #0xa blt _0205350E add r0, r7, #0x0 mov r1, #0xb mov r2, #0x33 bl FUN_020534A0 pop {r3-r7, pc} _0205358C: add r0, r7, #0x0 mov r1, #0x1 mov r2, #0x33 bl FUN_020534A0 _02053596: pop {r3-r7, pc} thumb_func_start FUN_02053598 FUN_02053598: ; 0x02053598 push {r4, lr} add r4, r0, #0x0 mov r0, #0x8 mov r1, #0x59 bl FUN_020219F4 str r0, [r4, #0x0] mov r1, #0x0 add r0, r4, #0x0 str r1, [r4, #0x4] add r0, #0x14 str r1, [r4, #0x8] bl FUN_0201373C mov r0, #0x0 str r0, [r4, #0x10] str r0, [r4, #0xc] pop {r4, pc} thumb_func_start FUN_020535BC FUN_020535BC: ; 0x020535BC push {r4-r6, lr} add r6, r0, #0x0 mov r4, #0x0 add r5, r6, #0x0 _020535C4: add r0, r5, #0x0 bl FUN_02053598 add r4, r4, #0x1 add r5, #0x1c cmp r4, #0x1e blt _020535C4 mov r0, #0xd2 mov r1, #0x0 lsl r0, r0, #0x2 str r1, [r6, r0] add r0, r0, #0x4 str r1, [r6, r0] pop {r4-r6, pc} thumb_func_start FUN_020535E0 FUN_020535E0: ; 0x020535E0 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_02016A18 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _020535F4 bl FUN_02021A20 _020535F4: ldr r0, [r4, #0x8] cmp r0, #0x0 beq _020535FE bl FUN_02021A20 _020535FE: pop {r4, pc} thumb_func_start FUN_02053600 FUN_02053600: ; 0x02053600 push {r3-r5, lr} add r5, r0, #0x0 mov r4, #0x0 _02053606: add r0, r5, #0x0 bl FUN_020535E0 add r4, r4, #0x1 add r5, #0x1c cmp r4, #0x1e blt _02053606 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02053618 FUN_02053618: ; 0x02053618 push {r4, lr} mov r1, #0x35 lsl r1, r1, #0x4 bl FUN_02016998 add r4, r0, #0x0 bl FUN_020535BC add r0, r4, #0x0 pop {r4, pc} thumb_func_start FUN_0205362C FUN_0205362C: ; 0x0205362C push {r4, lr} add r4, r0, #0x0 bl FUN_02053600 add r0, r4, #0x0 bl FUN_02016A18 pop {r4, pc} thumb_func_start FUN_0205363C FUN_0205363C: ; 0x0205363C push {r3-r7, lr} add r7, r2, #0x0 lsl r0, r0, #0x1d ldr r2, _02053670 ; =0x020F5AC4 lsr r0, r0, #0x19 add r5, r2, r0 lsl r2, r1, #0x3 mov r1, #0xc ldr r0, _02053674 ; =0x020F5B44 mul r1, r2 mov r4, #0x0 add r6, r0, r1 _02053654: ldr r3, [r5, #0x0] mov r2, #0xc mul r2, r3 add r2, r6, r2 ldr r2, [r2, #0x4] add r0, r7, #0x0 add r1, r4, #0x0 bl FUN_0200B064 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 blt _02053654 pop {r3-r7, pc} .balign 4 _02053670: .word 0x020F5AC4 _02053674: .word 0x020F5B44 thumb_func_start FUN_02053678 FUN_02053678: ; 0x02053678 lsl r0, r0, #0x1d lsr r3, r0, #0x19 ldr r0, _02053694 ; =0x020F5AC4 lsl r2, r2, #0x2 add r0, r0, r3 ldr r0, [r2, r0] lsl r1, r1, #0x3 add r1, r1, r0 mov r0, #0xc add r2, r1, #0x0 mul r2, r0 ldr r0, _02053698 ; =0x020F5B44 ldr r0, [r0, r2] bx lr .balign 4 _02053694: .word 0x020F5AC4 _02053698: .word 0x020F5B44 thumb_func_start FUN_0205369C FUN_0205369C: ; 0x0205369C push {r3-r4} lsl r4, r0, #0x3 mov r0, #0xc ldr r2, _020536C4 ; =0x020F5B44 mul r0, r4 mov r3, #0x0 add r2, r2, r0 _020536AA: ldr r0, [r2, #0x0] cmp r1, r0 bne _020536B6 add r0, r3, r4 pop {r3-r4} bx lr _020536B6: add r3, r3, #0x1 add r2, #0xc cmp r3, #0x8 blt _020536AA mov r0, #0x0 pop {r3-r4} bx lr .balign 4 _020536C4: .word 0x020F5B44 thumb_func_start FUN_020536C8 FUN_020536C8: ; 0x020536C8 ldr r3, _020536CC ; =FUN_0205369C bx r3 .balign 4 _020536CC: .word FUN_0205369C thumb_func_start FUN_020536D0 FUN_020536D0: ; 0x020536D0 push {r4, lr} add r4, r2, #0x0 bl FUN_0205369C cmp r4, #0x0 beq _020536FE cmp r4, #0x1 beq _020536EE cmp r4, #0x2 bne _020536F8 mov r1, #0xc mul r1, r0 ldr r0, _02053700 ; =0x020F5B48 ldr r0, [r0, r1] pop {r4, pc} _020536EE: mov r1, #0xc mul r1, r0 ldr r0, _02053704 ; =0x020F5B4C ldr r0, [r0, r1] pop {r4, pc} _020536F8: bl ErrorHandling mov r0, #0x0 _020536FE: pop {r4, pc} .balign 4 _02053700: .word 0x020F5B48 _02053704: .word 0x020F5B4C thumb_func_start FUN_02053708 FUN_02053708: ; 0x02053708 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 mov r0, #0x56 mov r1, #0x7 add r2, sp, #0x0 add r3, r5, #0x0 bl FUN_02006C08 mov r1, #0x9 add r4, r0, #0x0 add r0, r5, #0x0 lsl r1, r1, #0x6 bl FUN_02016998 add r5, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x0 ldr r3, [r0, #0xc] mov r0, #0x1 add r6, r5, #0x0 lsl r0, r0, #0x8 _02053734: ldrh r1, [r3, #0x0] add r2, r2, #0x1 add r3, r3, #0x2 strh r1, [r6, #0x0] add r6, r6, #0x2 cmp r2, r0 blt _02053734 add r0, r4, #0x0 bl FUN_02016A18 add r0, r5, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 thumb_func_start FUN_02053750 FUN_02053750: ; 0x02053750 push {r3-r7, lr} sub sp, #0x18 add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _02053762 bl FUN_0201FDEC _02053762: mov r1, #0x6 lsl r1, r1, #0x6 ldr r0, [r4, r1] cmp r0, #0x5 bls _0205376E b _020538B2 _0205376E: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205377A: ; jump table (using 16-bit offset) .short _02053786 - _0205377A - 2; case 0 .short _020537AA - _0205377A - 2; case 1 .short _020537DA - _0205377A - 2; case 2 .short _0205385C - _0205377A - 2; case 3 .short _02053872 - _0205377A - 2; case 4 .short _020538A2 - _0205377A - 2; case 5 _02053786: ldr r0, [r4, #0x0] ldr r0, [r0, #0x38] bl FUN_020553A0 bl FUN_02058914 ldr r0, [r4, #0x0] mov r1, #0x0 ldr r0, [r0, #0x38] bl FUN_0205537C mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] add sp, #0x18 add r1, r1, #0x1 str r1, [r4, r0] pop {r3-r7, pc} _020537AA: sub r1, #0x24 add r0, r4, #0x0 add r1, r4, r1 mov r2, #0x0 bl FUN_02053F38 mov r1, #0x5b lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 mov r2, #0x1 bl FUN_02053F38 mov r0, #0x5f mov r1, #0x2 lsl r0, r0, #0x2 str r1, [r4, r0] add r1, r0, #0x4 ldr r1, [r4, r1] add r0, r0, #0x4 add r1, r1, #0x1 add sp, #0x18 str r1, [r4, r0] pop {r3-r7, pc} _020537DA: mov r0, #0x0 str r0, [sp, #0xc] sub r0, r1, #0x4 ldr r0, [r4, r0] cmp r0, #0x0 ble _02053810 sub r1, #0x24 add r7, r4, r1 add r6, r4, #0x0 add r5, sp, #0x10 _020537EE: mov r1, #0x5a lsl r1, r1, #0x2 ldr r1, [r6, r1] add r0, r7, #0x0 blx r1 stmia r5!, {r0} ldr r0, [sp, #0xc] add r7, #0x10 add r0, r0, #0x1 str r0, [sp, #0xc] mov r0, #0x5f lsl r0, r0, #0x2 ldr r1, [r4, r0] ldr r0, [sp, #0xc] add r6, #0x10 cmp r0, r1 blt _020537EE _02053810: ldr r0, [sp, #0x10] cmp r0, #0x2 bne _0205382E mov r0, #0x6 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 _0205382E: mov r0, #0x5f lsl r0, r0, #0x2 ldr r2, [r4, r0] mov r3, #0x0 cmp r2, #0x0 ble _0205384A add r1, sp, #0x10 _0205383C: ldr r0, [r1, #0x0] cmp r0, #0x0 bne _0205384A add r3, r3, #0x1 add r1, r1, #0x4 cmp r3, r2 blt _0205383C _0205384A: cmp r3, r2 bne _020538B2 mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] add sp, #0x18 add r1, r1, #0x1 str r1, [r4, r0] pop {r3-r7, pc} _0205385C: bl FUN_0200E308 cmp r0, #0x0 beq _020538B2 mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] add sp, #0x18 add r1, r1, #0x1 str r1, [r4, r0] pop {r3-r7, pc} _02053872: sub r0, r1, #0x4 ldr r0, [r4, r0] mov r6, #0x0 cmp r0, #0x0 ble _02053894 sub r1, #0x24 mov r7, #0x5f add r5, r4, r1 lsl r7, r7, #0x2 _02053884: add r0, r5, #0x0 bl FUN_02054070 ldr r0, [r4, r7] add r6, r6, #0x1 add r5, #0x10 cmp r6, r0 blt _02053884 _02053894: mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] add sp, #0x18 add r1, r1, #0x1 str r1, [r4, r0] pop {r3-r7, pc} _020538A2: add r1, #0x8 ldr r0, [r4, r1] mov r2, #0x1 str r2, [r0, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02053D3C _020538B2: add sp, #0x18 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020538B8 FUN_020538B8: ; 0x020538B8 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 add r4, r1, #0x0 mov r1, #0x0 add r0, sp, #0xc strh r1, [r0, #0x0] mov r0, #0x6 lsl r0, r0, #0x6 ldr r0, [r4, r0] cmp r0, #0x5 beq _020538D6 ldr r0, [r4, #0x4] bl FUN_0201FDEC _020538D6: mov r1, #0x6 lsl r1, r1, #0x6 ldr r0, [r4, r1] cmp r0, #0x5 bls _020538E2 b _020539EA _020538E2: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020538EE: ; jump table (using 16-bit offset) .short _020538FA - _020538EE - 2; case 0 .short _02053912 - _020538EE - 2; case 1 .short _0205396E - _020538EE - 2; case 2 .short _020539A2 - _020538EE - 2; case 3 .short _020539C4 - _020538EE - 2; case 4 .short _020539DA - _020538EE - 2; case 5 _020538FA: ldr r0, [r4, #0x0] mov r1, #0x0 ldr r0, [r0, #0x38] bl FUN_0205537C mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] add sp, #0x10 add r1, r1, #0x1 str r1, [r4, r0] pop {r3-r5, pc} _02053912: mov r0, #0x4 add r1, sp, #0xc mov r2, #0x2 mov r3, #0x0 bl FUN_02017FB4 mov r0, #0x1 mov r1, #0x0 bl FUN_0201E74C mov r0, #0x2 mov r1, #0x0 bl FUN_0201E74C mov r1, #0x57 lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 mov r2, #0x2 bl FUN_02053F38 mov r0, #0x6 str r0, [sp, #0x0] mov r1, #0x1 str r1, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] mov r0, #0x0 add r2, r1, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 ldr r0, _020539F0 ; =0x0000062F bl FUN_020054C8 mov r0, #0x5f mov r1, #0x1 lsl r0, r0, #0x2 str r1, [r4, r0] add r1, r0, #0x4 ldr r1, [r4, r1] add r0, r0, #0x4 add r1, r1, #0x1 add sp, #0x10 str r1, [r4, r0] pop {r3-r5, pc} _0205396E: add r0, r1, #0x0 sub r1, #0x18 sub r0, #0x24 ldr r1, [r4, r1] add r0, r4, r0 blx r1 cmp r0, #0x0 bne _020539EA bl FUN_0200E308 cmp r0, #0x0 beq _020539EA ldr r0, _020539F4 ; =0x00000631 bl FUN_020054C8 mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] add sp, #0x10 add r1, r1, #0x1 str r1, [r4, r0] mov r1, #0xfe mvn r1, r1 add r0, r0, #0x4 str r1, [r4, r0] pop {r3-r5, pc} _020539A2: add r0, r1, #0x4 ldr r2, [r4, r0] add r2, #0x10 str r2, [r4, r0] ldr r0, [r4, r0] cmp r0, #0x0 ble _020539EA ldr r0, [r4, r1] add r0, r0, #0x1 str r0, [r4, r1] ldr r0, [r4, #0x0] mov r1, #0x1 ldr r0, [r0, #0x38] bl FUN_0205537C add sp, #0x10 pop {r3-r5, pc} _020539C4: sub r1, #0x24 add r0, r4, r1 bl FUN_02054070 mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] add sp, #0x10 add r1, r1, #0x1 str r1, [r4, r0] pop {r3-r5, pc} _020539DA: add r1, #0x8 ldr r0, [r4, r1] mov r2, #0x1 str r2, [r0, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02053D3C _020539EA: add sp, #0x10 pop {r3-r5, pc} nop _020539F0: .word 0x0000062F _020539F4: .word 0x00000631 thumb_func_start FUN_020539F8 FUN_020539F8: ; 0x020539F8 push {r4-r5, lr} sub sp, #0xc add r5, r0, #0x0 mov r0, #0x6 add r4, r1, #0x0 lsl r0, r0, #0x6 ldr r0, [r4, r0] cmp r0, #0x6 beq _02053A10 ldr r0, [r4, #0x4] bl FUN_0201FDEC _02053A10: mov r1, #0x6 lsl r1, r1, #0x6 ldr r0, [r4, r1] cmp r0, #0x6 bls _02053A1C b _02053B30 _02053A1C: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02053A28: ; jump table (using 16-bit offset) .short _02053A36 - _02053A28 - 2; case 0 .short _02053A4E - _02053A28 - 2; case 1 .short _02053A78 - _02053A28 - 2; case 2 .short _02053AA0 - _02053A28 - 2; case 3 .short _02053AE2 - _02053A28 - 2; case 4 .short _02053B00 - _02053A28 - 2; case 5 .short _02053B16 - _02053A28 - 2; case 6 _02053A36: ldr r0, [r4, #0x0] mov r1, #0x0 ldr r0, [r0, #0x38] bl FUN_0205537C mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] add sp, #0xc add r1, r1, #0x1 str r1, [r4, r0] pop {r4-r5, pc} _02053A4E: sub r1, #0x24 add r0, r4, #0x0 add r1, r4, r1 mov r2, #0x3 bl FUN_02053F38 mov r0, #0x63 lsl r0, r0, #0x4 bl FUN_020054C8 mov r0, #0x5f mov r1, #0x1 lsl r0, r0, #0x2 str r1, [r4, r0] add r1, r0, #0x4 ldr r1, [r4, r1] add r0, r0, #0x4 add r1, r1, #0x1 add sp, #0xc str r1, [r4, r0] pop {r4-r5, pc} _02053A78: add r0, r1, #0x4 ldr r2, [r4, r0] sub r2, #0x20 str r2, [r4, r0] ldr r1, [r4, r0] mov r0, #0xfe mvn r0, r0 cmp r1, r0 bge _02053B30 mov r0, #0x1 mov r1, #0x0 bl FUN_0201E74C mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] add sp, #0xc add r1, r1, #0x1 str r1, [r4, r0] pop {r4-r5, pc} _02053AA0: add r0, r1, #0x0 sub r1, #0x18 sub r0, #0x24 ldr r1, [r4, r1] add r0, r4, r0 blx r1 add r5, r0, #0x0 cmp r5, #0x2 bne _02053AD0 mov r1, #0x61 mov r0, #0x0 lsl r1, r1, #0x2 str r0, [r4, r1] mov r1, #0x6 str r1, [sp, #0x0] mov r1, #0x1 str r1, [sp, #0x4] mov r1, #0x4 str r1, [sp, #0x8] ldr r3, _02053B34 ; =0x00007FFF add r1, r0, #0x0 add r2, r0, #0x0 bl FUN_0200E1D0 _02053AD0: cmp r5, #0x0 bne _02053B30 mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] add sp, #0xc add r1, r1, #0x1 str r1, [r4, r0] pop {r4-r5, pc} _02053AE2: bl FUN_0200E308 cmp r0, #0x0 beq _02053B30 mov r0, #0x61 mov r1, #0x0 lsl r0, r0, #0x2 str r1, [r4, r0] sub r1, r0, #0x4 ldr r1, [r4, r1] sub r0, r0, #0x4 add r1, r1, #0x1 add sp, #0xc str r1, [r4, r0] pop {r4-r5, pc} _02053B00: sub r1, #0x24 add r0, r4, r1 bl FUN_02054070 mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] add sp, #0xc add r1, r1, #0x1 str r1, [r4, r0] pop {r4-r5, pc} _02053B16: mov r0, #0x2 mov r1, #0x0 bl FUN_0201E74C mov r0, #0x62 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 str r1, [r0, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02053D3C _02053B30: add sp, #0xc pop {r4-r5, pc} .balign 4 _02053B34: .word 0x00007FFF thumb_func_start FUN_02053B38 FUN_02053B38: ; 0x02053B38 push {r4-r5, lr} sub sp, #0xc add r5, r0, #0x0 mov r0, #0x6 add r4, r1, #0x0 lsl r0, r0, #0x6 ldr r0, [r4, r0] cmp r0, #0x6 beq _02053B50 ldr r0, [r4, #0x4] bl FUN_0201FDEC _02053B50: mov r1, #0x6 lsl r1, r1, #0x6 ldr r0, [r4, r1] cmp r0, #0x6 bls _02053B5C b _02053C8C _02053B5C: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02053B68: ; jump table (using 16-bit offset) .short _02053B76 - _02053B68 - 2; case 0 .short _02053BB2 - _02053B68 - 2; case 1 .short _02053BD6 - _02053B68 - 2; case 2 .short _02053BF2 - _02053B68 - 2; case 3 .short _02053C22 - _02053B68 - 2; case 4 .short _02053C66 - _02053B68 - 2; case 5 .short _02053C7C - _02053B68 - 2; case 6 _02053B76: ldr r0, [r4, #0x0] mov r1, #0x0 ldr r0, [r0, #0x38] bl FUN_0205537C mov r1, #0x57 lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 mov r2, #0x4 bl FUN_02053F38 mov r1, #0x5b lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 mov r2, #0x5 bl FUN_02053F38 mov r0, #0x5f mov r1, #0x2 lsl r0, r0, #0x2 str r1, [r4, r0] add r1, r0, #0x4 ldr r1, [r4, r1] add r0, r0, #0x4 add r1, r1, #0x1 add sp, #0xc str r1, [r4, r0] pop {r4-r5, pc} _02053BB2: mov r0, #0x6 str r0, [sp, #0x0] mov r1, #0x1 str r1, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] ldr r3, _02053C90 ; =0x00007FFF mov r0, #0x0 add r2, r1, #0x0 bl FUN_0200E1D0 mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] add sp, #0xc add r1, r1, #0x1 str r1, [r4, r0] pop {r4-r5, pc} _02053BD6: bl FUN_0200E308 cmp r0, #0x0 beq _02053C8C ldr r0, _02053C94 ; =0x00000632 bl FUN_020054C8 mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] add sp, #0xc add r1, r1, #0x1 str r1, [r4, r0] pop {r4-r5, pc} _02053BF2: add r0, r1, #0x0 sub r1, #0x18 sub r0, #0x24 ldr r1, [r4, r1] add r0, r4, r0 blx r1 cmp r0, #0x0 bne _02053C8C ldr r0, [r4, #0x0] mov r1, #0x1 ldr r0, [r0, #0x38] bl FUN_0205537C mov r0, #0x61 mov r1, #0x6 lsl r0, r0, #0x2 str r1, [r4, r0] sub r1, r0, #0x4 ldr r1, [r4, r1] sub r0, r0, #0x4 add r1, r1, #0x1 add sp, #0xc str r1, [r4, r0] pop {r4-r5, pc} _02053C22: add r0, r1, #0x0 sub r1, #0x8 sub r0, #0x14 ldr r1, [r4, r1] add r0, r4, r0 blx r1 add r5, r0, #0x0 mov r0, #0x61 lsl r0, r0, #0x2 ldr r1, [r4, r0] cmp r1, #0x0 bgt _02053C50 bne _02053C54 sub r0, #0x28 add r0, r4, r0 bl FUN_02054070 mov r0, #0x61 lsl r0, r0, #0x2 ldr r1, [r4, r0] sub r1, r1, #0x1 str r1, [r4, r0] b _02053C54 _02053C50: sub r1, r1, #0x1 str r1, [r4, r0] _02053C54: cmp r5, #0x0 bne _02053C8C mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] add sp, #0xc add r1, r1, #0x1 str r1, [r4, r0] pop {r4-r5, pc} _02053C66: sub r1, #0x14 add r0, r4, r1 bl FUN_02054070 mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] add sp, #0xc add r1, r1, #0x1 str r1, [r4, r0] pop {r4-r5, pc} _02053C7C: add r1, #0x8 ldr r0, [r4, r1] mov r2, #0x1 str r2, [r0, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02053D3C _02053C8C: add sp, #0xc pop {r4-r5, pc} .balign 4 _02053C90: .word 0x00007FFF _02053C94: .word 0x00000632 thumb_func_start FUN_02053C98 FUN_02053C98: ; 0x02053C98 push {r3-r5, lr} add r3, r1, #0x0 add r4, r0, #0x0 add r5, r2, #0x0 cmp r3, #0x3 bhi _02053CEE add r1, r3, r3 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02053CB0: ; jump table (using 16-bit offset) .short _02053CB8 - _02053CB0 - 2; case 0 .short _02053CC6 - _02053CB0 - 2; case 1 .short _02053CD4 - _02053CB0 - 2; case 2 .short _02053CE2 - _02053CB0 - 2; case 3 _02053CB8: ldr r2, _02053CF8 ; =0x020F5C04 ldr r0, _02053CFC ; =FUN_02053750 ldrb r2, [r2, r3] add r1, r4, #0x0 bl FUN_02053D0C b _02053CEE _02053CC6: ldr r2, _02053CF8 ; =0x020F5C04 ldr r0, _02053D00 ; =FUN_020538B8 ldrb r2, [r2, r3] add r1, r4, #0x0 bl FUN_02053D0C b _02053CEE _02053CD4: ldr r2, _02053CF8 ; =0x020F5C04 ldr r0, _02053D04 ; =FUN_020539F8 ldrb r2, [r2, r3] add r1, r4, #0x0 bl FUN_02053D0C b _02053CEE _02053CE2: ldr r2, _02053CF8 ; =0x020F5C04 ldr r0, _02053D08 ; =FUN_02053B38 ldrb r2, [r2, r3] add r1, r4, #0x0 bl FUN_02053D0C _02053CEE: mov r1, #0x62 lsl r1, r1, #0x2 str r5, [r0, r1] str r4, [r0, #0x0] pop {r3-r5, pc} .balign 4 _02053CF8: .word 0x020F5C04 _02053CFC: .word FUN_02053750 _02053D00: .word FUN_020538B8 _02053D04: .word FUN_020539F8 _02053D08: .word FUN_02053B38 thumb_func_start FUN_02053D0C FUN_02053D0C: ; 0x02053D0C push {r4-r6, lr} add r5, r1, #0x0 mov r1, #0x63 add r6, r2, #0x0 lsl r1, r1, #0x2 mov r2, #0x5 mov r3, #0x4 bl FUN_020061E8 bl FUN_0201B6C8 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_020238F4 bl FUN_020239CC add r1, r0, #0x0 add r0, r4, #0x4 add r2, r6, #0x0 bl FUN_02053D50 add r0, r4, #0x0 pop {r4-r6, pc} thumb_func_start FUN_02053D3C FUN_02053D3C: ; 0x02053D3C push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x4 bl FUN_02053D68 add r0, r4, #0x0 bl FUN_0200621C pop {r4, pc} .balign 4 thumb_func_start FUN_02053D50 FUN_02053D50: ; 0x02053D50 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_02053D70 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02053D94 pop {r4-r6, pc} thumb_func_start FUN_02053D68 FUN_02053D68: ; 0x02053D68 ldr r3, _02053D6C ; =FUN_02053EF0 bx r3 .balign 4 _02053D6C: .word FUN_02053EF0 thumb_func_start FUN_02053D70 FUN_02053D70: ; 0x02053D70 push {r4, lr} add r4, r0, #0x0 add r1, r4, #0x0 mov r0, #0x2 add r1, #0x30 mov r2, #0x4 bl FUN_02008C9C str r0, [r4, #0x0] mov r0, #0x10 mov r1, #0x1 bl FUN_0201E6E4 mov r0, #0x10 mov r1, #0x1 bl FUN_0201E74C pop {r4, pc} thumb_func_start FUN_02053D94 FUN_02053D94: ; 0x02053D94 push {r3-r7, lr} sub sp, #0x18 add r5, r0, #0x0 str r1, [sp, #0x10] add r7, r2, #0x0 mov r6, #0x0 add r4, r5, #0x0 _02053DA2: mov r0, #0x2 add r1, r6, #0x0 mov r2, #0x4 bl FUN_02008DEC str r0, [r4, #0x8] add r6, r6, #0x1 add r4, r4, #0x4 cmp r6, #0x4 blt _02053DA2 ldr r0, [sp, #0x10] add r1, r5, #0x0 lsl r0, r0, #0x2 str r0, [sp, #0x14] ldr r3, _02053E78 ; =0x02105EC8 ldr r2, [sp, #0x14] ldr r0, [r5, #0x8] ldr r2, [r3, r2] add r1, #0x18 bl FUN_02053E8C str r0, [r5, #0x20] ldr r1, [r5, #0x18] mov r6, #0x0 ldr r0, [r1, #0x8] cmp r0, #0x0 ble _02053DF0 add r4, r6, #0x0 _02053DDA: ldr r0, [r1, #0x0] add r1, r7, #0x0 ldr r0, [r0, r4] bl FUN_02009630 ldr r1, [r5, #0x18] add r6, r6, #0x1 ldr r0, [r1, #0x8] add r4, r4, #0x4 cmp r6, r0 blt _02053DDA _02053DF0: ldr r3, _02053E7C ; =0x02105ED0 ldr r2, [sp, #0x14] add r1, r5, #0x0 ldr r0, [r5, #0xc] ldr r2, [r3, r2] add r1, #0x1c bl FUN_02053E8C str r0, [r5, #0x24] ldr r1, [r5, #0x1c] mov r6, #0x0 ldr r0, [r1, #0x8] cmp r0, #0x0 ble _02053E24 add r4, r6, #0x0 _02053E0E: ldr r0, [r1, #0x0] add r1, r7, #0x0 ldr r0, [r0, r4] bl FUN_02009630 ldr r1, [r5, #0x1c] add r6, r6, #0x1 ldr r0, [r1, #0x8] add r4, r4, #0x4 cmp r6, r0 blt _02053E0E _02053E24: ldr r0, [r5, #0x10] ldr r2, _02053E80 ; =0x02105F48 mov r1, #0x0 bl FUN_02053E8C str r0, [r5, #0x28] ldr r0, [r5, #0x14] ldr r2, _02053E84 ; =0x02105F64 mov r1, #0x0 bl FUN_02053E8C str r0, [r5, #0x2c] ldr r0, [r5, #0x18] bl FUN_02009B44 ldr r0, [r5, #0x1c] bl FUN_02009DAC ldr r1, _02053E88 ; =0x02105F80 mov r0, #0x4 bl FUN_020161A4 ldr r1, [r5, #0x10] add r4, r0, #0x0 str r1, [sp, #0x0] ldr r1, [r5, #0x14] str r1, [sp, #0x4] mov r1, #0x0 str r1, [sp, #0x8] str r1, [sp, #0xc] ldr r2, [r5, #0x8] ldr r3, [r5, #0xc] mov r1, #0x4 bl FUN_02008BE0 str r0, [r5, #0x4] add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 pop {r3-r7, pc} nop _02053E78: .word 0x02105EC8 _02053E7C: .word 0x02105ED0 _02053E80: .word 0x02105F48 _02053E84: .word 0x02105F64 _02053E88: .word 0x02105F80 thumb_func_start FUN_02053E8C FUN_02053E8C: ; 0x02053E8C push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 bl FUN_0200965C add r1, r0, #0x0 mov r0, #0x4 bl FUN_020169D8 add r4, r0, #0x0 mov r0, #0x4 add r1, r6, #0x0 bl FUN_020161A4 add r6, r0, #0x0 add r1, r4, #0x0 mov r2, #0x4 bl FUN_02009668 add r0, r6, #0x0 bl FUN_02016A18 cmp r5, #0x0 beq _02053ED0 add r0, r4, #0x0 bl FUN_020096CC mov r1, #0x4 bl FUN_02009424 str r0, [r5, #0x0] add r2, r0, #0x0 b _02053ED2 _02053ED0: mov r2, #0x0 _02053ED2: add r0, r7, #0x0 add r1, r4, #0x0 mov r3, #0x4 bl FUN_020093A8 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_020096B4 add r0, r4, #0x0 bl FUN_02016A18 add r0, r5, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02053EF0 FUN_02053EF0: ; 0x02053EF0 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_0201FD58 mov r0, #0x0 str r0, [r5, #0x0] ldr r0, [r5, #0x4] bl FUN_02008C80 mov r0, #0x0 str r0, [r5, #0x4] ldr r0, [r5, #0x18] bl FUN_02009C30 ldr r0, [r5, #0x1c] bl FUN_02009E28 mov r6, #0x0 add r4, r5, #0x0 _02053F18: ldr r0, [r4, #0x18] bl FUN_02009448 add r6, r6, #0x1 add r4, r4, #0x4 cmp r6, #0x2 blt _02053F18 mov r4, #0x0 _02053F28: ldr r0, [r5, #0x8] bl FUN_02008E2C add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 blt _02053F28 pop {r4-r6, pc} thumb_func_start FUN_02053F38 FUN_02053F38: ; 0x02053F38 push {r3-r5, lr} add r5, r1, #0x0 mov r4, #0x10 mov r3, #0x0 _02053F40: strb r3, [r5, #0x0] add r5, r5, #0x1 sub r4, r4, #0x1 bne _02053F40 cmp r2, #0x5 bhi _02053FB6 add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _02053F58: ; jump table (using 16-bit offset) .short _02053F64 - _02053F58 - 2; case 0 .short _02053F72 - _02053F58 - 2; case 1 .short _02053F80 - _02053F58 - 2; case 2 .short _02053F8E - _02053F58 - 2; case 3 .short _02053F9C - _02053F58 - 2; case 4 .short _02053FAA - _02053F58 - 2; case 5 _02053F64: ldr r2, _02053FC0 ; =FUN_02054088 str r2, [r1, #0x4] ldr r2, _02053FC4 ; =FUN_020540C8 str r2, [r1, #0x8] ldr r2, _02053FC8 ; =FUN_020540E8 str r2, [r1, #0xc] b _02053FB6 _02053F72: ldr r2, _02053FCC ; =FUN_02054168 str r2, [r1, #0x4] ldr r2, _02053FD0 ; =FUN_020541A4 str r2, [r1, #0x8] ldr r2, _02053FD4 ; =FUN_020541C4 str r2, [r1, #0xc] b _02053FB6 _02053F80: ldr r2, _02053FD8 ; =FUN_020541E8 str r2, [r1, #0x4] ldr r2, _02053FDC ; =FUN_02054228 str r2, [r1, #0x8] ldr r2, _02053FE0 ; =FUN_02054248 str r2, [r1, #0xc] b _02053FB6 _02053F8E: ldr r2, _02053FE4 ; =FUN_020542A4 str r2, [r1, #0x4] ldr r2, _02053FE8 ; =FUN_020542E8 str r2, [r1, #0x8] ldr r2, _02053FEC ; =FUN_02054308 str r2, [r1, #0xc] b _02053FB6 _02053F9C: ldr r2, _02053FF0 ; =FUN_020543D8 str r2, [r1, #0x4] ldr r2, _02053FF4 ; =FUN_0205442C str r2, [r1, #0x8] ldr r2, _02053FF8 ; =FUN_0205444C str r2, [r1, #0xc] b _02053FB6 _02053FAA: ldr r2, _02053FFC ; =FUN_02054508 str r2, [r1, #0x4] ldr r2, _02054000 ; =FUN_0205454C str r2, [r1, #0x8] ldr r2, _02054004 ; =FUN_0205456C str r2, [r1, #0xc] _02053FB6: ldr r2, [r1, #0x4] add r0, r0, #0x4 blx r2 pop {r3-r5, pc} nop _02053FC0: .word FUN_02054088 _02053FC4: .word FUN_020540C8 _02053FC8: .word FUN_020540E8 _02053FCC: .word FUN_02054168 _02053FD0: .word FUN_020541A4 _02053FD4: .word FUN_020541C4 _02053FD8: .word FUN_020541E8 _02053FDC: .word FUN_02054228 _02053FE0: .word FUN_02054248 _02053FE4: .word FUN_020542A4 _02053FE8: .word FUN_020542E8 _02053FEC: .word FUN_02054308 _02053FF0: .word FUN_020543D8 _02053FF4: .word FUN_0205442C _02053FF8: .word FUN_0205444C _02053FFC: .word FUN_02054508 _02054000: .word FUN_0205454C _02054004: .word FUN_0205456C thumb_func_start FUN_02054008 FUN_02054008: ; 0x02054008 push {r3-r7, lr} sub sp, #0x30 add r5, r0, #0x0 add r7, sp, #0x0 add r6, r3, #0x0 mov r0, #0x0 add r4, r1, #0x0 add r3, r7, #0x0 add r1, r0, #0x0 stmia r3!, {r0-r1} stmia r3!, {r0-r1} stmia r3!, {r0-r1} stmia r3!, {r0-r1} stmia r3!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] add r3, sp, #0x8 str r0, [sp, #0x0] ldr r0, [r5, #0x4] ldr r1, [r0, #0x0] mov r0, #0x24 mul r0, r4 add r0, r1, r0 str r0, [sp, #0x4] ldmia r2!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r2, #0x0] add r2, sp, #0x14 str r0, [r3, #0x0] ldr r3, _0205406C ; =0x020F5C08 ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r3, #0x0] str r0, [r2, #0x0] ldr r0, [sp, #0x48] str r6, [sp, #0x24] str r0, [sp, #0x28] mov r0, #0x4 str r0, [sp, #0x2c] add r0, r7, #0x0 bl FUN_0201FE94 add r4, r0, #0x0 bne _02054064 bl ErrorHandling _02054064: add r0, r4, #0x0 add sp, #0x30 pop {r3-r7, pc} nop _0205406C: .word 0x020F5C08 thumb_func_start FUN_02054070 FUN_02054070: ; 0x02054070 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x8] blx r1 mov r1, #0x10 mov r0, #0x0 _0205407C: strb r0, [r4, #0x0] add r4, r4, #0x1 sub r1, r1, #0x1 bne _0205407C pop {r4, pc} .balign 4 thumb_func_start FUN_02054088 FUN_02054088: ; 0x02054088 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 mov r0, #0x4 mov r1, #0x14 bl FUN_02016998 str r0, [r5, #0x0] mov r2, #0x14 mov r1, #0x0 _0205409C: strb r1, [r0, #0x0] add r0, r0, #0x1 sub r2, r2, #0x1 bne _0205409C ldr r5, [r5, #0x0] mov r0, #0x7 lsl r0, r0, #0x10 str r0, [r5, #0x0] mov r0, #0x45 lsl r0, r0, #0xc str r0, [r5, #0x4] mov r0, #0x1 mov r1, #0x0 str r0, [sp, #0x0] add r0, r4, #0x0 add r2, r5, #0x0 add r3, r1, #0x0 bl FUN_02054008 str r0, [r5, #0xc] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020540C8 FUN_020540C8: ; 0x020540C8 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _020540E4 ldr r0, [r0, #0xc] bl FUN_0201FFC8 ldr r1, [r4, #0x0] mov r0, #0x4 bl FUN_02016A8C mov r0, #0x0 str r0, [r4, #0x0] _020540E4: pop {r4, pc} .balign 4 thumb_func_start FUN_020540E8 FUN_020540E8: ; 0x020540E8 push {r3-r6, lr} sub sp, #0xc ldr r4, [r0, #0x0] mov r2, #0x2 ldr r0, [r4, #0x10] lsl r2, r2, #0xe cmp r0, r2 bgt _0205415E add r6, r4, #0x0 ldmia r6!, {r0-r1} add r5, sp, #0x0 add r3, r5, #0x0 stmia r5!, {r0-r1} ldr r0, [r6, #0x0] lsr r2, r2, #0x4 str r0, [r5, #0x0] ldr r0, [r4, #0x10] ldr r1, [sp, #0x4] asr r0, r0, #0x4 lsl r5, r0, #0x2 ldr r0, _02054164 ; =0x020FFA38 ldrsh r5, [r0, r5] asr r0, r5, #0x1f lsr r6, r5, #0x10 lsl r0, r0, #0x10 orr r0, r6 lsl r6, r5, #0x10 mov r5, #0x0 add r2, r6, r2 adc r0, r5 lsl r0, r0, #0x14 lsr r2, r2, #0xc orr r2, r0 sub r0, r1, r2 str r0, [sp, #0x4] ldr r0, [r4, #0xc] add r1, r3, #0x0 bl FUN_02020044 mov r1, #0x2 ldr r0, [r4, #0x10] lsl r1, r1, #0xa add r0, r0, r1 str r0, [r4, #0x10] ldr r0, [r4, #0xc] lsl r1, r1, #0x1 bl FUN_020201E4 mov r0, #0x2 ldr r1, [r4, #0x10] lsl r0, r0, #0xe cmp r1, r0 bne _02054158 add sp, #0xc mov r0, #0x2 pop {r3-r6, pc} _02054158: add sp, #0xc mov r0, #0x1 pop {r3-r6, pc} _0205415E: mov r0, #0x0 add sp, #0xc pop {r3-r6, pc} .balign 4 _02054164: .word 0x020FFA38 thumb_func_start FUN_02054168 FUN_02054168: ; 0x02054168 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 mov r0, #0x4 mov r1, #0x14 bl FUN_02016998 str r0, [r5, #0x0] mov r2, #0x14 mov r1, #0x0 _0205417C: strb r1, [r0, #0x0] add r0, r0, #0x1 sub r2, r2, #0x1 bne _0205417C ldr r5, [r5, #0x0] mov r0, #0x7 lsl r0, r0, #0x10 str r0, [r5, #0x0] mov r0, #0x6 lsl r0, r0, #0x10 mov r1, #0x1 str r0, [r5, #0x4] add r0, r4, #0x0 add r2, r5, #0x0 add r3, r1, #0x0 str r1, [sp, #0x0] bl FUN_02054008 str r0, [r5, #0xc] pop {r3-r5, pc} thumb_func_start FUN_020541A4 FUN_020541A4: ; 0x020541A4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _020541C0 ldr r0, [r0, #0xc] bl FUN_0201FFC8 ldr r1, [r4, #0x0] mov r0, #0x4 bl FUN_02016A8C mov r0, #0x0 str r0, [r4, #0x0] _020541C0: pop {r4, pc} .balign 4 thumb_func_start FUN_020541C4 FUN_020541C4: ; 0x020541C4 push {r4, lr} ldr r4, [r0, #0x0] ldr r0, [r4, #0x10] cmp r0, #0x7 bge _020541E2 mov r1, #0x1 ldr r0, [r4, #0xc] lsl r1, r1, #0xc bl FUN_020201E4 ldr r0, [r4, #0x10] add r0, r0, #0x1 str r0, [r4, #0x10] mov r0, #0x1 pop {r4, pc} _020541E2: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_020541E8 FUN_020541E8: ; 0x020541E8 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 mov r0, #0x4 mov r1, #0x14 bl FUN_02016998 str r0, [r5, #0x0] mov r2, #0x14 mov r1, #0x0 _020541FC: strb r1, [r0, #0x0] add r0, r0, #0x1 sub r2, r2, #0x1 bne _020541FC ldr r5, [r5, #0x0] mov r0, #0x7 lsl r0, r0, #0x10 str r0, [r5, #0x0] mov r0, #0x3 lsl r0, r0, #0x12 str r0, [r5, #0x4] mov r0, #0x1 mov r1, #0x0 str r0, [sp, #0x0] add r0, r4, #0x0 add r2, r5, #0x0 add r3, r1, #0x0 bl FUN_02054008 str r0, [r5, #0xc] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02054228 FUN_02054228: ; 0x02054228 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02054244 ldr r0, [r0, #0xc] bl FUN_0201FFC8 ldr r1, [r4, #0x0] mov r0, #0x4 bl FUN_02016A8C mov r0, #0x0 str r0, [r4, #0x0] _02054244: pop {r4, pc} .balign 4 thumb_func_start FUN_02054248 FUN_02054248: ; 0x02054248 push {r4, lr} ldr r4, [r0, #0x0] mov r0, #0x2 ldr r1, [r4, #0x4] lsl r0, r0, #0xe add r0, r1, r0 str r0, [r4, #0x4] ldr r0, [r4, #0xc] add r1, r4, #0x0 bl FUN_02020044 mov r1, #0x1 ldr r0, [r4, #0xc] lsl r1, r1, #0xc bl FUN_020201E4 ldr r0, [r4, #0x10] ldr r1, [r4, #0x4] cmp r0, #0x0 bne _02054284 mov r0, #0x6 lsl r0, r0, #0x12 cmp r1, r0 blt _0205429A ldr r0, _020542A0 ; =0xFFFE0000 str r0, [r4, #0x4] ldr r0, [r4, #0x10] add r0, r0, #0x1 str r0, [r4, #0x10] b _0205429A _02054284: mov r0, #0x45 lsl r0, r0, #0xc cmp r1, r0 blt _0205429A str r0, [r4, #0x4] ldr r0, [r4, #0xc] add r1, r4, #0x0 bl FUN_02020044 mov r0, #0x0 pop {r4, pc} _0205429A: mov r0, #0x1 pop {r4, pc} nop _020542A0: .word 0xFFFE0000 thumb_func_start FUN_020542A4 FUN_020542A4: ; 0x020542A4 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 mov r0, #0x4 mov r1, #0x18 bl FUN_02016998 str r0, [r5, #0x0] mov r2, #0x18 mov r1, #0x0 _020542B8: strb r1, [r0, #0x0] add r0, r0, #0x1 sub r2, r2, #0x1 bne _020542B8 ldr r5, [r5, #0x0] mov r0, #0x7 lsl r0, r0, #0x10 str r0, [r5, #0x0] mov r0, #0x45 lsl r0, r0, #0xc str r0, [r5, #0x4] mov r0, #0x1 mov r1, #0x0 str r0, [sp, #0x0] add r0, r4, #0x0 add r2, r5, #0x0 add r3, r1, #0x0 bl FUN_02054008 mov r1, #0x1 str r0, [r5, #0xc] bl FUN_02020130 pop {r3-r5, pc} thumb_func_start FUN_020542E8 FUN_020542E8: ; 0x020542E8 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02054304 ldr r0, [r0, #0xc] bl FUN_0201FFC8 ldr r1, [r4, #0x0] mov r0, #0x4 bl FUN_02016A8C mov r0, #0x0 str r0, [r4, #0x0] _02054304: pop {r4, pc} .balign 4 thumb_func_start FUN_02054308 FUN_02054308: ; 0x02054308 push {r3-r5, lr} ldr r4, [r0, #0x0] mov r5, #0x1 ldr r0, [r4, #0x10] cmp r0, #0x4 bhi _020543CC add r1, r0, r0 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02054320: ; jump table (using 16-bit offset) .short _0205432A - _02054320 - 2; case 0 .short _02054348 - _02054320 - 2; case 1 .short _02054376 - _02054320 - 2; case 2 .short _020543A2 - _02054320 - 2; case 3 .short _020543CA - _02054320 - 2; case 4 _0205432A: ldr r1, [r4, #0x14] ldr r0, _020543D0 ; =0x00000333 add r1, r1, r0 str r1, [r4, #0x14] ldr r0, [r4, #0xc] bl FUN_020201E4 ldr r1, [r4, #0x14] lsl r0, r5, #0xd cmp r1, r0 blt _020543CC ldr r0, [r4, #0x10] add r0, r0, #0x1 str r0, [r4, #0x10] b _020543CC _02054348: ldr r1, [r4, #0x4] ldr r0, _020543D4 ; =0xFFFE0000 cmp r1, r0 ble _02054368 lsl r0, r5, #0xf sub r0, r1, r0 str r0, [r4, #0x4] ldr r0, [r4, #0xc] add r1, r4, #0x0 bl FUN_02020044 ldr r0, [r4, #0xc] ldr r1, [r4, #0x14] bl FUN_020201E4 b _020543CC _02054368: mov r0, #0x6 lsl r0, r0, #0x12 str r0, [r4, #0x4] ldr r0, [r4, #0x10] add r0, r0, #0x1 str r0, [r4, #0x10] b _020543CC _02054376: ldr r1, [r4, #0x4] lsl r0, r5, #0xf sub r0, r1, r0 str r0, [r4, #0x4] ldr r0, [r4, #0xc] add r1, r4, #0x0 bl FUN_02020044 ldr r0, [r4, #0xc] ldr r1, [r4, #0x14] bl FUN_020201E4 mov r0, #0x4b ldr r1, [r4, #0x4] lsl r0, r0, #0xe cmp r1, r0 bge _020543CC ldr r0, [r4, #0x10] mov r5, #0x2 add r0, r0, #0x1 str r0, [r4, #0x10] b _020543CC _020543A2: mov r1, #0x3 ldr r2, [r4, #0x4] lsl r1, r1, #0x12 cmp r2, r1 ble _020543C4 lsl r0, r5, #0xf sub r0, r2, r0 str r0, [r4, #0x4] ldr r0, [r4, #0xc] add r1, r4, #0x0 bl FUN_02020044 ldr r0, [r4, #0xc] ldr r1, [r4, #0x14] bl FUN_020201E4 b _020543CC _020543C4: add r0, r0, #0x1 str r0, [r4, #0x10] b _020543CC _020543CA: mov r5, #0x0 _020543CC: add r0, r5, #0x0 pop {r3-r5, pc} .balign 4 _020543D0: .word 0x00000333 _020543D4: .word 0xFFFE0000 thumb_func_start FUN_020543D8 FUN_020543D8: ; 0x020543D8 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 mov r0, #0x4 mov r1, #0x18 bl FUN_02016998 str r0, [r5, #0x0] mov r2, #0x18 mov r1, #0x0 _020543EC: strb r1, [r0, #0x0] add r0, r0, #0x1 sub r2, r2, #0x1 bne _020543EC ldr r5, [r5, #0x0] mov r0, #0x7 lsl r0, r0, #0x10 str r0, [r5, #0x0] mov r0, #0x45 lsl r0, r0, #0xc str r0, [r5, #0x4] mov r0, #0x1 mov r1, #0x0 str r0, [sp, #0x0] add r0, r4, #0x0 add r2, r5, #0x0 add r3, r1, #0x0 bl FUN_02054008 mov r1, #0x1 str r0, [r5, #0xc] bl FUN_02020130 mov r0, #0x2 lsl r0, r0, #0xc str r0, [r5, #0x14] ldr r0, [r5, #0xc] mov r1, #0x0 bl FUN_020200A0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205442C FUN_0205442C: ; 0x0205442C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02054448 ldr r0, [r0, #0xc] bl FUN_0201FFC8 ldr r1, [r4, #0x0] mov r0, #0x4 bl FUN_02016A8C mov r0, #0x0 str r0, [r4, #0x0] _02054448: pop {r4, pc} .balign 4 thumb_func_start FUN_0205444C FUN_0205444C: ; 0x0205444C push {r4-r7, lr} sub sp, #0xc ldr r4, [r0, #0x0] mov r5, #0x1 ldr r0, [r4, #0x10] cmp r0, #0x3 bhi _020544F8 add r1, r0, r0 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02054466: ; jump table (using 16-bit offset) .short _0205446E - _02054466 - 2; case 0 .short _0205447E - _02054466 - 2; case 1 .short _020544DA - _02054466 - 2; case 2 .short _020544F6 - _02054466 - 2; case 3 _0205446E: ldr r0, [r4, #0xc] add r1, r5, #0x0 bl FUN_020200A0 ldr r0, [r4, #0x10] add r0, r0, #0x1 str r0, [r4, #0x10] b _020544F8 _0205447E: ldr r2, [r4, #0x14] lsl r1, r5, #0xf cmp r2, r1 bgt _020544D4 add r6, r4, #0x0 ldmia r6!, {r0-r1} add r3, sp, #0x0 add r2, r3, #0x0 stmia r3!, {r0-r1} ldr r0, [r6, #0x0] mov r7, #0x0 str r0, [r3, #0x0] ldr r0, [r4, #0x14] ldr r6, [sp, #0x4] asr r0, r0, #0x4 lsl r1, r0, #0x2 ldr r0, _02054500 ; =0x020FFA38 ldrsh r0, [r0, r1] asr r3, r0, #0x1f lsr r1, r0, #0xf lsl r3, r3, #0x11 orr r3, r1 lsl r1, r0, #0x11 lsl r0, r5, #0xb add r0, r1, r0 adc r3, r7 lsl r1, r3, #0x14 lsr r0, r0, #0xc orr r0, r1 sub r0, r6, r0 str r0, [sp, #0x4] ldr r0, [r4, #0xc] add r1, r2, #0x0 bl FUN_02020044 ldr r0, [r4, #0x14] lsl r1, r5, #0xc add r0, r0, r1 str r0, [r4, #0x14] ldr r0, [r4, #0xc] bl FUN_020201E4 b _020544F8 _020544D4: add r0, r0, #0x1 str r0, [r4, #0x10] b _020544F8 _020544DA: ldr r1, [r4, #0x14] ldr r0, _02054504 ; =0x00000666 sub r1, r1, r0 str r1, [r4, #0x14] ldr r0, [r4, #0xc] bl FUN_020201E4 ldr r0, [r4, #0x14] cmp r0, #0x0 bgt _020544F8 ldr r0, [r4, #0x10] add r0, r0, #0x1 str r0, [r4, #0x10] b _020544F8 _020544F6: mov r5, #0x0 _020544F8: add r0, r5, #0x0 add sp, #0xc pop {r4-r7, pc} nop _02054500: .word 0x020FFA38 _02054504: .word 0x00000666 thumb_func_start FUN_02054508 FUN_02054508: ; 0x02054508 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 mov r0, #0x4 mov r1, #0x14 bl FUN_02016998 str r0, [r5, #0x0] mov r2, #0x14 mov r1, #0x0 _0205451C: strb r1, [r0, #0x0] add r0, r0, #0x1 sub r2, r2, #0x1 bne _0205451C ldr r5, [r5, #0x0] mov r0, #0x7 lsl r0, r0, #0x10 str r0, [r5, #0x0] mov r0, #0x6 lsl r0, r0, #0x10 mov r1, #0x1 str r0, [r5, #0x4] add r0, r4, #0x0 add r2, r5, #0x0 add r3, r1, #0x0 str r1, [sp, #0x0] bl FUN_02054008 mov r1, #0x1 str r0, [r5, #0xc] bl FUN_02020130 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205454C FUN_0205454C: ; 0x0205454C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02054568 ldr r0, [r0, #0xc] bl FUN_0201FFC8 ldr r1, [r4, #0x0] mov r0, #0x4 bl FUN_02016A8C mov r0, #0x0 str r0, [r4, #0x0] _02054568: pop {r4, pc} .balign 4 thumb_func_start FUN_0205456C FUN_0205456C: ; 0x0205456C push {r4, lr} ldr r4, [r0, #0x0] ldr r0, [r4, #0x10] cmp r0, #0x8 bge _0205458A mov r1, #0x1 ldr r0, [r4, #0xc] lsl r1, r1, #0xc bl FUN_020201E4 ldr r0, [r4, #0x10] add r0, r0, #0x1 str r0, [r4, #0x10] mov r0, #0x1 pop {r4, pc} _0205458A: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_02054590 FUN_02054590: ; 0x02054590 push {r4, lr} add r4, r0, #0x0 cmp r1, #0x1 bne _0205459C bl FUN_0201BD5C _0205459C: mov r1, #0x1a add r0, r4, #0x0 lsl r1, r1, #0x4 mov r2, #0x4 bl FUN_02002ED0 mov r1, #0x6 add r0, r4, #0x0 lsl r1, r1, #0x6 mov r2, #0x4 bl FUN_02002EEC pop {r4, pc} .balign 4 thumb_func_start FUN_020545B8 FUN_020545B8: ; 0x020545B8 push {lr} sub sp, #0x14 cmp r2, #0x3 bne _020545E0 mov r2, #0x13 str r2, [sp, #0x0] mov r2, #0x1b str r2, [sp, #0x4] mov r2, #0x4 str r2, [sp, #0x8] mov r2, #0xc str r2, [sp, #0xc] ldr r2, _02054604 ; =0x0000032D mov r3, #0x2 str r2, [sp, #0x10] mov r2, #0x3 bl FUN_02019064 add sp, #0x14 pop {pc} _020545E0: mov r2, #0x13 str r2, [sp, #0x0] mov r2, #0x1b str r2, [sp, #0x4] mov r2, #0x4 str r2, [sp, #0x8] mov r2, #0xc str r2, [sp, #0xc] mov r2, #0x65 lsl r2, r2, #0x2 str r2, [sp, #0x10] mov r2, #0x7 mov r3, #0x2 bl FUN_02019064 add sp, #0x14 pop {pc} nop _02054604: .word 0x0000032D thumb_func_start FUN_02054608 FUN_02054608: ; 0x02054608 push {r4-r6, lr} sub sp, #0x8 add r4, r1, #0x0 add r5, r0, #0x0 bl FUN_0201AB08 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_02025084 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] mov r0, #0x4 str r0, [sp, #0x4] ldr r0, [r5, #0x0] ldr r2, _02054648 ; =0x000003E2 add r1, r6, #0x0 mov r3, #0xa bl FUN_0200CD68 add r0, r5, #0x0 bl FUN_0205464C ldr r2, _02054648 ; =0x000003E2 add r0, r5, #0x0 mov r1, #0x0 mov r3, #0xa bl FUN_0200D0BC add sp, #0x8 pop {r4-r6, pc} .balign 4 _02054648: .word 0x000003E2 thumb_func_start FUN_0205464C FUN_0205464C: ; 0x0205464C ldr r3, _02054654 ; =FUN_02019620 mov r1, #0xf bx r3 nop _02054654: .word FUN_02019620 thumb_func_start FUN_02054658 FUN_02054658: ; 0x02054658 push {r3-r6, lr} sub sp, #0xc add r5, r0, #0x0 add r0, r3, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_02002B60 mov r0, #0x0 bl FUN_02002B7C mov r0, #0x0 bl FUN_02002BB8 add r0, r6, #0x0 bl FUN_02024FF4 mov r3, #0x0 str r3, [sp, #0x0] str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x1 add r2, r4, #0x0 str r3, [sp, #0x8] bl FUN_0201BD84 add sp, #0xc pop {r3-r6, pc} thumb_func_start FUN_02054690 FUN_02054690: ; 0x02054690 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 add r0, sp, #0x10 ldrb r0, [r0, #0x10] add r6, r1, #0x0 add r7, r2, #0x0 add r4, r3, #0x0 bl FUN_02002B60 ldr r0, [sp, #0x24] bl FUN_02002B7C mov r0, #0x0 bl FUN_02002BB8 mov r3, #0x0 str r3, [sp, #0x0] str r4, [sp, #0x4] add r0, r5, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 str r3, [sp, #0x8] bl FUN_0201BD84 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_020546C8 FUN_020546C8: ; 0x020546C8 push {r3, lr} bl FUN_0201BD70 cmp r0, #0x0 bne _020546D6 mov r0, #0x1 b _020546D8 _020546D6: mov r0, #0x0 _020546D8: lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3, pc} .balign 4 thumb_func_start FUN_020546E0 FUN_020546E0: ; 0x020546E0 push {r4-r5, lr} sub sp, #0x14 cmp r2, #0x1 bhi _020546EE mov r4, #0x9 mov r5, #0x14 b _020546F2 _020546EE: mov r4, #0x2 mov r5, #0x1b _020546F2: cmp r3, #0x3 bne _0205471A mov r2, #0x13 str r2, [sp, #0x0] lsl r2, r5, #0x18 lsr r2, r2, #0x18 str r2, [sp, #0x4] mov r2, #0x4 str r2, [sp, #0x8] mov r2, #0x9 str r2, [sp, #0xc] ldr r2, _02054740 ; =0x0000032D lsl r3, r4, #0x18 str r2, [sp, #0x10] mov r2, #0x3 lsr r3, r3, #0x18 bl FUN_02019064 add sp, #0x14 pop {r4-r5, pc} _0205471A: mov r2, #0x13 str r2, [sp, #0x0] lsl r2, r5, #0x18 lsr r2, r2, #0x18 str r2, [sp, #0x4] mov r2, #0x4 str r2, [sp, #0x8] mov r2, #0x9 str r2, [sp, #0xc] mov r2, #0x65 lsl r2, r2, #0x2 lsl r3, r4, #0x18 str r2, [sp, #0x10] mov r2, #0x7 lsr r3, r3, #0x18 bl FUN_02019064 add sp, #0x14 pop {r4-r5, pc} .balign 4 _02054740: .word 0x0000032D thumb_func_start FUN_02054744 FUN_02054744: ; 0x02054744 push {r3-r6, lr} sub sp, #0xc add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 bl FUN_0201AB08 add r1, r0, #0x0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] str r6, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] ldr r0, [r5, #0x0] ldr r2, _02054788 ; =0x00000399 mov r3, #0x9 bl FUN_0200D300 add r0, r5, #0x0 mov r1, #0xf bl FUN_02019620 lsl r0, r4, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] ldr r2, _02054788 ; =0x00000399 add r0, r5, #0x0 mov r1, #0x0 mov r3, #0x9 bl FUN_0200D6F8 add sp, #0xc pop {r3-r6, pc} .balign 4 _02054788: .word 0x00000399 thumb_func_start FUN_0205478C FUN_0205478C: ; 0x0205478C cmp r0, #0x2 bne _02054794 mov r0, #0x1 bx lr _02054794: mov r0, #0x0 bx lr thumb_func_start FUN_02054798 FUN_02054798: ; 0x02054798 cmp r0, #0x3 bne _020547A0 mov r0, #0x1 bx lr _020547A0: mov r0, #0x0 bx lr thumb_func_start FUN_020547A4 FUN_020547A4: ; 0x020547A4 cmp r0, #0x80 bne _020547AC mov r0, #0x1 bx lr _020547AC: mov r0, #0x0 bx lr thumb_func_start FUN_020547B0 FUN_020547B0: ; 0x020547B0 cmp r0, #0x69 bne _020547B8 mov r0, #0x1 bx lr _020547B8: mov r0, #0x0 bx lr thumb_func_start FUN_020547BC FUN_020547BC: ; 0x020547BC cmp r0, #0x62 bne _020547C4 mov r0, #0x1 bx lr _020547C4: mov r0, #0x0 bx lr thumb_func_start FUN_020547C8 FUN_020547C8: ; 0x020547C8 cmp r0, #0x63 bne _020547D0 mov r0, #0x1 bx lr _020547D0: mov r0, #0x0 bx lr thumb_func_start FUN_020547D4 FUN_020547D4: ; 0x020547D4 cmp r0, #0x64 bne _020547DC mov r0, #0x1 bx lr _020547DC: mov r0, #0x0 bx lr thumb_func_start FUN_020547E0 FUN_020547E0: ; 0x020547E0 cmp r0, #0x65 bne _020547E8 mov r0, #0x1 bx lr _020547E8: mov r0, #0x0 bx lr thumb_func_start FUN_020547EC FUN_020547EC: ; 0x020547EC cmp r0, #0x6c bne _020547F4 mov r0, #0x1 bx lr _020547F4: mov r0, #0x0 bx lr thumb_func_start FUN_020547F8 FUN_020547F8: ; 0x020547F8 cmp r0, #0x6d bne _02054800 mov r0, #0x1 bx lr _02054800: mov r0, #0x0 bx lr thumb_func_start FUN_02054804 FUN_02054804: ; 0x02054804 cmp r0, #0x6e bne _0205480C mov r0, #0x1 bx lr _0205480C: mov r0, #0x0 bx lr thumb_func_start FUN_02054810 FUN_02054810: ; 0x02054810 cmp r0, #0x6f bne _02054818 mov r0, #0x1 bx lr _02054818: mov r0, #0x0 bx lr thumb_func_start FUN_0205481C FUN_0205481C: ; 0x0205481C ldr r1, _0205482C ; =0x020F5C14 ldrb r1, [r1, r0] mov r0, #0x1 tst r1, r0 bne _02054828 mov r0, #0x0 _02054828: bx lr nop _0205482C: .word 0x020F5C14 thumb_func_start FUN_02054830 FUN_02054830: ; 0x02054830 cmp r0, #0x21 bne _02054838 mov r0, #0x1 bx lr _02054838: mov r0, #0x0 bx lr thumb_func_start FUN_0205483C FUN_0205483C: ; 0x0205483C cmp r0, #0x17 bne _02054844 mov r0, #0x1 bx lr _02054844: mov r0, #0x0 bx lr thumb_func_start FUN_02054848 FUN_02054848: ; 0x02054848 cmp r0, #0x3a bne _02054850 mov r0, #0x1 bx lr _02054850: mov r0, #0x0 bx lr thumb_func_start FUN_02054854 FUN_02054854: ; 0x02054854 cmp r0, #0x3b bne _0205485C mov r0, #0x1 bx lr _0205485C: mov r0, #0x0 bx lr thumb_func_start FUN_02054860 FUN_02054860: ; 0x02054860 cmp r0, #0x39 bne _02054868 mov r0, #0x1 bx lr _02054868: mov r0, #0x0 bx lr thumb_func_start FUN_0205486C FUN_0205486C: ; 0x0205486C cmp r0, #0x38 bne _02054874 mov r0, #0x1 bx lr _02054874: mov r0, #0x0 bx lr thumb_func_start FUN_02054878 FUN_02054878: ; 0x02054878 cmp r0, #0x83 bne _02054880 mov r0, #0x1 bx lr _02054880: mov r0, #0x0 bx lr thumb_func_start FUN_02054884 FUN_02054884: ; 0x02054884 cmp r0, #0x85 bne _0205488C mov r0, #0x1 bx lr _0205488C: mov r0, #0x0 bx lr thumb_func_start FUN_02054890 FUN_02054890: ; 0x02054890 cmp r0, #0x56 bne _02054898 mov r0, #0x1 bx lr _02054898: mov r0, #0x0 bx lr thumb_func_start FUN_0205489C FUN_0205489C: ; 0x0205489C cmp r0, #0x57 bne _020548A4 mov r0, #0x1 bx lr _020548A4: mov r0, #0x0 bx lr thumb_func_start FUN_020548A8 FUN_020548A8: ; 0x020548A8 cmp r0, #0x58 bne _020548B0 mov r0, #0x1 bx lr _020548B0: mov r0, #0x0 bx lr thumb_func_start FUN_020548B4 FUN_020548B4: ; 0x020548B4 cmp r0, #0x59 bne _020548BC mov r0, #0x1 bx lr _020548BC: mov r0, #0x0 bx lr thumb_func_start FUN_020548C0 FUN_020548C0: ; 0x020548C0 cmp r0, #0x6a bne _020548C8 mov r0, #0x1 bx lr _020548C8: mov r0, #0x0 bx lr thumb_func_start FUN_020548CC FUN_020548CC: ; 0x020548CC cmp r0, #0x6b bne _020548D4 mov r0, #0x1 bx lr _020548D4: mov r0, #0x0 bx lr thumb_func_start FUN_020548D8 FUN_020548D8: ; 0x020548D8 cmp r0, #0x5e bne _020548E0 mov r0, #0x1 bx lr _020548E0: mov r0, #0x0 bx lr thumb_func_start FUN_020548E4 FUN_020548E4: ; 0x020548E4 cmp r0, #0x5f bne _020548EC mov r0, #0x1 bx lr _020548EC: mov r0, #0x0 bx lr thumb_func_start FUN_020548F0 FUN_020548F0: ; 0x020548F0 cmp r0, #0x20 bne _020548F8 mov r0, #0x1 bx lr _020548F8: mov r0, #0x0 bx lr thumb_func_start FUN_020548FC FUN_020548FC: ; 0x020548FC cmp r0, #0x4b bne _02054904 mov r0, #0x1 bx lr _02054904: mov r0, #0x0 bx lr thumb_func_start FUN_02054908 FUN_02054908: ; 0x02054908 cmp r0, #0x4c bne _02054910 mov r0, #0x1 bx lr _02054910: mov r0, #0x0 bx lr thumb_func_start FUN_02054914 FUN_02054914: ; 0x02054914 cmp r0, #0xe0 bne _0205491C mov r0, #0x1 bx lr _0205491C: mov r0, #0x0 bx lr thumb_func_start FUN_02054920 FUN_02054920: ; 0x02054920 cmp r0, #0xea bne _02054928 mov r0, #0x1 bx lr _02054928: mov r0, #0x0 bx lr thumb_func_start FUN_0205492C FUN_0205492C: ; 0x0205492C cmp r0, #0xe1 bne _02054934 mov r0, #0x1 bx lr _02054934: mov r0, #0x0 bx lr thumb_func_start FUN_02054938 FUN_02054938: ; 0x02054938 cmp r0, #0xe2 bne _02054940 mov r0, #0x1 bx lr _02054940: mov r0, #0x0 bx lr thumb_func_start FUN_02054944 FUN_02054944: ; 0x02054944 cmp r0, #0xe4 bne _0205494C mov r0, #0x1 bx lr _0205494C: mov r0, #0x0 bx lr thumb_func_start FUN_02054950 FUN_02054950: ; 0x02054950 cmp r0, #0xe5 bne _02054958 mov r0, #0x1 bx lr _02054958: mov r0, #0x0 bx lr thumb_func_start FUN_0205495C FUN_0205495C: ; 0x0205495C cmp r0, #0xeb bne _02054964 mov r0, #0x1 bx lr _02054964: mov r0, #0x0 bx lr thumb_func_start FUN_02054968 FUN_02054968: ; 0x02054968 cmp r0, #0xec bne _02054970 mov r0, #0x1 bx lr _02054970: mov r0, #0x0 bx lr thumb_func_start FUN_02054974 FUN_02054974: ; 0x02054974 cmp r0, #0xa4 beq _0205497C cmp r0, #0xa5 bne _02054980 _0205497C: mov r0, #0x1 bx lr _02054980: mov r0, #0x0 bx lr thumb_func_start FUN_02054984 FUN_02054984: ; 0x02054984 cmp r0, #0xa5 bne _0205498C mov r0, #0x1 bx lr _0205498C: mov r0, #0x0 bx lr thumb_func_start FUN_02054990 FUN_02054990: ; 0x02054990 cmp r0, #0xa6 beq _02054998 cmp r0, #0xa7 bne _0205499C _02054998: mov r0, #0x1 bx lr _0205499C: mov r0, #0x0 bx lr thumb_func_start FUN_020549A0 FUN_020549A0: ; 0x020549A0 cmp r0, #0xa7 bne _020549A8 mov r0, #0x1 bx lr _020549A8: mov r0, #0x0 bx lr thumb_func_start FUN_020549AC FUN_020549AC: ; 0x020549AC add r0, #0x5f lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r3, #0x0 cmp r0, #0x7 bhi _020549C6 mov r1, #0x1 add r2, r1, #0x0 lsl r2, r0 mov r0, #0x87 tst r0, r2 beq _020549C6 add r3, r1, #0x0 _020549C6: add r0, r3, #0x0 bx lr .balign 4 thumb_func_start FUN_020549CC FUN_020549CC: ; 0x020549CC cmp r0, #0xa8 bne _020549D4 mov r0, #0x1 bx lr _020549D4: mov r0, #0x0 bx lr thumb_func_start FUN_020549D8 FUN_020549D8: ; 0x020549D8 cmp r0, #0xa1 bne _020549E0 mov r0, #0x1 bx lr _020549E0: mov r0, #0x0 bx lr thumb_func_start FUN_020549E4 FUN_020549E4: ; 0x020549E4 cmp r0, #0xa2 bne _020549EC mov r0, #0x1 bx lr _020549EC: mov r0, #0x0 bx lr thumb_func_start FUN_020549F0 FUN_020549F0: ; 0x020549F0 cmp r0, #0xa3 bne _020549F8 mov r0, #0x1 bx lr _020549F8: mov r0, #0x0 bx lr thumb_func_start FUN_020549FC FUN_020549FC: ; 0x020549FC cmp r0, #0xd9 beq _02054A04 cmp r0, #0xda bne _02054A08 _02054A04: mov r0, #0x1 bx lr _02054A08: mov r0, #0x0 bx lr thumb_func_start FUN_02054A0C FUN_02054A0C: ; 0x02054A0C cmp r0, #0xd9 bne _02054A14 mov r0, #0x1 bx lr _02054A14: mov r0, #0x0 bx lr thumb_func_start FUN_02054A18 FUN_02054A18: ; 0x02054A18 cmp r0, #0xda bne _02054A20 mov r0, #0x1 bx lr _02054A20: mov r0, #0x0 bx lr thumb_func_start FUN_02054A24 FUN_02054A24: ; 0x02054A24 cmp r0, #0xd7 bne _02054A2C mov r0, #0x1 bx lr _02054A2C: mov r0, #0x0 bx lr thumb_func_start FUN_02054A30 FUN_02054A30: ; 0x02054A30 cmp r0, #0xd8 bne _02054A38 mov r0, #0x1 bx lr _02054A38: mov r0, #0x0 bx lr thumb_func_start FUN_02054A3C FUN_02054A3C: ; 0x02054A3C cmp r0, #0x8 bne _02054A44 mov r0, #0x1 bx lr _02054A44: mov r0, #0x0 bx lr thumb_func_start FUN_02054A48 FUN_02054A48: ; 0x02054A48 cmp r0, #0x13 bne _02054A50 mov r0, #0x1 bx lr _02054A50: mov r0, #0x0 bx lr thumb_func_start FUN_02054A54 FUN_02054A54: ; 0x02054A54 cmp r0, #0xdb bne _02054A5C mov r0, #0x1 bx lr _02054A5C: mov r0, #0x0 bx lr thumb_func_start FUN_02054A60 FUN_02054A60: ; 0x02054A60 add r0, #0xce lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r3, #0x0 cmp r0, #0x17 bhi _02054A7A mov r1, #0x1 add r2, r1, #0x0 lsl r2, r0 ldr r0, _02054A80 ; =0x0080000D tst r0, r2 beq _02054A7A add r3, r1, #0x0 _02054A7A: add r0, r3, #0x0 bx lr nop _02054A80: .word 0x0080000D thumb_func_start FUN_02054A84 FUN_02054A84: ; 0x02054A84 add r0, #0xcd lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r3, #0x0 cmp r0, #0x16 bhi _02054A9E mov r1, #0x1 add r2, r1, #0x0 lsl r2, r0 ldr r0, _02054AA4 ; =0x00400019 tst r0, r2 beq _02054A9E add r3, r1, #0x0 _02054A9E: add r0, r3, #0x0 bx lr nop _02054AA4: .word 0x00400019 thumb_func_start FUN_02054AA8 FUN_02054AA8: ; 0x02054AA8 add r0, #0xcf lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r3, #0x0 cmp r0, #0x19 bhi _02054AC2 mov r1, #0x1 add r2, r1, #0x0 lsl r2, r0 ldr r0, _02054AC8 ; =0x02000051 tst r0, r2 beq _02054AC2 add r3, r1, #0x0 _02054AC2: add r0, r3, #0x0 bx lr nop _02054AC8: .word 0x02000051 thumb_func_start FUN_02054ACC FUN_02054ACC: ; 0x02054ACC add r0, #0xd0 lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r3, #0x0 cmp r0, #0x1a bhi _02054AE6 mov r1, #0x1 add r2, r1, #0x0 lsl r2, r0 ldr r0, _02054AEC ; =0x04000051 tst r0, r2 beq _02054AE6 add r3, r1, #0x0 _02054AE6: add r0, r3, #0x0 bx lr nop _02054AEC: .word 0x04000051 thumb_func_start FUN_02054AF0 FUN_02054AF0: ; 0x02054AF0 cmp r0, #0x16 bne _02054AF8 mov r0, #0x1 bx lr _02054AF8: mov r0, #0x0 bx lr thumb_func_start FUN_02054AFC FUN_02054AFC: ; 0x02054AFC ldr r1, _02054B10 ; =0x020F5C14 ldrb r1, [r1, r0] mov r0, #0x2 tst r0, r1 beq _02054B0A mov r0, #0x1 bx lr _02054B0A: mov r0, #0x0 bx lr nop _02054B10: .word 0x020F5C14 thumb_func_start FUN_02054B14 FUN_02054B14: ; 0x02054B14 cmp r0, #0x86 bne _02054B1C mov r0, #0x1 bx lr _02054B1C: mov r0, #0x0 bx lr thumb_func_start FUN_02054B20 FUN_02054B20: ; 0x02054B20 cmp r0, #0x16 beq _02054B28 cmp r0, #0x10 bne _02054B2C _02054B28: mov r0, #0x1 bx lr _02054B2C: mov r0, #0x0 bx lr thumb_func_start FUN_02054B30 FUN_02054B30: ; 0x02054B30 cmp r0, #0x40 bne _02054B38 mov r0, #0x1 bx lr _02054B38: mov r0, #0x0 bx lr thumb_func_start FUN_02054B3C FUN_02054B3C: ; 0x02054B3C cmp r0, #0x41 bne _02054B44 mov r0, #0x1 bx lr _02054B44: mov r0, #0x0 bx lr thumb_func_start FUN_02054B48 FUN_02054B48: ; 0x02054B48 cmp r0, #0x42 bne _02054B50 mov r0, #0x1 bx lr _02054B50: mov r0, #0x0 bx lr thumb_func_start FUN_02054B54 FUN_02054B54: ; 0x02054B54 cmp r0, #0x43 bne _02054B5C mov r0, #0x1 bx lr _02054B5C: mov r0, #0x0 bx lr thumb_func_start FUN_02054B60 FUN_02054B60: ; 0x02054B60 cmp r0, #0x67 bne _02054B68 mov r0, #0x1 bx lr _02054B68: mov r0, #0x0 bx lr thumb_func_start FUN_02054B6C FUN_02054B6C: ; 0x02054B6C cmp r0, #0x70 bne _02054B74 mov r0, #0x1 bx lr _02054B74: mov r0, #0x0 bx lr thumb_func_start FUN_02054B78 FUN_02054B78: ; 0x02054B78 add r0, #0x8f lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0xc bhi _02054B86 mov r0, #0x1 bx lr _02054B86: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_02054B8C FUN_02054B8C: ; 0x02054B8C add r0, #0x8d lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r3, #0x0 cmp r0, #0x9 bhi _02054BA6 mov r1, #0x1 add r2, r1, #0x0 lsl r2, r0 ldr r0, _02054BAC ; =0x00000221 tst r0, r2 beq _02054BA6 add r3, r1, #0x0 _02054BA6: add r0, r3, #0x0 bx lr nop _02054BAC: .word 0x00000221 thumb_func_start FUN_02054BB0 FUN_02054BB0: ; 0x02054BB0 add r0, #0x8c lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r3, #0x0 cmp r0, #0x9 bhi _02054BCA mov r1, #0x1 add r2, r1, #0x0 lsl r2, r0 ldr r0, _02054BD0 ; =0x00000221 tst r0, r2 beq _02054BCA add r3, r1, #0x0 _02054BCA: add r0, r3, #0x0 bx lr nop _02054BD0: .word 0x00000221 thumb_func_start FUN_02054BD4 FUN_02054BD4: ; 0x02054BD4 cmp r0, #0x75 bne _02054BDC mov r0, #0x1 bx lr _02054BDC: mov r0, #0x0 bx lr thumb_func_start FUN_02054BE0 FUN_02054BE0: ; 0x02054BE0 add r0, #0x8a lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x3 bhi _02054BEE mov r0, #0x1 bx lr _02054BEE: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_02054BF4 FUN_02054BF4: ; 0x02054BF4 add r0, #0x86 lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x3 bhi _02054C02 mov r0, #0x1 bx lr _02054C02: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_02054C08 FUN_02054C08: ; 0x02054C08 cmp r0, #0xff bne _02054C10 mov r0, #0x1 bx lr _02054C10: mov r0, #0x0 bx lr thumb_func_start FUN_02054C14 FUN_02054C14: ; 0x02054C14 push {r4, lr} mov r1, #0xa add r4, r0, #0x0 blx _u32_div_f cmp r0, #0x0 bne _02054C26 mov r0, #0x1 pop {r4, pc} _02054C26: add r0, r4, #0x0 mov r1, #0x64 blx _u32_div_f cmp r0, #0x0 bne _02054C36 mov r0, #0x2 pop {r4, pc} _02054C36: mov r1, #0xfa add r0, r4, #0x0 lsl r1, r1, #0x2 blx _u32_div_f cmp r0, #0x0 bne _02054C48 mov r0, #0x3 pop {r4, pc} _02054C48: ldr r1, _02054C9C ; =0x00002710 add r0, r4, #0x0 blx _u32_div_f cmp r0, #0x0 bne _02054C58 mov r0, #0x4 pop {r4, pc} _02054C58: ldr r1, _02054CA0 ; =0x000186A0 add r0, r4, #0x0 blx _u32_div_f cmp r0, #0x0 bne _02054C68 mov r0, #0x5 pop {r4, pc} _02054C68: ldr r1, _02054CA4 ; =0x000F4240 add r0, r4, #0x0 blx _u32_div_f cmp r0, #0x0 bne _02054C78 mov r0, #0x6 pop {r4, pc} _02054C78: ldr r1, _02054CA8 ; =0x00989680 add r0, r4, #0x0 blx _u32_div_f cmp r0, #0x0 bne _02054C88 mov r0, #0x7 pop {r4, pc} _02054C88: ldr r1, _02054CAC ; =0x05F5E100 add r0, r4, #0x0 blx _u32_div_f cmp r0, #0x0 bne _02054C98 mov r0, #0x8 pop {r4, pc} _02054C98: mov r0, #0x1 pop {r4, pc} .balign 4 _02054C9C: .word 0x00002710 _02054CA0: .word 0x000186A0 _02054CA4: .word 0x000F4240 _02054CA8: .word 0x00989680 _02054CAC: .word 0x05F5E100 thumb_func_start FUN_02054CB0 FUN_02054CB0: ; 0x02054CB0 mov r1, #0x52 lsl r1, r1, #0x2 cmp r0, r1 blo _02054CC2 add r1, #0x63 cmp r0, r1 bhi _02054CC2 mov r0, #0x1 bx lr _02054CC2: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_02054CC8 FUN_02054CC8: ; 0x02054CC8 cmp r0, #0xe bhi _02054CD0 mov r0, #0x6 bx lr _02054CD0: cmp r0, #0x18 bhi _02054CD8 mov r0, #0x7 bx lr _02054CD8: cmp r0, #0x27 bhi _02054CE0 mov r0, #0x8 bx lr _02054CE0: cmp r0, #0x3b bhi _02054CE8 mov r0, #0x9 bx lr _02054CE8: cmp r0, #0x59 bhi _02054CF0 mov r0, #0xa bx lr _02054CF0: cmp r0, #0x72 bhi _02054CF8 mov r0, #0xb bx lr _02054CF8: cmp r0, #0x86 bhi _02054D00 mov r0, #0xc bx lr _02054D00: cmp r0, #0x90 bhi _02054D08 mov r0, #0xd bx lr _02054D08: cmp r0, #0x95 bhi _02054D10 mov r0, #0xe bx lr _02054D10: cmp r1, #0x0 beq _02054D18 mov r0, #0x4 bx lr _02054D18: mov r0, #0x5 bx lr thumb_func_start FUN_02054D1C FUN_02054D1C: ; 0x02054D1C cmp r0, #0x27 bhi _02054D24 mov r0, #0x13 bx lr _02054D24: cmp r0, #0x3b bhi _02054D2C mov r0, #0x14 bx lr _02054D2C: cmp r0, #0x59 bhi _02054D34 mov r0, #0x15 bx lr _02054D34: cmp r0, #0x77 bhi _02054D3C mov r0, #0x16 bx lr _02054D3C: cmp r0, #0x95 bhi _02054D44 mov r0, #0x17 bx lr _02054D44: cmp r0, #0xbd bhi _02054D4C mov r0, #0x18 bx lr _02054D4C: cmp r0, #0xe5 bhi _02054D54 mov r0, #0x19 bx lr _02054D54: ldr r2, _02054DE8 ; =0x0000010D cmp r0, r2 bhi _02054D5E mov r0, #0x1a bx lr _02054D5E: add r3, r2, #0x0 add r3, #0x28 cmp r0, r3 bhi _02054D6A mov r0, #0x1b bx lr _02054D6A: add r3, r2, #0x0 add r3, #0x50 cmp r0, r3 bhi _02054D76 mov r0, #0x1c bx lr _02054D76: add r3, r2, #0x0 add r3, #0x6e cmp r0, r3 bhi _02054D82 mov r0, #0x1d bx lr _02054D82: add r3, r2, #0x0 add r3, #0x8c cmp r0, r3 bhi _02054D8E mov r0, #0x1e bx lr _02054D8E: add r3, r2, #0x0 add r3, #0xa0 cmp r0, r3 bhi _02054DA2 cmp r1, #0x0 beq _02054D9E mov r0, #0x20 bx lr _02054D9E: mov r0, #0x1f bx lr _02054DA2: add r3, r2, #0x0 add r3, #0xb4 cmp r0, r3 bhi _02054DAE mov r0, #0x21 bx lr _02054DAE: add r3, r2, #0x0 add r3, #0xbe cmp r0, r3 bhi _02054DBA mov r0, #0x22 bx lr _02054DBA: add r3, r2, #0x0 add r3, #0xc8 cmp r0, r3 bhi _02054DC6 mov r0, #0x23 bx lr _02054DC6: add r3, r2, #0x0 add r3, #0xce cmp r0, r3 bhi _02054DD2 mov r0, #0x24 bx lr _02054DD2: add r2, #0xd4 cmp r0, r2 bhi _02054DDC mov r0, #0x25 bx lr _02054DDC: cmp r1, #0x0 beq _02054DE4 mov r0, #0x27 bx lr _02054DE4: mov r0, #0x26 bx lr .balign 4 _02054DE8: .word 0x0000010D thumb_func_start FUN_02054DEC FUN_02054DEC: ; 0x02054DEC push {r3-r7, lr} add r6, r0, #0x0 bl FUN_0206BB1C bl FUN_0206B9AC lsl r0, r0, #0x10 lsr r5, r0, #0x10 ldr r4, _02054E2C ; =0x00000000 beq _02054E28 mov r7, #0x4c _02054E02: add r0, r6, #0x0 bl FUN_0206BB1C add r1, r4, #0x0 bl FUN_0206B9B0 add r1, r7, #0x0 mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 bne _02054E1E add r0, r4, #0x0 pop {r3-r7, pc} _02054E1E: add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, r5 blo _02054E02 _02054E28: mov r0, #0x0 pop {r3-r7, pc} .balign 4 _02054E2C: .word 0x00000000 thumb_func_start FUN_02054E30 FUN_02054E30: ; 0x02054E30 push {r3-r7, lr} sub sp, #0x10 mov r7, #0x0 bl FUN_0206BB1C str r0, [sp, #0x0] bl FUN_0206B9AC add r4, r0, #0x0 add r6, r7, #0x0 cmp r4, #0x0 ble _02054E64 add r5, sp, #0x4 _02054E4A: ldr r0, [sp, #0x0] add r1, r6, #0x0 bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC strh r0, [r5, #0x0] add r6, r6, #0x1 add r5, r5, #0x2 cmp r6, r4 blt _02054E4A _02054E64: ldr r2, _02054E9C ; =0x020F5D14 mov r6, #0x0 _02054E68: mov r1, #0x0 cmp r4, #0x0 ble _02054E84 ldrh r5, [r2, #0x0] add r3, sp, #0x4 _02054E72: ldrh r0, [r3, #0x0] cmp r0, r5 bne _02054E7C add r7, r7, #0x1 b _02054E84 _02054E7C: add r1, r1, #0x1 add r3, r3, #0x2 cmp r1, r4 blt _02054E72 _02054E84: add r6, r6, #0x1 add r2, r2, #0x2 cmp r6, #0x3 blt _02054E68 cmp r7, #0x3 bne _02054E96 add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} _02054E96: mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 _02054E9C: .word 0x020F5D14 thumb_func_start FUN_02054EA0 FUN_02054EA0: ; 0x02054EA0 push {r4-r5, lr} sub sp, #0xc add r4, r0, #0x0 bl FUN_02046528 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 mov r0, #0x2 lsl r0, r0, #0xe str r0, [sp, #0x0] str r0, [sp, #0x8] ldrh r0, [r4, #0xe] ldr r5, [r4, #0x4] bl FUN_0201B93C asr r1, r0, #0x1f asr r3, r5, #0x1f add r2, r5, #0x0 blx _ll_mul mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa add r2, r0, r2 adc r1, r3 lsl r0, r1, #0x14 lsr r1, r2, #0xc orr r1, r0 str r1, [sp, #0x0] ldrh r0, [r4, #0xe] ldr r5, [r4, #0x8] bl FUN_0201B93C asr r1, r0, #0x1f asr r3, r5, #0x1f add r2, r5, #0x0 blx _ll_mul mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa add r2, r0, r2 adc r1, r3 lsl r0, r1, #0x14 lsr r1, r2, #0xc orr r1, r0 str r1, [sp, #0x8] str r3, [sp, #0x4] ldr r0, [r4, #0x0] add r1, sp, #0x0 bl FUN_02058BB4 ldrh r1, [r4, #0xe] ldrh r0, [r4, #0x10] add r0, r1, r0 strh r0, [r4, #0xe] mov r0, #0x5a ldrh r1, [r4, #0xe] lsl r0, r0, #0x2 cmp r1, r0 blo _02054F28 mov r0, #0x0 strh r0, [r4, #0xe] ldrh r0, [r4, #0xc] sub r0, r0, #0x1 strh r0, [r4, #0xc] _02054F28: ldrh r0, [r4, #0xc] cmp r0, #0x0 bne _02054F4A mov r0, #0x0 str r0, [sp, #0x8] str r0, [sp, #0x4] str r0, [sp, #0x0] ldr r0, [r4, #0x0] add r1, sp, #0x0 bl FUN_02058BB4 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0xc mov r0, #0x1 pop {r4-r5, pc} _02054F4A: mov r0, #0x0 add sp, #0xc pop {r4-r5, pc} thumb_func_start FUN_02054F50 FUN_02054F50: ; 0x02054F50 push {r3-r7, lr} add r5, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 bl FUN_02046528 str r0, [sp, #0x0] mov r0, #0xb mov r1, #0x14 bl FUN_020169D8 mov r1, #0x0 mov r2, #0x14 add r4, r0, #0x0 blx MI_CpuFill8 add r0, sp, #0x8 ldrh r0, [r0, #0x10] cmp r0, #0x0 beq _02054F8A lsl r0, r0, #0xc blx _fflt add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 blx _fadd b _02054F98 _02054F8A: lsl r0, r0, #0xc blx _fflt mov r1, #0x3f lsl r1, r1, #0x18 blx _fsub _02054F98: blx _ffix str r0, [r4, #0x4] add r0, sp, #0x8 ldrh r0, [r0, #0x14] cmp r0, #0x0 beq _02054FB8 lsl r0, r0, #0xc blx _fflt add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 blx _fadd b _02054FC6 _02054FB8: lsl r0, r0, #0xc blx _fflt mov r1, #0x3f lsl r1, r1, #0x18 blx _fsub _02054FC6: blx _ffix str r0, [r4, #0x8] strh r6, [r4, #0xc] strh r7, [r4, #0x10] ldr r0, [sp, #0x0] str r5, [r4, #0x0] ldr r0, [r0, #0x10] ldr r1, _02054FE0 ; =FUN_02054EA0 add r2, r4, #0x0 bl FUN_0204640C pop {r3-r7, pc} .balign 4 _02054FE0: .word FUN_02054EA0 thumb_func_start FUN_02054FE4 FUN_02054FE4: ; 0x02054FE4 push {r4, lr} add r4, r0, #0x0 bl FUN_02046528 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldrb r1, [r4, #0x9] ldr r0, [r4, #0x0] bl FUN_0205889C ldrb r1, [r4, #0x8] add r0, r1, #0x1 strb r0, [r4, #0x8] ldrh r0, [r4, #0x6] cmp r1, r0 blt _02055028 ldrb r1, [r4, #0x9] mov r0, #0x1 eor r0, r1 strb r0, [r4, #0x9] mov r0, #0x0 strb r0, [r4, #0x8] ldrh r1, [r4, #0x4] sub r0, r1, #0x1 strh r0, [r4, #0x4] cmp r1, #0x0 bne _02055028 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r4, pc} _02055028: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_0205502C FUN_0205502C: ; 0x0205502C push {r3-r7, lr} add r5, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 bl FUN_02046528 str r0, [sp, #0x0] mov r0, #0xb mov r1, #0xc bl FUN_020169D8 add r4, r0, #0x0 mov r1, #0x0 mov r2, #0xc blx MI_CpuFill8 strh r6, [r4, #0x4] strh r7, [r4, #0x6] str r5, [r4, #0x0] mov r0, #0x0 strb r0, [r4, #0x9] ldr r0, [sp, #0x0] ldr r1, _02055064 ; =FUN_02054FE4 ldr r0, [r0, #0x10] add r2, r4, #0x0 bl FUN_0204640C pop {r3-r7, pc} .balign 4 _02055064: .word FUN_02054FE4 thumb_func_start FUN_02055068 FUN_02055068: ; 0x02055068 push {r4-r7, lr} sub sp, #0xc add r7, r0, #0x0 add r5, r1, #0x0 add r4, r2, #0x0 str r3, [sp, #0x8] bl FUN_0205517C ldr r1, [sp, #0x20] ldr r2, [sp, #0x24] ldr r3, [sp, #0x28] add r6, r0, #0x0 bl FUN_0205519C ldr r0, [sp, #0x20] ldr r1, [sp, #0x24] bl FUN_020555A0 add r2, r0, #0x0 str r5, [sp, #0x0] ldr r3, [sp, #0x8] add r0, r6, #0x0 add r1, r7, #0x0 str r4, [sp, #0x4] bl FUN_02055208 add r0, r6, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_020550A4 FUN_020550A4: ; 0x020550A4 push {r3-r7, lr} add r4, r1, #0x0 add r7, r0, #0x0 add r6, r2, #0x0 bl FUN_0205517C add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_020554C8 str r0, [sp, #0x0] ldr r1, [sp, #0x0] add r0, r5, #0x0 add r2, r6, #0x0 add r3, r4, #0x0 bl FUN_0205519C add r0, r7, #0x0 bl FUN_020552E4 add r4, r0, #0x0 ldr r0, [sp, #0x0] add r1, r6, #0x0 bl FUN_020555A0 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02058454 mov r1, #0x9 add r0, r4, #0x0 lsl r1, r1, #0xa bl FUN_02058410 mov r1, #0x6 add r0, r4, #0x0 lsl r1, r1, #0x6 bl FUN_02058418 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02058AC8 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205539C add r0, r5, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02055108 FUN_02055108: ; 0x02055108 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_020553A0 add r4, r0, #0x0 bne _02055118 bl ErrorHandling _02055118: add r0, r4, #0x0 bl FUN_02058578 add r0, r5, #0x0 bl FUN_021EDBC8 add r0, r5, #0x0 bl FUN_020553C4 cmp r0, #0x2 bne _0205515C add r0, r5, #0x0 bl FUN_02055320 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0205532C add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_020552F8 add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] add r0, r4, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_0224ABAC add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02055450 _0205515C: pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02055160 FUN_02055160: ; 0x02055160 ldr r3, _02055164 ; =FUN_02016A18 bx r3 .balign 4 _02055164: .word FUN_02016A18 thumb_func_start FUN_02055168 FUN_02055168: ; 0x02055168 push {r4, lr} add r4, r0, #0x0 bl FUN_020553A0 bl FUN_02057654 add r0, r4, #0x0 bl FUN_02055160 pop {r4, pc} thumb_func_start FUN_0205517C FUN_0205517C: ; 0x0205517C push {r4, lr} mov r0, #0xb mov r1, #0x3c bl FUN_02016998 add r4, r0, #0x0 bne _0205518E bl ErrorHandling _0205518E: add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x3c blx Call_FillMemWithValue add r0, r4, #0x0 pop {r4, pc} thumb_func_start FUN_0205519C FUN_0205519C: ; 0x0205519C push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r1, r3, #0x0 add r6, r2, #0x0 bl FUN_02055458 add r0, r5, #0x0 mov r1, #0x0 bl FUN_0205536C add r0, r5, #0x0 mov r1, #0x0 bl FUN_02055374 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020553A8 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020553E4 add r0, r5, #0x0 mov r1, #0x0 bl FUN_020553DC add r0, r5, #0x0 bl FUN_02055410 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 bl FUN_0205542C mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 bl FUN_02055434 add r0, r5, #0x0 mov r1, #0xff bl FUN_02055460 add r0, r5, #0x0 mov r1, #0x1 bl FUN_020556C8 add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205574C pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02055208 FUN_02055208: ; 0x02055208 push {r4-r5, lr} sub sp, #0xc add r4, r0, #0x0 str r2, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] str r0, [sp, #0x8] add r0, r1, #0x0 ldr r1, [sp, #0x18] ldr r2, [sp, #0x1c] bl FUN_0205753C add r5, r0, #0x0 bne _02055228 bl ErrorHandling _02055228: add r0, r5, #0x0 mov r1, #0xff bl FUN_02058444 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058484 add r0, r5, #0x0 mov r1, #0x0 bl FUN_0205848C add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058494 mov r1, #0x0 add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_020584EC add r0, r5, #0x0 mov r1, #0x0 mov r2, #0x1 bl FUN_020584EC add r0, r5, #0x0 mov r1, #0x0 mov r2, #0x2 bl FUN_020584EC mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 bl FUN_02058534 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 bl FUN_0205853C mov r1, #0x9 add r0, r5, #0x0 lsl r1, r1, #0xa bl FUN_02058410 mov r1, #0x6 add r0, r5, #0x0 lsl r1, r1, #0x6 bl FUN_02058418 add r0, r5, #0x0 mov r1, #0x1 bl FUN_02058AC8 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_0205539C add sp, #0xc pop {r4-r5, pc} .balign 4 thumb_func_start FUN_020552A4 FUN_020552A4: ; 0x020552A4 push {r3-r7, lr} sub sp, #0x8 mov r1, #0x0 str r1, [sp, #0x4] str r1, [sp, #0x0] add r1, sp, #0x0 add r2, sp, #0x4 mov r3, #0x1 add r5, r0, #0x0 bl FUN_020580F4 cmp r0, #0x0 beq _020552DE add r4, sp, #0x0 add r6, sp, #0x4 mov r7, #0x1 _020552C4: ldr r0, [sp, #0x0] bl FUN_02058480 cmp r0, #0x1 beq _020552DE add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 add r3, r7, #0x0 bl FUN_020580F4 cmp r0, #0x0 bne _020552C4 _020552DE: ldr r0, [sp, #0x0] add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_020552E4 FUN_020552E4: ; 0x020552E4 push {r4, lr} bl FUN_020552A4 add r4, r0, #0x0 bne _020552F2 bl ErrorHandling _020552F2: add r0, r4, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_020552F8 FUN_020552F8: ; 0x020552F8 push {r3, lr} bl FUN_020553A0 bl FUN_020584C4 pop {r3, pc} thumb_func_start FUN_02055304 FUN_02055304: ; 0x02055304 push {r4, lr} add r4, r1, #0x0 bl FUN_020553A0 add r1, r4, #0x0 bl FUN_020584AC pop {r4, pc} thumb_func_start FUN_02055314 FUN_02055314: ; 0x02055314 push {r3, lr} bl FUN_020553A0 bl FUN_020584D4 pop {r3, pc} thumb_func_start FUN_02055320 FUN_02055320: ; 0x02055320 push {r3, lr} bl FUN_020553A0 bl FUN_02058B2C pop {r3, pc} thumb_func_start FUN_0205532C FUN_0205532C: ; 0x0205532C push {r3, lr} bl FUN_020553A0 bl FUN_02058B4C pop {r3, pc} thumb_func_start FUN_02055338 FUN_02055338: ; 0x02055338 push {r3, lr} bl FUN_020553A0 bl FUN_02058B14 pop {r3, pc} thumb_func_start FUN_02055344 FUN_02055344: ; 0x02055344 push {r3, lr} bl FUN_020553A0 bl FUN_02058B24 pop {r3, pc} thumb_func_start FUN_02055350 FUN_02055350: ; 0x02055350 push {r4, lr} add r4, r1, #0x0 bl FUN_020553A0 add r1, r4, #0x0 bl FUN_02058B5C pop {r4, pc} thumb_func_start FUN_02055360 FUN_02055360: ; 0x02055360 push {r3, lr} bl FUN_020553A4 bl FUN_02058B7C pop {r3, pc} thumb_func_start FUN_0205536C FUN_0205536C: ; 0x0205536C str r1, [r0, #0x10] bx lr thumb_func_start FUN_02055370 FUN_02055370: ; 0x02055370 ldr r0, [r0, #0x10] bx lr thumb_func_start FUN_02055374 FUN_02055374: ; 0x02055374 str r1, [r0, #0x14] bx lr thumb_func_start FUN_02055378 FUN_02055378: ; 0x02055378 ldr r0, [r0, #0x14] bx lr thumb_func_start FUN_0205537C FUN_0205537C: ; 0x0205537C push {r4, lr} add r4, r1, #0x0 bl FUN_020553A0 cmp r4, #0x1 bne _02055392 mov r1, #0x2 lsl r1, r1, #0x8 bl FUN_02058418 pop {r4, pc} _02055392: mov r1, #0x2 lsl r1, r1, #0x8 bl FUN_02058410 pop {r4, pc} thumb_func_start FUN_0205539C FUN_0205539C: ; 0x0205539C str r1, [r0, #0x2c] bx lr thumb_func_start FUN_020553A0 FUN_020553A0: ; 0x020553A0 ldr r0, [r0, #0x2c] bx lr thumb_func_start FUN_020553A4 FUN_020553A4: ; 0x020553A4 ldr r0, [r0, #0x2c] bx lr thumb_func_start FUN_020553A8 FUN_020553A8: ; 0x020553A8 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x3 blt _020553B6 bl ErrorHandling _020553B6: add r0, r5, #0x0 add r1, r4, #0x0 str r4, [r5, #0x18] bl FUN_020554DC pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020553C4 FUN_020553C4: ; 0x020553C4 push {r4, lr} add r4, r0, #0x0 bne _020553CE bl ErrorHandling _020553CE: ldr r0, [r4, #0x18] pop {r4, pc} .balign 4 thumb_func_start FUN_020553D4 FUN_020553D4: ; 0x020553D4 ldr r2, [r0, #0x4] orr r1, r2 str r1, [r0, #0x4] bx lr thumb_func_start FUN_020553DC FUN_020553DC: ; 0x020553DC str r1, [r0, #0x4] bx lr thumb_func_start FUN_020553E0 FUN_020553E0: ; 0x020553E0 ldr r0, [r0, #0x4] bx lr thumb_func_start FUN_020553E4 FUN_020553E4: ; 0x020553E4 str r1, [r0, #0x1c] bx lr thumb_func_start FUN_020553E8 FUN_020553E8: ; 0x020553E8 ldr r0, [r0, #0x1c] bx lr thumb_func_start FUN_020553EC FUN_020553EC: ; 0x020553EC ldr r2, [r0, #0x0] orr r1, r2 str r1, [r0, #0x0] bx lr thumb_func_start FUN_020553F4 FUN_020553F4: ; 0x020553F4 ldr r2, [r0, #0x0] mvn r1, r1 and r1, r2 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02055400 FUN_02055400: ; 0x02055400 ldr r0, [r0, #0x0] and r0, r1 bx lr .balign 4 thumb_func_start FUN_02055408 FUN_02055408: ; 0x02055408 ldr r0, [r0, #0x20] bx lr thumb_func_start FUN_0205540C FUN_0205540C: ; 0x0205540C str r1, [r0, #0x20] bx lr thumb_func_start FUN_02055410 FUN_02055410: ; 0x02055410 ldr r3, _02055418 ; =FUN_020556F4 mov r1, #0x0 str r1, [r0, #0x20] bx r3 .balign 4 _02055418: .word FUN_020556F4 thumb_func_start FUN_0205541C FUN_0205541C: ; 0x0205541C ldr r3, [r0, #0x20] add r1, r3, r1 str r1, [r0, #0x20] cmp r1, r2 ble _02055428 str r2, [r0, #0x20] _02055428: ldr r0, [r0, #0x20] bx lr thumb_func_start FUN_0205542C FUN_0205542C: ; 0x0205542C str r1, [r0, #0x24] bx lr thumb_func_start FUN_02055430 FUN_02055430: ; 0x02055430 ldr r0, [r0, #0x24] bx lr thumb_func_start FUN_02055434 FUN_02055434: ; 0x02055434 str r1, [r0, #0x28] bx lr thumb_func_start FUN_02055438 FUN_02055438: ; 0x02055438 ldr r0, [r0, #0x28] bx lr thumb_func_start FUN_0205543C FUN_0205543C: ; 0x0205543C push {r3-r5, lr} add r5, r0, #0x0 add r4, r2, #0x0 bl FUN_0205542C add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02055434 pop {r3-r5, pc} thumb_func_start FUN_02055450 FUN_02055450: ; 0x02055450 str r1, [r0, #0x30] bx lr thumb_func_start FUN_02055454 FUN_02055454: ; 0x02055454 ldr r0, [r0, #0x30] bx lr thumb_func_start FUN_02055458 FUN_02055458: ; 0x02055458 str r1, [r0, #0x34] bx lr thumb_func_start FUN_0205545C FUN_0205545C: ; 0x0205545C ldr r0, [r0, #0x34] bx lr thumb_func_start FUN_02055460 FUN_02055460: ; 0x02055460 str r1, [r0, #0x8] bx lr thumb_func_start FUN_02055464 FUN_02055464: ; 0x02055464 ldr r0, [r0, #0x8] bx lr thumb_func_start FUN_02055468 FUN_02055468: ; 0x02055468 mov r1, #0x0 strh r1, [r0, #0x0] strh r1, [r0, #0x2] str r1, [r0, #0x4] bx lr .balign 4 thumb_func_start FUN_02055474 FUN_02055474: ; 0x02055474 cmp r0, #0x0 beq _02055482 ldrh r0, [r0, #0x2] cmp r0, #0x1 bne _02055482 mov r0, #0x1 bx lr _02055482: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_02055488 FUN_02055488: ; 0x02055488 cmp r1, #0x1 bne _02055492 mov r1, #0x1 strh r1, [r0, #0x2] bx lr _02055492: mov r1, #0x0 strh r1, [r0, #0x2] bx lr thumb_func_start FUN_02055498 FUN_02055498: ; 0x02055498 cmp r0, #0x0 bne _020554A0 mov r0, #0x0 bx lr _020554A0: ldrh r0, [r0, #0x0] bx lr thumb_func_start FUN_020554A4 FUN_020554A4: ; 0x020554A4 cmp r0, #0x0 beq _020554AA strh r1, [r0, #0x0] _020554AA: bx lr thumb_func_start FUN_020554AC FUN_020554AC: ; 0x020554AC push {r4, lr} add r4, r1, #0x0 bl FUN_0205545C add r1, r4, #0x0 bl FUN_020554A4 pop {r4, pc} thumb_func_start FUN_020554BC FUN_020554BC: ; 0x020554BC push {r3, lr} bl FUN_0205545C bl FUN_02055498 pop {r3, pc} thumb_func_start FUN_020554C8 FUN_020554C8: ; 0x020554C8 cmp r0, #0x0 beq _020554D0 ldr r0, [r0, #0x4] bx lr _020554D0: mov r0, #0x0 bx lr thumb_func_start FUN_020554D4 FUN_020554D4: ; 0x020554D4 cmp r0, #0x0 beq _020554DA str r1, [r0, #0x4] _020554DA: bx lr thumb_func_start FUN_020554DC FUN_020554DC: ; 0x020554DC push {r4, lr} add r4, r1, #0x0 bl FUN_0205545C add r1, r4, #0x0 bl FUN_020554D4 pop {r4, pc} thumb_func_start FUN_020554EC FUN_020554EC: ; 0x020554EC push {r4-r6, lr} add r4, r1, #0x0 add r6, r2, #0x0 add r5, r0, #0x0 bl FUN_020553A0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02058DBC add r0, r5, #0x0 mov r1, #0x0 bl FUN_0205536C add r0, r5, #0x0 mov r1, #0x0 bl FUN_02055374 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02055514 FUN_02055514: ; 0x02055514 push {r3-r7, lr} add r6, r1, #0x0 add r7, r2, #0x0 add r5, r0, #0x0 add r4, r3, #0x0 bl FUN_020553A0 add r1, r6, #0x0 mov r2, #0x0 add r3, r7, #0x0 str r4, [sp, #0x0] bl FUN_02058E28 add r0, r5, #0x0 mov r1, #0x0 bl FUN_0205536C add r0, r5, #0x0 mov r1, #0x0 bl FUN_02055374 pop {r3-r7, pc} thumb_func_start FUN_02055540 FUN_02055540: ; 0x02055540 push {r4-r5, lr} sub sp, #0xc add r5, r1, #0x0 bl FUN_020553A0 add r4, r0, #0x0 add r1, sp, #0x0 bl FUN_02058B5C add r0, r4, #0x0 add r1, sp, #0x0 str r5, [sp, #0x4] bl FUN_02058B6C add sp, #0xc pop {r4-r5, pc} thumb_func_start FUN_02055560 FUN_02055560: ; 0x02055560 push {r4, lr} add r4, r1, #0x0 bl FUN_020553A0 cmp r4, #0x1 bne _02055574 mov r1, #0x0 bl FUN_02058960 pop {r4, pc} _02055574: mov r1, #0x1 bl FUN_02058960 pop {r4, pc} thumb_func_start FUN_0205557C FUN_0205557C: ; 0x0205557C push {r3-r5, lr} add r5, r1, #0x0 bl FUN_020553A0 add r4, r0, #0x0 cmp r5, #0x1 bne _02055598 mov r1, #0x0 bl FUN_02058960 add r0, r4, #0x0 bl FUN_02059D1C pop {r3-r5, pc} _02055598: mov r1, #0x1 bl FUN_02058960 pop {r3-r5, pc} thumb_func_start FUN_020555A0 FUN_020555A0: ; 0x020555A0 push {r3, lr} cmp r1, #0x0 bne _020555F2 cmp r0, #0x9 bhi _0205563E add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020555B6: ; jump table (using 16-bit offset) .short _020555CA - _020555B6 - 2; case 0 .short _020555CE - _020555B6 - 2; case 1 .short _020555D2 - _020555B6 - 2; case 2 .short _020555D6 - _020555B6 - 2; case 3 .short _020555DA - _020555B6 - 2; case 4 .short _020555DE - _020555B6 - 2; case 5 .short _020555E2 - _020555B6 - 2; case 6 .short _020555E6 - _020555B6 - 2; case 7 .short _020555EA - _020555B6 - 2; case 8 .short _020555EE - _020555B6 - 2; case 9 _020555CA: mov r0, #0x0 pop {r3, pc} _020555CE: mov r0, #0x15 pop {r3, pc} _020555D2: mov r0, #0xb2 pop {r3, pc} _020555D6: mov r0, #0xb0 pop {r3, pc} _020555DA: mov r0, #0xb4 pop {r3, pc} _020555DE: mov r0, #0xba pop {r3, pc} _020555E2: mov r0, #0xbc pop {r3, pc} _020555E6: mov r0, #0xc4 pop {r3, pc} _020555EA: mov r0, #0xc6 pop {r3, pc} _020555EE: mov r0, #0xc8 pop {r3, pc} _020555F2: cmp r0, #0x9 bhi _0205563E add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02055602: ; jump table (using 16-bit offset) .short _02055616 - _02055602 - 2; case 0 .short _0205561A - _02055602 - 2; case 1 .short _0205561E - _02055602 - 2; case 2 .short _02055622 - _02055602 - 2; case 3 .short _02055626 - _02055602 - 2; case 4 .short _0205562A - _02055602 - 2; case 5 .short _0205562E - _02055602 - 2; case 6 .short _02055632 - _02055602 - 2; case 7 .short _02055636 - _02055602 - 2; case 8 .short _0205563A - _02055602 - 2; case 9 _02055616: mov r0, #0x61 pop {r3, pc} _0205561A: mov r0, #0x62 pop {r3, pc} _0205561E: mov r0, #0xb3 pop {r3, pc} _02055622: mov r0, #0xb1 pop {r3, pc} _02055626: mov r0, #0xb5 pop {r3, pc} _0205562A: mov r0, #0xbb pop {r3, pc} _0205562E: mov r0, #0xbd pop {r3, pc} _02055632: mov r0, #0xc5 pop {r3, pc} _02055636: mov r0, #0xc7 pop {r3, pc} _0205563A: mov r0, #0xc9 pop {r3, pc} _0205563E: bl ErrorHandling mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_02055648 FUN_02055648: ; 0x02055648 push {r3, lr} cmp r0, #0x9 bhi _02055690 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205565A: ; jump table (using 16-bit offset) .short _0205566E - _0205565A - 2; case 0 .short _02055672 - _0205565A - 2; case 1 .short _02055676 - _0205565A - 2; case 2 .short _02055690 - _0205565A - 2; case 3 .short _0205567A - _0205565A - 2; case 4 .short _02055690 - _0205565A - 2; case 5 .short _0205567E - _0205565A - 2; case 6 .short _02055682 - _0205565A - 2; case 7 .short _02055686 - _0205565A - 2; case 8 .short _0205568A - _0205565A - 2; case 9 _0205566E: mov r0, #0x1 pop {r3, pc} _02055672: mov r0, #0x2 pop {r3, pc} _02055676: mov r0, #0x4 pop {r3, pc} _0205567A: mov r0, #0x10 pop {r3, pc} _0205567E: mov r0, #0x20 pop {r3, pc} _02055682: mov r0, #0x40 pop {r3, pc} _02055686: mov r0, #0x80 pop {r3, pc} _0205568A: mov r0, #0x1 lsl r0, r0, #0x8 pop {r3, pc} _02055690: bl ErrorHandling mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_02055698 FUN_02055698: ; 0x02055698 ldr r0, [r0, #0x38] bx lr thumb_func_start FUN_0205569C FUN_0205569C: ; 0x0205569C push {r3, lr} cmp r1, #0x1 bne _020556AA mov r1, #0x1 bl FUN_020553EC pop {r3, pc} _020556AA: mov r1, #0x1 bl FUN_020553F4 pop {r3, pc} .balign 4 thumb_func_start FUN_020556B4 FUN_020556B4: ; 0x020556B4 push {r3, lr} mov r1, #0x1 bl FUN_02055400 cmp r0, #0x0 beq _020556C4 mov r0, #0x1 pop {r3, pc} _020556C4: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_020556C8 FUN_020556C8: ; 0x020556C8 push {r3, lr} cmp r1, #0x1 bne _020556D6 mov r1, #0x2 bl FUN_020553EC pop {r3, pc} _020556D6: mov r1, #0x2 bl FUN_020553F4 pop {r3, pc} .balign 4 thumb_func_start FUN_020556E0 FUN_020556E0: ; 0x020556E0 push {r3, lr} mov r1, #0x2 bl FUN_02055400 cmp r0, #0x0 beq _020556F0 mov r0, #0x1 pop {r3, pc} _020556F0: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_020556F4 FUN_020556F4: ; 0x020556F4 push {r3, lr} cmp r1, #0x1 bne _02055702 mov r1, #0x4 bl FUN_020553EC pop {r3, pc} _02055702: mov r1, #0x4 bl FUN_020553F4 pop {r3, pc} .balign 4 thumb_func_start FUN_0205570C FUN_0205570C: ; 0x0205570C push {r3, lr} mov r1, #0x4 bl FUN_02055400 cmp r0, #0x0 beq _0205571C mov r0, #0x1 pop {r3, pc} _0205571C: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_02055720 FUN_02055720: ; 0x02055720 push {r3, lr} cmp r1, #0x1 bne _0205572E mov r1, #0x8 bl FUN_020553EC pop {r3, pc} _0205572E: mov r1, #0x8 bl FUN_020553F4 pop {r3, pc} .balign 4 thumb_func_start FUN_02055738 FUN_02055738: ; 0x02055738 push {r3, lr} mov r1, #0x8 bl FUN_02055400 cmp r0, #0x0 beq _02055748 mov r0, #0x1 pop {r3, pc} _02055748: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0205574C FUN_0205574C: ; 0x0205574C push {r3, lr} cmp r1, #0x1 bne _0205575A mov r1, #0x10 bl FUN_020553EC pop {r3, pc} _0205575A: mov r1, #0x10 bl FUN_020553F4 pop {r3, pc} .balign 4 thumb_func_start FUN_02055764 FUN_02055764: ; 0x02055764 push {r3, lr} mov r1, #0x10 bl FUN_02055400 cmp r0, #0x0 beq _02055774 mov r0, #0x1 pop {r3, pc} _02055774: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_02055778 FUN_02055778: ; 0x02055778 push {r3, lr} cmp r1, #0x1 bne _02055786 mov r1, #0x20 bl FUN_020553EC pop {r3, pc} _02055786: mov r1, #0x20 bl FUN_020553F4 pop {r3, pc} .balign 4 thumb_func_start FUN_02055790 FUN_02055790: ; 0x02055790 push {r3, lr} mov r1, #0x20 bl FUN_02055400 cmp r0, #0x0 beq _020557A0 mov r0, #0x1 pop {r3, pc} _020557A0: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_020557A4 FUN_020557A4: ; 0x020557A4 ldr r3, _020557AC ; =FUN_020553EC mov r1, #0x40 bx r3 nop _020557AC: .word FUN_020553EC thumb_func_start FUN_020557B0 FUN_020557B0: ; 0x020557B0 ldr r3, _020557B8 ; =FUN_020553F4 mov r1, #0x40 bx r3 nop _020557B8: .word FUN_020553F4 thumb_func_start FUN_020557BC FUN_020557BC: ; 0x020557BC push {r3, lr} mov r1, #0x40 bl FUN_02055400 cmp r0, #0x0 beq _020557CC mov r0, #0x1 pop {r3, pc} _020557CC: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_020557D0 FUN_020557D0: ; 0x020557D0 push {r3, lr} cmp r1, #0x1 bne _020557DE mov r1, #0x80 bl FUN_020553EC pop {r3, pc} _020557DE: mov r1, #0x80 bl FUN_020553F4 pop {r3, pc} .balign 4 thumb_func_start FUN_020557E8 FUN_020557E8: ; 0x020557E8 ldr r3, _020557F0 ; =FUN_02055400 mov r1, #0x80 bx r3 nop _020557F0: .word FUN_02055400 thumb_func_start FUN_020557F4 FUN_020557F4: ; 0x020557F4 push {r3-r7, lr} add r7, r1, #0x0 mov r1, #0x0 add r4, r2, #0x0 mvn r1, r1 add r5, r0, #0x0 add r6, r3, #0x0 cmp r4, r1 bne _02055812 add r2, sp, #0x8 ldrh r2, [r2, #0x10] add r1, r6, #0x0 bl FUN_02057060 add r4, r0, #0x0 _02055812: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020563F0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020558A0 cmp r0, #0x0 beq _02055896 add r3, sp, #0x8 ldrh r3, [r3, #0x10] add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02055900 add r0, r5, #0x0 bl FUN_021E5FE0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02055BD4 cmp r0, #0x1 bne _0205584E add r0, r5, #0x0 bl FUN_021E7138 pop {r3-r7, pc} _0205584E: add r0, r5, #0x0 bl FUN_020553C4 cmp r0, #0x0 bne _02055878 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020561D0 cmp r0, #0x0 beq _0205586C add r0, r5, #0x0 bl FUN_021E7138 b _02055878 _0205586C: ldr r0, [sp, #0x1c] cmp r0, #0x1 bne _02055878 add r0, r5, #0x0 bl FUN_021E70F0 _02055878: add r0, sp, #0x8 ldrh r0, [r0, #0x10] add r1, r7, #0x0 add r2, r4, #0x0 str r0, [sp, #0x0] add r0, r5, #0x0 add r3, r6, #0x0 bl FUN_02056110 add r0, r5, #0x0 bl FUN_02055928 add r0, r5, #0x0 bl FUN_02055968 _02055896: pop {r3-r7, pc} thumb_func_start FUN_02055898 FUN_02055898: ; 0x02055898 ldr r3, _0205589C ; =FUN_020558A0 bx r3 .balign 4 _0205589C: .word FUN_020558A0 thumb_func_start FUN_020558A0 FUN_020558A0: ; 0x020558A0 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_020553A0 add r6, r0, #0x0 bl FUN_0205AD98 cmp r0, #0x1 bne _020558B8 mov r0, #0x1 pop {r4-r6, pc} _020558B8: mov r0, #0x0 mvn r0, r0 cmp r4, r0 bne _020558C4 mov r0, #0x0 pop {r4-r6, pc} _020558C4: add r0, r6, #0x0 bl FUN_020586F0 bl FUN_020570F0 cmp r0, #0x1 bne _020558FA add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 bl FUN_02056B74 cmp r0, #0x0 bne _020558E4 mov r0, #0x1 pop {r4-r6, pc} _020558E4: cmp r0, #0x20 bne _020558F6 add r0, r5, #0x0 bl FUN_020553C4 cmp r0, #0x2 bne _020558F6 mov r0, #0x1 pop {r4-r6, pc} _020558F6: mov r0, #0x0 pop {r4-r6, pc} _020558FA: mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02055900 FUN_02055900: ; 0x02055900 push {r4-r6, lr} add r6, r3, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_02057028 add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_02057044 add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205543C add r0, r5, #0x0 bl FUN_020557B0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02055928 FUN_02055928: ; 0x02055928 push {r4, lr} add r4, r0, #0x0 bl FUN_020557BC cmp r0, #0x1 bne _02055964 add r0, r4, #0x0 bl FUN_02055370 cmp r0, #0x1 bne _02055964 add r0, r4, #0x0 mov r1, #0x0 bl FUN_020556C8 add r0, r4, #0x0 bl FUN_02055764 cmp r0, #0x1 bne _02055964 add r0, r4, #0x0 mov r1, #0x0 bl FUN_0205574C add r0, r4, #0x0 bl FUN_020553A0 mov r1, #0x0 bl FUN_02058A18 _02055964: pop {r4, pc} .balign 4 thumb_func_start FUN_02055968 FUN_02055968: ; 0x02055968 push {r4-r6, lr} add r4, r0, #0x0 bl FUN_02055370 cmp r0, #0x1 bne _02055A20 add r0, r4, #0x0 bl FUN_020553A0 add r4, r0, #0x0 bl FUN_02058720 lsl r0, r0, #0x18 lsr r5, r0, #0x18 add r0, r4, #0x0 bl FUN_020586F0 bl FUN_0205B020 add r1, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r1, r0 bne _0205599C add r6, r5, #0x0 b _020559A6 _0205599C: add r0, r4, #0x0 bl FUN_02059C90 lsl r0, r0, #0x18 lsr r6, r0, #0x18 _020559A6: add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02059B2C cmp r0, #0x1 bne _020559B8 ldr r0, _02055A24 ; =0x0000061F bl FUN_020054C8 _020559B8: add r0, r5, #0x0 bl FUN_02054AF0 cmp r0, #0x1 bne _020559C8 ldr r0, _02055A28 ; =0x00000641 bl FUN_020054C8 _020559C8: add r0, r5, #0x0 bl FUN_0205483C cmp r0, #0x1 bne _020559D8 ldr r0, _02055A2C ; =0x00000642 bl FUN_020054C8 _020559D8: add r0, r5, #0x0 bl FUN_02054830 add r0, r5, #0x0 bl FUN_02054974 cmp r0, #0x1 bne _020559F8 add r0, r5, #0x0 bl FUN_02054984 cmp r0, #0x1 beq _020559F8 ldr r0, _02055A30 ; =0x00000655 bl FUN_020054C8 _020559F8: add r0, r4, #0x0 bl FUN_020586F0 bl FUN_020570F0 cmp r0, #0x0 bne _02055A20 add r0, r5, #0x0 bl FUN_02054798 cmp r0, #0x1 beq _02055A1A add r0, r6, #0x0 bl FUN_02054798 cmp r0, #0x1 bne _02055A20 _02055A1A: ldr r0, _02055A34 ; =0x00000653 bl FUN_020054C8 _02055A20: pop {r4-r6, pc} nop _02055A24: .word 0x0000061F _02055A28: .word 0x00000641 _02055A2C: .word 0x00000642 _02055A30: .word 0x00000655 _02055A34: .word 0x00000653 thumb_func_start FUN_02055A38 FUN_02055A38: ; 0x02055A38 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02055370 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02055378 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_020553A0 add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02055374 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 bl FUN_02055BEC cmp r0, #0x0 beq _02055A76 cmp r0, #0x5 beq _02055A76 add r0, r5, #0x0 mov r1, #0x2 bl FUN_02055374 pop {r3-r7, pc} _02055A76: add r0, r7, #0x0 bl FUN_0205AD98 cmp r0, #0x0 bne _02055AC2 cmp r6, #0x0 beq _02055B10 cmp r6, #0x1 beq _02055A8E cmp r6, #0x2 beq _02055AB8 pop {r3-r7, pc} _02055A8E: add r0, r7, #0x0 bl FUN_020586F0 bl FUN_020570F0 cmp r0, #0x1 beq _02055B10 cmp r4, #0x0 beq _02055AA4 cmp r4, #0x3 bne _02055AAE _02055AA4: add r0, r5, #0x0 mov r1, #0x1 bl FUN_02055374 pop {r3-r7, pc} _02055AAE: add r0, r5, #0x0 mov r1, #0x2 bl FUN_02055374 pop {r3-r7, pc} _02055AB8: add r0, r5, #0x0 mov r1, #0x2 bl FUN_02055374 pop {r3-r7, pc} _02055AC2: add r0, r7, #0x0 bl FUN_0205AE28 cmp r0, #0x1 bne _02055B10 cmp r6, #0x0 beq _02055B10 cmp r6, #0x1 beq _02055ADA cmp r6, #0x2 beq _02055AF6 pop {r3-r7, pc} _02055ADA: cmp r4, #0x0 beq _02055B10 cmp r4, #0x3 bne _02055AEC add r0, r5, #0x0 mov r1, #0x0 bl FUN_02055374 pop {r3-r7, pc} _02055AEC: add r0, r5, #0x0 mov r1, #0x3 bl FUN_02055374 pop {r3-r7, pc} _02055AF6: cmp r4, #0x0 beq _02055B10 cmp r4, #0x3 bne _02055B08 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02055374 pop {r3-r7, pc} _02055B08: add r0, r5, #0x0 mov r1, #0x3 bl FUN_02055374 _02055B10: pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02055B14 FUN_02055B14: ; 0x02055B14 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 bl FUN_0205536C add r0, r4, #0x0 mov r1, #0x0 bl FUN_02055374 add r0, r4, #0x0 bl FUN_02055410 pop {r4, pc} .balign 4 thumb_func_start FUN_02055B30 FUN_02055B30: ; 0x02055B30 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02055370 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02055378 cmp r4, #0x0 bne _02055B48 mov r0, #0x1 pop {r3-r5, pc} _02055B48: cmp r4, #0x2 bne _02055B50 mov r0, #0x1 pop {r3-r5, pc} _02055B50: cmp r4, #0x1 bne _02055B86 cmp r0, #0x0 beq _02055B5C cmp r0, #0x3 bne _02055B60 _02055B5C: mov r0, #0x1 pop {r3-r5, pc} _02055B60: add r0, r5, #0x0 bl FUN_020553A0 add r4, r0, #0x0 bl FUN_0205AD98 cmp r0, #0x1 bne _02055B74 mov r0, #0x1 pop {r3-r5, pc} _02055B74: add r0, r4, #0x0 bl FUN_020586F0 bl FUN_020570F0 cmp r0, #0x1 bne _02055B86 mov r0, #0x1 pop {r3-r5, pc} _02055B86: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02055B8C FUN_02055B8C: ; 0x02055B8C push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 mov r1, #0x0 bl FUN_0205536C add r0, r4, #0x0 mov r1, #0x0 bl FUN_02055374 add r0, r4, #0x0 bl FUN_020553A0 add r4, r0, #0x0 add r1, r5, #0x0 bl FUN_020584AC add r0, r4, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r4, #0x0 bl FUN_02059C60 add r0, r4, #0x0 bl FUN_0205AE80 add r0, r5, #0x0 mov r1, #0x0 bl FUN_0205AFDC add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_0205ADDC pop {r3-r5, pc} thumb_func_start FUN_02055BD4 FUN_02055BD4: ; 0x02055BD4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02055BEC add r1, r0, #0x0 add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_02055C4C pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02055BEC FUN_02055BEC: ; 0x02055BEC push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r4, #0x0 bl FUN_020553A0 bl FUN_02058720 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 bl FUN_0205733C cmp r0, #0x1 bne _02055C10 mov r0, #0x5 pop {r3-r7, pc} _02055C10: add r0, r5, #0x0 bl FUN_020556E0 cmp r0, #0x1 bne _02055C1E add r0, r4, #0x0 pop {r3-r7, pc} _02055C1E: lsl r0, r7, #0x18 ldr r5, _02055C44 ; =0x020F5D34 lsr r6, r0, #0x18 _02055C24: ldr r1, [r5, #0x0] add r0, r6, #0x0 blx r1 cmp r0, #0x1 bne _02055C36 ldr r0, _02055C48 ; =0x020F5D38 lsl r1, r4, #0x3 ldr r0, [r0, r1] pop {r3-r7, pc} _02055C36: add r5, #0x8 ldr r0, [r5, #0x0] add r4, r4, #0x1 cmp r0, #0x0 bne _02055C24 mov r0, #0x0 pop {r3-r7, pc} .balign 4 _02055C44: .word 0x020F5D34 _02055C48: .word 0x020F5D38 thumb_func_start FUN_02055C4C FUN_02055C4C: ; 0x02055C4C push {r3, lr} add r3, r1, #0x0 add r1, r2, #0x0 ldr r2, _02055C68 ; =0x020F5D1C lsl r3, r3, #0x2 ldr r2, [r2, r3] blx r2 cmp r0, #0x1 bne _02055C62 mov r0, #0x1 pop {r3, pc} _02055C62: mov r0, #0x0 pop {r3, pc} nop _02055C68: .word 0x020F5D1C thumb_func_start FUN_02055C6C FUN_02055C6C: ; 0x02055C6C push {r3, lr} bl FUN_02055FFC mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_02055C78 FUN_02055C78: ; 0x02055C78 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_020553A0 add r4, r0, #0x0 bl FUN_020584D4 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02056040 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02056B74 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205569C ldr r0, [sp, #0x0] cmp r0, #0x0 beq _02055D28 add r0, r5, #0x0 bl FUN_02055FFC cmp r7, #0x1 beq _02055CCA add r0, r5, #0x0 mov r1, #0x1 bl FUN_020556C8 add r0, r5, #0x0 mov r1, #0x0 bl FUN_0205536C mov r0, #0x0 pop {r3-r7, pc} _02055CCA: add r0, r6, #0x0 bl FUN_02059E74 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02056B74 cmp r0, #0x0 beq _02055CE4 mov r0, #0x0 pop {r3-r7, pc} _02055CE4: mov r1, #0x6 add r0, r4, #0x0 lsl r1, r1, #0x6 bl FUN_02058410 add r0, r6, #0x0 mov r1, #0x8 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02056B5C add r0, r5, #0x0 mov r1, #0x1 bl FUN_020556C8 add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205569C mov r1, #0x0 mvn r1, r1 add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_0205543C add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205536C mov r0, #0x1 pop {r3-r7, pc} _02055D28: add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_020560A0 cmp r0, #0x0 bne _02055D8E add r0, r5, #0x0 bl FUN_02055FFC add r0, r6, #0x0 bl FUN_02059E74 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02056B74 cmp r0, #0x0 beq _02055D54 mov r0, #0x0 pop {r3-r7, pc} _02055D54: mov r1, #0x6 add r0, r4, #0x0 lsl r1, r1, #0x6 bl FUN_02058410 add r0, r6, #0x0 mov r1, #0x8 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02056B5C add r0, r5, #0x0 mov r1, #0x1 bl FUN_020556C8 add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205569C mov r1, #0x0 mvn r1, r1 add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_0205543C b _02055DA0 _02055D8E: mov r1, #0x6 add r0, r4, #0x0 lsl r1, r1, #0x6 bl FUN_02058410 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020560D0 _02055DA0: add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205536C mov r0, #0x1 pop {r3-r7, pc} thumb_func_start FUN_02055DAC FUN_02055DAC: ; 0x02055DAC push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 bl FUN_020553A0 add r6, r0, #0x0 bl FUN_020584D4 add r4, r0, #0x0 ldr r0, _02055EF4 ; =0x00000654 bl FUN_020054C8 cmp r4, #0x0 bne _02055E62 add r0, r5, #0x0 bl FUN_020553C4 cmp r0, #0x1 bne _02055DFE add r0, r5, #0x0 bl FUN_02055408 cmp r0, #0x3 blt _02055DFE cmp r7, #0x0 bne _02055DFE add r0, r4, #0x0 mov r1, #0x15 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02056B5C add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205536C mov r0, #0x1 pop {r3-r7, pc} _02055DFE: add r0, r4, #0x0 bl FUN_02059E74 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 bl FUN_02056B74 cmp r0, #0x0 beq _02055E18 mov r0, #0x0 pop {r3-r7, pc} _02055E18: mov r1, #0x6 add r0, r6, #0x0 lsl r1, r1, #0x6 bl FUN_02058410 add r0, r4, #0x0 mov r1, #0x8 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02056B5C add r0, r5, #0x0 bl FUN_02055410 add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205569C add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205536C add r0, r5, #0x0 mov r1, #0x1 bl FUN_02055778 mov r1, #0x0 mvn r1, r1 add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_0205543C mov r0, #0x1 pop {r3-r7, pc} _02055E62: cmp r4, #0x1 bne _02055EF0 add r0, r5, #0x0 bl FUN_02055790 cmp r0, #0x0 bne _02055EAC add r0, r4, #0x0 mov r1, #0x15 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02056B5C add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205536C add r0, r5, #0x0 bl FUN_020554BC cmp r0, #0x1 bne _02055E9C add r0, r5, #0x0 mov r1, #0x3 bl FUN_0205540C _02055E9C: mov r1, #0x0 mvn r1, r1 add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_0205543C mov r0, #0x1 pop {r3-r7, pc} _02055EAC: mov r1, #0x6 add r0, r6, #0x0 lsl r1, r1, #0x6 bl FUN_02058410 add r0, r4, #0x0 mov r1, #0x8 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02056B5C add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205569C add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205536C add r0, r5, #0x0 mov r1, #0x1 bl FUN_02055778 mov r1, #0x0 mvn r1, r1 add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_0205543C mov r0, #0x1 pop {r3-r7, pc} _02055EF0: mov r0, #0x0 pop {r3-r7, pc} .balign 4 _02055EF4: .word 0x00000654 thumb_func_start FUN_02055EF8 FUN_02055EF8: ; 0x02055EF8 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_020553A0 add r4, r0, #0x0 bl FUN_020584D4 add r0, r5, #0x0 bl FUN_020554BC cmp r0, #0x1 bne _02055F22 ldr r0, _02055F40 ; =0x00000656 bl FUN_020054C8 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x5f bl FUN_02056B5C b _02055F2C _02055F22: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x5d bl FUN_02056B5C _02055F2C: add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205569C add r0, r5, #0x0 mov r1, #0x1 bl FUN_020557D0 mov r0, #0x1 pop {r3-r5, pc} .balign 4 _02055F40: .word 0x00000656 thumb_func_start FUN_02055F44 FUN_02055F44: ; 0x02055F44 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_020553A0 add r4, r0, #0x0 bl FUN_020584D4 add r0, r5, #0x0 bl FUN_020554BC cmp r0, #0x1 bne _02055F6E ldr r0, _02055F8C ; =0x00000656 bl FUN_020054C8 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x5e bl FUN_02056B5C b _02055F78 _02055F6E: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x5c bl FUN_02056B5C _02055F78: add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205569C add r0, r5, #0x0 mov r1, #0x1 bl FUN_020557D0 mov r0, #0x1 pop {r3-r5, pc} .balign 4 _02055F8C: .word 0x00000656 thumb_func_start FUN_02055F90 FUN_02055F90: ; 0x02055F90 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_020553A0 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x1 bl FUN_02056B74 cmp r0, #0x0 bne _02055FCE mov r0, #0x1 mov r1, #0x14 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02056B5C add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205536C add r0, r5, #0x0 mov r1, #0x3 bl FUN_0205540C mov r0, #0x1 pop {r3-r5, pc} _02055FCE: mov r0, #0x1 add r1, r0, #0x0 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02056B5C add r0, r5, #0x0 bl FUN_02055410 add r0, r5, #0x0 mov r1, #0x0 bl FUN_0205536C add r0, r5, #0x0 mov r1, #0x0 bl FUN_020556F4 mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02055FFC FUN_02055FFC: ; 0x02055FFC push {r4, lr} add r4, r0, #0x0 bl FUN_020556B4 cmp r0, #0x1 bne _0205603E add r0, r4, #0x0 bl FUN_020553A0 mov r1, #0x6 lsl r1, r1, #0x6 bl FUN_02058418 add r0, r4, #0x0 bl FUN_020557E8 cmp r0, #0x0 bne _02056026 add r0, r4, #0x0 bl FUN_02055410 _02056026: add r0, r4, #0x0 mov r1, #0x0 bl FUN_0205569C add r0, r4, #0x0 mov r1, #0x0 bl FUN_020557D0 add r0, r4, #0x0 mov r1, #0x0 bl FUN_02055778 _0205603E: pop {r4, pc} thumb_func_start FUN_02056040 FUN_02056040: ; 0x02056040 push {r4-r6, lr} sub sp, #0x18 add r5, r1, #0x0 bl FUN_020553A0 add r4, r0, #0x0 bl FUN_02058738 add r6, r0, #0x0 add r0, r4, #0x0 add r1, sp, #0xc bl FUN_02058B5C add r4, sp, #0xc add r3, sp, #0x0 ldmia r4!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldr r0, [r4, #0x0] add r1, r2, #0x0 mov r2, #0x1 str r0, [r3, #0x0] add r0, r5, #0x0 lsl r2, r2, #0xe bl FUN_02059E28 add r0, r6, #0x0 add r1, sp, #0x0 bl FUN_02059E9C cmp r0, #0x0 beq _02056088 ldr r1, [sp, #0x4] ldr r0, [sp, #0x10] cmp r0, r1 bne _0205608E _02056088: add sp, #0x18 mov r0, #0x0 pop {r4-r6, pc} _0205608E: cmp r0, r1 ble _02056098 add sp, #0x18 mov r0, #0x2 pop {r4-r6, pc} _02056098: mov r0, #0x1 add sp, #0x18 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020560A0 FUN_020560A0: ; 0x020560A0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02055408 add r1, r0, #0x0 cmp r4, #0x1 bne _020560B8 sub r1, r1, #0x1 bpl _020560C4 mov r0, #0x0 pop {r3-r5, pc} _020560B8: cmp r4, #0x2 bne _020560C4 add r1, r1, #0x1 cmp r1, #0x3 ble _020560C4 mov r1, #0x3 _020560C4: add r0, r5, #0x0 bl FUN_0205540C mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020560D0 FUN_020560D0: ; 0x020560D0 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 bl FUN_020553A0 add r7, r0, #0x0 add r0, r5, #0x0 mov r4, #0x10 bl FUN_02055408 cmp r0, #0x1 beq _020560F2 cmp r0, #0x2 beq _020560F6 cmp r0, #0x3 beq _020560FA b _020560FC _020560F2: mov r4, #0x50 b _020560FC _020560F6: mov r4, #0x14 b _020560FC _020560FA: mov r4, #0x14 _020560FC: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_02056B5C pop {r3-r7, pc} thumb_func_start FUN_02056110 FUN_02056110: ; 0x02056110 push {r4-r7, lr} sub sp, #0xc add r6, r0, #0x0 add r7, r1, #0x0 str r2, [sp, #0x8] add r5, r3, #0x0 bl FUN_020553C4 add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_020553A0 add r1, r0, #0x0 cmp r4, #0x0 beq _02056136 cmp r4, #0x1 beq _0205614C cmp r4, #0x2 bne _02056162 _02056136: str r5, [sp, #0x0] add r0, sp, #0x10 ldrh r0, [r0, #0x10] ldr r3, [sp, #0x8] add r2, r7, #0x0 str r0, [sp, #0x4] add r0, r6, #0x0 bl FUN_0205616C add sp, #0xc pop {r4-r7, pc} _0205614C: str r5, [sp, #0x0] add r0, sp, #0x10 ldrh r0, [r0, #0x10] ldr r3, [sp, #0x8] add r2, r7, #0x0 str r0, [sp, #0x4] add r0, r6, #0x0 bl FUN_020563A8 add sp, #0xc pop {r4-r7, pc} _02056162: bl ErrorHandling add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0205616C FUN_0205616C: ; 0x0205616C push {r3-r6, lr} sub sp, #0x4 add r6, r3, #0x0 add r4, r1, #0x0 add r1, r6, #0x0 add r5, r0, #0x0 bl FUN_020561D0 cmp r0, #0x0 beq _0205618C cmp r0, #0x1 beq _020561A2 cmp r0, #0x2 beq _020561B8 add sp, #0x4 pop {r3-r6, pc} _0205618C: add r3, sp, #0x8 ldrh r0, [r3, #0x14] add r1, r4, #0x0 add r2, r6, #0x0 str r0, [sp, #0x0] ldrh r3, [r3, #0x10] add r0, r5, #0x0 bl FUN_02056288 add sp, #0x4 pop {r3-r6, pc} _020561A2: add r3, sp, #0x8 ldrh r0, [r3, #0x14] add r1, r4, #0x0 add r2, r6, #0x0 str r0, [sp, #0x0] ldrh r3, [r3, #0x10] add r0, r5, #0x0 bl FUN_020562A8 add sp, #0x4 pop {r3-r6, pc} _020561B8: add r3, sp, #0x8 ldrh r0, [r3, #0x14] add r1, r4, #0x0 add r2, r6, #0x0 str r0, [sp, #0x0] ldrh r3, [r3, #0x10] add r0, r5, #0x0 bl FUN_02056384 add sp, #0x4 pop {r3-r6, pc} .balign 4 thumb_func_start FUN_020561D0 FUN_020561D0: ; 0x020561D0 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02056244 add r4, r0, #0x0 bl FUN_020561EC add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205536C add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020561EC FUN_020561EC: ; 0x020561EC push {r3, lr} cmp r0, #0x0 beq _020561FC cmp r0, #0x1 beq _02056200 cmp r0, #0x2 beq _02056204 b _02056208 _020561FC: mov r0, #0x0 pop {r3, pc} _02056200: mov r0, #0x1 pop {r3, pc} _02056204: mov r0, #0x2 pop {r3, pc} _02056208: bl ErrorHandling mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_02056210 FUN_02056210: ; 0x02056210 push {r3-r5, lr} add r5, r1, #0x0 add r0, r5, #0x0 add r4, r2, #0x0 bl FUN_020549F0 cmp r0, #0x1 bne _02056224 mov r0, #0x4 pop {r3-r5, pc} _02056224: add r0, r5, #0x0 bl FUN_020549E4 cmp r0, #0x1 bne _02056232 mov r0, #0x8 pop {r3-r5, pc} _02056232: add r0, r5, #0x0 bl FUN_020549D8 cmp r0, #0x1 bne _0205623E mov r4, #0xc _0205623E: add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02056244 FUN_02056244: ; 0x02056244 push {r3-r5, lr} add r4, r1, #0x0 mov r1, #0x0 mvn r1, r1 add r5, r0, #0x0 cmp r4, r1 bne _0205625C mov r1, #0x0 bl FUN_0205536C mov r0, #0x0 pop {r3-r5, pc} _0205625C: bl FUN_020552F8 cmp r0, r4 beq _0205627A add r0, r5, #0x0 bl FUN_02055370 cmp r0, #0x1 beq _0205627A add r0, r5, #0x0 mov r1, #0x2 bl FUN_0205536C mov r0, #0x2 pop {r3-r5, pc} _0205627A: add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205536C mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02056288 FUN_02056288: ; 0x02056288 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_020584C4 mov r1, #0x0 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02056B5C pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020562A8 FUN_020562A8: ; 0x020562A8 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 str r2, [sp, #0x0] bl FUN_02056B74 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_020553C4 cmp r0, #0x2 beq _0205632A mov r0, #0x4 tst r0, r4 beq _020562CA mov r7, #0x38 b _0205636C _020562CA: cmp r4, #0x0 beq _020562E6 mov r0, #0x8 mov r7, #0x1c tst r0, r4 bne _020562DC ldr r0, _02056380 ; =0x00000601 bl FUN_020054C8 _020562DC: ldr r1, [sp, #0x0] add r0, r6, #0x0 bl FUN_020584CC b _0205636C _020562E6: add r0, r5, #0x0 mov r4, #0xc bl FUN_0205545C bl FUN_02055474 cmp r0, #0x1 bne _02056306 add r1, sp, #0x8 ldrh r1, [r1, #0x10] add r0, r5, #0x0 bl FUN_02057114 cmp r0, #0x1 bne _02056306 mov r4, #0x58 _02056306: add r0, r6, #0x0 bl FUN_02058720 add r1, r0, #0x0 lsl r1, r1, #0x18 add r0, r6, #0x0 lsr r1, r1, #0x18 add r2, r4, #0x0 bl FUN_02056210 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_020572D4 add r0, r5, #0x0 bl FUN_020557A4 b _0205636C _0205632A: cmp r4, #0x0 beq _02056332 cmp r4, #0x20 bne _02056356 _02056332: add r0, r6, #0x0 bl FUN_02058720 add r1, r0, #0x0 lsl r1, r1, #0x18 add r0, r6, #0x0 lsr r1, r1, #0x18 mov r2, #0xc bl FUN_02056210 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_020572D4 add r0, r5, #0x0 bl FUN_020557A4 b _0205636C _02056356: mov r0, #0x8 mov r7, #0x1c tst r0, r4 bne _02056364 ldr r0, _02056380 ; =0x00000601 bl FUN_020054C8 _02056364: ldr r1, [sp, #0x0] add r0, r6, #0x0 bl FUN_020584CC _0205636C: ldr r0, [sp, #0x0] add r1, r7, #0x0 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02056B5C pop {r3-r7, pc} .balign 4 _02056380: .word 0x00000601 thumb_func_start FUN_02056384 FUN_02056384: ; 0x02056384 push {r4-r6, lr} add r6, r2, #0x0 add r5, r0, #0x0 add r4, r1, #0x0 add r0, r6, #0x0 mov r1, #0x28 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02056B5C add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_020584CC pop {r4-r6, pc} thumb_func_start FUN_020563A8 FUN_020563A8: ; 0x020563A8 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 bl FUN_020554BC cmp r0, #0x1 add r0, sp, #0x10 bne _020563D6 ldrh r1, [r0, #0x10] add r2, r6, #0x0 add r3, r7, #0x0 str r1, [sp, #0x0] ldrh r0, [r0, #0x14] add r1, r4, #0x0 str r0, [sp, #0x4] add r0, r5, #0x0 bl FUN_020567E4 add sp, #0x8 pop {r3-r7, pc} _020563D6: ldrh r1, [r0, #0x10] add r2, r6, #0x0 add r3, r7, #0x0 str r1, [sp, #0x0] ldrh r0, [r0, #0x14] add r1, r4, #0x0 str r0, [sp, #0x4] add r0, r5, #0x0 bl FUN_020564C8 add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020563F0 FUN_020563F0: ; 0x020563F0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_020553C4 cmp r0, #0x1 bne _0205642C mov r0, #0x2 tst r0, r4 beq _0205642C add r0, r5, #0x0 mov r4, #0x1 bl FUN_020554BC cmp r0, #0x1 bne _02056412 mov r4, #0x0 _02056412: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020554AC cmp r4, #0x0 bne _02056426 ldr r0, _02056430 ; =0x0000061C bl FUN_020054C8 pop {r3-r5, pc} _02056426: ldr r0, _02056434 ; =0x00000619 bl FUN_020054C8 _0205642C: pop {r3-r5, pc} nop _02056430: .word 0x0000061C _02056434: .word 0x00000619 thumb_func_start FUN_02056438 FUN_02056438: ; 0x02056438 push {r3-r5, lr} add r5, r1, #0x0 mov r4, #0x4c bl FUN_02055408 cmp r0, #0x1 beq _02056450 cmp r0, #0x2 beq _02056454 cmp r0, #0x3 beq _02056458 b _0205645A _02056450: mov r4, #0x10 b _0205645A _02056454: mov r4, #0x50 b _0205645A _02056458: mov r4, #0x14 _0205645A: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205AFDC pop {r3-r5, pc} thumb_func_start FUN_02056464 FUN_02056464: ; 0x02056464 push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x1 mov r2, #0x3 bl FUN_0205541C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0205570C cmp r0, #0x0 bne _02056488 cmp r4, #0x2 blt _02056488 add r0, r5, #0x0 mov r1, #0x1 bl FUN_020556F4 _02056488: cmp r4, #0x3 bne _02056490 mov r0, #0x1 pop {r3-r5, pc} _02056490: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02056494 FUN_02056494: ; 0x02056494 push {r4-r6, lr} add r5, r0, #0x0 mov r6, #0x1 bl FUN_02055408 sub r4, r0, #0x1 bpl _020564A6 mov r4, #0x0 add r6, r4, #0x0 _020564A6: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205540C add r0, r5, #0x0 bl FUN_0205570C cmp r0, #0x1 bne _020564C4 cmp r4, #0x0 bne _020564C4 add r0, r5, #0x0 mov r1, #0x0 bl FUN_020556F4 _020564C4: add r0, r6, #0x0 pop {r4-r6, pc} thumb_func_start FUN_020564C8 FUN_020564C8: ; 0x020564C8 push {r3-r7, lr} sub sp, #0x8 add r7, r1, #0x0 add r1, r3, #0x0 add r6, r0, #0x0 str r3, [sp, #0x4] ldr r5, [sp, #0x20] ldr r4, [sp, #0x24] bl FUN_0205653C cmp r0, #0x3 bhi _02056538 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020564EC: ; jump table (using 16-bit offset) .short _020564F4 - _020564EC - 2; case 0 .short _02056506 - _020564EC - 2; case 1 .short _02056518 - _020564EC - 2; case 2 .short _0205652A - _020564EC - 2; case 3 _020564F4: ldr r2, [sp, #0x4] add r0, r6, #0x0 add r1, r7, #0x0 add r3, r5, #0x0 str r4, [sp, #0x0] bl FUN_020565F0 add sp, #0x8 pop {r3-r7, pc} _02056506: ldr r2, [sp, #0x4] add r0, r6, #0x0 add r1, r7, #0x0 add r3, r5, #0x0 str r4, [sp, #0x0] bl FUN_02056614 add sp, #0x8 pop {r3-r7, pc} _02056518: ldr r2, [sp, #0x4] add r0, r6, #0x0 add r1, r7, #0x0 add r3, r5, #0x0 str r4, [sp, #0x0] bl FUN_02056704 add sp, #0x8 pop {r3-r7, pc} _0205652A: ldr r2, [sp, #0x4] add r0, r6, #0x0 add r1, r7, #0x0 add r3, r5, #0x0 str r4, [sp, #0x0] bl FUN_02056740 _02056538: add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_0205653C FUN_0205653C: ; 0x0205653C push {r3-r5, lr} add r5, r0, #0x0 bl FUN_0205658C add r4, r0, #0x0 bl FUN_02056558 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205536C add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02056558 FUN_02056558: ; 0x02056558 push {r3, lr} cmp r0, #0x3 bhi _02056582 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205656A: ; jump table (using 16-bit offset) .short _02056572 - _0205656A - 2; case 0 .short _02056576 - _0205656A - 2; case 1 .short _0205657A - _0205656A - 2; case 2 .short _0205657E - _0205656A - 2; case 3 _02056572: mov r0, #0x0 pop {r3, pc} _02056576: mov r0, #0x1 pop {r3, pc} _0205657A: mov r0, #0x2 pop {r3, pc} _0205657E: mov r0, #0x1 pop {r3, pc} _02056582: bl ErrorHandling mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0205658C FUN_0205658C: ; 0x0205658C push {r4-r6, lr} add r4, r1, #0x0 mov r1, #0x0 mvn r1, r1 add r5, r0, #0x0 cmp r4, r1 bne _020565BA bl FUN_0205570C cmp r0, #0x1 bne _020565AE add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205536C mov r0, #0x3 pop {r4-r6, pc} _020565AE: add r0, r5, #0x0 mov r1, #0x0 bl FUN_0205536C mov r0, #0x0 pop {r4-r6, pc} _020565BA: bl FUN_020552F8 add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_020556F4 cmp r6, r4 beq _020565E2 add r0, r5, #0x0 bl FUN_02055370 cmp r0, #0x1 beq _020565E2 add r0, r5, #0x0 mov r1, #0x2 bl FUN_0205536C mov r0, #0x2 pop {r4-r6, pc} _020565E2: add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205536C mov r0, #0x1 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020565F0 FUN_020565F0: ; 0x020565F0 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_020584C4 mov r1, #0x0 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02056B5C add r0, r5, #0x0 bl FUN_02055410 pop {r3-r5, pc} thumb_func_start FUN_02056614 FUN_02056614: ; 0x02056614 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 str r2, [sp, #0x0] bl FUN_02056B74 add r4, r0, #0x0 mov r0, #0x4 tst r0, r4 beq _02056638 add r0, r5, #0x0 mov r7, #0x38 bl FUN_020572D4 add r0, r5, #0x0 bl FUN_020557A4 b _020566EA _02056638: mov r0, #0x10 tst r0, r4 beq _02056656 add r0, r5, #0x0 mov r7, #0x50 bl FUN_020572D4 add r0, r5, #0x0 bl FUN_020557A4 add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205569C b _020566EA _02056656: mov r0, #0x40 tst r0, r4 beq _02056680 add r0, r6, #0x0 mov r7, #0x0 bl FUN_020584D4 str r0, [sp, #0x0] ldr r1, [sp, #0x0] add r0, r6, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_02055410 sub r1, r7, #0x1 add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_0205543C b _020566EA _02056680: cmp r4, #0x0 beq _020566D4 ldr r2, [sp, #0x0] add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020572EC cmp r0, #0x0 bne _020566B0 mov r0, #0x8 mov r7, #0x1c tst r0, r4 bne _020566A0 ldr r0, _02056700 ; =0x00000601 bl FUN_020054C8 _020566A0: ldr r1, [sp, #0x0] add r0, r6, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_02055410 b _020566EA _020566B0: add r0, r6, #0x0 mov r7, #0x0 bl FUN_020584D4 str r0, [sp, #0x0] ldr r1, [sp, #0x0] add r0, r6, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_02055410 sub r1, r7, #0x1 add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_0205543C b _020566EA _020566D4: add r0, r5, #0x0 mov r7, #0x50 bl FUN_020572D4 add r0, r5, #0x0 bl FUN_020557A4 add r0, r5, #0x0 mov r1, #0x2 bl FUN_0205540C _020566EA: ldr r0, [sp, #0x0] add r1, r7, #0x0 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02056B5C pop {r3-r7, pc} nop _02056700: .word 0x00000601 thumb_func_start FUN_02056704 FUN_02056704: ; 0x02056704 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_02055410 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_020572EC cmp r0, #0x1 beq _0205673E add r0, r6, #0x0 mov r1, #0x28 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02056B5C add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_02055410 _0205673E: pop {r4-r6, pc} thumb_func_start FUN_02056740 FUN_02056740: ; 0x02056740 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r7, r1, #0x0 bl FUN_02056494 str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_02055314 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 bl FUN_02056B74 add r4, r0, #0x0 mov r0, #0x4 tst r0, r4 beq _02056774 add r0, r6, #0x0 mov r1, #0x38 bl FUN_0205AFDC str r0, [sp, #0x4] b _020567C4 _02056774: mov r0, #0x40 tst r0, r4 beq _0205678C add r0, r6, #0x0 mov r1, #0x0 bl FUN_0205AFDC str r0, [sp, #0x4] add r0, r5, #0x0 bl FUN_02055410 b _020567C4 _0205678C: cmp r4, #0x0 beq _020567BA mov r0, #0x0 str r0, [sp, #0x0] add r0, r6, #0x0 mov r1, #0x1c bl FUN_0205AFDC str r0, [sp, #0x4] mov r0, #0x8 tst r0, r4 bne _020567AA ldr r0, _020567E0 ; =0x00000601 bl FUN_020054C8 _020567AA: add r0, r7, #0x0 add r1, r6, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_02055410 b _020567C4 _020567BA: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02056438 str r0, [sp, #0x4] _020567C4: ldr r0, [sp, #0x0] cmp r0, #0x0 bne _020567D2 add r0, r5, #0x0 mov r1, #0x0 bl FUN_020556F4 _020567D2: ldr r2, [sp, #0x4] add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_02056B5C add sp, #0x8 pop {r3-r7, pc} .balign 4 _020567E0: .word 0x00000601 thumb_func_start FUN_020567E4 FUN_020567E4: ; 0x020567E4 push {r3-r7, lr} sub sp, #0x8 add r7, r1, #0x0 add r1, r3, #0x0 add r6, r0, #0x0 str r3, [sp, #0x4] ldr r5, [sp, #0x20] ldr r4, [sp, #0x24] bl FUN_02056858 cmp r0, #0x3 bhi _02056854 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02056808: ; jump table (using 16-bit offset) .short _02056810 - _02056808 - 2; case 0 .short _02056822 - _02056808 - 2; case 1 .short _02056834 - _02056808 - 2; case 2 .short _02056846 - _02056808 - 2; case 3 _02056810: ldr r2, [sp, #0x4] add r0, r6, #0x0 add r1, r7, #0x0 add r3, r5, #0x0 str r4, [sp, #0x0] bl FUN_02056914 add sp, #0x8 pop {r3-r7, pc} _02056822: ldr r2, [sp, #0x4] add r0, r6, #0x0 add r1, r7, #0x0 add r3, r5, #0x0 str r4, [sp, #0x0] bl FUN_02056938 add sp, #0x8 pop {r3-r7, pc} _02056834: ldr r2, [sp, #0x4] add r0, r6, #0x0 add r1, r7, #0x0 add r3, r5, #0x0 str r4, [sp, #0x0] bl FUN_02056A7C add sp, #0x8 pop {r3-r7, pc} _02056846: ldr r2, [sp, #0x4] add r0, r6, #0x0 add r1, r7, #0x0 add r3, r5, #0x0 str r4, [sp, #0x0] bl FUN_02056AB8 _02056854: add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_02056858 FUN_02056858: ; 0x02056858 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_020568A8 add r4, r0, #0x0 bl FUN_02056874 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205536C add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02056874 FUN_02056874: ; 0x02056874 push {r3, lr} cmp r0, #0x3 bhi _0205689E add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02056886: ; jump table (using 16-bit offset) .short _0205688E - _02056886 - 2; case 0 .short _02056892 - _02056886 - 2; case 1 .short _02056896 - _02056886 - 2; case 2 .short _0205689A - _02056886 - 2; case 3 _0205688E: mov r0, #0x0 pop {r3, pc} _02056892: mov r0, #0x1 pop {r3, pc} _02056896: mov r0, #0x2 pop {r3, pc} _0205689A: mov r0, #0x1 pop {r3, pc} _0205689E: bl ErrorHandling mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_020568A8 FUN_020568A8: ; 0x020568A8 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02055408 add r6, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r4, r0 bne _020568D8 cmp r6, #0x2 bge _020568CC add r0, r5, #0x0 mov r1, #0x0 bl FUN_0205536C mov r0, #0x0 pop {r4-r6, pc} _020568CC: add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205536C mov r0, #0x3 pop {r4-r6, pc} _020568D8: add r0, r5, #0x0 bl FUN_020552F8 cmp r0, r4 beq _02056908 add r0, r5, #0x0 bl FUN_02055370 cmp r0, #0x1 beq _02056908 cmp r6, #0x2 bge _020568FC add r0, r5, #0x0 mov r1, #0x2 bl FUN_0205536C mov r0, #0x2 pop {r4-r6, pc} _020568FC: add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205536C mov r0, #0x3 pop {r4-r6, pc} _02056908: add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205536C mov r0, #0x1 pop {r4-r6, pc} thumb_func_start FUN_02056914 FUN_02056914: ; 0x02056914 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_020584C4 mov r1, #0x0 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02056B5C add r0, r5, #0x0 bl FUN_02055410 pop {r3-r5, pc} thumb_func_start FUN_02056938 FUN_02056938: ; 0x02056938 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 bl FUN_02056B74 add r4, r0, #0x0 mov r0, #0x4 tst r0, r4 beq _0205696A add r0, r7, #0x0 mov r1, #0x38 bl FUN_0205AFDC str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_02056464 add r0, r5, #0x0 bl FUN_020572D4 add r0, r5, #0x0 bl FUN_020557A4 b _02056A6C _0205696A: mov r0, #0x10 tst r0, r4 beq _020569BA add r0, r5, #0x0 bl FUN_02055408 cmp r0, #0x3 blt _02056994 add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_02056438 str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_020557A4 add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205569C b _02056A6C _02056994: add r0, r7, #0x0 mov r1, #0x1c bl FUN_0205AFDC str r0, [sp, #0x0] mov r0, #0x8 tst r0, r4 bne _020569AA ldr r0, _02056A78 ; =0x00000601 bl FUN_020054C8 _020569AA: add r0, r6, #0x0 add r1, r7, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_02055410 b _02056A6C _020569BA: mov r0, #0x40 tst r0, r4 beq _020569EC add r0, r6, #0x0 bl FUN_020584D4 add r4, r0, #0x0 mov r1, #0x0 bl FUN_0205AFDC str r0, [sp, #0x0] add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_02055410 mov r1, #0x0 mvn r1, r1 add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_0205543C b _02056A6C _020569EC: cmp r4, #0x0 beq _02056A50 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_020572EC cmp r0, #0x0 bne _02056A24 add r0, r7, #0x0 mov r1, #0x1c bl FUN_0205AFDC str r0, [sp, #0x0] mov r0, #0x8 tst r0, r4 bne _02056A14 ldr r0, _02056A78 ; =0x00000601 bl FUN_020054C8 _02056A14: add r0, r6, #0x0 add r1, r7, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_02055410 b _02056A6C _02056A24: add r0, r6, #0x0 bl FUN_020584D4 add r4, r0, #0x0 mov r1, #0x0 bl FUN_0205AFDC str r0, [sp, #0x0] add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_02055410 mov r1, #0x0 mvn r1, r1 add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_0205543C b _02056A6C _02056A50: add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_02056438 str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_02056464 add r0, r5, #0x0 bl FUN_020572D4 add r0, r5, #0x0 bl FUN_020557A4 _02056A6C: ldr r2, [sp, #0x0] add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02056B5C pop {r3-r7, pc} .balign 4 _02056A78: .word 0x00000601 thumb_func_start FUN_02056A7C FUN_02056A7C: ; 0x02056A7C push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_02055410 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_020572EC cmp r0, #0x1 beq _02056AB6 add r0, r6, #0x0 mov r1, #0x28 bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02056B5C add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_02055410 _02056AB6: pop {r4-r6, pc} thumb_func_start FUN_02056AB8 FUN_02056AB8: ; 0x02056AB8 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r7, r1, #0x0 bl FUN_02056494 str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_02055314 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 bl FUN_02056B74 add r4, r0, #0x0 mov r0, #0x4 tst r0, r4 beq _02056AEC add r0, r6, #0x0 mov r1, #0x38 bl FUN_0205AFDC str r0, [sp, #0x4] b _02056B3C _02056AEC: mov r0, #0x40 tst r0, r4 beq _02056B04 add r0, r6, #0x0 mov r1, #0x0 bl FUN_0205AFDC str r0, [sp, #0x4] add r0, r5, #0x0 bl FUN_02055410 b _02056B3C _02056B04: cmp r4, #0x0 beq _02056B32 mov r0, #0x0 str r0, [sp, #0x0] add r0, r6, #0x0 mov r1, #0x1c bl FUN_0205AFDC str r0, [sp, #0x4] mov r0, #0x8 tst r0, r4 bne _02056B22 ldr r0, _02056B58 ; =0x00000601 bl FUN_020054C8 _02056B22: add r0, r7, #0x0 add r1, r6, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_02055410 b _02056B3C _02056B32: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02056438 str r0, [sp, #0x4] _02056B3C: ldr r0, [sp, #0x0] cmp r0, #0x0 bne _02056B4A add r0, r5, #0x0 mov r1, #0x0 bl FUN_020556F4 _02056B4A: ldr r2, [sp, #0x4] add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_02056B5C add sp, #0x8 pop {r3-r7, pc} .balign 4 _02056B58: .word 0x00000601 thumb_func_start FUN_02056B5C FUN_02056B5C: ; 0x02056B5C push {r3-r5, lr} add r4, r2, #0x0 add r5, r1, #0x0 add r1, r4, #0x0 bl FUN_02055460 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205ADDC pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02056B74 FUN_02056B74: ; 0x02056B74 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 mov r4, #0x0 bl FUN_02056C0C mov r1, #0xa str r0, [sp, #0x0] tst r0, r1 beq _02056BA0 mov r0, #0x1 orr r4, r0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_02056D58 cmp r0, #0x0 beq _02056BA0 mov r0, #0x8 orr r4, r0 _02056BA0: ldr r0, [sp, #0x0] mov r1, #0x4 tst r0, r1 beq _02056BAC mov r0, #0x2 orr r4, r0 _02056BAC: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_02056CCC cmp r0, #0x0 beq _02056BBE mov r0, #0x4 orr r4, r0 _02056BBE: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_02056E04 cmp r0, #0x1 bne _02056BD0 mov r0, #0x10 orr r4, r0 _02056BD0: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_02056E6C cmp r0, #0x1 bne _02056BE2 mov r0, #0x20 orr r4, r0 _02056BE2: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_02056EC8 cmp r0, #0x1 bne _02056BF4 mov r0, #0x41 orr r4, r0 _02056BF4: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_02056F78 cmp r0, #0x1 bne _02056C06 mov r0, #0x1 orr r4, r0 _02056C06: add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02056C0C FUN_02056C0C: ; 0x02056C0C push {r3-r7, lr} sub sp, #0x28 add r5, r1, #0x0 str r2, [sp, #0x4] add r0, r5, #0x0 bl FUN_02058B2C add r7, r0, #0x0 ldr r0, [sp, #0x4] bl FUN_02059BF4 str r0, [sp, #0x14] add r0, r5, #0x0 bl FUN_02058B3C str r0, [sp, #0x8] add r0, r5, #0x0 bl FUN_02058B4C str r0, [sp, #0xc] ldr r0, [sp, #0x4] bl FUN_02059C00 str r0, [sp, #0x10] add r0, r5, #0x0 add r1, sp, #0x1c bl FUN_02058B5C ldr r1, [sp, #0x14] ldr r6, [sp, #0xc] ldr r3, [sp, #0x10] ldr r2, [sp, #0x8] add r0, r5, #0x0 add r1, r7, r1 add r3, r6, r3 mov r4, #0x0 bl FUN_02059A08 cmp r0, #0x1 bne _02056C60 mov r0, #0x1 orr r4, r0 _02056C60: add r0, r5, #0x0 bl FUN_02058738 ldr r2, [sp, #0x14] add r1, sp, #0x18 str r1, [sp, #0x0] ldr r6, [sp, #0xc] ldr r3, [sp, #0x10] add r1, sp, #0x1c add r2, r7, r2 add r3, r6, r3 bl FUN_0204A7C8 cmp r0, #0x1 bne _02056C90 mov r0, #0x2 orr r4, r0 add r1, sp, #0x18 mov r0, #0x0 ldrsb r0, [r1, r0] cmp r0, #0x0 beq _02056C90 mov r0, #0x8 orr r4, r0 _02056C90: ldr r3, [sp, #0xc] ldr r2, [sp, #0x10] ldr r1, [sp, #0x14] add r2, r3, r2 ldr r3, [sp, #0x4] add r0, r5, #0x0 add r1, r7, r1 bl FUN_02059A60 cmp r0, #0x1 bne _02056CAA mov r0, #0x2 orr r4, r0 _02056CAA: add r0, r5, #0x0 ldr r1, [sp, #0x14] ldr r5, [sp, #0xc] ldr r3, [sp, #0x10] ldr r2, [sp, #0x8] add r1, r7, r1 add r3, r5, r3 bl FUN_0205995C cmp r0, #0x1 bne _02056CC4 mov r0, #0x4 orr r4, r0 _02056CC4: add r0, r4, #0x0 add sp, #0x28 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02056CCC FUN_02056CCC: ; 0x02056CCC push {r3-r7, lr} mov r0, #0x0 add r4, r2, #0x0 mvn r0, r0 add r5, r1, #0x0 cmp r4, r0 beq _02056D54 add r0, r5, #0x0 bl FUN_02058738 str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_02058B2C add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_02059BF4 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B4C add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02059C00 add r2, r0, #0x0 ldr r0, [sp, #0x0] add r1, r6, r7 add r2, r5, r2 bl FUN_0204A6E0 cmp r4, #0x3 bhi _02056D54 add r1, r4, r4 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02056D1C: ; jump table (using 16-bit offset) .short _02056D24 - _02056D1C - 2; case 0 .short _02056D30 - _02056D1C - 2; case 1 .short _02056D3C - _02056D1C - 2; case 2 .short _02056D48 - _02056D1C - 2; case 3 _02056D24: bl FUN_02054848 cmp r0, #0x1 bne _02056D54 mov r0, #0x1 pop {r3-r7, pc} _02056D30: bl FUN_02054854 cmp r0, #0x1 bne _02056D54 mov r0, #0x1 pop {r3-r7, pc} _02056D3C: bl FUN_02054860 cmp r0, #0x1 bne _02056D54 mov r0, #0x1 pop {r3-r7, pc} _02056D48: bl FUN_0205486C cmp r0, #0x1 bne _02056D54 mov r0, #0x1 pop {r3-r7, pc} _02056D54: mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02056D58 FUN_02056D58: ; 0x02056D58 push {r3-r7, lr} mov r0, #0x0 add r4, r2, #0x0 mvn r0, r0 add r5, r1, #0x0 cmp r4, r0 beq _02056E00 add r0, r5, #0x0 bl FUN_02058738 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B2C add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B4C str r0, [sp, #0x0] ldr r2, [sp, #0x0] add r0, r7, #0x0 add r1, r6, #0x0 bl FUN_0204A6E0 add r5, r0, #0x0 cmp r4, #0x3 bhi _02056DD8 add r1, r4, r4 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02056D9A: ; jump table (using 16-bit offset) .short _02056DA2 - _02056D9A - 2; case 0 .short _02056DAE - _02056D9A - 2; case 1 .short _02056DBC - _02056D9A - 2; case 2 .short _02056DCA - _02056D9A - 2; case 3 _02056DA2: bl FUN_020547D4 cmp r0, #0x1 bne _02056DAE mov r0, #0x1 pop {r3-r7, pc} _02056DAE: add r0, r5, #0x0 bl FUN_020547E0 cmp r0, #0x1 bne _02056DBC mov r0, #0x1 pop {r3-r7, pc} _02056DBC: add r0, r5, #0x0 bl FUN_020547C8 cmp r0, #0x1 bne _02056DCA mov r0, #0x1 pop {r3-r7, pc} _02056DCA: add r0, r5, #0x0 bl FUN_020547BC cmp r0, #0x1 bne _02056DD8 mov r0, #0x1 pop {r3-r7, pc} _02056DD8: add r0, r4, #0x0 bl FUN_02059BF4 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02059C00 add r3, r0, #0x0 ldr r2, [sp, #0x0] add r0, r7, #0x0 add r1, r6, r5 add r2, r2, r3 bl FUN_0204A6E0 bl FUN_020547B0 cmp r0, #0x1 bne _02056E00 mov r0, #0x1 pop {r3-r7, pc} _02056E00: mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02056E04 FUN_02056E04: ; 0x02056E04 push {r3-r7, lr} mov r0, #0x0 add r5, r2, #0x0 mvn r0, r0 add r4, r1, #0x0 cmp r5, r0 beq _02056E68 add r0, r4, #0x0 bl FUN_02058738 str r0, [sp, #0x0] add r0, r4, #0x0 bl FUN_02058B2C add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02059BF4 add r7, r0, #0x0 add r0, r4, #0x0 bl FUN_02058B4C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02059C00 add r2, r0, #0x0 ldr r0, [sp, #0x0] add r1, r6, r7 add r2, r4, r2 bl FUN_0204A6E0 add r4, r0, #0x0 cmp r5, #0x3 bne _02056E56 bl FUN_02054A24 cmp r0, #0x0 beq _02056E56 mov r0, #0x1 pop {r3-r7, pc} _02056E56: cmp r5, #0x2 bne _02056E68 add r0, r4, #0x0 bl FUN_02054A30 cmp r0, #0x0 beq _02056E68 mov r0, #0x1 pop {r3-r7, pc} _02056E68: mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02056E6C FUN_02056E6C: ; 0x02056E6C push {r3-r7, lr} sub sp, #0x8 mov r0, #0x0 add r4, r2, #0x0 mvn r0, r0 add r5, r1, #0x0 cmp r4, r0 beq _02056EC2 add r0, r5, #0x0 bl FUN_02058738 str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_02058B2C add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_02059BF4 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B4C str r0, [sp, #0x4] add r0, r4, #0x0 bl FUN_02059C00 add r3, r0, #0x0 ldr r2, [sp, #0x4] ldr r0, [sp, #0x0] add r1, r6, r7 add r2, r2, r3 bl FUN_0204A6E0 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02059AC4 cmp r0, #0x0 beq _02056EC2 add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _02056EC2: mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_02056EC8 FUN_02056EC8: ; 0x02056EC8 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] mov r0, #0x0 add r4, r2, #0x0 mvn r0, r0 add r5, r1, #0x0 cmp r4, r0 beq _02056F72 add r0, r5, #0x0 bl FUN_02058738 str r0, [sp, #0x4] add r0, r5, #0x0 bl FUN_02058B2C add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_02059BF4 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B4C str r0, [sp, #0x8] add r0, r4, #0x0 bl FUN_02059C00 add r2, r0, #0x0 ldr r3, [sp, #0x8] ldr r0, [sp, #0x4] add r1, r6, r7 add r2, r3, r2 bl FUN_0204A6E0 add r6, r0, #0x0 ldr r0, [sp, #0x0] bl FUN_020553C4 cmp r0, #0x1 bne _02056F54 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02059BB4 cmp r0, #0x1 bne _02056F36 cmp r4, #0x1 bls _02056F30 add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} _02056F30: add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _02056F36: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02059BD4 cmp r0, #0x1 bne _02056F72 sub r0, r4, #0x2 cmp r0, #0x1 bls _02056F4E add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} _02056F4E: add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _02056F54: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02059BB4 cmp r0, #0x1 beq _02056F6C add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02059BD4 cmp r0, #0x1 bne _02056F72 _02056F6C: add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} _02056F72: mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_02056F78 FUN_02056F78: ; 0x02056F78 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 mov r1, #0x0 add r4, r2, #0x0 mvn r1, r1 cmp r4, r1 beq _0205701A bl FUN_020553C4 cmp r0, #0x1 bne _0205701A add r0, r5, #0x0 bl FUN_02058738 str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_02058B2C add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_02059BF4 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B4C str r0, [sp, #0x4] add r0, r4, #0x0 bl FUN_02059C00 add r3, r0, #0x0 ldr r2, [sp, #0x4] ldr r0, [sp, #0x0] add r1, r6, r7 add r2, r2, r3 bl FUN_0204A6E0 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02059AC4 cmp r0, #0x0 beq _02056FD8 add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _02056FD8: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02059B2C cmp r0, #0x0 beq _02056FEA add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _02056FEA: add r0, r4, #0x0 bl FUN_02054798 cmp r0, #0x0 beq _02056FFA add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _02056FFA: add r0, r4, #0x0 bl FUN_02054974 cmp r0, #0x0 beq _0205700A add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _0205700A: add r0, r4, #0x0 bl FUN_02054990 cmp r0, #0x0 beq _0205701A add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _0205701A: mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_02057020 FUN_02057020: ; 0x02057020 ldr r3, _02057024 ; =FUN_02057060 bx r3 .balign 4 _02057024: .word FUN_02057060 thumb_func_start FUN_02057028 FUN_02057028: ; 0x02057028 mov r1, #0x20 tst r1, r0 beq _02057032 mov r0, #0x2 bx lr _02057032: mov r1, #0x10 tst r0, r1 beq _0205703C mov r1, #0x3 b _0205703E _0205703C: sub r1, #0x11 _0205703E: add r0, r1, #0x0 bx lr .balign 4 thumb_func_start FUN_02057044 FUN_02057044: ; 0x02057044 mov r1, #0x40 tst r1, r0 beq _0205704E mov r0, #0x0 bx lr _0205704E: mov r1, #0x80 tst r0, r1 beq _02057058 mov r1, #0x1 b _0205705A _02057058: sub r1, #0x81 _0205705A: add r0, r1, #0x0 bx lr .balign 4 thumb_func_start FUN_02057060 FUN_02057060: ; 0x02057060 push {r3-r7, lr} add r5, r2, #0x0 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02057028 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02057044 mov r1, #0x0 mvn r1, r1 add r5, r0, #0x0 cmp r4, r1 beq _020570C0 cmp r5, r1 bne _02057086 add r0, r4, #0x0 pop {r3-r7, pc} _02057086: add r0, r6, #0x0 bl FUN_02055314 add r7, r0, #0x0 add r0, r6, #0x0 bl FUN_02055430 str r0, [sp, #0x0] add r0, r6, #0x0 bl FUN_02055438 mov r1, #0x0 mvn r1, r1 cmp r7, r1 beq _020570BE ldr r1, [sp, #0x0] cmp r4, r1 bne _020570B2 cmp r5, r0 bne _020570B2 add r0, r7, #0x0 pop {r3-r7, pc} _020570B2: cmp r5, r0 beq _020570BA add r0, r5, #0x0 pop {r3-r7, pc} _020570BA: add r0, r4, #0x0 pop {r3-r7, pc} _020570BE: add r0, r5, #0x0 _020570C0: pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020570C4 FUN_020570C4: ; 0x020570C4 push {r4, lr} bl FUN_020553A0 add r4, r0, #0x0 bl FUN_0205AD98 cmp r0, #0x1 bne _020570D8 mov r0, #0x1 pop {r4, pc} _020570D8: add r0, r4, #0x0 bl FUN_020586F0 bl FUN_020570F0 cmp r0, #0x1 bne _020570EA mov r0, #0x1 pop {r4, pc} _020570EA: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_020570F0 FUN_020570F0: ; 0x020570F0 sub r0, #0x1c cmp r0, #0x3 bhi _0205710E add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02057102: ; jump table (using 16-bit offset) .short _0205710A - _02057102 - 2; case 0 .short _0205710A - _02057102 - 2; case 1 .short _0205710A - _02057102 - 2; case 2 .short _0205710A - _02057102 - 2; case 3 _0205710A: mov r0, #0x1 bx lr _0205710E: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_02057114 FUN_02057114: ; 0x02057114 mov r0, #0x2 tst r0, r1 beq _0205711E mov r0, #0x1 bx lr _0205711E: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_02057124 FUN_02057124: ; 0x02057124 push {r3, lr} bl FUN_02055464 sub r0, #0x58 cmp r0, #0x3 bhi _02057148 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205713C: ; jump table (using 16-bit offset) .short _02057144 - _0205713C - 2; case 0 .short _02057144 - _0205713C - 2; case 1 .short _02057144 - _0205713C - 2; case 2 .short _02057144 - _0205713C - 2; case 3 _02057144: mov r0, #0x1 pop {r3, pc} _02057148: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0205714C FUN_0205714C: ; 0x0205714C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_020553C4 cmp r0, #0x0 beq _02057162 cmp r0, #0x1 beq _02057172 cmp r0, #0x2 bne _02057188 _02057162: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02056244 bl FUN_020561EC add r4, r0, #0x0 b _0205718E _02057172: add r0, r5, #0x0 bl FUN_020554BC add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020568A8 bl FUN_02056874 add r4, r0, #0x0 b _0205718E _02057188: mov r4, #0x0 bl ErrorHandling _0205718E: add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02057194 FUN_02057194: ; 0x02057194 push {r3-r7, lr} add r5, r0, #0x0 add r7, r2, #0x0 add r6, r3, #0x0 bl FUN_02057060 str r0, [sp, #0x0] ldr r1, [sp, #0x0] add r0, r5, #0x0 bl FUN_0205714C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205536C cmp r4, #0x0 bne _020571C6 add r0, r5, #0x0 bl FUN_020552F8 mov r1, #0x0 bl FUN_0205AFDC pop {r3-r7, pc} _020571C6: cmp r4, #0x2 bne _020571D4 ldr r0, [sp, #0x0] mov r1, #0x28 bl FUN_0205AFDC pop {r3-r7, pc} _020571D4: add r0, r5, #0x0 bl FUN_020553A0 ldr r0, [sp, #0x1c] mov r4, #0x4 add r1, r0, #0x0 tst r1, r4 beq _020571E8 mov r4, #0x38 b _02057244 _020571E8: cmp r0, #0x0 beq _020571FC mov r1, #0x8 mov r4, #0x1c tst r0, r1 bne _02057244 ldr r0, _02057250 ; =0x00000601 bl FUN_020054C8 b _02057244 _020571FC: cmp r6, #0x5 bhi _0205722E add r0, r6, r6 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205720C: ; jump table (using 16-bit offset) .short _02057218 - _0205720C - 2; case 0 .short _0205721A - _0205720C - 2; case 1 .short _0205721E - _0205720C - 2; case 2 .short _02057222 - _0205720C - 2; case 3 .short _02057226 - _0205720C - 2; case 4 .short _0205722A - _0205720C - 2; case 5 _02057218: b _02057230 _0205721A: mov r4, #0x8 b _02057230 _0205721E: mov r4, #0xc b _02057230 _02057222: mov r4, #0x4c b _02057230 _02057226: mov r4, #0x10 b _02057230 _0205722A: mov r4, #0x14 b _02057230 _0205722E: mov r4, #0x4 _02057230: ldr r0, [sp, #0x18] cmp r0, #0x1 bne _02057244 add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_02057114 cmp r0, #0x1 bne _02057244 mov r4, #0x58 _02057244: ldr r0, [sp, #0x0] add r1, r4, #0x0 bl FUN_0205AFDC pop {r3-r7, pc} nop _02057250: .word 0x00000601 thumb_func_start FUN_02057254 FUN_02057254: ; 0x02057254 push {r3, lr} bl FUN_020553A0 bl FUN_0205AD98 pop {r3, pc} thumb_func_start FUN_02057260 FUN_02057260: ; 0x02057260 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_020553A0 add r1, r0, #0x0 add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_02056B5C pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02057278 FUN_02057278: ; 0x02057278 push {r4, lr} add r4, r1, #0x0 bl FUN_020553A0 add r1, r4, #0x0 bl FUN_02059C90 pop {r4, pc} thumb_func_start FUN_02057288 FUN_02057288: ; 0x02057288 push {r3-r7, lr} add r5, r1, #0x0 str r0, [sp, #0x0] add r4, r2, #0x0 add r7, r3, #0x0 bl FUN_02055320 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02059BF4 add r0, r6, r0 str r0, [r4, #0x0] ldr r0, [sp, #0x0] bl FUN_0205532C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02059C00 add r0, r4, r0 str r0, [r7, #0x0] pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020572B8 FUN_020572B8: ; 0x020572B8 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_020552F8 add r1, r0, #0x0 add r0, r5, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 bl FUN_02057288 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020572D4 FUN_020572D4: ; 0x020572D4 push {r3, lr} bl FUN_020553A0 bl FUN_02058738 ldr r0, [r0, #0xc] bl FUN_02029FC8 mov r1, #0x5 bl FUN_0202A0E8 pop {r3, pc} thumb_func_start FUN_020572EC FUN_020572EC: ; 0x020572EC push {r4-r6, lr} mov r0, #0x0 add r4, r2, #0x0 mvn r0, r0 add r5, r1, #0x0 cmp r4, r0 beq _02057336 add r0, r5, #0x0 bl FUN_02058720 lsl r0, r0, #0x18 lsr r6, r0, #0x18 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02059BB4 cmp r0, #0x1 bne _0205731C cmp r4, #0x1 bls _02057318 mov r0, #0x1 pop {r4-r6, pc} _02057318: mov r0, #0x0 pop {r4-r6, pc} _0205731C: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02059BD4 cmp r0, #0x1 bne _02057336 sub r0, r4, #0x2 cmp r0, #0x1 bls _02057332 mov r0, #0x1 pop {r4-r6, pc} _02057332: mov r0, #0x0 pop {r4-r6, pc} _02057336: mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0205733C FUN_0205733C: ; 0x0205733C push {r3-r5, lr} add r4, r1, #0x0 mov r1, #0x0 mvn r1, r1 add r5, r0, #0x0 cmp r2, r1 beq _0205734E mov r0, #0x0 pop {r3-r5, pc} _0205734E: bl FUN_020553C4 cmp r0, #0x1 beq _0205735A mov r0, #0x0 pop {r3-r5, pc} _0205735A: add r0, r5, #0x0 bl FUN_02055738 cmp r0, #0x0 bne _02057368 mov r0, #0x0 pop {r3-r5, pc} _02057368: add r0, r5, #0x0 bl FUN_020553A0 add r1, r4, #0x0 bl FUN_02059B94 cmp r0, #0x1 bne _0205737C mov r0, #0x1 pop {r3-r5, pc} _0205737C: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02057380 FUN_02057380: ; 0x02057380 push {r3-r7, lr} add r5, r1, #0x0 add r6, r0, #0x0 add r0, r5, #0x0 add r7, r2, #0x0 bl FUN_02057444 add r4, r0, #0x0 add r1, r6, #0x0 bl FUN_020583E0 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02058364 add r0, r4, #0x0 add r1, r7, #0x0 bl FUN_02058398 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020573AC FUN_020573AC: ; 0x020573AC push {r4, lr} add r4, r0, #0x0 bl FUN_020583CC add r1, r0, #0x0 mov r0, #0xb bl FUN_02016A8C mov r0, #0xb add r1, r4, #0x0 bl FUN_02016A8C pop {r4, pc} .balign 4 thumb_func_start FUN_020573C8 FUN_020573C8: ; 0x020573C8 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] add r5, r2, #0x0 str r3, [sp, #0x4] ldr r7, [sp, #0x20] bl FUN_02058368 add r6, r0, #0x0 ldr r0, [sp, #0x0] bl FUN_020583CC add r4, r0, #0x0 cmp r6, #0x0 beq _02057430 _020573E6: add r0, r4, #0x0 bl FUN_02058830 cmp r0, #0x1 bne _02057426 ldr r2, [sp, #0x4] add r0, r4, #0x0 add r1, r5, #0x0 add r3, r7, #0x0 bl FUN_02057F90 cmp r0, #0x0 beq _02057408 cmp r0, #0x1 beq _02057426 cmp r0, #0x2 b _02057426 _02057408: add r0, r4, #0x0 bl FUN_02058450 cmp r5, r0 beq _02057426 mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0xa bl FUN_0205842C cmp r0, #0x0 bne _02057426 add r0, r4, #0x0 bl FUN_02057654 _02057426: mov r0, #0x4a lsl r0, r0, #0x2 add r4, r4, r0 sub r6, r6, #0x1 bne _020573E6 _02057430: ldr r0, [sp, #0x0] bl FUN_020583A0 add r1, r0, #0x0 ldr r0, [sp, #0x0] bl FUN_021F2AF4 add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02057444 FUN_02057444: ; 0x02057444 push {r4-r6, lr} mov r1, #0x4b add r4, r0, #0x0 mov r0, #0xb lsl r1, r1, #0x2 bl FUN_02016998 add r5, r0, #0x0 bne _0205745A bl ErrorHandling _0205745A: mov r2, #0x4b add r0, r5, #0x0 mov r1, #0x0 lsl r2, r2, #0x2 blx Call_FillMemWithValue mov r0, #0x4a lsl r0, r0, #0x2 add r6, r4, #0x0 mul r6, r0 mov r0, #0xb add r1, r6, #0x0 bl FUN_02016998 add r4, r0, #0x0 bne _0205747E bl ErrorHandling _0205747E: add r0, r4, #0x0 mov r1, #0x0 add r2, r6, #0x0 blx Call_FillMemWithValue add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020583B4 add r0, r5, #0x0 pop {r4-r6, pc} thumb_func_start FUN_02057494 FUN_02057494: ; 0x02057494 push {r3-r7, lr} add r6, r1, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 add r7, r2, #0x0 bl FUN_02058BFC add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_02058CE0 cmp r0, #0x0 bne _020574C8 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 bl FUN_02057C98 add r4, r0, #0x0 beq _020574E8 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_02058214 add r0, r4, #0x0 pop {r3-r7, pc} _020574C8: add r0, r6, #0x0 bl FUN_02058CFC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02058010 add r4, r0, #0x0 beq _020574E8 add r1, r7, #0x0 add r2, r6, #0x0 bl FUN_02058258 add r0, r4, #0x0 pop {r3-r7, pc} _020574E8: add r0, r5, #0x0 bl FUN_02057C64 add r4, r0, #0x0 beq _0205753A add r0, r5, #0x0 bl FUN_020583E8 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_02057D2C add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02057E90 add r0, r4, #0x0 add r1, r7, #0x0 bl FUN_0205844C add r0, r4, #0x0 bl FUN_020581A4 add r0, r4, #0x0 bl FUN_020581B4 add r0, r4, #0x0 mov r1, #0x4 bl FUN_02058410 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02057CF0 add r0, r5, #0x0 bl FUN_02058360 bl FUN_0205836C add r0, r4, #0x0 _0205753A: pop {r3-r7, pc} thumb_func_start FUN_0205753C FUN_0205753C: ; 0x0205753C push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 add r4, r1, #0x0 add r0, sp, #0x0 mov r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 bl FUN_02058BF8 ldr r1, [sp, #0x38] add r0, sp, #0x0 bl FUN_02058C00 ldr r1, [sp, #0x3c] add r0, sp, #0x0 bl FUN_02058C08 add r0, sp, #0x0 mov r1, #0x0 bl FUN_02058C10 add r0, sp, #0x0 mov r1, #0x0 bl FUN_02058C18 add r0, sp, #0x0 mov r1, #0x0 bl FUN_02058C20 add r0, sp, #0x0 add r1, r7, #0x0 bl FUN_02058C28 mov r1, #0x0 add r0, sp, #0x0 add r2, r1, #0x0 bl FUN_02058C34 add r0, sp, #0x0 mov r1, #0x0 mov r2, #0x1 bl FUN_02058C34 add r0, sp, #0x0 mov r1, #0x0 mov r2, #0x2 bl FUN_02058C34 add r0, sp, #0x0 mov r1, #0x0 bl FUN_02058C7C add r0, sp, #0x0 mov r1, #0x0 bl FUN_02058C88 add r0, sp, #0x0 add r1, r4, #0x0 bl FUN_02058C94 add r0, sp, #0x0 add r1, r6, #0x0 bl FUN_02058CA4 add r0, sp, #0x0 mov r1, #0x0 bl FUN_02058C9C ldr r2, [sp, #0x40] add r0, r5, #0x0 add r1, sp, #0x0 bl FUN_02057494 add sp, #0x20 pop {r3-r7, pc} thumb_func_start FUN_020575D4 FUN_020575D4: ; 0x020575D4 push {r3-r7, lr} add r5, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 ldr r2, [sp, #0x18] add r7, r3, #0x0 mov r4, #0x0 bl FUN_02058CAC str r0, [sp, #0x0] cmp r0, #0x0 beq _02057610 bl FUN_02058C1C add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_020583E8 lsl r1, r6, #0x10 lsr r1, r1, #0x10 bl FUN_02039528 cmp r0, #0x0 bne _02057610 ldr r1, [sp, #0x0] add r0, r5, #0x0 add r2, r7, #0x0 bl FUN_02057494 add r4, r0, #0x0 _02057610: add r0, r4, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02057614 FUN_02057614: ; 0x02057614 push {r4, lr} add r4, r0, #0x0 bl FUN_02058454 add r0, r4, #0x0 bl FUN_02058148 mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0xe bl FUN_02058418 add r0, r4, #0x0 bl FUN_020581B4 pop {r4, pc} thumb_func_start FUN_02057634 FUN_02057634: ; 0x02057634 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02058934 cmp r0, #0x1 bne _02057648 add r0, r5, #0x0 bl FUN_020576A8 _02057648: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02057614 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02057654 FUN_02057654: ; 0x02057654 push {r4, lr} add r4, r0, #0x0 bl FUN_02058578 bl FUN_020587E0 cmp r0, #0x1 bne _0205766A add r0, r4, #0x0 bl FUN_020586B4 _0205766A: add r0, r4, #0x0 bl FUN_02058660 add r0, r4, #0x0 bl FUN_02058564 add r0, r4, #0x0 bl FUN_02058580 bl FUN_02058374 add r0, r4, #0x0 bl FUN_02057F80 pop {r4, pc} thumb_func_start FUN_02057688 FUN_02057688: ; 0x02057688 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02058490 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02058738 lsl r1, r5, #0x10 lsr r1, r1, #0x10 bl FUN_0203953C add r0, r4, #0x0 bl FUN_02057654 pop {r3-r5, pc} thumb_func_start FUN_020576A8 FUN_020576A8: ; 0x020576A8 push {r4, lr} add r4, r0, #0x0 bl FUN_02058578 bl FUN_020587E0 cmp r0, #0x1 bne _020576D6 mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0xe bl FUN_02058424 cmp r0, #0x0 beq _020576CC add r0, r4, #0x0 bl FUN_020586B4 _020576CC: mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0xe bl FUN_02058418 _020576D6: ldr r1, _02057708 ; =0x0000FFFF add r0, r4, #0x0 bl FUN_02058454 ldr r1, _0205770C ; =FUN_02058ED8 add r0, r4, #0x0 bl FUN_02058684 ldr r1, _02057710 ; =FUN_02058EDC add r0, r4, #0x0 bl FUN_02058698 ldr r1, _02057710 ; =FUN_02058EDC add r0, r4, #0x0 bl FUN_020586AC ldr r1, _02057714 ; =FUN_02058EE0 add r0, r4, #0x0 bl FUN_020586C0 ldr r1, _02057718 ; =FUN_02058EE4 add r0, r4, #0x0 bl FUN_020586D4 pop {r4, pc} .balign 4 _02057708: .word 0x0000FFFF _0205770C: .word FUN_02058ED8 _02057710: .word FUN_02058EDC _02057714: .word FUN_02058EE0 _02057718: .word FUN_02058EE4 thumb_func_start FUN_0205771C FUN_0205771C: ; 0x0205771C push {r3-r7, lr} add r5, r0, #0x0 mov r4, #0x0 bl FUN_02058368 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_020583CC mov r7, #0x4a add r5, r0, #0x0 lsl r7, r7, #0x2 _02057734: add r0, r5, #0x0 mov r1, #0x1 bl FUN_02058424 cmp r0, #0x0 beq _02057746 add r0, r5, #0x0 bl FUN_02057654 _02057746: add r4, r4, #0x1 add r5, r5, r7 cmp r4, r6 blt _02057734 pop {r3-r7, pc} thumb_func_start FUN_02057750 FUN_02057750: ; 0x02057750 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_020587E0 cmp r0, #0x1 beq _02057760 bl ErrorHandling _02057760: add r0, r5, #0x0 mov r4, #0x0 bl FUN_02058368 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_020583CC mov r7, #0x4a add r5, r0, #0x0 lsl r7, r7, #0x2 _02057776: add r0, r5, #0x0 mov r1, #0x1 bl FUN_02058424 cmp r0, #0x0 beq _0205779C mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0xe bl FUN_02058424 cmp r0, #0x0 beq _0205779C add r0, r5, #0x0 bl FUN_020586C8 add r0, r5, #0x0 bl FUN_0205816C _0205779C: add r4, r4, #0x1 add r5, r5, r7 cmp r4, r6 blt _02057776 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020577A8 FUN_020577A8: ; 0x020577A8 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_020587E0 cmp r0, #0x1 beq _020577B8 bl ErrorHandling _020577B8: add r0, r5, #0x0 mov r4, #0x0 bl FUN_02058368 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_020583CC mov r7, #0x4a add r5, r0, #0x0 lsl r7, r7, #0x2 _020577CE: add r0, r5, #0x0 bl FUN_02058830 cmp r0, #0x1 bne _020577F6 add r0, r5, #0x0 bl FUN_02058884 cmp r0, #0x1 bne _020577EA add r0, r5, #0x0 bl FUN_020586DC b _020577F0 _020577EA: add r0, r5, #0x0 bl FUN_020581B4 _020577F0: add r0, r5, #0x0 bl FUN_02058148 _020577F6: add r4, r4, #0x1 add r5, r5, r7 cmp r4, r6 blt _020577CE pop {r3-r7, pc} thumb_func_start FUN_02057800 FUN_02057800: ; 0x02057800 push {r3-r7, lr} sub sp, #0x8 add r7, r0, #0x0 add r6, r1, #0x0 mov r0, #0x0 add r5, r2, #0x0 add r4, r3, #0x0 str r0, [sp, #0x4] add r0, r6, #0x0 add r1, sp, #0x0 add r2, sp, #0x4 mov r3, #0x1 bl FUN_020580F4 cmp r0, #0x0 beq _02057846 _02057820: ldr r1, [sp, #0x0] add r0, r7, #0x0 add r2, r5, #0x0 bl FUN_02057894 sub r4, r4, #0x1 add r5, #0x50 cmp r4, #0x0 bgt _02057836 bl ErrorHandling _02057836: add r0, r6, #0x0 add r1, sp, #0x0 add r2, sp, #0x4 mov r3, #0x1 bl FUN_020580F4 cmp r0, #0x0 bne _02057820 _02057846: cmp r4, #0x0 beq _02057856 mov r2, #0x50 add r0, r5, #0x0 mov r1, #0x0 mul r2, r4 blx Call_FillMemWithValue _02057856: add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205785C FUN_0205785C: ; 0x0205785C push {r3-r7, lr} add r6, r0, #0x0 add r5, r1, #0x0 add r7, r2, #0x0 beq _02057892 _02057866: ldr r1, [r5, #0x0] mov r0, #0x1 tst r0, r1 beq _0205788C add r0, r6, #0x0 bl FUN_02057C64 add r4, r0, #0x0 bne _0205787C bl ErrorHandling _0205787C: add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_020579C4 add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_02057AEC _0205788C: add r5, #0x50 sub r7, r7, #0x1 bne _02057866 _02057892: pop {r3-r7, pc} thumb_func_start FUN_02057894 FUN_02057894: ; 0x02057894 push {r3-r6, lr} sub sp, #0xc add r5, r1, #0x0 add r6, r0, #0x0 add r4, r2, #0x0 add r0, r5, #0x0 bl FUN_0205840C str r0, [r4, #0x0] add r0, r5, #0x0 bl FUN_02058440 str r0, [r4, #0x4] add r0, r5, #0x0 bl FUN_02058448 strb r0, [r4, #0x8] add r0, r5, #0x0 bl FUN_02058450 strh r0, [r4, #0x10] add r0, r5, #0x0 bl FUN_02058458 strh r0, [r4, #0x12] add r0, r5, #0x0 bl FUN_02058480 strb r0, [r4, #0x9] add r0, r5, #0x0 bl FUN_02058488 strh r0, [r4, #0x14] add r0, r5, #0x0 bl FUN_02058490 strh r0, [r4, #0x16] add r0, r5, #0x0 bl FUN_02058498 strh r0, [r4, #0x18] add r0, r5, #0x0 bl FUN_020584A0 strb r0, [r4, #0xc] add r0, r5, #0x0 bl FUN_020584C4 strb r0, [r4, #0xd] add r0, r5, #0x0 bl FUN_020584D4 strb r0, [r4, #0xe] add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058510 strh r0, [r4, #0x1a] add r0, r5, #0x0 mov r1, #0x1 bl FUN_02058510 strh r0, [r4, #0x1c] add r0, r5, #0x0 mov r1, #0x2 bl FUN_02058510 strh r0, [r4, #0x1e] add r0, r5, #0x0 bl FUN_02058538 strb r0, [r4, #0xa] add r0, r5, #0x0 bl FUN_02058540 strb r0, [r4, #0xb] add r0, r5, #0x0 bl FUN_02058AFC strh r0, [r4, #0x20] add r0, r5, #0x0 bl FUN_02058B04 strh r0, [r4, #0x22] add r0, r5, #0x0 bl FUN_02058B0C strh r0, [r4, #0x24] add r0, r5, #0x0 bl FUN_02058B2C strh r0, [r4, #0x26] add r0, r5, #0x0 bl FUN_02058B3C strh r0, [r4, #0x28] add r0, r5, #0x0 bl FUN_02058B4C strh r0, [r4, #0x2a] mov r0, #0x26 mov r1, #0x2a ldrsh r0, [r4, r0] ldrsh r1, [r4, r1] add r2, sp, #0x0 bl FUN_02059E60 add r0, r5, #0x0 bl FUN_02058B80 str r0, [sp, #0x4] add r0, r5, #0x0 bl FUN_02058AE4 add r2, r0, #0x0 add r0, r6, #0x0 add r1, sp, #0x0 bl FUN_02059EC8 cmp r0, #0x0 bne _0205798E add r0, r5, #0x0 bl FUN_02058B80 b _02057990 _0205798E: ldr r0, [sp, #0x4] _02057990: str r0, [r4, #0x2c] add r0, r5, #0x0 bl FUN_020585B0 add r3, r4, #0x0 add r3, #0x30 mov r2, #0x10 _0205799E: ldrb r1, [r0, #0x0] add r0, r0, #0x1 strb r1, [r3, #0x0] add r3, r3, #0x1 sub r2, r2, #0x1 bne _0205799E add r0, r5, #0x0 bl FUN_020585D8 add r4, #0x40 mov r2, #0x10 _020579B4: ldrb r1, [r0, #0x0] add r0, r0, #0x1 strb r1, [r4, #0x0] add r4, r4, #0x1 sub r2, r2, #0x1 bne _020579B4 add sp, #0xc pop {r3-r6, pc} thumb_func_start FUN_020579C4 FUN_020579C4: ; 0x020579C4 push {r4-r5, lr} sub sp, #0xc add r4, r1, #0x0 ldr r1, [r4, #0x0] add r5, r0, #0x0 bl FUN_02058408 ldr r1, [r4, #0x4] add r0, r5, #0x0 bl FUN_0205843C ldrb r1, [r4, #0x8] add r0, r5, #0x0 bl FUN_02058444 ldrh r1, [r4, #0x10] add r0, r5, #0x0 bl FUN_0205844C ldrh r1, [r4, #0x12] add r0, r5, #0x0 bl FUN_02058454 ldrb r1, [r4, #0x9] add r0, r5, #0x0 bl FUN_0205847C ldrh r1, [r4, #0x14] add r0, r5, #0x0 bl FUN_02058484 ldrh r1, [r4, #0x16] add r0, r5, #0x0 bl FUN_0205848C ldrh r1, [r4, #0x18] add r0, r5, #0x0 bl FUN_02058494 mov r1, #0xc ldrsb r1, [r4, r1] add r0, r5, #0x0 bl FUN_0205849C mov r1, #0xd ldrsb r1, [r4, r1] add r0, r5, #0x0 bl FUN_020584A4 mov r1, #0xe ldrsb r1, [r4, r1] add r0, r5, #0x0 bl FUN_020584CC mov r1, #0x1a ldrsh r1, [r4, r1] add r0, r5, #0x0 mov r2, #0x0 bl FUN_020584EC mov r1, #0x1c ldrsh r1, [r4, r1] add r0, r5, #0x0 mov r2, #0x1 bl FUN_020584EC mov r1, #0x1e ldrsh r1, [r4, r1] add r0, r5, #0x0 mov r2, #0x2 bl FUN_020584EC mov r1, #0xa ldrsb r1, [r4, r1] add r0, r5, #0x0 bl FUN_02058534 mov r1, #0xb ldrsb r1, [r4, r1] add r0, r5, #0x0 bl FUN_0205853C mov r1, #0x20 ldrsh r1, [r4, r1] add r0, r5, #0x0 bl FUN_02058B00 mov r1, #0x22 ldrsh r1, [r4, r1] add r0, r5, #0x0 bl FUN_02058B08 mov r1, #0x24 ldrsh r1, [r4, r1] add r0, r5, #0x0 bl FUN_02058B10 mov r1, #0x26 ldrsh r1, [r4, r1] add r0, r5, #0x0 bl FUN_02058B30 mov r1, #0x28 ldrsh r1, [r4, r1] add r0, r5, #0x0 bl FUN_02058B40 mov r1, #0x2a ldrsh r1, [r4, r1] add r0, r5, #0x0 bl FUN_02058B50 add r1, sp, #0x0 mov r0, #0x0 str r0, [r1, #0x0] str r0, [r1, #0x4] str r0, [r1, #0x8] ldr r0, [r4, #0x2c] str r0, [sp, #0x4] add r0, r5, #0x0 bl FUN_02058B6C add r0, r5, #0x0 bl FUN_020585B0 add r3, r4, #0x0 add r3, #0x30 mov r2, #0x10 _02057AC4: ldrb r1, [r3, #0x0] add r3, r3, #0x1 strb r1, [r0, #0x0] add r0, r0, #0x1 sub r2, r2, #0x1 bne _02057AC4 add r0, r5, #0x0 bl FUN_020585D8 add r4, #0x40 mov r2, #0x10 _02057ADA: ldrb r1, [r4, #0x0] add r4, r4, #0x1 strb r1, [r0, #0x0] add r0, r0, #0x1 sub r2, r2, #0x1 bne _02057ADA add sp, #0xc pop {r4-r5, pc} .balign 4 thumb_func_start FUN_02057AEC FUN_02057AEC: ; 0x02057AEC push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02057B34 add r0, r4, #0x0 bl FUN_02057B54 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02058570 add r0, r4, #0x0 bl FUN_02057EE0 add r0, r4, #0x0 bl FUN_0205AE80 add r0, r4, #0x0 bl FUN_020581B4 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02057CF0 add r0, r4, #0x0 bl FUN_0205866C add r0, r5, #0x0 bl FUN_02058360 bl FUN_0205836C pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02057B34 FUN_02057B34: ; 0x02057B34 push {r4, lr} mov r1, #0x5 add r4, r0, #0x0 bl FUN_02058410 ldr r1, _02057B50 ; =0x00EF4248 add r0, r4, #0x0 bl FUN_02058418 add r0, r4, #0x0 bl FUN_0205815C pop {r4, pc} nop _02057B50: .word 0x00EF4248 thumb_func_start FUN_02057B54 FUN_02057B54: ; 0x02057B54 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 add r1, sp, #0x0 bl FUN_02058B5C add r0, r4, #0x0 bl FUN_02058B2C add r1, r0, #0x0 mov r0, #0x2 lsl r2, r1, #0x10 lsl r0, r0, #0xe add r0, r2, r0 str r0, [sp, #0x0] add r0, r4, #0x0 bl FUN_02058B18 add r0, r4, #0x0 bl FUN_02058B3C add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02058B20 add r0, r4, #0x0 bl FUN_02058B4C add r1, r0, #0x0 mov r0, #0x2 lsl r2, r1, #0x10 lsl r0, r0, #0xe add r0, r2, r0 str r0, [sp, #0x8] add r0, r4, #0x0 bl FUN_02058B28 add r0, r4, #0x0 add r1, sp, #0x0 bl FUN_02058B6C add sp, #0xc pop {r3-r4, pc} .balign 4 thumb_func_start FUN_02057BAC FUN_02057BAC: ; 0x02057BAC push {r3-r7, lr} sub sp, #0x8 add r5, r2, #0x0 add r7, r0, #0x0 add r4, r3, #0x0 str r1, [sp, #0x0] cmp r5, #0x0 bne _02057BC0 bl ErrorHandling _02057BC0: lsl r0, r5, #0x5 str r0, [sp, #0x4] ldr r1, [sp, #0x4] mov r0, #0xb bl FUN_020169D8 add r6, r0, #0x0 bne _02057BD4 bl ErrorHandling _02057BD4: ldr r2, [sp, #0x4] add r0, r6, #0x0 add r1, r4, #0x0 blx memcpy mov r0, #0xb mov r1, #0x14 bl FUN_020169D8 add r4, r0, #0x0 bne _02057BEE bl ErrorHandling _02057BEE: ldr r0, [sp, #0x0] str r0, [r4, #0x0] str r5, [r4, #0x4] mov r0, #0x0 str r0, [r4, #0x8] str r7, [r4, #0xc] add r0, r4, #0x0 str r6, [r4, #0x10] bl FUN_02057C08 add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02057C08 FUN_02057C08: ; 0x02057C08 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_020583E8 add r6, r5, #0x0 ldr r4, [r5, #0x10] add r7, r0, #0x0 add r6, #0x8 _02057C1A: add r0, r4, #0x0 bl FUN_02058CE0 cmp r0, #0x1 beq _02057C30 ldrh r1, [r4, #0x8] add r0, r7, #0x0 bl FUN_02039528 cmp r0, #0x0 bne _02057C42 _02057C30: ldr r0, [r5, #0xc] ldr r2, [r5, #0x0] add r1, r4, #0x0 bl FUN_02057494 cmp r0, #0x0 bne _02057C42 bl ErrorHandling _02057C42: ldr r0, [r6, #0x0] add r4, #0x20 add r0, r0, #0x1 str r0, [r6, #0x0] ldr r1, [r5, #0x8] ldr r0, [r5, #0x4] cmp r1, r0 blt _02057C1A ldr r1, [r5, #0x10] mov r0, #0xb bl FUN_02016A8C mov r0, #0xb add r1, r5, #0x0 bl FUN_02016A8C pop {r3-r7, pc} thumb_func_start FUN_02057C64 FUN_02057C64: ; 0x02057C64 push {r3-r7, lr} add r5, r0, #0x0 mov r4, #0x0 bl FUN_02058368 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_020583CC mov r7, #0x4a add r5, r0, #0x0 lsl r7, r7, #0x2 _02057C7C: add r0, r5, #0x0 mov r1, #0x1 bl FUN_02058424 cmp r0, #0x0 bne _02057C8C add r0, r5, #0x0 pop {r3-r7, pc} _02057C8C: add r4, r4, #0x1 add r5, r5, r7 cmp r4, r6 blt _02057C7C mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02057C98 FUN_02057C98: ; 0x02057C98 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 mov r1, #0x0 add r4, r2, #0x0 str r1, [sp, #0x4] add r1, sp, #0x0 add r2, sp, #0x4 mov r3, #0x1 add r6, r0, #0x0 bl FUN_020580F4 cmp r0, #0x1 bne _02057CEA add r7, sp, #0x0 _02057CB6: ldr r0, [sp, #0x0] bl FUN_020589CC cmp r0, #0x1 bne _02057CDA ldr r0, [sp, #0x0] bl FUN_02058448 cmp r5, r0 bne _02057CDA ldr r0, [sp, #0x0] bl FUN_02058750 cmp r4, r0 bne _02057CDA ldr r0, [sp, #0x0] add sp, #0x8 pop {r3-r7, pc} _02057CDA: add r0, r6, #0x0 add r1, r7, #0x0 add r2, sp, #0x4 mov r3, #0x1 bl FUN_020580F4 cmp r0, #0x1 beq _02057CB6 _02057CEA: mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_02057CF0 FUN_02057CF0: ; 0x02057CF0 push {r3-r5, lr} add r4, r1, #0x0 bl FUN_0205839C add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02058480 cmp r0, #0x30 beq _02057D08 cmp r0, #0x32 bne _02057D0A _02057D08: add r5, r5, #0x2 _02057D0A: ldr r0, _02057D28 ; =FUN_0205832C add r1, r4, #0x0 add r2, r5, #0x0 bl FUN_0200CA44 add r5, r0, #0x0 bne _02057D1C bl ErrorHandling _02057D1C: add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02058554 pop {r3-r5, pc} nop _02057D28: .word FUN_0205832C thumb_func_start FUN_02057D2C FUN_02057D2C: ; 0x02057D2C push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 add r6, r2, #0x0 bl FUN_02058BFC add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058444 add r0, r4, #0x0 bl FUN_02058C04 add r1, r0, #0x0 add r0, r6, #0x0 bl FUN_02058170 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058454 add r0, r4, #0x0 bl FUN_02058C0C add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205847C add r0, r4, #0x0 bl FUN_02058C14 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058484 add r0, r4, #0x0 bl FUN_02058C1C add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205848C add r0, r4, #0x0 bl FUN_02058C24 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058494 add r0, r4, #0x0 bl FUN_02058C2C add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205849C add r0, r4, #0x0 mov r1, #0x0 bl FUN_02058C58 add r1, r0, #0x0 add r0, r5, #0x0 mov r2, #0x0 bl FUN_020584EC add r0, r4, #0x0 mov r1, #0x1 bl FUN_02058C58 add r1, r0, #0x0 add r0, r5, #0x0 mov r2, #0x1 bl FUN_020584EC add r0, r4, #0x0 mov r1, #0x2 bl FUN_02058C58 add r1, r0, #0x0 add r0, r5, #0x0 mov r2, #0x2 bl FUN_020584EC add r0, r4, #0x0 bl FUN_02058C80 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058534 add r0, r4, #0x0 bl FUN_02058C8C add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205853C add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02057DFC pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02057DFC FUN_02057DFC: ; 0x02057DFC push {r3-r6, lr} sub sp, #0xc add r6, r1, #0x0 add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_02058C98 add r5, r0, #0x0 mov r0, #0x2 lsl r1, r5, #0x10 lsl r0, r0, #0xe add r0, r1, r0 str r0, [sp, #0x0] add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02058B00 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02058B18 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02058B30 add r0, r6, #0x0 bl FUN_02058CA0 asr r1, r0, #0x3 str r0, [sp, #0x4] asr r0, r1, #0xb lsr r0, r0, #0x14 add r0, r1, r0 asr r5, r0, #0xc add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02058B08 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02058B20 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02058B40 add r0, r6, #0x0 bl FUN_02058CA8 add r5, r0, #0x0 mov r0, #0x2 lsl r1, r5, #0x10 lsl r0, r0, #0xe add r0, r1, r0 str r0, [sp, #0x8] add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02058B10 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02058B28 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02058B50 add r0, r4, #0x0 add r1, sp, #0x0 bl FUN_02058B6C add sp, #0xc pop {r3-r6, pc} .balign 4 thumb_func_start FUN_02057E90 FUN_02057E90: ; 0x02057E90 push {r3-r5, lr} add r4, r1, #0x0 ldr r1, _02057EDC ; =0x00001801 add r5, r0, #0x0 bl FUN_02058410 add r0, r5, #0x0 bl FUN_020581F8 cmp r0, #0x1 bne _02057EAE add r0, r5, #0x0 mov r1, #0x1 bl FUN_020589B0 _02057EAE: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02058570 add r0, r5, #0x0 bl FUN_020584A0 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_020584A4 add r0, r5, #0x0 bl FUN_020584A0 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_0205AE80 pop {r3-r5, pc} nop _02057EDC: .word 0x00001801 thumb_func_start FUN_02057EE0 FUN_02057EE0: ; 0x02057EE0 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02058480 bl FUN_02058D14 add r4, r0, #0x0 bl FUN_02058D2C add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058630 add r0, r4, #0x0 bl FUN_02058D30 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058644 add r0, r4, #0x0 bl FUN_02058D34 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058658 pop {r3-r5, pc} thumb_func_start FUN_02057F18 FUN_02057F18: ; 0x02057F18 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02058458 mov r1, #0x2 lsl r1, r1, #0xc cmp r0, r1 bne _02057F2C ldr r5, _02057F7C ; =0x021F9080 b _02057F32 _02057F2C: bl FUN_02058D4C add r5, r0, #0x0 _02057F32: add r0, r5, #0x0 bl FUN_02058D38 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02058684 add r0, r5, #0x0 bl FUN_02058D3C add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02058698 add r0, r5, #0x0 bl FUN_02058D40 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_020586AC add r0, r5, #0x0 bl FUN_02058D44 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_020586C0 add r0, r5, #0x0 bl FUN_02058D48 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_020586D4 pop {r3-r5, pc} nop _02057F7C: .word 0x021F9080 thumb_func_start FUN_02057F80 FUN_02057F80: ; 0x02057F80 ldr r3, _02057F8C ; =Call_FillMemWithValue mov r2, #0x4a mov r1, #0x0 lsl r2, r2, #0x2 bx r3 nop _02057F8C: .word Call_FillMemWithValue thumb_func_start FUN_02057F90 FUN_02057F90: ; 0x02057F90 push {r3-r7, lr} add r6, r2, #0x0 add r5, r0, #0x0 add r4, r3, #0x0 str r1, [sp, #0x0] cmp r6, #0x0 beq _0205800A _02057F9E: add r0, r4, #0x0 bl FUN_02058BFC add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02058448 cmp r7, r0 bne _02058002 add r0, r4, #0x0 bl FUN_02058CE0 cmp r0, #0x1 bne _02057FE8 add r0, r4, #0x0 bl FUN_02058CFC add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_020589CC cmp r0, #0x1 bne _02057FDA add r0, r5, #0x0 bl FUN_02058750 cmp r7, r0 bne _02058002 mov r0, #0x1 pop {r3-r7, pc} _02057FDA: add r0, r5, #0x0 bl FUN_02058450 cmp r7, r0 bne _02058002 mov r0, #0x2 pop {r3-r7, pc} _02057FE8: add r0, r5, #0x0 bl FUN_020589CC cmp r0, #0x1 bne _02058002 add r0, r5, #0x0 bl FUN_02058750 ldr r1, [sp, #0x0] cmp r1, r0 bne _02058002 mov r0, #0x2 pop {r3-r7, pc} _02058002: sub r6, r6, #0x1 add r4, #0x20 cmp r6, #0x0 bne _02057F9E _0205800A: mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02058010 FUN_02058010: ; 0x02058010 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 mov r1, #0x0 add r4, r2, #0x0 str r1, [sp, #0x4] add r1, sp, #0x0 add r2, sp, #0x4 mov r3, #0x1 add r6, r0, #0x0 bl FUN_020580F4 cmp r0, #0x1 bne _02058058 add r7, sp, #0x0 _0205802E: ldr r0, [sp, #0x0] bl FUN_02058448 cmp r5, r0 bne _02058048 ldr r0, [sp, #0x0] bl FUN_02058450 cmp r4, r0 bne _02058048 ldr r0, [sp, #0x0] add sp, #0x8 pop {r3-r7, pc} _02058048: add r0, r6, #0x0 add r1, r7, #0x0 add r2, sp, #0x4 mov r3, #0x1 bl FUN_020580F4 cmp r0, #0x1 beq _0205802E _02058058: mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02058060 FUN_02058060: ; 0x02058060 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 cmp r5, #0x0 bne _0205806E bl ErrorHandling _0205806E: add r0, r5, #0x0 bl FUN_02058368 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_020583C4 mov r7, #0x4a add r5, r0, #0x0 lsl r7, r7, #0x2 _02058082: add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205842C cmp r0, #0x1 bne _020580A6 add r0, r5, #0x0 bl FUN_020589CC cmp r0, #0x0 bne _020580A6 add r0, r5, #0x0 bl FUN_02058448 cmp r6, r0 bne _020580A6 add r0, r5, #0x0 pop {r3-r7, pc} _020580A6: sub r4, r4, #0x1 add r5, r5, r7 cmp r4, #0x0 bgt _02058082 mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020580B4 FUN_020580B4: ; 0x020580B4 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 bl FUN_02058368 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_020583C4 mov r7, #0x4a add r5, r0, #0x0 lsl r7, r7, #0x2 _020580CC: add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205842C cmp r0, #0x1 bne _020580E6 add r0, r5, #0x0 bl FUN_02058480 cmp r6, r0 bne _020580E6 add r0, r5, #0x0 pop {r3-r7, pc} _020580E6: sub r4, r4, #0x1 add r5, r5, r7 cmp r4, #0x0 bgt _020580CC mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020580F4 FUN_020580F4: ; 0x020580F4 push {r3-r7, lr} add r5, r2, #0x0 add r4, r0, #0x0 str r1, [sp, #0x0] add r6, r3, #0x0 bl FUN_02058368 add r7, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, r7 blt _0205810E mov r0, #0x0 pop {r3-r7, pc} _0205810E: add r0, r4, #0x0 bl FUN_020583C4 mov r1, #0x4a ldr r2, [r5, #0x0] lsl r1, r1, #0x2 mul r1, r2 add r4, r0, r1 _0205811E: ldr r0, [r5, #0x0] add r1, r6, #0x0 add r0, r0, #0x1 str r0, [r5, #0x0] add r0, r4, #0x0 bl FUN_02058424 cmp r6, r0 bne _02058138 ldr r0, [sp, #0x0] str r4, [r0, #0x0] mov r0, #0x1 pop {r3-r7, pc} _02058138: mov r0, #0x4a lsl r0, r0, #0x2 add r4, r4, r0 ldr r0, [r5, #0x0] cmp r0, r7 blt _0205811E mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02058148 FUN_02058148: ; 0x02058148 push {r4, lr} add r4, r0, #0x0 mov r1, #0x4 bl FUN_02058410 add r0, r4, #0x0 bl FUN_0205815C pop {r4, pc} .balign 4 thumb_func_start FUN_0205815C FUN_0205815C: ; 0x0205815C ldr r3, _02058164 ; =FUN_02058418 ldr r1, _02058168 ; =0x05108000 bx r3 nop _02058164: .word FUN_02058418 _02058168: .word 0x05108000 thumb_func_start FUN_0205816C FUN_0205816C: ; 0x0205816C bx lr .balign 4 thumb_func_start FUN_02058170 FUN_02058170: ; 0x02058170 push {r3, lr} cmp r1, #0x65 blt _02058186 cmp r1, #0x75 bgt _02058186 sub r1, #0x65 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_02039504 add r1, r0, #0x0 _02058186: add r0, r1, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0205818C FUN_0205818C: ; 0x0205818C push {r4, lr} mov r1, #0x1 lsl r1, r1, #0xc add r4, r0, #0x0 bl FUN_02058424 cmp r0, #0x0 beq _020581A2 add r0, r4, #0x0 bl FUN_02059D1C _020581A2: pop {r4, pc} thumb_func_start FUN_020581A4 FUN_020581A4: ; 0x020581A4 push {r4, lr} add r4, r0, #0x0 bl FUN_02057EE0 add r0, r4, #0x0 bl FUN_02058EE8 pop {r4, pc} thumb_func_start FUN_020581B4 FUN_020581B4: ; 0x020581B4 push {r4, lr} add r4, r0, #0x0 bl FUN_02058578 bl FUN_020587E0 cmp r0, #0x0 beq _020581F6 add r0, r4, #0x0 bl FUN_0205818C add r0, r4, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r4, #0x0 mov r1, #0x0 bl FUN_021F2E0C add r0, r4, #0x0 bl FUN_02058884 cmp r0, #0x0 bne _020581F6 add r0, r4, #0x0 bl FUN_02057F18 add r0, r4, #0x0 bl FUN_0205868C add r0, r4, #0x0 bl FUN_02058878 _020581F6: pop {r4, pc} thumb_func_start FUN_020581F8 FUN_020581F8: ; 0x020581F8 push {r3, lr} bl FUN_02058498 lsl r0, r0, #0x10 lsr r1, r0, #0x10 ldr r0, _02058210 ; =0x0000FFFF cmp r1, r0 bne _0205820C mov r0, #0x1 pop {r3, pc} _0205820C: mov r0, #0x0 pop {r3, pc} .balign 4 _02058210: .word 0x0000FFFF thumb_func_start FUN_02058214 FUN_02058214: ; 0x02058214 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_020589CC cmp r0, #0x1 beq _02058228 bl ErrorHandling _02058228: add r0, r5, #0x0 mov r1, #0x0 bl FUN_020589B0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_0205844C add r0, r4, #0x0 bl FUN_02058C24 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058494 add r0, r4, #0x0 bl FUN_02058C1C add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205848C pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02058258 FUN_02058258: ; 0x02058258 push {r4-r6, lr} add r6, r2, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 add r4, r1, #0x0 bl FUN_02058CE0 cmp r0, #0x1 beq _0205826E bl ErrorHandling _0205826E: add r0, r5, #0x0 mov r1, #0x1 bl FUN_020589B0 add r0, r6, #0x0 bl FUN_02058C24 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058494 add r0, r6, #0x0 bl FUN_02058CFC add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205848C add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205844C pop {r4-r6, pc} thumb_func_start FUN_0205829C FUN_0205829C: ; 0x0205829C push {r4, lr} add r4, r1, #0x0 bl FUN_02058744 add r0, r0, r4 pop {r4, pc} thumb_func_start FUN_020582A8 FUN_020582A8: ; 0x020582A8 push {r4-r6, lr} add r6, r1, #0x0 mov r1, #0x1 add r5, r0, #0x0 add r4, r2, #0x0 bl FUN_0205842C cmp r0, #0x0 bne _020582BE mov r0, #0x0 pop {r4-r6, pc} _020582BE: add r0, r5, #0x0 bl FUN_02058448 cmp r6, r0 beq _020582CC mov r0, #0x0 pop {r4-r6, pc} _020582CC: add r0, r5, #0x0 bl FUN_02058450 cmp r4, r0 beq _020582F2 add r0, r5, #0x0 bl FUN_020589CC cmp r0, #0x0 bne _020582E4 mov r0, #0x0 pop {r4-r6, pc} _020582E4: add r0, r5, #0x0 bl FUN_02058750 cmp r4, r0 beq _020582F2 mov r0, #0x0 pop {r4-r6, pc} _020582F2: mov r0, #0x1 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020582F8 FUN_020582F8: ; 0x020582F8 push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0x1 add r5, r0, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 bl FUN_0205842C cmp r0, #0x0 bne _02058310 mov r0, #0x0 pop {r3-r7, pc} _02058310: add r0, r5, #0x0 bl FUN_0205845C cmp r0, r4 beq _0205831E mov r0, #0x0 pop {r3-r7, pc} _0205831E: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_020582A8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205832C FUN_0205832C: ; 0x0205832C push {r4, lr} add r4, r1, #0x0 add r0, r4, #0x0 bl FUN_02058EF8 add r0, r4, #0x0 bl FUN_02058830 cmp r0, #0x0 beq _02058346 add r0, r4, #0x0 bl FUN_02058348 _02058346: pop {r4, pc} thumb_func_start FUN_02058348 FUN_02058348: ; 0x02058348 push {r4, lr} add r4, r0, #0x0 bl FUN_02058578 bl FUN_020587E0 cmp r0, #0x1 bne _0205835E add r0, r4, #0x0 bl FUN_021F1D8C _0205835E: pop {r4, pc} thumb_func_start FUN_02058360 FUN_02058360: ; 0x02058360 bx lr .balign 4 thumb_func_start FUN_02058364 FUN_02058364: ; 0x02058364 str r1, [r0, #0x4] bx lr thumb_func_start FUN_02058368 FUN_02058368: ; 0x02058368 ldr r0, [r0, #0x4] bx lr thumb_func_start FUN_0205836C FUN_0205836C: ; 0x0205836C ldr r1, [r0, #0x8] add r1, r1, #0x1 str r1, [r0, #0x8] bx lr thumb_func_start FUN_02058374 FUN_02058374: ; 0x02058374 ldr r1, [r0, #0x8] sub r1, r1, #0x1 str r1, [r0, #0x8] bx lr thumb_func_start FUN_0205837C FUN_0205837C: ; 0x0205837C ldr r2, [r0, #0x0] orr r1, r2 str r1, [r0, #0x0] bx lr thumb_func_start FUN_02058384 FUN_02058384: ; 0x02058384 ldr r2, [r0, #0x0] mvn r1, r1 and r1, r2 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02058390 FUN_02058390: ; 0x02058390 ldr r0, [r0, #0x0] and r0, r1 bx lr .balign 4 thumb_func_start FUN_02058398 FUN_02058398: ; 0x02058398 str r1, [r0, #0xc] bx lr thumb_func_start FUN_0205839C FUN_0205839C: ; 0x0205839C ldr r0, [r0, #0xc] bx lr thumb_func_start FUN_020583A0 FUN_020583A0: ; 0x020583A0 add r0, #0x18 bx lr thumb_func_start FUN_020583A4 FUN_020583A4: ; 0x020583A4 mov r2, #0x12 lsl r2, r2, #0x4 str r1, [r0, r2] bx lr thumb_func_start FUN_020583AC FUN_020583AC: ; 0x020583AC mov r1, #0x12 lsl r1, r1, #0x4 ldr r0, [r0, r1] bx lr thumb_func_start FUN_020583B4 FUN_020583B4: ; 0x020583B4 mov r2, #0x49 lsl r2, r2, #0x2 str r1, [r0, r2] bx lr thumb_func_start FUN_020583BC FUN_020583BC: ; 0x020583BC mov r1, #0x49 lsl r1, r1, #0x2 ldr r0, [r0, r1] bx lr thumb_func_start FUN_020583C4 FUN_020583C4: ; 0x020583C4 mov r1, #0x49 lsl r1, r1, #0x2 ldr r0, [r0, r1] bx lr thumb_func_start FUN_020583CC FUN_020583CC: ; 0x020583CC mov r1, #0x49 lsl r1, r1, #0x2 ldr r0, [r0, r1] bx lr thumb_func_start FUN_020583D4 FUN_020583D4: ; 0x020583D4 mov r1, #0x4a ldr r2, [r0, #0x0] lsl r1, r1, #0x2 add r1, r2, r1 str r1, [r0, #0x0] bx lr thumb_func_start FUN_020583E0 FUN_020583E0: ; 0x020583E0 mov r2, #0x4a lsl r2, r2, #0x2 str r1, [r0, r2] bx lr thumb_func_start FUN_020583E8 FUN_020583E8: ; 0x020583E8 mov r1, #0x4a lsl r1, r1, #0x2 ldr r0, [r0, r1] bx lr thumb_func_start FUN_020583F0 FUN_020583F0: ; 0x020583F0 str r1, [r0, #0x14] bx lr thumb_func_start FUN_020583F4 FUN_020583F4: ; 0x020583F4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x14] cmp r0, #0x0 bne _02058402 bl ErrorHandling _02058402: ldr r0, [r4, #0x14] pop {r4, pc} .balign 4 thumb_func_start FUN_02058408 FUN_02058408: ; 0x02058408 str r1, [r0, #0x0] bx lr thumb_func_start FUN_0205840C FUN_0205840C: ; 0x0205840C ldr r0, [r0, #0x0] bx lr thumb_func_start FUN_02058410 FUN_02058410: ; 0x02058410 ldr r2, [r0, #0x0] orr r1, r2 str r1, [r0, #0x0] bx lr thumb_func_start FUN_02058418 FUN_02058418: ; 0x02058418 ldr r2, [r0, #0x0] mvn r1, r1 and r1, r2 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02058424 FUN_02058424: ; 0x02058424 ldr r0, [r0, #0x0] and r0, r1 bx lr .balign 4 thumb_func_start FUN_0205842C FUN_0205842C: ; 0x0205842C ldr r0, [r0, #0x0] tst r0, r1 beq _02058436 mov r0, #0x1 bx lr _02058436: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_0205843C FUN_0205843C: ; 0x0205843C str r1, [r0, #0x4] bx lr thumb_func_start FUN_02058440 FUN_02058440: ; 0x02058440 ldr r0, [r0, #0x4] bx lr thumb_func_start FUN_02058444 FUN_02058444: ; 0x02058444 str r1, [r0, #0x8] bx lr thumb_func_start FUN_02058448 FUN_02058448: ; 0x02058448 ldr r0, [r0, #0x8] bx lr thumb_func_start FUN_0205844C FUN_0205844C: ; 0x0205844C str r1, [r0, #0xc] bx lr thumb_func_start FUN_02058450 FUN_02058450: ; 0x02058450 ldr r0, [r0, #0xc] bx lr thumb_func_start FUN_02058454 FUN_02058454: ; 0x02058454 str r1, [r0, #0x10] bx lr thumb_func_start FUN_02058458 FUN_02058458: ; 0x02058458 ldr r0, [r0, #0x10] bx lr thumb_func_start FUN_0205845C FUN_0205845C: ; 0x0205845C push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02058458 add r4, r0, #0x0 bl FUN_0205C334 cmp r0, #0x1 bne _02058476 add r0, r5, #0x0 bl FUN_0205C340 add r4, r0, #0x0 _02058476: add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205847C FUN_0205847C: ; 0x0205847C str r1, [r0, #0x14] bx lr thumb_func_start FUN_02058480 FUN_02058480: ; 0x02058480 ldr r0, [r0, #0x14] bx lr thumb_func_start FUN_02058484 FUN_02058484: ; 0x02058484 str r1, [r0, #0x18] bx lr thumb_func_start FUN_02058488 FUN_02058488: ; 0x02058488 ldr r0, [r0, #0x18] bx lr thumb_func_start FUN_0205848C FUN_0205848C: ; 0x0205848C str r1, [r0, #0x1c] bx lr thumb_func_start FUN_02058490 FUN_02058490: ; 0x02058490 ldr r0, [r0, #0x1c] bx lr thumb_func_start FUN_02058494 FUN_02058494: ; 0x02058494 str r1, [r0, #0x20] bx lr thumb_func_start FUN_02058498 FUN_02058498: ; 0x02058498 ldr r0, [r0, #0x20] bx lr thumb_func_start FUN_0205849C FUN_0205849C: ; 0x0205849C str r1, [r0, #0x24] bx lr thumb_func_start FUN_020584A0 FUN_020584A0: ; 0x020584A0 ldr r0, [r0, #0x24] bx lr thumb_func_start FUN_020584A4 FUN_020584A4: ; 0x020584A4 ldr r2, [r0, #0x28] str r2, [r0, #0x30] str r1, [r0, #0x28] bx lr thumb_func_start FUN_020584AC FUN_020584AC: ; 0x020584AC push {r3-r5, lr} add r4, r1, #0x0 mov r1, #0x80 add r5, r0, #0x0 bl FUN_02058424 cmp r0, #0x0 bne _020584C2 ldr r0, [r5, #0x28] str r0, [r5, #0x30] str r4, [r5, #0x28] _020584C2: pop {r3-r5, pc} thumb_func_start FUN_020584C4 FUN_020584C4: ; 0x020584C4 ldr r0, [r0, #0x28] bx lr thumb_func_start FUN_020584C8 FUN_020584C8: ; 0x020584C8 ldr r0, [r0, #0x30] bx lr thumb_func_start FUN_020584CC FUN_020584CC: ; 0x020584CC ldr r2, [r0, #0x2c] str r2, [r0, #0x34] str r1, [r0, #0x2c] bx lr thumb_func_start FUN_020584D4 FUN_020584D4: ; 0x020584D4 ldr r0, [r0, #0x2c] bx lr thumb_func_start FUN_020584D8 FUN_020584D8: ; 0x020584D8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_020584AC add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020584CC pop {r3-r5, pc} thumb_func_start FUN_020584EC FUN_020584EC: ; 0x020584EC push {r3, lr} cmp r2, #0x0 beq _020584FC cmp r2, #0x1 beq _02058500 cmp r2, #0x2 beq _02058504 b _02058508 _020584FC: str r1, [r0, #0x38] pop {r3, pc} _02058500: str r1, [r0, #0x3c] pop {r3, pc} _02058504: str r1, [r0, #0x40] pop {r3, pc} _02058508: bl ErrorHandling pop {r3, pc} .balign 4 thumb_func_start FUN_02058510 FUN_02058510: ; 0x02058510 push {r3, lr} cmp r1, #0x0 beq _02058520 cmp r1, #0x1 beq _02058524 cmp r1, #0x2 beq _02058528 b _0205852C _02058520: ldr r0, [r0, #0x38] pop {r3, pc} _02058524: ldr r0, [r0, #0x3c] pop {r3, pc} _02058528: ldr r0, [r0, #0x40] pop {r3, pc} _0205852C: bl ErrorHandling mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_02058534 FUN_02058534: ; 0x02058534 str r1, [r0, #0x44] bx lr thumb_func_start FUN_02058538 FUN_02058538: ; 0x02058538 ldr r0, [r0, #0x44] bx lr thumb_func_start FUN_0205853C FUN_0205853C: ; 0x0205853C str r1, [r0, #0x48] bx lr thumb_func_start FUN_02058540 FUN_02058540: ; 0x02058540 ldr r0, [r0, #0x48] bx lr thumb_func_start FUN_02058544 FUN_02058544: ; 0x02058544 add r0, #0xa0 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_0205854C FUN_0205854C: ; 0x0205854C add r0, #0xa0 ldr r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02058554 FUN_02058554: ; 0x02058554 add r0, #0xb0 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_0205855C FUN_0205855C: ; 0x0205855C add r0, #0xb0 ldr r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02058564 FUN_02058564: ; 0x02058564 push {r3, lr} bl FUN_0205855C bl FUN_0200CAB4 pop {r3, pc} thumb_func_start FUN_02058570 FUN_02058570: ; 0x02058570 add r0, #0xb4 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02058578 FUN_02058578: ; 0x02058578 add r0, #0xb4 ldr r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02058580 FUN_02058580: ; 0x02058580 ldr r3, _02058588 ; =FUN_02058360 add r0, #0xb4 ldr r0, [r0, #0x0] bx r3 .balign 4 _02058588: .word FUN_02058360 thumb_func_start FUN_0205858C FUN_0205858C: ; 0x0205858C push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 cmp r5, #0x10 ble _0205859A bl ErrorHandling _0205859A: add r0, r4, #0x0 bl FUN_020585B0 mov r1, #0x0 add r2, r5, #0x0 add r4, r0, #0x0 blx Call_FillMemWithValue add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020585B0 FUN_020585B0: ; 0x020585B0 add r0, #0xd8 bx lr thumb_func_start FUN_020585B4 FUN_020585B4: ; 0x020585B4 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 cmp r5, #0x10 ble _020585C2 bl ErrorHandling _020585C2: add r0, r4, #0x0 bl FUN_020585D8 mov r1, #0x0 add r2, r5, #0x0 add r4, r0, #0x0 blx Call_FillMemWithValue add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020585D8 FUN_020585D8: ; 0x020585D8 add r0, #0xe8 bx lr thumb_func_start FUN_020585DC FUN_020585DC: ; 0x020585DC push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 cmp r5, #0x10 ble _020585EA bl ErrorHandling _020585EA: add r0, r4, #0x0 bl FUN_02058600 mov r1, #0x0 add r2, r5, #0x0 add r4, r0, #0x0 blx Call_FillMemWithValue add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02058600 FUN_02058600: ; 0x02058600 add r0, #0xf8 bx lr thumb_func_start FUN_02058604 FUN_02058604: ; 0x02058604 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 cmp r5, #0x20 ble _02058612 bl ErrorHandling _02058612: add r0, r4, #0x0 bl FUN_02058628 mov r1, #0x0 add r2, r5, #0x0 add r4, r0, #0x0 blx Call_FillMemWithValue add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02058628 FUN_02058628: ; 0x02058628 mov r1, #0x42 lsl r1, r1, #0x2 add r0, r0, r1 bx lr thumb_func_start FUN_02058630 FUN_02058630: ; 0x02058630 add r0, #0xb8 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02058638 FUN_02058638: ; 0x02058638 push {r3, lr} add r1, r0, #0x0 add r1, #0xb8 ldr r1, [r1, #0x0] blx r1 pop {r3, pc} thumb_func_start FUN_02058644 FUN_02058644: ; 0x02058644 add r0, #0xbc str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_0205864C FUN_0205864C: ; 0x0205864C push {r3, lr} add r1, r0, #0x0 add r1, #0xbc ldr r1, [r1, #0x0] blx r1 pop {r3, pc} thumb_func_start FUN_02058658 FUN_02058658: ; 0x02058658 add r0, #0xc0 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02058660 FUN_02058660: ; 0x02058660 push {r3, lr} add r1, r0, #0x0 add r1, #0xc0 ldr r1, [r1, #0x0] blx r1 pop {r3, pc} thumb_func_start FUN_0205866C FUN_0205866C: ; 0x0205866C push {r4, lr} add r4, r0, #0x0 bl FUN_02058480 bl FUN_02058D14 add r1, r0, #0x0 ldr r1, [r1, #0x10] add r0, r4, #0x0 blx r1 pop {r4, pc} .balign 4 thumb_func_start FUN_02058684 FUN_02058684: ; 0x02058684 add r0, #0xc4 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_0205868C FUN_0205868C: ; 0x0205868C push {r3, lr} add r1, r0, #0x0 add r1, #0xc4 ldr r1, [r1, #0x0] blx r1 pop {r3, pc} thumb_func_start FUN_02058698 FUN_02058698: ; 0x02058698 add r0, #0xc8 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_020586A0 FUN_020586A0: ; 0x020586A0 push {r3, lr} add r1, r0, #0x0 add r1, #0xc8 ldr r1, [r1, #0x0] blx r1 pop {r3, pc} thumb_func_start FUN_020586AC FUN_020586AC: ; 0x020586AC add r0, #0xcc str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_020586B4 FUN_020586B4: ; 0x020586B4 push {r3, lr} add r1, r0, #0x0 add r1, #0xcc ldr r1, [r1, #0x0] blx r1 pop {r3, pc} thumb_func_start FUN_020586C0 FUN_020586C0: ; 0x020586C0 add r0, #0xd0 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_020586C8 FUN_020586C8: ; 0x020586C8 push {r3, lr} add r1, r0, #0x0 add r1, #0xd0 ldr r1, [r1, #0x0] blx r1 pop {r3, pc} thumb_func_start FUN_020586D4 FUN_020586D4: ; 0x020586D4 add r0, #0xd4 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_020586DC FUN_020586DC: ; 0x020586DC push {r3, lr} add r1, r0, #0x0 add r1, #0xd4 ldr r1, [r1, #0x0] blx r1 pop {r3, pc} thumb_func_start FUN_020586E8 FUN_020586E8: ; 0x020586E8 add r0, #0xa4 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_020586F0 FUN_020586F0: ; 0x020586F0 add r0, #0xa4 ldr r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_020586F8 FUN_020586F8: ; 0x020586F8 add r0, #0xa8 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02058700 FUN_02058700: ; 0x02058700 add r1, r0, #0x0 add r1, #0xa8 ldr r1, [r1, #0x0] add r0, #0xa8 add r1, r1, #0x1 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02058710 FUN_02058710: ; 0x02058710 add r0, #0xa8 ldr r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02058718 FUN_02058718: ; 0x02058718 add r0, #0xac strh r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02058720 FUN_02058720: ; 0x02058720 add r0, #0xac ldrh r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02058728 FUN_02058728: ; 0x02058728 add r0, #0xae strh r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02058730 FUN_02058730: ; 0x02058730 add r0, #0xae ldrh r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02058738 FUN_02058738: ; 0x02058738 push {r3, lr} bl FUN_02058580 bl FUN_020583E8 pop {r3, pc} thumb_func_start FUN_02058744 FUN_02058744: ; 0x02058744 push {r3, lr} bl FUN_02058578 bl FUN_0205839C pop {r3, pc} thumb_func_start FUN_02058750 FUN_02058750: ; 0x02058750 push {r4, lr} add r4, r0, #0x0 bl FUN_020589CC cmp r0, #0x1 beq _02058760 bl ErrorHandling _02058760: add r0, r4, #0x0 bl FUN_02058490 pop {r4, pc} thumb_func_start FUN_02058768 FUN_02058768: ; 0x02058768 ldr r3, _02058770 ; =FUN_0205837C mov r1, #0x6 bx r3 nop _02058770: .word FUN_0205837C thumb_func_start FUN_02058774 FUN_02058774: ; 0x02058774 ldr r3, _0205877C ; =FUN_02058384 mov r1, #0x6 bx r3 nop _0205877C: .word FUN_02058384 thumb_func_start FUN_02058780 FUN_02058780: ; 0x02058780 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02058368 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_020583CC mov r6, #0x4a add r5, r0, #0x0 lsl r6, r6, #0x2 _02058796: add r0, r5, #0x0 bl FUN_02058830 cmp r0, #0x0 beq _020587A6 add r0, r5, #0x0 bl FUN_02058908 _020587A6: add r5, r5, r6 sub r4, r4, #0x1 bne _02058796 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020587B0 FUN_020587B0: ; 0x020587B0 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02058368 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_020583CC mov r6, #0x4a add r5, r0, #0x0 lsl r6, r6, #0x2 _020587C6: add r0, r5, #0x0 bl FUN_02058830 cmp r0, #0x0 beq _020587D6 add r0, r5, #0x0 bl FUN_02058914 _020587D6: add r5, r5, r6 sub r4, r4, #0x1 bne _020587C6 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020587E0 FUN_020587E0: ; 0x020587E0 push {r3, lr} mov r1, #0x1 bl FUN_02058390 cmp r0, #0x0 beq _020587F0 mov r0, #0x1 pop {r3, pc} _020587F0: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_020587F4 FUN_020587F4: ; 0x020587F4 push {r4, lr} add r4, r1, #0x0 bl FUN_02058578 add r1, r4, #0x0 bl FUN_02058390 pop {r4, pc} thumb_func_start FUN_02058804 FUN_02058804: ; 0x02058804 push {r3, lr} cmp r1, #0x0 bne _02058812 mov r1, #0x8 bl FUN_0205837C pop {r3, pc} _02058812: mov r1, #0x8 bl FUN_02058384 pop {r3, pc} .balign 4 thumb_func_start FUN_0205881C FUN_0205881C: ; 0x0205881C push {r3, lr} mov r1, #0x8 bl FUN_02058390 cmp r0, #0x0 bne _0205882C mov r0, #0x1 pop {r3, pc} _0205882C: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_02058830 FUN_02058830: ; 0x02058830 ldr r3, _02058838 ; =FUN_0205842C mov r1, #0x1 bx r3 nop _02058838: .word FUN_0205842C thumb_func_start FUN_0205883C FUN_0205883C: ; 0x0205883C ldr r3, _02058844 ; =FUN_02058410 mov r1, #0x2 bx r3 nop _02058844: .word FUN_02058410 thumb_func_start FUN_02058848 FUN_02058848: ; 0x02058848 ldr r3, _02058850 ; =FUN_02058418 mov r1, #0x2 bx r3 nop _02058850: .word FUN_02058418 thumb_func_start FUN_02058854 FUN_02058854: ; 0x02058854 ldr r3, _0205885C ; =FUN_0205842C mov r1, #0x2 bx r3 nop _0205885C: .word FUN_0205842C thumb_func_start FUN_02058860 FUN_02058860: ; 0x02058860 ldr r3, _02058868 ; =FUN_02058410 mov r1, #0x4 bx r3 nop _02058868: .word FUN_02058410 thumb_func_start FUN_0205886C FUN_0205886C: ; 0x0205886C ldr r3, _02058874 ; =FUN_02058418 mov r1, #0x8 bx r3 nop _02058874: .word FUN_02058418 thumb_func_start FUN_02058878 FUN_02058878: ; 0x02058878 ldr r3, _02058880 ; =FUN_02058410 mov r1, #0x1 lsl r1, r1, #0xe bx r3 .balign 4 _02058880: .word FUN_02058410 thumb_func_start FUN_02058884 FUN_02058884: ; 0x02058884 ldr r3, _0205888C ; =FUN_0205842C mov r1, #0x1 lsl r1, r1, #0xe bx r3 .balign 4 _0205888C: .word FUN_0205842C thumb_func_start FUN_02058890 FUN_02058890: ; 0x02058890 ldr r3, _02058898 ; =FUN_0205842C mov r1, #0x2 lsl r1, r1, #0x8 bx r3 .balign 4 _02058898: .word FUN_0205842C thumb_func_start FUN_0205889C FUN_0205889C: ; 0x0205889C push {r3, lr} cmp r1, #0x1 bne _020588AC mov r1, #0x2 lsl r1, r1, #0x8 bl FUN_02058410 pop {r3, pc} _020588AC: mov r1, #0x2 lsl r1, r1, #0x8 bl FUN_02058418 pop {r3, pc} .balign 4 thumb_func_start FUN_020588B8 FUN_020588B8: ; 0x020588B8 push {r3, lr} cmp r1, #0x1 bne _020588C8 mov r1, #0x1 lsl r1, r1, #0x12 bl FUN_02058418 pop {r3, pc} _020588C8: mov r1, #0x1 lsl r1, r1, #0x12 bl FUN_02058410 pop {r3, pc} .balign 4 thumb_func_start FUN_020588D4 FUN_020588D4: ; 0x020588D4 push {r3, lr} mov r1, #0x2 lsl r1, r1, #0x12 bl FUN_0205842C cmp r0, #0x1 beq _020588E6 mov r0, #0x1 pop {r3, pc} _020588E6: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_020588EC FUN_020588EC: ; 0x020588EC push {r3, lr} cmp r1, #0x1 bne _020588FC mov r1, #0x2 lsl r1, r1, #0x12 bl FUN_02058410 pop {r3, pc} _020588FC: mov r1, #0x2 lsl r1, r1, #0x12 bl FUN_02058418 pop {r3, pc} .balign 4 thumb_func_start FUN_02058908 FUN_02058908: ; 0x02058908 ldr r3, _02058910 ; =FUN_02058410 mov r1, #0x40 bx r3 nop _02058910: .word FUN_02058410 thumb_func_start FUN_02058914 FUN_02058914: ; 0x02058914 ldr r3, _0205891C ; =FUN_02058418 mov r1, #0x40 bx r3 nop _0205891C: .word FUN_02058418 thumb_func_start FUN_02058920 FUN_02058920: ; 0x02058920 push {r3, lr} mov r1, #0x40 bl FUN_0205842C cmp r0, #0x1 bne _02058930 mov r0, #0x1 pop {r3, pc} _02058930: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_02058934 FUN_02058934: ; 0x02058934 push {r4, lr} add r4, r0, #0x0 bl FUN_02058578 bl FUN_020587E0 cmp r0, #0x0 bne _02058948 mov r0, #0x0 pop {r4, pc} _02058948: mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0xe bl FUN_02058424 cmp r0, #0x0 beq _0205895A mov r0, #0x1 pop {r4, pc} _0205895A: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_02058960 FUN_02058960: ; 0x02058960 push {r3, lr} cmp r1, #0x1 bne _02058970 mov r1, #0x2 lsl r1, r1, #0x16 bl FUN_02058410 pop {r3, pc} _02058970: mov r1, #0x2 lsl r1, r1, #0x16 bl FUN_02058418 pop {r3, pc} .balign 4 thumb_func_start FUN_0205897C FUN_0205897C: ; 0x0205897C push {r3, lr} mov r1, #0x2 lsl r1, r1, #0x16 bl FUN_02058424 cmp r0, #0x0 beq _0205898E mov r0, #0x1 pop {r3, pc} _0205898E: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_02058994 FUN_02058994: ; 0x02058994 push {r3, lr} cmp r1, #0x1 bne _020589A4 mov r1, #0x1 lsl r1, r1, #0xa bl FUN_02058410 pop {r3, pc} _020589A4: mov r1, #0x1 lsl r1, r1, #0xa bl FUN_02058418 pop {r3, pc} .balign 4 thumb_func_start FUN_020589B0 FUN_020589B0: ; 0x020589B0 push {r3, lr} cmp r1, #0x1 bne _020589C0 mov r1, #0x2 lsl r1, r1, #0x18 bl FUN_02058410 pop {r3, pc} _020589C0: mov r1, #0x2 lsl r1, r1, #0x18 bl FUN_02058418 pop {r3, pc} .balign 4 thumb_func_start FUN_020589CC FUN_020589CC: ; 0x020589CC push {r3, lr} mov r1, #0x2 lsl r1, r1, #0x18 bl FUN_02058424 cmp r0, #0x0 beq _020589DE mov r0, #0x1 pop {r3, pc} _020589DE: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_020589E4 FUN_020589E4: ; 0x020589E4 push {r3, lr} cmp r1, #0x1 bne _020589F4 mov r1, #0x1 lsl r1, r1, #0x1a bl FUN_02058410 pop {r3, pc} _020589F4: mov r1, #0x1 lsl r1, r1, #0x1a bl FUN_02058418 pop {r3, pc} .balign 4 thumb_func_start FUN_02058A00 FUN_02058A00: ; 0x02058A00 push {r3, lr} mov r1, #0x1 lsl r1, r1, #0x1a bl FUN_02058424 cmp r0, #0x0 beq _02058A12 mov r0, #0x1 pop {r3, pc} _02058A12: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_02058A18 FUN_02058A18: ; 0x02058A18 push {r3, lr} cmp r1, #0x1 bne _02058A28 mov r1, #0x2 lsl r1, r1, #0x1a bl FUN_02058410 pop {r3, pc} _02058A28: mov r1, #0x2 lsl r1, r1, #0x1a bl FUN_02058418 pop {r3, pc} .balign 4 thumb_func_start FUN_02058A34 FUN_02058A34: ; 0x02058A34 push {r3, lr} mov r1, #0x2 lsl r1, r1, #0x1a bl FUN_02058424 cmp r0, #0x0 beq _02058A46 mov r0, #0x1 pop {r3, pc} _02058A46: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_02058A4C FUN_02058A4C: ; 0x02058A4C push {r3, lr} cmp r1, #0x1 bne _02058A5C mov r1, #0x1 lsl r1, r1, #0x1c bl FUN_02058410 pop {r3, pc} _02058A5C: mov r1, #0x1 lsl r1, r1, #0x1c bl FUN_02058418 pop {r3, pc} .balign 4 thumb_func_start FUN_02058A68 FUN_02058A68: ; 0x02058A68 push {r3, lr} mov r1, #0x1 lsl r1, r1, #0x1c bl FUN_02058424 cmp r0, #0x0 beq _02058A7A mov r0, #0x1 pop {r3, pc} _02058A7A: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_02058A80 FUN_02058A80: ; 0x02058A80 push {r3, lr} cmp r1, #0x1 bne _02058A90 mov r1, #0x1 lsl r1, r1, #0x18 bl FUN_02058410 pop {r3, pc} _02058A90: mov r1, #0x1 lsl r1, r1, #0x18 bl FUN_02058418 pop {r3, pc} .balign 4 thumb_func_start FUN_02058A9C FUN_02058A9C: ; 0x02058A9C push {r3, lr} mov r1, #0x1 lsl r1, r1, #0x18 bl FUN_02058424 cmp r0, #0x0 beq _02058AAE mov r0, #0x1 pop {r3, pc} _02058AAE: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_02058AB4 FUN_02058AB4: ; 0x02058AB4 push {r3, lr} mov r1, #0x10 bl FUN_02058424 cmp r0, #0x0 beq _02058AC4 mov r0, #0x1 pop {r3, pc} _02058AC4: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_02058AC8 FUN_02058AC8: ; 0x02058AC8 push {r3, lr} cmp r1, #0x1 bne _02058AD8 mov r1, #0x2 lsl r1, r1, #0x1c bl FUN_02058410 pop {r3, pc} _02058AD8: mov r1, #0x2 lsl r1, r1, #0x1c bl FUN_02058418 pop {r3, pc} .balign 4 thumb_func_start FUN_02058AE4 FUN_02058AE4: ; 0x02058AE4 push {r3, lr} mov r1, #0x2 lsl r1, r1, #0x1c bl FUN_02058424 cmp r0, #0x0 beq _02058AF6 mov r0, #0x1 pop {r3, pc} _02058AF6: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_02058AFC FUN_02058AFC: ; 0x02058AFC ldr r0, [r0, #0x4c] bx lr thumb_func_start FUN_02058B00 FUN_02058B00: ; 0x02058B00 str r1, [r0, #0x4c] bx lr thumb_func_start FUN_02058B04 FUN_02058B04: ; 0x02058B04 ldr r0, [r0, #0x50] bx lr thumb_func_start FUN_02058B08 FUN_02058B08: ; 0x02058B08 str r1, [r0, #0x50] bx lr thumb_func_start FUN_02058B0C FUN_02058B0C: ; 0x02058B0C ldr r0, [r0, #0x54] bx lr thumb_func_start FUN_02058B10 FUN_02058B10: ; 0x02058B10 str r1, [r0, #0x54] bx lr thumb_func_start FUN_02058B14 FUN_02058B14: ; 0x02058B14 ldr r0, [r0, #0x58] bx lr thumb_func_start FUN_02058B18 FUN_02058B18: ; 0x02058B18 str r1, [r0, #0x58] bx lr thumb_func_start FUN_02058B1C FUN_02058B1C: ; 0x02058B1C ldr r0, [r0, #0x5c] bx lr thumb_func_start FUN_02058B20 FUN_02058B20: ; 0x02058B20 str r1, [r0, #0x5c] bx lr thumb_func_start FUN_02058B24 FUN_02058B24: ; 0x02058B24 ldr r0, [r0, #0x60] bx lr thumb_func_start FUN_02058B28 FUN_02058B28: ; 0x02058B28 str r1, [r0, #0x60] bx lr thumb_func_start FUN_02058B2C FUN_02058B2C: ; 0x02058B2C ldr r0, [r0, #0x64] bx lr thumb_func_start FUN_02058B30 FUN_02058B30: ; 0x02058B30 str r1, [r0, #0x64] bx lr thumb_func_start FUN_02058B34 FUN_02058B34: ; 0x02058B34 ldr r2, [r0, #0x64] add r1, r2, r1 str r1, [r0, #0x64] bx lr thumb_func_start FUN_02058B3C FUN_02058B3C: ; 0x02058B3C ldr r0, [r0, #0x68] bx lr thumb_func_start FUN_02058B40 FUN_02058B40: ; 0x02058B40 str r1, [r0, #0x68] bx lr thumb_func_start FUN_02058B44 FUN_02058B44: ; 0x02058B44 ldr r2, [r0, #0x68] add r1, r2, r1 str r1, [r0, #0x68] bx lr thumb_func_start FUN_02058B4C FUN_02058B4C: ; 0x02058B4C ldr r0, [r0, #0x6c] bx lr thumb_func_start FUN_02058B50 FUN_02058B50: ; 0x02058B50 str r1, [r0, #0x6c] bx lr thumb_func_start FUN_02058B54 FUN_02058B54: ; 0x02058B54 ldr r2, [r0, #0x6c] add r1, r2, r1 str r1, [r0, #0x6c] bx lr thumb_func_start FUN_02058B5C FUN_02058B5C: ; 0x02058B5C add r2, r0, #0x0 add r2, #0x70 add r3, r1, #0x0 ldmia r2!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r2, #0x0] str r0, [r3, #0x0] bx lr thumb_func_start FUN_02058B6C FUN_02058B6C: ; 0x02058B6C add r3, r1, #0x0 add r2, r0, #0x0 ldmia r3!, {r0-r1} add r2, #0x70 stmia r2!, {r0-r1} ldr r0, [r3, #0x0] str r0, [r2, #0x0] bx lr thumb_func_start FUN_02058B7C FUN_02058B7C: ; 0x02058B7C add r0, #0x70 bx lr thumb_func_start FUN_02058B80 FUN_02058B80: ; 0x02058B80 ldr r0, [r0, #0x74] bx lr thumb_func_start FUN_02058B84 FUN_02058B84: ; 0x02058B84 add r2, r0, #0x0 add r2, #0x7c add r3, r1, #0x0 ldmia r2!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r2, #0x0] str r0, [r3, #0x0] bx lr thumb_func_start FUN_02058B94 FUN_02058B94: ; 0x02058B94 add r3, r1, #0x0 add r2, r0, #0x0 ldmia r3!, {r0-r1} add r2, #0x7c stmia r2!, {r0-r1} ldr r0, [r3, #0x0] str r0, [r2, #0x0] bx lr thumb_func_start FUN_02058BA4 FUN_02058BA4: ; 0x02058BA4 add r2, r0, #0x0 add r2, #0x88 add r3, r1, #0x0 ldmia r2!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r2, #0x0] str r0, [r3, #0x0] bx lr thumb_func_start FUN_02058BB4 FUN_02058BB4: ; 0x02058BB4 add r3, r1, #0x0 add r2, r0, #0x0 ldmia r3!, {r0-r1} add r2, #0x88 stmia r2!, {r0-r1} ldr r0, [r3, #0x0] str r0, [r2, #0x0] bx lr thumb_func_start FUN_02058BC4 FUN_02058BC4: ; 0x02058BC4 add r2, r0, #0x0 add r2, #0x94 add r3, r1, #0x0 ldmia r2!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r2, #0x0] str r0, [r3, #0x0] bx lr thumb_func_start FUN_02058BD4 FUN_02058BD4: ; 0x02058BD4 add r3, r1, #0x0 add r2, r0, #0x0 ldmia r3!, {r0-r1} add r2, #0x94 stmia r2!, {r0-r1} ldr r0, [r3, #0x0] str r0, [r2, #0x0] bx lr thumb_func_start FUN_02058BE4 FUN_02058BE4: ; 0x02058BE4 push {r3, lr} bl FUN_02058B80 asr r1, r0, #0x3 asr r0, r1, #0xb lsr r0, r0, #0x14 add r0, r1, r0 asr r0, r0, #0xc pop {r3, pc} .balign 4 thumb_func_start FUN_02058BF8 FUN_02058BF8: ; 0x02058BF8 strh r1, [r0, #0x0] bx lr thumb_func_start FUN_02058BFC FUN_02058BFC: ; 0x02058BFC ldrh r0, [r0, #0x0] bx lr thumb_func_start FUN_02058C00 FUN_02058C00: ; 0x02058C00 strh r1, [r0, #0x2] bx lr thumb_func_start FUN_02058C04 FUN_02058C04: ; 0x02058C04 ldrh r0, [r0, #0x2] bx lr thumb_func_start FUN_02058C08 FUN_02058C08: ; 0x02058C08 strh r1, [r0, #0x4] bx lr thumb_func_start FUN_02058C0C FUN_02058C0C: ; 0x02058C0C ldrh r0, [r0, #0x4] bx lr thumb_func_start FUN_02058C10 FUN_02058C10: ; 0x02058C10 strh r1, [r0, #0x6] bx lr thumb_func_start FUN_02058C14 FUN_02058C14: ; 0x02058C14 ldrh r0, [r0, #0x6] bx lr thumb_func_start FUN_02058C18 FUN_02058C18: ; 0x02058C18 strh r1, [r0, #0x8] bx lr thumb_func_start FUN_02058C1C FUN_02058C1C: ; 0x02058C1C ldrh r0, [r0, #0x8] bx lr thumb_func_start FUN_02058C20 FUN_02058C20: ; 0x02058C20 strh r1, [r0, #0xa] bx lr thumb_func_start FUN_02058C24 FUN_02058C24: ; 0x02058C24 ldrh r0, [r0, #0xa] bx lr thumb_func_start FUN_02058C28 FUN_02058C28: ; 0x02058C28 strh r1, [r0, #0xc] bx lr thumb_func_start FUN_02058C2C FUN_02058C2C: ; 0x02058C2C mov r1, #0xc ldrsh r0, [r0, r1] bx lr .balign 4 thumb_func_start FUN_02058C34 FUN_02058C34: ; 0x02058C34 push {r3, lr} cmp r2, #0x0 beq _02058C44 cmp r2, #0x1 beq _02058C48 cmp r2, #0x2 beq _02058C4C b _02058C50 _02058C44: strh r1, [r0, #0xe] pop {r3, pc} _02058C48: strh r1, [r0, #0x10] pop {r3, pc} _02058C4C: strh r1, [r0, #0x12] pop {r3, pc} _02058C50: bl ErrorHandling pop {r3, pc} .balign 4 thumb_func_start FUN_02058C58 FUN_02058C58: ; 0x02058C58 push {r3, lr} cmp r1, #0x0 beq _02058C68 cmp r1, #0x1 beq _02058C6C cmp r1, #0x2 beq _02058C70 b _02058C74 _02058C68: ldrh r0, [r0, #0xe] pop {r3, pc} _02058C6C: ldrh r0, [r0, #0x10] pop {r3, pc} _02058C70: ldrh r0, [r0, #0x12] pop {r3, pc} _02058C74: bl ErrorHandling mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_02058C7C FUN_02058C7C: ; 0x02058C7C strh r1, [r0, #0x14] bx lr thumb_func_start FUN_02058C80 FUN_02058C80: ; 0x02058C80 mov r1, #0x14 ldrsh r0, [r0, r1] bx lr .balign 4 thumb_func_start FUN_02058C88 FUN_02058C88: ; 0x02058C88 strh r1, [r0, #0x16] bx lr thumb_func_start FUN_02058C8C FUN_02058C8C: ; 0x02058C8C mov r1, #0x16 ldrsh r0, [r0, r1] bx lr .balign 4 thumb_func_start FUN_02058C94 FUN_02058C94: ; 0x02058C94 strh r1, [r0, #0x18] bx lr thumb_func_start FUN_02058C98 FUN_02058C98: ; 0x02058C98 ldrh r0, [r0, #0x18] bx lr thumb_func_start FUN_02058C9C FUN_02058C9C: ; 0x02058C9C str r1, [r0, #0x1c] bx lr thumb_func_start FUN_02058CA0 FUN_02058CA0: ; 0x02058CA0 ldr r0, [r0, #0x1c] bx lr thumb_func_start FUN_02058CA4 FUN_02058CA4: ; 0x02058CA4 strh r1, [r0, #0x1a] bx lr thumb_func_start FUN_02058CA8 FUN_02058CA8: ; 0x02058CA8 ldrh r0, [r0, #0x1a] bx lr thumb_func_start FUN_02058CAC FUN_02058CAC: ; 0x02058CAC push {r3-r7, lr} add r6, r0, #0x0 add r7, r1, #0x0 str r2, [sp, #0x0] mov r4, #0x0 add r5, r2, #0x0 _02058CB8: add r0, r5, #0x0 bl FUN_02058CE0 cmp r0, #0x0 bne _02058CD4 add r0, r5, #0x0 bl FUN_02058BFC cmp r6, r0 bne _02058CD4 ldr r0, [sp, #0x0] lsl r1, r4, #0x5 add r0, r0, r1 pop {r3-r7, pc} _02058CD4: add r4, r4, #0x1 add r5, #0x20 cmp r4, r7 blt _02058CB8 mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02058CE0 FUN_02058CE0: ; 0x02058CE0 push {r3, lr} bl FUN_02058C24 lsl r0, r0, #0x10 lsr r1, r0, #0x10 ldr r0, _02058CF8 ; =0x0000FFFF cmp r1, r0 bne _02058CF4 mov r0, #0x1 pop {r3, pc} _02058CF4: mov r0, #0x0 pop {r3, pc} .balign 4 _02058CF8: .word 0x0000FFFF thumb_func_start FUN_02058CFC FUN_02058CFC: ; 0x02058CFC push {r4, lr} add r4, r0, #0x0 bl FUN_02058CE0 cmp r0, #0x1 beq _02058D0C bl ErrorHandling _02058D0C: add r0, r4, #0x0 bl FUN_02058C1C pop {r4, pc} thumb_func_start FUN_02058D14 FUN_02058D14: ; 0x02058D14 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x37 blo _02058D20 bl ErrorHandling _02058D20: ldr r0, _02058D28 ; =0x020F6364 lsl r1, r4, #0x2 ldr r0, [r0, r1] pop {r4, pc} .balign 4 _02058D28: .word 0x020F6364 thumb_func_start FUN_02058D2C FUN_02058D2C: ; 0x02058D2C ldr r0, [r0, #0x4] bx lr thumb_func_start FUN_02058D30 FUN_02058D30: ; 0x02058D30 ldr r0, [r0, #0x8] bx lr thumb_func_start FUN_02058D34 FUN_02058D34: ; 0x02058D34 ldr r0, [r0, #0xc] bx lr thumb_func_start FUN_02058D38 FUN_02058D38: ; 0x02058D38 ldr r0, [r0, #0x0] bx lr thumb_func_start FUN_02058D3C FUN_02058D3C: ; 0x02058D3C ldr r0, [r0, #0x4] bx lr thumb_func_start FUN_02058D40 FUN_02058D40: ; 0x02058D40 ldr r0, [r0, #0x8] bx lr thumb_func_start FUN_02058D44 FUN_02058D44: ; 0x02058D44 ldr r0, [r0, #0xc] bx lr thumb_func_start FUN_02058D48 FUN_02058D48: ; 0x02058D48 ldr r0, [r0, #0x10] bx lr thumb_func_start FUN_02058D4C FUN_02058D4C: ; 0x02058D4C push {r3, lr} ldr r3, _02058D6C ; =0x021F9494 ldr r1, _02058D70 ; =0x0000FFFF _02058D52: ldr r2, [r3, #0x0] cmp r2, r0 bne _02058D5C ldr r0, [r3, #0x4] pop {r3, pc} _02058D5C: add r3, #0x8 ldr r2, [r3, #0x0] cmp r2, r1 bne _02058D52 bl ErrorHandling mov r0, #0x0 pop {r3, pc} .balign 4 _02058D6C: .word 0x021F9494 _02058D70: .word 0x0000FFFF thumb_func_start FUN_02058D74 FUN_02058D74: ; 0x02058D74 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 bl FUN_02058368 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_020583CC add r5, r0, #0x0 _02058D8A: add r0, r5, #0x0 mov r1, #0x1 bl FUN_02058424 cmp r0, #0x0 beq _02058DAE add r0, r5, #0x0 bl FUN_02058B2C cmp r6, r0 bne _02058DAE add r0, r5, #0x0 bl FUN_02058B4C cmp r7, r0 bne _02058DAE add r0, r5, #0x0 pop {r3-r7, pc} _02058DAE: mov r0, #0x4a lsl r0, r0, #0x2 add r5, r5, r0 sub r4, r4, #0x1 bne _02058D8A mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02058DBC FUN_02058DBC: ; 0x02058DBC push {r4-r6, lr} add r4, r1, #0x0 ldr r1, [r4, #0x0] add r6, r2, #0x0 asr r2, r1, #0x4 asr r1, r2, #0xb lsr r1, r1, #0x14 add r1, r2, r1 asr r1, r1, #0xc add r5, r0, #0x0 bl FUN_02058B30 ldr r1, [r4, #0x4] add r0, r5, #0x0 asr r2, r1, #0x3 asr r1, r2, #0xb lsr r1, r1, #0x14 add r1, r2, r1 asr r1, r1, #0xc bl FUN_02058B40 ldr r1, [r4, #0x8] add r0, r5, #0x0 asr r2, r1, #0x4 asr r1, r2, #0xb lsr r1, r1, #0x14 add r1, r2, r1 asr r1, r1, #0xc bl FUN_02058B50 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02058B6C add r0, r5, #0x0 bl FUN_02059C60 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020584A4 add r0, r5, #0x0 bl FUN_0205AE80 add r0, r5, #0x0 mov r1, #0x4 bl FUN_02058410 add r0, r5, #0x0 mov r1, #0xa bl FUN_02058418 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02058E28 FUN_02058E28: ; 0x02058E28 push {r3-r6, lr} sub sp, #0xc add r4, r2, #0x0 mov r2, #0x2 add r6, r3, #0x0 lsl r3, r1, #0x10 lsl r2, r2, #0xe add r2, r3, r2 add r5, r0, #0x0 str r2, [sp, #0x0] bl FUN_02058B30 lsl r0, r4, #0xf str r0, [sp, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02058B40 mov r0, #0x2 lsl r1, r6, #0x10 lsl r0, r0, #0xe add r0, r1, r0 str r0, [sp, #0x8] add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02058B50 add r0, r5, #0x0 add r1, sp, #0x0 bl FUN_02058B6C add r0, r5, #0x0 bl FUN_02059C60 ldr r1, [sp, #0x20] add r0, r5, #0x0 bl FUN_020584A4 add r0, r5, #0x0 mov r1, #0x4 bl FUN_02058410 add r0, r5, #0x0 mov r1, #0xa bl FUN_02058418 add r0, r5, #0x0 bl FUN_0205AE80 add sp, #0xc pop {r3-r6, pc} .balign 4 thumb_func_start FUN_02058E90 FUN_02058E90: ; 0x02058E90 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02058660 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205847C add r0, r5, #0x0 bl FUN_02057EE0 add r0, r5, #0x0 bl FUN_02058EE8 pop {r3-r5, pc} thumb_func_start FUN_02058EB0 FUN_02058EB0: ; 0x02058EB0 push {r4, lr} add r4, r0, #0x0 bl FUN_02058444 add r0, r4, #0x0 bl FUN_02058860 add r0, r4, #0x0 bl FUN_0205815C pop {r4, pc} .balign 4 thumb_func_start FUN_02058EC8 FUN_02058EC8: ; 0x02058EC8 bx lr .balign 4 thumb_func_start FUN_02058ECC FUN_02058ECC: ; 0x02058ECC bx lr .balign 4 thumb_func_start FUN_02058ED0 FUN_02058ED0: ; 0x02058ED0 bx lr .balign 4 thumb_func_start FUN_02058ED4 FUN_02058ED4: ; 0x02058ED4 bx lr .balign 4 thumb_func_start FUN_02058ED8 FUN_02058ED8: ; 0x02058ED8 bx lr .balign 4 thumb_func_start FUN_02058EDC FUN_02058EDC: ; 0x02058EDC bx lr .balign 4 thumb_func_start FUN_02058EE0 FUN_02058EE0: ; 0x02058EE0 bx lr .balign 4 thumb_func_start FUN_02058EE4 FUN_02058EE4: ; 0x02058EE4 bx lr .balign 4 thumb_func_start FUN_02058EE8 FUN_02058EE8: ; 0x02058EE8 push {r4, lr} add r4, r0, #0x0 bl FUN_02058638 add r0, r4, #0x0 bl FUN_0205BEF8 pop {r4, pc} thumb_func_start FUN_02058EF8 FUN_02058EF8: ; 0x02058EF8 push {r4, lr} mov r1, #0x2 add r4, r0, #0x0 bl FUN_020587F4 cmp r0, #0x0 bne _02058F5C add r0, r4, #0x0 bl FUN_02058F94 add r0, r4, #0x0 bl FUN_02058FAC add r0, r4, #0x0 bl FUN_02058FD0 add r0, r4, #0x0 mov r1, #0x10 bl FUN_02058424 cmp r0, #0x0 beq _02058F2C add r0, r4, #0x0 bl FUN_0205B058 b _02058F50 _02058F2C: add r0, r4, #0x0 bl FUN_02058920 cmp r0, #0x0 bne _02058F50 add r0, r4, #0x0 bl FUN_02058F60 cmp r0, #0x1 bne _02058F50 add r0, r4, #0x0 bl FUN_0205BF00 cmp r0, #0x0 bne _02058F50 add r0, r4, #0x0 bl FUN_0205864C _02058F50: add r0, r4, #0x0 bl FUN_02058FF4 add r0, r4, #0x0 bl FUN_0205902C _02058F5C: pop {r4, pc} .balign 4 thumb_func_start FUN_02058F60 FUN_02058F60: ; 0x02058F60 push {r4, lr} add r4, r0, #0x0 bl FUN_02058854 cmp r0, #0x1 bne _02058F70 mov r0, #0x1 pop {r4, pc} _02058F70: mov r1, #0x6 add r0, r4, #0x0 lsl r1, r1, #0xa bl FUN_02058424 cmp r0, #0x0 bne _02058F82 mov r0, #0x1 pop {r4, pc} _02058F82: add r0, r4, #0x0 bl FUN_02058480 cmp r0, #0x32 bne _02058F90 mov r0, #0x1 pop {r4, pc} _02058F90: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_02058F94 FUN_02058F94: ; 0x02058F94 push {r4, lr} mov r1, #0x1 lsl r1, r1, #0xc add r4, r0, #0x0 bl FUN_02058424 cmp r0, #0x0 beq _02058FAA add r0, r4, #0x0 bl FUN_02059D1C _02058FAA: pop {r4, pc} thumb_func_start FUN_02058FAC FUN_02058FAC: ; 0x02058FAC push {r4, lr} mov r1, #0x2 lsl r1, r1, #0xa add r4, r0, #0x0 bl FUN_02058424 cmp r0, #0x0 beq _02058FCC add r0, r4, #0x0 bl FUN_02059DB4 cmp r0, #0x1 bne _02058FCC add r0, r4, #0x0 bl FUN_02058860 _02058FCC: pop {r4, pc} .balign 4 thumb_func_start FUN_02058FD0 FUN_02058FD0: ; 0x02058FD0 push {r4, lr} mov r1, #0x4 add r4, r0, #0x0 bl FUN_02058424 cmp r0, #0x0 beq _02058FE4 add r0, r4, #0x0 bl FUN_02059064 _02058FE4: ldr r1, _02058FF0 ; =0x00010004 add r0, r4, #0x0 bl FUN_02058418 pop {r4, pc} nop _02058FF0: .word 0x00010004 thumb_func_start FUN_02058FF4 FUN_02058FF4: ; 0x02058FF4 push {r4, lr} mov r1, #0x1 lsl r1, r1, #0x10 add r4, r0, #0x0 bl FUN_02058424 cmp r0, #0x0 beq _0205900C add r0, r4, #0x0 bl FUN_020591A8 b _0205901E _0205900C: add r0, r4, #0x0 mov r1, #0x4 bl FUN_02058424 cmp r0, #0x0 beq _0205901E add r0, r4, #0x0 bl FUN_020590F4 _0205901E: ldr r1, _02059028 ; =0x00010004 add r0, r4, #0x0 bl FUN_02058418 pop {r4, pc} .balign 4 _02059028: .word 0x00010004 thumb_func_start FUN_0205902C FUN_0205902C: ; 0x0205902C push {r4, lr} mov r1, #0x2 lsl r1, r1, #0x10 add r4, r0, #0x0 bl FUN_02058424 cmp r0, #0x0 beq _02059044 add r0, r4, #0x0 bl FUN_0205928C b _02059056 _02059044: add r0, r4, #0x0 mov r1, #0x8 bl FUN_02058424 cmp r0, #0x0 beq _02059056 add r0, r4, #0x0 bl FUN_02059214 _02059056: ldr r1, _02059060 ; =0x00020008 add r0, r4, #0x0 bl FUN_02058418 pop {r4, pc} .balign 4 _02059060: .word 0x00020008 thumb_func_start FUN_02059064 FUN_02059064: ; 0x02059064 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02059DB4 add r0, r5, #0x0 bl FUN_02058934 cmp r0, #0x1 bne _020590F2 add r0, r5, #0x0 bl FUN_02058720 lsl r0, r0, #0x18 lsr r6, r0, #0x18 add r0, r5, #0x0 bl FUN_02058730 lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r5, #0x0 bl FUN_021F1DC8 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059838 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_0205941C add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_020594C0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059500 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_0205931C add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059678 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_020596A8 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_020597A8 _020590F2: pop {r3-r7, pc} thumb_func_start FUN_020590F4 FUN_020590F4: ; 0x020590F4 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02059DB4 add r0, r5, #0x0 bl FUN_02058934 cmp r0, #0x1 bne _020591A6 add r0, r5, #0x0 bl FUN_02058720 lsl r0, r0, #0x18 lsr r6, r0, #0x18 add r0, r5, #0x0 bl FUN_02058730 lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r5, #0x0 bl FUN_021F1DC8 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059838 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059434 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_0205944C add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_020594C0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059508 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059690 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_020596C0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_020596D8 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059740 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_020597A8 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059870 _020591A6: pop {r3-r7, pc} thumb_func_start FUN_020591A8 FUN_020591A8: ; 0x020591A8 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02059DB4 add r0, r5, #0x0 bl FUN_02058934 cmp r0, #0x1 bne _02059212 add r0, r5, #0x0 bl FUN_02058720 lsl r0, r0, #0x18 lsr r6, r0, #0x18 add r0, r5, #0x0 bl FUN_02058730 lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r5, #0x0 bl FUN_021F1DC8 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059838 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059508 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_020597A8 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_020594F4 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059870 _02059212: pop {r3-r7, pc} thumb_func_start FUN_02059214 FUN_02059214: ; 0x02059214 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02059DB4 add r0, r5, #0x0 bl FUN_02058934 cmp r0, #0x1 bne _0205928A add r0, r5, #0x0 bl FUN_02058720 lsl r0, r0, #0x18 lsr r6, r0, #0x18 add r0, r5, #0x0 bl FUN_02058730 lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r5, #0x0 bl FUN_021F1DC8 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_0205931C add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_0205970C add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059774 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_020594C0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059804 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_020595A4 _0205928A: pop {r3-r7, pc} thumb_func_start FUN_0205928C FUN_0205928C: ; 0x0205928C push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02059DB4 add r0, r5, #0x0 bl FUN_02058934 cmp r0, #0x1 bne _0205931A add r0, r5, #0x0 bl FUN_02058720 lsl r0, r0, #0x18 lsr r6, r0, #0x18 add r0, r5, #0x0 bl FUN_02058730 lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r5, #0x0 bl FUN_021F1DC8 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_0205931C add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_0205970C add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059774 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_020594C0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059804 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_020595A4 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_02059434 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_0205962C _0205931A: pop {r3-r7, pc} thumb_func_start FUN_0205931C FUN_0205931C: ; 0x0205931C push {r3-r5, lr} sub sp, #0x48 add r4, r0, #0x0 add r5, r1, #0x0 bl FUN_02058A34 cmp r0, #0x0 bne _020593F4 add r0, r5, #0x0 bl FUN_02054984 cmp r0, #0x1 beq _02059340 add r0, r5, #0x0 bl FUN_020549A0 cmp r0, #0x1 bne _0205935A _02059340: ldr r5, _02059408 ; =0x020F65FC add r3, sp, #0x3c ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldr r0, [r5, #0x0] add r1, r2, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 bl FUN_02058BD4 add sp, #0x48 pop {r3-r5, pc} _0205935A: add r0, r5, #0x0 bl FUN_02054974 cmp r0, #0x1 beq _0205936E add r0, r5, #0x0 bl FUN_02054990 cmp r0, #0x1 bne _02059388 _0205936E: ldr r5, _0205940C ; =0x020F6608 add r3, sp, #0x30 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldr r0, [r5, #0x0] add r1, r2, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 bl FUN_02058BD4 add sp, #0x48 pop {r3-r5, pc} _02059388: add r0, r5, #0x0 bl FUN_020549F0 cmp r0, #0x1 bne _020593AC ldr r5, _02059410 ; =0x020F65E4 add r3, sp, #0x24 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldr r0, [r5, #0x0] add r1, r2, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 bl FUN_02058BD4 add sp, #0x48 pop {r3-r5, pc} _020593AC: add r0, r5, #0x0 bl FUN_020549E4 cmp r0, #0x1 bne _020593D0 ldr r5, _02059414 ; =0x020F65F0 add r3, sp, #0x18 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldr r0, [r5, #0x0] add r1, r2, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 bl FUN_02058BD4 add sp, #0x48 pop {r3-r5, pc} _020593D0: add r0, r5, #0x0 bl FUN_020549D8 cmp r0, #0x1 bne _020593F4 ldr r5, _02059418 ; =0x020F6614 add r3, sp, #0xc ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldr r0, [r5, #0x0] add r1, r2, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 bl FUN_02058BD4 add sp, #0x48 pop {r3-r5, pc} _020593F4: add r1, sp, #0x0 mov r0, #0x0 str r0, [r1, #0x0] str r0, [r1, #0x4] str r0, [r1, #0x8] add r0, r4, #0x0 bl FUN_02058BD4 add sp, #0x48 pop {r3-r5, pc} .balign 4 _02059408: .word 0x020F65FC _0205940C: .word 0x020F6608 _02059410: .word 0x020F65E4 _02059414: .word 0x020F65F0 _02059418: .word 0x020F6614 thumb_func_start FUN_0205941C FUN_0205941C: ; 0x0205941C push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 bl FUN_0205478C cmp r0, #0x1 bne _02059432 add r0, r4, #0x0 mov r1, #0x0 bl FUN_0224B568 _02059432: pop {r4, pc} thumb_func_start FUN_02059434 FUN_02059434: ; 0x02059434 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 bl FUN_0205478C cmp r0, #0x1 bne _0205944A add r0, r4, #0x0 mov r1, #0x1 bl FUN_0224B568 _0205944A: pop {r4, pc} thumb_func_start FUN_0205944C FUN_0205944C: ; 0x0205944C push {r4-r6, lr} add r6, r3, #0x0 ldr r1, [r6, #0x4] add r5, r0, #0x0 lsl r1, r1, #0x16 add r4, r2, #0x0 lsr r1, r1, #0x1c beq _020594BC add r1, r4, #0x0 bl FUN_02059AF8 cmp r0, #0x1 bne _02059484 ldr r0, [r6, #0x4] lsl r0, r0, #0x16 lsr r0, r0, #0x1c cmp r0, #0x1 bne _02059478 add r0, r5, #0x0 bl FUN_02249E6C pop {r4-r6, pc} _02059478: cmp r0, #0x2 bne _020594BC add r0, r5, #0x0 bl FUN_02249E78 pop {r4-r6, pc} _02059484: add r0, r4, #0x0 bl FUN_020549E4 cmp r0, #0x1 beq _020594A2 add r0, r4, #0x0 bl FUN_020549F0 cmp r0, #0x1 beq _020594A2 add r0, r4, #0x0 bl FUN_020549D8 cmp r0, #0x0 beq _020594AA _020594A2: add r0, r5, #0x0 bl FUN_02249E90 pop {r4-r6, pc} _020594AA: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02059B60 cmp r0, #0x1 bne _020594BC add r0, r5, #0x0 bl FUN_02249E84 _020594BC: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020594C0 FUN_020594C0: ; 0x020594C0 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 bl FUN_0205483C cmp r0, #0x1 bne _020594EA add r0, r4, #0x0 bl FUN_02058A00 cmp r0, #0x0 bne _020594F2 add r0, r4, #0x0 mov r1, #0x1 bl FUN_0224B9E0 add r0, r4, #0x0 mov r1, #0x1 bl FUN_020589E4 pop {r4, pc} _020594EA: add r0, r4, #0x0 mov r1, #0x0 bl FUN_020589E4 _020594F2: pop {r4, pc} thumb_func_start FUN_020594F4 FUN_020594F4: ; 0x020594F4 ldr r3, _020594FC ; =FUN_020589E4 mov r1, #0x0 bx r3 nop _020594FC: .word FUN_020589E4 thumb_func_start FUN_02059500 FUN_02059500: ; 0x02059500 push {r3, lr} bl FUN_02059508 pop {r3, pc} thumb_func_start FUN_02059508 FUN_02059508: ; 0x02059508 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r3, #0x0 bl FUN_02058578 bl FUN_0205881C cmp r0, #0x0 beq _020595A2 ldr r0, [r6, #0x4] lsl r0, r0, #0x1a lsr r0, r0, #0x1e beq _020595A2 add r0, r4, #0x0 bl FUN_0205478C cmp r0, #0x1 beq _02059578 add r0, r4, #0x0 bl FUN_02054798 cmp r0, #0x1 beq _02059578 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02059AC4 cmp r0, #0x1 beq _02059578 add r0, r4, #0x0 bl FUN_02054AF0 cmp r0, #0x1 beq _02059578 add r0, r4, #0x0 bl FUN_0205483C cmp r0, #0x1 beq _02059578 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02059B2C cmp r0, #0x1 beq _02059578 add r0, r4, #0x0 bl FUN_02054974 cmp r0, #0x1 beq _02059578 add r0, r4, #0x0 bl FUN_02054990 cmp r0, #0x1 bne _02059584 _02059578: mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0x14 bl FUN_02058410 pop {r4-r6, pc} _02059584: mov r1, #0x2 add r0, r5, #0x0 lsl r1, r1, #0xe bl FUN_02058424 cmp r0, #0x0 bne _020595A2 add r0, r5, #0x0 bl FUN_02249508 mov r1, #0x2 add r0, r5, #0x0 lsl r1, r1, #0xe bl FUN_02058410 _020595A2: pop {r4-r6, pc} thumb_func_start FUN_020595A4 FUN_020595A4: ; 0x020595A4 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r3, #0x0 bl FUN_02058578 bl FUN_0205881C cmp r0, #0x0 beq _0205962A ldr r0, [r6, #0x4] lsl r0, r0, #0x1a lsr r0, r0, #0x1e beq _0205962A add r0, r4, #0x0 bl FUN_0205478C cmp r0, #0x1 beq _02059614 add r0, r4, #0x0 bl FUN_02054798 cmp r0, #0x1 beq _02059614 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02059AC4 cmp r0, #0x1 beq _02059614 add r0, r4, #0x0 bl FUN_02054AF0 cmp r0, #0x1 beq _02059614 add r0, r4, #0x0 bl FUN_0205483C cmp r0, #0x1 beq _02059614 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02059B2C cmp r0, #0x1 beq _02059614 add r0, r4, #0x0 bl FUN_02054974 cmp r0, #0x1 beq _02059614 add r0, r4, #0x0 bl FUN_02054990 cmp r0, #0x1 bne _02059620 _02059614: mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0x14 bl FUN_02058410 pop {r4-r6, pc} _02059620: mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0x14 bl FUN_02058418 _0205962A: pop {r4-r6, pc} thumb_func_start FUN_0205962C FUN_0205962C: ; 0x0205962C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02059AC4 cmp r0, #0x1 beq _02059674 add r0, r4, #0x0 bl FUN_0205483C cmp r0, #0x1 beq _02059674 add r0, r4, #0x0 bl FUN_020548F0 cmp r0, #0x1 beq _02059674 add r0, r4, #0x0 bl FUN_02054974 cmp r0, #0x1 beq _02059674 add r0, r4, #0x0 bl FUN_02054990 cmp r0, #0x1 beq _02059674 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02059B2C cmp r0, #0x1 beq _02059674 add r0, r5, #0x0 bl FUN_0224BBEC _02059674: pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02059678 FUN_02059678: ; 0x02059678 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 bl FUN_02054798 cmp r0, #0x1 bne _0205968E add r0, r4, #0x0 mov r1, #0x0 bl FUN_0224BD90 _0205968E: pop {r4, pc} thumb_func_start FUN_02059690 FUN_02059690: ; 0x02059690 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 bl FUN_02054798 cmp r0, #0x1 bne _020596A6 add r0, r4, #0x0 mov r1, #0x1 bl FUN_0224BD90 _020596A6: pop {r4, pc} thumb_func_start FUN_020596A8 FUN_020596A8: ; 0x020596A8 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 bl FUN_02054990 cmp r0, #0x1 bne _020596BE add r0, r4, #0x0 mov r1, #0x0 bl FUN_0224C038 _020596BE: pop {r4, pc} thumb_func_start FUN_020596C0 FUN_020596C0: ; 0x020596C0 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 bl FUN_02054990 cmp r0, #0x1 bne _020596D6 add r0, r4, #0x0 mov r1, #0x1 bl FUN_0224C038 _020596D6: pop {r4, pc} thumb_func_start FUN_020596D8 FUN_020596D8: ; 0x020596D8 push {r4-r6, lr} add r5, r0, #0x0 add r0, r2, #0x0 bl FUN_02054AF0 cmp r0, #0x1 bne _02059708 add r0, r5, #0x0 bl FUN_02058B14 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B1C add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B24 add r3, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_0224B124 _02059708: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0205970C FUN_0205970C: ; 0x0205970C push {r4-r6, lr} add r5, r0, #0x0 add r0, r1, #0x0 bl FUN_02054AF0 cmp r0, #0x1 bne _0205973C add r0, r5, #0x0 bl FUN_02058B2C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B3C add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B4C add r3, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_0224B124 _0205973C: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02059740 FUN_02059740: ; 0x02059740 push {r4-r6, lr} add r5, r0, #0x0 add r0, r2, #0x0 bl FUN_02054974 cmp r0, #0x1 bne _02059770 add r0, r5, #0x0 bl FUN_02058B14 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B1C add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B24 add r3, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_0224B2C4 _02059770: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02059774 FUN_02059774: ; 0x02059774 push {r4-r6, lr} add r5, r0, #0x0 add r0, r1, #0x0 bl FUN_02054974 cmp r0, #0x1 bne _020597A4 add r0, r5, #0x0 bl FUN_02058B2C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B3C add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B4C add r3, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_0224B2C4 _020597A4: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020597A8 FUN_020597A8: ; 0x020597A8 push {r4-r6, lr} add r6, r1, #0x0 ldr r1, [r3, #0x4] add r5, r0, #0x0 lsl r1, r1, #0x14 lsr r1, r1, #0x1e beq _02059802 mov r1, #0x1 bl FUN_02059C90 lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r5, #0x0 bl FUN_02058A9C cmp r0, #0x0 bne _02059802 add r0, r4, #0x0 bl FUN_02054B20 cmp r0, #0x1 beq _020597DE add r0, r6, #0x0 bl FUN_02054B20 cmp r0, #0x1 bne _02059802 _020597DE: add r0, r5, #0x0 mov r1, #0x1 bl FUN_02058A80 add r0, r4, #0x0 bl FUN_02054AF0 cmp r0, #0x1 bne _020597FA add r0, r5, #0x0 mov r1, #0x0 bl FUN_022497E8 pop {r4-r6, pc} _020597FA: add r0, r5, #0x0 mov r1, #0x1 bl FUN_022497E8 _02059802: pop {r4-r6, pc} thumb_func_start FUN_02059804 FUN_02059804: ; 0x02059804 push {r4, lr} ldr r1, [r3, #0x4] add r4, r0, #0x0 lsl r1, r1, #0x14 lsr r1, r1, #0x1e beq _02059834 bl FUN_02058A9C cmp r0, #0x0 beq _02059834 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02059C90 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_02054B20 cmp r0, #0x0 bne _02059834 add r0, r4, #0x0 mov r1, #0x0 bl FUN_02058A80 _02059834: pop {r4, pc} .balign 4 thumb_func_start FUN_02059838 FUN_02059838: ; 0x02059838 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02054B6C cmp r0, #0x1 bne _02059852 add r0, r5, #0x0 mov r1, #0x1 bl FUN_02058A4C pop {r3-r5, pc} _02059852: add r0, r5, #0x0 bl FUN_02058A68 cmp r0, #0x1 bne _0205986E add r0, r4, #0x0 bl FUN_02054B78 cmp r0, #0x0 bne _0205986E add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058A4C _0205986E: pop {r3-r5, pc} thumb_func_start FUN_02059870 FUN_02059870: ; 0x02059870 bx lr .balign 4 thumb_func_start FUN_02059874 FUN_02059874: ; 0x02059874 push {r3-r7, lr} sub sp, #0x10 ldr r7, [sp, #0x28] add r5, r2, #0x0 str r1, [sp, #0x4] str r3, [sp, #0x8] add r2, r3, #0x0 add r1, r5, #0x0 add r3, r7, #0x0 add r6, r0, #0x0 mov r4, #0x0 bl FUN_02059A08 cmp r0, #0x1 bne _02059896 mov r0, #0x1 orr r4, r0 _02059896: add r0, r6, #0x0 bl FUN_02058738 add r1, sp, #0xc str r1, [sp, #0x0] ldr r1, [sp, #0x4] add r2, r5, #0x0 add r3, r7, #0x0 bl FUN_0204A770 cmp r0, #0x1 bne _020598C0 mov r0, #0x2 orr r4, r0 add r1, sp, #0xc mov r0, #0x0 ldrsb r0, [r1, r0] cmp r0, #0x0 beq _020598C0 mov r0, #0x8 orr r4, r0 _020598C0: ldr r3, [sp, #0x2c] add r0, r6, #0x0 add r1, r5, #0x0 add r2, r7, #0x0 bl FUN_02059A60 cmp r0, #0x1 bne _020598D4 mov r0, #0x2 orr r4, r0 _020598D4: ldr r2, [sp, #0x8] add r0, r6, #0x0 add r1, r5, #0x0 add r3, r7, #0x0 bl FUN_0205995C cmp r0, #0x1 bne _020598E8 mov r0, #0x4 orr r4, r0 _020598E8: add r0, r4, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020598F0 FUN_020598F0: ; 0x020598F0 push {r4-r7, lr} sub sp, #0x14 add r6, r1, #0x0 add r1, sp, #0x8 add r5, r0, #0x0 add r7, r2, #0x0 add r4, r3, #0x0 bl FUN_02058B5C ldr r0, [sp, #0x28] str r4, [sp, #0x0] str r0, [sp, #0x4] add r0, r5, #0x0 add r1, sp, #0x8 add r2, r6, #0x0 add r3, r7, #0x0 bl FUN_02059874 add sp, #0x14 pop {r4-r7, pc} thumb_func_start FUN_02059918 FUN_02059918: ; 0x02059918 push {r4-r7, lr} sub sp, #0xc add r4, r1, #0x0 add r5, r0, #0x0 bl FUN_02058B2C add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_02059BF4 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B3C str r0, [sp, #0x4] add r0, r5, #0x0 bl FUN_02058B4C str r0, [sp, #0x8] add r0, r4, #0x0 bl FUN_02059C00 str r4, [sp, #0x0] add r3, r0, #0x0 ldr r4, [sp, #0x8] ldr r2, [sp, #0x4] add r0, r5, #0x0 add r1, r6, r7 add r3, r4, r3 bl FUN_020598F0 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0205995C FUN_0205995C: ; 0x0205995C push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] add r5, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 bl FUN_02058578 add r7, r0, #0x0 bl FUN_020583BC str r0, [sp, #0x8] add r0, r7, #0x0 bl FUN_02058368 str r0, [sp, #0x4] _0205997C: ldr r0, [sp, #0x8] ldr r1, [sp, #0x0] cmp r0, r1 beq _020599F4 mov r1, #0x1 bl FUN_02058424 cmp r0, #0x0 beq _020599F4 mov r1, #0x1 ldr r0, [sp, #0x8] lsl r1, r1, #0x12 bl FUN_02058424 cmp r0, #0x0 bne _020599F4 ldr r0, [sp, #0x8] bl FUN_02058B2C add r7, r0, #0x0 ldr r0, [sp, #0x8] bl FUN_02058B4C cmp r7, r5 bne _020599C8 cmp r0, r6 bne _020599C8 ldr r0, [sp, #0x8] bl FUN_02058B3C sub r0, r0, r4 bpl _020599BE neg r0, r0 _020599BE: cmp r0, #0x2 bge _020599C8 add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} _020599C8: ldr r0, [sp, #0x8] bl FUN_02058B14 add r7, r0, #0x0 ldr r0, [sp, #0x8] bl FUN_02058B24 cmp r7, r5 bne _020599F4 cmp r0, r6 bne _020599F4 ldr r0, [sp, #0x8] bl FUN_02058B3C sub r0, r0, r4 bpl _020599EA neg r0, r0 _020599EA: cmp r0, #0x2 bge _020599F4 add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} _020599F4: add r0, sp, #0x8 bl FUN_020583D4 ldr r0, [sp, #0x4] sub r0, r0, #0x1 str r0, [sp, #0x4] bne _0205997C mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_02059A08 FUN_02059A08: ; 0x02059A08 push {r3-r7, lr} add r6, r0, #0x0 add r5, r1, #0x0 add r4, r3, #0x0 bl FUN_02058AFC add r7, r0, #0x0 add r0, r6, #0x0 bl FUN_02058538 mov r1, #0x0 mvn r1, r1 cmp r0, r1 beq _02059A34 add r1, r7, r0 sub r0, r7, r0 cmp r0, r5 bgt _02059A30 cmp r1, r5 bge _02059A34 _02059A30: mov r0, #0x1 pop {r3-r7, pc} _02059A34: add r0, r6, #0x0 bl FUN_02058B0C add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_02058540 mov r1, #0x0 mvn r1, r1 cmp r0, r1 beq _02059A5A add r1, r5, r0 sub r0, r5, r0 cmp r0, r4 bgt _02059A56 cmp r1, r4 bge _02059A5A _02059A56: mov r0, #0x1 pop {r3-r7, pc} _02059A5A: mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02059A60 FUN_02059A60: ; 0x02059A60 push {r3-r7, lr} add r4, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 add r5, r3, #0x0 bl FUN_02058738 str r0, [sp, #0x0] add r0, r4, #0x0 bl FUN_02058720 lsl r0, r0, #0x18 lsr r4, r0, #0x18 ldr r0, [sp, #0x0] add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_0204A6E0 add r6, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r5, r0 bne _02059A92 bl ErrorHandling _02059A92: cmp r5, #0x4 blt _02059A9A bl ErrorHandling _02059A9A: ldr r1, _02059ABC ; =0x020F6630 lsl r5, r5, #0x2 ldr r1, [r1, r5] add r0, r4, #0x0 blx r1 cmp r0, #0x1 beq _02059AB4 ldr r1, _02059AC0 ; =0x020F6640 add r0, r6, #0x0 ldr r1, [r1, r5] blx r1 cmp r0, #0x1 bne _02059AB8 _02059AB4: mov r0, #0x1 pop {r3-r7, pc} _02059AB8: mov r0, #0x0 pop {r3-r7, pc} .balign 4 _02059ABC: .word 0x020F6630 _02059AC0: .word 0x020F6640 thumb_func_start FUN_02059AC4 FUN_02059AC4: ; 0x02059AC4 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 bl FUN_02054B8C cmp r0, #0x0 beq _02059AE4 add r0, r5, #0x0 bl FUN_02058A68 cmp r0, #0x0 bne _02059AF4 mov r0, #0x1 pop {r3-r5, pc} _02059AE4: lsl r0, r4, #0x18 lsr r0, r0, #0x18 bl FUN_0205481C cmp r0, #0x0 beq _02059AF4 mov r0, #0x1 pop {r3-r5, pc} _02059AF4: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02059AF8 FUN_02059AF8: ; 0x02059AF8 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 bl FUN_02054BB0 cmp r0, #0x0 beq _02059B18 add r0, r5, #0x0 bl FUN_02058A68 cmp r0, #0x0 bne _02059B28 mov r0, #0x1 pop {r3-r5, pc} _02059B18: lsl r0, r4, #0x18 lsr r0, r0, #0x18 bl FUN_02054830 cmp r0, #0x0 beq _02059B28 mov r0, #0x1 pop {r3-r5, pc} _02059B28: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02059B2C FUN_02059B2C: ; 0x02059B2C push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 bl FUN_02054BD4 cmp r0, #0x0 beq _02059B4C add r0, r5, #0x0 bl FUN_02058A68 cmp r0, #0x0 bne _02059B5C mov r0, #0x1 pop {r3-r5, pc} _02059B4C: lsl r0, r4, #0x18 lsr r0, r0, #0x18 bl FUN_020549AC cmp r0, #0x0 beq _02059B5C mov r0, #0x1 pop {r3-r5, pc} _02059B5C: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02059B60 FUN_02059B60: ; 0x02059B60 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 bl FUN_02054BD4 cmp r0, #0x0 beq _02059B80 add r0, r5, #0x0 bl FUN_02058A68 cmp r0, #0x0 bne _02059B90 mov r0, #0x1 pop {r3-r5, pc} _02059B80: lsl r0, r4, #0x18 lsr r0, r0, #0x18 bl FUN_020549CC cmp r0, #0x0 beq _02059B90 mov r0, #0x1 pop {r3-r5, pc} _02059B90: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02059B94 FUN_02059B94: ; 0x02059B94 push {r4, lr} add r4, r1, #0x0 bl FUN_02058A68 cmp r0, #0x1 bne _02059BB0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 bl FUN_02054B78 cmp r0, #0x1 bne _02059BB0 mov r0, #0x1 pop {r4, pc} _02059BB0: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_02059BB4 FUN_02059BB4: ; 0x02059BB4 push {r4, lr} add r4, r1, #0x0 bl FUN_02058A68 cmp r0, #0x1 bne _02059BD0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 bl FUN_02054BE0 cmp r0, #0x1 bne _02059BD0 mov r0, #0x1 pop {r4, pc} _02059BD0: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_02059BD4 FUN_02059BD4: ; 0x02059BD4 push {r4, lr} add r4, r1, #0x0 bl FUN_02058A68 cmp r0, #0x1 bne _02059BF0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 bl FUN_02054BF4 cmp r0, #0x1 bne _02059BF0 mov r0, #0x1 pop {r4, pc} _02059BF0: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_02059BF4 FUN_02059BF4: ; 0x02059BF4 lsl r1, r0, #0x2 ldr r0, _02059BFC ; =0x020F6620 ldr r0, [r0, r1] bx lr .balign 4 _02059BFC: .word 0x020F6620 thumb_func_start FUN_02059C00 FUN_02059C00: ; 0x02059C00 lsl r1, r0, #0x2 ldr r0, _02059C08 ; =0x020F6650 ldr r0, [r0, r1] bx lr .balign 4 _02059C08: .word 0x020F6650 thumb_func_start FUN_02059C0C FUN_02059C0C: ; 0x02059C0C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02058B2C add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B18 add r0, r5, #0x0 bl FUN_02058B3C add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B20 add r0, r5, #0x0 bl FUN_02058B4C add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B28 add r0, r4, #0x0 bl FUN_02059BF4 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B34 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058B44 add r0, r4, #0x0 bl FUN_02059C00 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B54 pop {r3-r5, pc} thumb_func_start FUN_02059C60 FUN_02059C60: ; 0x02059C60 push {r4, lr} add r4, r0, #0x0 bl FUN_02058B2C add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02058B18 add r0, r4, #0x0 bl FUN_02058B3C add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02058B20 add r0, r4, #0x0 bl FUN_02058B4C add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02058B28 pop {r4, pc} .balign 4 thumb_func_start FUN_02059C90 FUN_02059C90: ; 0x02059C90 push {r3-r7, lr} add r5, r1, #0x0 add r4, r0, #0x0 bl FUN_02058B2C add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02059BF4 add r7, r0, #0x0 add r0, r4, #0x0 bl FUN_02058B4C str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_02059C00 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02058738 ldr r2, [sp, #0x0] add r1, r6, r7 add r2, r2, r5 bl FUN_0204A6E0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02059CC8 FUN_02059CC8: ; 0x02059CC8 push {r3-r6, lr} sub sp, #0xc add r5, r1, #0x0 add r1, sp, #0x0 add r6, r0, #0x0 add r4, r2, #0x0 bl FUN_02058B5C cmp r5, #0x3 bhi _02059D0E add r0, r5, r5 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02059CE8: ; jump table (using 16-bit offset) .short _02059CF0 - _02059CE8 - 2; case 0 .short _02059CF8 - _02059CE8 - 2; case 1 .short _02059D00 - _02059CE8 - 2; case 2 .short _02059D08 - _02059CE8 - 2; case 3 _02059CF0: ldr r0, [sp, #0x8] sub r0, r0, r4 str r0, [sp, #0x8] b _02059D0E _02059CF8: ldr r0, [sp, #0x8] add r0, r0, r4 str r0, [sp, #0x8] b _02059D0E _02059D00: ldr r0, [sp, #0x0] sub r0, r0, r4 str r0, [sp, #0x0] b _02059D0E _02059D08: ldr r0, [sp, #0x0] add r0, r0, r4 str r0, [sp, #0x0] _02059D0E: add r0, r6, #0x0 add r1, sp, #0x0 bl FUN_02058B6C add sp, #0xc pop {r3-r6, pc} .balign 4 thumb_func_start FUN_02059D1C FUN_02059D1C: ; 0x02059D1C push {r3-r5, lr} sub sp, #0x18 add r1, sp, #0xc add r5, r0, #0x0 bl FUN_02058B5C add r3, sp, #0xc ldmia r3!, {r0-r1} add r2, sp, #0x0 stmia r2!, {r0-r1} ldr r0, [r3, #0x0] str r0, [r2, #0x0] add r0, r5, #0x0 bl FUN_0205897C cmp r0, #0x1 bne _02059D4E mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0xc bl FUN_02058418 add sp, #0x18 mov r0, #0x0 pop {r3-r5, pc} _02059D4E: add r0, r5, #0x0 bl FUN_02058AE4 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02058738 add r1, sp, #0x0 add r2, r4, #0x0 bl FUN_02059EC8 add r4, r0, #0x0 cmp r4, #0x1 bne _02059DA2 ldr r0, [sp, #0x4] add r1, sp, #0xc str r0, [sp, #0x10] add r0, r5, #0x0 bl FUN_02058B6C add r0, r5, #0x0 bl FUN_02058B3C add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B20 ldr r1, [sp, #0x10] add r0, r5, #0x0 asr r2, r1, #0x3 asr r1, r2, #0xb lsr r1, r1, #0x14 add r1, r2, r1 asr r1, r1, #0xc bl FUN_02058B40 mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0xc bl FUN_02058418 b _02059DAC _02059DA2: mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0xc bl FUN_02058410 _02059DAC: add r0, r4, #0x0 add sp, #0x18 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02059DB4 FUN_02059DB4: ; 0x02059DB4 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02058B14 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B24 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02058738 add r1, r4, #0x0 add r2, r6, #0x0 add r7, r0, #0x0 bl FUN_0204A6E0 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058728 add r0, r5, #0x0 bl FUN_02058B2C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B4C add r2, r0, #0x0 add r0, r7, #0x0 add r1, r4, #0x0 bl FUN_0204A6E0 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02058718 add r0, r4, #0x0 bl FUN_02054C08 cmp r0, #0x1 bne _02059E18 mov r1, #0x2 add r0, r5, #0x0 lsl r1, r1, #0xa bl FUN_02058410 mov r0, #0x0 pop {r3-r7, pc} _02059E18: mov r1, #0x2 add r0, r5, #0x0 lsl r1, r1, #0xa bl FUN_02058418 mov r0, #0x1 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02059E28 FUN_02059E28: ; 0x02059E28 cmp r0, #0x3 bhi _02059E5E add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02059E38: ; jump table (using 16-bit offset) .short _02059E40 - _02059E38 - 2; case 0 .short _02059E48 - _02059E38 - 2; case 1 .short _02059E50 - _02059E38 - 2; case 2 .short _02059E58 - _02059E38 - 2; case 3 _02059E40: ldr r0, [r1, #0x8] sub r0, r0, r2 str r0, [r1, #0x8] bx lr _02059E48: ldr r0, [r1, #0x8] add r0, r0, r2 str r0, [r1, #0x8] bx lr _02059E50: ldr r0, [r1, #0x0] sub r0, r0, r2 str r0, [r1, #0x0] bx lr _02059E58: ldr r0, [r1, #0x0] add r0, r0, r2 str r0, [r1, #0x0] _02059E5E: bx lr thumb_func_start FUN_02059E60 FUN_02059E60: ; 0x02059E60 lsl r3, r0, #0x10 mov r0, #0x2 lsl r0, r0, #0xe add r3, r3, r0 lsl r1, r1, #0x10 str r3, [r2, #0x0] add r0, r1, r0 str r0, [r2, #0x8] bx lr .balign 4 thumb_func_start FUN_02059E74 FUN_02059E74: ; 0x02059E74 lsl r1, r0, #0x2 ldr r0, _02059E7C ; =0x020F6660 ldr r0, [r0, r1] bx lr .balign 4 _02059E7C: .word 0x020F6660 thumb_func_start FUN_02059E80 FUN_02059E80: ; 0x02059E80 cmp r0, r2 ble _02059E88 mov r0, #0x2 bx lr _02059E88: cmp r0, r2 bge _02059E90 mov r0, #0x3 bx lr _02059E90: cmp r1, r3 bgt _02059E98 mov r0, #0x1 bx lr _02059E98: mov r0, #0x0 bx lr thumb_func_start FUN_02059E9C FUN_02059E9C: ; 0x02059E9C push {r4, lr} sub sp, #0x8 add r4, r1, #0x0 add r1, sp, #0x4 str r1, [sp, #0x0] ldr r1, [r4, #0x4] ldr r2, [r4, #0x0] ldr r3, [r4, #0x8] bl FUN_0204A708 add r1, sp, #0x4 ldrb r1, [r1, #0x0] cmp r1, #0x0 bne _02059EBE add sp, #0x8 mov r0, #0x0 pop {r4, pc} _02059EBE: str r0, [r4, #0x4] mov r0, #0x1 add sp, #0x8 pop {r4, pc} .balign 4 thumb_func_start FUN_02059EC8 FUN_02059EC8: ; 0x02059EC8 push {r3-r5, lr} sub sp, #0x8 add r5, r1, #0x0 add r1, sp, #0x4 str r1, [sp, #0x0] add r4, r2, #0x0 ldr r1, [r5, #0x4] ldr r2, [r5, #0x0] ldr r3, [r5, #0x8] bl FUN_0204A708 add r1, sp, #0x4 ldrb r1, [r1, #0x0] cmp r1, #0x0 bne _02059EEC add sp, #0x8 mov r0, #0x0 pop {r3-r5, pc} _02059EEC: cmp r1, #0x2 bne _02059EFA cmp r4, #0x0 bne _02059EFA add sp, #0x8 mov r0, #0x0 pop {r3-r5, pc} _02059EFA: str r0, [r5, #0x4] mov r0, #0x1 add sp, #0x8 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02059F04 FUN_02059F04: ; 0x02059F04 push {r4-r6, lr} add r6, r1, #0x0 mov r1, #0x8 add r5, r0, #0x0 bl FUN_0205858C add r4, r0, #0x0 mov r1, #0x0 ldr r0, _02059F30 ; =0x020F693C mvn r1, r1 bl FUN_0205AAB0 strh r0, [r4, #0x2] add r0, r5, #0x0 mov r1, #0x0 str r6, [r4, #0x4] bl FUN_02058544 add r0, r5, #0x0 bl FUN_02058848 pop {r4-r6, pc} .balign 4 _02059F30: .word 0x020F693C thumb_func_start FUN_02059F34 FUN_02059F34: ; 0x02059F34 ldr r3, _02059F3C ; =FUN_02059F04 mov r1, #0x0 bx r3 nop _02059F3C: .word FUN_02059F04 thumb_func_start FUN_02059F40 FUN_02059F40: ; 0x02059F40 ldr r3, _02059F48 ; =FUN_02059F04 mov r1, #0x1 bx r3 nop _02059F48: .word FUN_02059F04 thumb_func_start FUN_02059F4C FUN_02059F4C: ; 0x02059F4C ldr r3, _02059F54 ; =FUN_02059F04 mov r1, #0x2 bx r3 nop _02059F54: .word FUN_02059F04 thumb_func_start FUN_02059F58 FUN_02059F58: ; 0x02059F58 ldr r3, _02059F60 ; =FUN_02059F04 mov r1, #0x3 bx r3 nop _02059F60: .word FUN_02059F04 thumb_func_start FUN_02059F64 FUN_02059F64: ; 0x02059F64 ldr r3, _02059F6C ; =FUN_02059F04 mov r1, #0x4 bx r3 nop _02059F6C: .word FUN_02059F04 thumb_func_start FUN_02059F70 FUN_02059F70: ; 0x02059F70 ldr r3, _02059F78 ; =FUN_02059F04 mov r1, #0x5 bx r3 nop _02059F78: .word FUN_02059F04 thumb_func_start FUN_02059F7C FUN_02059F7C: ; 0x02059F7C ldr r3, _02059F84 ; =FUN_02059F04 mov r1, #0x6 bx r3 nop _02059F84: .word FUN_02059F04 thumb_func_start FUN_02059F88 FUN_02059F88: ; 0x02059F88 ldr r3, _02059F90 ; =FUN_02059F04 mov r1, #0x7 bx r3 nop _02059F90: .word FUN_02059F04 thumb_func_start FUN_02059F94 FUN_02059F94: ; 0x02059F94 ldr r3, _02059F9C ; =FUN_02059F04 mov r1, #0x8 bx r3 nop _02059F9C: .word FUN_02059F04 thumb_func_start FUN_02059FA0 FUN_02059FA0: ; 0x02059FA0 ldr r3, _02059FA8 ; =FUN_02059F04 mov r1, #0x9 bx r3 nop _02059FA8: .word FUN_02059F04 thumb_func_start FUN_02059FAC FUN_02059FAC: ; 0x02059FAC ldr r3, _02059FB4 ; =FUN_02059F04 mov r1, #0xa bx r3 nop _02059FB4: .word FUN_02059F04 thumb_func_start FUN_02059FB8 FUN_02059FB8: ; 0x02059FB8 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_020585B0 add r4, r0, #0x0 mov r2, #0x0 ldr r1, [r4, #0x4] add r0, r5, #0x0 mvn r2, r2 bl FUN_0205ABEC mov r2, #0x0 add r1, r0, #0x0 mvn r2, r2 cmp r1, r2 beq _02059FE0 add r0, r5, #0x0 bl FUN_020584AC b _0205A010 _02059FE0: ldrh r0, [r4, #0x0] cmp r0, #0x0 bne _0205A010 mov r0, #0x2 ldrsh r1, [r4, r0] sub r1, r1, #0x1 strh r1, [r4, #0x2] ldrsh r0, [r4, r0] cmp r0, #0x0 bgt _0205A010 ldr r0, _0205A018 ; =0x020F693C add r1, r2, #0x0 bl FUN_0205AAB0 strh r0, [r4, #0x2] mov r1, #0x0 ldr r0, [r4, #0x4] mvn r1, r1 bl FUN_0205AAD4 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_020584AC _0205A010: add r0, r5, #0x0 bl FUN_02059C60 pop {r3-r5, pc} .balign 4 _0205A018: .word 0x020F693C thumb_func_start FUN_0205A01C FUN_0205A01C: ; 0x0205A01C bx lr .balign 4 thumb_func_start FUN_0205A020 FUN_0205A020: ; 0x0205A020 push {r3, lr} mov r1, #0xc mov r2, #0xb mov r3, #0x0 bl FUN_0205A050 pop {r3, pc} .balign 4 thumb_func_start FUN_0205A030 FUN_0205A030: ; 0x0205A030 push {r3, lr} mov r1, #0xc add r2, r1, #0x0 mov r3, #0x0 bl FUN_0205A050 pop {r3, pc} .balign 4 thumb_func_start FUN_0205A040 FUN_0205A040: ; 0x0205A040 push {r3, lr} mov r1, #0xc mov r2, #0xd mov r3, #0x0 bl FUN_0205A050 pop {r3, pc} .balign 4 thumb_func_start FUN_0205A050 FUN_0205A050: ; 0x0205A050 push {r3-r7, lr} add r4, r1, #0x0 add r7, r3, #0x0 mov r1, #0x10 add r5, r0, #0x0 add r6, r2, #0x0 bl FUN_0205858C str r7, [r0, #0x4] str r4, [r0, #0x8] str r6, [r0, #0xc] add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r5, #0x0 bl FUN_02058848 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205A078 FUN_0205A078: ; 0x0205A078 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_020585B0 add r4, r0, #0x0 mov r0, #0x0 ldrsh r0, [r4, r0] cmp r0, #0x4 bhi _0205A16E add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205A096: ; jump table (using 16-bit offset) .short _0205A0A0 - _0205A096 - 2; case 0 .short _0205A0CA - _0205A096 - 2; case 1 .short _0205A0E8 - _0205A096 - 2; case 2 .short _0205A0FE - _0205A096 - 2; case 3 .short _0205A15A - _0205A096 - 2; case 4 _0205A0A0: add r0, r5, #0x0 bl FUN_02058848 add r0, r5, #0x0 bl FUN_0205886C add r0, r5, #0x0 bl FUN_020584C4 mov r1, #0x0 bl FUN_0205AFDC add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205AE0C mov r0, #0x0 ldrsh r0, [r4, r0] add r0, r0, #0x1 strh r0, [r4, #0x0] pop {r4-r6, pc} _0205A0CA: add r0, r5, #0x0 bl FUN_0205B080 cmp r0, #0x0 beq _0205A16E mov r1, #0x0 ldr r0, _0205A170 ; =0x020F693C mvn r1, r1 bl FUN_0205AAB0 strh r0, [r4, #0x2] mov r0, #0x0 ldrsh r0, [r4, r0] add r0, r0, #0x1 strh r0, [r4, #0x0] _0205A0E8: mov r0, #0x2 ldrsh r1, [r4, r0] sub r1, r1, #0x1 strh r1, [r4, #0x2] ldrsh r0, [r4, r0] cmp r0, #0x0 bne _0205A16E mov r0, #0x0 ldrsh r0, [r4, r0] add r0, r0, #0x1 strh r0, [r4, #0x0] _0205A0FE: mov r1, #0x0 ldr r0, [r4, #0xc] mvn r1, r1 bl FUN_0205AAD4 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020584D8 ldr r0, [r4, #0x4] cmp r0, #0x1 bne _0205A12A add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_0205A270 cmp r0, #0x0 bne _0205A12A mov r0, #0x0 strh r0, [r4, #0x0] pop {r4-r6, pc} _0205A12A: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02059918 cmp r0, #0x0 beq _0205A13C mov r0, #0x0 strh r0, [r4, #0x0] pop {r4-r6, pc} _0205A13C: ldr r1, [r4, #0x8] add r0, r6, #0x0 bl FUN_0205AFDC add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205AE0C add r0, r5, #0x0 bl FUN_0205883C mov r0, #0x0 ldrsh r0, [r4, r0] add r0, r0, #0x1 strh r0, [r4, #0x0] _0205A15A: add r0, r5, #0x0 bl FUN_0205B080 cmp r0, #0x0 beq _0205A16E add r0, r5, #0x0 bl FUN_02058848 mov r0, #0x0 strh r0, [r4, #0x0] _0205A16E: pop {r4-r6, pc} .balign 4 _0205A170: .word 0x020F693C thumb_func_start FUN_0205A174 FUN_0205A174: ; 0x0205A174 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] add r4, r1, #0x0 bl FUN_02058AFC add r6, r0, #0x0 ldr r0, [sp, #0x0] bl FUN_02058B0C add r5, r0, #0x0 ldr r0, [sp, #0x0] bl FUN_02058538 add r7, r0, #0x0 ldr r0, [sp, #0x0] bl FUN_02058540 str r0, [sp, #0x4] ldr r0, [sp, #0x0] bl FUN_02058480 cmp r0, #0xd bhi _0205A268 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205A1B0: ; jump table (using 16-bit offset) .short _0205A268 - _0205A1B0 - 2; case 0 .short _0205A268 - _0205A1B0 - 2; case 1 .short _0205A268 - _0205A1B0 - 2; case 2 .short _0205A268 - _0205A1B0 - 2; case 3 .short _0205A268 - _0205A1B0 - 2; case 4 .short _0205A268 - _0205A1B0 - 2; case 5 .short _0205A1CC - _0205A1B0 - 2; case 6 .short _0205A1DE - _0205A1B0 - 2; case 7 .short _0205A1F0 - _0205A1B0 - 2; case 8 .short _0205A202 - _0205A1B0 - 2; case 9 .short _0205A214 - _0205A1B0 - 2; case 10 .short _0205A22A - _0205A1B0 - 2; case 11 .short _0205A240 - _0205A1B0 - 2; case 12 .short _0205A254 - _0205A1B0 - 2; case 13 _0205A1CC: sub r0, r6, r7 str r0, [r4, #0x0] ldr r0, [sp, #0x4] str r6, [r4, #0x8] sub r0, r5, r0 str r0, [r4, #0x4] add sp, #0x8 str r5, [r4, #0xc] pop {r3-r7, pc} _0205A1DE: str r6, [r4, #0x0] add r0, r6, r7 str r0, [r4, #0x8] ldr r0, [sp, #0x4] add sp, #0x8 sub r0, r5, r0 str r0, [r4, #0x4] str r5, [r4, #0xc] pop {r3-r7, pc} _0205A1F0: sub r0, r6, r7 str r0, [r4, #0x0] ldr r0, [sp, #0x4] str r6, [r4, #0x8] str r5, [r4, #0x4] add r0, r5, r0 add sp, #0x8 str r0, [r4, #0xc] pop {r3-r7, pc} _0205A202: str r6, [r4, #0x0] add r0, r6, r7 str r0, [r4, #0x8] ldr r0, [sp, #0x4] str r5, [r4, #0x4] add r0, r5, r0 add sp, #0x8 str r0, [r4, #0xc] pop {r3-r7, pc} _0205A214: sub r0, r6, r7 str r0, [r4, #0x0] ldr r0, [sp, #0x4] str r6, [r4, #0x8] sub r0, r5, r0 str r0, [r4, #0x4] ldr r0, [sp, #0x4] add sp, #0x8 add r0, r5, r0 str r0, [r4, #0xc] pop {r3-r7, pc} _0205A22A: str r6, [r4, #0x0] add r0, r6, r7 str r0, [r4, #0x8] ldr r0, [sp, #0x4] sub r0, r5, r0 str r0, [r4, #0x4] ldr r0, [sp, #0x4] add sp, #0x8 add r0, r5, r0 str r0, [r4, #0xc] pop {r3-r7, pc} _0205A240: sub r0, r6, r7 str r0, [r4, #0x0] add r0, r6, r7 str r0, [r4, #0x8] ldr r0, [sp, #0x4] add sp, #0x8 sub r0, r5, r0 str r0, [r4, #0x4] str r5, [r4, #0xc] pop {r3-r7, pc} _0205A254: sub r0, r6, r7 str r0, [r4, #0x0] add r0, r6, r7 str r0, [r4, #0x8] ldr r0, [sp, #0x4] str r5, [r4, #0x4] add r0, r5, r0 add sp, #0x8 str r0, [r4, #0xc] pop {r3-r7, pc} _0205A268: bl ErrorHandling add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_0205A270 FUN_0205A270: ; 0x0205A270 push {r4-r6, lr} sub sp, #0x10 add r6, r1, #0x0 add r5, r0, #0x0 add r1, sp, #0x0 bl FUN_0205A174 add r0, r5, #0x0 bl FUN_02058B2C add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_02059BF4 add r4, r4, r0 add r0, r5, #0x0 bl FUN_02058B4C add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_02059C00 add r1, r5, r0 ldr r0, [sp, #0x0] cmp r0, r4 bgt _0205A2AA ldr r0, [sp, #0x8] cmp r0, r4 bge _0205A2B0 _0205A2AA: add sp, #0x10 mov r0, #0x0 pop {r4-r6, pc} _0205A2B0: ldr r0, [sp, #0x4] cmp r0, r1 bgt _0205A2BC ldr r0, [sp, #0xc] cmp r0, r1 bge _0205A2C2 _0205A2BC: add sp, #0x10 mov r0, #0x0 pop {r4-r6, pc} _0205A2C2: mov r0, #0x1 add sp, #0x10 pop {r4-r6, pc} thumb_func_start FUN_0205A2C8 FUN_0205A2C8: ; 0x0205A2C8 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 mov r1, #0x8 bl FUN_0205858C str r4, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r5, #0x0 bl FUN_02058848 add r0, r5, #0x0 bl FUN_02059C60 pop {r3-r5, pc} thumb_func_start FUN_0205A2EC FUN_0205A2EC: ; 0x0205A2EC push {r3-r5, lr} add r5, r0, #0x0 bl FUN_020585B0 add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _0205A300 cmp r0, #0x1 pop {r3-r5, pc} _0205A300: ldr r1, [r4, #0x0] add r0, r5, #0x0 bl FUN_020584AC ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] pop {r3-r5, pc} thumb_func_start FUN_0205A310 FUN_0205A310: ; 0x0205A310 ldr r3, _0205A318 ; =FUN_0205A2C8 mov r1, #0x0 bx r3 nop _0205A318: .word FUN_0205A2C8 thumb_func_start FUN_0205A31C FUN_0205A31C: ; 0x0205A31C ldr r3, _0205A324 ; =FUN_0205A2C8 mov r1, #0x1 bx r3 nop _0205A324: .word FUN_0205A2C8 thumb_func_start FUN_0205A328 FUN_0205A328: ; 0x0205A328 ldr r3, _0205A330 ; =FUN_0205A2C8 mov r1, #0x2 bx r3 nop _0205A330: .word FUN_0205A2C8 thumb_func_start FUN_0205A334 FUN_0205A334: ; 0x0205A334 ldr r3, _0205A33C ; =FUN_0205A2C8 mov r1, #0x3 bx r3 nop _0205A33C: .word FUN_0205A2C8 thumb_func_start FUN_0205A340 FUN_0205A340: ; 0x0205A340 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 mov r1, #0x8 bl FUN_0205858C strb r4, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r5, #0x0 bl FUN_02058848 add r0, r5, #0x0 bl FUN_02059C60 pop {r3-r5, pc} thumb_func_start FUN_0205A364 FUN_0205A364: ; 0x0205A364 ldr r3, _0205A36C ; =FUN_0205A340 mov r1, #0x2 bx r3 nop _0205A36C: .word FUN_0205A340 thumb_func_start FUN_0205A370 FUN_0205A370: ; 0x0205A370 ldr r3, _0205A378 ; =FUN_0205A340 mov r1, #0x3 bx r3 nop _0205A378: .word FUN_0205A340 thumb_func_start FUN_0205A37C FUN_0205A37C: ; 0x0205A37C push {r3-r7, lr} add r5, r0, #0x0 bl FUN_020585B0 ldr r6, _0205A39C ; =0x020F6754 add r4, r0, #0x0 mov r7, #0x2 _0205A38A: ldrsb r2, [r4, r7] add r0, r5, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x2 ldr r2, [r6, r2] blx r2 cmp r0, #0x1 beq _0205A38A pop {r3-r7, pc} .balign 4 _0205A39C: .word 0x020F6754 thumb_func_start FUN_0205A3A0 FUN_0205A3A0: ; 0x0205A3A0 push {r3-r5, lr} add r4, r1, #0x0 mov r1, #0x26 add r2, r1, #0x0 sub r2, #0x27 add r5, r0, #0x0 bl FUN_0205ABEC mov r1, #0x0 mvn r1, r1 cmp r0, r1 bne _0205A3BE add r0, r5, #0x0 bl FUN_020584C4 _0205A3BE: mov r1, #0x0 bl FUN_0205AFDC add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205AE0C mov r0, #0x1 strb r0, [r4, #0x2] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205A3D4 FUN_0205A3D4: ; 0x0205A3D4 push {r4, lr} add r4, r1, #0x0 bl FUN_0205B080 cmp r0, #0x0 bne _0205A3E4 mov r0, #0x0 pop {r4, pc} _0205A3E4: mov r0, #0x0 str r0, [r4, #0x4] mov r0, #0x2 strb r0, [r4, #0x2] mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0205A3F0 FUN_0205A3F0: ; 0x0205A3F0 push {r4, lr} add r4, r1, #0x0 ldr r1, [r4, #0x4] cmp r1, #0x0 beq _0205A414 mov r1, #0x26 add r2, r1, #0x0 sub r2, #0x27 bl FUN_0205ABEC mov r1, #0x0 mvn r1, r1 cmp r0, r1 beq _0205A414 mov r0, #0x0 strb r0, [r4, #0x2] mov r0, #0x1 pop {r4, pc} _0205A414: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] cmp r0, #0x18 bge _0205A422 mov r0, #0x0 pop {r4, pc} _0205A422: mov r0, #0x3 strb r0, [r4, #0x2] mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0205A42C FUN_0205A42C: ; 0x0205A42C push {r3-r7, lr} sub sp, #0x28 ldr r3, _0205A4BC ; =0x020F68D8 add r2, sp, #0x14 add r7, r0, #0x0 add r6, r1, #0x0 ldmia r3!, {r0-r1} add r5, r2, #0x0 stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r3, #0x0] ldr r4, _0205A4C0 ; =0x020F68EC str r0, [r2, #0x0] add r3, sp, #0x0 ldmia r4!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r4!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r4, #0x0] str r0, [r3, #0x0] mov r0, #0x0 ldrsb r0, [r6, r0] cmp r0, #0x2 beq _0205A462 add r5, r2, #0x0 _0205A462: add r0, r7, #0x0 bl FUN_020584C4 mov r4, #0x0 ldr r2, [r5, #0x0] sub r1, r4, #0x1 cmp r2, r1 beq _0205A486 add r1, r5, #0x0 sub r2, r4, #0x1 _0205A476: ldr r3, [r1, #0x0] cmp r0, r3 beq _0205A486 add r1, r1, #0x4 ldr r3, [r1, #0x0] add r4, r4, #0x1 cmp r3, r2 bne _0205A476 _0205A486: lsl r0, r4, #0x2 ldr r1, [r5, r0] mov r0, #0x0 mvn r0, r0 cmp r1, r0 bne _0205A496 bl ErrorHandling _0205A496: add r4, r4, #0x1 lsl r0, r4, #0x2 ldr r1, [r5, r0] mov r0, #0x0 mvn r0, r0 cmp r1, r0 bne _0205A4A6 mov r4, #0x0 _0205A4A6: lsl r1, r4, #0x2 ldr r1, [r5, r1] add r0, r7, #0x0 bl FUN_020584AC mov r0, #0x0 strb r0, [r6, #0x2] mov r0, #0x1 add sp, #0x28 pop {r3-r7, pc} nop _0205A4BC: .word 0x020F68D8 _0205A4C0: .word 0x020F68EC thumb_func_start FUN_0205A4C4 FUN_0205A4C4: ; 0x0205A4C4 ldr r3, _0205A4CC ; =FUN_0205A340 mov r1, #0x3 bx r3 nop _0205A4CC: .word FUN_0205A340 thumb_func_start FUN_0205A4D0 FUN_0205A4D0: ; 0x0205A4D0 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_020585B0 ldr r6, _0205A4F0 ; =0x020F6724 add r4, r0, #0x0 mov r7, #0x2 _0205A4DE: ldrsb r2, [r4, r7] add r0, r5, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x2 ldr r2, [r6, r2] blx r2 cmp r0, #0x1 beq _0205A4DE pop {r3-r7, pc} .balign 4 _0205A4F0: .word 0x020F6724 thumb_func_start FUN_0205A4F4 FUN_0205A4F4: ; 0x0205A4F4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_020584C4 mov r1, #0x0 bl FUN_0205AFDC add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205AE0C mov r0, #0x1 strb r0, [r4, #0x2] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205A514 FUN_0205A514: ; 0x0205A514 push {r4, lr} add r4, r1, #0x0 bl FUN_0205B080 cmp r0, #0x0 bne _0205A524 mov r0, #0x0 pop {r4, pc} _0205A524: mov r0, #0x0 str r0, [r4, #0x4] mov r0, #0x2 strb r0, [r4, #0x2] mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0205A530 FUN_0205A530: ; 0x0205A530 ldr r0, [r1, #0x4] add r0, r0, #0x1 str r0, [r1, #0x4] cmp r0, #0x18 bge _0205A53E mov r0, #0x0 bx lr _0205A53E: mov r0, #0x3 strb r0, [r1, #0x2] mov r0, #0x1 bx lr .balign 4 thumb_func_start FUN_0205A548 FUN_0205A548: ; 0x0205A548 push {r3-r7, lr} sub sp, #0x28 ldr r3, _0205A5F4 ; =0x020F6900 add r2, sp, #0x14 add r7, r0, #0x0 add r6, r1, #0x0 ldmia r3!, {r0-r1} add r5, r2, #0x0 stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r3, #0x0] ldr r3, _0205A5F8 ; =0x020F6928 str r0, [r2, #0x0] add r2, sp, #0x0 ldmia r3!, {r0-r1} add r4, r2, #0x0 stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r3, #0x0] str r0, [r2, #0x0] mov r0, #0x0 ldrsb r0, [r6, r0] cmp r0, #0x2 beq _0205A57E add r5, r4, #0x0 _0205A57E: add r0, r7, #0x0 bl FUN_020584C4 mov r4, #0x0 ldr r2, [r5, #0x0] sub r1, r4, #0x1 cmp r2, r1 beq _0205A5A2 add r1, r5, #0x0 sub r2, r4, #0x1 _0205A592: ldr r3, [r1, #0x0] cmp r0, r3 beq _0205A5A2 add r1, r1, #0x4 ldr r3, [r1, #0x0] add r4, r4, #0x1 cmp r3, r2 bne _0205A592 _0205A5A2: lsl r0, r4, #0x2 ldr r1, [r5, r0] mov r0, #0x0 mvn r0, r0 cmp r1, r0 bne _0205A5B2 bl ErrorHandling _0205A5B2: add r4, r4, #0x1 lsl r0, r4, #0x2 ldr r1, [r5, r0] mov r0, #0x0 mvn r0, r0 cmp r1, r0 bne _0205A5C2 mov r4, #0x0 _0205A5C2: lsl r1, r4, #0x2 ldr r1, [r5, r1] add r0, r7, #0x0 bl FUN_020584AC add r0, r7, #0x0 bl FUN_020584C4 add r4, r0, #0x0 add r0, r7, #0x0 bl FUN_020584A0 cmp r4, r0 bne _0205A5E8 mov r0, #0x0 ldrsb r0, [r6, r0] bl FUN_02059E74 strb r0, [r6, #0x0] _0205A5E8: mov r0, #0x0 strb r0, [r6, #0x2] mov r0, #0x1 add sp, #0x28 pop {r3-r7, pc} nop _0205A5F4: .word 0x020F6900 _0205A5F8: .word 0x020F6928 thumb_func_start FUN_0205A5FC FUN_0205A5FC: ; 0x0205A5FC push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x8 bl FUN_0205858C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0205ACE0 cmp r0, #0x1 bne _0205A61A add r0, r5, #0x0 add r1, r4, #0x4 bl FUN_0205ACF4 _0205A61A: pop {r3-r5, pc} thumb_func_start FUN_0205A61C FUN_0205A61C: ; 0x0205A61C push {r3-r7, lr} add r5, r0, #0x0 bl FUN_020585B0 ldr r6, _0205A63C ; =0x020F66CC add r4, r0, #0x0 mov r7, #0x0 _0205A62A: ldrsh r2, [r4, r7] add r0, r5, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x2 ldr r2, [r6, r2] blx r2 cmp r0, #0x1 beq _0205A62A pop {r3-r7, pc} .balign 4 _0205A63C: .word 0x020F66CC thumb_func_start FUN_0205A640 FUN_0205A640: ; 0x0205A640 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_020584A0 mov r1, #0x2 ldrsh r1, [r4, r1] add r6, r0, #0x0 cmp r1, #0x1 bne _0205A65A bl FUN_02059E74 add r6, r0, #0x0 _0205A65A: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_0205ACE0 cmp r0, #0x0 bne _0205A674 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020584AC _0205A674: mov r0, #0x1 strh r0, [r4, #0x0] pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0205A67C FUN_0205A67C: ; 0x0205A67C push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0x2 ldrsh r1, [r4, r1] add r5, r0, #0x0 cmp r1, #0x0 beq _0205A6DA bl FUN_02058AFC add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B0C add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B2C str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_02058B4C ldr r1, [sp, #0x0] cmp r6, r1 bne _0205A6DA cmp r7, r0 bne _0205A6DA add r0, r5, #0x0 bl FUN_020584D4 bl FUN_02059E74 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_0205ACE0 cmp r0, #0x0 bne _0205A6D6 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020584AC _0205A6D6: mov r0, #0x0 strh r0, [r4, #0x2] _0205A6DA: add r0, r5, #0x0 bl FUN_020584D4 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02059918 mov r1, #0x1 add r2, r0, #0x0 tst r2, r1 beq _0205A704 add r0, r6, #0x0 strh r1, [r4, #0x2] bl FUN_02059E74 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02059918 _0205A704: mov r1, #0xc cmp r0, #0x0 beq _0205A70C mov r1, #0x20 _0205A70C: add r0, r6, #0x0 bl FUN_0205AFDC add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205AE0C add r0, r5, #0x0 bl FUN_0205ACE0 cmp r0, #0x1 bne _0205A72C add r0, r5, #0x0 add r1, r4, #0x4 bl FUN_0205AD0C _0205A72C: add r0, r5, #0x0 bl FUN_0205883C mov r0, #0x2 strh r0, [r4, #0x0] mov r0, #0x1 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205A73C FUN_0205A73C: ; 0x0205A73C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_0205B080 cmp r0, #0x1 bne _0205A766 add r0, r5, #0x0 bl FUN_02058848 add r0, r5, #0x0 bl FUN_0205ACE0 cmp r0, #0x1 bne _0205A762 add r0, r5, #0x0 add r1, r4, #0x4 bl FUN_0205AD88 _0205A762: mov r0, #0x0 strh r0, [r4, #0x0] _0205A766: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205A76C FUN_0205A76C: ; 0x0205A76C push {r3-r7, lr} add r6, r1, #0x0 mov r1, #0x10 add r5, r0, #0x0 add r7, r2, #0x0 str r3, [sp, #0x0] bl FUN_0205858C add r4, r0, #0x0 strh r6, [r4, #0x4] ldr r0, [sp, #0x0] strh r7, [r4, #0x6] str r0, [r4, #0x8] add r0, r5, #0x0 bl FUN_0205ACE0 cmp r0, #0x1 bne _0205A79A add r4, #0xc add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205ACF4 _0205A79A: pop {r3-r7, pc} thumb_func_start FUN_0205A79C FUN_0205A79C: ; 0x0205A79C push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0xe bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A7AC FUN_0205A7AC: ; 0x0205A7AC push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0xf bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A7BC FUN_0205A7BC: ; 0x0205A7BC push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x10 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A7CC FUN_0205A7CC: ; 0x0205A7CC push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x11 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A7DC FUN_0205A7DC: ; 0x0205A7DC push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x12 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A7EC FUN_0205A7EC: ; 0x0205A7EC push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x13 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A7FC FUN_0205A7FC: ; 0x0205A7FC push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x14 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A80C FUN_0205A80C: ; 0x0205A80C push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x15 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A81C FUN_0205A81C: ; 0x0205A81C push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x16 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A82C FUN_0205A82C: ; 0x0205A82C push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x17 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A83C FUN_0205A83C: ; 0x0205A83C push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x18 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A84C FUN_0205A84C: ; 0x0205A84C push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x19 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A85C FUN_0205A85C: ; 0x0205A85C push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x1a bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A86C FUN_0205A86C: ; 0x0205A86C push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x1b bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A87C FUN_0205A87C: ; 0x0205A87C push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x1c bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A88C FUN_0205A88C: ; 0x0205A88C push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x1d bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A89C FUN_0205A89C: ; 0x0205A89C push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x1e bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A8AC FUN_0205A8AC: ; 0x0205A8AC push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x1f bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A8BC FUN_0205A8BC: ; 0x0205A8BC push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x20 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A8CC FUN_0205A8CC: ; 0x0205A8CC push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x21 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A8DC FUN_0205A8DC: ; 0x0205A8DC push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x22 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A8EC FUN_0205A8EC: ; 0x0205A8EC push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x23 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A8FC FUN_0205A8FC: ; 0x0205A8FC push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x24 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A90C FUN_0205A90C: ; 0x0205A90C push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x25 bl FUN_0205A76C pop {r3, pc} .balign 4 thumb_func_start FUN_0205A91C FUN_0205A91C: ; 0x0205A91C push {r3-r7, lr} add r5, r0, #0x0 bl FUN_020585B0 ldr r6, _0205A93C ; =0x020F6670 add r4, r0, #0x0 mov r7, #0x0 _0205A92A: ldrsh r2, [r4, r7] add r0, r5, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x2 ldr r2, [r6, r2] blx r2 cmp r0, #0x1 beq _0205A92A pop {r3-r7, pc} .balign 4 _0205A93C: .word 0x020F6670 thumb_func_start FUN_0205A940 FUN_0205A940: ; 0x0205A940 push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0x2 ldrsh r2, [r4, r1] mov r1, #0x4 ldrsh r1, [r4, r1] add r5, r0, #0x0 cmp r2, r1 bne _0205A98C mov r1, #0x6 ldrsh r1, [r4, r1] cmp r1, #0x0 bne _0205A974 bl FUN_02058AFC add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B2C cmp r6, r0 bne _0205A98C mov r0, #0x2 ldrsh r0, [r4, r0] add r0, r0, #0x1 strh r0, [r4, #0x2] b _0205A98C _0205A974: bl FUN_02058B0C add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B4C cmp r6, r0 bne _0205A98C mov r0, #0x2 ldrsh r0, [r4, r0] add r0, r0, #0x1 strh r0, [r4, #0x2] _0205A98C: mov r0, #0x2 ldrsh r0, [r4, r0] cmp r0, #0x3 bne _0205A9C0 add r0, r5, #0x0 bl FUN_02058AFC add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B0C add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B2C str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_02058B4C ldr r1, [sp, #0x0] cmp r6, r1 bne _0205A9C0 cmp r7, r0 bne _0205A9C0 mov r0, #0x0 strh r0, [r4, #0x2] _0205A9C0: ldr r0, [r4, #0x8] bl FUN_0205AAFC add r7, r0, #0x0 mov r0, #0x2 ldrsh r0, [r4, r0] lsl r0, r0, #0x2 ldr r6, [r7, r0] add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_0205ACE0 cmp r0, #0x0 bne _0205A9EA add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020584AC _0205A9EA: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02059918 mov r1, #0x1 tst r1, r0 beq _0205AA28 mov r0, #0x2 ldrsh r1, [r4, r0] add r1, r1, #0x1 strh r1, [r4, #0x2] ldrsh r0, [r4, r0] lsl r0, r0, #0x2 ldr r6, [r7, r0] add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020584CC add r0, r5, #0x0 bl FUN_0205ACE0 cmp r0, #0x0 bne _0205AA20 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020584AC _0205AA20: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02059918 _0205AA28: mov r1, #0xc cmp r0, #0x0 beq _0205AA30 mov r1, #0x20 _0205AA30: add r0, r6, #0x0 bl FUN_0205AFDC add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205AE0C add r0, r5, #0x0 bl FUN_0205ACE0 cmp r0, #0x1 bne _0205AA52 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0xc bl FUN_0205AD0C _0205AA52: add r0, r5, #0x0 bl FUN_0205883C mov r0, #0x1 strh r0, [r4, #0x0] pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205AA60 FUN_0205AA60: ; 0x0205AA60 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_0205B080 cmp r0, #0x1 bne _0205AA8C add r0, r5, #0x0 bl FUN_02058848 add r0, r5, #0x0 bl FUN_0205ACE0 cmp r0, #0x1 bne _0205AA88 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0xc bl FUN_0205AD88 _0205AA88: mov r0, #0x0 strh r0, [r4, #0x0] _0205AA8C: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0205AA90 FUN_0205AA90: ; 0x0205AA90 push {r4, lr} ldr r2, [r0, #0x0] mov r4, #0x0 cmp r1, r2 beq _0205AAA4 _0205AA9A: add r0, r0, #0x4 ldr r2, [r0, #0x0] add r4, r4, #0x1 cmp r1, r2 bne _0205AA9A _0205AAA4: cmp r4, #0x0 bne _0205AAAC bl ErrorHandling _0205AAAC: add r0, r4, #0x0 pop {r4, pc} thumb_func_start FUN_0205AAB0 FUN_0205AAB0: ; 0x0205AAB0 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_0201B9EC add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205AA90 add r1, r0, #0x0 add r0, r6, #0x0 blx _s32_div_f lsl r0, r1, #0x2 ldr r0, [r5, r0] pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0205AAD4 FUN_0205AAD4: ; 0x0205AAD4 push {r4-r6, lr} add r5, r1, #0x0 bl FUN_0205AAFC add r4, r0, #0x0 bl FUN_0201B9EC add r6, r0, #0x0 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_0205AA90 add r1, r0, #0x0 add r0, r6, #0x0 blx _s32_div_f lsl r0, r1, #0x2 ldr r0, [r4, r0] pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0205AAFC FUN_0205AAFC: ; 0x0205AAFC push {r3, lr} ldr r1, _0205AB1C ; =0x020F69BC mov r2, #0x0 _0205AB02: cmp r2, r0 bne _0205AB0A ldr r0, [r1, #0x4] pop {r3, pc} _0205AB0A: add r1, #0x8 ldr r2, [r1, #0x0] cmp r2, #0x27 bne _0205AB02 bl ErrorHandling mov r0, #0x0 pop {r3, pc} nop _0205AB1C: .word 0x020F69BC thumb_func_start FUN_0205AB20 FUN_0205AB20: ; 0x0205AB20 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02058488 cmp r0, #0x1 beq _0205AB36 cmp r0, #0x2 beq _0205AB36 mov r0, #0x0 mvn r0, r0 pop {r3-r7, pc} _0205AB36: add r0, r5, #0x0 bl FUN_02058738 bl FUN_02055698 add r6, r0, #0x0 bl FUN_02057124 cmp r0, #0x0 bne _0205AB50 mov r0, #0x0 mvn r0, r0 pop {r3-r7, pc} _0205AB50: add r0, r5, #0x0 mov r4, #0x0 bl FUN_02058480 ldr r1, _0205ABE8 ; =0x020F6984 _0205AB5A: lsl r2, r4, #0x2 ldr r2, [r1, r2] add r4, r4, #0x1 cmp r2, r0 beq _0205AB68 cmp r2, #0xff bne _0205AB5A _0205AB68: cmp r0, r2 beq _0205AB72 mov r0, #0x0 mvn r0, r0 pop {r3-r7, pc} _0205AB72: add r0, r6, #0x0 bl FUN_020553A0 bl FUN_02058BE4 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02058BE4 cmp r4, r0 beq _0205AB8E mov r0, #0x0 mvn r0, r0 pop {r3-r7, pc} _0205AB8E: add r0, r6, #0x0 bl FUN_02055320 add r7, r0, #0x0 add r0, r6, #0x0 bl FUN_0205532C add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058510 str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_02058B2C add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B4C add r3, r0, #0x0 ldr r0, [sp, #0x0] ldr r5, [sp, #0x0] sub r2, r6, r0 add r1, r6, r0 sub r5, r3, r5 add r0, r3, r0 cmp r5, r4 bgt _0205ABE2 cmp r0, r4 blt _0205ABE2 cmp r2, r7 bgt _0205ABE2 cmp r1, r7 blt _0205ABE2 add r1, r3, #0x0 add r0, r6, #0x0 add r2, r7, #0x0 add r3, r4, #0x0 bl FUN_02059E80 pop {r3-r7, pc} _0205ABE2: mov r0, #0x0 mvn r0, r0 pop {r3-r7, pc} .balign 4 _0205ABE8: .word 0x020F6984 thumb_func_start FUN_0205ABEC FUN_0205ABEC: ; 0x0205ABEC push {r4-r7, lr} sub sp, #0x14 str r0, [sp, #0x0] add r4, r2, #0x0 add r0, r1, #0x0 bl FUN_0205AAFC add r1, r4, #0x0 add r5, r0, #0x0 bl FUN_0205AA90 add r4, r0, #0x0 cmp r4, #0x1 bne _0205AC10 mov r0, #0x0 add sp, #0x14 mvn r0, r0 pop {r4-r7, pc} _0205AC10: ldr r0, [sp, #0x0] bl FUN_0205AB20 mov r1, #0x0 mvn r1, r1 cmp r0, r1 beq _0205ACDA mov r2, #0x0 add r3, r5, #0x0 _0205AC22: ldr r1, [r3, #0x0] cmp r0, r1 beq _0205ACDA add r2, r2, #0x1 add r3, r3, #0x4 cmp r2, r4 blt _0205AC22 mov r7, #0x0 mvn r7, r7 ldr r0, [sp, #0x0] add r6, r7, #0x0 bl FUN_02058B2C str r0, [sp, #0x8] ldr r0, [sp, #0x0] bl FUN_02058B4C str r0, [sp, #0x4] ldr r0, [sp, #0x0] bl FUN_02058738 bl FUN_02055698 str r0, [sp, #0xc] bl FUN_02055320 str r0, [sp, #0x10] ldr r0, [sp, #0xc] bl FUN_0205532C ldr r2, [sp, #0x8] ldr r1, [sp, #0x10] cmp r2, r1 ble _0205AC6A mov r7, #0x2 b _0205AC70 _0205AC6A: cmp r2, r1 bge _0205AC70 mov r7, #0x3 _0205AC70: ldr r1, [sp, #0x4] cmp r1, r0 ble _0205AC7A mov r6, #0x0 b _0205AC80 _0205AC7A: cmp r1, r0 bge _0205AC80 mov r6, #0x1 _0205AC80: mov r0, #0x0 sub r1, r0, #0x1 cmp r7, r1 bne _0205AC9E _0205AC88: ldr r1, [r5, #0x0] cmp r6, r1 bne _0205AC94 add sp, #0x14 add r0, r6, #0x0 pop {r4-r7, pc} _0205AC94: add r0, r0, #0x1 add r5, r5, #0x4 cmp r0, r4 blt _0205AC88 b _0205ACD6 _0205AC9E: cmp r6, r1 bne _0205ACB8 _0205ACA2: ldr r1, [r5, #0x0] cmp r7, r1 bne _0205ACAE add sp, #0x14 add r0, r7, #0x0 pop {r4-r7, pc} _0205ACAE: add r0, r0, #0x1 add r5, r5, #0x4 cmp r0, r4 blt _0205ACA2 b _0205ACD6 _0205ACB8: ldr r1, [r5, #0x0] cmp r7, r1 bne _0205ACC4 add sp, #0x14 add r0, r7, #0x0 pop {r4-r7, pc} _0205ACC4: cmp r6, r1 bne _0205ACCE add sp, #0x14 add r0, r6, #0x0 pop {r4-r7, pc} _0205ACCE: add r0, r0, #0x1 add r5, r5, #0x4 cmp r0, r4 blt _0205ACB8 _0205ACD6: mov r0, #0x0 mvn r0, r0 _0205ACDA: add sp, #0x14 pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0205ACE0 FUN_0205ACE0: ; 0x0205ACE0 push {r3, lr} bl FUN_02058488 sub r0, r0, #0x7 cmp r0, #0x1 bhi _0205ACF0 mov r0, #0x1 pop {r3, pc} _0205ACF0: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0205ACF4 FUN_0205ACF4: ; 0x0205ACF4 push {r4, lr} add r4, r1, #0x0 bl FUN_02058488 cmp r0, #0x7 bne _0205AD06 mov r0, #0x0 strb r0, [r4, #0x1] pop {r4, pc} _0205AD06: mov r0, #0x1 strb r0, [r4, #0x1] pop {r4, pc} thumb_func_start FUN_0205AD0C FUN_0205AD0C: ; 0x0205AD0C push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 bl FUN_020584C4 mov r4, #0x0 add r6, r0, #0x0 add r1, r4, #0x0 ldr r0, _0205AD84 ; =0x020F6964 mov r2, #0x1 b _0205AD26 _0205AD22: add r1, r1, #0x4 add r4, r4, #0x1 _0205AD26: cmp r4, #0x4 bge _0205AD36 ldrsb r3, [r5, r2] lsl r3, r3, #0x4 add r3, r0, r3 ldr r3, [r1, r3] cmp r6, r3 bne _0205AD22 _0205AD36: cmp r4, #0x4 blt _0205AD3E bl ErrorHandling _0205AD3E: add r0, r4, #0x1 lsr r2, r0, #0x1f lsl r1, r0, #0x1e sub r1, r1, r2 mov r0, #0x1e ror r1, r0 strb r6, [r5, #0x0] mov r0, #0x1 add r1, r2, r1 ldrsb r0, [r5, r0] lsl r1, r1, #0x2 lsl r2, r0, #0x4 ldr r0, _0205AD84 ; =0x020F6964 add r0, r0, r2 ldr r4, [r1, r0] add r0, r7, #0x0 mov r1, #0x80 bl FUN_02058424 cmp r0, #0x0 beq _0205AD6C mov r0, #0x1 b _0205AD6E _0205AD6C: mov r0, #0x0 _0205AD6E: strb r0, [r5, #0x2] add r0, r7, #0x0 add r1, r4, #0x0 bl FUN_020584AC add r0, r7, #0x0 mov r1, #0x80 bl FUN_02058410 pop {r3-r7, pc} nop _0205AD84: .word 0x020F6964 thumb_func_start FUN_0205AD88 FUN_0205AD88: ; 0x0205AD88 push {r3, lr} ldrb r1, [r1, #0x2] cmp r1, #0x0 bne _0205AD96 mov r1, #0x80 bl FUN_02058418 _0205AD96: pop {r3, pc} thumb_func_start FUN_0205AD98 FUN_0205AD98: ; 0x0205AD98 push {r4, lr} mov r1, #0x1 add r4, r0, #0x0 bl FUN_0205842C cmp r0, #0x0 bne _0205ADAA mov r0, #0x0 pop {r4, pc} _0205ADAA: add r0, r4, #0x0 mov r1, #0x2 bl FUN_0205842C cmp r0, #0x1 bne _0205ADBA mov r0, #0x0 pop {r4, pc} _0205ADBA: add r0, r4, #0x0 mov r1, #0x10 bl FUN_0205842C cmp r0, #0x1 bne _0205ADD6 add r0, r4, #0x0 mov r1, #0x20 bl FUN_0205842C cmp r0, #0x0 bne _0205ADD6 mov r0, #0x0 pop {r4, pc} _0205ADD6: mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0205ADDC FUN_0205ADDC: ; 0x0205ADDC push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x69 blt _0205ADEA bl ErrorHandling _0205ADEA: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020586E8 add r0, r5, #0x0 mov r1, #0x0 bl FUN_020586F8 add r0, r5, #0x0 mov r1, #0x10 bl FUN_02058410 add r0, r5, #0x0 mov r1, #0x20 bl FUN_02058418 pop {r3-r5, pc} thumb_func_start FUN_0205AE0C FUN_0205AE0C: ; 0x0205AE0C push {r4, lr} add r4, r0, #0x0 bl FUN_020586E8 add r0, r4, #0x0 mov r1, #0x0 bl FUN_020586F8 add r0, r4, #0x0 mov r1, #0x20 bl FUN_02058418 pop {r4, pc} .balign 4 thumb_func_start FUN_0205AE28 FUN_0205AE28: ; 0x0205AE28 push {r4, lr} mov r1, #0x10 add r4, r0, #0x0 bl FUN_0205842C cmp r0, #0x0 bne _0205AE3A mov r0, #0x1 pop {r4, pc} _0205AE3A: add r0, r4, #0x0 mov r1, #0x20 bl FUN_0205842C cmp r0, #0x0 beq _0205AE4A mov r0, #0x1 pop {r4, pc} _0205AE4A: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0205AE50 FUN_0205AE50: ; 0x0205AE50 push {r4, lr} mov r1, #0x10 add r4, r0, #0x0 bl FUN_0205842C cmp r0, #0x0 bne _0205AE62 mov r0, #0x1 pop {r4, pc} _0205AE62: add r0, r4, #0x0 mov r1, #0x20 bl FUN_0205842C cmp r0, #0x0 bne _0205AE72 mov r0, #0x0 pop {r4, pc} _0205AE72: add r0, r4, #0x0 mov r1, #0x30 bl FUN_02058418 mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0205AE80 FUN_0205AE80: ; 0x0205AE80 push {r4, lr} add r4, r0, #0x0 mov r1, #0x10 bl FUN_02058418 add r0, r4, #0x0 mov r1, #0x20 bl FUN_02058410 add r0, r4, #0x0 mov r1, #0xff bl FUN_020586E8 add r0, r4, #0x0 mov r1, #0x0 bl FUN_020586F8 pop {r4, pc} thumb_func_start FUN_0205AEA4 FUN_0205AEA4: ; 0x0205AEA4 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0x4 mov r1, #0x14 bl FUN_020169D8 add r4, r0, #0x0 bne _0205AEBA bl ErrorHandling _0205AEBA: add r2, r4, #0x0 mov r1, #0x14 mov r0, #0x0 _0205AEC0: strb r0, [r2, #0x0] add r2, r2, #0x1 sub r1, r1, #0x1 bne _0205AEC0 add r0, r5, #0x0 bl FUN_02058578 bl FUN_0205839C sub r2, r0, #0x1 ldr r0, _0205AEEC ; =FUN_0205AF2C add r1, r4, #0x0 bl FUN_0200CA44 add r7, r0, #0x0 bne _0205AEE4 bl ErrorHandling _0205AEE4: str r5, [r4, #0xc] str r6, [r4, #0x10] add r0, r7, #0x0 pop {r3-r7, pc} .balign 4 _0205AEEC: .word FUN_0205AF2C thumb_func_start FUN_0205AEF0 FUN_0205AEF0: ; 0x0205AEF0 push {r3, lr} bl FUN_0201B6C8 ldr r0, [r0, #0x4] pop {r3, pc} .balign 4 thumb_func_start FUN_0205AEFC FUN_0205AEFC: ; 0x0205AEFC push {r3-r5, lr} add r5, r0, #0x0 bl FUN_0201B6C8 add r4, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_0205AE28 cmp r0, #0x1 beq _0205AF14 bl ErrorHandling _0205AF14: ldr r0, [r4, #0xc] bl FUN_0205AE50 mov r0, #0x4 add r1, r4, #0x0 bl FUN_02016A8C add r0, r5, #0x0 bl FUN_0200CAB4 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205AF2C FUN_0205AF2C: ; 0x0205AF2C push {r3-r5, lr} ldr r4, _0205AF44 ; =0x020F6C54 add r5, r1, #0x0 _0205AF32: ldr r1, [r5, #0x0] add r0, r5, #0x0 lsl r1, r1, #0x2 ldr r1, [r4, r1] blx r1 cmp r0, #0x1 beq _0205AF32 pop {r3-r5, pc} nop _0205AF44: .word 0x020F6C54 thumb_func_start FUN_0205AF48 FUN_0205AF48: ; 0x0205AF48 mov r1, #0x0 str r1, [r0, #0x8] mov r1, #0x1 str r1, [r0, #0x0] add r0, r1, #0x0 bx lr thumb_func_start FUN_0205AF54 FUN_0205AF54: ; 0x0205AF54 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_0205AD98 cmp r0, #0x0 bne _0205AF66 mov r0, #0x0 pop {r4, pc} _0205AF66: mov r0, #0x2 str r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0205AF70 FUN_0205AF70: ; 0x0205AF70 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x10] ldr r0, [r4, #0xc] ldrh r1, [r1, #0x0] bl FUN_0205ADDC mov r0, #0x3 str r0, [r4, #0x0] mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0205AF88 FUN_0205AF88: ; 0x0205AF88 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_0205AE28 cmp r0, #0x0 bne _0205AF9A mov r0, #0x0 pop {r4, pc} _0205AF9A: mov r0, #0x4 str r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0205AFA4 FUN_0205AFA4: ; 0x0205AFA4 ldr r1, [r0, #0x8] ldr r3, [r0, #0x10] add r2, r1, #0x1 str r2, [r0, #0x8] ldrh r1, [r3, #0x2] cmp r2, r1 bge _0205AFBA mov r1, #0x1 str r1, [r0, #0x0] add r0, r1, #0x0 bx lr _0205AFBA: add r1, r3, #0x4 str r1, [r0, #0x10] ldrh r1, [r3, #0x4] cmp r1, #0xfe beq _0205AFCC mov r1, #0x0 str r1, [r0, #0x0] mov r0, #0x1 bx lr _0205AFCC: mov r1, #0x1 str r1, [r0, #0x4] mov r1, #0x5 str r1, [r0, #0x0] mov r0, #0x0 bx lr thumb_func_start FUN_0205AFD8 FUN_0205AFD8: ; 0x0205AFD8 mov r0, #0x0 bx lr thumb_func_start FUN_0205AFDC FUN_0205AFDC: ; 0x0205AFDC push {r3-r7, lr} add r7, r0, #0x0 add r4, r1, #0x0 cmp r7, #0x4 blt _0205AFEA bl ErrorHandling _0205AFEA: ldr r3, _0205B01C ; =0x020F6308 ldr r6, [r3, #0x0] cmp r6, #0x0 beq _0205B014 mov r1, #0x0 _0205AFF4: add r2, r1, #0x0 add r5, r6, #0x0 _0205AFF8: ldr r0, [r5, #0x0] cmp r4, r0 bne _0205B004 lsl r0, r7, #0x2 ldr r0, [r6, r0] pop {r3-r7, pc} _0205B004: add r2, r2, #0x1 add r5, r5, #0x4 cmp r2, #0x4 blt _0205AFF8 add r3, r3, #0x4 ldr r6, [r3, #0x0] cmp r6, #0x0 bne _0205AFF4 _0205B014: bl ErrorHandling add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 _0205B01C: .word 0x020F6308 thumb_func_start FUN_0205B020 FUN_0205B020: ; 0x0205B020 push {r4-r5} ldr r4, _0205B054 ; =0x020F6308 ldr r5, [r4, #0x0] cmp r5, #0x0 beq _0205B04A mov r2, #0x0 _0205B02C: add r3, r2, #0x0 _0205B02E: ldr r1, [r5, #0x0] cmp r0, r1 bne _0205B03A add r0, r3, #0x0 pop {r4-r5} bx lr _0205B03A: add r3, r3, #0x1 add r5, r5, #0x4 cmp r3, #0x4 blt _0205B02E add r4, r4, #0x4 ldr r5, [r4, #0x0] cmp r5, #0x0 bne _0205B02C _0205B04A: mov r0, #0x0 mvn r0, r0 pop {r4-r5} bx lr nop _0205B054: .word 0x020F6308 thumb_func_start FUN_0205B058 FUN_0205B058: ; 0x0205B058 push {r3-r5, lr} add r5, r0, #0x0 _0205B05C: add r0, r5, #0x0 bl FUN_020586F0 add r4, r0, #0x0 cmp r4, #0xff beq _0205B07C add r0, r5, #0x0 bl FUN_02058710 add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205B0B4 cmp r0, #0x0 bne _0205B05C _0205B07C: pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205B080 FUN_0205B080: ; 0x0205B080 push {r4, lr} add r4, r0, #0x0 bl FUN_0205B058 add r0, r4, #0x0 mov r1, #0x20 bl FUN_0205842C cmp r0, #0x0 bne _0205B098 mov r0, #0x0 pop {r4, pc} _0205B098: add r0, r4, #0x0 mov r1, #0x20 bl FUN_02058418 add r0, r4, #0x0 mov r1, #0xff bl FUN_020586E8 add r0, r4, #0x0 mov r1, #0x0 bl FUN_020586F8 mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0205B0B4 FUN_0205B0B4: ; 0x0205B0B4 push {r3, lr} lsl r3, r1, #0x2 ldr r1, _0205B0C4 ; =0x020F6440 ldr r3, [r1, r3] lsl r1, r2, #0x2 ldr r1, [r3, r1] blx r1 pop {r3, pc} .balign 4 _0205B0C4: .word 0x020F6440 thumb_func_start FUN_0205B0C8 FUN_0205B0C8: ; 0x0205B0C8 push {r3, lr} mov r1, #0x20 bl FUN_02058410 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0205B0D4 FUN_0205B0D4: ; 0x0205B0D4 push {r4, lr} add r4, r0, #0x0 bl FUN_020584AC add r0, r4, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r4, #0x0 bl FUN_02059C60 add r0, r4, #0x0 bl FUN_02058700 pop {r4, pc} .balign 4 thumb_func_start FUN_0205B0F4 FUN_0205B0F4: ; 0x0205B0F4 push {r3, lr} mov r1, #0x0 bl FUN_0205B0D4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B100 FUN_0205B100: ; 0x0205B100 push {r3, lr} mov r1, #0x1 bl FUN_0205B0D4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B10C FUN_0205B10C: ; 0x0205B10C push {r3, lr} mov r1, #0x2 bl FUN_0205B0D4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B118 FUN_0205B118: ; 0x0205B118 push {r3, lr} mov r1, #0x3 bl FUN_0205B0D4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B124 FUN_0205B124: ; 0x0205B124 push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0xc add r5, r0, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 bl FUN_020585DC add r1, sp, #0x8 ldrh r1, [r1, #0x10] strh r1, [r0, #0x0] strh r7, [r0, #0x2] str r4, [r0, #0x4] str r6, [r0, #0x8] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02059C0C add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020584D8 add r1, sp, #0x8 ldrh r1, [r1, #0x10] add r0, r5, #0x0 bl FUN_02058544 add r0, r5, #0x0 mov r1, #0x4 bl FUN_02058410 add r0, r5, #0x0 bl FUN_02058700 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205B16C FUN_0205B16C: ; 0x0205B16C push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02058600 add r4, r0, #0x0 ldr r1, [r4, #0x4] ldr r2, [r4, #0x8] add r0, r5, #0x0 bl FUN_02059CC8 add r0, r5, #0x0 bl FUN_02059D1C mov r0, #0x2 ldrsh r1, [r4, r0] sub r1, r1, #0x1 strh r1, [r4, #0x2] ldrsh r0, [r4, r0] cmp r0, #0x0 ble _0205B198 mov r0, #0x0 pop {r3-r5, pc} _0205B198: add r0, r5, #0x0 mov r1, #0x28 bl FUN_02058410 add r0, r5, #0x0 bl FUN_02059C60 add r0, r5, #0x0 bl FUN_020586A0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r5, #0x0 bl FUN_02058700 mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205B1C0 FUN_0205B1C0: ; 0x0205B1C0 push {r3, lr} mov r2, #0x1 str r2, [sp, #0x0] mov r1, #0x0 lsl r2, r2, #0xb mov r3, #0x20 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B1D4 FUN_0205B1D4: ; 0x0205B1D4 push {r3, lr} mov r1, #0x1 lsl r2, r1, #0xb mov r3, #0x20 str r1, [sp, #0x0] bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0205B1E8 FUN_0205B1E8: ; 0x0205B1E8 push {r3, lr} mov r1, #0x1 str r1, [sp, #0x0] mov r1, #0x2 lsl r2, r1, #0xa mov r3, #0x20 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B1FC FUN_0205B1FC: ; 0x0205B1FC push {r3, lr} mov r2, #0x1 str r2, [sp, #0x0] mov r1, #0x3 lsl r2, r2, #0xb mov r3, #0x20 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B210 FUN_0205B210: ; 0x0205B210 push {r3, lr} mov r2, #0x2 str r2, [sp, #0x0] mov r1, #0x0 lsl r2, r2, #0xb mov r3, #0x10 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B224 FUN_0205B224: ; 0x0205B224 push {r3, lr} mov r1, #0x2 str r1, [sp, #0x0] mov r1, #0x1 lsl r2, r1, #0xc mov r3, #0x10 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B238 FUN_0205B238: ; 0x0205B238 push {r3, lr} mov r1, #0x2 lsl r2, r1, #0xb mov r3, #0x10 str r1, [sp, #0x0] bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0205B24C FUN_0205B24C: ; 0x0205B24C push {r3, lr} mov r2, #0x2 str r2, [sp, #0x0] mov r1, #0x3 lsl r2, r2, #0xb mov r3, #0x10 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B260 FUN_0205B260: ; 0x0205B260 push {r3, lr} mov r1, #0x3 mov r2, #0x2 str r1, [sp, #0x0] mov r1, #0x0 lsl r2, r2, #0xc mov r3, #0x8 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0205B278 FUN_0205B278: ; 0x0205B278 push {r3, lr} mov r1, #0x3 str r1, [sp, #0x0] mov r1, #0x1 lsl r2, r1, #0xd mov r3, #0x8 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B28C FUN_0205B28C: ; 0x0205B28C push {r3, lr} mov r1, #0x3 str r1, [sp, #0x0] mov r1, #0x2 lsl r2, r1, #0xc mov r3, #0x8 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B2A0 FUN_0205B2A0: ; 0x0205B2A0 push {r3, lr} mov r2, #0x2 mov r1, #0x3 lsl r2, r2, #0xc mov r3, #0x8 str r1, [sp, #0x0] bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B2B4 FUN_0205B2B4: ; 0x0205B2B4 push {r3, lr} mov r3, #0x4 mov r1, #0x0 lsl r2, r3, #0xc str r3, [sp, #0x0] bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0205B2C8 FUN_0205B2C8: ; 0x0205B2C8 push {r3, lr} mov r1, #0x1 mov r3, #0x4 lsl r2, r1, #0xe str r3, [sp, #0x0] bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0205B2DC FUN_0205B2DC: ; 0x0205B2DC push {r3, lr} mov r1, #0x2 mov r3, #0x4 lsl r2, r1, #0xd str r3, [sp, #0x0] bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0205B2F0 FUN_0205B2F0: ; 0x0205B2F0 push {r3, lr} mov r3, #0x4 mov r1, #0x3 lsl r2, r3, #0xc str r3, [sp, #0x0] bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0205B304 FUN_0205B304: ; 0x0205B304 push {r3, lr} mov r1, #0x5 mov r2, #0x2 str r1, [sp, #0x0] mov r1, #0x0 lsl r2, r2, #0xe mov r3, #0x2 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0205B31C FUN_0205B31C: ; 0x0205B31C push {r3, lr} mov r1, #0x5 str r1, [sp, #0x0] mov r1, #0x1 lsl r2, r1, #0xf mov r3, #0x2 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B330 FUN_0205B330: ; 0x0205B330 push {r3, lr} mov r1, #0x5 str r1, [sp, #0x0] mov r1, #0x2 lsl r2, r1, #0xe add r3, r1, #0x0 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B344 FUN_0205B344: ; 0x0205B344 push {r3, lr} mov r1, #0x5 mov r2, #0x2 str r1, [sp, #0x0] mov r1, #0x3 lsl r2, r2, #0xe mov r3, #0x2 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0205B35C FUN_0205B35C: ; 0x0205B35C push {r3, lr} mov r2, #0x1 mov r1, #0x0 lsl r2, r2, #0x10 mov r3, #0x1 str r1, [sp, #0x0] bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B370 FUN_0205B370: ; 0x0205B370 push {r3, lr} mov r1, #0x0 str r1, [sp, #0x0] mov r1, #0x1 lsl r2, r1, #0x10 add r3, r1, #0x0 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B384 FUN_0205B384: ; 0x0205B384 push {r3, lr} mov r1, #0x0 str r1, [sp, #0x0] mov r1, #0x2 lsl r2, r1, #0xf mov r3, #0x1 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B398 FUN_0205B398: ; 0x0205B398 push {r3, lr} mov r1, #0x0 mov r2, #0x1 str r1, [sp, #0x0] mov r1, #0x3 lsl r2, r2, #0x10 mov r3, #0x1 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0205B3B0 FUN_0205B3B0: ; 0x0205B3B0 push {r3, lr} mov r1, #0x9 mov r2, #0x1 str r1, [sp, #0x0] mov r1, #0x0 lsl r2, r2, #0xe mov r3, #0x4 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0205B3C8 FUN_0205B3C8: ; 0x0205B3C8 push {r3, lr} mov r1, #0x9 str r1, [sp, #0x0] mov r1, #0x1 lsl r2, r1, #0xe mov r3, #0x4 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B3DC FUN_0205B3DC: ; 0x0205B3DC push {r3, lr} mov r1, #0x9 str r1, [sp, #0x0] mov r1, #0x2 lsl r2, r1, #0xd mov r3, #0x4 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B3F0 FUN_0205B3F0: ; 0x0205B3F0 push {r3, lr} mov r1, #0x9 mov r2, #0x1 str r1, [sp, #0x0] mov r1, #0x3 lsl r2, r2, #0xe mov r3, #0x4 bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0205B408 FUN_0205B408: ; 0x0205B408 push {r3-r7, lr} add r7, r1, #0x0 add r6, r2, #0x0 add r4, r3, #0x0 mov r1, #0xc add r5, r0, #0x0 bl FUN_020585DC strh r4, [r0, #0x0] add r1, r6, #0x1 strh r1, [r0, #0x2] add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_020584AC add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02058544 add r0, r5, #0x0 bl FUN_02059C60 add r0, r5, #0x0 bl FUN_02058700 pop {r3-r7, pc} thumb_func_start FUN_0205B43C FUN_0205B43C: ; 0x0205B43C push {r4, lr} add r4, r0, #0x0 bl FUN_02058600 mov r1, #0x2 ldrsh r2, [r0, r1] sub r2, r2, #0x1 strh r2, [r0, #0x2] ldrsh r0, [r0, r1] cmp r0, #0x0 ble _0205B456 mov r0, #0x0 pop {r4, pc} _0205B456: add r0, r4, #0x0 mov r1, #0x20 bl FUN_02058410 add r0, r4, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r4, #0x0 bl FUN_02058700 mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0205B470 FUN_0205B470: ; 0x0205B470 push {r3, lr} mov r1, #0x0 mov r2, #0x20 mov r3, #0x1 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B480 FUN_0205B480: ; 0x0205B480 push {r3, lr} mov r1, #0x1 mov r2, #0x20 add r3, r1, #0x0 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B490 FUN_0205B490: ; 0x0205B490 push {r3, lr} mov r1, #0x2 mov r2, #0x20 mov r3, #0x1 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B4A0 FUN_0205B4A0: ; 0x0205B4A0 push {r3, lr} mov r1, #0x3 mov r2, #0x20 mov r3, #0x1 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B4B0 FUN_0205B4B0: ; 0x0205B4B0 push {r3, lr} mov r1, #0x0 mov r2, #0x10 mov r3, #0x2 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B4C0 FUN_0205B4C0: ; 0x0205B4C0 push {r3, lr} mov r1, #0x1 mov r2, #0x10 mov r3, #0x2 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B4D0 FUN_0205B4D0: ; 0x0205B4D0 push {r3, lr} mov r1, #0x2 mov r2, #0x10 add r3, r1, #0x0 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B4E0 FUN_0205B4E0: ; 0x0205B4E0 push {r3, lr} mov r1, #0x3 mov r2, #0x10 mov r3, #0x2 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B4F0 FUN_0205B4F0: ; 0x0205B4F0 push {r3, lr} mov r1, #0x0 mov r2, #0x8 mov r3, #0x3 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B500 FUN_0205B500: ; 0x0205B500 push {r3, lr} mov r1, #0x1 mov r2, #0x8 mov r3, #0x3 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B510 FUN_0205B510: ; 0x0205B510 push {r3, lr} mov r1, #0x2 mov r2, #0x8 mov r3, #0x3 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B520 FUN_0205B520: ; 0x0205B520 push {r3, lr} mov r1, #0x3 mov r2, #0x8 add r3, r1, #0x0 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B530 FUN_0205B530: ; 0x0205B530 push {r3, lr} mov r2, #0x4 mov r1, #0x0 add r3, r2, #0x0 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B540 FUN_0205B540: ; 0x0205B540 push {r3, lr} mov r2, #0x4 mov r1, #0x1 add r3, r2, #0x0 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B550 FUN_0205B550: ; 0x0205B550 push {r3, lr} mov r2, #0x4 mov r1, #0x2 add r3, r2, #0x0 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B560 FUN_0205B560: ; 0x0205B560 push {r3, lr} mov r2, #0x4 mov r1, #0x3 add r3, r2, #0x0 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B570 FUN_0205B570: ; 0x0205B570 push {r3, lr} mov r1, #0x0 mov r2, #0x2 mov r3, #0x5 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B580 FUN_0205B580: ; 0x0205B580 push {r3, lr} mov r1, #0x1 mov r2, #0x2 mov r3, #0x5 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B590 FUN_0205B590: ; 0x0205B590 push {r3, lr} mov r1, #0x2 add r2, r1, #0x0 mov r3, #0x5 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B5A0 FUN_0205B5A0: ; 0x0205B5A0 push {r3, lr} mov r1, #0x3 mov r2, #0x2 mov r3, #0x5 bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B5B0 FUN_0205B5B0: ; 0x0205B5B0 push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0x10 add r5, r0, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 bl FUN_020585DC strb r4, [r0, #0xc] str r6, [r0, #0x0] strb r7, [r0, #0xd] add r2, sp, #0x8 ldrh r1, [r2, #0x10] strb r1, [r0, #0xe] mov r1, #0x14 ldrsh r1, [r2, r1] cmp r6, #0x0 strb r1, [r0, #0xf] ldrh r1, [r2, #0x18] strh r1, [r0, #0x8] bne _0205B5E2 add r0, r5, #0x0 bl FUN_02059C60 b _0205B5EA _0205B5E2: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02059C0C _0205B5EA: ldr r1, _0205B614 ; =0x00010004 add r0, r5, #0x0 bl FUN_02058410 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020584D8 add r1, sp, #0x8 ldrh r1, [r1, #0x10] add r0, r5, #0x0 bl FUN_02058544 add r0, r5, #0x0 bl FUN_02058700 ldr r0, _0205B618 ; =0x0000060B bl FUN_020054C8 pop {r3-r7, pc} nop _0205B614: .word 0x00010004 _0205B618: .word 0x0000060B thumb_func_start FUN_0205B61C FUN_0205B61C: ; 0x0205B61C push {r3-r5, lr} sub sp, #0x18 add r5, r0, #0x0 bl FUN_02058600 add r4, r0, #0x0 ldr r2, [r4, #0x0] cmp r2, #0x0 beq _0205B66C mov r1, #0xc ldrsb r1, [r4, r1] add r0, r5, #0x0 bl FUN_02059CC8 add r0, r5, #0x0 bl FUN_02059D1C mov r0, #0x1 ldr r1, [r4, #0x4] lsl r0, r0, #0x10 cmp r1, r0 blt _0205B65E mov r0, #0x0 str r0, [r4, #0x4] mov r1, #0xc ldrsb r1, [r4, r1] add r0, r5, #0x0 bl FUN_02059C0C add r0, r5, #0x0 mov r1, #0x4 bl FUN_02058410 _0205B65E: ldr r1, [r4, #0x0] cmp r1, #0x0 bge _0205B666 neg r1, r1 _0205B666: ldr r0, [r4, #0x4] add r0, r0, r1 str r0, [r4, #0x4] _0205B66C: ldrh r1, [r4, #0xa] ldrh r0, [r4, #0x8] add r0, r1, r0 strh r0, [r4, #0xa] mov r0, #0xf ldrh r1, [r4, #0xa] lsl r0, r0, #0x8 cmp r1, r0 bls _0205B680 strh r0, [r4, #0xa] _0205B680: mov r1, #0xf ldrsb r1, [r4, r1] ldrh r0, [r4, #0xa] lsl r2, r1, #0x2 ldr r1, _0205B6F8 ; =0x02105F9C lsr r0, r0, #0x8 lsl r0, r0, #0x10 ldr r2, [r1, r2] mov r1, #0x0 str r1, [sp, #0xc] lsr r0, r0, #0xe ldr r0, [r2, r0] str r0, [sp, #0x10] str r1, [sp, #0x14] add r0, r5, #0x0 add r1, sp, #0xc bl FUN_02058B94 mov r0, #0xd ldrsb r1, [r4, r0] sub r1, r1, #0x1 strb r1, [r4, #0xd] ldrsb r0, [r4, r0] cmp r0, #0x0 ble _0205B6B8 add sp, #0x18 mov r0, #0x0 pop {r3-r5, pc} _0205B6B8: add r1, sp, #0x0 mov r0, #0x0 str r0, [r1, #0x0] str r0, [r1, #0x4] str r0, [r1, #0x8] add r0, r5, #0x0 bl FUN_02058B94 ldr r1, _0205B6FC ; =0x00020028 add r0, r5, #0x0 bl FUN_02058410 add r0, r5, #0x0 bl FUN_02059C60 add r0, r5, #0x0 bl FUN_020586A0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r5, #0x0 bl FUN_02058700 ldr r0, _0205B700 ; =0x00000647 bl FUN_020054C8 mov r0, #0x1 add sp, #0x18 pop {r3-r5, pc} nop _0205B6F8: .word 0x02105F9C _0205B6FC: .word 0x00020028 _0205B700: .word 0x00000647 thumb_func_start FUN_0205B704 FUN_0205B704: ; 0x0205B704 push {lr} sub sp, #0xc mov r2, #0x2 str r2, [sp, #0x0] mov r1, #0x0 str r1, [sp, #0x4] add r2, #0xfe str r2, [sp, #0x8] add r2, r1, #0x0 mov r3, #0x10 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 thumb_func_start FUN_0205B724 FUN_0205B724: ; 0x0205B724 push {lr} sub sp, #0xc mov r1, #0x2 str r1, [sp, #0x0] mov r2, #0x0 str r2, [sp, #0x4] add r1, #0xfe str r1, [sp, #0x8] mov r1, #0x1 mov r3, #0x10 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 thumb_func_start FUN_0205B744 FUN_0205B744: ; 0x0205B744 push {lr} sub sp, #0xc mov r1, #0x2 add r3, r1, #0x0 str r1, [sp, #0x0] mov r2, #0x0 str r2, [sp, #0x4] add r3, #0xfe str r3, [sp, #0x8] mov r3, #0x10 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 thumb_func_start FUN_0205B764 FUN_0205B764: ; 0x0205B764 push {lr} sub sp, #0xc mov r1, #0x2 str r1, [sp, #0x0] mov r2, #0x0 str r2, [sp, #0x4] add r1, #0xfe str r1, [sp, #0x8] mov r1, #0x3 mov r3, #0x10 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 thumb_func_start FUN_0205B784 FUN_0205B784: ; 0x0205B784 push {lr} sub sp, #0xc mov r1, #0x3 str r1, [sp, #0x0] mov r1, #0x0 mov r2, #0x2 str r1, [sp, #0x4] lsl r2, r2, #0x8 str r2, [sp, #0x8] add r2, r1, #0x0 mov r3, #0x8 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} thumb_func_start FUN_0205B7A4 FUN_0205B7A4: ; 0x0205B7A4 push {lr} sub sp, #0xc mov r1, #0x3 str r1, [sp, #0x0] mov r2, #0x0 mov r1, #0x2 str r2, [sp, #0x4] lsl r1, r1, #0x8 str r1, [sp, #0x8] mov r1, #0x1 mov r3, #0x8 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} thumb_func_start FUN_0205B7C4 FUN_0205B7C4: ; 0x0205B7C4 push {lr} sub sp, #0xc mov r1, #0x3 str r1, [sp, #0x0] mov r2, #0x0 mov r1, #0x2 str r2, [sp, #0x4] lsl r1, r1, #0x8 str r1, [sp, #0x8] mov r1, #0x2 mov r3, #0x8 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} thumb_func_start FUN_0205B7E4 FUN_0205B7E4: ; 0x0205B7E4 push {lr} sub sp, #0xc mov r1, #0x3 mov r3, #0x2 str r1, [sp, #0x0] mov r2, #0x0 str r2, [sp, #0x4] lsl r3, r3, #0x8 str r3, [sp, #0x8] mov r3, #0x8 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 thumb_func_start FUN_0205B804 FUN_0205B804: ; 0x0205B804 push {lr} sub sp, #0xc mov r1, #0x3 str r1, [sp, #0x0] mov r1, #0x0 mov r2, #0x2 str r1, [sp, #0x4] lsl r2, r2, #0x8 str r2, [sp, #0x8] lsl r2, r2, #0x4 mov r3, #0x8 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} thumb_func_start FUN_0205B824 FUN_0205B824: ; 0x0205B824 push {lr} sub sp, #0xc mov r1, #0x3 str r1, [sp, #0x0] mov r1, #0x0 str r1, [sp, #0x4] mov r1, #0x2 lsl r1, r1, #0x8 str r1, [sp, #0x8] mov r1, #0x1 lsl r2, r1, #0xd mov r3, #0x8 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 thumb_func_start FUN_0205B848 FUN_0205B848: ; 0x0205B848 push {lr} sub sp, #0xc mov r1, #0x3 str r1, [sp, #0x0] mov r1, #0x0 str r1, [sp, #0x4] mov r1, #0x2 lsl r1, r1, #0x8 str r1, [sp, #0x8] mov r1, #0x2 lsl r2, r1, #0xc mov r3, #0x8 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 thumb_func_start FUN_0205B86C FUN_0205B86C: ; 0x0205B86C push {lr} sub sp, #0xc mov r1, #0x3 str r1, [sp, #0x0] mov r2, #0x0 str r2, [sp, #0x4] mov r2, #0x2 lsl r2, r2, #0x8 str r2, [sp, #0x8] lsl r2, r2, #0x4 mov r3, #0x8 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} thumb_func_start FUN_0205B88C FUN_0205B88C: ; 0x0205B88C push {lr} sub sp, #0xc mov r2, #0x3 str r2, [sp, #0x0] mov r1, #0x0 str r1, [sp, #0x4] add r2, #0xfd str r2, [sp, #0x8] mov r2, #0x2 lsl r2, r2, #0xc mov r3, #0x10 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} thumb_func_start FUN_0205B8AC FUN_0205B8AC: ; 0x0205B8AC push {lr} sub sp, #0xc mov r2, #0x3 str r2, [sp, #0x0] mov r1, #0x0 str r1, [sp, #0x4] add r2, #0xfd mov r1, #0x1 str r2, [sp, #0x8] lsl r2, r1, #0xd mov r3, #0x10 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} thumb_func_start FUN_0205B8CC FUN_0205B8CC: ; 0x0205B8CC push {lr} sub sp, #0xc mov r2, #0x3 str r2, [sp, #0x0] mov r1, #0x0 str r1, [sp, #0x4] add r2, #0xfd mov r1, #0x2 str r2, [sp, #0x8] lsl r2, r1, #0xc mov r3, #0x10 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} thumb_func_start FUN_0205B8EC FUN_0205B8EC: ; 0x0205B8EC push {lr} sub sp, #0xc mov r1, #0x3 str r1, [sp, #0x0] mov r2, #0x0 str r2, [sp, #0x4] add r2, r1, #0x0 add r2, #0xfd str r2, [sp, #0x8] mov r2, #0x2 lsl r2, r2, #0xc mov r3, #0x10 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 thumb_func_start FUN_0205B910 FUN_0205B910: ; 0x0205B910 push {lr} sub sp, #0xc mov r1, #0xa str r1, [sp, #0x0] mov r1, #0x0 str r1, [sp, #0x4] mov r1, #0xf0 str r1, [sp, #0x8] mov r1, #0x2 lsl r2, r1, #0xb mov r3, #0x10 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} thumb_func_start FUN_0205B930 FUN_0205B930: ; 0x0205B930 push {lr} sub sp, #0xc mov r1, #0xa str r1, [sp, #0x0] mov r1, #0x0 str r1, [sp, #0x4] mov r1, #0xf0 mov r2, #0x1 str r1, [sp, #0x8] mov r1, #0x3 lsl r2, r2, #0xc mov r3, #0x10 bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 thumb_func_start FUN_0205B954 FUN_0205B954: ; 0x0205B954 push {lr} sub sp, #0xc mov r1, #0xb str r1, [sp, #0x0] mov r1, #0x0 str r1, [sp, #0x4] mov r1, #0x5 lsl r1, r1, #0x6 str r1, [sp, #0x8] mov r1, #0x2 lsl r2, r1, #0xd mov r3, #0xc bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 thumb_func_start FUN_0205B978 FUN_0205B978: ; 0x0205B978 push {lr} sub sp, #0xc mov r1, #0xb str r1, [sp, #0x0] mov r1, #0x0 str r1, [sp, #0x4] mov r1, #0x5 lsl r1, r1, #0x6 mov r2, #0x1 str r1, [sp, #0x8] mov r1, #0x3 lsl r2, r2, #0xe mov r3, #0xc bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} thumb_func_start FUN_0205B99C FUN_0205B99C: ; 0x0205B99C push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 mov r1, #0x4 bl FUN_020585DC str r4, [r0, #0x0] add r0, r5, #0x0 bl FUN_02058700 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205B9B4 FUN_0205B9B4: ; 0x0205B9B4 push {r4, lr} add r4, r0, #0x0 bl FUN_02058600 ldr r1, [r0, #0x0] cmp r1, #0x0 beq _0205B9CA sub r1, r1, #0x1 str r1, [r0, #0x0] mov r0, #0x0 pop {r4, pc} _0205B9CA: add r0, r4, #0x0 bl FUN_02058700 mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0205B9D4 FUN_0205B9D4: ; 0x0205B9D4 push {r3, lr} mov r1, #0x1 bl FUN_0205B99C mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B9E0 FUN_0205B9E0: ; 0x0205B9E0 push {r3, lr} mov r1, #0x2 bl FUN_0205B99C mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B9EC FUN_0205B9EC: ; 0x0205B9EC push {r3, lr} mov r1, #0x4 bl FUN_0205B99C mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205B9F8 FUN_0205B9F8: ; 0x0205B9F8 push {r3, lr} mov r1, #0x8 bl FUN_0205B99C mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BA04 FUN_0205BA04: ; 0x0205BA04 push {r3, lr} mov r1, #0xf bl FUN_0205B99C mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BA10 FUN_0205BA10: ; 0x0205BA10 push {r3, lr} mov r1, #0x10 bl FUN_0205B99C mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BA1C FUN_0205BA1C: ; 0x0205BA1C push {r3, lr} mov r1, #0x20 bl FUN_0205B99C mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BA28 FUN_0205BA28: ; 0x0205BA28 push {r4, lr} mov r1, #0x8 add r4, r0, #0x0 bl FUN_020585DC mov r1, #0x1 lsl r1, r1, #0x10 str r1, [r0, #0x4] add r0, r4, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r4, #0x0 bl FUN_02058700 mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0205BA4C FUN_0205BA4C: ; 0x0205BA4C push {r4-r5, lr} sub sp, #0xc add r5, r0, #0x0 bl FUN_02058600 add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, [r4, #0x4] add r0, r1, r0 str r0, [r4, #0x0] add r1, sp, #0x0 mov r0, #0x0 str r0, [r1, #0x0] str r0, [r1, #0x4] str r0, [r1, #0x8] ldr r0, [r4, #0x0] str r0, [sp, #0x4] add r0, r5, #0x0 bl FUN_02058B94 ldr r1, [r4, #0x0] asr r0, r1, #0xe lsr r0, r0, #0x11 add r0, r1, r0 asr r0, r0, #0xf cmp r0, #0x28 bge _0205BA88 add sp, #0xc mov r0, #0x0 pop {r4-r5, pc} _0205BA88: add r0, r5, #0x0 bl FUN_02058700 mov r0, #0x1 add sp, #0xc pop {r4-r5, pc} thumb_func_start FUN_0205BA94 FUN_0205BA94: ; 0x0205BA94 push {r4, lr} mov r1, #0x8 add r4, r0, #0x0 bl FUN_020585DC mov r1, #0x5 lsl r1, r1, #0x12 str r1, [r0, #0x0] ldr r1, _0205BABC ; =0xFFFF0000 str r1, [r0, #0x4] add r0, r4, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r4, #0x0 bl FUN_02058700 mov r0, #0x1 pop {r4, pc} nop _0205BABC: .word 0xFFFF0000 thumb_func_start FUN_0205BAC0 FUN_0205BAC0: ; 0x0205BAC0 push {r4-r5, lr} sub sp, #0xc add r5, r0, #0x0 bl FUN_02058600 add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, [r4, #0x4] add r0, r1, r0 str r0, [r4, #0x0] bpl _0205BADA mov r0, #0x0 str r0, [r4, #0x0] _0205BADA: add r1, sp, #0x0 mov r0, #0x0 str r0, [r1, #0x0] str r0, [r1, #0x4] str r0, [r1, #0x8] ldr r0, [r4, #0x0] str r0, [sp, #0x4] add r0, r5, #0x0 bl FUN_02058B94 ldr r0, [r4, #0x0] cmp r0, #0x0 ble _0205BAFA add sp, #0xc mov r0, #0x0 pop {r4-r5, pc} _0205BAFA: add r0, r5, #0x0 bl FUN_02058700 mov r0, #0x1 add sp, #0xc pop {r4-r5, pc} .balign 4 thumb_func_start FUN_0205BB08 FUN_0205BB08: ; 0x0205BB08 push {r4, lr} mov r1, #0x2 add r4, r0, #0x0 lsl r1, r1, #0x8 bl FUN_02058410 add r0, r4, #0x0 bl FUN_02058700 mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0205BB20 FUN_0205BB20: ; 0x0205BB20 push {r4, lr} mov r1, #0x2 add r4, r0, #0x0 lsl r1, r1, #0x8 bl FUN_02058418 add r0, r4, #0x0 bl FUN_02058700 mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0205BB38 FUN_0205BB38: ; 0x0205BB38 push {r4, lr} add r4, r0, #0x0 mov r1, #0x80 bl FUN_02058410 add r0, r4, #0x0 bl FUN_02058700 mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0205BB4C FUN_0205BB4C: ; 0x0205BB4C push {r4, lr} add r4, r0, #0x0 mov r1, #0x80 bl FUN_02058418 add r0, r4, #0x0 bl FUN_02058700 mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0205BB60 FUN_0205BB60: ; 0x0205BB60 push {r4, lr} mov r1, #0x1 add r4, r0, #0x0 lsl r1, r1, #0x8 bl FUN_02058410 add r0, r4, #0x0 bl FUN_02058700 mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0205BB78 FUN_0205BB78: ; 0x0205BB78 push {r4, lr} mov r1, #0x1 add r4, r0, #0x0 lsl r1, r1, #0x8 bl FUN_02058418 add r0, r4, #0x0 bl FUN_02058700 mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0205BB90 FUN_0205BB90: ; 0x0205BB90 push {r4-r6, lr} add r6, r1, #0x0 mov r1, #0x8 add r5, r0, #0x0 bl FUN_020585DC add r4, r0, #0x0 str r6, [r4, #0x0] add r0, r5, #0x0 add r1, r6, #0x0 mov r2, #0x1 bl FUN_021E7AC0 str r0, [r4, #0x4] add r0, r5, #0x0 bl FUN_02058700 pop {r4-r6, pc} thumb_func_start FUN_0205BBB4 FUN_0205BBB4: ; 0x0205BBB4 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02058600 add r4, r0, #0x0 ldr r0, [r4, #0x4] bl FUN_021E799C cmp r0, #0x1 bne _0205BBD8 ldr r0, [r4, #0x4] bl FUN_02064520 add r0, r5, #0x0 bl FUN_02058700 mov r0, #0x1 pop {r3-r5, pc} _0205BBD8: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0205BBDC FUN_0205BBDC: ; 0x0205BBDC push {r3, lr} mov r1, #0x0 bl FUN_0205BB90 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0205BBE8 FUN_0205BBE8: ; 0x0205BBE8 push {r3, lr} mov r1, #0x1 bl FUN_0205BB90 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0205BBF4 FUN_0205BBF4: ; 0x0205BBF4 push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0x8 add r5, r0, #0x0 add r7, r2, #0x0 add r6, r3, #0x0 bl FUN_020585DC strh r4, [r0, #0x0] strh r6, [r0, #0x2] strh r7, [r0, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02059C0C add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020584D8 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02058544 add r0, r5, #0x0 mov r1, #0x4 bl FUN_02058410 add r0, r5, #0x0 bl FUN_02058700 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205BC34 FUN_0205BC34: ; 0x0205BC34 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 bl FUN_02058600 add r4, r0, #0x0 mov r2, #0x6 ldrsh r2, [r4, r2] mov r1, #0x0 ldrsh r1, [r4, r1] lsl r2, r2, #0x2 ldr r2, [r6, r2] add r0, r5, #0x0 bl FUN_02059CC8 add r0, r5, #0x0 bl FUN_02059D1C mov r0, #0x6 ldrsh r1, [r4, r0] add r1, r1, #0x1 strh r1, [r4, #0x6] ldrsh r1, [r4, r0] mov r0, #0x4 ldrsh r0, [r4, r0] cmp r1, r0 bge _0205BC6E mov r0, #0x0 pop {r4-r6, pc} _0205BC6E: add r0, r5, #0x0 mov r1, #0x28 bl FUN_02058410 add r0, r5, #0x0 bl FUN_02059C60 add r0, r5, #0x0 bl FUN_020586A0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r5, #0x0 bl FUN_02058700 mov r0, #0x1 pop {r4-r6, pc} thumb_func_start FUN_0205BC94 FUN_0205BC94: ; 0x0205BC94 push {r3, lr} mov r2, #0x6 mov r1, #0x0 add r3, r2, #0x0 bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BCA4 FUN_0205BCA4: ; 0x0205BCA4 push {r3, lr} mov r2, #0x6 mov r1, #0x1 add r3, r2, #0x0 bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BCB4 FUN_0205BCB4: ; 0x0205BCB4 push {r3, lr} mov r2, #0x6 mov r1, #0x2 add r3, r2, #0x0 bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BCC4 FUN_0205BCC4: ; 0x0205BCC4 push {r3, lr} mov r2, #0x6 mov r1, #0x3 add r3, r2, #0x0 bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BCD4 FUN_0205BCD4: ; 0x0205BCD4 push {r3, lr} ldr r1, _0205BCE8 ; =0x020F6C6C bl FUN_0205BC34 cmp r0, #0x1 bne _0205BCE4 mov r0, #0x1 pop {r3, pc} _0205BCE4: mov r0, #0x0 pop {r3, pc} .balign 4 _0205BCE8: .word 0x020F6C6C thumb_func_start FUN_0205BCEC FUN_0205BCEC: ; 0x0205BCEC push {r3, lr} mov r1, #0x0 mov r2, #0x3 mov r3, #0x7 bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BCFC FUN_0205BCFC: ; 0x0205BCFC push {r3, lr} mov r1, #0x1 mov r2, #0x3 mov r3, #0x7 bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BD0C FUN_0205BD0C: ; 0x0205BD0C push {r3, lr} mov r1, #0x2 mov r2, #0x3 mov r3, #0x7 bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BD1C FUN_0205BD1C: ; 0x0205BD1C push {r3, lr} mov r1, #0x3 add r2, r1, #0x0 mov r3, #0x7 bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BD2C FUN_0205BD2C: ; 0x0205BD2C push {r3, lr} ldr r1, _0205BD40 ; =0x020F6C48 bl FUN_0205BC34 cmp r0, #0x1 bne _0205BD3C mov r0, #0x1 pop {r3, pc} _0205BD3C: mov r0, #0x0 pop {r3, pc} .balign 4 _0205BD40: .word 0x020F6C48 thumb_func_start FUN_0205BD44 FUN_0205BD44: ; 0x0205BD44 push {r3, lr} mov r1, #0x0 mov r2, #0x7 mov r3, #0x8 bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BD54 FUN_0205BD54: ; 0x0205BD54 push {r3, lr} mov r1, #0x1 mov r2, #0x7 mov r3, #0x8 bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BD64 FUN_0205BD64: ; 0x0205BD64 push {r3, lr} mov r1, #0x2 mov r2, #0x7 mov r3, #0x8 bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BD74 FUN_0205BD74: ; 0x0205BD74 push {r3, lr} mov r1, #0x3 mov r2, #0x7 mov r3, #0x8 bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0205BD84 FUN_0205BD84: ; 0x0205BD84 push {r3, lr} ldr r1, _0205BD98 ; =0x020F6C84 bl FUN_0205BC34 cmp r0, #0x1 bne _0205BD94 mov r0, #0x1 pop {r3, pc} _0205BD94: mov r0, #0x0 pop {r3, pc} .balign 4 _0205BD98: .word 0x020F6C84 thumb_func_start FUN_0205BD9C FUN_0205BD9C: ; 0x0205BD9C push {r4, lr} add r4, r0, #0x0 mov r1, #0x4 bl FUN_020585DC add r0, r4, #0x0 mov r1, #0x9 bl FUN_02058544 add r0, r4, #0x0 bl FUN_02058700 mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_0205BDB8 FUN_0205BDB8: ; 0x0205BDB8 push {r4, lr} add r4, r0, #0x0 bl FUN_02058600 ldr r1, [r0, #0x0] add r1, r1, #0x1 str r1, [r0, #0x0] cmp r1, #0x8 blt _0205BDE0 add r0, r4, #0x0 mov r1, #0x1 bl FUN_020584AC add r0, r4, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r4, #0x0 bl FUN_02058700 _0205BDE0: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_0205BDE4 FUN_0205BDE4: ; 0x0205BDE4 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 mov r1, #0x4 bl FUN_020585DC add r0, r4, #0x0 bl FUN_0205EB20 cmp r0, #0x0 beq _0205BDFE bl FUN_02064520 _0205BDFE: add r1, sp, #0x0 mov r0, #0x0 str r0, [r1, #0x0] str r0, [r1, #0x4] str r0, [r1, #0x8] add r0, r4, #0x0 bl FUN_02058B94 add r0, r4, #0x0 bl FUN_0224D2E0 ldr r1, _0205BE34 ; =0x00010004 add r0, r4, #0x0 bl FUN_02058410 mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0x14 bl FUN_02058418 add r0, r4, #0x0 bl FUN_02058700 mov r0, #0x0 add sp, #0xc pop {r3-r4, pc} nop _0205BE34: .word 0x00010004 thumb_func_start FUN_0205BE38 FUN_0205BE38: ; 0x0205BE38 push {r4-r5, lr} sub sp, #0xc add r5, r0, #0x0 bl FUN_02058600 add r4, r0, #0x0 ldr r0, _0205BE98 ; =0x02105F9C add r1, sp, #0x0 ldr r2, [r0, #0x0] mov r0, #0x0 str r0, [r1, #0x0] str r0, [r1, #0x4] str r0, [r1, #0x8] ldr r0, [r4, #0x0] lsl r0, r0, #0x2 ldr r0, [r2, r0] str r0, [sp, #0x4] add r0, r5, #0x0 bl FUN_02058B94 ldr r0, [r4, #0x0] add r0, r0, #0x2 str r0, [r4, #0x0] cmp r0, #0x10 bhs _0205BE70 add sp, #0xc mov r0, #0x0 pop {r4-r5, pc} _0205BE70: mov r0, #0x0 str r0, [sp, #0x4] add r0, r5, #0x0 add r1, sp, #0x0 bl FUN_02058B94 ldr r1, _0205BE9C ; =0x00020028 add r0, r5, #0x0 bl FUN_02058410 add r0, r5, #0x0 bl FUN_0205EB2C add r0, r5, #0x0 bl FUN_02058700 mov r0, #0x1 add sp, #0xc pop {r4-r5, pc} nop _0205BE98: .word 0x02105F9C _0205BE9C: .word 0x00020028 thumb_func_start FUN_0205BEA0 FUN_0205BEA0: ; 0x0205BEA0 push {r4, lr} add r4, r0, #0x0 mov r1, #0x4 bl FUN_020585DC add r0, r4, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r4, #0x0 bl FUN_02058700 mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_0205BEBC FUN_0205BEBC: ; 0x0205BEBC push {r4, lr} add r4, r0, #0x0 mov r1, #0x4 bl FUN_020585DC add r0, r4, #0x0 mov r1, #0x1 bl FUN_02058544 add r0, r4, #0x0 bl FUN_02058700 mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_0205BED8 FUN_0205BED8: ; 0x0205BED8 push {r4, lr} add r4, r0, #0x0 bl FUN_02058600 ldr r1, [r0, #0x0] add r1, r1, #0x1 str r1, [r0, #0x0] cmp r1, #0x15 bhs _0205BEEE mov r0, #0x0 pop {r4, pc} _0205BEEE: add r0, r4, #0x0 bl FUN_02058700 mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0205BEF8 FUN_0205BEF8: ; 0x0205BEF8 ldr r3, _0205BEFC ; =FUN_0205BF24 bx r3 .balign 4 _0205BEFC: .word FUN_0205BF24 thumb_func_start FUN_0205BF00 FUN_0205BF00: ; 0x0205BF00 push {r4, lr} add r4, r0, #0x0 bl FUN_0205BF40 cmp r0, #0x0 bne _0205BF10 mov r0, #0x0 pop {r4, pc} _0205BF10: add r0, r4, #0x0 bl FUN_0205BF5C cmp r0, #0x0 beq _0205BF1E mov r0, #0x1 pop {r4, pc} _0205BF1E: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0205BF24 FUN_0205BF24: ; 0x0205BF24 push {r4, lr} add r4, r0, #0x0 bl FUN_02058488 add r1, r0, #0x0 lsl r2, r1, #0x2 ldr r1, _0205BF3C ; =0x020F7118 add r0, r4, #0x0 ldr r1, [r1, r2] blx r1 pop {r4, pc} nop _0205BF3C: .word 0x020F7118 thumb_func_start FUN_0205BF40 FUN_0205BF40: ; 0x0205BF40 push {r4, lr} add r4, r0, #0x0 bl FUN_02058488 add r1, r0, #0x0 lsl r2, r1, #0x2 ldr r1, _0205BF58 ; =0x020F7148 add r0, r4, #0x0 ldr r1, [r1, r2] blx r1 pop {r4, pc} nop _0205BF58: .word 0x020F7148 thumb_func_start FUN_0205BF5C FUN_0205BF5C: ; 0x0205BF5C push {r4, lr} add r4, r0, #0x0 bl FUN_02058488 add r1, r0, #0x0 lsl r2, r1, #0x2 ldr r1, _0205BF74 ; =0x020F7178 add r0, r4, #0x0 ldr r1, [r1, r2] blx r1 pop {r4, pc} nop _0205BF74: .word 0x020F7178 thumb_func_start FUN_0205BF78 FUN_0205BF78: ; 0x0205BF78 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02058B2C add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02058B14 cmp r5, r0 beq _0205BF90 mov r0, #0x1 pop {r3-r5, pc} _0205BF90: add r0, r4, #0x0 bl FUN_02058B4C add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02058B24 cmp r5, r0 beq _0205BFA6 mov r0, #0x1 pop {r3-r5, pc} _0205BFA6: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205BFAC FUN_0205BFAC: ; 0x0205BFAC push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02058B2C add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02058B14 cmp r5, r0 beq _0205BFC4 mov r0, #0x0 pop {r3-r5, pc} _0205BFC4: add r0, r4, #0x0 bl FUN_02058B4C add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02058B24 cmp r5, r0 bne _0205BFDA mov r0, #0x1 pop {r3-r5, pc} _0205BFDA: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205BFE0 FUN_0205BFE0: ; 0x0205BFE0 bx lr .balign 4 thumb_func_start FUN_0205BFE4 FUN_0205BFE4: ; 0x0205BFE4 mov r0, #0x0 bx lr thumb_func_start FUN_0205BFE8 FUN_0205BFE8: ; 0x0205BFE8 mov r0, #0x0 bx lr thumb_func_start FUN_0205BFEC FUN_0205BFEC: ; 0x0205BFEC push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x9 bl FUN_020585B4 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x1 bl FUN_02058510 strb r0, [r4, #0x3] pop {r3-r5, pc} thumb_func_start FUN_0205C004 FUN_0205C004: ; 0x0205C004 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_020585D8 add r4, r0, #0x0 ldrb r0, [r4, #0x0] cmp r0, #0x3 bhi _0205C07C add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205C020: ; jump table (using 16-bit offset) .short _0205C028 - _0205C020 - 2; case 0 .short _0205C03A - _0205C020 - 2; case 1 .short _0205C062 - _0205C020 - 2; case 2 .short _0205C078 - _0205C020 - 2; case 3 _0205C028: add r0, r5, #0x0 bl FUN_0205BF78 cmp r0, #0x1 bne _0205C07C ldrb r0, [r4, #0x0] add r0, r0, #0x1 strb r0, [r4, #0x0] b _0205C07C _0205C03A: add r0, r5, #0x0 bl FUN_0205BFAC cmp r0, #0x0 beq _0205C07C mov r0, #0x2 ldrsb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, #0x2] ldrsb r1, [r4, r0] mov r0, #0x3 ldrsb r0, [r4, r0] cmp r1, r0 bge _0205C05C mov r0, #0x0 strb r0, [r4, #0x0] b _0205C07C _0205C05C: ldrb r0, [r4, #0x0] add r0, r0, #0x1 strb r0, [r4, #0x0] _0205C062: add r0, r5, #0x0 bl FUN_02058854 cmp r0, #0x1 beq _0205C07C ldrb r0, [r4, #0x0] add r0, r0, #0x1 strb r0, [r4, #0x0] mov r0, #0x0 strb r0, [r4, #0x2] strb r0, [r4, #0x1] _0205C078: mov r0, #0x1 pop {r3-r5, pc} _0205C07C: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0205C080 FUN_0205C080: ; 0x0205C080 push {r4-r6, lr} sub sp, #0x20 add r5, r0, #0x0 bl FUN_020585D8 add r4, r0, #0x0 ldrb r0, [r4, #0x1] cmp r0, #0x3 bhi _0205C15E add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205C09E: ; jump table (using 16-bit offset) .short _0205C0A6 - _0205C09E - 2; case 0 .short _0205C0C8 - _0205C09E - 2; case 1 .short _0205C0FA - _0205C09E - 2; case 2 .short _0205C110 - _0205C09E - 2; case 3 _0205C0A6: ldr r3, _0205C164 ; =0x020F70D8 add r2, sp, #0x10 ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} add r0, r5, #0x0 bl FUN_020584C4 strb r0, [r4, #0x4] lsl r1, r0, #0x2 add r0, sp, #0x10 ldr r0, [r0, r1] strb r0, [r4, #0x5] ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] _0205C0C8: ldr r6, _0205C168 ; =0x020F70E8 add r3, sp, #0x0 add r2, r3, #0x0 ldmia r6!, {r0-r1} stmia r3!, {r0-r1} ldmia r6!, {r0-r1} stmia r3!, {r0-r1} mov r0, #0x5 ldrsb r0, [r4, r0] lsl r3, r0, #0x3 mov r0, #0x6 ldrsb r0, [r4, r0] lsl r1, r0, #0x2 add r0, r2, r3 ldr r0, [r1, r0] mov r1, #0x0 bl FUN_0205AFDC add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205AE0C ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] _0205C0FA: add r0, r5, #0x0 bl FUN_0205B080 cmp r0, #0x0 bne _0205C10A add sp, #0x20 mov r0, #0x1 pop {r4-r6, pc} _0205C10A: ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] _0205C110: mov r0, #0x8 ldrsb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, #0x8] ldrsb r0, [r4, r0] cmp r0, #0x8 bge _0205C124 add sp, #0x20 mov r0, #0x1 pop {r4-r6, pc} _0205C124: mov r0, #0x0 strb r0, [r4, #0x8] mov r0, #0x7 ldrsb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, #0x7] ldrsb r0, [r4, r0] cmp r0, #0x4 bge _0205C148 mov r0, #0x6 ldrsb r0, [r4, r0] add sp, #0x20 add r1, r0, #0x1 mov r0, #0x1 and r1, r0 strb r1, [r4, #0x6] strb r0, [r4, #0x1] pop {r4-r6, pc} _0205C148: mov r1, #0x4 ldrsb r1, [r4, r1] add r0, r5, #0x0 bl FUN_020584AC ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] mov r0, #0x0 strb r0, [r4, #0x7] strb r0, [r4, #0x0] _0205C15E: mov r0, #0x0 add sp, #0x20 pop {r4-r6, pc} .balign 4 _0205C164: .word 0x020F70D8 _0205C168: .word 0x020F70E8 thumb_func_start FUN_0205C16C FUN_0205C16C: ; 0x0205C16C push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x9 bl FUN_020585B4 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x1 bl FUN_02058510 strb r0, [r4, #0x3] add r0, r5, #0x0 bl FUN_02058488 cmp r0, #0x5 beq _0205C190 mov r0, #0x1 b _0205C192 _0205C190: mov r0, #0x0 _0205C192: strb r0, [r4, #0x5] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205C198 FUN_0205C198: ; 0x0205C198 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_020585D8 add r4, r0, #0x0 ldrb r0, [r4, #0x0] cmp r0, #0x3 bhi _0205C210 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205C1B4: ; jump table (using 16-bit offset) .short _0205C1BC - _0205C1B4 - 2; case 0 .short _0205C1CE - _0205C1B4 - 2; case 1 .short _0205C1F6 - _0205C1B4 - 2; case 2 .short _0205C20C - _0205C1B4 - 2; case 3 _0205C1BC: add r0, r5, #0x0 bl FUN_0205BF78 cmp r0, #0x1 bne _0205C210 ldrb r0, [r4, #0x0] add r0, r0, #0x1 strb r0, [r4, #0x0] b _0205C210 _0205C1CE: add r0, r5, #0x0 bl FUN_0205BFAC cmp r0, #0x0 beq _0205C210 mov r0, #0x2 ldrsb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, #0x2] ldrsb r1, [r4, r0] mov r0, #0x3 ldrsb r0, [r4, r0] cmp r1, r0 bge _0205C1F0 mov r0, #0x0 strb r0, [r4, #0x0] b _0205C210 _0205C1F0: ldrb r0, [r4, #0x0] add r0, r0, #0x1 strb r0, [r4, #0x0] _0205C1F6: add r0, r5, #0x0 bl FUN_02058854 cmp r0, #0x1 beq _0205C210 ldrb r0, [r4, #0x0] add r0, r0, #0x1 strb r0, [r4, #0x0] mov r0, #0x0 strb r0, [r4, #0x2] strb r0, [r4, #0x1] _0205C20C: mov r0, #0x1 pop {r3-r5, pc} _0205C210: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0205C214 FUN_0205C214: ; 0x0205C214 push {r3-r7, lr} sub sp, #0x20 ldr r3, _0205C330 ; =0x020F70F8 add r2, sp, #0x0 add r7, r0, #0x0 ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} add r0, r7, #0x0 bl FUN_020585D8 add r4, r0, #0x0 ldrb r0, [r4, #0x1] cmp r0, #0x3 bhi _0205C32A add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205C248: ; jump table (using 16-bit offset) .short _0205C250 - _0205C248 - 2; case 0 .short _0205C296 - _0205C248 - 2; case 1 .short _0205C2BC - _0205C248 - 2; case 2 .short _0205C2D2 - _0205C248 - 2; case 3 _0205C250: add r0, r7, #0x0 bl FUN_020584C4 mov r5, #0x0 add r6, r0, #0x0 add r1, r5, #0x0 add r0, sp, #0x0 mov r2, #0x5 b _0205C266 _0205C262: add r1, r1, #0x4 add r5, r5, #0x1 _0205C266: cmp r5, #0x4 bge _0205C276 ldrsb r3, [r4, r2] lsl r3, r3, #0x4 add r3, r0, r3 ldr r3, [r1, r3] cmp r6, r3 bne _0205C262 _0205C276: cmp r5, #0x4 blt _0205C27E bl ErrorHandling _0205C27E: add r0, r5, #0x1 lsr r2, r0, #0x1f lsl r1, r0, #0x1e sub r1, r1, r2 mov r0, #0x1e ror r1, r0 strb r6, [r4, #0x4] add r0, r2, r1 strb r0, [r4, #0x6] ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] _0205C296: mov r0, #0x5 ldrsb r0, [r4, r0] add r2, sp, #0x0 lsl r3, r0, #0x4 mov r0, #0x6 ldrsb r0, [r4, r0] lsl r1, r0, #0x2 add r0, r2, r3 ldr r0, [r1, r0] mov r1, #0x0 bl FUN_0205AFDC add r1, r0, #0x0 add r0, r7, #0x0 bl FUN_0205AE0C ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] _0205C2BC: add r0, r7, #0x0 bl FUN_0205B080 cmp r0, #0x0 bne _0205C2CC add sp, #0x20 mov r0, #0x1 pop {r3-r7, pc} _0205C2CC: ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] _0205C2D2: mov r0, #0x8 ldrsb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, #0x8] ldrsb r0, [r4, r0] cmp r0, #0x8 bge _0205C2E6 add sp, #0x20 mov r0, #0x1 pop {r3-r7, pc} _0205C2E6: mov r0, #0x0 strb r0, [r4, #0x8] mov r0, #0x7 ldrsb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, #0x7] ldrsb r0, [r4, r0] cmp r0, #0x4 bge _0205C314 mov r0, #0x6 ldrsb r0, [r4, r0] add sp, #0x20 add r0, r0, #0x1 lsr r2, r0, #0x1f lsl r1, r0, #0x1e sub r1, r1, r2 mov r0, #0x1e ror r1, r0 add r0, r2, r1 strb r0, [r4, #0x6] mov r0, #0x1 strb r0, [r4, #0x1] pop {r3-r7, pc} _0205C314: mov r1, #0x4 ldrsb r1, [r4, r1] add r0, r7, #0x0 bl FUN_020584AC ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] mov r0, #0x0 strb r0, [r4, #0x7] strb r0, [r4, #0x0] _0205C32A: mov r0, #0x0 add sp, #0x20 pop {r3-r7, pc} .balign 4 _0205C330: .word 0x020F70F8 thumb_func_start FUN_0205C334 FUN_0205C334: ; 0x0205C334 cmp r0, #0x64 bne _0205C33C mov r0, #0x1 bx lr _0205C33C: mov r0, #0x0 bx lr thumb_func_start FUN_0205C340 FUN_0205C340: ; 0x0205C340 push {r4, lr} add r4, r0, #0x0 bl FUN_020585B0 ldrh r0, [r0, #0x0] cmp r0, #0x0 bne _0205C352 ldr r0, _0205C370 ; =0x0000FFFF pop {r4, pc} _0205C352: add r0, r4, #0x0 bl FUN_02058934 cmp r0, #0x1 bne _0205C36C add r0, r4, #0x0 bl FUN_02058628 ldr r1, [r0, #0x4] cmp r1, #0x0 beq _0205C36C ldr r0, [r0, #0x0] pop {r4, pc} _0205C36C: ldr r0, _0205C370 ; =0x0000FFFF pop {r4, pc} .balign 4 _0205C370: .word 0x0000FFFF thumb_func_start FUN_0205C374 FUN_0205C374: ; 0x0205C374 push {r3, lr} bl FUN_020585B0 mov r1, #0x1 strh r1, [r0, #0x2] pop {r3, pc} thumb_func_start FUN_0205C380 FUN_0205C380: ; 0x0205C380 push {r3, lr} mov r1, #0x4 bl FUN_0205858C mov r1, #0x0 strh r1, [r0, #0x0] pop {r3, pc} .balign 4 thumb_func_start FUN_0205C390 FUN_0205C390: ; 0x0205C390 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_020585B0 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02058738 add r1, r5, #0x0 bl FUN_0204B5FC strh r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205C3AC FUN_0205C3AC: ; 0x0205C3AC bx lr .balign 4 thumb_func_start FUN_0205C3B0 FUN_0205C3B0: ; 0x0205C3B0 push {r4, lr} mov r1, #0x18 add r4, r0, #0x0 bl FUN_02058604 ldr r1, _0205C3CC ; =0x0000FFFF str r1, [r0, #0x0] mov r1, #0x0 str r1, [r0, #0x4] add r0, r4, #0x0 bl FUN_0224A310 pop {r4, pc} nop _0205C3CC: .word 0x0000FFFF thumb_func_start FUN_0205C3D0 FUN_0205C3D0: ; 0x0205C3D0 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_020585B0 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02058628 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02058738 add r1, r5, #0x0 bl FUN_0204B5FC add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_021F2E28 cmp r0, #0x1 beq _0205C488 ldr r0, [r4, #0x4] cmp r6, r0 beq _0205C454 add r1, r4, #0x0 ldr r2, [r4, #0x0] add r0, r5, #0x0 add r1, #0x8 bl FUN_021F2094 add r0, r5, #0x0 bl FUN_02058738 add r1, r5, #0x0 bl FUN_0204B61C add r1, r6, #0x0 bl FUN_0205C53C ldr r1, _0205C48C ; =0x0000FFFF str r0, [r4, #0x0] cmp r0, r1 ldr r0, [r4, #0x4] beq _0205C440 cmp r0, #0x0 beq _0205C432 add r0, r5, #0x0 bl FUN_0224A528 _0205C432: add r1, r4, #0x0 ldr r2, [r4, #0x0] add r0, r5, #0x0 add r1, #0x8 bl FUN_021F1F78 b _0205C450 _0205C440: cmp r0, #0x0 beq _0205C450 ldrh r0, [r7, #0x2] cmp r0, #0x0 bne _0205C450 add r0, r5, #0x0 bl FUN_0224A528 _0205C450: mov r0, #0x0 strh r0, [r7, #0x2] _0205C454: add r0, r5, #0x0 str r6, [r4, #0x4] bl FUN_021F2E28 cmp r0, #0x1 beq _0205C488 ldr r1, [r4, #0x8] cmp r1, #0x0 beq _0205C488 add r0, r5, #0x0 bl FUN_021F2F48 add r0, r5, #0x0 bl FUN_021F1DFC cmp r0, #0x0 bne _0205C480 mov r1, #0x1 ldr r0, [r4, #0x8] lsl r1, r1, #0xc bl FUN_0201F854 _0205C480: ldr r1, [r4, #0x8] add r0, r5, #0x0 bl FUN_021F2F6C _0205C488: pop {r3-r7, pc} nop _0205C48C: .word 0x0000FFFF thumb_func_start FUN_0205C490 FUN_0205C490: ; 0x0205C490 push {r4, lr} add r4, r0, #0x0 bl FUN_02058628 add r2, r0, #0x0 add r1, r2, #0x0 ldr r2, [r2, #0x0] add r0, r4, #0x0 add r1, #0x8 bl FUN_021F2094 pop {r4, pc} thumb_func_start FUN_0205C4A8 FUN_0205C4A8: ; 0x0205C4A8 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02058628 add r4, r0, #0x0 ldr r0, [r4, #0x8] cmp r0, #0x0 beq _0205C4C0 add r1, r4, #0x0 add r1, #0xc bl FUN_021F20D8 _0205C4C0: add r1, r4, #0x0 ldr r2, [r4, #0x0] add r0, r5, #0x0 add r1, #0x8 bl FUN_021F2094 mov r1, #0x2 add r0, r5, #0x0 lsl r1, r1, #0x14 bl FUN_02058410 pop {r3-r5, pc} thumb_func_start FUN_0205C4D8 FUN_0205C4D8: ; 0x0205C4D8 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02058628 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_021F2E28 cmp r0, #0x1 beq _0205C536 ldr r0, [r4, #0x8] cmp r0, #0x0 bne _0205C516 ldr r2, [r4, #0x0] ldr r0, _0205C538 ; =0x0000FFFF cmp r2, r0 beq _0205C506 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x8 bl FUN_021F1F78 b _0205C510 _0205C506: mov r1, #0x2 add r0, r5, #0x0 lsl r1, r1, #0x14 bl FUN_02058418 _0205C510: add r0, r5, #0x0 bl FUN_0224A310 _0205C516: ldr r0, [r4, #0x8] cmp r0, #0x0 beq _0205C536 add r1, r4, #0x0 add r1, #0xc bl FUN_021F20F8 ldr r1, [r4, #0x8] add r0, r5, #0x0 bl FUN_021F2F48 mov r1, #0x2 add r0, r5, #0x0 lsl r1, r1, #0x14 bl FUN_02058418 _0205C536: pop {r3-r5, pc} .balign 4 _0205C538: .word 0x0000FFFF thumb_func_start FUN_0205C53C FUN_0205C53C: ; 0x0205C53C push {r3, lr} cmp r1, #0x0 beq _0205C548 cmp r1, #0x1 beq _0205C54C b _0205C550 _0205C548: ldr r0, _0205C590 ; =0x0000FFFF pop {r3, pc} _0205C54C: ldr r0, _0205C590 ; =0x0000FFFF pop {r3, pc} _0205C550: sub r2, r0, #0x1 mov r0, #0xc ldr r3, _0205C594 ; =0x021F9194 mul r0, r2 add r2, r3, r0 cmp r1, #0x5 bhi _0205C588 add r0, r1, r1 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205C56A: ; jump table (using 16-bit offset) .short _0205C588 - _0205C56A - 2; case 0 .short _0205C588 - _0205C56A - 2; case 1 .short _0205C576 - _0205C56A - 2; case 2 .short _0205C57C - _0205C56A - 2; case 3 .short _0205C580 - _0205C56A - 2; case 4 .short _0205C584 - _0205C56A - 2; case 5 _0205C576: mov r0, #0x1 lsl r0, r0, #0xc pop {r3, pc} _0205C57C: ldr r0, [r2, #0x0] pop {r3, pc} _0205C580: ldr r0, [r2, #0x4] pop {r3, pc} _0205C584: ldr r0, [r2, #0x8] pop {r3, pc} _0205C588: bl ErrorHandling ldr r0, _0205C590 ; =0x0000FFFF pop {r3, pc} .balign 4 _0205C590: .word 0x0000FFFF _0205C594: .word 0x021F9194 thumb_func_start FUN_0205C598 FUN_0205C598: ; 0x0205C598 push {r3-r7, lr} sub sp, #0x58 add r5, r0, #0x0 ldr r7, [r5, #0x38] add r4, r1, #0x0 ldr r6, [r5, #0x34] add r1, sp, #0x40 str r1, [sp, #0x0] add r1, r6, #0x0 add r2, r7, #0x0 mov r3, #0x0 bl FUN_0205C6BC cmp r0, #0x0 bne _0205C5BC add sp, #0x58 mov r0, #0x0 pop {r3-r7, pc} _0205C5BC: ldr r0, [sp, #0x50] cmp r0, #0x0 bne _0205C642 ldr r1, _0205C6B8 ; =0x00000F0A ldr r2, [sp, #0x54] add r0, r5, #0x0 bl FUN_02038C78 cmp r4, #0x0 beq _0205C5E4 add r0, sp, #0x28 str r0, [sp, #0x0] ldr r3, [sp, #0x54] add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_0205C6BC cmp r0, #0x0 bne _0205C604 _0205C5E4: ldr r0, [sp, #0x48] str r0, [sp, #0x0] ldr r0, [sp, #0x4c] str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] str r0, [sp, #0xc] ldr r1, [sp, #0x54] ldr r2, [sp, #0x40] ldr r3, [sp, #0x44] add r0, r5, #0x0 bl FUN_02038CA8 add sp, #0x58 mov r0, #0x1 pop {r3-r7, pc} _0205C604: ldr r0, [sp, #0x48] str r0, [sp, #0x0] ldr r0, [sp, #0x4c] str r0, [sp, #0x4] mov r0, #0x2 str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] ldr r1, [sp, #0x54] ldr r2, [sp, #0x40] ldr r3, [sp, #0x44] add r0, r5, #0x0 bl FUN_02038CA8 ldr r0, [sp, #0x30] str r0, [sp, #0x0] ldr r0, [sp, #0x34] str r0, [sp, #0x4] mov r0, #0x2 str r0, [sp, #0x8] mov r0, #0x1 str r0, [sp, #0xc] ldr r1, [sp, #0x3c] ldr r2, [sp, #0x28] ldr r3, [sp, #0x2c] add r0, r5, #0x0 bl FUN_02038CA8 add sp, #0x58 mov r0, #0x1 pop {r3-r7, pc} _0205C642: cmp r0, #0x1 bne _0205C6AE cmp r4, #0x0 bne _0205C650 add sp, #0x58 mov r0, #0x0 pop {r3-r7, pc} _0205C650: ldr r2, [sp, #0x54] ldr r3, [sp, #0x4c] add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_0205C9F0 add r1, r0, #0x0 ldr r2, [sp, #0x40] ldr r3, [sp, #0x44] add r0, sp, #0x10 bl FUN_0205C73C ldr r1, _0205C6B8 ; =0x00000F0A ldr r2, [sp, #0x54] add r0, r5, #0x0 bl FUN_02038C78 ldr r0, [sp, #0x48] str r0, [sp, #0x0] ldr r0, [sp, #0x4c] str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] ldr r1, [sp, #0x54] ldr r2, [sp, #0x40] ldr r3, [sp, #0x44] add r0, r5, #0x0 bl FUN_02038CA8 ldr r0, [sp, #0x18] str r0, [sp, #0x0] ldr r0, [sp, #0x1c] str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] str r0, [sp, #0xc] ldr r1, [sp, #0x24] ldr r2, [sp, #0x10] ldr r3, [sp, #0x14] add r0, r5, #0x0 bl FUN_02038CA8 add sp, #0x58 mov r0, #0x1 pop {r3-r7, pc} _0205C6AE: bl ErrorHandling mov r0, #0x0 add sp, #0x58 pop {r3-r7, pc} .balign 4 _0205C6B8: .word 0x00000F0A thumb_func_start FUN_0205C6BC FUN_0205C6BC: ; 0x0205C6BC push {r3-r7, lr} sub sp, #0x10 add r6, r0, #0x0 mov r0, #0x0 add r5, r1, #0x0 add r7, r2, #0x0 add r4, r3, #0x0 str r0, [sp, #0xc] str r0, [sp, #0x4] add r0, r5, #0x0 add r1, sp, #0x4 add r2, sp, #0xc mov r3, #0x1 bl FUN_020580F4 cmp r0, #0x0 beq _0205C734 _0205C6DE: cmp r4, #0x0 beq _0205C6E8 ldr r0, [sp, #0x4] cmp r4, r0 beq _0205C724 _0205C6E8: ldr r0, [sp, #0x4] add r1, r7, #0x0 add r2, sp, #0x8 bl FUN_0205C794 mov r1, #0x0 mvn r1, r1 str r0, [sp, #0x0] cmp r0, r1 beq _0205C724 ldr r0, [sp, #0x4] bl FUN_0205C9D8 add r1, r0, #0x0 lsl r1, r1, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 bl FUN_02039640 cmp r0, #0x0 bne _0205C724 ldr r0, [sp, #0x28] ldr r1, [sp, #0x4] ldr r2, [sp, #0x0] ldr r3, [sp, #0x8] bl FUN_0205C73C add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} _0205C724: add r0, r5, #0x0 add r1, sp, #0x4 add r2, sp, #0xc mov r3, #0x1 bl FUN_020580F4 cmp r0, #0x0 bne _0205C6DE _0205C734: mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205C73C FUN_0205C73C: ; 0x0205C73C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 str r2, [r5, #0x0] str r3, [r5, #0x4] add r0, r4, #0x0 bl FUN_02058498 str r0, [r5, #0x8] lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_020395F4 str r0, [r5, #0xc] lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_0203962C str r0, [r5, #0x10] str r4, [r5, #0x14] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205C768 FUN_0205C768: ; 0x0205C768 push {r3, lr} bl FUN_02058488 cmp r0, #0x8 bhi _0205C792 add r1, r0, r0 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0205C77E: ; jump table (using 16-bit offset) .short _0205C792 - _0205C77E - 2; case 0 .short _0205C792 - _0205C77E - 2; case 1 .short _0205C792 - _0205C77E - 2; case 2 .short _0205C792 - _0205C77E - 2; case 3 .short _0205C790 - _0205C77E - 2; case 4 .short _0205C790 - _0205C77E - 2; case 5 .short _0205C790 - _0205C77E - 2; case 6 .short _0205C790 - _0205C77E - 2; case 7 .short _0205C790 - _0205C77E - 2; case 8 _0205C790: mov r0, #0x1 _0205C792: pop {r3, pc} thumb_func_start FUN_0205C794 FUN_0205C794: ; 0x0205C794 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 add r4, r1, #0x0 str r2, [sp, #0x8] bl FUN_0205C768 cmp r0, #0x1 bne _0205C802 add r0, r4, #0x0 bl FUN_02055320 add r7, r0, #0x0 add r0, r4, #0x0 bl FUN_0205532C add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_020584C4 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058510 add r2, r0, #0x0 str r6, [sp, #0x0] mov r0, #0x0 str r0, [sp, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 add r3, r7, #0x0 bl FUN_0205C86C add r6, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r6, r0 beq _0205C7FA add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_0205C938 cmp r0, #0x0 bne _0205C7FA ldr r0, [sp, #0x8] add sp, #0x14 str r4, [r0, #0x0] add r0, r6, #0x0 pop {r4-r7, pc} _0205C7FA: mov r0, #0x0 add sp, #0x14 mvn r0, r0 pop {r4-r7, pc} _0205C802: cmp r0, #0x2 bne _0205C864 add r0, r4, #0x0 bl FUN_02055320 str r0, [sp, #0x10] add r0, r4, #0x0 bl FUN_0205532C add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058510 str r0, [sp, #0xc] mov r4, #0x0 _0205C822: str r7, [sp, #0x0] mov r0, #0x0 str r0, [sp, #0x4] ldr r2, [sp, #0xc] ldr r3, [sp, #0x10] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205C86C add r6, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r6, r0 beq _0205C856 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_0205C938 cmp r0, #0x0 bne _0205C856 ldr r0, [sp, #0x8] add sp, #0x14 str r4, [r0, #0x0] add r0, r6, #0x0 pop {r4-r7, pc} _0205C856: add r4, r4, #0x1 cmp r4, #0x4 blt _0205C822 mov r0, #0x0 add sp, #0x14 mvn r0, r0 pop {r4-r7, pc} _0205C864: mov r0, #0x0 mvn r0, r0 add sp, #0x14 pop {r4-r7, pc} thumb_func_start FUN_0205C86C FUN_0205C86C: ; 0x0205C86C push {r3-r5, lr} add r4, r1, #0x0 ldr r1, [sp, #0x14] lsl r5, r4, #0x2 ldr r4, _0205C884 ; =0x020F71A8 str r1, [sp, #0x0] add r1, r2, #0x0 add r2, r3, #0x0 ldr r3, [sp, #0x10] ldr r4, [r4, r5] blx r4 pop {r3-r5, pc} .balign 4 _0205C884: .word 0x020F71A8 thumb_func_start FUN_0205C888 FUN_0205C888: ; 0x0205C888 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 add r4, r3, #0x0 bl FUN_02058B2C cmp r0, r6 bne _0205C8AE add r0, r7, #0x0 bl FUN_02058B4C cmp r4, r0 bge _0205C8AE sub r1, r0, r5 cmp r4, r1 blt _0205C8AE sub r0, r0, r4 pop {r3-r7, pc} _0205C8AE: mov r0, #0x0 mvn r0, r0 pop {r3-r7, pc} thumb_func_start FUN_0205C8B4 FUN_0205C8B4: ; 0x0205C8B4 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 add r4, r3, #0x0 bl FUN_02058B2C cmp r0, r6 bne _0205C8DA add r0, r7, #0x0 bl FUN_02058B4C cmp r4, r0 ble _0205C8DA add r1, r0, r5 cmp r4, r1 bgt _0205C8DA sub r0, r4, r0 pop {r3-r7, pc} _0205C8DA: mov r0, #0x0 mvn r0, r0 pop {r3-r7, pc} thumb_func_start FUN_0205C8E0 FUN_0205C8E0: ; 0x0205C8E0 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 bl FUN_02058B4C cmp r0, r6 bne _0205C906 add r0, r7, #0x0 bl FUN_02058B2C cmp r4, r0 bge _0205C906 sub r1, r0, r5 cmp r4, r1 blt _0205C906 sub r0, r0, r4 pop {r3-r7, pc} _0205C906: mov r0, #0x0 mvn r0, r0 pop {r3-r7, pc} thumb_func_start FUN_0205C90C FUN_0205C90C: ; 0x0205C90C push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 bl FUN_02058B4C cmp r0, r6 bne _0205C932 add r0, r7, #0x0 bl FUN_02058B2C cmp r4, r0 ble _0205C932 add r1, r0, r5 cmp r4, r1 bgt _0205C932 sub r0, r4, r0 pop {r3-r7, pc} _0205C932: mov r0, #0x0 mvn r0, r0 pop {r3-r7, pc} thumb_func_start FUN_0205C938 FUN_0205C938: ; 0x0205C938 push {r3-r7, lr} sub sp, #0x18 add r5, r1, #0x0 str r0, [sp, #0x4] str r2, [sp, #0x8] cmp r2, #0x0 bne _0205C94C add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _0205C94C: bl FUN_02058B2C add r4, r0, #0x0 ldr r0, [sp, #0x4] bl FUN_02058B4C add r7, r0, #0x0 ldr r0, [sp, #0x4] bl FUN_02058B3C str r0, [sp, #0xc] add r0, r5, #0x0 bl FUN_02059BF4 add r6, r4, r0 add r0, r5, #0x0 bl FUN_02059C00 add r4, r7, r0 ldr r0, [sp, #0x8] mov r7, #0x0 sub r0, r0, #0x1 str r0, [sp, #0x10] cmp r0, #0x0 ble _0205C9B4 mov r0, #0x1 str r0, [sp, #0x14] _0205C982: ldr r0, [sp, #0x4] ldr r2, [sp, #0xc] add r1, r6, #0x0 add r3, r4, #0x0 str r5, [sp, #0x0] bl FUN_020598F0 ldr r1, [sp, #0x14] bic r0, r1 beq _0205C99C add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _0205C99C: add r0, r5, #0x0 bl FUN_02059BF4 add r6, r6, r0 add r0, r5, #0x0 bl FUN_02059C00 add r4, r4, r0 ldr r0, [sp, #0x10] add r7, r7, #0x1 cmp r7, r0 blt _0205C982 _0205C9B4: ldr r0, [sp, #0x4] ldr r2, [sp, #0xc] add r1, r6, #0x0 add r3, r4, #0x0 str r5, [sp, #0x0] bl FUN_020598F0 mov r1, #0x1 bic r0, r1 cmp r0, #0x4 bne _0205C9D0 add sp, #0x18 mov r0, #0x0 pop {r3-r7, pc} _0205C9D0: mov r0, #0x1 add sp, #0x18 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205C9D8 FUN_0205C9D8: ; 0x0205C9D8 push {r3, lr} bl FUN_02058498 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_020395F4 pop {r3, pc} thumb_func_start FUN_0205C9E8 FUN_0205C9E8: ; 0x0205C9E8 ldr r3, _0205C9EC ; =FUN_0205C9D8 bx r3 .balign 4 _0205C9EC: .word FUN_0205C9D8 thumb_func_start FUN_0205C9F0 FUN_0205C9F0: ; 0x0205C9F0 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 mov r0, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 str r0, [sp, #0x4] add r0, r5, #0x0 add r1, sp, #0x0 add r2, sp, #0x4 mov r3, #0x1 bl FUN_020580F4 cmp r0, #0x0 beq _0205CA40 add r7, sp, #0x0 _0205CA10: ldr r0, [sp, #0x0] cmp r0, r4 beq _0205CA30 bl FUN_0205C768 sub r0, r0, #0x1 cmp r0, #0x1 bhi _0205CA30 ldr r0, [sp, #0x0] bl FUN_0205C9D8 cmp r6, r0 bne _0205CA30 ldr r0, [sp, #0x0] add sp, #0x8 pop {r3-r7, pc} _0205CA30: add r0, r5, #0x0 add r1, r7, #0x0 add r2, sp, #0x4 mov r3, #0x1 bl FUN_020580F4 cmp r0, #0x0 bne _0205CA10 _0205CA40: bl ErrorHandling mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205CA4C FUN_0205CA4C: ; 0x0205CA4C push {r3-r4, lr} sub sp, #0xc ldr r4, [sp, #0x18] str r4, [sp, #0x0] ldr r4, [sp, #0x1c] str r4, [sp, #0x4] ldr r4, [sp, #0x20] str r4, [sp, #0x8] bl FUN_0205CA80 add sp, #0xc pop {r3-r4, pc} thumb_func_start FUN_0205CA64 FUN_0205CA64: ; 0x0205CA64 push {r4, lr} add r4, r0, #0x0 bne _0205CA6E bl ErrorHandling _0205CA6E: add r0, r4, #0x0 bl FUN_0205CAD4 pop {r4, pc} .balign 4 thumb_func_start FUN_0205CA78 FUN_0205CA78: ; 0x0205CA78 ldr r3, _0205CA7C ; =FUN_0205CAE0 bx r3 .balign 4 _0205CA7C: .word FUN_0205CAE0 thumb_func_start FUN_0205CA80 FUN_0205CA80: ; 0x0205CA80 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0x4 mov r1, #0x2c add r7, r2, #0x0 str r3, [sp, #0x0] bl FUN_020169D8 add r4, r0, #0x0 bne _0205CA9A bl ErrorHandling _0205CA9A: add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x2c blx Call_FillMemWithValue ldr r0, [sp, #0x0] str r7, [r4, #0x8] str r0, [r4, #0xc] ldr r0, [sp, #0x18] add r1, r4, #0x0 str r0, [r4, #0x10] ldr r0, [sp, #0x1c] mov r2, #0xff str r0, [r4, #0x14] ldr r0, [sp, #0x20] str r0, [r4, #0x18] str r5, [r4, #0x24] ldr r0, _0205CAD0 ; =FUN_0205CAF8 str r6, [r4, #0x28] bl FUN_0200CA44 add r4, r0, #0x0 bne _0205CACC bl ErrorHandling _0205CACC: add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 _0205CAD0: .word FUN_0205CAF8 thumb_func_start FUN_0205CAD4 FUN_0205CAD4: ; 0x0205CAD4 push {r3, lr} bl FUN_0201B6C8 ldr r0, [r0, #0x4] pop {r3, pc} .balign 4 thumb_func_start FUN_0205CAE0 FUN_0205CAE0: ; 0x0205CAE0 push {r4, lr} add r4, r0, #0x0 bl FUN_0201B6C8 add r1, r0, #0x0 mov r0, #0x4 bl FUN_02016A8C add r0, r4, #0x0 bl FUN_0200CAB4 pop {r4, pc} thumb_func_start FUN_0205CAF8 FUN_0205CAF8: ; 0x0205CAF8 push {r3-r5, lr} ldr r4, _0205CB10 ; =0x020F71B8 add r5, r1, #0x0 _0205CAFE: ldr r1, [r5, #0x0] add r0, r5, #0x0 lsl r1, r1, #0x2 ldr r1, [r4, r1] blx r1 cmp r0, #0x1 beq _0205CAFE pop {r3-r5, pc} nop _0205CB10: .word 0x020F71B8 thumb_func_start FUN_0205CB14 FUN_0205CB14: ; 0x0205CB14 push {r3-r5, lr} add r5, r0, #0x0 ldr r4, [r5, #0x24] add r0, r4, #0x0 bl FUN_02058854 cmp r0, #0x1 bne _0205CB2A add r0, r4, #0x0 bl FUN_02058914 _0205CB2A: mov r0, #0x1 str r0, [r5, #0x0] pop {r3-r5, pc} thumb_func_start FUN_0205CB30 FUN_0205CB30: ; 0x0205CB30 push {r3-r5, lr} add r4, r0, #0x0 ldr r5, [r4, #0x24] add r0, r5, #0x0 bl FUN_02058854 cmp r0, #0x1 bne _0205CB44 mov r0, #0x0 pop {r3-r5, pc} _0205CB44: ldr r0, [r4, #0x24] ldr r1, [r4, #0x8] bl FUN_021F1EC0 add r0, r5, #0x0 mov r1, #0x40 bl FUN_02058410 mov r0, #0x2 str r0, [r4, #0x0] mov r0, #0x1 pop {r3-r5, pc} thumb_func_start FUN_0205CB5C FUN_0205CB5C: ; 0x0205CB5C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x28] bl FUN_020553A0 bl FUN_0205AE28 cmp r0, #0x0 bne _0205CB72 mov r0, #0x0 pop {r4, pc} _0205CB72: ldr r0, [r4, #0x24] bl FUN_02058480 sub r0, #0x33 cmp r0, #0x3 bhi _0205CB9A add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205CB8A: ; jump table (using 16-bit offset) .short _0205CB92 - _0205CB8A - 2; case 0 .short _0205CB92 - _0205CB8A - 2; case 1 .short _0205CB92 - _0205CB8A - 2; case 2 .short _0205CB92 - _0205CB8A - 2; case 3 _0205CB92: mov r0, #0x7 str r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} _0205CB9A: mov r0, #0x3 str r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0205CBA4 FUN_0205CBA4: ; 0x0205CBA4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] bl FUN_0205AD98 cmp r0, #0x0 bne _0205CBB6 mov r0, #0x0 pop {r4, pc} _0205CBB6: mov r0, #0x0 ldr r1, [r4, #0x8] mvn r0, r0 cmp r1, r0 bne _0205CBC4 bl ErrorHandling _0205CBC4: ldr r0, [r4, #0x8] mov r1, #0x0 bl FUN_0205AFDC add r1, r0, #0x0 ldr r0, [r4, #0x24] bl FUN_0205ADDC mov r0, #0x4 str r0, [r4, #0x0] mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_0205CBDC FUN_0205CBDC: ; 0x0205CBDC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] bl FUN_0205AE28 cmp r0, #0x0 bne _0205CBEE mov r0, #0x0 pop {r4, pc} _0205CBEE: mov r0, #0x5 str r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0205CBF8 FUN_0205CBF8: ; 0x0205CBF8 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 ldr r0, [r4, #0x24] add r2, r1, #0x0 bl FUN_021E7AC0 str r0, [r4, #0x20] mov r0, #0x6 str r0, [r4, #0x0] mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_0205CC10 FUN_0205CC10: ; 0x0205CC10 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x20] bl FUN_021E799C cmp r0, #0x1 bne _0205CC28 ldr r0, [r4, #0x20] bl FUN_02064520 mov r0, #0x9 str r0, [r4, #0x0] _0205CC28: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_0205CC2C FUN_0205CC2C: ; 0x0205CC2C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] mov r1, #0x65 bl FUN_0205ADDC mov r0, #0x8 str r0, [r4, #0x0] mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_0205CC40 FUN_0205CC40: ; 0x0205CC40 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] bl FUN_0205AE28 cmp r0, #0x1 bne _0205CC52 mov r0, #0x9 str r0, [r4, #0x0] _0205CC52: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0205CC58 FUN_0205CC58: ; 0x0205CC58 ldr r1, [r0, #0x1c] add r1, r1, #0x1 str r1, [r0, #0x1c] cmp r1, #0x1e blt _0205CC6A mov r1, #0x0 str r1, [r0, #0x1c] mov r1, #0xa str r1, [r0, #0x0] _0205CC6A: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_0205CC70 FUN_0205CC70: ; 0x0205CC70 ldr r1, [r0, #0xc] cmp r1, #0x1 bgt _0205CC7E mov r1, #0xd str r1, [r0, #0x0] mov r0, #0x1 bx lr _0205CC7E: mov r1, #0xb str r1, [r0, #0x0] mov r0, #0x1 bx lr .balign 4 thumb_func_start FUN_0205CC88 FUN_0205CC88: ; 0x0205CC88 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] bl FUN_0205AD98 cmp r0, #0x1 bne _0205CCAA ldr r0, [r4, #0x8] mov r1, #0xc bl FUN_0205AFDC add r1, r0, #0x0 ldr r0, [r4, #0x24] bl FUN_0205ADDC mov r0, #0xc str r0, [r4, #0x0] _0205CCAA: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0205CCB0 FUN_0205CCB0: ; 0x0205CCB0 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] bl FUN_0205AE28 cmp r0, #0x0 bne _0205CCC2 mov r0, #0x0 pop {r4, pc} _0205CCC2: ldr r0, [r4, #0xc] sub r0, r0, #0x1 str r0, [r4, #0xc] mov r0, #0xa str r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0205CCD0 FUN_0205CCD0: ; 0x0205CCD0 ldr r1, [r0, #0x1c] add r1, r1, #0x1 str r1, [r0, #0x1c] cmp r1, #0x8 bge _0205CCDE mov r0, #0x0 bx lr _0205CCDE: mov r1, #0x0 str r1, [r0, #0x1c] mov r1, #0xe str r1, [r0, #0x0] mov r0, #0x1 bx lr .balign 4 thumb_func_start FUN_0205CCEC FUN_0205CCEC: ; 0x0205CCEC push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x28] bl FUN_020553A0 add r4, r0, #0x0 bl FUN_02058B2C add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_02058B4C add r7, r0, #0x0 ldr r0, [r5, #0x24] bl FUN_02058B2C str r0, [sp, #0x0] ldr r0, [r5, #0x24] bl FUN_02058B4C add r3, r0, #0x0 ldr r2, [sp, #0x0] add r0, r6, #0x0 add r1, r7, #0x0 bl FUN_02059E80 add r6, r0, #0x0 ldr r0, [r5, #0x28] bl FUN_020552F8 cmp r6, r0 beq _0205CD60 ldr r0, [r5, #0x18] cmp r0, #0x0 beq _0205CD38 ldr r0, [r5, #0x14] cmp r0, #0x2 bne _0205CD60 _0205CD38: add r0, r4, #0x0 bl FUN_0205AD98 cmp r0, #0x1 bne _0205CD64 add r0, r4, #0x0 mov r1, #0x80 bl FUN_02058418 add r0, r6, #0x0 mov r1, #0x0 bl FUN_0205AFDC add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_0205ADDC mov r0, #0xf str r0, [r5, #0x0] b _0205CD64 _0205CD60: mov r0, #0x10 str r0, [r5, #0x0] _0205CD64: mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0205CD68 FUN_0205CD68: ; 0x0205CD68 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x28] bl FUN_020553A0 add r5, r0, #0x0 bl FUN_0205AE28 cmp r0, #0x0 bne _0205CD80 mov r0, #0x0 pop {r3-r5, pc} _0205CD80: add r0, r5, #0x0 bl FUN_0205AE50 mov r0, #0x10 str r0, [r4, #0x0] mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205CD90 FUN_0205CD90: ; 0x0205CD90 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] bl FUN_0205AE50 ldr r0, [r4, #0x24] mov r1, #0x0 bl FUN_02058E90 mov r0, #0x11 str r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0205CDAC FUN_0205CDAC: ; 0x0205CDAC mov r1, #0x1 str r1, [r0, #0x4] mov r0, #0x0 bx lr thumb_func_start FUN_0205CDB4 FUN_0205CDB4: ; 0x0205CDB4 push {r4, lr} add r4, r0, #0x0 bl FUN_020377AC bl FUN_02024ED8 bl FUN_020254B4 add r1, r0, #0x0 beq _0205CDD2 lsl r2, r1, #0x2 ldr r1, _0205CDD4 ; =0x020F7220 add r0, r4, #0x0 ldr r1, [r1, r2] blx r1 _0205CDD2: pop {r4, pc} .balign 4 _0205CDD4: .word 0x020F7220 thumb_func_start FUN_0205CDD8 FUN_0205CDD8: ; 0x0205CDD8 push {r4, lr} add r4, r0, #0x0 bl FUN_020377AC bl FUN_02024ED8 bl FUN_020254B4 cmp r0, #0x0 beq _0205CDFA lsl r1, r0, #0x2 ldr r0, _0205CDFC ; =0x020F7200 ldr r1, [r0, r1] cmp r1, #0x0 beq _0205CDFA add r0, r4, #0x0 blx r1 _0205CDFA: pop {r4, pc} .balign 4 _0205CDFC: .word 0x020F7200 thumb_func_start FUN_0205CE00 FUN_0205CE00: ; 0x0205CE00 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r4, r1, #0x0 add r7, r2, #0x0 str r3, [sp, #0x4] bl FUN_020377AC bl FUN_02024ED8 bl FUN_020254B4 cmp r0, #0x0 bne _0205CE22 add sp, #0x8 mov r0, #0x0 pop {r3-r7, pc} _0205CE22: lsl r1, r0, #0x2 ldr r0, _0205CE44 ; =0x020F7240 ldr r6, [r0, r1] cmp r6, #0x0 beq _0205CE3E ldr r0, [sp, #0x20] ldr r3, [sp, #0x4] str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 blx r6 add sp, #0x8 pop {r3-r7, pc} _0205CE3E: mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 _0205CE44: .word 0x020F7240 thumb_func_start FUN_0205CE48 FUN_0205CE48: ; 0x0205CE48 cmp r0, #0x0 bne _0205CE58 mov r0, #0xc add r2, r1, #0x0 mul r2, r0 ldr r0, _0205CE74 ; =0x020F7260 ldr r0, [r0, r2] bx lr _0205CE58: cmp r0, #0x1 bne _0205CE68 mov r0, #0xc add r2, r1, #0x0 mul r2, r0 ldr r0, _0205CE78 ; =0x020F7264 ldr r0, [r0, r2] bx lr _0205CE68: mov r0, #0xc add r2, r1, #0x0 mul r2, r0 ldr r0, _0205CE7C ; =0x020F7268 ldr r0, [r0, r2] bx lr .balign 4 _0205CE74: .word 0x020F7260 _0205CE78: .word 0x020F7264 _0205CE7C: .word 0x020F7268 thumb_func_start FUN_0205CE80 FUN_0205CE80: ; 0x0205CE80 push {r3-r7, lr} add r4, r0, #0x0 add r5, r1, #0x0 str r4, [r5, #0x18] ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] str r0, [r5, #0x0] ldr r0, [r4, #0xc] bl FUN_020462AC bl FUN_0205ED3C str r0, [r5, #0x4] ldr r0, [r4, #0x38] bl FUN_020553C4 str r0, [r5, #0x8] ldr r0, [r4, #0x38] bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r4, #0x38] bl FUN_0205532C add r7, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_0204A6E0 strh r0, [r5, #0xe] ldr r0, [r4, #0x38] bl FUN_020552F8 cmp r0, #0x3 bhi _0205CEEA add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205CED4: ; jump table (using 16-bit offset) .short _0205CEDC - _0205CED4 - 2; case 0 .short _0205CEE0 - _0205CED4 - 2; case 1 .short _0205CEE8 - _0205CED4 - 2; case 2 .short _0205CEE4 - _0205CED4 - 2; case 3 _0205CEDC: sub r7, r7, #0x1 b _0205CEEA _0205CEE0: add r7, r7, #0x1 b _0205CEEA _0205CEE4: add r6, r6, #0x1 b _0205CEEA _0205CEE8: sub r6, r6, #0x1 _0205CEEA: add r0, r4, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_0204A6E0 strh r0, [r5, #0xc] add r0, r4, #0x0 add r1, sp, #0x0 bl FUN_02037024 ldr r1, [sp, #0x0] add r0, r4, #0x0 bl FUN_0204B6C4 strh r0, [r5, #0x10] ldr r0, [r4, #0x38] str r0, [r5, #0x14] pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205CF10 FUN_0205CF10: ; 0x0205CF10 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0x20 mov r1, #0xc add r6, r2, #0x0 add r7, r3, #0x0 bl FUN_02016998 str r5, [r0, #0x0] strh r4, [r0, #0x4] strh r6, [r0, #0x6] strh r7, [r0, #0x8] add r1, sp, #0x8 ldrh r1, [r1, #0x10] strh r1, [r0, #0xa] pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205CF34 FUN_0205CF34: ; 0x0205CF34 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r2, #0x0 bl FUN_02046528 add r7, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_0204652C add r4, r0, #0x0 add r0, r7, #0x0 bl FUN_0204649C mov r0, #0x72 mov r2, #0x0 ldr r1, _0205CF74 ; =FUN_0205CFA0 lsl r0, r0, #0x2 str r1, [r4, r0] str r2, [sp, #0x0] ldrh r1, [r5, #0x4] add r0, r6, #0x0 add r3, r2, #0x0 bl FUN_0205CF10 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0xa strh r0, [r4, #0x2a] pop {r3-r7, pc} nop _0205CF74: .word FUN_0205CFA0 thumb_func_start FUN_0205CF78 FUN_0205CF78: ; 0x0205CF78 push {r3-r4, lr} sub sp, #0x4 mov r2, #0x0 add r4, r0, #0x0 str r2, [sp, #0x0] add r0, r1, #0x0 ldrh r1, [r4, #0x28] add r3, r2, #0x0 bl FUN_0205CF10 add r2, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, _0205CF9C ; =FUN_0205CFA0 bl FUN_020463CC add sp, #0x4 pop {r3-r4, pc} nop _0205CF9C: .word FUN_0205CFA0 thumb_func_start FUN_0205CFA0 FUN_0205CFA0: ; 0x0205CFA0 push {r3-r7, lr} add r7, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r7, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r7, #0x0 bl FUN_02046530 add r6, r0, #0x0 ldr r0, [r6, #0x0] cmp r0, #0x0 beq _0205CFC6 cmp r0, #0x1 beq _0205D016 b _0205D020 _0205CFC6: add r0, r5, #0x0 add r1, sp, #0x0 bl FUN_02037024 ldr r1, [r4, #0x0] ldr r2, [sp, #0x0] lsl r1, r1, #0x10 add r0, r7, #0x0 lsr r1, r1, #0x10 mov r3, #0x0 bl FUN_02038CD8 add r0, r5, #0x0 mov r1, #0x29 bl FUN_02039438 ldrh r1, [r4, #0x4] strh r1, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x2a bl FUN_02039438 ldrh r1, [r4, #0x6] strh r1, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x2b bl FUN_02039438 ldrh r1, [r4, #0x8] strh r1, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x2c bl FUN_02039438 ldrh r1, [r4, #0xa] strh r1, [r0, #0x0] ldr r0, [r6, #0x0] add r0, r0, #0x1 str r0, [r6, #0x0] b _0205D020 _0205D016: add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r3-r7, pc} _0205D020: mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0205D024 FUN_0205D024: ; 0x0205D024 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, [r6, #0x0] bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r6, #0x0] bl FUN_0204652C add r7, r0, #0x0 mov r0, #0xb mov r1, #0x40 bl FUN_02016998 mov r1, #0x0 mov r2, #0x40 add r4, r0, #0x0 blx Call_FillMemWithValue ldr r0, [r5, #0xc] bl FUN_0206BB1C str r0, [r4, #0x0] ldr r0, [r5, #0xc] bl FUN_0206F158 str r0, [r4, #0x4] ldr r0, [r5, #0xc] bl FUN_02025838 str r0, [r4, #0x8] ldr r0, [r5, #0xc] bl LoadPlayerDataAddress str r0, [r4, #0xc] ldr r0, [r5, #0xc] bl FUN_02022504 str r0, [r4, #0x10] mov r0, #0x7a lsl r0, r0, #0x2 add r0, r7, r0 str r0, [r4, #0x18] add r0, r4, #0x0 mov r1, #0x0 add r0, #0x21 strb r1, [r0, #0x0] add r0, r4, #0x0 mov r1, #0x5 add r0, #0x20 strb r1, [r0, #0x0] str r5, [r4, #0x1c] ldrh r0, [r6, #0x4] add r2, r4, #0x0 strh r0, [r4, #0x24] add r0, r4, #0x0 ldrb r1, [r6, #0x6] add r0, #0x22 strb r1, [r0, #0x0] ldr r1, _0205D0B4 ; =0x020F96DC add r0, r5, #0x0 bl FUN_020373D4 mov r0, #0x7e lsl r0, r0, #0x2 str r4, [r7, r0] ldr r1, _0205D0B8 ; =FUN_02035E50 add r0, r7, #0x0 bl FUN_02035D04 pop {r3-r7, pc} nop _0205D0B4: .word 0x020F96DC _0205D0B8: .word FUN_02035E50 thumb_func_start FUN_0205D0BC FUN_0205D0BC: ; 0x0205D0BC push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02037EB8 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] ldr r1, _0205D0E8 ; =FUN_02036A78 add r0, r4, #0x0 bl FUN_02035D04 pop {r3-r5, pc} nop _0205D0E8: .word FUN_02036A78 thumb_func_start FUN_0205D0EC FUN_0205D0EC: ; 0x0205D0EC push {r3, lr} ldr r1, _0205D0F8 ; =FUN_0205D0FC bl FUN_0205DD04 mov r0, #0x1 pop {r3, pc} .balign 4 _0205D0F8: .word FUN_0205D0FC thumb_func_start FUN_0205D0FC FUN_0205D0FC: ; 0x0205D0FC ldr r3, _0205D100 ; =FUN_02037EB8 bx r3 .balign 4 _0205D100: .word FUN_02037EB8 thumb_func_start FUN_0205D104 FUN_0205D104: ; 0x0205D104 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0204649C mov r0, #0x72 ldr r1, _0205D140 ; =FUN_02049844 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, r5, #0x0 bl FUN_0204976C mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0xa strh r0, [r4, #0x2a] mov r0, #0x0 add r5, #0x8c str r0, [r5, #0x0] pop {r3-r5, pc} nop _0205D140: .word FUN_02049844 thumb_func_start FUN_0205D144 FUN_0205D144: ; 0x0205D144 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_0204976C add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0x34] bl FUN_02058780 ldr r0, [r5, #0x0] ldr r1, _0205D16C ; =FUN_02049844 add r2, r4, #0x0 bl FUN_020463CC ldr r1, [r5, #0x0] mov r0, #0x0 add r1, #0x8c str r0, [r1, #0x0] pop {r3-r5, pc} .balign 4 _0205D16C: .word FUN_02049844 thumb_func_start FUN_0205D170 FUN_0205D170: ; 0x0205D170 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_02034824 cmp r0, #0x0 bne _0205D184 mov r0, #0x0 mvn r0, r0 pop {r3-r5, pc} _0205D184: ldr r0, [r5, #0x0] bl FUN_02034908 cmp r0, #0x0 bne _0205D194 mov r0, #0x0 mvn r0, r0 pop {r3-r5, pc} _0205D194: ldr r0, [r5, #0x14] bl FUN_02055738 cmp r0, #0x1 bne _0205D1A4 mov r0, #0x0 mvn r0, r0 pop {r3-r5, pc} _0205D1A4: ldr r0, [r5, #0x18] ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205F214 cmp r0, #0x1 beq _0205D1C4 ldr r0, [r5, #0x18] ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205F244 cmp r0, #0x1 bne _0205D1CA _0205D1C4: mov r0, #0x0 mvn r0, r0 pop {r3-r5, pc} _0205D1CA: ldr r0, [r5, #0x14] bl FUN_020553C4 cmp r0, #0x2 bne _0205D1DA mov r0, #0x0 mvn r0, r0 pop {r3-r5, pc} _0205D1DA: ldrh r0, [r5, #0xe] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_02054B78 cmp r0, #0x1 bne _0205D1EE mov r0, #0x0 mvn r0, r0 pop {r3-r5, pc} _0205D1EE: ldr r0, [r5, #0x18] ldr r0, [r0, #0x38] bl FUN_02055320 lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, [r5, #0x18] ldr r0, [r0, #0x38] bl FUN_0205532C lsl r0, r0, #0x10 lsr r2, r0, #0x10 ldr r0, [r5, #0x18] add r1, r4, #0x0 bl FUN_02034D44 cmp r0, #0x0 bne _0205D218 mov r0, #0x0 mvn r0, r0 pop {r3-r5, pc} _0205D218: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0205D21C FUN_0205D21C: ; 0x0205D21C push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0204649C mov r0, #0x72 ldr r1, _0205D24C ; =FUN_0205D264 lsl r0, r0, #0x2 str r1, [r4, r0] mov r1, #0x0 add r0, #0x30 str r1, [r4, r0] mov r0, #0xa strh r0, [r4, #0x2a] pop {r3-r5, pc} nop _0205D24C: .word FUN_0205D264 thumb_func_start FUN_0205D250 FUN_0205D250: ; 0x0205D250 push {r3, lr} ldr r0, [r0, #0x0] ldr r1, _0205D260 ; =FUN_0205D264 mov r2, #0x0 bl FUN_020463CC mov r0, #0x0 pop {r3, pc} .balign 4 _0205D260: .word FUN_0205D264 thumb_func_start FUN_0205D264 FUN_0205D264: ; 0x0205D264 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02046528 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02046530 add r5, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, #0x3 bhi _0205D324 add r1, r0, r0 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0205D288: ; jump table (using 16-bit offset) .short _0205D290 - _0205D288 - 2; case 0 .short _0205D296 - _0205D288 - 2; case 1 .short _0205D314 - _0205D288 - 2; case 2 .short _0205D31A - _0205D288 - 2; case 3 _0205D290: add r0, r0, #0x1 str r0, [r5, #0x0] b _0205D324 _0205D296: ldr r0, [r4, #0x38] bl FUN_020553C4 cmp r0, #0x1 bne _0205D2D6 ldr r0, [r4, #0x38] bl FUN_020553A0 bl FUN_02058914 ldr r0, [r4, #0x38] mov r1, #0x1 bl FUN_021E5FD8 ldr r0, [r4, #0x38] bl FUN_021E5FE0 add r0, r4, #0x0 mov r1, #0x0 bl FUN_0204AB20 ldr r1, [r4, #0x1c] add r0, r4, #0x0 ldr r1, [r1, #0x0] bl FUN_0204AB58 add r1, r0, #0x0 add r0, r4, #0x0 mov r2, #0x1 bl FUN_0204ABDC b _0205D30C _0205D2D6: mov r1, #0x12 add r0, r4, #0x0 lsl r1, r1, #0x6 bl FUN_0204AB20 mov r1, #0x12 add r0, r4, #0x0 lsl r1, r1, #0x6 mov r2, #0x1 bl FUN_0204ABDC ldr r0, [r4, #0x38] bl FUN_020553A0 bl FUN_02058914 ldr r0, [r4, #0x38] mov r1, #0x2 bl FUN_021E5FD8 ldr r0, [r4, #0x38] bl FUN_021E5FE0 add r4, #0x90 ldr r0, [r4, #0x0] bl FUN_0205DD40 _0205D30C: ldr r0, [r5, #0x0] add r0, r0, #0x1 str r0, [r5, #0x0] b _0205D324 _0205D314: add r0, r0, #0x1 str r0, [r5, #0x0] b _0205D324 _0205D31A: ldr r0, [r4, #0x34] bl FUN_020587B0 mov r0, #0x1 pop {r3-r5, pc} _0205D324: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0205D328 FUN_0205D328: ; 0x0205D328 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x1 bne _0205D336 mov r0, #0x2 pop {r3-r5, pc} _0205D336: ldr r0, [r4, #0x14] bl FUN_02055738 cmp r0, #0x1 bne _0205D344 mov r0, #0x1 pop {r3-r5, pc} _0205D344: ldr r0, [r4, #0x14] bl FUN_020553A0 ldrh r1, [r4, #0xe] add r5, r0, #0x0 bl FUN_02059BB4 cmp r0, #0x1 beq _0205D362 ldrh r1, [r4, #0xe] add r0, r5, #0x0 bl FUN_02059BD4 cmp r0, #0x1 bne _0205D366 _0205D362: mov r0, #0x1 pop {r3-r5, pc} _0205D366: ldrh r0, [r4, #0xe] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_02054798 cmp r0, #0x1 beq _0205D390 ldrh r0, [r4, #0xe] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_02054974 cmp r0, #0x1 beq _0205D390 ldrh r0, [r4, #0xe] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_02054990 cmp r0, #0x1 bne _0205D396 _0205D390: mov r0, #0x0 mvn r0, r0 pop {r3-r5, pc} _0205D396: ldr r0, [r4, #0x0] bl FUN_020348B4 cmp r0, #0x0 bne _0205D3A6 mov r0, #0x0 mvn r0, r0 pop {r3-r5, pc} _0205D3A6: ldr r0, [r4, #0x8] cmp r0, #0x2 bne _0205D3B2 mov r0, #0x0 mvn r0, r0 pop {r3-r5, pc} _0205D3B2: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205D3B8 FUN_0205D3B8: ; 0x0205D3B8 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02037944 ldr r1, _0205D3E0 ; =FUN_02036B90 add r0, r4, #0x0 bl FUN_02035D04 pop {r3-r5, pc} nop _0205D3E0: .word FUN_02036B90 thumb_func_start FUN_0205D3E4 FUN_0205D3E4: ; 0x0205D3E4 push {r3, lr} ldr r1, _0205D3F0 ; =FUN_0205D3F4 bl FUN_0205DD04 mov r0, #0x1 pop {r3, pc} .balign 4 _0205D3F0: .word FUN_0205D3F4 thumb_func_start FUN_0205D3F4 FUN_0205D3F4: ; 0x0205D3F4 push {r3, lr} mov r1, #0x0 bl FUN_02037944 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0205D400 FUN_0205D400: ; 0x0205D400 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, [r6, #0x0] bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r6, #0x0] bl FUN_0204652C add r7, r0, #0x0 mov r0, #0xb mov r1, #0x40 bl FUN_02016998 mov r1, #0x0 mov r2, #0x40 add r4, r0, #0x0 blx Call_FillMemWithValue ldr r0, [r5, #0xc] bl FUN_0206BB1C str r0, [r4, #0x0] ldr r0, [r5, #0xc] bl FUN_0206F158 str r0, [r4, #0x4] ldr r0, [r5, #0xc] bl FUN_02025838 str r0, [r4, #0x8] ldr r0, [r5, #0xc] bl LoadPlayerDataAddress str r0, [r4, #0xc] mov r0, #0x7a lsl r0, r0, #0x2 add r0, r7, r0 str r0, [r4, #0x18] add r0, r4, #0x0 mov r1, #0x0 add r0, #0x21 strb r1, [r0, #0x0] add r0, r4, #0x0 mov r1, #0x6 add r0, #0x20 strb r1, [r0, #0x0] str r5, [r4, #0x1c] ldrh r0, [r6, #0x4] strh r0, [r4, #0x24] add r0, r4, #0x0 ldrb r1, [r6, #0x6] add r0, #0x22 strb r1, [r0, #0x0] ldrh r0, [r6, #0x4] bl FUN_0206EA30 strh r0, [r4, #0x26] ldr r1, _0205D490 ; =0x020F96DC add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_020373D4 mov r0, #0x7e lsl r0, r0, #0x2 str r4, [r7, r0] ldr r1, _0205D494 ; =FUN_02035E50 add r0, r7, #0x0 bl FUN_02035D04 pop {r3-r7, pc} nop _0205D490: .word 0x020F96DC _0205D494: .word FUN_02035E50 thumb_func_start FUN_0205D498 FUN_0205D498: ; 0x0205D498 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_02046528 add r6, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_0204652C add r4, r0, #0x0 ldrh r0, [r5, #0x4] bl FUN_0206EAB8 add r2, r0, #0x0 add r0, r6, #0x0 mov r1, #0x3 mov r3, #0xb bl FUN_02037F58 add r6, r0, #0x0 ldrh r0, [r5, #0x4] mov r1, #0x3 mov r2, #0x0 bl FUN_02036BC4 mov r1, #0x7f lsl r1, r1, #0x2 str r0, [r4, r1] sub r0, r1, #0x4 str r6, [r4, r0] ldr r1, _0205D4E0 ; =FUN_02036BDC add r0, r4, #0x0 bl FUN_02035D04 pop {r4-r6, pc} nop _0205D4E0: .word FUN_02036BDC thumb_func_start FUN_0205D4E4 FUN_0205D4E4: ; 0x0205D4E4 mov r0, #0x0 bx lr thumb_func_start FUN_0205D4E8 FUN_0205D4E8: ; 0x0205D4E8 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r4, r1, #0x0 bl FUN_02046528 ldr r0, [r5, #0x0] bl FUN_0204652C ldrh r1, [r4, #0x10] mov r0, #0x1 tst r0, r1 beq _0205D50E ldr r2, _0205D518 ; =0x00000AF1 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205CF34 pop {r3-r5, pc} _0205D50E: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205D024 pop {r3-r5, pc} .balign 4 _0205D518: .word 0x00000AF1 thumb_func_start FUN_0205D51C FUN_0205D51C: ; 0x0205D51C ldrh r1, [r0, #0x10] mov r0, #0x1 tst r1, r0 bne _0205D526 mov r0, #0x0 _0205D526: bx lr thumb_func_start FUN_0205D528 FUN_0205D528: ; 0x0205D528 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xb bl FUN_02037FC4 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] ldr r1, _0205D554 ; =FUN_02036D94 add r0, r4, #0x0 bl FUN_02035D04 pop {r3-r5, pc} .balign 4 _0205D554: .word FUN_02036D94 thumb_func_start FUN_0205D558 FUN_0205D558: ; 0x0205D558 push {r3, lr} ldr r1, _0205D564 ; =FUN_0205D568 bl FUN_0205DD04 mov r0, #0x1 pop {r3, pc} .balign 4 _0205D564: .word FUN_0205D568 thumb_func_start FUN_0205D568 FUN_0205D568: ; 0x0205D568 ldr r3, _0205D570 ; =FUN_02037FC4 mov r1, #0xb bx r3 nop _0205D570: .word FUN_02037FC4 thumb_func_start FUN_0205D574 FUN_0205D574: ; 0x0205D574 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r5, #0xc] add r0, r5, #0x0 bl FUN_0203846C mov r0, #0x7e mov r1, #0x0 lsl r0, r0, #0x2 str r1, [r4, r0] ldr r1, _0205D5A4 ; =FUN_02036DD4 add r0, r4, #0x0 bl FUN_02035D04 pop {r3-r5, pc} nop _0205D5A4: .word FUN_02036DD4 thumb_func_start FUN_0205D5A8 FUN_0205D5A8: ; 0x0205D5A8 push {r3, lr} ldr r1, _0205D5B4 ; =FUN_0205D5B8 bl FUN_0205DD04 mov r0, #0x1 pop {r3, pc} .balign 4 _0205D5B4: .word FUN_0205D5B8 thumb_func_start FUN_0205D5B8 FUN_0205D5B8: ; 0x0205D5B8 push {r3, lr} ldr r1, [r0, #0xc] bl FUN_0203846C mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0205D5C4 FUN_0205D5C4: ; 0x0205D5C4 push {r4-r6, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_02046528 add r6, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_0204652C add r5, r0, #0x0 mov r0, #0xb mov r1, #0x4 bl FUN_020169D8 add r4, r0, #0x0 mov r0, #0x0 str r0, [r4, #0x0] add r0, r6, #0x0 bl FUN_0204649C mov r0, #0x72 ldr r1, _0205D600 ; =FUN_0205E30C lsl r0, r0, #0x2 str r1, [r5, r0] add r0, #0x30 str r4, [r5, r0] mov r0, #0xa strh r0, [r5, #0x2a] pop {r4-r6, pc} nop _0205D600: .word FUN_0205E30C thumb_func_start FUN_0205D604 FUN_0205D604: ; 0x0205D604 push {r4, lr} add r4, r0, #0x0 mov r0, #0xb mov r1, #0x4 bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] ldr r0, [r4, #0x0] ldr r1, _0205D624 ; =FUN_0205E30C bl FUN_020463CC mov r0, #0x0 pop {r4, pc} nop _0205D624: .word FUN_0205E30C thumb_func_start FUN_0205D628 FUN_0205D628: ; 0x0205D628 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x1 bne _0205D636 mov r0, #0x2 pop {r4, pc} _0205D636: ldr r0, [r4, #0x18] ldr r0, [r0, #0x38] bl FUN_020553C4 cmp r0, #0x1 bne _0205D648 mov r0, #0x0 mvn r0, r0 pop {r4, pc} _0205D648: ldrh r0, [r4, #0xe] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0205478C cmp r0, #0x0 beq _0205D65A mov r0, #0x0 pop {r4, pc} _0205D65A: mov r0, #0x0 mvn r0, r0 pop {r4, pc} thumb_func_start FUN_0205D660 FUN_0205D660: ; 0x0205D660 ldr r3, _0205D668 ; =FUN_0205CF34 ldr r2, _0205D66C ; =0x00000AF2 bx r3 nop _0205D668: .word FUN_0205CF34 _0205D66C: .word 0x00000AF2 thumb_func_start FUN_0205D670 FUN_0205D670: ; 0x0205D670 push {r3, lr} ldr r1, _0205D67C ; =0x00000AF2 bl FUN_0205CF78 mov r0, #0x0 pop {r3, pc} .balign 4 _0205D67C: .word 0x00000AF2 thumb_func_start FUN_0205D680 FUN_0205D680: ; 0x0205D680 ldr r1, [r0, #0x4] cmp r1, #0x1 bne _0205D68A mov r0, #0x2 bx lr _0205D68A: ldrh r1, [r0, #0x10] mov r0, #0x4 tst r1, r0 beq _0205D696 mov r0, #0x0 bx lr _0205D696: sub r0, r0, #0x5 bx lr .balign 4 thumb_func_start FUN_0205D69C FUN_0205D69C: ; 0x0205D69C ldr r3, _0205D6A4 ; =FUN_0205CF34 ldr r2, _0205D6A8 ; =0x00000AF3 bx r3 nop _0205D6A4: .word FUN_0205CF34 _0205D6A8: .word 0x00000AF3 thumb_func_start FUN_0205D6AC FUN_0205D6AC: ; 0x0205D6AC ldrh r1, [r0, #0x10] mov r0, #0x2 tst r1, r0 beq _0205D6B8 mov r0, #0x0 bx lr _0205D6B8: sub r0, r0, #0x3 bx lr thumb_func_start FUN_0205D6BC FUN_0205D6BC: ; 0x0205D6BC push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_02046528 add r6, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_0204652C add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_0204649C bl FUN_021F57EC str r0, [sp, #0x0] ldr r1, [sp, #0x0] mov r0, #0xb bl FUN_020169D8 ldr r2, [sp, #0x0] mov r1, #0x0 add r7, r0, #0x0 blx Call_FillMemWithValue mov r0, #0x72 ldr r1, _0205D710 ; =0x021F57F1 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 str r7, [r4, r0] mov r0, #0xa strh r0, [r4, #0x2a] ldr r0, [r6, #0xc] bl FUN_0206F158 ldrh r1, [r5, #0x4] mov r2, #0x1 mov r3, #0xb bl FUN_0206EDD4 pop {r3-r7, pc} .balign 4 _0205D710: .word 0x021F57F1 thumb_func_start FUN_0205D714 FUN_0205D714: ; 0x0205D714 ldr r3, _0205D71C ; =FUN_0205CF34 ldr r2, _0205D720 ; =0x000022F6 bx r3 nop _0205D71C: .word FUN_0205CF34 _0205D720: .word 0x000022F6 thumb_func_start FUN_0205D724 FUN_0205D724: ; 0x0205D724 push {r3, lr} ldr r1, _0205D730 ; =0x000022F6 bl FUN_0205CF78 mov r0, #0x0 pop {r3, pc} .balign 4 _0205D730: .word 0x000022F6 thumb_func_start FUN_0205D734 FUN_0205D734: ; 0x0205D734 push {r3, lr} ldr r0, [r0, #0x0] bl FUN_02034908 cmp r0, #0x0 beq _0205D744 mov r0, #0x0 pop {r3, pc} _0205D744: mov r0, #0x0 mvn r0, r0 pop {r3, pc} .balign 4 thumb_func_start FUN_0205D74C FUN_0205D74C: ; 0x0205D74C push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0204649C mov r0, #0x72 ldr r1, _0205D784 ; =0x021F5C71 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, r5, #0x0 mov r1, #0xb mov r2, #0x0 bl FUN_021F5C44 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0xa strh r0, [r4, #0x2a] pop {r3-r5, pc} .balign 4 _0205D784: .word 0x021F5C71 thumb_func_start FUN_0205D788 FUN_0205D788: ; 0x0205D788 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x4 mov r2, #0x0 bl FUN_021F5C44 add r2, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, _0205D7A4 ; =0x021F5C71 bl FUN_020463CC mov r0, #0x0 pop {r4, pc} .balign 4 _0205D7A4: .word 0x021F5C71 thumb_func_start FUN_0205D7A8 FUN_0205D7A8: ; 0x0205D7A8 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0204649C mov r0, #0x72 ldr r1, _0205D7E0 ; =0x021F5C71 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, r5, #0x0 mov r1, #0xb mov r2, #0x1 bl FUN_021F5C44 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0xa strh r0, [r4, #0x2a] pop {r3-r5, pc} .balign 4 _0205D7E0: .word 0x021F5C71 thumb_func_start FUN_0205D7E4 FUN_0205D7E4: ; 0x0205D7E4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x4 mov r2, #0x1 bl FUN_021F5C44 add r2, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, _0205D800 ; =0x021F5C71 bl FUN_020463CC mov r0, #0x0 pop {r4, pc} .balign 4 _0205D800: .word 0x021F5C71 thumb_func_start FUN_0205D804 FUN_0205D804: ; 0x0205D804 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0204649C mov r0, #0x72 ldr r1, _0205D83C ; =0x021F5C71 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, r5, #0x0 mov r1, #0xb mov r2, #0x2 bl FUN_021F5C44 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0xa strh r0, [r4, #0x2a] pop {r3-r5, pc} .balign 4 _0205D83C: .word 0x021F5C71 thumb_func_start FUN_0205D840 FUN_0205D840: ; 0x0205D840 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x4 mov r2, #0x2 bl FUN_021F5C44 add r2, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, _0205D85C ; =0x021F5C71 bl FUN_020463CC mov r0, #0x0 pop {r4, pc} .balign 4 _0205D85C: .word 0x021F5C71 thumb_func_start FUN_0205D860 FUN_0205D860: ; 0x0205D860 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x1 bne _0205D86E mov r0, #0x2 pop {r4, pc} _0205D86E: ldrh r0, [r4, #0xc] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0205481C cmp r0, #0x1 bne _0205D8B0 ldrh r0, [r4, #0xe] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_02054B78 cmp r0, #0x1 beq _0205D898 ldrh r0, [r4, #0xe] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_02054B6C cmp r0, #0x1 bne _0205D8AC _0205D898: ldr r0, [r4, #0x14] bl FUN_020553A0 bl FUN_02058A68 cmp r0, #0x1 bne _0205D8AC mov r0, #0x0 mvn r0, r0 pop {r4, pc} _0205D8AC: mov r0, #0x0 pop {r4, pc} _0205D8B0: mov r0, #0x0 mvn r0, r0 pop {r4, pc} .balign 4 thumb_func_start FUN_0205D8B8 FUN_0205D8B8: ; 0x0205D8B8 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0xb mov r1, #0x18 bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x0 strh r0, [r4, #0x16] mov r0, #0x80 mov r1, #0xb bl FUN_020219F4 str r0, [r4, #0x10] ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_0206F158 bl FUN_0206EBC4 add r2, r0, #0x0 ldr r0, [r5, #0x0] lsl r2, r2, #0x10 ldr r0, [r0, #0xc] ldr r1, [r4, #0x10] lsr r2, r2, #0x10 mov r3, #0xb bl FUN_0206E3F8 ldr r0, [r5, #0x0] ldr r1, _0205D900 ; =FUN_0205D904 add r2, r4, #0x0 bl FUN_020463CC mov r0, #0x0 pop {r3-r5, pc} .balign 4 _0205D900: .word FUN_0205D904 thumb_func_start FUN_0205D904 FUN_0205D904: ; 0x0205D904 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldrh r0, [r4, #0x16] cmp r0, #0x0 beq _0205D926 cmp r0, #0x1 beq _0205D95C cmp r0, #0x2 beq _0205D984 b _0205D9A0 _0205D926: ldr r0, [r5, #0x34] bl FUN_02058780 ldr r0, [r5, #0x8] add r1, r4, #0x0 mov r2, #0x3 bl FUN_020545B8 ldr r0, [r5, #0xc] bl LoadPlayerDataAddress add r5, r0, #0x0 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02054608 ldr r1, [r4, #0x10] add r0, r4, #0x0 add r2, r5, #0x0 mov r3, #0x1 bl FUN_02054658 strh r0, [r4, #0x14] ldrh r0, [r4, #0x16] add r0, r0, #0x1 strh r0, [r4, #0x16] b _0205D9A0 _0205D95C: ldrh r0, [r4, #0x14] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_020546C8 cmp r0, #0x1 bne _0205D9A0 ldr r0, _0205D9A4 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0xf3 tst r0, r1 beq _0205D9A0 add r0, r4, #0x0 mov r1, #0x0 bl FUN_0200D0E0 ldrh r0, [r4, #0x16] add r0, r0, #0x1 strh r0, [r4, #0x16] b _0205D9A0 _0205D984: ldr r0, [r5, #0x34] bl FUN_020587B0 add r0, r4, #0x0 bl FUN_02019178 ldr r0, [r4, #0x10] bl FUN_02021A20 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _0205D9A0: mov r0, #0x0 pop {r3-r5, pc} .balign 4 _0205D9A4: .word 0x021C48B8 thumb_func_start FUN_0205D9A8 FUN_0205D9A8: ; 0x0205D9A8 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, [r6, #0x0] bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r6, #0x0] bl FUN_0204652C add r7, r0, #0x0 mov r0, #0xb mov r1, #0x40 bl FUN_02016998 mov r1, #0x0 mov r2, #0x40 add r4, r0, #0x0 blx Call_FillMemWithValue ldr r0, [r5, #0xc] bl FUN_0206BB1C str r0, [r4, #0x0] ldr r0, [r5, #0xc] bl FUN_0206F158 str r0, [r4, #0x4] ldr r0, [r5, #0xc] bl FUN_02025838 str r0, [r4, #0x8] ldr r0, [r5, #0xc] bl LoadPlayerDataAddress str r0, [r4, #0xc] ldr r0, [r5, #0xc] bl FUN_02022504 str r0, [r4, #0x10] mov r0, #0x7a lsl r0, r0, #0x2 add r0, r7, r0 str r0, [r4, #0x18] add r0, r4, #0x0 mov r1, #0x0 add r0, #0x21 strb r1, [r0, #0x0] add r0, r4, #0x0 mov r1, #0x10 add r0, #0x20 strb r1, [r0, #0x0] ldrh r0, [r6, #0x4] add r2, r4, #0x0 strh r0, [r4, #0x24] add r0, r4, #0x0 ldrb r1, [r6, #0x6] add r0, #0x22 strb r1, [r0, #0x0] ldr r1, _0205DA34 ; =0x020F96DC add r0, r5, #0x0 bl FUN_020373D4 mov r0, #0x7e lsl r0, r0, #0x2 str r4, [r7, r0] ldr r1, _0205DA38 ; =FUN_02035E50 add r0, r7, #0x0 bl FUN_02035D04 pop {r3-r7, pc} .balign 4 _0205DA34: .word 0x020F96DC _0205DA38: .word FUN_02035E50 thumb_func_start FUN_0205DA3C FUN_0205DA3C: ; 0x0205DA3C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_02046528 add r6, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_0204652C add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_0204649C mov r0, #0x72 ldr r1, _0205DA7C ; =FUN_0205DAAC lsl r0, r0, #0x2 str r1, [r4, r0] mov r1, #0x0 add r0, #0x30 str r1, [r4, r0] mov r0, #0xa strh r0, [r4, #0x2a] ldr r0, [r6, #0xc] bl FUN_0206F158 ldrh r1, [r5, #0x4] mov r2, #0x1 mov r3, #0xb bl FUN_0206EDD4 pop {r4-r6, pc} nop _0205DA7C: .word FUN_0205DAAC thumb_func_start FUN_0205DA80 FUN_0205DA80: ; 0x0205DA80 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x1 bne _0205DA8E mov r0, #0x2 pop {r4, pc} _0205DA8E: ldr r0, [r4, #0x0] bl FUN_02034930 cmp r0, #0x1 bne _0205DAA6 ldr r0, [r4, #0x0] bl FUN_0203487C cmp r0, #0x1 bne _0205DAA6 mov r0, #0x0 pop {r4, pc} _0205DAA6: mov r0, #0x0 mvn r0, r0 pop {r4, pc} thumb_func_start FUN_0205DAAC FUN_0205DAAC: ; 0x0205DAAC push {r4, lr} add r4, r0, #0x0 bl FUN_02046528 mov r1, #0xb bl FUN_0224C700 add r2, r0, #0x0 ldr r1, _0205DAC8 ; =0x0224C721 add r0, r4, #0x0 bl FUN_020463EC mov r0, #0x0 pop {r4, pc} .balign 4 _0205DAC8: .word 0x0224C721 thumb_func_start FUN_0205DACC FUN_0205DACC: ; 0x0205DACC ldr r3, _0205DAD4 ; =FUN_0205CF34 ldr r2, _0205DAD8 ; =0x000007F7 bx r3 nop _0205DAD4: .word FUN_0205CF34 _0205DAD8: .word 0x000007F7 thumb_func_start FUN_0205DADC FUN_0205DADC: ; 0x0205DADC push {r3, lr} ldr r1, _0205DAE8 ; =0x000007F7 bl FUN_0205CF78 mov r0, #0x0 pop {r3, pc} .balign 4 _0205DAE8: .word 0x000007F7 thumb_func_start FUN_0205DAEC FUN_0205DAEC: ; 0x0205DAEC push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x18] ldr r0, [r0, #0xc] bl FUN_020462AC add r5, r0, #0x0 bl FUN_0205ED0C cmp r0, #0x0 bne _0205DB08 mov r0, #0x0 mvn r0, r0 pop {r3-r5, pc} _0205DB08: add r0, r5, #0x0 mov r1, #0x2 bl FUN_0205F4A0 cmp r0, #0x0 bne _0205DB1A mov r0, #0x0 mvn r0, r0 pop {r3-r5, pc} _0205DB1A: ldr r0, [r4, #0x18] ldr r0, [r0, #0xc] bl FUN_02024DA0 bl FUN_02024CA4 cmp r0, #0x0 bne _0205DB30 mov r0, #0x0 mvn r0, r0 pop {r3-r5, pc} _0205DB30: ldr r0, [r4, #0x0] bl FUN_020349D8 cmp r0, #0x0 beq _0205DB3E mov r0, #0x0 pop {r3-r5, pc} _0205DB3E: mov r0, #0x0 mvn r0, r0 pop {r3-r5, pc} thumb_func_start FUN_0205DB44 FUN_0205DB44: ; 0x0205DB44 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02060144 cmp r0, #0x1 bne _0205DB54 mov r0, #0x0 pop {r3-r7, pc} _0205DB54: ldr r0, [r5, #0xc] bl FUN_020462AC bl FUN_0205F244 cmp r0, #0x1 bne _0205DB66 mov r0, #0x0 pop {r3-r7, pc} _0205DB66: ldr r0, [r5, #0xc] bl FUN_0206F158 bl FUN_0206EBC4 lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x6 mov r2, #0xb str r0, [sp, #0x0] bl FUN_0206E7B8 lsl r0, r0, #0x10 lsr r4, r0, #0x10 mov r0, #0x2 add r1, r4, #0x0 bl FUN_0205CE48 add r6, r0, #0x0 mov r0, #0x1 add r1, r4, #0x0 bl FUN_0205CE48 add r7, r0, #0x0 bne _0205DB9C mov r0, #0x0 pop {r3-r7, pc} _0205DB9C: mov r0, #0xb mov r1, #0x2c bl FUN_02016998 add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x2c blx Call_FillMemWithValue str r5, [r4, #0x0] ldr r0, [sp, #0x0] add r1, r4, #0x4 strh r0, [r4, #0x28] add r0, r5, #0x0 bl FUN_0205CE80 mov r5, #0x0 cmp r6, #0x0 bne _0205DBCA add r0, r4, #0x0 blx r7 add r5, r0, #0x0 b _0205DBE0 _0205DBCA: add r0, r4, #0x4 blx r6 add r1, r0, #0x0 bne _0205DBDA add r0, r4, #0x0 blx r7 add r5, r0, #0x0 b _0205DBE0 _0205DBDA: add r0, r4, #0x0 bl FUN_0205DBF0 _0205DBE0: cmp r5, #0x0 bne _0205DBEA add r0, r4, #0x0 bl FUN_02016A18 _0205DBEA: mov r0, #0x1 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205DBF0 FUN_0205DBF0: ; 0x0205DBF0 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0xb mov r1, #0x18 bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x0 strh r0, [r4, #0x16] mov r0, #0x80 mov r1, #0xb bl FUN_020219F4 str r0, [r4, #0x10] ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_020238F4 mov r1, #0xb str r1, [sp, #0x0] ldrh r2, [r5, #0x28] ldr r1, [r4, #0x10] add r3, r6, #0x0 bl FUN_0206E51C ldr r0, [r5, #0x0] ldr r1, _0205DC34 ; =FUN_0205D904 add r2, r4, #0x0 bl FUN_020463CC add sp, #0x4 pop {r3-r6, pc} .balign 4 _0205DC34: .word FUN_0205D904 thumb_func_start FUN_0205DC38 FUN_0205DC38: ; 0x0205DC38 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, #0x2a ldrb r0, [r0, #0x0] cmp r0, #0x4 bhi _0205DCFA add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0205DC5E: ; jump table (using 16-bit offset) .short _0205DC68 - _0205DC5E - 2; case 0 .short _0205DC7C - _0205DC5E - 2; case 1 .short _0205DC94 - _0205DC5E - 2; case 2 .short _0205DCC4 - _0205DC5E - 2; case 3 .short _0205DCE2 - _0205DC5E - 2; case 4 _0205DC68: ldr r0, [r5, #0x34] bl FUN_02058780 mov r0, #0x0 bl FUN_021D7CA4 mov r0, #0x1 add r4, #0x2a strb r0, [r4, #0x0] b _0205DCFA _0205DC7C: bl FUN_0200E308 cmp r0, #0x0 beq _0205DCFA ldr r1, [r4, #0x20] add r0, r5, #0x0 blx r1 str r0, [r4, #0x24] mov r0, #0x2 add r4, #0x2a strb r0, [r4, #0x0] b _0205DCFA _0205DC94: add r0, r5, #0x0 bl FUN_0204647C cmp r0, #0x0 bne _0205DCFA ldr r0, [r4, #0x24] cmp r0, #0x0 beq _0205DCB6 ldr r2, [r4, #0x20] ldr r1, _0205DD00 ; =FUN_0205D568 cmp r2, r1 bne _0205DCB2 bl FUN_02087E14 b _0205DCB6 _0205DCB2: bl FUN_02016A18 _0205DCB6: add r0, r5, #0x0 bl FUN_0204649C mov r0, #0x3 add r4, #0x2a strb r0, [r4, #0x0] b _0205DCFA _0205DCC4: add r0, r5, #0x0 bl FUN_020464A4 cmp r0, #0x0 beq _0205DCFA ldr r0, [r5, #0x34] bl FUN_02058780 mov r0, #0x1 bl FUN_021D7CA4 mov r0, #0x4 add r4, #0x2a strb r0, [r4, #0x0] b _0205DCFA _0205DCE2: bl FUN_0200E308 cmp r0, #0x0 beq _0205DCFA ldr r0, [r5, #0x34] bl FUN_020587B0 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _0205DCFA: mov r0, #0x0 pop {r3-r5, pc} nop _0205DD00: .word FUN_0205D568 thumb_func_start FUN_0205DD04 FUN_0205DD04: ; 0x0205DD04 add r2, r0, #0x0 str r1, [r2, #0x20] ldr r3, _0205DD10 ; =FUN_020463CC ldr r0, [r2, #0x0] ldr r1, _0205DD14 ; =FUN_0205DC38 bx r3 .balign 4 _0205DD10: .word FUN_020463CC _0205DD14: .word FUN_0205DC38 thumb_func_start FUN_0205DD18 FUN_0205DD18: ; 0x0205DD18 push {r4, lr} mov r1, #0xd4 bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x1 lsl r0, r0, #0x10 add r3, r4, #0x0 lsr r1, r0, #0x1 add r2, r0, #0x0 add r3, #0xbc bl FUN_0201B7DC add r0, r4, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0205DD38 FUN_0205DD38: ; 0x0205DD38 ldr r3, _0205DD3C ; =FUN_02016A18 bx r3 .balign 4 _0205DD3C: .word FUN_02016A18 thumb_func_start FUN_0205DD40 FUN_0205DD40: ; 0x0205DD40 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 str r1, [r4, #0x4] str r1, [r4, #0x0] str r1, [r4, #0x8] str r1, [r4, #0xc] str r1, [r4, #0x10] add r0, #0xd0 strb r1, [r0, #0x0] mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 add r0, #0x1c mov r2, #0xa0 str r1, [r4, #0x18] blx MI_CpuFill8 mov r3, #0x0 add r2, r3, #0x0 mov r0, #0x28 _0205DD6A: add r1, r3, #0x0 mul r1, r0 add r1, r4, r1 str r2, [r1, #0x28] add r1, r3, #0x1 lsl r1, r1, #0x18 lsr r3, r1, #0x18 cmp r3, #0x4 blo _0205DD6A pop {r4, pc} .balign 4 thumb_func_start FUN_0205DD80 FUN_0205DD80: ; 0x0205DD80 push {r4-r7, lr} sub sp, #0x2c str r1, [sp, #0x10] ldr r1, _0205DECC ; =0x020F7374 str r2, [sp, #0x14] ldrb r2, [r1, #0x4] str r0, [sp, #0xc] add r0, sp, #0x28 strb r2, [r0, #0x0] ldrb r2, [r1, #0x5] str r3, [sp, #0x18] strb r2, [r0, #0x1] ldrb r2, [r1, #0x6] ldrb r1, [r1, #0x7] strb r2, [r0, #0x2] strb r1, [r0, #0x3] ldr r0, [sp, #0xc] ldr r0, [r0, #0x38] bl FUN_02055360 str r0, [sp, #0x1c] ldr r0, [sp, #0x18] mov r5, #0x0 str r0, [sp, #0x24] add r0, #0x1c str r5, [sp, #0x20] str r0, [sp, #0x24] _0205DDB6: add r0, sp, #0x28 ldrb r4, [r0, r5] cmp r4, #0x0 bne _0205DDC2 bl ErrorHandling _0205DDC2: cmp r4, #0x1 bhi _0205DDCA mov r6, #0x0 b _0205DDF2 _0205DDCA: bl FUN_0201B9EC add r6, r0, #0x0 ldr r0, _0205DED0 ; =0x0000FFFF add r1, r4, #0x0 blx _s32_div_f add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 blx _s32_div_f lsl r0, r0, #0x10 lsr r6, r0, #0x10 cmp r6, r4 blo _0205DDF2 bl ErrorHandling _0205DDF2: lsl r1, r5, #0x1 mov r0, #0x9 sub r0, r0, r1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 lsl r0, r6, #0x18 lsr r6, r0, #0x18 add r0, r6, #0x0 add r1, r4, #0x0 blx _s32_div_f lsl r0, r0, #0x18 lsr r0, r0, #0x18 bne _0205DE1C add r0, r6, #0x0 add r1, r4, #0x0 blx _s32_div_f add r1, r5, r1 add r0, r5, #0x0 b _0205DE5C _0205DE1C: cmp r0, #0x1 bne _0205DE30 add r0, r6, #0x0 add r1, r4, #0x0 blx _s32_div_f add r0, r5, r4 add r1, r5, r1 sub r0, r0, #0x1 b _0205DE5C _0205DE30: lsl r7, r4, #0x1 cmp r6, r7 bge _0205DE3A bl ErrorHandling _0205DE3A: sub r0, r6, r7 lsl r0, r0, #0x18 lsr r1, r0, #0x18 lsr r3, r1, #0x1f lsl r2, r1, #0x1f lsr r0, r1, #0x1 add r0, r5, r0 sub r2, r2, r3 mov r1, #0x1f ror r2, r1 add r0, r0, #0x1 add r1, r3, r2 bne _0205DE58 add r1, r5, #0x0 b _0205DE5C _0205DE58: add r1, r5, r4 sub r1, r1, #0x1 _0205DE5C: lsl r1, r1, #0x18 lsr r1, r1, #0x18 lsl r0, r0, #0x18 str r1, [sp, #0x0] lsr r0, r0, #0x18 str r0, [sp, #0x4] mov r0, #0x28 add r1, r5, #0x0 mul r1, r0 ldr r0, [sp, #0x24] ldr r2, [sp, #0x10] add r0, r0, r1 str r0, [sp, #0x8] ldr r1, [sp, #0x1c] ldr r0, [sp, #0xc] ldr r1, [r1, #0x4] ldr r3, [sp, #0x14] bl FUN_0205E12C cmp r0, #0x0 beq _0205DE90 ldr r0, [sp, #0x20] add r0, r0, #0x1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x20] _0205DE90: add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x4 blo _0205DDB6 ldr r0, [sp, #0x20] cmp r0, #0x0 bne _0205DEBE ldr r0, [sp, #0x18] bl FUN_0205DD40 ldr r0, [sp, #0xc] add r1, r0, #0x0 ldr r1, [r1, #0x1c] ldr r1, [r1, #0x0] bl FUN_0204AB58 add r1, r0, #0x0 ldr r0, [sp, #0xc] mov r2, #0x1 bl FUN_0204ABDC b _0205DEC4 _0205DEBE: ldr r0, [sp, #0x18] mov r1, #0x1 str r1, [r0, #0x10] _0205DEC4: ldr r0, [sp, #0x18] ldr r0, [r0, #0x10] add sp, #0x2c pop {r4-r7, pc} .balign 4 _0205DECC: .word 0x020F7374 _0205DED0: .word 0x0000FFFF thumb_func_start FUN_0205DED4 FUN_0205DED4: ; 0x0205DED4 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] str r1, [sp, #0x4] add r6, r2, #0x0 mov r4, #0x0 _0205DEE0: mov r0, #0x28 mul r0, r4 add r5, r6, r0 ldr r0, [r5, #0x28] cmp r0, #0x0 beq _0205DF36 ldr r1, [sp, #0x4] add r0, r4, #0x0 bl FUN_0205E2A0 str r0, [r5, #0x2c] cmp r0, #0x0 bne _0205DF24 bl FUN_0201B9EC mov r1, #0x29 lsl r1, r1, #0x4 blx _s32_div_f lsl r0, r0, #0x10 lsr r7, r0, #0x10 cmp r7, #0x64 blo _0205DF12 bl ErrorHandling _0205DF12: cmp r7, #0x32 bhs _0205DF1A mov r0, #0x0 b _0205DF1C _0205DF1A: mov r0, #0x1 _0205DF1C: str r0, [r5, #0x24] mov r0, #0x0 str r0, [r5, #0x30] b _0205DF36 _0205DF24: ldr r0, [r6, #0x0] str r0, [r5, #0x24] ldr r0, [sp, #0x0] add r0, #0x90 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] bl FUN_0205E40C str r0, [r5, #0x30] _0205DF36: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x4 blo _0205DEE0 add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_0205DF44 FUN_0205DF44: ; 0x0205DF44 push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 mov r6, #0x0 _0205DF4C: mov r0, #0x28 mul r0, r6 add r4, r7, r0 ldr r0, [r4, #0x28] cmp r0, #0x0 beq _0205DF8C ldr r0, [r4, #0x30] ldr r1, [r4, #0x1c] ldr r2, [r4, #0x20] cmp r0, #0x0 beq _0205DF6E add r0, r5, #0x0 mov r3, #0x2 bl FUN_0224B818 str r0, [r4, #0x34] b _0205DF90 _0205DF6E: ldr r0, [r4, #0x24] cmp r0, #0x0 bne _0205DF80 add r0, r5, #0x0 mov r3, #0x0 bl FUN_0224B818 str r0, [r4, #0x34] b _0205DF90 _0205DF80: add r0, r5, #0x0 mov r3, #0x1 bl FUN_0224B818 str r0, [r4, #0x34] b _0205DF90 _0205DF8C: mov r0, #0x0 str r0, [r4, #0x34] _0205DF90: add r0, r6, #0x1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 cmp r6, #0x4 blo _0205DF4C pop {r3-r7, pc} thumb_func_start FUN_0205DF9C FUN_0205DF9C: ; 0x0205DF9C push {r3-r7, lr} mov r4, #0x0 add r7, r0, #0x0 add r6, r4, #0x0 _0205DFA4: mov r0, #0x28 mul r0, r6 add r5, r7, r0 ldr r0, [r5, #0x34] cmp r0, #0x0 beq _0205DFCA bl FUN_0224B86C cmp r0, #0x0 beq _0205DFD0 ldr r0, [r5, #0x34] bl FUN_02064520 mov r0, #0x0 str r0, [r5, #0x34] add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 b _0205DFD0 _0205DFCA: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _0205DFD0: add r0, r6, #0x1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 cmp r6, #0x4 blo _0205DFA4 cmp r4, #0x4 blo _0205DFE2 mov r0, #0x1 pop {r3-r7, pc} _0205DFE2: mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205DFE8 FUN_0205DFE8: ; 0x0205DFE8 push {r3-r7, lr} sub sp, #0x8 ldr r7, [sp, #0x24] add r6, r0, #0x0 mov r12, r1 ldr r0, [sp, #0x28] mov r1, #0x0 add r4, r3, #0x0 str r1, [r7, #0x0] str r2, [sp, #0x0] str r1, [r0, #0x0] str r0, [sp, #0x28] add r0, r4, #0x0 add r1, r6, #0x0 mov r2, r12 add r3, sp, #0x4 ldr r5, [sp, #0x20] bl FUN_0205E1B8 cmp r0, #0x0 bne _0205E018 add sp, #0x8 mov r0, #0x0 pop {r3-r7, pc} _0205E018: mov r0, #0x1 str r0, [r4, #0x18] add r0, sp, #0x4 ldrb r1, [r0, #0x0] mov r0, #0x28 mul r0, r1 add r0, r4, r0 ldr r1, [r0, #0x2c] ldr r6, [r0, #0x24] ldr r0, [r4, #0x14] cmp r0, #0x0 bne _0205E062 cmp r1, #0x0 beq _0205E05E add r0, r4, #0x4 bl FUN_0205E4D8 str r6, [r5, #0x0] mov r0, #0x1 str r0, [r7, #0x0] ldr r0, [sp, #0x0] add r1, r4, #0x0 bl FUN_0205E1F0 add r0, sp, #0x4 ldrb r1, [r0, #0x0] mov r0, #0x28 mul r0, r1 add r0, r4, r0 ldr r1, [r0, #0x30] ldr r0, [sp, #0x28] add sp, #0x8 str r1, [r0, #0x0] mov r0, #0x1 pop {r3-r7, pc} _0205E05E: str r6, [r5, #0x0] b _0205E074 _0205E062: str r6, [r5, #0x0] mov r0, #0x0 str r0, [r4, #0x14] ldr r0, [sp, #0x0] bl FUN_0205E258 add r1, r4, #0x0 add r1, #0xd0 strb r0, [r1, #0x0] _0205E074: ldr r0, [r5, #0x0] str r0, [r4, #0x0] mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205E080 FUN_0205E080: ; 0x0205E080 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x0 bne _0205E090 bl ErrorHandling _0205E090: str r4, [r5, #0x8] str r6, [r5, #0xc] pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0205E098 FUN_0205E098: ; 0x0205E098 ldr r3, [r0, #0x8] str r3, [r1, #0x0] ldr r0, [r0, #0xc] str r0, [r2, #0x0] bx lr .balign 4 thumb_func_start FUN_0205E0A4 FUN_0205E0A4: ; 0x0205E0A4 ldr r0, [r0, #0x18] bx lr thumb_func_start FUN_0205E0A8 FUN_0205E0A8: ; 0x0205E0A8 push {r3-r7, lr} add r7, r0, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] ldr r0, [r0, #0x10] cmp r0, #0x0 beq _0205E126 ldr r0, [r7, #0x10] cmp r0, #0x0 bne _0205E126 mov r6, #0x0 add r5, r6, #0x0 _0205E0C0: add r0, r7, #0x0 add r0, #0x90 ldr r1, [r0, #0x0] add r0, r1, #0x0 add r0, #0x1c add r4, r0, r5 add r0, r4, #0x0 add r0, #0x1c add r1, #0xbc bl FUN_0201B76C ldr r1, [r4, #0xc] cmp r1, #0x0 beq _0205E0E4 cmp r0, #0x0 bne _0205E0E4 mov r0, #0x0 str r0, [r4, #0xc] _0205E0E4: add r6, r6, #0x1 add r5, #0x28 cmp r6, #0x4 blt _0205E0C0 add r0, r7, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] mov r2, #0x0 add r3, r0, #0x0 add r4, r2, #0x0 add r3, #0x1c _0205E0FA: ldr r1, [r3, #0xc] cmp r1, #0x0 bne _0205E102 add r2, r2, #0x1 _0205E102: add r4, r4, #0x1 add r3, #0x28 cmp r4, #0x4 blt _0205E0FA cmp r2, #0x4 bne _0205E126 bl FUN_0205DD40 ldr r1, [r7, #0x1c] add r0, r7, #0x0 ldr r1, [r1, #0x0] bl FUN_0204AB58 add r1, r0, #0x0 add r0, r7, #0x0 mov r2, #0x1 bl FUN_0204ABDC _0205E126: pop {r3-r7, pc} thumb_func_start FUN_0205E128 FUN_0205E128: ; 0x0205E128 ldr r0, [r0, #0x10] bx lr thumb_func_start FUN_0205E12C FUN_0205E12C: ; 0x0205E12C push {r4-r7, lr} sub sp, #0xc str r1, [sp, #0x4] add r1, sp, #0x10 sub r4, r2, #0x4 ldrb r2, [r1, #0x10] ldrb r1, [r1, #0x14] ldr r5, [sp, #0x28] add r4, r4, r2 sub r2, r3, #0x4 add r6, r2, r1 str r4, [r5, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 add r7, r0, #0x0 str r6, [r5, #0x4] bl FUN_0204A6E0 bl FUN_0205478C cmp r0, #0x0 beq _0205E1AE lsl r0, r4, #0x10 str r0, [r5, #0x1c] lsl r0, r6, #0x10 str r0, [r5, #0x24] add r0, sp, #0x8 str r0, [sp, #0x0] ldr r2, [r5, #0x1c] ldr r3, [r5, #0x24] add r0, r7, #0x0 mov r1, #0x0 bl FUN_0204A708 ldr r1, [sp, #0x4] str r0, [r5, #0x20] cmp r1, r0 beq _0205E180 mov r0, #0x0 add sp, #0xc str r0, [r5, #0xc] pop {r4-r7, pc} _0205E180: asr r1, r4, #0x4 asr r2, r6, #0x4 lsr r1, r1, #0x1b lsr r2, r2, #0x1b add r1, r4, r1 add r2, r6, r2 ldr r0, [r7, #0x28] asr r1, r1, #0x5 asr r2, r2, #0x5 bl FUN_0203451C ldr r1, [r7, #0x1c] ldr r1, [r1, #0x0] cmp r1, r0 beq _0205E1A6 mov r0, #0x0 add sp, #0xc str r0, [r5, #0xc] pop {r4-r7, pc} _0205E1A6: mov r0, #0x1 add sp, #0xc str r0, [r5, #0xc] pop {r4-r7, pc} _0205E1AE: mov r0, #0x0 str r0, [r5, #0xc] add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0205E1B8 FUN_0205E1B8: ; 0x0205E1B8 push {r4-r7} mov r5, #0x0 mov r6, #0x28 _0205E1BE: add r4, r5, #0x0 mul r4, r6 add r4, r0, r4 ldr r7, [r4, #0x28] cmp r7, #0x0 beq _0205E1DE ldr r7, [r4, #0x1c] cmp r1, r7 bne _0205E1DE ldr r4, [r4, #0x20] cmp r2, r4 bne _0205E1DE strb r5, [r3, #0x0] mov r0, #0x1 pop {r4-r7} bx lr _0205E1DE: add r4, r5, #0x1 lsl r4, r4, #0x18 lsr r5, r4, #0x18 cmp r5, #0x4 blo _0205E1BE mov r0, #0x0 pop {r4-r7} bx lr .balign 4 thumb_func_start FUN_0205E1F0 FUN_0205E1F0: ; 0x0205E1F0 push {r4-r6, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 bl FUN_0202A9B0 bl FUN_0202A9AC add r3, r5, #0x0 add r3, #0xd0 ldrb r3, [r3, #0x0] add r4, r0, #0x0 add r1, r4, #0x2 lsl r6, r3, #0x2 ldrh r3, [r1, r6] ldr r2, [r5, #0x4] cmp r3, r2 bge _0205E256 strh r2, [r1, r6] add r1, r5, #0x0 add r1, #0xd0 ldrb r1, [r1, #0x0] ldr r2, [r5, #0x8] lsl r1, r1, #0x2 strh r2, [r4, r1] bl FUN_02245844 add r0, r5, #0x0 add r0, #0xd0 ldrb r0, [r0, #0x0] ldr r2, [r5, #0x4] lsl r0, r0, #0x2 add r0, r4, r0 ldrh r0, [r0, #0x2] cmp r0, r2 bgt _0205E256 mov r1, #0x0 mov r3, #0x2 _0205E23A: sub r0, r3, r1 lsl r6, r0, #0x2 add r6, r4, r6 ldrh r6, [r6, #0x2] cmp r2, r6 bne _0205E24C add r5, #0xd0 strb r0, [r5, #0x0] pop {r4-r6, pc} _0205E24C: add r1, r1, #0x1 cmp r1, #0x3 blt _0205E23A bl ErrorHandling _0205E256: pop {r4-r6, pc} thumb_func_start FUN_0205E258 FUN_0205E258: ; 0x0205E258 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_0202A9B0 bl FUN_0202A9AC mov r2, #0x0 _0205E266: lsl r1, r2, #0x2 ldrh r1, [r0, r1] cmp r1, #0x0 bne _0205E272 add r0, r2, #0x0 pop {r3, pc} _0205E272: add r1, r2, #0x1 lsl r1, r1, #0x18 lsr r2, r1, #0x18 cmp r2, #0x3 blo _0205E266 ldrh r2, [r0, #0x2] ldrh r1, [r0, #0x6] cmp r2, r1 blo _0205E288 mov r1, #0x1 b _0205E28A _0205E288: mov r1, #0x0 _0205E28A: lsl r1, r1, #0x18 lsr r2, r1, #0x18 lsl r1, r2, #0x2 add r1, r0, r1 ldrh r1, [r1, #0x2] ldrh r0, [r0, #0xa] cmp r1, r0 blo _0205E29C mov r2, #0x2 _0205E29C: add r0, r2, #0x0 pop {r3, pc} thumb_func_start FUN_0205E2A0 FUN_0205E2A0: ; 0x0205E2A0 push {r3-r7, lr} sub sp, #0x8 ldr r3, _0205E308 ; =0x020F7374 add r5, r0, #0x0 ldrb r4, [r3, #0x0] add r2, sp, #0x0 add r0, sp, #0x4 strb r4, [r2, #0x4] ldrb r4, [r3, #0x1] add r7, sp, #0x0 cmp r1, #0x1 strb r4, [r2, #0x5] ldrb r4, [r3, #0x2] strb r4, [r2, #0x6] ldrb r4, [r3, #0x3] strb r4, [r2, #0x7] ldrb r4, [r3, #0x8] strb r4, [r2, #0x0] ldrb r4, [r3, #0x9] strb r4, [r2, #0x1] ldrb r4, [r3, #0xa] strb r4, [r2, #0x2] ldrb r3, [r3, #0xb] strb r3, [r2, #0x3] bne _0205E2D6 add r6, r0, #0x0 b _0205E2DC _0205E2D6: cmp r1, #0x4 bne _0205E2DC add r6, r7, #0x0 _0205E2DC: bl FUN_0201B9EC mov r1, #0x29 lsl r1, r1, #0x4 blx _s32_div_f lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x64 blo _0205E2F4 bl ErrorHandling _0205E2F4: ldrb r0, [r6, r5] cmp r4, r0 bge _0205E300 add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _0205E300: mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} nop _0205E308: .word 0x020F7374 thumb_func_start FUN_0205E30C FUN_0205E30C: ; 0x0205E30C push {r3-r7, lr} add r7, r0, #0x0 bl FUN_02046528 add r4, r0, #0x0 add r0, r7, #0x0 bl FUN_0204652C add r5, r0, #0x0 ldr r1, [r5, #0x0] cmp r1, #0x4 bhi _0205E3FC add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0205E330: ; jump table (using 16-bit offset) .short _0205E33A - _0205E330 - 2; case 0 .short _0205E3C0 - _0205E330 - 2; case 1 .short _0205E3CC - _0205E330 - 2; case 2 .short _0205E3EC - _0205E330 - 2; case 3 .short _0205E3DE - _0205E330 - 2; case 4 _0205E33A: ldr r0, [r4, #0x34] bl FUN_02058780 ldr r0, [r4, #0xc] bl FUN_0202A9B0 bl FUN_0202AB40 add r6, r0, #0x0 ldrb r0, [r6, #0x0] cmp r0, #0x32 bhs _0205E374 mov r2, #0x0 ldr r1, _0205E400 ; =0x0000230A add r0, r7, #0x0 add r3, r2, #0x0 bl FUN_02038CD8 add r0, r4, #0x0 mov r1, #0x29 bl FUN_02039438 ldrb r2, [r6, #0x0] mov r1, #0x32 sub r1, r1, r2 strh r1, [r0, #0x0] mov r0, #0x4 str r0, [r5, #0x0] b _0205E3FC _0205E374: mov r0, #0x0 strb r0, [r6, #0x0] ldr r0, [r4, #0x38] bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r4, #0x38] bl FUN_0205532C add r3, r4, #0x0 add r3, #0x90 add r2, r0, #0x0 ldr r3, [r3, #0x0] add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_0205DD80 add r0, r4, #0x0 add r0, #0x90 ldr r2, [r0, #0x0] ldr r0, [r2, #0x10] cmp r0, #0x0 beq _0205E3BA add r0, r4, #0x0 mov r1, #0x1 bl FUN_0205DED4 add r0, r4, #0x0 add r4, #0x90 ldr r1, [r4, #0x0] bl FUN_0205DF44 mov r0, #0x1 str r0, [r5, #0x0] b _0205E3FC _0205E3BA: mov r0, #0x3 str r0, [r5, #0x0] b _0205E3FC _0205E3C0: ldr r0, _0205E404 ; =0x0000047E bl FUN_0200521C mov r0, #0x2 str r0, [r5, #0x0] b _0205E3FC _0205E3CC: add r4, #0x90 ldr r0, [r4, #0x0] bl FUN_0205DF9C cmp r0, #0x0 beq _0205E3FC mov r0, #0x4 str r0, [r5, #0x0] b _0205E3FC _0205E3DE: bl FUN_02016A18 ldr r0, [r4, #0x34] bl FUN_020587B0 mov r0, #0x1 pop {r3-r7, pc} _0205E3EC: mov r2, #0x0 ldr r1, _0205E408 ; =0x0000230B add r0, r7, #0x0 add r3, r2, #0x0 bl FUN_02038CD8 mov r0, #0x4 str r0, [r5, #0x0] _0205E3FC: mov r0, #0x0 pop {r3-r7, pc} .balign 4 _0205E400: .word 0x0000230A _0205E404: .word 0x0000047E _0205E408: .word 0x0000230B thumb_func_start FUN_0205E40C FUN_0205E40C: ; 0x0205E40C push {r3-r5, lr} cmp r0, #0x0 bne _0205E416 mov r0, #0x0 pop {r3-r5, pc} _0205E416: add r2, r0, #0x0 mov r1, #0xc8 ldr r0, _0205E478 ; =0x00002008 mul r2, r1 sub r5, r0, r2 cmp r5, #0xc8 bge _0205E426 add r5, r1, #0x0 _0205E426: lsl r0, r5, #0x10 lsr r0, r0, #0x10 bne _0205E430 bl ErrorHandling _0205E430: lsl r0, r5, #0x10 lsr r0, r0, #0x10 cmp r0, #0x1 bhi _0205E43C mov r4, #0x0 b _0205E46A _0205E43C: bl FUN_0201B9EC add r4, r0, #0x0 lsl r1, r5, #0x10 ldr r0, _0205E47C ; =0x0000FFFF lsr r1, r1, #0x10 blx _s32_div_f add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r4, #0x0 lsr r1, r1, #0x10 blx _s32_div_f lsl r0, r0, #0x10 lsr r4, r0, #0x10 lsl r0, r5, #0x10 lsr r0, r0, #0x10 cmp r4, r0 blo _0205E46A bl ErrorHandling _0205E46A: cmp r4, #0x0 bne _0205E472 mov r0, #0x1 pop {r3-r5, pc} _0205E472: mov r0, #0x0 pop {r3-r5, pc} nop _0205E478: .word 0x00002008 _0205E47C: .word 0x0000FFFF thumb_func_start FUN_0205E480 FUN_0205E480: ; 0x0205E480 push {r4, lr} add r4, r0, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] add r0, r0, #0x4 bl FUN_0205E4D8 add r0, r4, #0x0 add r4, #0x90 ldr r1, [r4, #0x0] bl FUN_0205E1F0 pop {r4, pc} .balign 4 thumb_func_start FUN_0205E49C FUN_0205E49C: ; 0x0205E49C add r0, #0x90 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] bx lr thumb_func_start FUN_0205E4A4 FUN_0205E4A4: ; 0x0205E4A4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_0206F158 ldr r1, _0205E4D4 ; =0x000001AF mov r2, #0x1 mov r3, #0x4 bl FUN_0206EE50 cmp r0, #0x1 bne _0205E4D0 ldr r0, [r4, #0xc] bl FUN_0202A9B0 bl FUN_0202AB40 ldrb r1, [r0, #0x0] cmp r1, #0x32 bhs _0205E4D0 add r1, r1, #0x1 strb r1, [r0, #0x0] _0205E4D0: pop {r4, pc} nop _0205E4D4: .word 0x000001AF thumb_func_start FUN_0205E4D8 FUN_0205E4D8: ; 0x0205E4D8 ldr r1, [r0, #0x0] add r2, r1, #0x1 ldr r1, _0205E4E8 ; =0x000003E7 str r2, [r0, #0x0] cmp r2, r1 ble _0205E4E6 str r1, [r0, #0x0] _0205E4E6: bx lr .balign 4 _0205E4E8: .word 0x000003E7 thumb_func_start FUN_0205E4EC FUN_0205E4EC: ; 0x0205E4EC push {r4, lr} add r4, r0, #0x0 mov r1, #0x8 bl FUN_0205858C add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_0205E5B4 add r0, r4, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r4, #0x0 bl FUN_02058848 add r0, r4, #0x0 mov r1, #0x0 bl FUN_020588B8 pop {r4, pc} .balign 4 thumb_func_start FUN_0205E518 FUN_0205E518: ; 0x0205E518 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_020585B0 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205E5B4 cmp r0, #0x0 beq _0205E548 add r0, r5, #0x0 mov r1, #0x0 bl FUN_020588B8 ldr r6, _0205E54C ; =0x020F7388 _0205E538: ldrb r2, [r4, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x2 ldr r2, [r6, r2] blx r2 cmp r0, #0x1 beq _0205E538 _0205E548: pop {r4-r6, pc} nop _0205E54C: .word 0x020F7388 thumb_func_start FUN_0205E550 FUN_0205E550: ; 0x0205E550 bx lr .balign 4 thumb_func_start FUN_0205E554 FUN_0205E554: ; 0x0205E554 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02058848 add r0, r5, #0x0 bl FUN_0205886C add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205E608 cmp r0, #0x1 bne _0205E592 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205E63C add r0, r5, #0x0 bl FUN_0205E698 cmp r0, #0x1 bne _0205E592 add r0, r5, #0x0 bl FUN_0205883C ldrb r0, [r4, #0x0] add r0, r0, #0x1 strb r0, [r4, #0x0] mov r0, #0x1 pop {r3-r5, pc} _0205E592: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205E598 FUN_0205E598: ; 0x0205E598 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_0205B080 cmp r0, #0x1 bne _0205E5B0 add r0, r5, #0x0 bl FUN_02058848 mov r0, #0x0 strb r0, [r4, #0x0] _0205E5B0: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0205E5B4 FUN_0205E5B4: ; 0x0205E5B4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02058578 bl FUN_020552A4 cmp r0, #0x0 bne _0205E5CC mov r0, #0x0 strb r0, [r4, #0x1] pop {r3-r5, pc} _0205E5CC: ldrb r0, [r4, #0x1] cmp r0, #0x0 bne _0205E5DA add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205E5E0 _0205E5DA: mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205E5E0 FUN_0205E5E0: ; 0x0205E5E0 push {r3-r5, lr} add r5, r1, #0x0 bl FUN_02058738 bl FUN_02055698 mov r1, #0x1 add r4, r0, #0x0 strb r1, [r5, #0x1] bl FUN_02055320 strh r0, [r5, #0x2] add r0, r4, #0x0 bl FUN_0205532C strh r0, [r5, #0x4] mov r0, #0xff strh r0, [r5, #0x6] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205E608 FUN_0205E608: ; 0x0205E608 push {r4-r6, lr} add r5, r1, #0x0 bl FUN_02058738 bl FUN_02055698 add r6, r0, #0x0 beq _0205E638 bl FUN_02055320 add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_0205532C mov r1, #0x2 ldrsh r1, [r5, r1] cmp r4, r1 bne _0205E634 mov r1, #0x4 ldrsh r1, [r5, r1] cmp r0, r1 beq _0205E638 _0205E634: mov r0, #0x1 pop {r4-r6, pc} _0205E638: mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0205E63C FUN_0205E63C: ; 0x0205E63C push {r3-r5, lr} add r5, r1, #0x0 bl FUN_02058738 bl FUN_02055698 add r4, r0, #0x0 bl FUN_02055320 strh r0, [r5, #0x2] add r0, r4, #0x0 bl FUN_0205532C strh r0, [r5, #0x4] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205E65C FUN_0205E65C: ; 0x0205E65C push {r3, lr} bl FUN_02058738 bl FUN_02055698 bl FUN_02055464 add r1, r0, #0x0 sub r1, #0x58 cmp r1, #0x3 bhi _0205E694 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0205E67E: ; jump table (using 16-bit offset) .short _0205E686 - _0205E67E - 2; case 0 .short _0205E68A - _0205E67E - 2; case 1 .short _0205E68E - _0205E67E - 2; case 2 .short _0205E692 - _0205E67E - 2; case 3 _0205E686: mov r0, #0x10 pop {r3, pc} _0205E68A: mov r0, #0x11 pop {r3, pc} _0205E68E: mov r0, #0x12 pop {r3, pc} _0205E692: mov r0, #0x13 _0205E694: pop {r3, pc} .balign 4 thumb_func_start FUN_0205E698 FUN_0205E698: ; 0x0205E698 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 bl FUN_02058738 bl FUN_02055698 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B2C str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_02058B4C add r7, r0, #0x0 add r0, r4, #0x0 bl FUN_02055338 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_02055344 add r4, r0, #0x0 ldr r0, [sp, #0x0] cmp r0, r6 bne _0205E6D2 cmp r7, r4 beq _0205E6FA _0205E6D2: add r0, r5, #0x0 bl FUN_0205E65C str r0, [sp, #0x4] ldr r0, [sp, #0x0] add r1, r7, #0x0 add r2, r6, #0x0 add r3, r4, #0x0 bl FUN_02059E80 ldr r1, [sp, #0x4] bl FUN_0205AFDC add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205AE0C add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _0205E6FA: mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_0205E700 FUN_0205E700: ; 0x0205E700 push {r3-r5, lr} mov r1, #0xc add r5, r0, #0x0 bl FUN_0205858C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205E854 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r5, #0x0 bl FUN_02058848 mov r0, #0x0 strb r0, [r4, #0x1] pop {r3-r5, pc} thumb_func_start FUN_0205E728 FUN_0205E728: ; 0x0205E728 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_020585B0 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205E854 cmp r0, #0x0 beq _0205E750 ldr r6, _0205E754 ; =0x020F7390 _0205E740: ldrb r2, [r4, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x2 ldr r2, [r6, r2] blx r2 cmp r0, #0x1 beq _0205E740 _0205E750: pop {r4-r6, pc} nop _0205E754: .word 0x020F7390 thumb_func_start FUN_0205E758 FUN_0205E758: ; 0x0205E758 bx lr .balign 4 thumb_func_start FUN_0205E75C FUN_0205E75C: ; 0x0205E75C push {r3, lr} bl FUN_020585B0 mov r1, #0x0 strb r1, [r0, #0x1] pop {r3, pc} thumb_func_start FUN_0205E768 FUN_0205E768: ; 0x0205E768 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02058848 add r0, r5, #0x0 bl FUN_0205886C add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205E8F4 cmp r0, #0x1 bne _0205E7A0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205E940 cmp r0, #0x1 bne _0205E7A0 add r0, r5, #0x0 bl FUN_0205883C ldrb r0, [r4, #0x0] add r0, r0, #0x1 strb r0, [r4, #0x0] mov r0, #0x1 pop {r3-r5, pc} _0205E7A0: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0205E7A4 FUN_0205E7A4: ; 0x0205E7A4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_0205B080 cmp r0, #0x0 bne _0205E7B6 mov r0, #0x0 pop {r3-r5, pc} _0205E7B6: add r0, r5, #0x0 bl FUN_02058848 mov r0, #0x0 strb r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205E7C4 FUN_0205E7C4: ; 0x0205E7C4 push {r4-r7, lr} sub sp, #0xc mov r1, #0x0 add r4, r0, #0x0 str r1, [sp, #0x8] bl FUN_02058488 str r0, [sp, #0x0] add r0, r4, #0x0 bl FUN_02058450 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_0205C9E8 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02058578 ldr r1, [sp, #0x0] add r7, r0, #0x0 cmp r1, #0x8 bhi _0205E84C add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0205E7FE: ; jump table (using 16-bit offset) .short _0205E84C - _0205E7FE - 2; case 0 .short _0205E810 - _0205E7FE - 2; case 1 .short _0205E810 - _0205E7FE - 2; case 2 .short _0205E810 - _0205E7FE - 2; case 3 .short _0205E810 - _0205E7FE - 2; case 4 .short _0205E810 - _0205E7FE - 2; case 5 .short _0205E810 - _0205E7FE - 2; case 6 .short _0205E810 - _0205E7FE - 2; case 7 .short _0205E810 - _0205E7FE - 2; case 8 _0205E810: add r1, sp, #0x4 add r2, sp, #0x8 mov r3, #0x1 bl FUN_020580F4 cmp r0, #0x1 bne _0205E84C _0205E81E: ldr r0, [sp, #0x4] cmp r4, r0 beq _0205E83C bl FUN_02058450 cmp r6, r0 bne _0205E83C ldr r0, [sp, #0x4] bl FUN_0205C9E8 cmp r5, r0 bne _0205E83C ldr r0, [sp, #0x4] add sp, #0xc pop {r4-r7, pc} _0205E83C: add r0, r7, #0x0 add r1, sp, #0x4 add r2, sp, #0x8 mov r3, #0x1 bl FUN_020580F4 cmp r0, #0x1 beq _0205E81E _0205E84C: mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0205E854 FUN_0205E854: ; 0x0205E854 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 str r1, [sp, #0x0] bl FUN_02058578 add r4, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x8] add r0, r5, #0x0 bl FUN_02058450 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_0205C9E8 add r6, r0, #0x0 add r0, r4, #0x0 add r1, sp, #0x4 add r2, sp, #0x8 mov r3, #0x1 bl FUN_020580F4 cmp r0, #0x1 bne _0205E8C6 _0205E886: ldr r0, [sp, #0x4] cmp r5, r0 beq _0205E8B6 bl FUN_02058450 cmp r7, r0 bne _0205E8B6 ldr r0, [sp, #0x4] bl FUN_0205C9E8 cmp r6, r0 bne _0205E8B6 ldr r0, [sp, #0x0] ldrb r0, [r0, #0x1] cmp r0, #0x0 bne _0205E8B0 ldr r1, [sp, #0x0] ldr r2, [sp, #0x4] add r0, r5, #0x0 bl FUN_0205E8D0 _0205E8B0: add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} _0205E8B6: add r0, r4, #0x0 add r1, sp, #0x4 add r2, sp, #0x8 mov r3, #0x1 bl FUN_020580F4 cmp r0, #0x1 beq _0205E886 _0205E8C6: ldr r1, [sp, #0x0] mov r0, #0x0 strb r0, [r1, #0x1] add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_0205E8D0 FUN_0205E8D0: ; 0x0205E8D0 push {r3-r5, lr} add r5, r1, #0x0 mov r0, #0x1 add r4, r2, #0x0 strb r0, [r5, #0x1] add r0, r4, #0x0 bl FUN_02058B2C strh r0, [r5, #0x2] add r0, r4, #0x0 bl FUN_02058B4C strh r0, [r5, #0x4] mov r0, #0xff strh r0, [r5, #0x6] str r4, [r5, #0x8] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205E8F4 FUN_0205E8F4: ; 0x0205E8F4 push {r3-r7, lr} add r6, r0, #0x0 ldr r5, [r1, #0x8] bl FUN_02058B2C add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_02058B4C add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B14 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B24 cmp r4, r7 bne _0205E91E cmp r6, r0 beq _0205E93A _0205E91E: add r0, r5, #0x0 bl FUN_02058854 cmp r0, #0x1 beq _0205E936 mov r1, #0x61 add r0, r5, #0x0 lsl r1, r1, #0x6 bl FUN_02058424 cmp r0, #0x0 bne _0205E93A _0205E936: mov r0, #0x1 pop {r3-r7, pc} _0205E93A: mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0205E940 FUN_0205E940: ; 0x0205E940 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] add r5, r1, #0x0 bl FUN_02058B2C add r4, r0, #0x0 ldr r0, [sp, #0x0] bl FUN_02058B4C add r6, r0, #0x0 ldr r0, [r5, #0x8] bl FUN_02058B2C str r0, [sp, #0x8] ldr r0, [r5, #0x8] bl FUN_02058B4C add r7, r0, #0x0 ldr r0, [r5, #0x8] bl FUN_02058B14 str r0, [sp, #0x4] ldr r0, [r5, #0x8] bl FUN_02058B24 add r3, r0, #0x0 ldr r0, [sp, #0x8] cmp r4, r0 bne _0205E986 cmp r6, r7 bne _0205E986 add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _0205E986: ldr r2, [sp, #0x4] add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_02059E80 add r5, r0, #0x0 bl FUN_02059BF4 add r4, r4, r0 add r0, r5, #0x0 bl FUN_02059C00 add r1, r6, r0 ldr r0, [sp, #0x8] cmp r4, r0 bne _0205E9AA cmp r1, r7 beq _0205E9C0 _0205E9AA: add r0, r5, #0x0 mov r1, #0xc bl FUN_0205AFDC add r1, r0, #0x0 ldr r0, [sp, #0x0] bl FUN_0205AE0C add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} _0205E9C0: mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0205E9C8 FUN_0205E9C8: ; 0x0205E9C8 push {r4-r5, lr} sub sp, #0xc add r5, r1, #0x0 add r4, r0, #0x0 mov r1, #0x8 bl FUN_0205858C strb r5, [r0, #0x1] add r0, r4, #0x0 mov r1, #0x0 bl FUN_02058544 add r0, r4, #0x0 bl FUN_02058848 mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0x14 bl FUN_02058410 ldr r5, _0205EA0C ; =0x020F7398 add r3, sp, #0x0 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldr r0, [r5, #0x0] add r1, r2, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 bl FUN_02058B94 add sp, #0xc pop {r4-r5, pc} nop _0205EA0C: .word 0x020F7398 thumb_func_start FUN_0205EA10 FUN_0205EA10: ; 0x0205EA10 ldr r3, _0205EA18 ; =FUN_0205E9C8 mov r1, #0x0 bx r3 nop _0205EA18: .word FUN_0205E9C8 thumb_func_start FUN_0205EA1C FUN_0205EA1C: ; 0x0205EA1C ldr r3, _0205EA24 ; =FUN_0205E9C8 mov r1, #0x1 bx r3 nop _0205EA24: .word FUN_0205E9C8 thumb_func_start FUN_0205EA28 FUN_0205EA28: ; 0x0205EA28 ldr r3, _0205EA30 ; =FUN_0205E9C8 mov r1, #0x2 bx r3 nop _0205EA30: .word FUN_0205E9C8 thumb_func_start FUN_0205EA34 FUN_0205EA34: ; 0x0205EA34 ldr r3, _0205EA3C ; =FUN_0205E9C8 mov r1, #0x3 bx r3 nop _0205EA3C: .word FUN_0205E9C8 thumb_func_start FUN_0205EA40 FUN_0205EA40: ; 0x0205EA40 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_020585B0 ldr r6, _0205EA60 ; =0x020F7380 add r4, r0, #0x0 _0205EA4C: ldrb r2, [r4, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x2 ldr r2, [r6, r2] blx r2 cmp r0, #0x1 beq _0205EA4C pop {r4-r6, pc} nop _0205EA60: .word 0x020F7380 thumb_func_start FUN_0205EA64 FUN_0205EA64: ; 0x0205EA64 push {r3, lr} bl FUN_0205EB20 cmp r0, #0x0 beq _0205EA72 bl FUN_021E4DE4 _0205EA72: pop {r3, pc} thumb_func_start FUN_0205EA74 FUN_0205EA74: ; 0x0205EA74 push {r4-r5, lr} sub sp, #0xc add r4, r0, #0x0 bl FUN_020585B0 add r5, r0, #0x0 mov r1, #0x0 strb r1, [r5, #0x0] add r0, r4, #0x0 bl FUN_0205EB14 ldrb r0, [r5, #0x2] cmp r0, #0x0 bne _0205EAA6 ldr r5, _0205EAAC ; =0x020F73A4 add r3, sp, #0x0 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldr r0, [r5, #0x0] add r1, r2, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 bl FUN_02058B94 _0205EAA6: add sp, #0xc pop {r4-r5, pc} nop _0205EAAC: .word 0x020F73A4 thumb_func_start FUN_0205EAB0 FUN_0205EAB0: ; 0x0205EAB0 push {r3-r5, lr} add r4, r1, #0x0 ldrb r1, [r4, #0x2] add r5, r0, #0x0 cmp r1, #0x0 bne _0205EACA ldrb r1, [r4, #0x1] bl FUN_0224CECC add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205EB14 _0205EACA: add r0, r5, #0x0 bl FUN_02058848 add r0, r5, #0x0 bl FUN_0205886C ldrb r0, [r4, #0x0] add r0, r0, #0x1 strb r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0205EAE0 FUN_0205EAE0: ; 0x0205EAE0 push {r3-r5, lr} add r4, r1, #0x0 ldrb r1, [r4, #0x2] add r5, r0, #0x0 cmp r1, #0x0 bne _0205EB0E bl FUN_0205EB20 cmp r0, #0x0 bne _0205EB0E add r0, r5, #0x0 bl FUN_02058934 cmp r0, #0x1 bne _0205EB0E ldrb r1, [r4, #0x1] add r0, r5, #0x0 bl FUN_0224CECC add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_0205EB14 _0205EB0E: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205EB14 FUN_0205EB14: ; 0x0205EB14 push {r4, lr} add r4, r1, #0x0 bl FUN_020585B0 str r4, [r0, #0x4] pop {r4, pc} thumb_func_start FUN_0205EB20 FUN_0205EB20: ; 0x0205EB20 push {r3, lr} bl FUN_020585B0 ldr r0, [r0, #0x4] pop {r3, pc} .balign 4 thumb_func_start FUN_0205EB2C FUN_0205EB2C: ; 0x0205EB2C push {r3, lr} bl FUN_020585B0 mov r1, #0x1 strb r1, [r0, #0x2] pop {r3, pc} thumb_func_start FUN_0205EB38 FUN_0205EB38: ; 0x0205EB38 push {r4-r7, lr} sub sp, #0x24 ldr r3, _0205EBE0 ; =0x020F73B0 add r2, sp, #0xc add r4, r0, #0x0 ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} mov r1, #0x5b add r0, r4, #0x0 lsl r1, r1, #0x2 bl FUN_02016998 mov r2, #0x5b add r7, r0, #0x0 mov r1, #0x0 lsl r2, r2, #0x2 blx MI_CpuFill8 add r0, r7, #0x0 add r1, sp, #0xc mov r2, #0x2 mov r3, #0xb bl FUN_021D959C mov r0, #0x2 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, _0205EBE4 ; =0x000034D8 mov r2, #0x0 str r0, [sp, #0x8] add r0, r7, #0x0 mov r1, #0x55 add r3, r2, #0x0 bl FUN_021D967C ldr r0, _0205EBE4 ; =0x000034D8 mov r1, #0x55 str r0, [sp, #0x0] add r0, r7, #0x0 mov r2, #0x2 mov r3, #0x0 bl FUN_021D96F4 ldr r0, _0205EBE4 ; =0x000034D8 mov r1, #0x55 str r0, [sp, #0x0] add r0, r7, #0x0 mov r2, #0x3 mov r3, #0x0 bl FUN_021D9708 mov r2, #0x1 ldr r0, _0205EBE4 ; =0x000034D8 str r2, [sp, #0x0] str r0, [sp, #0x4] add r0, r7, #0x0 mov r1, #0x55 mov r3, #0x0 bl FUN_021D971C ldr r4, _0205EBE8 ; =0x020F73C8 mov r6, #0x0 add r5, r7, #0x0 _0205EBC0: add r0, r7, #0x0 add r1, r4, #0x0 bl FUN_021D9820 mov r1, #0x59 lsl r1, r1, #0x2 str r0, [r5, r1] add r6, r6, #0x1 add r4, #0x34 add r5, r5, #0x4 cmp r6, #0x2 blo _0205EBC0 add r0, r7, #0x0 add sp, #0x24 pop {r4-r7, pc} nop _0205EBE0: .word 0x020F73B0 _0205EBE4: .word 0x000034D8 _0205EBE8: .word 0x020F73C8 thumb_func_start FUN_0205EBEC FUN_0205EBEC: ; 0x0205EBEC push {r3-r7, lr} add r7, r0, #0x0 mov r6, #0x59 mov r4, #0x0 add r5, r7, #0x0 lsl r6, r6, #0x2 _0205EBF8: ldr r0, [r5, r6] cmp r0, #0x0 beq _0205EC02 bl FUN_0200C3DC _0205EC02: add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x2 blt _0205EBF8 add r0, r7, #0x0 bl FUN_021D99F8 add r0, r7, #0x0 bl FUN_02016A18 pop {r3-r7, pc} thumb_func_start FUN_0205EC18 FUN_0205EC18: ; 0x0205EC18 push {r3-r7, lr} mov r7, #0x1 mov r6, #0x59 str r0, [sp, #0x0] mov r4, #0x0 add r5, r0, #0x0 lsl r7, r7, #0xc lsl r6, r6, #0x2 _0205EC28: ldr r0, [r5, r6] cmp r0, #0x0 beq _0205EC36 ldr r0, [r0, #0x0] add r1, r7, #0x0 bl FUN_020201E4 _0205EC36: add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x2 blt _0205EC28 ldr r0, [sp, #0x0] ldr r0, [r0, #0x0] bl FUN_0201FDEC pop {r3-r7, pc} thumb_func_start FUN_0205EC48 FUN_0205EC48: ; 0x0205EC48 push {r4-r6, lr} add r5, r0, #0x0 mov r0, #0x59 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r4, r1, #0x0 add r6, r3, #0x0 bl FUN_0200C714 mov r0, #0x5a lsl r0, r0, #0x2 ldr r0, [r5, r0] add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_0200C714 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0205EC6C FUN_0205EC6C: ; 0x0205EC6C push {r3, lr} cmp r1, #0x2 bhs _0205EC82 lsl r1, r1, #0x2 add r1, r0, r1 mov r0, #0x59 lsl r0, r0, #0x2 ldr r0, [r1, r0] add r1, r2, #0x0 bl FUN_0200C644 _0205EC82: pop {r3, pc} thumb_func_start FUN_0205EC84 FUN_0205EC84: ; 0x0205EC84 ldr r3, _0205EC88 ; =FUN_020462E4 bx r3 .balign 4 _0205EC88: .word FUN_020462E4 thumb_func_start FUN_0205EC8C FUN_0205EC8C: ; 0x0205EC8C ldr r3, _0205EC90 ; =FUN_0204630C bx r3 .balign 4 _0205EC90: .word FUN_0204630C thumb_func_start FUN_0205EC94 FUN_0205EC94: ; 0x0205EC94 ldr r3, _0205EC98 ; =FUN_020462B8 bx r3 .balign 4 _0205EC98: .word FUN_020462B8 thumb_func_start FUN_0205EC9C FUN_0205EC9C: ; 0x0205EC9C push {r3, lr} cmp r1, #0x0 beq _0205ECB6 cmp r1, #0x1 beq _0205ECAC cmp r1, #0x2 beq _0205ECC0 b _0205ECCA _0205ECAC: lsl r1, r2, #0x10 lsr r1, r1, #0x10 bl FUN_0205EC84 b _0205ECCE _0205ECB6: lsl r1, r2, #0x10 lsr r1, r1, #0x10 bl FUN_0205EC8C b _0205ECCE _0205ECC0: lsl r1, r2, #0x10 lsr r1, r1, #0x10 bl FUN_0205EC94 pop {r3, pc} _0205ECCA: bl ErrorHandling _0205ECCE: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0205ECD4 FUN_0205ECD4: ; 0x0205ECD4 ldr r3, _0205ECDC ; =FUN_0205EC84 mov r1, #0x96 lsl r1, r1, #0x4 bx r3 .balign 4 _0205ECDC: .word FUN_0205EC84 thumb_func_start FUN_0205ECE0 FUN_0205ECE0: ; 0x0205ECE0 ldr r3, _0205ECE8 ; =FUN_0205EC94 mov r1, #0x96 lsl r1, r1, #0x4 bx r3 .balign 4 _0205ECE8: .word FUN_0205EC94 thumb_func_start FUN_0205ECEC FUN_0205ECEC: ; 0x0205ECEC ldr r3, _0205ECF4 ; =FUN_0205EC94 ldr r1, _0205ECF8 ; =0x0000098D bx r3 nop _0205ECF4: .word FUN_0205EC94 _0205ECF8: .word 0x0000098D thumb_func_start FUN_0205ECFC FUN_0205ECFC: ; 0x0205ECFC ldr r3, _0205ED04 ; =FUN_0205EC84 ldr r1, _0205ED08 ; =0x00000964 bx r3 nop _0205ED04: .word FUN_0205EC84 _0205ED08: .word 0x00000964 thumb_func_start FUN_0205ED0C FUN_0205ED0C: ; 0x0205ED0C ldr r3, _0205ED14 ; =FUN_0205EC94 ldr r1, _0205ED18 ; =0x00000964 bx r3 nop _0205ED14: .word FUN_0205EC94 _0205ED18: .word 0x00000964 thumb_func_start FUN_0205ED1C FUN_0205ED1C: ; 0x0205ED1C ldr r3, _0205ED24 ; =FUN_0205EC84 ldr r1, _0205ED28 ; =0x00000961 bx r3 nop _0205ED24: .word FUN_0205EC84 _0205ED28: .word 0x00000961 thumb_func_start FUN_0205ED2C FUN_0205ED2C: ; 0x0205ED2C ldr r3, _0205ED34 ; =FUN_0205EC8C ldr r1, _0205ED38 ; =0x00000961 bx r3 nop _0205ED34: .word FUN_0205EC8C _0205ED38: .word 0x00000961 thumb_func_start FUN_0205ED3C FUN_0205ED3C: ; 0x0205ED3C ldr r3, _0205ED44 ; =FUN_0205EC94 ldr r1, _0205ED48 ; =0x00000961 bx r3 nop _0205ED44: .word FUN_0205EC94 _0205ED48: .word 0x00000961 thumb_func_start FUN_0205ED4C FUN_0205ED4C: ; 0x0205ED4C ldr r3, _0205ED54 ; =FUN_0205EC84 ldr r1, _0205ED58 ; =0x00000965 bx r3 nop _0205ED54: .word FUN_0205EC84 _0205ED58: .word 0x00000965 thumb_func_start FUN_0205ED5C FUN_0205ED5C: ; 0x0205ED5C ldr r3, _0205ED64 ; =FUN_0205EC8C ldr r1, _0205ED68 ; =0x00000965 bx r3 nop _0205ED64: .word FUN_0205EC8C _0205ED68: .word 0x00000965 thumb_func_start FUN_0205ED6C FUN_0205ED6C: ; 0x0205ED6C ldr r3, _0205ED74 ; =FUN_0205EC94 ldr r1, _0205ED78 ; =0x00000965 bx r3 nop _0205ED74: .word FUN_0205EC94 _0205ED78: .word 0x00000965 thumb_func_start FUN_0205ED7C FUN_0205ED7C: ; 0x0205ED7C ldr r3, _0205ED84 ; =FUN_0205EC84 ldr r1, _0205ED88 ; =0x0000096D bx r3 nop _0205ED84: .word FUN_0205EC84 _0205ED88: .word 0x0000096D thumb_func_start FUN_0205ED8C FUN_0205ED8C: ; 0x0205ED8C ldr r3, _0205ED94 ; =FUN_0205EC8C ldr r1, _0205ED98 ; =0x0000096D bx r3 nop _0205ED94: .word FUN_0205EC8C _0205ED98: .word 0x0000096D thumb_func_start FUN_0205ED9C FUN_0205ED9C: ; 0x0205ED9C ldr r3, _0205EDA4 ; =FUN_0205EC94 ldr r1, _0205EDA8 ; =0x0000096D bx r3 nop _0205EDA4: .word FUN_0205EC94 _0205EDA8: .word 0x0000096D thumb_func_start FUN_0205EDAC FUN_0205EDAC: ; 0x0205EDAC ldr r3, _0205EDB4 ; =FUN_0205EC84 ldr r1, _0205EDB8 ; =0x0000096E bx r3 nop _0205EDB4: .word FUN_0205EC84 _0205EDB8: .word 0x0000096E thumb_func_start FUN_0205EDBC FUN_0205EDBC: ; 0x0205EDBC ldr r3, _0205EDC4 ; =FUN_0205EC84 ldr r1, _0205EDC8 ; =0x0000096F bx r3 nop _0205EDC4: .word FUN_0205EC84 _0205EDC8: .word 0x0000096F thumb_func_start FUN_0205EDCC FUN_0205EDCC: ; 0x0205EDCC ldr r3, _0205EDD4 ; =FUN_0205EC84 mov r1, #0x97 lsl r1, r1, #0x4 bx r3 .balign 4 _0205EDD4: .word FUN_0205EC84 thumb_func_start FUN_0205EDD8 FUN_0205EDD8: ; 0x0205EDD8 ldr r3, _0205EDE0 ; =FUN_0205EC84 ldr r1, _0205EDE4 ; =0x00000971 bx r3 nop _0205EDE0: .word FUN_0205EC84 _0205EDE4: .word 0x00000971 thumb_func_start FUN_0205EDE8 FUN_0205EDE8: ; 0x0205EDE8 ldr r3, _0205EDF0 ; =FUN_0205EC84 ldr r1, _0205EDF4 ; =0x00000972 bx r3 nop _0205EDF0: .word FUN_0205EC84 _0205EDF4: .word 0x00000972 thumb_func_start FUN_0205EDF8 FUN_0205EDF8: ; 0x0205EDF8 ldr r3, _0205EE00 ; =FUN_0205EC84 ldr r1, _0205EE04 ; =0x00000973 bx r3 nop _0205EE00: .word FUN_0205EC84 _0205EE04: .word 0x00000973 thumb_func_start FUN_0205EE08 FUN_0205EE08: ; 0x0205EE08 push {r3, lr} cmp r1, #0x4 bhi _0205EE4A add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0205EE1A: ; jump table (using 16-bit offset) .short _0205EE24 - _0205EE1A - 2; case 0 .short _0205EE2C - _0205EE1A - 2; case 1 .short _0205EE34 - _0205EE1A - 2; case 2 .short _0205EE3C - _0205EE1A - 2; case 3 .short _0205EE44 - _0205EE1A - 2; case 4 _0205EE24: ldr r1, _0205EE4C ; =0x00000968 bl FUN_0205EC84 pop {r3, pc} _0205EE2C: ldr r1, _0205EE50 ; =0x00000969 bl FUN_0205EC84 pop {r3, pc} _0205EE34: ldr r1, _0205EE54 ; =0x0000096A bl FUN_0205EC84 pop {r3, pc} _0205EE3C: ldr r1, _0205EE58 ; =0x0000096B bl FUN_0205EC84 pop {r3, pc} _0205EE44: ldr r1, _0205EE5C ; =0x0000096C bl FUN_0205EC84 _0205EE4A: pop {r3, pc} .balign 4 _0205EE4C: .word 0x00000968 _0205EE50: .word 0x00000969 _0205EE54: .word 0x0000096A _0205EE58: .word 0x0000096B _0205EE5C: .word 0x0000096C thumb_func_start FUN_0205EE60 FUN_0205EE60: ; 0x0205EE60 push {r3, lr} cmp r1, #0x4 bhi _0205EEA2 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0205EE72: ; jump table (using 16-bit offset) .short _0205EE7C - _0205EE72 - 2; case 0 .short _0205EE84 - _0205EE72 - 2; case 1 .short _0205EE8C - _0205EE72 - 2; case 2 .short _0205EE94 - _0205EE72 - 2; case 3 .short _0205EE9C - _0205EE72 - 2; case 4 _0205EE7C: ldr r1, _0205EEA4 ; =0x00000968 bl FUN_0205EC94 pop {r3, pc} _0205EE84: ldr r1, _0205EEA8 ; =0x00000969 bl FUN_0205EC94 pop {r3, pc} _0205EE8C: ldr r1, _0205EEAC ; =0x0000096A bl FUN_0205EC94 pop {r3, pc} _0205EE94: ldr r1, _0205EEB0 ; =0x0000096B bl FUN_0205EC94 pop {r3, pc} _0205EE9C: ldr r1, _0205EEB4 ; =0x0000096C bl FUN_0205EC94 _0205EEA2: pop {r3, pc} .balign 4 _0205EEA4: .word 0x00000968 _0205EEA8: .word 0x00000969 _0205EEAC: .word 0x0000096A _0205EEB0: .word 0x0000096B _0205EEB4: .word 0x0000096C thumb_func_start FUN_0205EEB8 FUN_0205EEB8: ; 0x0205EEB8 push {r3, lr} mov r2, #0x0 cmp r1, #0x5 bhi _0205EF0A add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0205EECC: ; jump table (using 16-bit offset) .short _0205EF0A - _0205EECC - 2; case 0 .short _0205EED8 - _0205EECC - 2; case 1 .short _0205EEE2 - _0205EECC - 2; case 2 .short _0205EEEE - _0205EECC - 2; case 3 .short _0205EEF8 - _0205EECC - 2; case 4 .short _0205EF02 - _0205EECC - 2; case 5 _0205EED8: ldr r1, _0205EF10 ; =0x0000097F bl FUN_0205EC94 add r2, r0, #0x0 b _0205EF0A _0205EEE2: mov r1, #0x26 lsl r1, r1, #0x6 bl FUN_0205EC94 add r2, r0, #0x0 b _0205EF0A _0205EEEE: ldr r1, _0205EF14 ; =0x00000981 bl FUN_0205EC94 add r2, r0, #0x0 b _0205EF0A _0205EEF8: ldr r1, _0205EF18 ; =0x00000982 bl FUN_0205EC94 add r2, r0, #0x0 b _0205EF0A _0205EF02: ldr r1, _0205EF1C ; =0x00000983 bl FUN_0205EC94 add r2, r0, #0x0 _0205EF0A: add r0, r2, #0x0 pop {r3, pc} nop _0205EF10: .word 0x0000097F _0205EF14: .word 0x00000981 _0205EF18: .word 0x00000982 _0205EF1C: .word 0x00000983 thumb_func_start FUN_0205EF20 FUN_0205EF20: ; 0x0205EF20 push {r4-r6, lr} add r4, r1, #0x0 ldr r1, _0205F0E4 ; =0x00000132 add r6, r0, #0x0 mov r5, #0x0 cmp r4, r1 bgt _0205EF7E blt _0205EF32 b _0205F036 _0205EF32: cmp r4, #0xc9 bgt _0205EF60 blt _0205EF3A b _0205F084 _0205EF3A: cmp r4, #0x4b bgt _0205EF58 add r1, r4, #0x0 sub r1, #0x48 bmi _0205EF5E add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0205EF50: ; jump table (using 16-bit offset) .short _0205F06A - _0205EF50 - 2; case 0 .short _0205F06A - _0205EF50 - 2; case 1 .short _0205F06A - _0205EF50 - 2; case 2 .short _0205F06A - _0205EF50 - 2; case 3 _0205EF58: cmp r4, #0xb9 bne _0205EF5E b _0205F0D2 _0205EF5E: b _0205F0E0 _0205EF60: add r2, r1, #0x0 sub r2, #0x32 cmp r4, r2 bgt _0205EF76 sub r1, #0x32 cmp r4, r1 blt _0205EF70 b _0205F09E _0205EF70: cmp r4, #0xfb beq _0205F018 b _0205F0E0 _0205EF76: sub r0, r1, #0x1 cmp r4, r0 beq _0205F036 b _0205F0E0 _0205EF7E: add r2, r1, #0x0 add r2, #0x5d cmp r4, r2 bgt _0205EFC8 add r2, r1, #0x0 add r2, #0x5d cmp r4, r2 blt _0205EF90 b _0205F0B8 _0205EF90: add r2, r1, #0x1 cmp r4, r2 bgt _0205EF9E add r0, r2, #0x0 cmp r4, r0 beq _0205F036 b _0205F0E0 _0205EF9E: add r1, r1, #0x2 sub r1, r4, r1 cmp r1, #0xa bhi _0205EFD6 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0205EFB2: ; jump table (using 16-bit offset) .short _0205F036 - _0205EFB2 - 2; case 0 .short _0205F036 - _0205EFB2 - 2; case 1 .short _0205F036 - _0205EFB2 - 2; case 2 .short _0205F0E0 - _0205EFB2 - 2; case 3 .short _0205EFFC - _0205EFB2 - 2; case 4 .short _0205F0E0 - _0205EFB2 - 2; case 5 .short _0205EFE0 - _0205EFB2 - 2; case 6 .short _0205F0E0 - _0205EFB2 - 2; case 7 .short _0205EFEE - _0205EFB2 - 2; case 8 .short _0205F0E0 - _0205EFB2 - 2; case 9 .short _0205F00A - _0205EFB2 - 2; case 10 _0205EFC8: ldr r0, _0205F0E8 ; =0x000001EE cmp r4, r0 bgt _0205EFD8 bge _0205F036 sub r0, #0x48 cmp r4, r0 beq _0205F026 _0205EFD6: b _0205F0E0 _0205EFD8: add r0, r0, #0x3 cmp r4, r0 beq _0205F036 b _0205F0E0 _0205EFE0: ldr r1, _0205F0EC ; =0x00000984 bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 ldr r5, _0205F0F0 ; =0x0000042E b _0205F0E0 _0205EFEE: ldr r1, _0205F0EC ; =0x00000984 bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 ldr r5, _0205F0F4 ; =0x00000429 b _0205F0E0 _0205EFFC: ldr r1, _0205F0F8 ; =0x0000098E bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 ldr r5, _0205F0F0 ; =0x0000042E b _0205F0E0 _0205F00A: ldr r1, _0205F0FC ; =0x0000098F bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 ldr r5, _0205F0F0 ; =0x0000042E b _0205F0E0 _0205F018: ldr r1, _0205F100 ; =0x00000995 bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 ldr r5, _0205F104 ; =0x0000042D b _0205F0E0 _0205F026: ldr r1, _0205F108 ; =0x00000993 add r0, r6, #0x0 bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 ldr r5, _0205F10C ; =0x0000044A b _0205F0E0 _0205F036: ldr r1, _0205F110 ; =0x00000985 add r0, r6, #0x0 bl FUN_0205EC94 cmp r0, #0x1 bne _0205F054 bl FUN_0201277C cmp r0, #0x0 bne _0205F050 mov r5, #0xfe lsl r5, r5, #0x2 b _0205F0E0 _0205F050: ldr r5, _0205F114 ; =0x00000415 b _0205F0E0 _0205F054: ldr r0, _0205F118 ; =0x00000131 cmp r4, r0 bne _0205F0E0 ldr r1, _0205F11C ; =0x00000986 add r0, r6, #0x0 bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 ldr r5, _0205F120 ; =0x0000042B b _0205F0E0 _0205F06A: ldr r1, _0205F124 ; =0x00000987 bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 bl FUN_0201277C cmp r0, #0x0 bne _0205F080 ldr r5, _0205F128 ; =0x000003F5 b _0205F0E0 _0205F080: ldr r5, _0205F12C ; =0x00000412 b _0205F0E0 _0205F084: ldr r1, _0205F130 ; =0x00000988 bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 bl FUN_0201277C cmp r0, #0x0 bne _0205F09A ldr r5, _0205F134 ; =0x000003FF b _0205F0E0 _0205F09A: ldr r5, _0205F138 ; =0x0000041C b _0205F0E0 _0205F09E: ldr r1, _0205F13C ; =0x00000989 bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 bl FUN_0201277C cmp r0, #0x0 bne _0205F0B4 ldr r5, _0205F140 ; =0x000003EE b _0205F0E0 _0205F0B4: ldr r5, _0205F144 ; =0x0000040B b _0205F0E0 _0205F0B8: ldr r1, _0205F148 ; =0x0000098A bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 bl FUN_0201277C cmp r0, #0x0 bne _0205F0CE ldr r5, _0205F140 ; =0x000003EE b _0205F0E0 _0205F0CE: ldr r5, _0205F144 ; =0x0000040B b _0205F0E0 _0205F0D2: ldr r1, _0205F14C ; =0x0000098B add r0, r6, #0x0 bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 ldr r5, _0205F150 ; =0x000003E9 _0205F0E0: add r0, r5, #0x0 pop {r4-r6, pc} .balign 4 _0205F0E4: .word 0x00000132 _0205F0E8: .word 0x000001EE _0205F0EC: .word 0x00000984 _0205F0F0: .word 0x0000042E _0205F0F4: .word 0x00000429 _0205F0F8: .word 0x0000098E _0205F0FC: .word 0x0000098F _0205F100: .word 0x00000995 _0205F104: .word 0x0000042D _0205F108: .word 0x00000993 _0205F10C: .word 0x0000044A _0205F110: .word 0x00000985 _0205F114: .word 0x00000415 _0205F118: .word 0x00000131 _0205F11C: .word 0x00000986 _0205F120: .word 0x0000042B _0205F124: .word 0x00000987 _0205F128: .word 0x000003F5 _0205F12C: .word 0x00000412 _0205F130: .word 0x00000988 _0205F134: .word 0x000003FF _0205F138: .word 0x0000041C _0205F13C: .word 0x00000989 _0205F140: .word 0x000003EE _0205F144: .word 0x0000040B _0205F148: .word 0x0000098A _0205F14C: .word 0x0000098B _0205F150: .word 0x000003E9 thumb_func_start FUN_0205F154 FUN_0205F154: ; 0x0205F154 ldr r3, _0205F15C ; =FUN_0205EC84 ldr r1, _0205F160 ; =0x00000966 bx r3 nop _0205F15C: .word FUN_0205EC84 _0205F160: .word 0x00000966 thumb_func_start FUN_0205F164 FUN_0205F164: ; 0x0205F164 ldr r3, _0205F16C ; =FUN_0205EC8C ldr r1, _0205F170 ; =0x00000966 bx r3 nop _0205F16C: .word FUN_0205EC8C _0205F170: .word 0x00000966 thumb_func_start FUN_0205F174 FUN_0205F174: ; 0x0205F174 ldr r3, _0205F17C ; =FUN_0205EC94 ldr r1, _0205F180 ; =0x00000966 bx r3 nop _0205F17C: .word FUN_0205EC94 _0205F180: .word 0x00000966 thumb_func_start FUN_0205F184 FUN_0205F184: ; 0x0205F184 ldr r3, _0205F18C ; =FUN_0205EC94 ldr r1, _0205F190 ; =0x00000978 bx r3 nop _0205F18C: .word FUN_0205EC94 _0205F190: .word 0x00000978 thumb_func_start FUN_0205F194 FUN_0205F194: ; 0x0205F194 ldr r3, _0205F19C ; =FUN_0205EC94 ldr r1, _0205F1A0 ; =0x00000992 bx r3 nop _0205F19C: .word FUN_0205EC94 _0205F1A0: .word 0x00000992 thumb_func_start FUN_0205F1A4 FUN_0205F1A4: ; 0x0205F1A4 ldr r3, _0205F1AC ; =FUN_0205EC94 ldr r1, _0205F1B0 ; =0x0000097D bx r3 nop _0205F1AC: .word FUN_0205EC94 _0205F1B0: .word 0x0000097D thumb_func_start FUN_0205F1B4 FUN_0205F1B4: ; 0x0205F1B4 ldr r3, _0205F1BC ; =FUN_0205EC94 ldr r1, _0205F1C0 ; =0x0000097E bx r3 nop _0205F1BC: .word FUN_0205EC94 _0205F1C0: .word 0x0000097E thumb_func_start FUN_0205F1C4 FUN_0205F1C4: ; 0x0205F1C4 ldr r3, _0205F1CC ; =FUN_0205EC84 ldr r1, _0205F1D0 ; =0x0000097C bx r3 nop _0205F1CC: .word FUN_0205EC84 _0205F1D0: .word 0x0000097C thumb_func_start FUN_0205F1D4 FUN_0205F1D4: ; 0x0205F1D4 ldr r3, _0205F1DC ; =FUN_0205EC8C ldr r1, _0205F1E0 ; =0x0000097C bx r3 nop _0205F1DC: .word FUN_0205EC8C _0205F1E0: .word 0x0000097C thumb_func_start FUN_0205F1E4 FUN_0205F1E4: ; 0x0205F1E4 ldr r3, _0205F1EC ; =FUN_0205EC94 ldr r1, _0205F1F0 ; =0x0000097C bx r3 nop _0205F1EC: .word FUN_0205EC94 _0205F1F0: .word 0x0000097C thumb_func_start FUN_0205F1F4 FUN_0205F1F4: ; 0x0205F1F4 ldr r3, _0205F1FC ; =FUN_0205EC84 ldr r1, _0205F200 ; =0x00000967 bx r3 nop _0205F1FC: .word FUN_0205EC84 _0205F200: .word 0x00000967 thumb_func_start FUN_0205F204 FUN_0205F204: ; 0x0205F204 ldr r3, _0205F20C ; =FUN_0205EC8C ldr r1, _0205F210 ; =0x00000967 bx r3 nop _0205F20C: .word FUN_0205EC8C _0205F210: .word 0x00000967 thumb_func_start FUN_0205F214 FUN_0205F214: ; 0x0205F214 ldr r3, _0205F21C ; =FUN_0205EC94 ldr r1, _0205F220 ; =0x00000967 bx r3 nop _0205F21C: .word FUN_0205EC94 _0205F220: .word 0x00000967 thumb_func_start FUN_0205F224 FUN_0205F224: ; 0x0205F224 ldr r3, _0205F22C ; =FUN_0205EC84 ldr r1, _0205F230 ; =0x00000979 bx r3 nop _0205F22C: .word FUN_0205EC84 _0205F230: .word 0x00000979 thumb_func_start FUN_0205F234 FUN_0205F234: ; 0x0205F234 ldr r3, _0205F23C ; =FUN_0205EC8C ldr r1, _0205F240 ; =0x00000979 bx r3 nop _0205F23C: .word FUN_0205EC8C _0205F240: .word 0x00000979 thumb_func_start FUN_0205F244 FUN_0205F244: ; 0x0205F244 ldr r3, _0205F24C ; =FUN_0205EC94 ldr r1, _0205F250 ; =0x00000979 bx r3 nop _0205F24C: .word FUN_0205EC94 _0205F250: .word 0x00000979 thumb_func_start FUN_0205F254 FUN_0205F254: ; 0x0205F254 ldr r3, _0205F25C ; =FUN_0205EC8C ldr r1, _0205F260 ; =0x00000994 bx r3 nop _0205F25C: .word FUN_0205EC8C _0205F260: .word 0x00000994 thumb_func_start FUN_0205F264 FUN_0205F264: ; 0x0205F264 ldr r3, _0205F26C ; =FUN_0205EC9C ldr r2, _0205F270 ; =0x00000962 bx r3 nop _0205F26C: .word FUN_0205EC9C _0205F270: .word 0x00000962 thumb_func_start FUN_0205F274 FUN_0205F274: ; 0x0205F274 ldr r3, _0205F27C ; =FUN_0205EC84 ldr r1, _0205F280 ; =0x0000097A bx r3 nop _0205F27C: .word FUN_0205EC84 _0205F280: .word 0x0000097A thumb_func_start FUN_0205F284 FUN_0205F284: ; 0x0205F284 ldr r3, _0205F28C ; =FUN_0205EC8C ldr r1, _0205F290 ; =0x0000097A bx r3 nop _0205F28C: .word FUN_0205EC8C _0205F290: .word 0x0000097A thumb_func_start FUN_0205F294 FUN_0205F294: ; 0x0205F294 ldr r3, _0205F29C ; =FUN_0205EC94 ldr r1, _0205F2A0 ; =0x0000097A bx r3 nop _0205F29C: .word FUN_0205EC94 _0205F2A0: .word 0x0000097A thumb_func_start FUN_0205F2A4 FUN_0205F2A4: ; 0x0205F2A4 ldr r3, _0205F2AC ; =FUN_0205EC84 ldr r1, _0205F2B0 ; =0x0000097B bx r3 nop _0205F2AC: .word FUN_0205EC84 _0205F2B0: .word 0x0000097B thumb_func_start FUN_0205F2B4 FUN_0205F2B4: ; 0x0205F2B4 ldr r3, _0205F2BC ; =FUN_0205EC8C ldr r1, _0205F2C0 ; =0x0000097B bx r3 nop _0205F2BC: .word FUN_0205EC8C _0205F2C0: .word 0x0000097B thumb_func_start FUN_0205F2C4 FUN_0205F2C4: ; 0x0205F2C4 ldr r3, _0205F2CC ; =FUN_0205EC94 ldr r1, _0205F2D0 ; =0x0000097B bx r3 nop _0205F2CC: .word FUN_0205EC94 _0205F2D0: .word 0x0000097B thumb_func_start FUN_0205F2D4 FUN_0205F2D4: ; 0x0205F2D4 ldr r3, _0205F2DC ; =FUN_0205EC9C ldr r2, _0205F2E0 ; =0x00000963 bx r3 nop _0205F2DC: .word FUN_0205EC9C _0205F2E0: .word 0x00000963 thumb_func_start FUN_0205F2E4 FUN_0205F2E4: ; 0x0205F2E4 push {r4-r6, lr} add r4, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 cmp r4, #0x45 blo _0205F2F4 bl ErrorHandling _0205F2F4: mov r2, #0x9b lsl r2, r2, #0x4 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, r2 bl FUN_0205EC9C pop {r4-r6, pc} thumb_func_start FUN_0205F304 FUN_0205F304: ; 0x0205F304 ldr r3, _0205F30C ; =FUN_0205EC84 ldr r1, _0205F310 ; =0x0000098C bx r3 nop _0205F30C: .word FUN_0205EC84 _0205F310: .word 0x0000098C thumb_func_start FUN_0205F314 FUN_0205F314: ; 0x0205F314 push {r3-r5, lr} add r5, r1, #0x0 add r4, r2, #0x0 bl FUN_02046380 mov r1, #0x1 lsl r1, r1, #0xe cmp r5, r1 blo _0205F32C lsl r1, r1, #0x1 cmp r5, r1 bls _0205F334 _0205F32C: bl ErrorHandling mov r0, #0x0 pop {r3-r5, pc} _0205F334: cmp r0, #0x0 bne _0205F33C mov r0, #0x0 pop {r3-r5, pc} _0205F33C: strh r4, [r0, #0x0] mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205F344 FUN_0205F344: ; 0x0205F344 push {r3, lr} bl FUN_02046380 cmp r0, #0x0 bne _0205F352 mov r0, #0x0 pop {r3, pc} _0205F352: ldrh r0, [r0, #0x0] pop {r3, pc} .balign 4 thumb_func_start FUN_0205F358 FUN_0205F358: ; 0x0205F358 ldr r3, _0205F360 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F364 ; =0x0000403F bx r3 .balign 4 _0205F360: .word FUN_0205F314 _0205F364: .word 0x0000403F thumb_func_start FUN_0205F368 FUN_0205F368: ; 0x0205F368 ldr r3, _0205F370 ; =FUN_0205F344 ldr r1, _0205F374 ; =0x0000403F bx r3 nop _0205F370: .word FUN_0205F344 _0205F374: .word 0x0000403F thumb_func_start FUN_0205F378 FUN_0205F378: ; 0x0205F378 ldr r3, _0205F380 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F384 ; =0x00004030 bx r3 .balign 4 _0205F380: .word FUN_0205F314 _0205F384: .word 0x00004030 thumb_func_start FUN_0205F388 FUN_0205F388: ; 0x0205F388 ldr r3, _0205F390 ; =FUN_0205F344 ldr r1, _0205F394 ; =0x00004030 bx r3 nop _0205F390: .word FUN_0205F344 _0205F394: .word 0x00004030 thumb_func_start FUN_0205F398 FUN_0205F398: ; 0x0205F398 push {r3, lr} ldr r1, _0205F3B8 ; =0x00004030 bl FUN_0205F344 ldr r2, _0205F3BC ; =0x00000183 cmp r0, r2 bne _0205F3AA add r2, r2, #0x3 b _0205F3B2 _0205F3AA: add r1, r2, #0x3 cmp r0, r1 bne _0205F3B2 add r2, r2, #0x6 _0205F3B2: add r0, r2, #0x0 pop {r3, pc} nop _0205F3B8: .word 0x00004030 _0205F3BC: .word 0x00000183 thumb_func_start FUN_0205F3C0 FUN_0205F3C0: ; 0x0205F3C0 push {r3, lr} ldr r1, _0205F3E0 ; =0x00004030 bl FUN_0205F344 ldr r2, _0205F3E4 ; =0x00000183 cmp r0, r2 bne _0205F3D2 add r2, r2, #0x6 b _0205F3DA _0205F3D2: add r1, r2, #0x3 cmp r0, r1 beq _0205F3DA add r2, r2, #0x3 _0205F3DA: add r0, r2, #0x0 pop {r3, pc} nop _0205F3E0: .word 0x00004030 _0205F3E4: .word 0x00000183 thumb_func_start FUN_0205F3E8 FUN_0205F3E8: ; 0x0205F3E8 ldr r3, _0205F3F0 ; =FUN_0205F344 ldr r1, _0205F3F4 ; =0x00004035 bx r3 nop _0205F3F0: .word FUN_0205F344 _0205F3F4: .word 0x00004035 thumb_func_start FUN_0205F3F8 FUN_0205F3F8: ; 0x0205F3F8 ldr r3, _0205F400 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F404 ; =0x00004035 bx r3 .balign 4 _0205F400: .word FUN_0205F314 _0205F404: .word 0x00004035 thumb_func_start FUN_0205F408 FUN_0205F408: ; 0x0205F408 push {r4, lr} add r4, r0, #0x0 bl FUN_0205ED8C add r0, r4, #0x0 mov r1, #0x0 bl FUN_0205F44C pop {r4, pc} .balign 4 thumb_func_start FUN_0205F41C FUN_0205F41C: ; 0x0205F41C ldr r3, _0205F424 ; =FUN_0205F344 ldr r1, _0205F428 ; =0x00004033 bx r3 nop _0205F424: .word FUN_0205F344 _0205F428: .word 0x00004033 thumb_func_start FUN_0205F42C FUN_0205F42C: ; 0x0205F42C ldr r3, _0205F434 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F438 ; =0x00004033 bx r3 .balign 4 _0205F434: .word FUN_0205F314 _0205F438: .word 0x00004033 thumb_func_start FUN_0205F43C FUN_0205F43C: ; 0x0205F43C ldr r3, _0205F444 ; =FUN_0205F344 ldr r1, _0205F448 ; =0x00004034 bx r3 nop _0205F444: .word FUN_0205F344 _0205F448: .word 0x00004034 thumb_func_start FUN_0205F44C FUN_0205F44C: ; 0x0205F44C ldr r3, _0205F454 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F458 ; =0x00004034 bx r3 .balign 4 _0205F454: .word FUN_0205F314 _0205F458: .word 0x00004034 thumb_func_start FUN_0205F45C FUN_0205F45C: ; 0x0205F45C push {r4, lr} add r4, r0, #0x0 bmi _0205F466 cmp r4, #0x3 blo _0205F46A _0205F466: bl ErrorHandling _0205F46A: ldr r0, _0205F474 ; =0x020F7430 lsl r1, r4, #0x1 ldrh r0, [r0, r1] pop {r4, pc} nop _0205F474: .word 0x020F7430 thumb_func_start FUN_0205F478 FUN_0205F478: ; 0x0205F478 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0205F45C add r2, r0, #0x0 ldr r1, _0205F49C ; =0x00004043 lsl r2, r2, #0x10 add r1, r4, r1 lsl r1, r1, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 lsr r2, r2, #0x10 bl FUN_0205F314 pop {r3-r5, pc} nop _0205F49C: .word 0x00004043 thumb_func_start FUN_0205F4A0 FUN_0205F4A0: ; 0x0205F4A0 push {r3-r5, lr} add r4, r1, #0x0 ldr r1, _0205F4C4 ; =0x00004043 add r1, r4, r1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_0205F344 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0205F45C cmp r5, r0 bne _0205F4C0 mov r0, #0x1 pop {r3-r5, pc} _0205F4C0: mov r0, #0x0 pop {r3-r5, pc} .balign 4 _0205F4C4: .word 0x00004043 thumb_func_start FUN_0205F4C8 FUN_0205F4C8: ; 0x0205F4C8 push {r4, lr} add r4, r0, #0x0 bmi _0205F4D2 cmp r4, #0x4 blt _0205F4D6 _0205F4D2: bl ErrorHandling _0205F4D6: ldr r0, _0205F4E0 ; =0x020F7436 lsl r1, r4, #0x1 ldrh r0, [r0, r1] pop {r4, pc} nop _0205F4E0: .word 0x020F7436 thumb_func_start FUN_0205F4E4 FUN_0205F4E4: ; 0x0205F4E4 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0205F4C8 add r2, r0, #0x0 ldr r1, _0205F508 ; =0x00004036 lsl r2, r2, #0x10 add r1, r4, r1 lsl r1, r1, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 lsr r2, r2, #0x10 bl FUN_0205F314 pop {r3-r5, pc} nop _0205F508: .word 0x00004036 thumb_func_start FUN_0205F50C FUN_0205F50C: ; 0x0205F50C ldr r2, _0205F51C ; =0x00004036 ldr r3, _0205F520 ; =FUN_0205F314 add r1, r1, r2 lsl r1, r1, #0x10 lsr r1, r1, #0x10 mov r2, #0x0 bx r3 nop _0205F51C: .word 0x00004036 _0205F520: .word FUN_0205F314 thumb_func_start FUN_0205F524 FUN_0205F524: ; 0x0205F524 push {r3-r5, lr} add r4, r1, #0x0 ldr r1, _0205F548 ; =0x00004036 add r1, r4, r1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_0205F344 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0205F4C8 cmp r5, r0 bne _0205F544 mov r0, #0x1 pop {r3-r5, pc} _0205F544: mov r0, #0x0 pop {r3-r5, pc} .balign 4 _0205F548: .word 0x00004036 thumb_func_start FUN_0205F54C FUN_0205F54C: ; 0x0205F54C ldr r3, _0205F554 ; =FUN_0205F314 ldr r1, _0205F558 ; =0x0000403A mov r2, #0x0 bx r3 .balign 4 _0205F554: .word FUN_0205F314 _0205F558: .word 0x0000403A thumb_func_start FUN_0205F55C FUN_0205F55C: ; 0x0205F55C ldr r3, _0205F564 ; =FUN_0205F344 ldr r1, _0205F568 ; =0x0000403A bx r3 nop _0205F564: .word FUN_0205F344 _0205F568: .word 0x0000403A thumb_func_start FUN_0205F56C FUN_0205F56C: ; 0x0205F56C push {r4, lr} ldr r1, _0205F58C ; =0x0000403A add r4, r0, #0x0 bl FUN_0205F344 ldr r2, _0205F590 ; =0x00002710 cmp r0, r2 bhs _0205F582 add r0, r0, #0x1 lsl r0, r0, #0x10 lsr r2, r0, #0x10 _0205F582: ldr r1, _0205F58C ; =0x0000403A add r0, r4, #0x0 bl FUN_0205F314 pop {r4, pc} .balign 4 _0205F58C: .word 0x0000403A _0205F590: .word 0x00002710 thumb_func_start FUN_0205F594 FUN_0205F594: ; 0x0205F594 ldr r3, _0205F59C ; =FUN_0205F344 ldr r1, _0205F5A0 ; =0x0000403B bx r3 nop _0205F59C: .word FUN_0205F344 _0205F5A0: .word 0x0000403B thumb_func_start FUN_0205F5A4 FUN_0205F5A4: ; 0x0205F5A4 ldr r3, _0205F5AC ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F5B0 ; =0x0000403B bx r3 .balign 4 _0205F5AC: .word FUN_0205F314 _0205F5B0: .word 0x0000403B thumb_func_start FUN_0205F5B4 FUN_0205F5B4: ; 0x0205F5B4 push {r3-r5, lr} add r4, r1, #0x0 lsl r2, r4, #0x10 ldr r1, _0205F5D4 ; =0x0000403C lsr r2, r2, #0x10 add r5, r0, #0x0 bl FUN_0205F314 lsr r2, r4, #0x10 lsl r2, r2, #0x10 ldr r1, _0205F5D4 ; =0x0000403C add r0, r5, #0x0 lsr r2, r2, #0x10 bl FUN_0205F314 pop {r3-r5, pc} .balign 4 _0205F5D4: .word 0x0000403C thumb_func_start FUN_0205F5D8 FUN_0205F5D8: ; 0x0205F5D8 push {r3-r5, lr} ldr r1, _0205F5F4 ; =0x0000403C add r5, r0, #0x0 bl FUN_0205F344 add r4, r0, #0x0 ldr r1, _0205F5F8 ; =0x0000403D add r0, r5, #0x0 bl FUN_0205F344 lsl r0, r0, #0x10 orr r0, r4 pop {r3-r5, pc} nop _0205F5F4: .word 0x0000403C _0205F5F8: .word 0x0000403D thumb_func_start FUN_0205F5FC FUN_0205F5FC: ; 0x0205F5FC push {r3-r5, lr} add r5, r0, #0x0 bl FUN_0201B9EC add r4, r0, #0x0 bl FUN_0201B9EC add r1, r0, #0x0 lsl r1, r1, #0x10 add r0, r5, #0x0 orr r1, r4 bl FUN_0205F5B4 pop {r3-r5, pc} thumb_func_start FUN_0205F618 FUN_0205F618: ; 0x0205F618 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_020462AC add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0202881C bl FUN_020287A4 add r2, r0, #0x0 ldr r1, _0205F640 ; =0x41C64E6D add r0, r4, #0x0 mul r2, r1 ldr r1, _0205F644 ; =0x00003039 add r1, r2, r1 bl FUN_0205F5B4 pop {r3-r5, pc} nop _0205F640: .word 0x41C64E6D _0205F644: .word 0x00003039 thumb_func_start FUN_0205F648 FUN_0205F648: ; 0x0205F648 ldr r3, _0205F650 ; =FUN_0205F344 ldr r1, _0205F654 ; =0x00004041 bx r3 nop _0205F650: .word FUN_0205F344 _0205F654: .word 0x00004041 thumb_func_start FUN_0205F658 FUN_0205F658: ; 0x0205F658 ldr r3, _0205F660 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F664 ; =0x00004041 bx r3 .balign 4 _0205F660: .word FUN_0205F314 _0205F664: .word 0x00004041 thumb_func_start FUN_0205F668 FUN_0205F668: ; 0x0205F668 push {r4, lr} bl FUN_020462AC add r4, r0, #0x0 bl FUN_0201B9EC mov r1, #0x62 blx _s32_div_f add r1, r1, #0x2 lsl r1, r1, #0x10 add r0, r4, #0x0 lsr r1, r1, #0x10 bl FUN_0205F658 pop {r4, pc} thumb_func_start FUN_0205F688 FUN_0205F688: ; 0x0205F688 ldr r3, _0205F690 ; =FUN_0205F344 ldr r1, _0205F694 ; =0x0000403E bx r3 nop _0205F690: .word FUN_0205F344 _0205F694: .word 0x0000403E thumb_func_start FUN_0205F698 FUN_0205F698: ; 0x0205F698 ldr r3, _0205F6A0 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F6A4 ; =0x0000403E bx r3 .balign 4 _0205F6A0: .word FUN_0205F314 _0205F6A4: .word 0x0000403E thumb_func_start FUN_0205F6A8 FUN_0205F6A8: ; 0x0205F6A8 ldr r3, _0205F6B0 ; =FUN_0205F344 ldr r1, _0205F6B4 ; =0x00004049 bx r3 nop _0205F6B0: .word FUN_0205F344 _0205F6B4: .word 0x00004049 thumb_func_start FUN_0205F6B8 FUN_0205F6B8: ; 0x0205F6B8 ldr r3, _0205F6C0 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F6C4 ; =0x00004049 bx r3 .balign 4 _0205F6C0: .word FUN_0205F314 _0205F6C4: .word 0x00004049 thumb_func_start FUN_0205F6C8 FUN_0205F6C8: ; 0x0205F6C8 ldr r3, _0205F6D0 ; =FUN_0205F344 ldr r1, _0205F6D4 ; =0x00004040 bx r3 nop _0205F6D0: .word FUN_0205F344 _0205F6D4: .word 0x00004040 thumb_func_start FUN_0205F6D8 FUN_0205F6D8: ; 0x0205F6D8 ldr r3, _0205F6E0 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F6E4 ; =0x00004040 bx r3 .balign 4 _0205F6E0: .word FUN_0205F314 _0205F6E4: .word 0x00004040 thumb_func_start FUN_0205F6E8 FUN_0205F6E8: ; 0x0205F6E8 push {r4, lr} ldr r1, _0205F708 ; =0x00004042 add r4, r0, #0x0 bl FUN_0205F344 ldr r2, _0205F70C ; =0x00002710 cmp r0, r2 bhs _0205F6FE add r0, r0, #0x1 lsl r0, r0, #0x10 lsr r2, r0, #0x10 _0205F6FE: ldr r1, _0205F708 ; =0x00004042 add r0, r4, #0x0 bl FUN_0205F314 pop {r4, pc} .balign 4 _0205F708: .word 0x00004042 _0205F70C: .word 0x00002710 thumb_func_start FUN_0205F710 FUN_0205F710: ; 0x0205F710 ldr r3, _0205F718 ; =FUN_0205F344 ldr r1, _0205F71C ; =0x00004042 bx r3 nop _0205F718: .word FUN_0205F344 _0205F71C: .word 0x00004042 thumb_func_start FUN_0205F720 FUN_0205F720: ; 0x0205F720 ldr r3, _0205F728 ; =FUN_0205F344 ldr r1, _0205F72C ; =0x00004046 bx r3 nop _0205F728: .word FUN_0205F344 _0205F72C: .word 0x00004046 thumb_func_start FUN_0205F730 FUN_0205F730: ; 0x0205F730 ldr r3, _0205F738 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F73C ; =0x00004046 bx r3 .balign 4 _0205F738: .word FUN_0205F314 _0205F73C: .word 0x00004046 thumb_func_start FUN_0205F740 FUN_0205F740: ; 0x0205F740 ldr r3, _0205F748 ; =FUN_0205F344 ldr r1, _0205F74C ; =0x00004047 bx r3 nop _0205F748: .word FUN_0205F344 _0205F74C: .word 0x00004047 thumb_func_start FUN_0205F750 FUN_0205F750: ; 0x0205F750 ldr r3, _0205F758 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F75C ; =0x00004047 bx r3 .balign 4 _0205F758: .word FUN_0205F314 _0205F75C: .word 0x00004047 thumb_func_start FUN_0205F760 FUN_0205F760: ; 0x0205F760 ldr r3, _0205F768 ; =FUN_0205F344 ldr r1, _0205F76C ; =0x00004048 bx r3 nop _0205F768: .word FUN_0205F344 _0205F76C: .word 0x00004048 thumb_func_start FUN_0205F770 FUN_0205F770: ; 0x0205F770 ldr r3, _0205F778 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F77C ; =0x00004048 bx r3 .balign 4 _0205F778: .word FUN_0205F314 _0205F77C: .word 0x00004048 thumb_func_start FUN_0205F780 FUN_0205F780: ; 0x0205F780 ldr r3, _0205F788 ; =FUN_0205F344 ldr r1, _0205F78C ; =0x0000404A bx r3 nop _0205F788: .word FUN_0205F344 _0205F78C: .word 0x0000404A thumb_func_start FUN_0205F790 FUN_0205F790: ; 0x0205F790 ldr r3, _0205F798 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F79C ; =0x0000404A bx r3 .balign 4 _0205F798: .word FUN_0205F314 _0205F79C: .word 0x0000404A thumb_func_start FUN_0205F7A0 FUN_0205F7A0: ; 0x0205F7A0 push {r3-r7, lr} sub sp, #0x10 str r0, [sp, #0x0] ldr r0, [r0, #0xc] add r5, r1, #0x0 str r2, [sp, #0x4] bl FUN_020462AC add r7, r0, #0x0 ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_02034E30 bl FUN_02034DCC mov r2, #0x5 str r0, [sp, #0xc] add r0, r5, #0x0 mov r1, #0x0 lsl r2, r2, #0x6 blx Call_FillMemWithValue ldr r0, [sp, #0x0] ldr r0, [r0, #0x38] bl FUN_02055320 add r4, r0, #0x0 ldr r0, [sp, #0x0] ldr r0, [r0, #0x38] bl FUN_0205532C add r6, r0, #0x0 ldr r0, [sp, #0x0] asr r1, r4, #0x4 asr r2, r6, #0x4 lsr r1, r1, #0x1b lsr r2, r2, #0x1b add r1, r4, r1 add r2, r6, r2 ldr r0, [r0, #0x28] asr r1, r1, #0x5 asr r2, r2, #0x5 bl FUN_0203451C bl FUN_02034908 cmp r0, #0x0 beq _0205F806 str r4, [r5, #0x0] str r6, [r5, #0x4] b _0205F812 _0205F806: ldr r0, [sp, #0xc] ldr r0, [r0, #0x8] str r0, [r5, #0x0] ldr r0, [sp, #0xc] ldr r0, [r0, #0xc] str r0, [r5, #0x4] _0205F812: ldr r0, [sp, #0x0] bl FUN_020377AC bl FUN_020238F4 bl FUN_020239CC str r0, [r5, #0xc] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] bl FUN_02034E30 bl FUN_02034E0C str r0, [sp, #0x8] ldr r0, [r0, #0x0] mov r1, #0x6 add r0, r0, #0x4 blx _s32_div_f mov r6, #0x0 add r4, r5, #0x0 _0205F83E: ldr r0, [sp, #0x8] lsl r2, r1, #0x2 add r0, r0, r2 ldrb r2, [r0, #0x6] str r2, [r4, #0x20] ldrb r2, [r0, #0x7] str r2, [r4, #0x24] ldrb r2, [r0, #0x9] strh r2, [r4, #0x2a] ldrb r0, [r0, #0x8] cmp r0, #0x3 bls _0205F85A mov r0, #0x4 b _0205F85A _0205F85A: strh r0, [r4, #0x28] add r0, r1, #0x5 mov r1, #0x6 blx _s32_div_f add r6, r6, #0x1 add r4, #0xc cmp r6, #0x5 blt _0205F83E mov r6, #0x4f mov r4, #0x0 lsl r6, r6, #0x2 _0205F872: add r0, r7, #0x0 add r1, r4, #0x0 bl FUN_0205F524 cmp r0, #0x0 beq _0205F888 mov r0, #0x1 ldrh r1, [r5, r6] lsl r0, r4 orr r0, r1 strh r0, [r5, r6] _0205F888: add r4, r4, #0x1 cmp r4, #0x4 blt _0205F872 ldr r6, _0205F8C0 ; =0x020F7440 mov r4, #0x0 _0205F892: ldrb r2, [r6, #0x0] add r0, r7, #0x0 mov r1, #0x2 bl FUN_0205F2E4 mov r1, #0x49 add r2, r5, r4 lsl r1, r1, #0x2 add r4, r4, #0x1 add r6, r6, #0x1 strb r0, [r2, r1] cmp r4, #0x14 blt _0205F892 ldr r0, [sp, #0x0] ldr r2, _0205F8C4 ; =0x02105FA8 add r1, r5, #0x0 bl FUN_0205F8CC ldr r1, _0205F8C8 ; =0x00000139 ldr r0, [sp, #0x4] strb r0, [r5, r1] add sp, #0x10 pop {r3-r7, pc} .balign 4 _0205F8C0: .word 0x020F7440 _0205F8C4: .word 0x02105FA8 _0205F8C8: .word 0x00000139 thumb_func_start FUN_0205F8CC FUN_0205F8CC: ; 0x0205F8CC push {r3-r7, lr} sub sp, #0x70 add r7, r0, #0x0 ldr r0, [r7, #0xc] add r5, r1, #0x0 add r4, r2, #0x0 bl FUN_020462AC str r0, [sp, #0x0] add r0, sp, #0x28 blx FS_InitFile add r0, sp, #0x28 add r1, r4, #0x0 blx FS_OpenFile cmp r0, #0x0 bne _0205F8F8 bl ErrorHandling add sp, #0x70 pop {r3-r7, pc} _0205F8F8: add r0, sp, #0x28 add r1, sp, #0x24 mov r2, #0x4 blx FS_ReadFile cmp r0, #0x0 bge _0205F90A bl ErrorHandling _0205F90A: mov r0, #0xb mov r1, #0x4 bl FUN_020169D8 mov r1, #0x0 mov r2, #0x4 add r6, r0, #0x0 blx MI_CpuFill8 ldr r1, [sp, #0x24] ldr r0, _0205FA28 ; =0x0000013A mov r4, #0x0 strb r1, [r5, r0] ldr r0, [sp, #0x24] cmp r0, #0x0 ble _0205FA16 mov r0, #0xc str r0, [sp, #0x10] mov r0, #0x3 str r0, [sp, #0xc] mov r0, #0xc str r0, [sp, #0x8] mov r0, #0x3 str r0, [sp, #0x4] mov r0, #0xc0 str r0, [sp, #0x20] mov r0, #0x30 str r0, [sp, #0x1c] mov r0, #0xc0 str r0, [sp, #0x18] mov r0, #0x30 add r5, #0x5c str r0, [sp, #0x14] _0205F94C: add r0, sp, #0x28 add r1, r6, #0x0 mov r2, #0x4 blx FS_ReadFile ldrb r0, [r6, #0x0] cmp r0, #0x1 beq _0205F962 cmp r0, #0x2 beq _0205F98C b _0205F9B2 _0205F962: ldrb r2, [r6, #0x1] ldr r0, [sp, #0x0] mov r1, #0x2 bl FUN_0205F2E4 lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1e ldrb r1, [r5, r4] ldr r2, [sp, #0x8] lsr r0, r0, #0x1c bic r1, r2 orr r0, r1 strb r0, [r5, r4] ldrb r1, [r5, r4] ldr r0, [sp, #0x4] bic r1, r0 mov r0, #0x1 orr r0, r1 strb r0, [r5, r4] b _0205F9B2 _0205F98C: ldrb r1, [r6, #0x1] add r0, r7, #0x0 bl FUN_02039528 lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1e ldrb r1, [r5, r4] ldr r2, [sp, #0x10] lsr r0, r0, #0x1c bic r1, r2 orr r0, r1 strb r0, [r5, r4] ldrb r1, [r5, r4] ldr r0, [sp, #0xc] bic r1, r0 mov r0, #0x1 orr r0, r1 strb r0, [r5, r4] _0205F9B2: ldrb r0, [r6, #0x2] cmp r0, #0x1 beq _0205F9BE cmp r0, #0x2 beq _0205F9E8 b _0205FA0E _0205F9BE: ldrb r2, [r6, #0x3] ldr r0, [sp, #0x0] mov r1, #0x2 bl FUN_0205F2E4 lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1e ldrb r1, [r5, r4] ldr r2, [sp, #0x18] lsr r0, r0, #0x18 bic r1, r2 orr r0, r1 strb r0, [r5, r4] ldrb r1, [r5, r4] ldr r0, [sp, #0x14] bic r1, r0 mov r0, #0x10 orr r0, r1 strb r0, [r5, r4] b _0205FA0E _0205F9E8: ldrb r1, [r6, #0x3] add r0, r7, #0x0 bl FUN_02039528 lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1e ldrb r1, [r5, r4] ldr r2, [sp, #0x20] lsr r0, r0, #0x18 bic r1, r2 orr r0, r1 strb r0, [r5, r4] ldrb r1, [r5, r4] ldr r0, [sp, #0x1c] bic r1, r0 mov r0, #0x10 orr r0, r1 strb r0, [r5, r4] _0205FA0E: ldr r0, [sp, #0x24] add r4, r4, #0x1 cmp r4, r0 blt _0205F94C _0205FA16: add r0, sp, #0x28 blx FS_CloseFile add r0, r6, #0x0 bl FUN_02016A18 add sp, #0x70 pop {r3-r7, pc} nop _0205FA28: .word 0x0000013A thumb_func_start FUN_0205FA2C FUN_0205FA2C: ; 0x0205FA2C push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 add r0, r2, #0x0 mov r1, #0x40 bl FUN_020169D8 ldr r6, [r7, #0xc] mov r1, #0x0 mov r2, #0x40 add r4, r0, #0x0 blx MI_CpuFill8 add r0, r6, #0x0 bl LoadPlayerDataAddress str r0, [r4, #0xc] add r0, r6, #0x0 bl FUN_0206BB1C str r0, [r4, #0x0] add r0, r6, #0x0 bl FUN_0206F158 str r0, [r4, #0x4] add r0, r4, #0x0 mov r1, #0x0 add r0, #0x21 strb r1, [r0, #0x0] add r0, r4, #0x0 ldrb r2, [r5, #0x8] add r0, #0x20 strb r2, [r0, #0x0] add r0, r4, #0x0 add r0, #0x32 ldrb r0, [r0, #0x0] mov r2, #0xf ldrb r3, [r5, #0xa] bic r0, r2 mov r2, #0xf and r2, r3 orr r2, r0 add r0, r4, #0x0 add r0, #0x32 strb r2, [r0, #0x0] add r0, r4, #0x0 add r0, #0x32 ldrb r0, [r0, #0x0] mov r2, #0xf0 bic r0, r2 ldrb r2, [r5, #0xb] lsl r2, r2, #0x1c lsr r2, r2, #0x18 orr r2, r0 add r0, r4, #0x0 add r0, #0x32 strb r2, [r0, #0x0] add r0, r4, #0x0 ldrb r2, [r5, #0xc] add r0, #0x33 strb r2, [r0, #0x0] add r0, r4, #0x0 ldrb r2, [r5, #0xd] add r0, #0x22 strb r2, [r0, #0x0] _0205FAAE: add r0, r5, r1 ldrb r2, [r0, #0xe] add r0, r4, r1 add r0, #0x2c strb r2, [r0, #0x0] add r0, r1, #0x1 lsl r0, r0, #0x18 lsr r1, r0, #0x18 cmp r1, #0x6 blo _0205FAAE ldr r1, _0205FAD4 ; =0x020F96DC add r0, r7, #0x0 add r2, r4, #0x0 bl FUN_020373D4 ldr r0, [r5, #0x14] str r4, [r0, #0x0] mov r0, #0x1 pop {r3-r7, pc} .balign 4 _0205FAD4: .word 0x020F96DC thumb_func_start FUN_0205FAD8 FUN_0205FAD8: ; 0x0205FAD8 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 bl FUN_0204647C cmp r0, #0x0 beq _0205FAEA mov r0, #0x1 pop {r3-r5, pc} _0205FAEA: ldr r0, [r5, #0x14] ldr r4, [r0, #0x0] add r0, r4, #0x0 add r0, #0x22 ldrb r0, [r0, #0x0] cmp r0, #0x6 beq _0205FB04 cmp r0, #0x7 bne _0205FB0C mov r0, #0x0 str r0, [r5, #0x0] mov r0, #0x4 pop {r3-r5, pc} _0205FB04: mov r0, #0x1 str r0, [r5, #0x0] mov r0, #0x4 pop {r3-r5, pc} _0205FB0C: add r0, r4, #0x0 add r1, r5, #0x0 add r0, #0x2c add r1, #0xe mov r2, #0x6 blx MI_CpuCopy8 add r0, r4, #0x0 add r0, #0x22 ldrb r0, [r0, #0x0] strb r0, [r5, #0xd] add r0, r4, #0x0 bl FUN_02016A18 ldr r0, [r5, #0x14] mov r1, #0x0 str r1, [r0, #0x0] mov r0, #0x2 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205FB34 FUN_0205FB34: ; 0x0205FB34 push {r3-r7, lr} add r7, r1, #0x0 add r6, r0, #0x0 ldr r5, [r7, #0xc] add r0, r2, #0x0 mov r1, #0x30 bl FUN_020169D8 mov r1, #0x0 mov r2, #0x30 add r4, r0, #0x0 blx MI_CpuFill8 add r0, r5, #0x0 bl LoadPlayerDataAddress str r0, [r4, #0x4] add r0, r5, #0x0 bl FUN_0206BB1C str r0, [r4, #0x0] add r0, r5, #0x0 bl FUN_0206BB28 str r0, [r4, #0x1c] add r0, r5, #0x0 bl FUN_02079C70 str r0, [r4, #0x2c] mov r0, #0x1 strb r0, [r4, #0x11] ldrb r0, [r6, #0xd] strb r0, [r4, #0x14] ldr r0, [r4, #0x0] bl FUN_0206B9AC strb r0, [r4, #0x13] mov r0, #0x0 strh r0, [r4, #0x18] ldrb r0, [r6, #0x9] strb r0, [r4, #0x12] add r0, r5, #0x0 bl FUN_0202A918 str r0, [r4, #0x20] ldr r1, _0205FBB8 ; =0x020F7454 add r0, r4, #0x0 bl FUN_0207B000 add r0, r5, #0x0 bl FUN_020238F4 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_0207C2A4 ldr r1, _0205FBBC ; =0x020FA6E8 add r0, r7, #0x0 add r2, r4, #0x0 bl FUN_020373D4 ldr r0, [r6, #0x14] str r4, [r0, #0x0] mov r0, #0x3 pop {r3-r7, pc} nop _0205FBB8: .word 0x020F7454 _0205FBBC: .word 0x020FA6E8 thumb_func_start FUN_0205FBC0 FUN_0205FBC0: ; 0x0205FBC0 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 bl FUN_0204647C cmp r0, #0x0 beq _0205FBD2 mov r0, #0x3 pop {r4, pc} _0205FBD2: ldr r0, [r4, #0x14] ldr r0, [r0, #0x0] ldrb r1, [r0, #0x14] strb r1, [r4, #0xd] bl FUN_02016A18 ldr r1, [r4, #0x14] mov r0, #0x0 str r0, [r1, #0x0] pop {r4, pc} .balign 4 thumb_func_start FUN_0205FBE8 FUN_0205FBE8: ; 0x0205FBE8 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x4] cmp r1, #0x4 bhi _0205FC4A add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0205FC0C: ; jump table (using 16-bit offset) .short _0205FC16 - _0205FC0C - 2; case 0 .short _0205FC22 - _0205FC0C - 2; case 1 .short _0205FC2C - _0205FC0C - 2; case 2 .short _0205FC38 - _0205FC0C - 2; case 3 .short _0205FC42 - _0205FC0C - 2; case 4 _0205FC16: add r1, r5, #0x0 mov r2, #0xb bl FUN_0205FA2C str r0, [r4, #0x4] b _0205FC4A _0205FC22: add r1, r5, #0x0 bl FUN_0205FAD8 str r0, [r4, #0x4] b _0205FC4A _0205FC2C: add r1, r5, #0x0 mov r2, #0xb bl FUN_0205FB34 str r0, [r4, #0x4] b _0205FC4A _0205FC38: add r1, r5, #0x0 bl FUN_0205FBC0 str r0, [r4, #0x4] b _0205FC4A _0205FC42: bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _0205FC4A: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0205FC50 FUN_0205FC50: ; 0x0205FC50 push {r3-r7, lr} add r5, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 bl FUN_02046528 str r0, [sp, #0x0] mov r0, #0xb mov r1, #0x18 bl FUN_02016998 add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x18 blx MI_CpuFill8 strb r6, [r4, #0x8] strb r7, [r4, #0x9] add r0, sp, #0x8 ldrb r1, [r0, #0x10] add r2, r4, #0x0 strb r1, [r4, #0xa] ldrb r1, [r0, #0x14] strb r1, [r4, #0xb] ldrb r1, [r0, #0x18] strb r1, [r4, #0xc] ldrb r0, [r0, #0x1c] ldr r1, _0205FC98 ; =FUN_0205FBE8 strb r0, [r4, #0xd] ldr r0, [sp, #0x0] str r5, [r4, #0x14] ldr r0, [r0, #0x10] bl FUN_0204640C pop {r3-r7, pc} nop _0205FC98: .word FUN_0205FBE8 thumb_func_start FUN_0205FC9C FUN_0205FC9C: ; 0x0205FC9C push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_0203384C cmp r0, #0x0 beq _0205FCBC ldrh r1, [r4, #0x12] ldrh r2, [r4, #0x14] add r0, r5, #0x0 bl FUN_02038790 str r0, [r4, #0x8] mov r0, #0x1 pop {r3-r5, pc} _0205FCBC: mov r0, #0x1 str r0, [r4, #0x0] mov r0, #0x2 pop {r3-r5, pc} thumb_func_start FUN_0205FCC4 FUN_0205FCC4: ; 0x0205FCC4 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 bl FUN_0204647C cmp r0, #0x0 beq _0205FCD6 mov r0, #0x1 pop {r4, pc} _0205FCD6: ldr r0, [r4, #0x8] ldr r0, [r0, #0x20] str r0, [r4, #0x0] ldr r0, [r4, #0x8] bl FUN_02016A18 mov r0, #0x2 pop {r4, pc} .balign 4 thumb_func_start FUN_0205FCE8 FUN_0205FCE8: ; 0x0205FCE8 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x4] cmp r1, #0x0 beq _0205FD0A cmp r1, #0x1 beq _0205FD14 cmp r1, #0x2 beq _0205FD1E b _0205FD34 _0205FD0A: add r1, r5, #0x0 bl FUN_0205FC9C str r0, [r4, #0x4] b _0205FD34 _0205FD14: add r1, r5, #0x0 bl FUN_0205FCC4 str r0, [r4, #0x4] b _0205FD34 _0205FD1E: ldrh r1, [r4, #0x10] add r0, r5, #0x0 bl FUN_020394B8 ldr r1, [r4, #0x0] strh r1, [r0, #0x0] add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _0205FD34: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0205FD38 FUN_0205FD38: ; 0x0205FD38 push {r3-r7, lr} add r5, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 bl FUN_02046528 str r0, [sp, #0x0] mov r0, #0xb mov r1, #0x18 bl FUN_02016998 add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x18 blx MI_CpuFill8 strh r5, [r4, #0x12] strh r7, [r4, #0x14] ldr r0, [sp, #0x0] strh r6, [r4, #0x10] ldr r0, [r0, #0x10] ldr r1, _0205FD6C ; =FUN_0205FCE8 add r2, r4, #0x0 bl FUN_0204640C pop {r3-r7, pc} .balign 4 _0205FD6C: .word FUN_0205FCE8 thumb_func_start FUN_0205FD70 FUN_0205FD70: ; 0x0205FD70 push {r3-r7, lr} add r4, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r5, r0, #0x0 bl FUN_02031190 mov r1, #0x1 sub r0, r1, r0 bl FUN_020316E0 add r7, r0, #0x0 bne _0205FD96 mov r0, #0x0 pop {r3-r7, pc} _0205FD96: ldrh r1, [r5, #0x2] add r0, r6, #0x0 bl FUN_020394B8 add r4, r0, #0x0 ldrh r0, [r5, #0x0] cmp r0, #0x0 beq _0205FDB0 cmp r0, #0x1 beq _0205FDBC cmp r0, #0x2 beq _0205FDC8 b _0205FDD2 _0205FDB0: add r0, r6, #0x0 add r1, r7, #0x0 bl FUN_02244660 strh r0, [r4, #0x0] b _0205FDD2 _0205FDBC: add r0, r6, #0x0 add r1, r7, #0x0 bl FUN_022446BC strh r0, [r4, #0x0] b _0205FDD2 _0205FDC8: add r0, r6, #0x0 add r1, r7, #0x0 bl FUN_022446E0 strh r0, [r4, #0x0] _0205FDD2: add r0, r5, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r3-r7, pc} thumb_func_start FUN_0205FDDC FUN_0205FDDC: ; 0x0205FDDC push {r3-r7, lr} add r5, r1, #0x0 add r6, r2, #0x0 bl FUN_02046528 add r7, r0, #0x0 mov r0, #0xb mov r1, #0x4 bl FUN_02016998 add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x4 blx MI_CpuFill8 strh r5, [r4, #0x0] strh r6, [r4, #0x2] ldr r0, [r7, #0x10] ldr r1, _0205FE0C ; =FUN_0205FD70 add r2, r4, #0x0 bl FUN_0204640C pop {r3-r7, pc} nop _0205FE0C: .word FUN_0205FD70 thumb_func_start FUN_0205FE10 FUN_0205FE10: ; 0x0205FE10 push {r4-r7, lr} sub sp, #0x14 str r0, [sp, #0x0] bl FUN_02029FC8 mov r1, #0x35 bl FUN_0202A150 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x10] cmp r0, #0x14 bhs _0205FE30 add sp, #0x14 mov r0, #0x0 pop {r4-r7, pc} _0205FE30: ldr r0, [sp, #0x0] bl FUN_0202A8D8 mov r1, #0xd mov r2, #0x0 add r4, r0, #0x0 bl FUN_0202A578 lsl r0, r0, #0x18 mov r1, #0x0 lsr r7, r0, #0x18 add r0, r4, #0x0 add r2, r1, #0x0 bl FUN_0202A578 lsl r0, r0, #0x18 lsr r6, r0, #0x18 add r0, r4, #0x0 mov r1, #0x1 mov r2, #0x0 bl FUN_0202A578 lsl r0, r0, #0x18 lsr r5, r0, #0x18 add r0, r4, #0x0 mov r1, #0xe mov r2, #0x0 bl FUN_0202A578 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0xc] add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x0 bl FUN_0202A578 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x8] add r0, r4, #0x0 mov r1, #0x3 mov r2, #0x0 bl FUN_0202A578 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x4] cmp r7, #0x0 beq _0205FEA2 cmp r6, #0x0 beq _0205FEA2 cmp r5, #0x0 beq _0205FEA2 add sp, #0x14 mov r0, #0x0 pop {r4-r7, pc} _0205FEA2: ldr r0, [sp, #0x0] bl FUN_02026CC4 cmp r7, #0x0 bne _0205FEDC mov r1, #0x55 bl FUN_02025D94 cmp r0, #0x0 beq _0205FEC6 add r0, r4, #0x0 mov r1, #0xd mov r2, #0x1 bl FUN_0202A578 add sp, #0x14 mov r0, #0x1 pop {r4-r7, pc} _0205FEC6: ldr r0, [sp, #0xc] cmp r0, #0x0 bne _0205FED6 add r0, r4, #0x0 mov r1, #0xe mov r2, #0x1 bl FUN_0202A578 _0205FED6: add sp, #0x14 mov r0, #0x4 pop {r4-r7, pc} _0205FEDC: ldr r1, [sp, #0x10] cmp r1, #0x32 bhs _0205FEE8 add sp, #0x14 mov r0, #0x0 pop {r4-r7, pc} _0205FEE8: cmp r6, #0x0 bne _0205FF1C mov r1, #0x56 bl FUN_02025D94 cmp r0, #0x0 beq _0205FF06 add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x1 bl FUN_0202A578 add sp, #0x14 mov r0, #0x2 pop {r4-r7, pc} _0205FF06: ldr r0, [sp, #0x8] cmp r0, #0x0 bne _0205FF16 add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x1 bl FUN_0202A578 _0205FF16: add sp, #0x14 mov r0, #0x4 pop {r4-r7, pc} _0205FF1C: cmp r1, #0x64 blo _0205FF24 cmp r5, #0x0 beq _0205FF2A _0205FF24: add sp, #0x14 mov r0, #0x0 pop {r4-r7, pc} _0205FF2A: mov r1, #0x57 bl FUN_02025D94 cmp r0, #0x0 beq _0205FF44 mov r1, #0x1 add r0, r4, #0x0 add r2, r1, #0x0 bl FUN_0202A578 add sp, #0x14 mov r0, #0x3 pop {r4-r7, pc} _0205FF44: ldr r0, [sp, #0x4] cmp r0, #0x0 bne _0205FF54 add r0, r4, #0x0 mov r1, #0x3 mov r2, #0x1 bl FUN_0202A578 _0205FF54: mov r0, #0x4 add sp, #0x14 pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0205FF5C FUN_0205FF5C: ; 0x0205FF5C push {r4-r7, lr} sub sp, #0xc add r4, r0, #0x0 bl FUN_02029FC8 mov r1, #0x35 bl FUN_0202A150 lsl r0, r0, #0x10 lsr r7, r0, #0x10 cmp r7, #0x14 bhs _0205FF7A add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _0205FF7A: add r0, r4, #0x0 bl FUN_0202A8D8 mov r1, #0xd mov r2, #0x0 str r0, [sp, #0x8] bl FUN_0202A578 lsl r0, r0, #0x18 lsr r6, r0, #0x18 mov r1, #0x0 ldr r0, [sp, #0x8] add r2, r1, #0x0 bl FUN_0202A578 lsl r0, r0, #0x18 lsr r4, r0, #0x18 ldr r0, [sp, #0x8] mov r1, #0x1 mov r2, #0x0 bl FUN_0202A578 lsl r0, r0, #0x18 lsr r5, r0, #0x18 ldr r0, [sp, #0x8] mov r1, #0xe mov r2, #0x0 bl FUN_0202A578 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x4] ldr r0, [sp, #0x8] mov r1, #0x2 mov r2, #0x0 bl FUN_0202A578 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] ldr r0, [sp, #0x8] mov r1, #0x3 mov r2, #0x0 bl FUN_0202A578 lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r6, #0x0 beq _0205FFEA cmp r4, #0x0 beq _0205FFEA cmp r5, #0x0 beq _0205FFEA add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _0205FFEA: cmp r6, #0x0 bne _02060000 ldr r0, [sp, #0x4] cmp r0, #0x0 beq _0205FFFA add sp, #0xc mov r0, #0x4 pop {r4-r7, pc} _0205FFFA: add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} _02060000: cmp r7, #0x32 bhs _0206000A add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _0206000A: cmp r4, #0x0 bne _02060020 ldr r0, [sp, #0x0] cmp r0, #0x0 beq _0206001A add sp, #0xc mov r0, #0x5 pop {r4-r7, pc} _0206001A: add sp, #0xc mov r0, #0x2 pop {r4-r7, pc} _02060020: cmp r7, #0x64 bhs _0206002A add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _0206002A: cmp r5, #0x0 beq _02060034 add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _02060034: cmp r0, #0x0 beq _0206003E add sp, #0xc mov r0, #0x6 pop {r4-r7, pc} _0206003E: mov r0, #0x3 add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_02060044 FUN_02060044: ; 0x02060044 add r0, #0xa8 ldr r0, [r0, #0x0] ldr r2, [r1, #0x0] ldrh r3, [r0, #0x24] add r2, r3, r2 strh r2, [r0, #0x24] ldrh r3, [r0, #0x28] ldr r2, [r1, #0x4] add r2, r3, r2 strh r2, [r0, #0x28] ldrh r2, [r0, #0x26] ldr r1, [r1, #0x8] add r1, r2, r1 strh r1, [r0, #0x26] bx lr .balign 4 thumb_func_start FUN_02060064 FUN_02060064: ; 0x02060064 ldr r1, _0206006C ; =0x02E90EDD mul r1, r0 add r0, r1, #0x1 bx lr .balign 4 _0206006C: .word 0x02E90EDD thumb_func_start FUN_02060070 FUN_02060070: ; 0x02060070 ldr r1, _02060078 ; =0x5D588B65 mul r1, r0 add r0, r1, #0x1 bx lr .balign 4 _02060078: .word 0x5D588B65 thumb_func_start FUN_0206007C FUN_0206007C: ; 0x0206007C push {r3-r5, lr} add r5, r0, #0x0 bl FUN_0202881C bl FUN_020287A4 bl FUN_02060070 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0202A8D8 add r1, r4, #0x0 bl FUN_0202A5CC add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020600A0 FUN_020600A0: ; 0x020600A0 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 bl FUN_0202A8D8 add r6, r0, #0x0 bl FUN_0202A5D0 bl FUN_02060070 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_0202A5CC add r0, r4, #0x0 bl FUN_02060064 str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_0202A8CC mov r1, #0xa add r2, sp, #0x0 bl FUN_0202A2C4 ldr r0, [sp, #0x0] add sp, #0x4 pop {r3-r6, pc} .balign 4 thumb_func_start FUN_020600DC FUN_020600DC: ; 0x020600DC push {r3-r6, lr} sub sp, #0x4 add r6, r0, #0x0 bl FUN_0202A8D8 add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_0202A8CC add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0202A5D0 bl FUN_02060064 mov r1, #0x0 str r0, [sp, #0x0] add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_0202A240 add r1, r0, #0x0 lsl r1, r1, #0x10 add r0, r4, #0x0 lsr r1, r1, #0x10 mov r2, #0x0 bl FUN_0202A538 mov r1, #0x18 add r5, r0, #0x0 mul r5, r1 mov r4, #0x0 cmp r5, #0x0 ble _0206012E ldr r0, [sp, #0x0] _02060122: bl FUN_02060064 add r4, r4, #0x1 str r0, [sp, #0x0] cmp r4, r5 blt _02060122 _0206012E: add r0, r6, #0x0 bl FUN_0202A8CC mov r1, #0xa add r2, sp, #0x0 bl FUN_0202A2C4 ldr r0, [sp, #0x0] add sp, #0x4 pop {r3-r6, pc} .balign 4 thumb_func_start FUN_02060144 FUN_02060144: ; 0x02060144 ldr r0, [r0, #0x1c] ldr r1, [r0, #0x0] ldr r0, _02060158 ; =0x000001ED cmp r1, r0 bne _02060152 mov r0, #0x1 bx lr _02060152: mov r0, #0x0 bx lr nop _02060158: .word 0x000001ED thumb_func_start FUN_0206015C FUN_0206015C: ; 0x0206015C push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0xb mov r1, #0x10 bl FUN_020169D8 add r4, r0, #0x0 mov r0, #0xb bl FUN_02244DB0 str r0, [r4, #0x0] mov r0, #0xb add r1, r5, #0x0 bl FUN_02245114 str r0, [r4, #0x4] mov r0, #0x0 strb r0, [r4, #0xc] strb r0, [r4, #0xd] ldr r0, [r5, #0x10] ldr r1, _02060190 ; =FUN_02060194 add r2, r4, #0x0 bl FUN_0204640C pop {r3-r5, pc} nop _02060190: .word FUN_02060194 thumb_func_start FUN_02060194 FUN_02060194: ; 0x02060194 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldrb r0, [r4, #0xc] cmp r0, #0x8 bls _020601B0 b _02060332 _020601B0: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020601BC: ; jump table (using 16-bit offset) .short _020601CE - _020601BC - 2; case 0 .short _020601F2 - _020601BC - 2; case 1 .short _020601FE - _020601BC - 2; case 2 .short _02060226 - _020601BC - 2; case 3 .short _02060232 - _020601BC - 2; case 4 .short _020602A2 - _020601BC - 2; case 5 .short _020602F0 - _020601BC - 2; case 6 .short _020602FC - _020601BC - 2; case 7 .short _02060312 - _020601BC - 2; case 8 _020601CE: add r0, r6, #0x0 mov r1, #0x1 bl FUN_0206367C ldrb r0, [r4, #0xd] ldr r1, [r4, #0x4] bl FUN_02245198 ldr r0, [r4, #0x4] bl FUN_022451F0 str r0, [r4, #0x8] add r0, r5, #0x0 bl FUN_0204AFC8 mov r0, #0x1 strb r0, [r4, #0xc] b _02060332 _020601F2: add r0, r5, #0x0 bl FUN_0204AF3C mov r0, #0x2 strb r0, [r4, #0xc] b _02060332 _020601FE: ldr r0, [r6, #0xc] bl FUN_020462AC ldrb r1, [r4, #0xd] cmp r1, #0x0 bne _02060210 bl FUN_0205F1C4 b _02060218 _02060210: cmp r1, #0x5 bne _02060218 bl FUN_0205F1D4 _02060218: ldr r1, [r4, #0x8] add r0, r5, #0x0 bl FUN_02049160 mov r0, #0x3 strb r0, [r4, #0xc] b _02060332 _02060226: add r0, r5, #0x0 bl FUN_0204AF84 mov r0, #0x4 strb r0, [r4, #0xc] b _02060332 _02060232: ldr r0, [r6, #0x38] bl FUN_020553A0 ldrb r1, [r4, #0xd] add r7, r0, #0x0 add r1, r1, #0x1 strb r1, [r4, #0xd] ldrb r1, [r4, #0xd] cmp r1, #0x5 bhi _02060290 add r0, r6, #0x0 bl FUN_02245088 add r6, r0, #0x0 add r0, r7, #0x0 mov r1, #0x1 bl FUN_0205889C ldr r0, [r4, #0x0] add r1, r6, #0x0 bl FUN_02244DC4 ldr r0, [r4, #0x0] bl FUN_02244EF8 mov r0, #0x0 strb r0, [r4, #0xe] ldr r0, _02060338 ; =0x00000679 bl FUN_020054C8 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x6 str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] mov r0, #0xb str r0, [sp, #0xc] ldr r3, _0206033C ; =0x0000FFFF add r0, r5, #0x0 mov r1, #0x3 mov r2, #0x11 bl FUN_0204C1B4 mov r0, #0x5 strb r0, [r4, #0xc] b _02060332 _02060290: mov r1, #0x0 bl FUN_0205889C add r0, r5, #0x0 bl FUN_0204B00C mov r0, #0x8 strb r0, [r4, #0xc] b _02060332 _020602A2: ldrb r0, [r4, #0xe] add r0, r0, #0x1 strb r0, [r4, #0xe] ldrb r0, [r4, #0xe] cmp r0, #0x3c bhs _020602B8 ldr r0, _02060340 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x1 tst r0, r1 beq _02060332 _020602B8: ldrb r0, [r4, #0xd] ldr r1, [r4, #0x4] bl FUN_02245198 ldr r0, [r4, #0x4] bl FUN_022451F0 str r0, [r4, #0x8] ldr r0, _02060338 ; =0x00000679 bl FUN_020054C8 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x6 str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] mov r0, #0xb str r0, [sp, #0xc] ldr r3, _0206033C ; =0x0000FFFF add r0, r5, #0x0 mov r1, #0x3 mov r2, #0x10 bl FUN_0204C1B4 mov r0, #0x6 strb r0, [r4, #0xc] b _02060332 _020602F0: ldr r0, [r4, #0x0] bl FUN_02244F18 mov r0, #0x7 strb r0, [r4, #0xc] b _02060332 _020602FC: ldr r0, [r4, #0x0] bl FUN_02244F24 cmp r0, #0x0 beq _02060332 ldr r0, [r4, #0x0] bl FUN_02244F2C mov r0, #0x1 strb r0, [r4, #0xc] b _02060332 _02060312: add r0, r6, #0x0 mov r1, #0x0 bl FUN_0206367C ldr r0, [r4, #0x4] bl FUN_02245190 ldr r0, [r4, #0x0] bl FUN_02244DBC add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} _02060332: mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 _02060338: .word 0x00000679 _0206033C: .word 0x0000FFFF _02060340: .word 0x021C48B8 thumb_func_start FUN_02060344 FUN_02060344: ; 0x02060344 push {r3-r7, lr} add r5, r0, #0x0 str r1, [sp, #0x0] cmp r1, #0x0 ble _020603AE bl FUN_02029ABC bl FUN_02029ACC add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_020238F4 add r7, r0, #0x0 ldr r0, [sp, #0x0] mov r1, #0xa add r6, r0, #0x0 mov r5, #0x0 mul r6, r1 _0206036A: add r0, r7, #0x0 add r1, r5, #0x0 bl FUN_020239D0 cmp r0, #0x0 beq _020603A4 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02029AD0 add r1, r0, #0x0 cmp r1, #0x0 ble _0206038C cmp r1, #0xc8 bge _0206038C sub r1, r1, r6 b _02060396 _0206038C: cmp r1, #0xc8 blt _02060394 bl ErrorHandling _02060394: mov r1, #0x0 _02060396: cmp r1, #0x0 bge _0206039C mov r1, #0x0 _0206039C: add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_02029AD8 _020603A4: add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x8 blo _0206036A _020603AE: pop {r3-r7, pc} thumb_func_start FUN_020603B0 FUN_020603B0: ; 0x020603B0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_0202AA38 add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02060588 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020603C8 FUN_020603C8: ; 0x020603C8 push {r3-r5, lr} add r4, r0, #0x0 mov r5, #0x0 _020603CE: add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_0202AA74 cmp r0, #0x0 beq _020603E2 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_020603B0 _020603E2: add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x3 blo _020603CE pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020603F0 FUN_020603F0: ; 0x020603F0 push {r4-r6, lr} add r5, r0, #0x0 mov r4, #0x0 _020603F6: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0202AA74 cmp r0, #0x0 beq _02060430 bl FUN_0201B9EC lsl r0, r0, #0x4 lsr r6, r0, #0x10 cmp r6, #0x10 blo _02060412 bl ErrorHandling _02060412: cmp r6, #0x0 bne _02060420 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020603B0 b _02060430 _02060420: add r0, r5, #0x0 bl FUN_0202AA38 add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020605D8 _02060430: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x3 blo _020603F6 pop {r4-r6, pc} thumb_func_start FUN_0206043C FUN_0206043C: ; 0x0206043C push {r4, lr} add r4, r0, #0x0 cmp r4, #0x1d blo _02060448 bl ErrorHandling _02060448: ldr r0, _02060450 ; =0x020F7460 lsl r1, r4, #0x2 ldr r0, [r0, r1] pop {r4, pc} .balign 4 _02060450: .word 0x020F7460 thumb_func_start FUN_02060454 FUN_02060454: ; 0x02060454 push {r3-r5, lr} add r4, r0, #0x0 mov r5, #0x0 _0206045A: add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_0202AA74 cmp r0, #0x0 beq _0206046A mov r0, #0x1 pop {r3-r5, pc} _0206046A: add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x3 blo _0206045A mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02060478 FUN_02060478: ; 0x02060478 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02060454 cmp r0, #0x0 beq _0206048E add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0202AA20 _0206048E: pop {r3-r5, pc} thumb_func_start FUN_02060490 FUN_02060490: ; 0x02060490 push {r3-r7, lr} sub sp, #0x20 add r5, r1, #0x0 str r0, [sp, #0x10] bl FUN_0202A9B0 add r1, r5, #0x0 str r0, [sp, #0x14] bl FUN_0202AAA0 add r4, r0, #0x0 cmp r5, #0x0 beq _020604B4 cmp r5, #0x1 beq _020604BA cmp r5, #0x2 beq _020604C2 b _020604C8 _020604B4: ldr r7, _02060580 ; =0x000001E1 mov r6, #0x32 b _020604D0 _020604BA: mov r7, #0x7a lsl r7, r7, #0x2 mov r6, #0x32 b _020604D0 _020604C2: ldr r7, _02060584 ; =0x000001EB mov r6, #0x28 b _020604D0 _020604C8: bl ErrorHandling add sp, #0x20 pop {r3-r7, pc} _020604D0: add r0, r4, #0x0 mov r1, #0x4 add r2, r7, #0x0 bl FUN_0202AAFC add r0, r4, #0x0 mov r1, #0x6 add r2, r6, #0x0 bl FUN_0202AAFC ldr r0, [sp, #0x10] bl FUN_020238F4 str r0, [sp, #0x18] mov r0, #0x4 bl FUN_020669C0 str r0, [sp, #0x1c] bl FUN_02066978 ldr r0, [sp, #0x18] bl FUN_020239C0 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] mov r1, #0x1 str r1, [sp, #0x8] str r0, [sp, #0xc] ldr r0, [sp, #0x1c] add r1, r7, #0x0 add r2, r6, #0x0 mov r3, #0x20 bl FUN_02066ACC add r0, r4, #0x0 mov r1, #0x7 mov r2, #0x0 bl FUN_0202AAFC add r0, r4, #0x0 mov r1, #0x8 mov r2, #0x1 bl FUN_0202AAFC ldr r0, [sp, #0x1c] mov r1, #0xae mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x2 bl FUN_0202AAFC mov r1, #0x0 ldr r0, [sp, #0x1c] add r2, r1, #0x0 bl FUN_020671BC add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x3 bl FUN_0202AAFC ldr r0, [sp, #0x1c] mov r1, #0xa3 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x5 bl FUN_0202AAFC ldr r0, [sp, #0x1c] bl FUN_02016A18 ldr r0, [sp, #0x14] bl FUN_0202AA38 add r2, r0, #0x0 ldr r0, [sp, #0x14] add r1, r5, #0x0 bl FUN_02060588 add sp, #0x20 pop {r3-r7, pc} .balign 4 _02060580: .word 0x000001E1 _02060584: .word 0x000001EB thumb_func_start FUN_02060588 FUN_02060588: ; 0x02060588 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] str r1, [sp, #0x4] add r6, r2, #0x0 bl FUN_0202AA40 ldr r7, _020605D0 ; =0x020F7460 lsl r0, r0, #0x2 ldr r4, [r7, r0] _0206059C: bl FUN_0201B9EC ldr r1, _020605D4 ; =0x000008D4 blx _s32_div_f lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0x1d blo _020605B2 bl ErrorHandling _020605B2: lsl r0, r5, #0x18 lsr r2, r0, #0x18 lsl r0, r2, #0x2 ldr r3, [r7, r0] cmp r3, r6 beq _0206059C cmp r3, r4 beq _0206059C ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] bl FUN_02060688 add sp, #0x8 pop {r3-r7, pc} nop _020605D0: .word 0x020F7460 _020605D4: .word 0x000008D4 thumb_func_start FUN_020605D8 FUN_020605D8: ; 0x020605D8 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] str r1, [sp, #0x4] add r7, r2, #0x0 bl FUN_0202AA40 mov r1, #0xc ldr r2, _0206067C ; =0x020F74D4 mul r1, r0 ldrh r0, [r2, r1] add r4, r2, r1 cmp r0, #0x1 bne _0206061E ldrh r0, [r4, #0x2] lsl r0, r0, #0x18 lsr r2, r0, #0x18 ldr r0, _02060680 ; =0x020F7460 lsl r1, r2, #0x2 ldr r3, [r0, r1] cmp r3, r7 bne _02060612 ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] add r2, r7, #0x0 bl FUN_02060588 add sp, #0x8 pop {r3-r7, pc} _02060612: ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] bl FUN_02060688 add sp, #0x8 pop {r3-r7, pc} _0206061E: ldrh r5, [r4, #0x0] cmp r5, #0x0 bne _02060628 bl ErrorHandling _02060628: cmp r5, #0x1 bhi _02060630 mov r6, #0x0 b _02060658 _02060630: bl FUN_0201B9EC add r6, r0, #0x0 ldr r0, _02060684 ; =0x0000FFFF add r1, r5, #0x0 blx _s32_div_f add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 blx _s32_div_f lsl r0, r0, #0x10 lsr r6, r0, #0x10 cmp r6, r5 blo _02060658 bl ErrorHandling _02060658: lsl r0, r6, #0x18 lsr r0, r0, #0x17 add r0, r4, r0 ldrh r0, [r0, #0x2] lsl r0, r0, #0x18 lsr r2, r0, #0x18 ldr r0, _02060680 ; =0x020F7460 lsl r1, r2, #0x2 ldr r3, [r0, r1] cmp r3, r7 beq _0206061E ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] bl FUN_02060688 add sp, #0x8 pop {r3-r7, pc} nop _0206067C: .word 0x020F74D4 _02060680: .word 0x020F7460 _02060684: .word 0x0000FFFF thumb_func_start FUN_02060688 FUN_02060688: ; 0x02060688 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 bl FUN_0202AAA0 str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_0202AA58 ldr r0, [sp, #0x0] mov r1, #0x1 add r2, r7, #0x0 bl FUN_0202AAFC pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020606B0 FUN_020606B0: ; 0x020606B0 push {r4, lr} add r4, r0, #0x0 bl FUN_02046528 add r0, r4, #0x0 bl FUN_0204652C add r2, r0, #0x0 ldr r1, _020606CC ; =0x020F7630 add r0, r4, #0x0 add r2, #0xc bl FUN_02046500 pop {r4, pc} .balign 4 _020606CC: .word 0x020F7630 thumb_func_start FUN_020606D0 FUN_020606D0: ; 0x020606D0 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x6 bhi _0206078A add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020606F6: ; jump table (using 16-bit offset) .short _02060704 - _020606F6 - 2; case 0 .short _0206072C - _020606F6 - 2; case 1 .short _0206073A - _020606F6 - 2; case 2 .short _02060748 - _020606F6 - 2; case 3 .short _02060756 - _020606F6 - 2; case 4 .short _02060764 - _020606F6 - 2; case 5 .short _02060772 - _020606F6 - 2; case 6 _02060704: ldr r0, [r4, #0x24] add r3, r4, #0x0 str r0, [sp, #0x0] ldr r0, [r4, #0x28] add r3, #0xc str r0, [sp, #0x4] ldr r1, [r4, #0x0] ldr r2, [r4, #0x8] add r0, r6, #0x0 bl FUN_0224891C ldr r1, [r4, #0x0] ldr r2, [r4, #0x8] add r0, r6, #0x0 bl FUN_022488FC ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0206078A _0206072C: add r0, r5, #0x0 bl FUN_0204AFC8 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0206078A _0206073A: add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0206078A _02060748: add r0, r5, #0x0 bl FUN_020606B0 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0206078A _02060756: add r0, r5, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0206078A _02060764: add r0, r5, #0x0 bl FUN_0204B00C ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0206078A _02060772: ldr r0, [r4, #0x24] bl FUN_02016A18 ldr r0, [r4, #0x28] bl FUN_02016A18 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _0206078A: mov r0, #0x0 add sp, #0x8 pop {r4-r6, pc} thumb_func_start FUN_02060790 FUN_02060790: ; 0x02060790 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 add r0, r3, #0x0 mov r1, #0x2c add r6, r2, #0x0 str r3, [sp, #0x0] bl FUN_02016998 mov r1, #0x0 mov r2, #0x2c add r4, r0, #0x0 blx Call_FillMemWithValue mov r0, #0x0 str r0, [r4, #0x4] str r5, [r4, #0x0] ldr r0, [sp, #0x0] str r6, [r4, #0x8] bl FUN_020669C0 str r0, [r4, #0x24] ldr r0, [sp, #0x0] bl FUN_020669C0 str r0, [r4, #0x28] ldr r1, _020607D0 ; =FUN_020606D0 add r0, r7, #0x0 add r2, r4, #0x0 bl FUN_0204640C pop {r3-r7, pc} .balign 4 _020607D0: .word FUN_020606D0 thumb_func_start FUN_020607D4 FUN_020607D4: ; 0x020607D4 push {r3-r7, lr} sub sp, #0x28 add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0xb mov r1, #0x80 add r7, r2, #0x0 str r3, [sp, #0xc] bl FUN_020169D8 add r4, r0, #0x0 strb r6, [r4, #0x1] strb r7, [r4, #0x4] ldr r0, [sp, #0xc] add r2, r4, #0x0 str r0, [r4, #0x18] ldr r0, [sp, #0x40] add r2, #0x34 str r0, [r4, #0x1c] ldr r0, [sp, #0x44] mov r7, #0x9 str r0, [r4, #0x20] ldr r3, [r5, #0x40] _02060802: ldmia r3!, {r0-r1} stmia r2!, {r0-r1} sub r7, r7, #0x1 bne _02060802 mov r7, #0x0 sub r0, r7, #0x1 str r0, [r4, #0x10] strb r7, [r4, #0x5] mov r0, #0x40 add r1, r7, #0x0 add r2, r7, #0x0 str r7, [r4, #0x8] bl FUN_0200433C cmp r6, #0x3 bne _0206085C mov r0, #0x22 str r0, [sp, #0x14] ldr r0, [r5, #0x38] bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r5, #0x38] bl FUN_0205532C add r1, r0, #0x0 mov r0, #0x3 str r0, [sp, #0x0] mov r0, #0x6 str r0, [sp, #0x4] add r0, sp, #0x18 mov r2, #0x1 str r0, [sp, #0x8] add r0, r6, #0x0 sub r3, r2, #0x4 bl FUN_0204A840 mov r0, #0x19 lsl r0, r0, #0x10 str r0, [sp, #0x10] mov r0, #0xe lsl r0, r0, #0x10 mov r7, #0x1 str r0, [r4, #0x10] b _02060892 _0206085C: cmp r6, #0x2 bne _02060892 ldr r0, _02060918 ; =0x000001C1 str r0, [sp, #0x14] ldr r0, [r5, #0x38] bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r5, #0x38] bl FUN_0205532C add r1, r0, #0x0 mov r0, #0x6 str r0, [sp, #0x0] mov r2, #0x3 str r2, [sp, #0x4] add r0, sp, #0x18 str r0, [sp, #0x8] add r0, r6, #0x0 sub r2, r2, #0x5 mov r3, #0x2 bl FUN_0204A840 mov r0, #0x3 lsl r0, r0, #0x12 mov r7, #0x1 str r0, [sp, #0x10] _02060892: cmp r7, #0x0 beq _02060906 add r3, r4, #0x0 ldr r1, [sp, #0x14] add r0, r5, #0x0 add r2, sp, #0x18 add r3, #0x30 bl FUN_0204A8C4 cmp r0, #0x0 beq _020608F8 ldr r0, [sp, #0x10] add r1, r4, #0x0 str r0, [r4, #0xc] mov r0, #0x0 str r0, [r4, #0x14] strb r0, [r4, #0x3] mov r0, #0x1 lsl r0, r0, #0xa str r0, [r4, #0x7c] ldr r0, [r5, #0x38] add r1, #0x24 bl FUN_02055350 ldr r0, [r5, #0x20] bl FUN_0201EC88 add r0, r4, #0x0 ldr r1, [r5, #0x20] add r0, #0x24 bl FUN_0201EC68 mov r0, #0x0 ldr r1, [r4, #0x10] mvn r0, r0 cmp r1, r0 beq _020608EC mov r0, #0x0 strb r0, [r4, #0x2] mov r0, #0x1 strb r0, [r4, #0x0] add r0, r5, #0x0 bl FUN_02060BDC b _020608F0 _020608EC: mov r0, #0x0 strb r0, [r4, #0x0] _020608F0: ldr r0, _0206091C ; =0x000006DD bl FUN_020054C8 b _0206090A _020608F8: bl ErrorHandling add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x28 pop {r3-r7, pc} _02060906: mov r0, #0x2 strb r0, [r4, #0x0] _0206090A: ldr r0, [r5, #0x10] ldr r1, _02060920 ; =FUN_020609A0 add r2, r4, #0x0 bl FUN_0204640C add sp, #0x28 pop {r3-r7, pc} .balign 4 _02060918: .word 0x000001C1 _0206091C: .word 0x000006DD _02060920: .word FUN_020609A0 thumb_func_start FUN_02060924 FUN_02060924: ; 0x02060924 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0xb mov r1, #0x8 add r6, r2, #0x0 bl FUN_020169D8 add r2, r0, #0x0 str r6, [r2, #0x4] strb r4, [r2, #0x0] ldr r0, [r5, #0x10] ldr r1, _02060944 ; =FUN_02060948 bl FUN_0204640C pop {r4-r6, pc} .balign 4 _02060944: .word FUN_02060948 thumb_func_start FUN_02060948 FUN_02060948: ; 0x02060948 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02046528 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02046530 add r5, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, #0x0 beq _02060972 cmp r0, #0x1 beq _0206097C cmp r0, #0x2 beq _0206098A b _02060994 _02060972: add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_0203888C b _02060994 _0206097C: add r0, r4, #0x0 bl FUN_0204647C cmp r0, #0x0 beq _02060994 mov r0, #0x0 pop {r4-r6, pc} _0206098A: add r0, r6, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r4-r6, pc} _02060994: ldr r0, [r5, #0x0] add r0, r0, #0x1 str r0, [r5, #0x0] mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020609A0 FUN_020609A0: ; 0x020609A0 push {r3-r6, lr} sub sp, #0xc add r6, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldrb r1, [r4, #0x0] cmp r1, #0x7 bhi _020609E4 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _020609C6: ; jump table (using 16-bit offset) .short _020609D6 - _020609C6 - 2; case 0 .short _020609EC - _020609C6 - 2; case 1 .short _02060A4E - _020609C6 - 2; case 2 .short _02060A74 - _020609C6 - 2; case 3 .short _02060AB4 - _020609C6 - 2; case 4 .short _02060AC6 - _020609C6 - 2; case 5 .short _02060AE2 - _020609C6 - 2; case 6 .short _02060AF6 - _020609C6 - 2; case 7 _020609D6: bl FUN_02060C80 add r0, r4, #0x0 bl FUN_02060B0C cmp r0, #0x0 bne _020609E6 _020609E4: b _02060B00 _020609E6: mov r0, #0x2 strb r0, [r4, #0x0] b _02060B00 _020609EC: bl FUN_02060C80 add r0, r4, #0x0 bl FUN_02060B0C add r6, r0, #0x0 ldrb r0, [r4, #0x2] cmp r0, #0x0 bne _02060A2C add r0, r4, #0x0 add r1, r4, #0x0 add r0, #0x10 add r1, #0x14 add r2, r4, #0x2 bl FUN_02060BC8 cmp r0, #0x0 beq _02060B00 ldr r0, [r5, #0x50] mov r1, #0x1 mov r2, #0x0 bl FUN_021DA4EC ldr r0, [r5, #0x50] mov r1, #0x2 mov r2, #0x0 bl FUN_021DA4EC ldr r0, _02060B08 ; =0x000006DE bl FUN_020054C8 b _02060B00 _02060A2C: ldr r0, [r5, #0x50] mov r1, #0x1 bl FUN_021DA58C cmp r0, #0x0 beq _02060B00 ldr r0, [r5, #0x50] mov r1, #0x2 bl FUN_021DA58C cmp r0, #0x0 beq _02060B00 cmp r6, #0x0 beq _02060B00 mov r0, #0x2 strb r0, [r4, #0x0] b _02060B00 _02060A4E: mov r0, #0x6 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r0, #0xb str r0, [sp, #0x8] mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 mov r0, #0x0 mov r1, #0x6 bl FUN_020053CC mov r0, #0x3 strb r0, [r4, #0x0] b _02060B00 _02060A74: bl FUN_0200E308 cmp r0, #0x0 beq _02060A84 bl FUN_02005404 cmp r0, #0x0 beq _02060A8A _02060A84: add sp, #0xc mov r0, #0x0 pop {r3-r6, pc} _02060A8A: mov r0, #0x0 ldr r1, [r4, #0x10] mvn r0, r0 cmp r1, r0 beq _02060AA8 ldr r0, [r5, #0x4c] ldr r1, [r5, #0x50] mov r2, #0x1 bl FUN_021DA54C ldr r0, [r5, #0x4c] ldr r1, [r5, #0x50] mov r2, #0x2 bl FUN_021DA54C _02060AA8: add r0, r6, #0x0 bl FUN_0204AF3C mov r0, #0x4 strb r0, [r4, #0x0] b _02060B00 _02060AB4: ldrb r1, [r4, #0x1] add r2, r4, #0x0 add r0, r5, #0x0 add r2, #0x34 bl FUN_02060924 mov r0, #0x5 strb r0, [r4, #0x0] b _02060B00 _02060AC6: ldr r0, [r4, #0x20] mov r2, #0x0 str r0, [sp, #0x0] ldrb r0, [r4, #0x4] mvn r2, r2 str r0, [sp, #0x4] ldr r1, [r4, #0x18] ldr r3, [r4, #0x1c] add r0, r6, #0x0 bl FUN_020491A8 mov r0, #0x6 strb r0, [r4, #0x0] b _02060B00 _02060AE2: ldr r1, [r4, #0x18] add r0, r5, #0x0 bl FUN_0204AD8C add r0, r6, #0x0 bl FUN_0204B0E8 mov r0, #0x7 strb r0, [r4, #0x0] b _02060B00 _02060AF6: bl FUN_02016A18 add sp, #0xc mov r0, #0x1 pop {r3-r6, pc} _02060B00: mov r0, #0x0 add sp, #0xc pop {r3-r6, pc} nop _02060B08: .word 0x000006DE thumb_func_start FUN_02060B0C FUN_02060B0C: ; 0x02060B0C push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 ldr r1, [r4, #0x30] add r0, sp, #0x0 bl FUN_021E7EA0 ldrb r0, [r4, #0x1] cmp r0, #0x3 bhi _02060B7C add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02060B2C: ; jump table (using 16-bit offset) .short _02060B34 - _02060B2C - 2; case 0 .short _02060B6A - _02060B2C - 2; case 1 .short _02060B58 - _02060B2C - 2; case 2 .short _02060B46 - _02060B2C - 2; case 3 _02060B34: ldr r1, [sp, #0x8] ldr r0, [r4, #0x7c] add r0, r1, r0 str r0, [sp, #0x8] ldr r1, [r4, #0x2c] ldr r0, [r4, #0x7c] add r0, r1, r0 str r0, [r4, #0x2c] b _02060B86 _02060B46: ldr r1, [sp, #0x8] ldr r0, [r4, #0x7c] sub r0, r1, r0 str r0, [sp, #0x8] ldr r1, [r4, #0x2c] ldr r0, [r4, #0x7c] sub r0, r1, r0 str r0, [r4, #0x2c] b _02060B86 _02060B58: ldr r1, [sp, #0x0] ldr r0, [r4, #0x7c] add r0, r1, r0 str r0, [sp, #0x0] ldr r1, [r4, #0x24] ldr r0, [r4, #0x7c] add r0, r1, r0 str r0, [r4, #0x24] b _02060B86 _02060B6A: ldr r1, [sp, #0x0] ldr r0, [r4, #0x7c] sub r0, r1, r0 str r0, [sp, #0x0] ldr r1, [r4, #0x24] ldr r0, [r4, #0x7c] sub r0, r1, r0 str r0, [r4, #0x24] b _02060B86 _02060B7C: bl ErrorHandling add sp, #0xc mov r0, #0x1 pop {r3-r4, pc} _02060B86: mov r0, #0x1 ldr r1, [r4, #0x7c] lsl r0, r0, #0xc cmp r1, r0 bge _02060BA6 ldrb r1, [r4, #0x3] add r1, r1, #0x1 strb r1, [r4, #0x3] ldrb r1, [r4, #0x3] cmp r1, #0x18 blo _02060BA6 ldr r1, [r4, #0x7c] add r0, r1, r0 str r0, [r4, #0x7c] mov r0, #0x0 strb r0, [r4, #0x3] _02060BA6: ldr r0, [r4, #0x30] add r1, sp, #0x0 bl FUN_021E7EB0 ldr r1, [r4, #0x14] ldr r0, [r4, #0x7c] add r1, r1, r0 str r1, [r4, #0x14] ldr r0, [r4, #0xc] cmp r0, r1 bgt _02060BC2 add sp, #0xc mov r0, #0x1 pop {r3-r4, pc} _02060BC2: mov r0, #0x0 add sp, #0xc pop {r3-r4, pc} thumb_func_start FUN_02060BC8 FUN_02060BC8: ; 0x02060BC8 ldr r3, [r0, #0x0] ldr r0, [r1, #0x0] cmp r3, r0 bgt _02060BD6 mov r0, #0x1 strb r0, [r2, #0x0] bx lr _02060BD6: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_02060BDC FUN_02060BDC: ; 0x02060BDC push {r4-r7, lr} sub sp, #0x34 add r5, r0, #0x0 ldr r0, _02060C7C ; =0x020F7640 mov r6, #0x0 ldr r2, [r0, #0x0] ldr r1, [r0, #0x4] str r2, [sp, #0x2c] str r1, [sp, #0x30] ldr r1, [r0, #0x8] ldr r0, [r0, #0xc] str r1, [sp, #0x24] str r0, [sp, #0x28] _02060BF6: lsl r7, r6, #0x2 add r0, sp, #0x2c ldr r4, [r0, r7] mov r2, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r3, r2, #0x0 bl FUN_0204A9F0 cmp r0, #0x0 beq _02060C6A ldr r1, [r5, #0x2c] add r0, r4, #0x0 bl FUN_021F4BD0 ldr r0, [r0, #0x0] blx FUN_020BC13C ldrh r1, [r0, #0xe] add r2, sp, #0x20 mov r3, #0x0 add r1, r0, r1 ldr r1, [r1, #0xc] add r0, r0, r1 str r0, [sp, #0x18] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0204A9F0 cmp r0, #0x0 bne _02060C38 bl ErrorHandling _02060C38: ldr r0, [sp, #0x20] bl FUN_021E7EC8 str r0, [sp, #0x1c] ldr r0, [r5, #0x2c] bl FUN_021F4C88 ldr r1, [sp, #0x1c] add r2, sp, #0x24 str r1, [sp, #0x0] ldr r1, [sp, #0x18] ldr r2, [r2, r7] str r1, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x1 str r0, [sp, #0xc] str r0, [sp, #0x10] mov r0, #0x0 str r0, [sp, #0x14] ldr r0, [r5, #0x4c] ldr r1, [r5, #0x50] add r3, r4, #0x0 bl FUN_021DA464 b _02060C6E _02060C6A: bl ErrorHandling _02060C6E: add r0, r6, #0x1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 cmp r6, #0x2 blo _02060BF6 add sp, #0x34 pop {r4-r7, pc} .balign 4 _02060C7C: .word 0x020F7640 thumb_func_start FUN_02060C80 FUN_02060C80: ; 0x02060C80 push {r3, lr} ldrb r1, [r0, #0x1] cmp r1, #0x2 beq _02060CA8 cmp r1, #0x3 bne _02060CC4 mov r2, #0x2 ldr r1, [r0, #0x8] lsl r2, r2, #0x10 cmp r1, r2 bge _02060CC8 ldr r3, [r0, #0x24] lsr r1, r2, #0x5 add r1, r3, r1 str r1, [r0, #0x24] ldr r3, [r0, #0x8] lsr r1, r2, #0x5 add r1, r3, r1 str r1, [r0, #0x8] pop {r3, pc} _02060CA8: mov r1, #0x3 ldr r2, [r0, #0x8] lsl r1, r1, #0x10 cmp r2, r1 bge _02060CC8 mov r1, #0x2 ldr r2, [r0, #0x2c] lsl r1, r1, #0xa add r2, r2, r1 str r2, [r0, #0x2c] ldr r2, [r0, #0x8] add r1, r2, r1 str r1, [r0, #0x8] pop {r3, pc} _02060CC4: bl ErrorHandling _02060CC8: pop {r3, pc} .balign 4 thumb_func_start FUN_02060CCC FUN_02060CCC: ; 0x02060CCC push {r4-r6, lr} add r5, r0, #0x0 cmp r5, #0x0 ble _02060CD8 cmp r5, #0x5 blt _02060CDC _02060CD8: bl ErrorHandling _02060CDC: sub r1, r5, #0x1 ldr r6, _02060CF4 ; =0x020F767C mov r0, #0xc add r4, r1, #0x0 mul r4, r0 ldr r0, [r6, r4] cmp r0, r5 beq _02060CF0 bl ErrorHandling _02060CF0: add r0, r6, r4 pop {r4-r6, pc} .balign 4 _02060CF4: .word 0x020F767C thumb_func_start FUN_02060CF8 FUN_02060CF8: ; 0x02060CF8 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 bl FUN_02248B6C add r4, r0, #0x0 cmp r4, #0x0 ble _02060D0E ldrh r0, [r5, #0x6] cmp r4, r0 blt _02060D12 _02060D0E: bl ErrorHandling _02060D12: sub r0, r4, #0x1 ldr r1, [r5, #0x8] lsl r0, r0, #0x3 add r0, r1, r0 pop {r3-r5, pc} thumb_func_start FUN_02060D1C FUN_02060D1C: ; 0x02060D1C push {r3-r7, lr} add r6, r1, #0x0 add r7, r2, #0x0 add r5, r3, #0x0 bl FUN_02060CCC ldrh r2, [r0, #0x4] ldr r1, [sp, #0x18] strh r2, [r1, #0x0] add r1, r5, #0x0 bl FUN_02060CF8 ldr r4, [r0, #0x0] cmp r4, #0x0 bne _02060D3E bl ErrorHandling _02060D3E: add r0, r6, #0x0 add r1, r7, #0x0 add r2, r5, #0x0 blx r4 pop {r3-r7, pc} thumb_func_start FUN_02060D48 FUN_02060D48: ; 0x02060D48 push {r3-r5, lr} add r4, r2, #0x0 add r5, r1, #0x0 bl FUN_02060CCC add r1, r4, #0x0 bl FUN_02060CF8 ldr r1, [r0, #0x0] cmp r1, #0x0 bne _02060D62 mov r0, #0x0 pop {r3-r5, pc} _02060D62: ldr r2, [r0, #0x4] cmp r2, #0x0 bne _02060D6C mov r0, #0x1 pop {r3-r5, pc} _02060D6C: add r0, r5, #0x0 add r1, r4, #0x0 blx r2 pop {r3-r5, pc} thumb_func_start FUN_02060D74 FUN_02060D74: ; 0x02060D74 push {r4-r6, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 bl FUN_02022504 add r1, r5, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 bl FUN_0202B4B0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02060D90 FUN_02060D90: ; 0x02060D90 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 mov r0, #0x40 mov r1, #0x4 str r3, [sp, #0x8] bl FUN_020219F4 add r1, r7, #0x0 add r4, r0, #0x0 bl FUN_02021E28 ldr r0, [sp, #0x24] ldr r3, [sp, #0x8] str r0, [sp, #0x0] ldr r0, [sp, #0x20] add r1, r6, #0x0 str r0, [sp, #0x4] add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_0200ABB4 add r0, r4, #0x0 bl FUN_02021A20 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_02060DCC FUN_02060DCC: ; 0x02060DCC push {r4-r7, lr} sub sp, #0xc add r6, r2, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 add r4, r1, #0x0 bl FUN_02248B5C add r7, r0, #0x0 add r0, r6, #0x0 bl FUN_02248B54 str r0, [sp, #0x8] add r0, r6, #0x0 bl FUN_02248B58 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r3, [sp, #0x8] add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 bl FUN_02060D90 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_02060E04 FUN_02060E04: ; 0x02060E04 push {r4-r6, lr} add r3, r0, #0x0 add r5, r1, #0x0 mov r0, #0x40 add r1, r3, #0x0 add r6, r2, #0x0 bl FUN_020219F4 add r4, r0, #0x0 add r0, r6, #0x0 mov r1, #0x76 add r2, r4, #0x0 bl FUN_020671BC add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0xb bl FUN_02021EF0 add r0, r4, #0x0 bl FUN_02021A20 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02060E34 FUN_02060E34: ; 0x02060E34 push {r3-r7, lr} add r4, r1, #0x0 add r6, r2, #0x0 add r5, r0, #0x0 mov r1, #0x5 mov r2, #0x0 add r7, r3, #0x0 bl FUN_020671BC strh r0, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x6f mov r2, #0x0 bl FUN_020671BC strb r0, [r6, #0x0] add r0, r5, #0x0 mov r1, #0xc mov r2, #0x0 bl FUN_020671BC strb r0, [r7, #0x0] add r0, r5, #0x0 mov r1, #0x79 mov r2, #0x0 bl FUN_020671BC ldr r1, [sp, #0x18] strb r0, [r1, #0x0] pop {r3-r7, pc} thumb_func_start FUN_02060E70 FUN_02060E70: ; 0x02060E70 push {r4-r6, lr} sub sp, #0x20 add r5, r0, #0x0 add r4, r1, #0x0 add r0, r2, #0x0 mov r1, #0x4 add r2, sp, #0x8 add r6, r3, #0x0 bl FUN_0200A99C add r0, sp, #0x20 ldrb r0, [r0, #0x10] add r1, r4, #0x0 add r2, sp, #0x8 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r0, r5, #0x0 add r3, r6, #0x0 bl FUN_02060D90 add sp, #0x20 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02060EA0 FUN_02060EA0: ; 0x02060EA0 push {r3-r5, lr} sub sp, #0x20 add r5, r0, #0x0 add r4, r1, #0x0 add r0, r2, #0x0 mov r1, #0x4 add r2, sp, #0x8 bl FUN_0200A99C mov r0, #0x2 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 add r2, sp, #0x8 mov r3, #0x0 bl FUN_02060D90 add sp, #0x20 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02060ECC FUN_02060ECC: ; 0x02060ECC push {r3-r7, lr} add r5, r1, #0x0 add r6, r0, #0x0 add r4, r2, #0x0 add r0, r5, #0x0 mov r1, #0x4d mov r2, #0x0 add r7, r3, #0x0 bl FUN_020671BC strb r0, [r4, #0x0] ldrb r0, [r4, #0x0] cmp r0, #0x0 beq _02060F0C mov r0, #0x40 add r1, r6, #0x0 bl FUN_020219F4 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x76 add r2, r4, #0x0 bl FUN_020671BC add r0, r4, #0x0 add r1, r7, #0x0 mov r2, #0xb bl FUN_02021EF0 add r0, r4, #0x0 bl FUN_02021A20 _02060F0C: pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02060F10 FUN_02060F10: ; 0x02060F10 push {r3-r7, lr} add r7, r1, #0x0 add r5, r2, #0x0 add r6, r3, #0x0 bl FUN_0202B838 add r4, r0, #0x0 mov r0, #0x1 strb r0, [r4, #0x0] add r0, r4, #0x6 str r0, [sp, #0x0] add r0, r7, #0x0 add r1, r4, #0x2 add r2, r4, #0x4 add r3, r4, #0x5 bl FUN_02060E34 strb r5, [r4, #0x8] ldr r0, [sp, #0x18] strb r6, [r4, #0x7] strb r0, [r4, #0x9] pop {r3-r7, pc} thumb_func_start FUN_02060F3C FUN_02060F3C: ; 0x02060F3C push {r3-r6, lr} sub sp, #0x4 add r5, r1, #0x0 add r6, r2, #0x0 bl FUN_0202B844 add r4, r0, #0x0 mov r0, #0x1 strb r0, [r4, #0x0] mov r0, #0x0 strb r0, [r4, #0x1f] add r0, r5, #0x0 bl FUN_02068854 strb r0, [r4, #0x1e] add r0, r4, #0x6 str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r4, #0x2 add r2, r4, #0x4 add r3, r4, #0x5 bl FUN_02060E34 add r0, r5, #0x0 mov r1, #0x4d mov r2, #0x0 bl FUN_020671BC strb r0, [r4, #0x7] add r2, r4, #0x7 add r4, #0x8 add r0, r6, #0x0 add r1, r5, #0x0 add r3, r4, #0x0 bl FUN_02060ECC add sp, #0x4 pop {r3-r6, pc} thumb_func_start FUN_02060F88 FUN_02060F88: ; 0x02060F88 push {r4, lr} add r4, r1, #0x0 bl FUN_0202B844 mov r1, #0x2 strb r1, [r0, #0x1f] add r0, #0x20 strb r4, [r0, #0x0] pop {r4, pc} .balign 4 thumb_func_start FUN_02060F9C FUN_02060F9C: ; 0x02060F9C push {r4, lr} add r4, r1, #0x0 bl FUN_0202B844 mov r1, #0x1 strb r1, [r0, #0x1f] strh r4, [r0, #0x22] pop {r4, pc} thumb_func_start FUN_02060FAC FUN_02060FAC: ; 0x02060FAC push {r4, lr} add r4, r1, #0x0 bl FUN_0202B850 mov r1, #0x1 strb r1, [r0, #0x0] strb r4, [r0, #0x1] pop {r4, pc} thumb_func_start FUN_02060FBC FUN_02060FBC: ; 0x02060FBC push {r3-r5, lr} add r5, r1, #0x0 add r4, r2, #0x0 bl FUN_0202B85C mov r1, #0x1 strb r1, [r0, #0x0] strb r5, [r0, #0x1] strh r4, [r0, #0x2] pop {r3-r5, pc} thumb_func_start FUN_02060FD0 FUN_02060FD0: ; 0x02060FD0 push {r3, lr} bl FUN_0202B868 mov r1, #0x1 strb r1, [r0, #0x0] mov r1, #0x0 strb r1, [r0, #0x7] pop {r3, pc} thumb_func_start FUN_02060FE0 FUN_02060FE0: ; 0x02060FE0 push {r3-r5, lr} add r5, r1, #0x0 bl FUN_0202B868 add r4, r0, #0x0 ldrb r0, [r4, #0x7] cmp r0, #0x0 bne _02061000 add r0, r4, #0x6 str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r4, #0x2 add r2, r4, #0x4 add r3, r4, #0x5 bl FUN_02060E34 _02061000: ldrb r0, [r4, #0x7] add r0, r0, #0x1 strb r0, [r4, #0x7] pop {r3-r5, pc} thumb_func_start FUN_02061008 FUN_02061008: ; 0x02061008 push {r4, lr} mov r1, #0x24 bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x0 add r1, r4, #0x0 mov r2, #0x24 blx MIi_CpuClearFast add r0, r4, #0x0 pop {r4, pc} thumb_func_start FUN_02061020 FUN_02061020: ; 0x02061020 ldr r3, _02061024 ; =FUN_02016A18 bx r3 .balign 4 _02061024: .word FUN_02016A18 thumb_func_start FUN_02061028 FUN_02061028: ; 0x02061028 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 mov r0, #0x0 add r1, r5, #0x0 mov r2, #0x24 add r7, r3, #0x0 blx MIi_CpuClear32 str r6, [r5, #0x0] add r0, r5, #0x0 add r2, r5, #0x0 add r3, r5, #0x0 strh r7, [r5, #0x4] add r0, #0xa str r0, [sp, #0x0] add r0, r4, #0x0 add r1, r5, #0x6 add r2, #0x8 add r3, #0x9 bl FUN_02060E34 add r0, r4, #0x0 mov r1, #0x9a mov r2, #0x0 bl FUN_020671BC strh r0, [r5, #0x22] ldrh r0, [r5, #0x22] cmp r0, #0x0 bne _0206106C bl ErrorHandling _0206106C: add r2, r5, #0x0 add r5, #0xc ldr r0, [sp, #0x18] add r1, r4, #0x0 add r2, #0xb add r3, r5, #0x0 bl FUN_02060ECC pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02061080 FUN_02061080: ; 0x02061080 push {r3-r7, lr} sub sp, #0x28 add r7, sp, #0x0 add r5, r2, #0x0 add r6, r0, #0x0 add r3, r1, #0x0 add r4, r7, #0x0 mov r2, #0x4 _02061090: ldmia r3!, {r0-r1} stmia r4!, {r0-r1} sub r2, r2, #0x1 bne _02061090 ldr r0, [r3, #0x0] str r0, [r4, #0x0] str r5, [sp, #0x0] add r0, sp, #0x0 ldrh r0, [r0, #0x4] cmp r0, #0x0 beq _020610F0 ldrh r1, [r7, #0x4] ldr r0, _020610F4 ; =0x000003E7 cmp r1, r0 bls _020610B0 strh r0, [r7, #0x4] _020610B0: cmp r5, #0x6 bhi _020610F0 add r0, r5, r5 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020610C0: ; jump table (using 16-bit offset) .short _020610F0 - _020610C0 - 2; case 0 .short _020610DE - _020610C0 - 2; case 1 .short _020610F0 - _020610C0 - 2; case 2 .short _020610F0 - _020610C0 - 2; case 3 .short _020610CE - _020610C0 - 2; case 4 .short _020610DE - _020610C0 - 2; case 5 .short _020610DE - _020610C0 - 2; case 6 _020610CE: add r0, r6, #0x0 mov r1, #0x2 mov r2, #0x1 add r3, r7, #0x0 bl FUN_02060D74 add sp, #0x28 pop {r3-r7, pc} _020610DE: ldrh r0, [r7, #0x4] cmp r0, #0x2 bls _020610F0 mov r1, #0x2 add r0, r6, #0x0 add r2, r1, #0x0 add r3, r7, #0x0 bl FUN_02060D74 _020610F0: add sp, #0x28 pop {r3-r7, pc} .balign 4 _020610F4: .word 0x000003E7 thumb_func_start FUN_020610F8 FUN_020610F8: ; 0x020610F8 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r0, r6, #0x0 add r5, r1, #0x0 bl FUN_02248B60 add r4, r0, #0x0 ldrb r0, [r4, #0xb] cmp r0, #0x0 beq _02061166 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrb r0, [r4, #0x9] mov r1, #0x1 str r0, [sp, #0x0] ldrb r0, [r4, #0xa] str r0, [sp, #0x4] ldrh r2, [r4, #0x6] ldrb r3, [r4, #0x8] add r0, r5, #0x0 bl FUN_02060E70 ldrh r2, [r4, #0x22] add r0, r5, #0x0 mov r1, #0x2 bl FUN_0200AE38 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r1, #0x3 ldrh r2, [r4, #0x4] add r0, r5, #0x0 add r3, r1, #0x0 bl FUN_0200AD38 ldrb r0, [r4, #0x9] add r2, r4, #0x0 mov r1, #0x4 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldrb r3, [r4, #0x8] add r0, r5, #0x0 add r2, #0xc bl FUN_02060D90 add sp, #0x8 mov r0, #0x0 pop {r4-r6, pc} _02061166: add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrb r0, [r4, #0x9] mov r1, #0x1 str r0, [sp, #0x0] ldrb r0, [r4, #0xa] str r0, [sp, #0x4] ldrh r2, [r4, #0x6] ldrb r3, [r4, #0x8] add r0, r5, #0x0 bl FUN_02060E70 ldrh r2, [r4, #0x22] add r0, r5, #0x0 mov r1, #0x2 bl FUN_0200AE38 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r1, #0x3 ldrh r2, [r4, #0x4] add r0, r5, #0x0 add r3, r1, #0x0 bl FUN_0200AD38 mov r0, #0x1 add sp, #0x8 pop {r4-r6, pc} thumb_func_start FUN_020611A8 FUN_020611A8: ; 0x020611A8 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC mov r0, #0x0 str r0, [sp, #0x0] mov r1, #0x1 str r1, [sp, #0x4] ldrh r2, [r4, #0x4] add r0, r5, #0x0 mov r3, #0x3 bl FUN_0200AD38 ldr r0, [r4, #0x0] cmp r0, #0x1 bne _020611E0 add sp, #0x8 mov r0, #0x2 pop {r4-r6, pc} _020611E0: mov r0, #0x3 add sp, #0x8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020611E8 FUN_020611E8: ; 0x020611E8 push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 bl FUN_02024DA0 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02248B60 add r1, r0, #0x0 ldrh r1, [r1, #0x6] add r0, r4, #0x0 bl FUN_020245F0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02061208 FUN_02061208: ; 0x02061208 push {r4-r7, lr} sub sp, #0x2c add r5, r1, #0x0 add r7, r0, #0x0 add r4, r2, #0x0 add r6, sp, #0x4 cmp r5, #0x0 beq _02061228 add r0, r6, #0x4 str r0, [sp, #0x0] add r0, r3, #0x0 add r1, r6, #0x0 add r2, r6, #0x2 add r3, r6, #0x3 bl FUN_02060E34 _02061228: strh r4, [r6, #0x6] add r0, r7, #0x0 mov r1, #0x2 mov r2, #0x3 add r3, r6, #0x0 str r5, [r6, #0x8] bl FUN_02060D74 add sp, #0x2c pop {r4-r7, pc} thumb_func_start FUN_0206123C FUN_0206123C: ; 0x0206123C push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldr r0, [r4, #0x8] cmp r0, #0x0 beq _02061280 ldrh r2, [r4, #0x6] add r0, r5, #0x0 mov r1, #0x1 bl FUN_0200AE38 ldrb r0, [r4, #0x3] mov r1, #0x2 str r0, [sp, #0x0] ldrb r0, [r4, #0x4] str r0, [sp, #0x4] ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 bl FUN_02060E70 add sp, #0x8 mov r0, #0x4 pop {r4-r6, pc} _02061280: mov r0, #0x5 add sp, #0x8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02061288 FUN_02061288: ; 0x02061288 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r4, #0x8] cmp r0, #0x0 bne _0206129E mov r0, #0x1 pop {r3-r5, pc} _0206129E: ldr r0, [r5, #0xc] bl FUN_02024DA0 ldrh r1, [r4, #0x0] bl FUN_020245F0 pop {r3-r5, pc} thumb_func_start FUN_020612AC FUN_020612AC: ; 0x020612AC push {r4-r6, lr} sub sp, #0x28 add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 bl FUN_0202881C add r6, r0, #0x0 mov r0, #0x0 add r1, sp, #0x0 mov r2, #0x28 blx MIi_CpuClearFast add r0, r6, #0x0 mov r1, #0x1 mov r2, #0x0 bl FUN_020287A8 add r1, r0, #0x0 add r0, sp, #0x0 mov r2, #0xb bl StringCopyN add r0, r5, #0x0 mov r1, #0x2 add r2, r4, #0x0 add r3, sp, #0x0 bl FUN_02060D74 add sp, #0x28 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020612EC FUN_020612EC: ; 0x020612EC ldr r3, _020612F4 ; =FUN_020612AC mov r1, #0x14 bx r3 nop _020612F4: .word FUN_020612AC thumb_func_start FUN_020612F8 FUN_020612F8: ; 0x020612F8 ldr r3, _02061300 ; =FUN_020612AC mov r1, #0x4 bx r3 nop _02061300: .word FUN_020612AC thumb_func_start FUN_02061304 FUN_02061304: ; 0x02061304 push {r4-r6, lr} sub sp, #0x8 add r4, r2, #0x0 add r0, r4, #0x0 add r5, r1, #0x0 bl FUN_02248B60 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_02248B58 str r0, [sp, #0x0] mov r1, #0x1 add r0, r5, #0x0 add r2, r6, #0x0 mov r3, #0x0 str r1, [sp, #0x4] bl FUN_02060D90 add r0, r5, #0x0 mov r1, #0x0 add r2, r4, #0x0 bl FUN_02060DCC mov r0, #0x6 add sp, #0x8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0206133C FUN_0206133C: ; 0x0206133C push {r4-r6, lr} sub sp, #0x8 add r4, r2, #0x0 add r0, r4, #0x0 add r5, r1, #0x0 bl FUN_02248B60 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_02248B58 str r0, [sp, #0x0] mov r1, #0x1 add r0, r5, #0x0 add r2, r6, #0x0 mov r3, #0x0 str r1, [sp, #0x4] bl FUN_02060D90 add r0, r5, #0x0 mov r1, #0x0 add r2, r4, #0x0 bl FUN_02060DCC mov r0, #0x20 add sp, #0x8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02061374 FUN_02061374: ; 0x02061374 push {r4, lr} sub sp, #0x28 add r4, r0, #0x0 add r0, sp, #0x0 strh r1, [r0, #0x0] ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] bl FUN_02034824 add r1, sp, #0x0 strh r0, [r1, #0x2] add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x6 add r3, sp, #0x0 bl FUN_02060D74 add sp, #0x28 pop {r4, pc} .balign 4 thumb_func_start FUN_0206139C FUN_0206139C: ; 0x0206139C push {r4-r6, lr} add r6, r2, #0x0 add r0, r6, #0x0 add r5, r1, #0x0 bl FUN_02248B60 add r4, r0, #0x0 ldrh r2, [r4, #0x2] add r0, r5, #0x0 mov r1, #0x0 bl FUN_0200AFF4 add r0, r5, #0x0 mov r1, #0x1 add r2, r6, #0x0 bl FUN_02060DCC ldrh r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x2 bl FUN_0200AE38 mov r0, #0xa pop {r4-r6, pc} thumb_func_start FUN_020613CC FUN_020613CC: ; 0x020613CC push {r3-r4, lr} sub sp, #0x2c add r4, r0, #0x0 add r0, sp, #0x8 add r2, sp, #0x4 add r3, sp, #0x4 str r0, [sp, #0x0] add r0, r1, #0x0 add r1, sp, #0x4 add r2, #0x2 add r3, #0x3 bl FUN_02060E34 ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] bl FUN_02034824 add r1, sp, #0x4 strh r0, [r1, #0x6] add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x8 add r3, sp, #0x4 bl FUN_02060D74 add sp, #0x2c pop {r3-r4, pc} .balign 4 thumb_func_start FUN_02061404 FUN_02061404: ; 0x02061404 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r0, r6, #0x0 add r5, r1, #0x0 bl FUN_02248B60 add r4, r0, #0x0 ldrh r2, [r4, #0x6] add r0, r5, #0x0 mov r1, #0x1 bl FUN_0200AFF4 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrb r0, [r4, #0x3] mov r1, #0x2 str r0, [sp, #0x0] ldrb r0, [r4, #0x4] str r0, [sp, #0x4] ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 bl FUN_02060E70 mov r0, #0xc add sp, #0x8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02061444 FUN_02061444: ; 0x02061444 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02024DA0 ldrh r1, [r4, #0x0] bl FUN_020245F0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02061460 FUN_02061460: ; 0x02061460 push {r4-r5, lr} sub sp, #0x2c add r5, r0, #0x0 add r4, r1, #0x0 add r0, sp, #0x8 add r2, sp, #0x4 add r3, sp, #0x4 str r0, [sp, #0x0] add r0, r4, #0x0 add r1, sp, #0x4 add r2, #0x2 add r3, #0x3 bl FUN_02060E34 add r1, sp, #0x8 mov r0, #0x4 add r1, #0x2 add r2, r4, #0x0 bl FUN_02060E04 add r0, r5, #0x0 mov r1, #0x2 mov r2, #0xa add r3, sp, #0x4 bl FUN_02060D74 add sp, #0x2c pop {r4-r5, pc} thumb_func_start FUN_02061498 FUN_02061498: ; 0x02061498 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrb r0, [r4, #0x3] mov r1, #0x1 str r0, [sp, #0x0] ldrb r0, [r4, #0x4] str r0, [sp, #0x4] ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 bl FUN_02060E70 ldrb r0, [r4, #0x3] mov r1, #0x2 add r2, r4, #0x6 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldrb r3, [r4, #0x2] add r0, r5, #0x0 bl FUN_02060D90 bl FUN_0201B9EC ldr r1, _020614F8 ; =0x00003334 blx _s32_div_f lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x5 blo _020614F0 bl ErrorHandling _020614F0: add r4, #0x11 add r0, r4, #0x0 add sp, #0x8 pop {r4-r6, pc} .balign 4 _020614F8: .word 0x00003334 thumb_func_start FUN_020614FC FUN_020614FC: ; 0x020614FC push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 bl FUN_02024DA0 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02248B60 add r1, r0, #0x0 ldrh r1, [r1, #0x0] add r0, r4, #0x0 bl FUN_020245F0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0206151C FUN_0206151C: ; 0x0206151C push {r3, lr} sub sp, #0x28 add r3, sp, #0x0 strh r1, [r3, #0x0] strh r2, [r3, #0x2] mov r1, #0x2 mov r2, #0xd add r3, sp, #0x0 bl FUN_02060D74 add sp, #0x28 pop {r3, pc} thumb_func_start FUN_02061534 FUN_02061534: ; 0x02061534 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrh r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x1 bl FUN_0200B164 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldrh r2, [r4, #0x2] add r0, r5, #0x0 mov r1, #0x2 mov r3, #0x3 bl FUN_0200AD38 mov r0, #0x18 add sp, #0x8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02061574 FUN_02061574: ; 0x02061574 push {r3-r5, lr} sub sp, #0x28 add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, sp, #0x0 bl FUN_02022504 bl FUN_0202B868 ldrb r1, [r0, #0x7] cmp r1, #0x0 beq _020615AC ldrh r1, [r0, #0x2] mov r2, #0xf add r3, r4, #0x0 strh r1, [r4, #0x0] ldrb r1, [r0, #0x4] strb r1, [r4, #0x2] ldrb r1, [r0, #0x5] strb r1, [r4, #0x3] ldrb r1, [r0, #0x6] strb r1, [r4, #0x4] ldrb r0, [r0, #0x7] mov r1, #0x2 strb r0, [r4, #0x5] add r0, r5, #0x0 bl FUN_02060D74 _020615AC: add sp, #0x28 pop {r3-r5, pc} thumb_func_start FUN_020615B0 FUN_020615B0: ; 0x020615B0 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrb r0, [r4, #0x3] mov r1, #0x1 str r0, [sp, #0x0] ldrb r0, [r4, #0x4] str r0, [sp, #0x4] ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 bl FUN_02060E70 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r1, #0x2 ldrb r2, [r4, #0x5] add r0, r5, #0x0 add r3, r1, #0x0 bl FUN_0200AD38 mov r0, #0x1a add sp, #0x8 pop {r4-r6, pc} thumb_func_start FUN_020615F8 FUN_020615F8: ; 0x020615F8 push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 bl FUN_02024DA0 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02248B60 add r1, r0, #0x0 ldrh r1, [r1, #0x0] add r0, r4, #0x0 bl FUN_020245F0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02061618 FUN_02061618: ; 0x02061618 push {r4-r5, lr} sub sp, #0x2c add r5, r0, #0x0 add r4, r2, #0x0 add r0, sp, #0x8 add r2, sp, #0x4 add r3, sp, #0x4 str r0, [sp, #0x0] add r0, r1, #0x0 add r1, sp, #0x4 add r2, #0x2 add r3, #0x3 bl FUN_02060E34 add r0, sp, #0x4 strh r4, [r0, #0x6] add r0, r5, #0x0 mov r1, #0x2 mov r2, #0x11 add r3, sp, #0x4 bl FUN_0202B4B0 add sp, #0x2c pop {r4-r5, pc} thumb_func_start FUN_02061648 FUN_02061648: ; 0x02061648 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrb r0, [r4, #0x3] mov r1, #0x1 str r0, [sp, #0x0] ldrb r0, [r4, #0x4] str r0, [sp, #0x4] ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 bl FUN_02060E70 ldrh r2, [r4, #0x6] add r0, r5, #0x0 mov r1, #0x2 bl FUN_0200AE38 mov r0, #0x1d add sp, #0x8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02061688 FUN_02061688: ; 0x02061688 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02024DA0 ldrh r1, [r4, #0x0] bl FUN_020245F0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020616A4 FUN_020616A4: ; 0x020616A4 push {r3-r5, lr} sub sp, #0x28 add r4, sp, #0x0 strh r1, [r4, #0x0] strb r2, [r4, #0x2] add r5, sp, #0x0 strh r3, [r4, #0x4] cmp r2, #0x5 bne _020616C4 mov r1, #0x3 mov r2, #0x6 add r3, r5, #0x0 bl FUN_02060D74 add sp, #0x28 pop {r3-r5, pc} _020616C4: cmp r2, #0x4 bne _020616D6 mov r1, #0x2 mov r2, #0x12 add r3, r5, #0x0 bl FUN_02060D74 add sp, #0x28 pop {r3-r5, pc} _020616D6: cmp r2, #0x0 bne _020616E4 mov r1, #0x2 mov r2, #0x13 add r3, r5, #0x0 bl FUN_02060D74 _020616E4: add sp, #0x28 pop {r3-r5, pc} thumb_func_start FUN_020616E8 FUN_020616E8: ; 0x020616E8 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrh r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x1 bl FUN_0200AE38 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r1, #0x2 ldrh r2, [r4, #0x4] add r0, r5, #0x0 add r3, r1, #0x0 bl FUN_0200AD38 mov r0, #0x1e add sp, #0x8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02061728 FUN_02061728: ; 0x02061728 push {r4-r6, lr} add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrh r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x1 bl FUN_0200AE38 mov r0, #0x1f pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02061750 FUN_02061750: ; 0x02061750 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrh r0, [r4, #0x0] mov r1, #0x4 sub r0, #0x95 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_020852E8 add r4, r0, #0x0 mov r1, #0x1 str r1, [sp, #0x0] mov r0, #0x2 str r0, [sp, #0x4] add r0, r5, #0x0 add r2, r4, #0x0 mov r3, #0x0 bl FUN_0200ABB4 add r0, r4, #0x0 bl FUN_02021A20 mov r0, #0x5 add sp, #0x8 pop {r4-r6, pc} thumb_func_start FUN_02061798 FUN_02061798: ; 0x02061798 push {r4-r5, lr} sub sp, #0x2c add r5, r0, #0x0 add r0, sp, #0x4 add r4, r1, #0x0 strb r2, [r0, #0x6] bl FUN_0201BA60 mov r1, #0x3 blx _u32_div_f add r0, sp, #0x4 strb r1, [r0, #0x5] add r0, sp, #0x8 add r2, sp, #0x4 add r3, sp, #0x4 str r0, [sp, #0x0] add r0, r4, #0x0 add r1, sp, #0x4 add r2, #0x2 add r3, #0x3 bl FUN_02060E34 add r0, r5, #0x0 mov r1, #0x2 mov r2, #0x15 add r3, sp, #0x4 bl FUN_0202B4B0 add sp, #0x2c pop {r4-r5, pc} .balign 4 thumb_func_start FUN_020617D8 FUN_020617D8: ; 0x020617D8 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrb r2, [r4, #0x6] add r0, r5, #0x0 mov r1, #0x1 bl FUN_0200B534 ldrb r0, [r4, #0x3] mov r1, #0x2 str r0, [sp, #0x0] ldrb r0, [r4, #0x4] str r0, [sp, #0x4] ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 bl FUN_02060E70 bl FUN_0201B9EC ldr r1, _02061830 ; =0x00005556 blx _s32_div_f lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x3 blo _02061826 bl ErrorHandling _02061826: add r4, #0x21 add r0, r4, #0x0 add sp, #0x8 pop {r4-r6, pc} nop _02061830: .word 0x00005556 thumb_func_start FUN_02061834 FUN_02061834: ; 0x02061834 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02024DA0 ldrh r1, [r4, #0x0] bl FUN_020245F0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02061850 FUN_02061850: ; 0x02061850 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02023924 str r0, [r5, #0x0] add r0, r4, #0x0 add r1, r5, #0x4 bl FUN_0202393C pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02061868 FUN_02061868: ; 0x02061868 push {r4-r6, lr} add r6, r2, #0x0 add r0, r6, #0x0 add r5, r1, #0x0 bl FUN_02248B60 add r4, r0, #0x0 bl FUN_02023924 ldr r1, [r4, #0x0] cmp r1, r0 beq _02061884 bl ErrorHandling _02061884: add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC add r0, r5, #0x0 mov r1, #0x1 add r2, r4, #0x4 bl FUN_0200ABC0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0206189C FUN_0206189C: ; 0x0206189C push {r4, lr} sub sp, #0x28 add r4, r0, #0x0 add r0, sp, #0x0 bl FUN_02061850 add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x16 add r3, sp, #0x0 bl FUN_02060D74 add sp, #0x28 pop {r4, pc} thumb_func_start FUN_020618B8 FUN_020618B8: ; 0x020618B8 push {r4, lr} sub sp, #0x28 add r4, r0, #0x0 add r0, sp, #0x0 bl FUN_02061850 add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x17 add r3, sp, #0x0 bl FUN_02060D74 add sp, #0x28 pop {r4, pc} thumb_func_start FUN_020618D4 FUN_020618D4: ; 0x020618D4 push {r3, lr} bl FUN_02061868 mov r0, #0x24 pop {r3, pc} .balign 4 thumb_func_start FUN_020618E0 FUN_020618E0: ; 0x020618E0 push {r3, lr} bl FUN_02061868 mov r0, #0x25 pop {r3, pc} .balign 4 thumb_func_start FUN_020618EC FUN_020618EC: ; 0x020618EC push {r3, lr} ldr r0, [r0, #0xc] bl FUN_0206F158 mov r1, #0x6b lsl r1, r1, #0x2 mov r2, #0x1 mov r3, #0x20 bl FUN_0206EE50 pop {r3, pc} .balign 4 thumb_func_start FUN_02061904 FUN_02061904: ; 0x02061904 push {r3-r6, lr} sub sp, #0x2c add r6, r0, #0x0 add r0, sp, #0x8 add r5, r1, #0x0 add r4, r3, #0x0 add r0, #0x2 add r1, sp, #0x4 add r3, sp, #0x8 str r0, [sp, #0x0] add r0, r2, #0x0 add r1, #0x2 add r2, sp, #0x8 add r3, #0x1 bl FUN_02060E34 add r0, sp, #0x4 strh r5, [r0, #0x0] strb r4, [r0, #0x7] add r0, r6, #0x0 mov r1, #0x3 mov r2, #0x1 add r3, sp, #0x4 bl FUN_02060D74 add sp, #0x2c pop {r3-r6, pc} .balign 4 thumb_func_start FUN_0206193C FUN_0206193C: ; 0x0206193C push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrb r0, [r4, #0x5] mov r1, #0x1 str r0, [sp, #0x0] ldrb r0, [r4, #0x6] str r0, [sp, #0x4] ldrh r2, [r4, #0x2] ldrb r3, [r4, #0x4] add r0, r5, #0x0 bl FUN_02060E70 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldrh r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x2 mov r3, #0x4 bl FUN_0200AD38 ldrb r0, [r4, #0x7] cmp r0, #0x0 bne _0206198A add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _0206198A: mov r0, #0x0 add sp, #0x8 pop {r4-r6, pc} thumb_func_start FUN_02061990 FUN_02061990: ; 0x02061990 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02024DA0 ldrh r1, [r4, #0x2] bl FUN_020245F0 cmp r0, #0x0 bne _020619B0 mov r0, #0x0 pop {r3-r5, pc} _020619B0: ldr r0, [r5, #0xc] bl FUN_020462AC mov r1, #0x2 mov r2, #0x11 bl FUN_0205F2E4 pop {r3-r5, pc} thumb_func_start FUN_020619C0 FUN_020619C0: ; 0x020619C0 push {r4-r5, lr} sub sp, #0x2c add r5, r0, #0x0 add r0, sp, #0x8 str r0, [sp, #0x0] add r0, r2, #0x0 add r2, sp, #0x4 add r3, sp, #0x4 add r4, r1, #0x0 add r1, sp, #0x4 add r2, #0x2 add r3, #0x3 bl FUN_02060E34 mov r1, #0x3 add r0, r5, #0x0 add r2, r1, #0x0 add r3, sp, #0x4 str r4, [sp, #0xc] bl FUN_02060D74 add sp, #0x2c pop {r4-r5, pc} .balign 4 thumb_func_start FUN_020619F0 FUN_020619F0: ; 0x020619F0 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrb r0, [r4, #0x3] mov r1, #0x1 str r0, [sp, #0x0] ldrb r0, [r4, #0x4] str r0, [sp, #0x4] ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 bl FUN_02060E70 mov r0, #0xfa ldr r1, [r4, #0x8] lsl r0, r0, #0x2 mul r0, r1 mov r1, #0xfe blx _u32_div_f add r0, r0, #0x5 mov r1, #0xa blx _u32_div_f mov r1, #0xa add r4, r0, #0x0 blx _u32_div_f add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x2 mov r3, #0x3 bl FUN_0200AD38 add r0, r4, #0x0 mov r1, #0xa blx _u32_div_f mov r0, #0x0 add r2, r1, #0x0 str r0, [sp, #0x0] mov r3, #0x1 add r0, r5, #0x0 mov r1, #0x3 str r3, [sp, #0x4] bl FUN_0200AD38 mov r0, #0x2 add sp, #0x8 pop {r4-r6, pc} thumb_func_start FUN_02061A70 FUN_02061A70: ; 0x02061A70 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02024DA0 ldrh r1, [r4, #0x0] bl FUN_020245F0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02061A8C FUN_02061A8C: ; 0x02061A8C push {r3-r5, lr} sub sp, #0x28 mov r4, #0xfa lsl r4, r4, #0x2 add r4, r1, r4 add r5, sp, #0x0 cmp r2, r4 blo _02061AAC str r1, [r5, #0x0] str r2, [r5, #0x4] str r3, [r5, #0x8] mov r1, #0x3 mov r2, #0x4 add r3, r5, #0x0 bl FUN_02060D74 _02061AAC: add sp, #0x28 pop {r3-r5, pc} thumb_func_start FUN_02061AB0 FUN_02061AB0: ; 0x02061AB0 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC mov r0, #0x0 str r0, [sp, #0x0] mov r1, #0x1 str r1, [sp, #0x4] ldr r2, [r4, #0x8] add r0, r5, #0x0 mov r3, #0xa bl FUN_0200AD38 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x2 mov r3, #0x6 bl FUN_0200AD38 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r2, [r4, #0x4] add r0, r5, #0x0 mov r1, #0x3 mov r3, #0x6 bl FUN_0200AD38 mov r0, #0x3 add sp, #0x8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02061B0C FUN_02061B0C: ; 0x02061B0C push {r3, lr} sub sp, #0x28 add r3, sp, #0x0 strh r1, [r3, #0x0] strh r2, [r3, #0x2] mov r1, #0x3 mov r2, #0x8 add r3, sp, #0x0 bl FUN_02060D74 add sp, #0x28 pop {r3, pc} thumb_func_start FUN_02061B24 FUN_02061B24: ; 0x02061B24 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrh r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x1 bl FUN_0200B1D4 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldrh r2, [r4, #0x2] add r0, r5, #0x0 mov r1, #0x2 mov r3, #0x3 bl FUN_0200AD38 mov r0, #0x7 add sp, #0x8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02061B64 FUN_02061B64: ; 0x02061B64 push {r3, lr} sub sp, #0x28 add r2, sp, #0x0 add r3, sp, #0x0 strh r1, [r2, #0x0] cmp r1, #0x1 bls _02061B7A mov r1, #0x3 mov r2, #0x9 bl FUN_02060D74 _02061B7A: add sp, #0x28 pop {r3, pc} .balign 4 thumb_func_start FUN_02061B80 FUN_02061B80: ; 0x02061B80 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC mov r0, #0x0 str r0, [sp, #0x0] mov r1, #0x1 str r1, [sp, #0x4] ldrh r2, [r4, #0x0] add r0, r5, #0x0 mov r3, #0x3 bl FUN_0200AD38 mov r0, #0x8 add sp, #0x8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02061BB4 FUN_02061BB4: ; 0x02061BB4 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_0206F158 mov r1, #0x6b lsl r1, r1, #0x2 mov r2, #0x1 mov r3, #0x20 bl FUN_0206EE50 pop {r3, pc} .balign 4 thumb_func_start FUN_02061BCC FUN_02061BCC: ; 0x02061BCC push {r3-r5, lr} sub sp, #0x28 add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 bl FUN_02022504 bl FUN_0202B85C ldrh r2, [r0, #0x0] add r1, sp, #0x0 add r3, sp, #0x0 strh r2, [r1, #0x0] ldrh r2, [r0, #0x2] strh r2, [r1, #0x2] mov r2, #0x0 strb r2, [r0, #0x0] strh r4, [r1, #0x4] add r0, r5, #0x0 mov r1, #0x1 mov r2, #0x2 bl FUN_02060D74 add sp, #0x28 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02061C00 FUN_02061C00: ; 0x02061C00 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r0, r6, #0x0 add r5, r1, #0x0 bl FUN_02248B60 mov r1, #0x0 add r4, r0, #0x0 str r1, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldrh r2, [r4, #0x2] add r0, r5, #0x0 mov r3, #0x4 bl FUN_0200AD38 add r0, r5, #0x0 mov r1, #0x1 add r2, r6, #0x0 bl FUN_02060DCC ldrh r2, [r4, #0x4] add r0, r5, #0x0 mov r1, #0x2 bl FUN_0200B518 ldrb r0, [r4, #0x1] cmp r0, #0x1 bne _02061C42 add sp, #0x8 mov r0, #0x8 pop {r4-r6, pc} _02061C42: mov r0, #0x9 add sp, #0x8 pop {r4-r6, pc} thumb_func_start FUN_02061C48 FUN_02061C48: ; 0x02061C48 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_020462AC mov r1, #0x2 mov r2, #0x11 bl FUN_0205F2E4 pop {r3, pc} .balign 4 thumb_func_start FUN_02061C5C FUN_02061C5C: ; 0x02061C5C push {r3-r6, lr} sub sp, #0x2c add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 bl FUN_0206BB1C bl FUN_0204A20C add r1, sp, #0x8 add r2, sp, #0x4 add r3, sp, #0x4 str r1, [sp, #0x0] add r1, sp, #0x4 add r2, #0x2 add r3, #0x3 add r6, r0, #0x0 bl FUN_02060E34 add r2, sp, #0x8 add r3, sp, #0x8 mov r0, #0x20 add r1, r6, #0x0 add r2, #0x1 add r3, #0x2 bl FUN_02060ECC add r0, sp, #0x4 strh r4, [r0, #0x1c] add r0, r5, #0x0 mov r1, #0x1 mov r2, #0x4 add r3, sp, #0x4 bl FUN_02060D74 add sp, #0x2c pop {r3-r6, pc} .balign 4 thumb_func_start FUN_02061CA8 FUN_02061CA8: ; 0x02061CA8 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r0, r6, #0x0 add r5, r1, #0x0 bl FUN_02248B60 add r4, r0, #0x0 ldrb r0, [r4, #0x5] cmp r0, #0x0 beq _02061D00 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrb r0, [r4, #0x3] mov r1, #0x1 str r0, [sp, #0x0] ldrb r0, [r4, #0x4] str r0, [sp, #0x4] ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 bl FUN_02060E70 ldrb r0, [r4, #0x3] mov r1, #0x2 add r2, r4, #0x6 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldrb r3, [r4, #0x2] add r0, r5, #0x0 bl FUN_02060D90 ldrh r2, [r4, #0x1c] add r0, r5, #0x0 mov r1, #0x3 bl FUN_0200B518 add sp, #0x8 mov r0, #0xa pop {r4-r6, pc} _02061D00: add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrb r0, [r4, #0x3] mov r1, #0x1 str r0, [sp, #0x0] ldrb r0, [r4, #0x4] str r0, [sp, #0x4] ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 bl FUN_02060E70 ldrh r2, [r4, #0x1c] add r0, r5, #0x0 mov r1, #0x3 bl FUN_0200B518 mov r0, #0xb add sp, #0x8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02061D30 FUN_02061D30: ; 0x02061D30 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02024DA0 ldrh r1, [r4, #0x0] bl FUN_020245F0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02061D4C FUN_02061D4C: ; 0x02061D4C push {r3-r5, lr} sub sp, #0x28 add r5, r0, #0x0 ldr r0, [r5, #0x4] add r4, r1, #0x0 ldr r0, [r0, #0x14] bl FUN_02252538 str r0, [sp, #0x0] add r0, sp, #0x0 strh r4, [r0, #0x4] add r0, r5, #0x0 mov r1, #0x1 mov r2, #0x6 add r3, sp, #0x0 bl FUN_02060D74 add sp, #0x28 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02061D74 FUN_02061D74: ; 0x02061D74 push {r4-r6, lr} add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldr r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x1 bl FUN_0200B02C ldrh r2, [r4, #0x4] add r0, r5, #0x0 mov r1, #0x2 bl FUN_0200B518 mov r0, #0x10 pop {r4-r6, pc} thumb_func_start FUN_02061DA4 FUN_02061DA4: ; 0x02061DA4 push {r3-r5, lr} sub sp, #0x28 add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 bl FUN_02022504 bl FUN_0202B838 ldrh r2, [r0, #0x0] add r1, sp, #0x0 add r3, sp, #0x0 strh r2, [r1, #0x0] ldrh r2, [r0, #0x2] strh r2, [r1, #0x2] ldrh r2, [r0, #0x4] strh r2, [r1, #0x4] ldrh r2, [r0, #0x6] strh r2, [r1, #0x6] ldrh r2, [r0, #0x8] strh r2, [r1, #0x8] mov r2, #0x0 strb r2, [r0, #0x0] strh r4, [r1, #0xa] add r0, r5, #0x0 mov r1, #0x1 mov r2, #0x7 bl FUN_02060D74 add sp, #0x28 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02061DE4 FUN_02061DE4: ; 0x02061DE4 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r0, r6, #0x0 add r5, r1, #0x0 bl FUN_02248B60 add r4, r0, #0x0 ldrb r0, [r4, #0x5] mov r1, #0x0 str r0, [sp, #0x0] ldrb r0, [r4, #0x6] str r0, [sp, #0x4] ldrh r2, [r4, #0x2] ldrb r3, [r4, #0x4] add r0, r5, #0x0 bl FUN_02060E70 ldrb r0, [r4, #0x8] bl FUN_02083298 add r2, r0, #0x0 add r0, r5, #0x0 mov r1, #0x1 bl FUN_0200B2AC ldrb r0, [r4, #0x7] bl FUN_02083268 add r2, r0, #0x0 add r0, r5, #0x0 mov r1, #0x2 bl FUN_0200B278 mov r0, #0x0 str r0, [sp, #0x0] mov r3, #0x1 str r3, [sp, #0x4] ldrb r2, [r4, #0x9] add r0, r5, #0x0 mov r1, #0x3 bl FUN_0200AD38 add r0, r5, #0x0 mov r1, #0x4 add r2, r6, #0x0 bl FUN_02060DCC ldrh r2, [r4, #0xa] add r0, r5, #0x0 mov r1, #0x5 bl FUN_0200B518 ldrb r0, [r4, #0x9] cmp r0, #0x1 bne _02061E5A add sp, #0x8 mov r0, #0x12 pop {r4-r6, pc} _02061E5A: mov r0, #0x11 add sp, #0x8 pop {r4-r6, pc} thumb_func_start FUN_02061E60 FUN_02061E60: ; 0x02061E60 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02024DA0 ldrh r1, [r4, #0x2] bl FUN_020245F0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02061E7C FUN_02061E7C: ; 0x02061E7C push {r4, lr} sub sp, #0x28 add r4, r0, #0x0 add r0, sp, #0x0 strh r1, [r0, #0x2] ldr r0, [r4, #0xc] bl FUN_02027E24 mov r1, #0x0 bl FUN_02027008 bl FUN_020275D8 add r1, sp, #0x0 strh r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0x1 mov r2, #0x9 add r3, sp, #0x0 bl FUN_02060D74 add sp, #0x28 pop {r4, pc} .balign 4 thumb_func_start FUN_02061EAC FUN_02061EAC: ; 0x02061EAC push {r4-r6, lr} add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrh r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x1 bl FUN_02060EA0 ldrh r2, [r4, #0x2] add r0, r5, #0x0 mov r1, #0x2 bl FUN_0200B518 mov r0, #0x14 pop {r4-r6, pc} thumb_func_start FUN_02061EDC FUN_02061EDC: ; 0x02061EDC push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02024DA0 ldrh r1, [r4, #0x0] bl FUN_020245F0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02061EF8 FUN_02061EF8: ; 0x02061EF8 push {r3, lr} sub sp, #0x28 str r1, [sp, #0x0] mov r1, #0x1 mov r2, #0xa add r3, sp, #0x0 bl FUN_02060D74 add sp, #0x28 pop {r3, pc} thumb_func_start FUN_02061F0C FUN_02061F0C: ; 0x02061F0C push {r4-r6, lr} add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldr r0, [r4, #0x0] add r0, #0x14 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02061F2C FUN_02061F2C: ; 0x02061F2C push {r3-r5, lr} sub sp, #0x28 add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 bl FUN_02022504 bl FUN_0202B850 ldrb r2, [r0, #0x0] add r1, sp, #0x0 add r3, sp, #0x0 strb r2, [r1, #0x0] ldrb r2, [r0, #0x1] strb r2, [r1, #0x1] strh r4, [r1, #0x2] mov r1, #0x0 strb r1, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x1 mov r2, #0xb bl FUN_02060D74 add sp, #0x28 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02061F60 FUN_02061F60: ; 0x02061F60 push {r3-r7, lr} add r7, r2, #0x0 add r0, r7, #0x0 add r5, r1, #0x0 bl FUN_02248B60 add r6, r0, #0x0 ldrb r4, [r6, #0x1] add r0, r5, #0x0 mov r1, #0x0 add r2, r7, #0x0 bl FUN_02060DCC add r0, r5, #0x0 mov r1, #0x1 add r2, r4, #0x0 bl FUN_0200B628 ldrh r2, [r6, #0x2] add r0, r5, #0x0 mov r1, #0x2 bl FUN_0200B518 sub r4, #0x19 cmp r4, #0x3 bhi _02061FB8 add r0, r4, r4 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02061FA0: ; jump table (using 16-bit offset) .short _02061FA8 - _02061FA0 - 2; case 0 .short _02061FAC - _02061FA0 - 2; case 1 .short _02061FB0 - _02061FA0 - 2; case 2 .short _02061FB4 - _02061FA0 - 2; case 3 _02061FA8: mov r0, #0x27 pop {r3-r7, pc} _02061FAC: mov r0, #0x28 pop {r3-r7, pc} _02061FB0: mov r0, #0x29 pop {r3-r7, pc} _02061FB4: mov r0, #0x2a pop {r3-r7, pc} _02061FB8: mov r0, #0x26 pop {r3-r7, pc} thumb_func_start FUN_02061FBC FUN_02061FBC: ; 0x02061FBC push {r4-r6, lr} sub sp, #0x28 add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 bl FUN_02022504 bl FUN_0202B844 add r6, r0, #0x0 add r3, sp, #0x0 mov r2, #0x12 _02061FD4: ldrh r1, [r6, #0x0] add r6, r6, #0x2 strh r1, [r3, #0x0] add r3, r3, #0x2 sub r2, r2, #0x1 bne _02061FD4 add r1, sp, #0x0 strh r4, [r1, #0x24] mov r1, #0x0 strb r1, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x1 mov r2, #0xd add r3, sp, #0x0 bl FUN_02060D74 add sp, #0x28 pop {r4-r6, pc} thumb_func_start FUN_02061FF8 FUN_02061FF8: ; 0x02061FF8 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 bl FUN_02060DCC ldrb r0, [r4, #0x5] mov r1, #0x1 str r0, [sp, #0x0] ldrb r0, [r4, #0x6] str r0, [sp, #0x4] ldrh r2, [r4, #0x2] ldrb r3, [r4, #0x4] add r0, r5, #0x0 bl FUN_02060E70 ldrb r2, [r4, #0x1e] add r0, r5, #0x0 mov r1, #0x2 bl FUN_0200AE04 ldrh r2, [r4, #0x24] add r0, r5, #0x0 mov r1, #0x5 bl FUN_0200B518 ldrb r0, [r4, #0x1f] cmp r0, #0x0 beq _0206204A cmp r0, #0x1 beq _02062062 cmp r0, #0x2 beq _02062050 b _02062072 _0206204A: add sp, #0x8 mov r0, #0x2d pop {r4-r6, pc} _02062050: add r4, #0x20 ldrb r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x3 bl FUN_0200B660 add sp, #0x8 mov r0, #0x2c pop {r4-r6, pc} _02062062: ldrh r2, [r4, #0x22] add r0, r5, #0x0 mov r1, #0x3 bl FUN_0200AE38 add sp, #0x8 mov r0, #0x2e pop {r4-r6, pc} _02062072: mov r0, #0x2d add sp, #0x8 pop {r4-r6, pc} thumb_func_start FUN_02062078 FUN_02062078: ; 0x02062078 push {r3-r7, lr} mov r6, #0x0 ldr r5, _0206209C ; =0x020F7650 add r7, r0, #0x0 add r4, r6, #0x0 _02062082: ldrb r1, [r5, #0x0] add r0, r7, #0x0 bl FUN_02028828 cmp r0, #0x0 beq _02062090 add r4, r4, #0x1 _02062090: add r6, r6, #0x1 add r5, r5, #0x1 cmp r6, #0x5 blo _02062082 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 _0206209C: .word 0x020F7650 thumb_func_start FUN_020620A0 FUN_020620A0: ; 0x020620A0 push {r3-r7, lr} sub sp, #0x10 str r0, [sp, #0x4] ldr r0, [r0, #0xc] str r1, [sp, #0x8] bl FUN_0202881C add r7, r0, #0x0 bl FUN_02062078 add r4, r0, #0x0 cmp r4, #0x0 bgt _020620BE bl ErrorHandling _020620BE: cmp r4, #0x1 ble _020620D0 bl FUN_0201BA60 add r1, r4, #0x0 blx _u32_div_f add r5, r1, #0x0 b _020620D2 _020620D0: mov r5, #0x0 _020620D2: ldr r4, _02062154 ; =0x020F7650 mov r6, #0x0 _020620D6: ldrb r1, [r4, #0x0] add r0, r7, #0x0 bl FUN_02028828 cmp r0, #0x0 beq _020620F0 cmp r5, #0x0 bne _020620EE ldr r0, _02062154 ; =0x020F7650 ldrb r0, [r0, r6] str r0, [sp, #0xc] b _020620F8 _020620EE: sub r5, r5, #0x1 _020620F0: add r6, r6, #0x1 add r4, r4, #0x1 cmp r6, #0x5 blo _020620D6 _020620F8: cmp r5, #0x0 beq _02062100 bl ErrorHandling _02062100: bl FUN_0201B9EC mov r1, #0xf1 lsl r1, r1, #0x4 blx _s32_div_f lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x11 blo _02062118 bl ErrorHandling _02062118: cmp r4, #0x9 blt _0206211E add r4, r4, #0x1 _0206211E: mov r0, #0x1 str r0, [sp, #0x0] ldr r1, [sp, #0x4] ldr r0, [sp, #0x8] ldr r1, [r1, #0xc] ldr r2, [sp, #0xc] mov r3, #0x0 bl FUN_0200B708 mov r0, #0x0 str r0, [sp, #0x0] ldr r1, [sp, #0x4] ldr r0, [sp, #0x8] ldr r1, [r1, #0xc] ldr r2, [sp, #0xc] mov r3, #0x1 bl FUN_0200B708 ldr r0, [sp, #0x8] mov r1, #0x2 add r2, r4, #0x0 bl FUN_0200AF18 mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} nop _02062154: .word 0x020F7650 thumb_func_start FUN_02062158 FUN_02062158: ; 0x02062158 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_0202881C bl FUN_02062078 cmp r0, #0x0 beq _0206216C mov r0, #0x1 pop {r3, pc} _0206216C: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_02062170 FUN_02062170: ; 0x02062170 push {r3-r7, lr} add r6, r0, #0x0 add r7, r1, #0x0 bl FUN_0201B9EC ldr r1, _02062234 ; =0x00003334 blx _s32_div_f lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x5 blo _0206218C bl ErrorHandling _0206218C: ldr r0, _02062238 ; =0x02105FBC lsl r1, r4, #0x1 ldrh r5, [r0, r1] add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_02034FE4 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02034824 add r2, r0, #0x0 add r0, r7, #0x0 mov r1, #0x0 bl FUN_0200AFF4 cmp r4, #0xb bhi _0206222C add r0, r4, r4 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020621BC: ; jump table (using 16-bit offset) .short _020621D4 - _020621BC - 2; case 0 .short _0206220C - _020621BC - 2; case 1 .short _02062210 - _020621BC - 2; case 2 .short _02062214 - _020621BC - 2; case 3 .short _02062224 - _020621BC - 2; case 4 .short _02062218 - _020621BC - 2; case 5 .short _0206221C - _020621BC - 2; case 6 .short _02062220 - _020621BC - 2; case 7 .short _0206222C - _020621BC - 2; case 8 .short _0206222C - _020621BC - 2; case 9 .short _0206222C - _020621BC - 2; case 10 .short _02062228 - _020621BC - 2; case 11 _020621D4: bl FUN_0201B9EC lsl r0, r0, #0x2 lsr r4, r0, #0x10 cmp r4, #0x4 blo _020621E4 bl ErrorHandling _020621E4: cmp r4, #0x3 bhi _0206220C add r0, r4, r4 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020621F4: ; jump table (using 16-bit offset) .short _020621FC - _020621F4 - 2; case 0 .short _02062200 - _020621F4 - 2; case 1 .short _02062204 - _020621F4 - 2; case 2 .short _02062208 - _020621F4 - 2; case 3 _020621FC: mov r0, #0x1 pop {r3-r7, pc} _02062200: mov r0, #0x2 pop {r3-r7, pc} _02062204: mov r0, #0x3 pop {r3-r7, pc} _02062208: mov r0, #0x4 pop {r3-r7, pc} _0206220C: mov r0, #0x5 pop {r3-r7, pc} _02062210: mov r0, #0x6 pop {r3-r7, pc} _02062214: mov r0, #0x7 pop {r3-r7, pc} _02062218: mov r0, #0x8 pop {r3-r7, pc} _0206221C: mov r0, #0x9 pop {r3-r7, pc} _02062220: mov r0, #0xa pop {r3-r7, pc} _02062224: mov r0, #0xb pop {r3-r7, pc} _02062228: mov r0, #0xc pop {r3-r7, pc} _0206222C: bl ErrorHandling mov r0, #0x1 pop {r3-r7, pc} .balign 4 _02062234: .word 0x00003334 _02062238: .word 0x02105FBC thumb_func_start FUN_0206223C FUN_0206223C: ; 0x0206223C mov r0, #0x1 bx lr thumb_func_start FUN_02062240 FUN_02062240: ; 0x02062240 push {r3-r4, lr} sub sp, #0x4 ldr r0, [r0, #0xc] add r4, r1, #0x0 bl FUN_0202A9B0 mov r1, #0x2 bl FUN_0202A990 add r1, sp, #0x0 add r1, #0x2 add r2, sp, #0x0 bl FUN_02245910 add r0, sp, #0x0 ldrh r0, [r0, #0x2] bl FUN_02034824 add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x0 bl FUN_0200AFF4 add r2, sp, #0x0 ldrh r2, [r2, #0x0] add r0, r4, #0x0 mov r1, #0x1 bl FUN_02060EA0 mov r0, #0x1c add sp, #0x4 pop {r3-r4, pc} thumb_func_start FUN_02062280 FUN_02062280: ; 0x02062280 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_0202A9B0 bl FUN_0202AA14 pop {r3, pc} .balign 4 thumb_func_start FUN_02062290 FUN_02062290: ; 0x02062290 push {r3-r4} ldr r4, _020622BC ; =0x020F78A4 mov r3, #0x0 _02062296: ldrb r2, [r4, #0x0] cmp r0, r2 bne _020622AE ldrb r2, [r4, #0x1] cmp r1, r2 bne _020622AE lsl r0, r3, #0x1 add r1, r3, r0 ldr r0, _020622C0 ; =0x020F78A6 ldrb r0, [r0, r1] pop {r3-r4} bx lr _020622AE: add r3, r3, #0x1 add r4, r4, #0x3 cmp r3, #0x6e blo _02062296 mov r0, #0x3 pop {r3-r4} bx lr .balign 4 _020622BC: .word 0x020F78A4 _020622C0: .word 0x020F78A6 thumb_func_start FUN_020622C4 FUN_020622C4: ; 0x020622C4 push {r4-r6, lr} add r6, r1, #0x0 bl FUN_0201B9EC mov r1, #0xf1 lsl r1, r1, #0x4 blx _s32_div_f lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0x11 blo _020622E0 bl ErrorHandling _020622E0: cmp r5, #0x9 blt _020622E6 add r5, r5, #0x1 _020622E6: bl FUN_0201B9EC mov r1, #0xf1 lsl r1, r1, #0x4 blx _s32_div_f lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x11 blo _020622FE bl ErrorHandling _020622FE: cmp r4, #0x9 blt _02062304 add r4, r4, #0x1 _02062304: add r0, r6, #0x0 mov r1, #0x0 add r2, r5, #0x0 bl FUN_0200AF18 add r0, r6, #0x0 mov r1, #0x1 add r2, r4, #0x0 bl FUN_0200AF18 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02062290 cmp r0, #0x3 bhi _0206233C add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02062330: ; jump table (using 16-bit offset) .short _02062344 - _02062330 - 2; case 0 .short _02062340 - _02062330 - 2; case 1 .short _02062338 - _02062330 - 2; case 2 .short _0206233C - _02062330 - 2; case 3 _02062338: mov r0, #0x1e pop {r4-r6, pc} _0206233C: mov r0, #0x1f pop {r4-r6, pc} _02062340: mov r0, #0x20 pop {r4-r6, pc} _02062344: mov r0, #0x21 pop {r4-r6, pc} thumb_func_start FUN_02062348 FUN_02062348: ; 0x02062348 mov r0, #0x1 bx lr thumb_func_start FUN_0206234C FUN_0206234C: ; 0x0206234C push {r3-r7, lr} sub sp, #0x88 ldr r0, [r0, #0xc] bl FUN_020462AC ldr r4, _020623E8 ; =0x020F7658 add r7, r0, #0x0 mov r6, #0x0 add r5, sp, #0x0 _0206235E: ldrh r2, [r4, #0x0] add r0, r7, #0x0 mov r1, #0x2 bl FUN_0205F2E4 strb r0, [r5, #0x0] add r6, r6, #0x1 add r4, r4, #0x2 add r5, r5, #0x1 cmp r6, #0x12 blo _0206235E mov r3, #0x0 add r2, sp, #0x10 ldr r0, _020623EC ; =0x020F79EE add r4, r3, #0x0 add r1, r3, #0x0 add r2, #0x2 add r6, sp, #0x0 _02062382: lsl r5, r1, #0x1 ldrh r5, [r0, r5] ldrb r5, [r6, r5] cmp r5, #0x0 beq _02062392 strb r3, [r2, #0x0] add r2, r2, #0x1 add r4, r4, #0x1 _02062392: add r3, r3, #0x1 add r1, r1, #0x2 cmp r3, #0x76 blo _02062382 lsl r0, r4, #0x10 lsr r0, r0, #0x10 bne _020623A4 bl ErrorHandling _020623A4: lsl r0, r4, #0x10 lsr r0, r0, #0x10 cmp r0, #0x1 bhi _020623B0 mov r5, #0x0 b _020623DE _020623B0: bl FUN_0201B9EC add r5, r0, #0x0 lsl r1, r4, #0x10 ldr r0, _020623F0 ; =0x0000FFFF lsr r1, r1, #0x10 blx _s32_div_f add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 blx _s32_div_f lsl r0, r0, #0x10 lsr r5, r0, #0x10 lsl r0, r4, #0x10 lsr r0, r0, #0x10 cmp r5, r0 blo _020623DE bl ErrorHandling _020623DE: add r0, sp, #0x10 add r0, #0x2 ldrb r0, [r0, r5] add sp, #0x88 pop {r3-r7, pc} .balign 4 _020623E8: .word 0x020F7658 _020623EC: .word 0x020F79EE _020623F0: .word 0x0000FFFF thumb_func_start FUN_020623F4 FUN_020623F4: ; 0x020623F4 push {r4-r6, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] add r5, r1, #0x0 bl FUN_02024ECC add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_0206234C add r4, r0, #0x0 lsl r0, r4, #0x1 add r0, r0, #0x1 lsl r1, r0, #0x1 ldr r0, _0206245C ; =0x020F79EE ldrh r0, [r0, r1] bl FUN_02034824 add r2, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_0200AFF4 add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_02025238 cmp r0, #0x5 bhi _02062456 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0206243A: ; jump table (using 16-bit offset) .short _02062456 - _0206243A - 2; case 0 .short _02062456 - _0206243A - 2; case 1 .short _02062452 - _0206243A - 2; case 2 .short _0206244E - _0206243A - 2; case 3 .short _0206244A - _0206243A - 2; case 4 .short _02062446 - _0206243A - 2; case 5 _02062446: mov r0, #0x23 pop {r4-r6, pc} _0206244A: mov r0, #0x24 pop {r4-r6, pc} _0206244E: mov r0, #0x25 pop {r4-r6, pc} _02062452: mov r0, #0x26 pop {r4-r6, pc} _02062456: mov r0, #0x27 pop {r4-r6, pc} nop _0206245C: .word 0x020F79EE thumb_func_start FUN_02062460 FUN_02062460: ; 0x02062460 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_020462AC mov r1, #0x2 mov r2, #0x9 bl FUN_0205F2E4 pop {r3, pc} .balign 4 thumb_func_start FUN_02062474 FUN_02062474: ; 0x02062474 push {r3-r6, lr} sub sp, #0xc mov r0, #0x4 add r6, r1, #0x0 str r0, [sp, #0x0] add r0, sp, #0x8 mov r1, #0x7e mov r2, #0x2 mov r3, #0x0 bl FUN_02006548 ldr r0, [sp, #0x8] lsl r0, r0, #0x10 lsr r4, r0, #0x10 bne _02062496 bl ErrorHandling _02062496: cmp r4, #0x1 bhi _0206249E mov r5, #0x0 b _020624C6 _0206249E: bl FUN_0201B9EC add r5, r0, #0x0 ldr r0, _02062504 ; =0x0000FFFF add r1, r4, #0x0 blx _s32_div_f add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 blx _s32_div_f lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, r4 blo _020624C6 bl ErrorHandling _020624C6: lsl r4, r5, #0x2 add r0, sp, #0x4 mov r2, #0x2 add r0, #0x2 mov r1, #0x7e add r3, r4, #0x4 str r2, [sp, #0x0] bl FUN_02006548 mov r2, #0x2 add r0, sp, #0x4 mov r1, #0x7e add r3, r4, #0x6 str r2, [sp, #0x0] bl FUN_02006548 add r2, sp, #0x4 ldrh r2, [r2, #0x2] add r0, r6, #0x0 mov r1, #0x0 bl FUN_02060EA0 add r2, sp, #0x4 ldrh r2, [r2, #0x0] add r0, r6, #0x0 mov r1, #0x1 bl FUN_0200AE38 mov r0, #0x2a add sp, #0xc pop {r3-r6, pc} .balign 4 _02062504: .word 0x0000FFFF thumb_func_start FUN_02062508 FUN_02062508: ; 0x02062508 mov r0, #0x1 bx lr thumb_func_start FUN_0206250C FUN_0206250C: ; 0x0206250C push {r4-r6, lr} mov r4, #0x0 add r6, r0, #0x0 add r5, r4, #0x0 _02062514: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_02027098 cmp r0, #0x1 bne _02062522 add r5, r5, #0x1 _02062522: add r4, r4, #0x1 cmp r4, #0xb blt _02062514 add r0, r5, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0206252C FUN_0206252C: ; 0x0206252C push {r4-r7, lr} sub sp, #0xc ldr r0, [r0, #0xc] add r7, r1, #0x0 bl FUN_02027E24 add r6, r0, #0x0 bl FUN_0206250C add r4, r0, #0x0 cmp r4, #0x1 ble _02062552 bl FUN_0201BA60 add r1, r4, #0x0 blx _u32_div_f add r5, r1, #0x0 b _02062554 _02062552: mov r5, #0x0 _02062554: mov r4, #0x0 _02062556: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_02027098 cmp r0, #0x1 bne _0206256C cmp r5, #0x0 bne _0206256A str r4, [sp, #0x8] b _02062572 _0206256A: sub r5, r5, #0x1 _0206256C: add r4, r4, #0x1 cmp r4, #0xb blt _02062556 _02062572: cmp r4, #0xb blt _0206257A bl ErrorHandling _0206257A: ldr r1, [sp, #0x8] add r0, r6, #0x0 bl FUN_02027008 add r5, r0, #0x0 mov r0, #0x8 mov r1, #0x4 bl FUN_020219F4 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0202763C add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02027608 add r0, r5, #0x0 bl FUN_020276A8 mov r1, #0x1 str r1, [sp, #0x0] str r0, [sp, #0x4] add r0, r7, #0x0 mov r1, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 bl FUN_0200ABB4 add r0, r4, #0x0 bl FUN_02021A20 add r0, r5, #0x0 bl FUN_0202769C add r2, r0, #0x0 add r0, r7, #0x0 mov r1, #0x1 bl FUN_0200B518 mov r0, #0x32 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_020625D4 FUN_020625D4: ; 0x020625D4 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_02027E24 bl FUN_0206250C cmp r0, #0x0 beq _020625E8 mov r0, #0x1 pop {r3, pc} _020625E8: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_020625EC FUN_020625EC: ; 0x020625EC push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 str r2, [sp, #0x0] mov r0, #0x3 mov r1, #0x50 lsl r2, r0, #0xd ldr r6, [r5, #0xc] bl FUN_0201681C mov r1, #0x2d mov r0, #0x50 lsl r1, r1, #0x4 bl FUN_02016998 mov r2, #0x2d mov r1, #0x0 lsl r2, r2, #0x4 add r4, r0, #0x0 blx MI_CpuFill8 mov r0, #0x50 str r0, [r4, #0x0] ldr r0, [sp, #0x0] mov r1, #0x3 blx _s32_div_f strb r1, [r4, #0x16] ldr r0, [sp, #0x0] mov r1, #0x3 blx _s32_div_f strb r0, [r4, #0x17] ldrb r0, [r4, #0x16] bl FUN_0202B870 strb r0, [r4, #0x18] ldrb r0, [r4, #0x16] bl FUN_0202B87C strb r0, [r4, #0x19] add r0, r4, #0x0 add r0, #0xcc str r5, [r0, #0x0] add r0, r4, #0x0 ldr r1, [r5, #0x8] add r0, #0xd0 str r1, [r0, #0x0] add r0, r6, #0x0 bl FUN_0202B8E4 mov r1, #0x2a lsl r1, r1, #0x4 str r0, [r4, r1] add r0, r6, #0x0 bl LoadPlayerDataAddress bl FUN_02024FF4 strh r0, [r4, #0x1a] add r0, r6, #0x0 bl LoadPlayerDataAddress bl FUN_02025084 strh r0, [r4, #0x1c] str r4, [r7, #0x8] mov r0, #0x1 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02062678 FUN_02062678: ; 0x02062678 push {r3-r7, lr} sub sp, #0x8 ldr r4, [r0, #0x8] mov r0, #0x0 str r0, [sp, #0x4] ldrb r0, [r4, #0x18] cmp r0, #0x0 ble _020626FE ldr r0, [sp, #0x4] str r0, [sp, #0x0] _0206268C: mov r0, #0xb lsl r0, r0, #0x6 ldr r2, [r4, r0] ldr r0, [sp, #0x0] mov r6, #0x0 add r1, r2, r0 ldr r0, [r2, r0] add r7, r6, #0x0 cmp r0, #0x0 ble _020626EC add r5, r6, #0x0 _020626A2: add r0, r1, #0x4 add r1, r0, r5 ldrb r0, [r1, #0x6] mov r12, r0 cmp r0, #0xff beq _020626D6 ldrh r0, [r1, #0x4] cmp r0, #0x0 bne _020626D6 ldrb r2, [r4, #0x17] ldrb r3, [r4, #0x19] mov r1, #0xd mul r1, r2 add r2, r3, r1 ldr r1, [sp, #0x4] mov r0, #0x2a add r1, r1, r2 mov r2, r12 lsl r0, r0, #0x4 sub r2, r2, r6 lsl r2, r2, #0x18 ldr r0, [r4, r0] lsr r2, r2, #0x18 bl FUN_0202B8F0 add r6, r6, #0x1 _020626D6: mov r0, #0xb lsl r0, r0, #0x6 ldr r0, [r4, r0] ldr r1, [sp, #0x0] ldr r2, [sp, #0x0] add r1, r1, r0 ldr r0, [r2, r0] add r7, r7, #0x1 add r5, #0x8 cmp r7, r0 blt _020626A2 _020626EC: ldr r0, [sp, #0x0] ldrb r1, [r4, #0x18] add r0, #0x3c str r0, [sp, #0x0] ldr r0, [sp, #0x4] add r0, r0, #0x1 str r0, [sp, #0x4] cmp r0, r1 blt _0206268C _020626FE: add r0, r4, #0x0 ldr r5, [r4, #0x0] bl FUN_02016A18 mov r2, #0x2d add r0, r4, #0x0 mov r1, #0x0 lsl r2, r2, #0x4 blx MI_CpuFill8 add r0, r5, #0x0 bl FUN_020168D0 mov r0, #0xc add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02062720 FUN_02062720: ; 0x02062720 push {r4, lr} add r4, r0, #0x0 bl FUN_02062A70 add r0, r4, #0x0 bl FUN_02062C80 add r0, r4, #0x0 bl FUN_02062DB0 add r0, r4, #0x0 bl FUN_02062F3C mov r0, #0x2 pop {r4, pc} .balign 4 thumb_func_start FUN_02062740 FUN_02062740: ; 0x02062740 push {r4, lr} add r4, r0, #0x0 bl FUN_02062FFC add r0, r4, #0x0 bl FUN_02062EC4 add r0, r4, #0x0 bl FUN_02062D38 add r0, r4, #0x0 bl FUN_02062C4C mov r0, #0xb pop {r4, pc} .balign 4 thumb_func_start FUN_02062760 FUN_02062760: ; 0x02062760 push {r3, lr} ldrh r1, [r0, #0x22] ldrh r2, [r0, #0x24] bl FUN_02063028 mov r0, #0x3 pop {r3, pc} .balign 4 thumb_func_start FUN_02062770 FUN_02062770: ; 0x02062770 push {r4, lr} add r4, r0, #0x0 add r0, #0xc0 ldr r0, [r0, #0x0] bl FUN_02001204 ldr r1, _020627C8 ; =0x021C48B8 ldr r3, [r1, #0x48] mov r1, #0x2 tst r1, r3 beq _02062790 add r0, r4, #0x0 bl FUN_02063178 mov r0, #0xa pop {r4, pc} _02062790: mov r2, #0x1 add r1, r3, #0x0 tst r1, r2 bne _0206279C mov r0, #0x3 pop {r4, pc} _0206279C: sub r1, r2, #0x3 cmp r0, r1 beq _020627AE sub r1, r2, #0x2 cmp r0, r1 beq _020627AE ldr r1, _020627CC ; =0x0000FFFF cmp r0, r1 bne _020627B8 _020627AE: add r0, r4, #0x0 bl FUN_02063178 mov r0, #0xa pop {r4, pc} _020627B8: strb r0, [r4, #0x1f] mov r0, #0x0 strh r0, [r4, #0x28] add r0, r4, #0x0 bl FUN_02063178 mov r0, #0x4 pop {r4, pc} .balign 4 _020627C8: .word 0x021C48B8 _020627CC: .word 0x0000FFFF thumb_func_start FUN_020627D0 FUN_020627D0: ; 0x020627D0 push {r3, lr} ldrh r1, [r0, #0x28] bl FUN_02063430 mov r0, #0x5 pop {r3, pc} thumb_func_start FUN_020627DC FUN_020627DC: ; 0x020627DC push {r3, lr} ldr r1, _02062804 ; =0x021C48B8 ldr r2, [r1, #0x48] mov r1, #0x3 tst r1, r2 beq _020627F0 bl FUN_020634DC mov r0, #0x2 pop {r3, pc} _020627F0: mov r1, #0x4 tst r1, r2 beq _020627FE bl FUN_02063238 mov r0, #0x6 pop {r3, pc} _020627FE: mov r0, #0x5 pop {r3, pc} nop _02062804: .word 0x021C48B8 thumb_func_start FUN_02062808 FUN_02062808: ; 0x02062808 push {r4, lr} ldr r1, _020628B8 ; =0x021C48B8 mov r2, #0x2 ldr r1, [r1, #0x48] add r4, r0, #0x0 tst r2, r1 beq _0206281E bl FUN_02063264 mov r0, #0x5 pop {r4, pc} _0206281E: mov r0, #0x1 tst r0, r1 beq _0206285C mov r0, #0x0 str r0, [r4, #0xc] mov r0, #0xb lsl r0, r0, #0x6 ldrb r2, [r4, #0x1f] mov r1, #0x3c ldr r3, [r4, r0] mul r1, r2 add r1, r3, r1 add r3, r1, #0x4 ldrh r1, [r4, #0x28] add r2, r4, r1 add r1, r0, #0x0 add r1, #0x8 ldrb r1, [r2, r1] lsl r1, r1, #0x3 add r2, r3, r1 add r1, r0, #0x4 str r2, [r4, r1] add r0, r0, #0x4 ldr r0, [r4, r0] ldrb r0, [r0, #0x6] cmp r0, #0xff bne _02062858 mov r0, #0x8 pop {r4, pc} _02062858: mov r0, #0x7 pop {r4, pc} _0206285C: mov r0, #0x40 tst r0, r1 beq _02062882 ldrh r0, [r4, #0x28] cmp r0, #0x0 beq _02062882 sub r0, r0, #0x1 strh r0, [r4, #0x28] ldrh r2, [r4, #0x28] mov r0, #0xa6 lsl r0, r0, #0x2 lsl r2, r2, #0x4 add r2, #0x10 lsl r2, r2, #0x10 ldr r0, [r4, r0] mov r1, #0x7e asr r2, r2, #0x10 bl FUN_0200C714 _02062882: ldr r0, _020628B8 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x80 tst r0, r1 beq _020628B4 add r0, r4, #0x0 add r0, #0x21 ldrb r0, [r0, #0x0] ldrh r1, [r4, #0x28] sub r0, r0, #0x1 cmp r1, r0 bge _020628B4 add r0, r1, #0x1 strh r0, [r4, #0x28] ldrh r2, [r4, #0x28] mov r0, #0xa6 lsl r0, r0, #0x2 lsl r2, r2, #0x4 add r2, #0x10 lsl r2, r2, #0x10 ldr r0, [r4, r0] mov r1, #0x7e asr r2, r2, #0x10 bl FUN_0200C714 _020628B4: mov r0, #0x6 pop {r4, pc} .balign 4 _020628B8: .word 0x021C48B8 thumb_func_start FUN_020628BC FUN_020628BC: ; 0x020628BC push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, _020628E0 ; =0x020F7BC8 str r0, [sp, #0x0] add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] ldr r2, _020628E4 ; =0x000003D9 mov r3, #0xb bl FUN_02002198 add r4, #0xc8 str r0, [r4, #0x0] add sp, #0x4 pop {r3-r4, pc} nop _020628E0: .word 0x020F7BC8 _020628E4: .word 0x000003D9 thumb_func_start FUN_020628E8 FUN_020628E8: ; 0x020628E8 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x3 bgt _0206290C cmp r1, #0x0 blt _020629CE add r2, r1, r1 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _02062904: ; jump table (using 16-bit offset) .short _02062912 - _02062904 - 2; case 0 .short _0206294E - _02062904 - 2; case 1 .short _02062966 - _02062904 - 2; case 2 .short _0206298C - _02062904 - 2; case 3 _0206290C: cmp r1, #0xff beq _020629B2 b _020629CE _02062912: add r0, #0xe4 mov r1, #0xff bl FUN_02019620 mov r3, #0x0 str r3, [sp, #0x0] ldrh r0, [r4, #0x1a] add r2, r4, #0x0 add r2, #0x98 str r0, [sp, #0x4] ldr r0, _020629D4 ; =0x0001020F mov r1, #0x1 str r0, [sp, #0x8] str r3, [sp, #0xc] add r0, r4, #0x0 ldr r2, [r2, #0x0] add r0, #0xe4 bl FUN_0201BDE0 strb r0, [r4, #0x1e] mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x2 bl FUN_0200C66C ldr r0, [r4, #0xc] add r0, r0, #0x1 str r0, [r4, #0xc] b _020629CE _0206294E: ldrb r0, [r4, #0x1e] bl FUN_0201BD70 cmp r0, #0x0 bne _020629CE add r0, r4, #0x0 bl FUN_020628BC ldr r0, [r4, #0xc] add r0, r0, #0x1 str r0, [r4, #0xc] b _020629CE _02062966: add r0, #0xc8 ldr r0, [r0, #0x0] ldr r1, [r4, #0x0] bl FUN_020021AC cmp r0, #0x0 beq _0206297E mov r1, #0x1 mvn r1, r1 cmp r0, r1 beq _02062986 b _020629CE _0206297E: ldr r0, [r4, #0xc] add r0, r0, #0x1 str r0, [r4, #0xc] b _020629CE _02062986: mov r0, #0xff str r0, [r4, #0xc] b _020629CE _0206298C: mov r1, #0xb1 lsl r1, r1, #0x2 ldr r1, [r4, r1] mov r2, #0x0 strh r2, [r1, #0x4] mov r1, #0x1 bl FUN_020632A4 mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 bl FUN_0200C66C mov r0, #0x0 str r0, [r4, #0xc] add sp, #0x10 mov r0, #0x6 pop {r4, pc} _020629B2: add r0, r4, #0x0 bl FUN_02063208 mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 bl FUN_0200C66C mov r0, #0x0 str r0, [r4, #0xc] add sp, #0x10 mov r0, #0x6 pop {r4, pc} _020629CE: mov r0, #0x7 add sp, #0x10 pop {r4, pc} .balign 4 _020629D4: .word 0x0001020F thumb_func_start FUN_020629D8 FUN_020629D8: ; 0x020629D8 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 beq _020629EE cmp r1, #0x1 beq _02062A2A cmp r1, #0x2 beq _02062A3C b _02062A60 _020629EE: add r0, #0xe4 mov r1, #0xff bl FUN_02019620 mov r3, #0x0 str r3, [sp, #0x0] ldrh r0, [r4, #0x1a] add r2, r4, #0x0 add r2, #0x9c str r0, [sp, #0x4] ldr r0, _02062A68 ; =0x0001020F mov r1, #0x1 str r0, [sp, #0x8] str r3, [sp, #0xc] add r0, r4, #0x0 ldr r2, [r2, #0x0] add r0, #0xe4 bl FUN_0201BDE0 strb r0, [r4, #0x1e] mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x2 bl FUN_0200C66C ldr r0, [r4, #0xc] add r0, r0, #0x1 str r0, [r4, #0xc] b _02062A60 _02062A2A: ldrb r0, [r4, #0x1e] bl FUN_0201BD70 cmp r0, #0x0 bne _02062A60 ldr r0, [r4, #0xc] add r0, r0, #0x1 str r0, [r4, #0xc] b _02062A60 _02062A3C: ldr r1, _02062A6C ; =0x021C48B8 ldr r2, [r1, #0x48] mov r1, #0x3 tst r1, r2 beq _02062A60 bl FUN_02063208 mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 bl FUN_0200C66C mov r0, #0x0 str r0, [r4, #0xc] add sp, #0x10 mov r0, #0x6 pop {r4, pc} _02062A60: mov r0, #0x8 add sp, #0x10 pop {r4, pc} nop _02062A68: .word 0x0001020F _02062A6C: .word 0x021C48B8 thumb_func_start FUN_02062A70 FUN_02062A70: ; 0x02062A70 push {r4-r7, lr} sub sp, #0x14 add r4, r0, #0x0 ldrb r2, [r4, #0x18] add r5, r1, #0x0 mov r1, #0x3c ldr r0, [r4, #0x0] mul r1, r2 bl FUN_02016998 mov r1, #0xb lsl r1, r1, #0x6 str r0, [r4, r1] ldr r0, [r4, r1] ldrb r3, [r4, #0x18] mov r2, #0x3c mov r1, #0x0 mul r2, r3 blx MI_CpuFill8 ldrb r1, [r4, #0x16] ldr r2, [r4, #0x0] add r0, r5, #0x0 bl FUN_0202BD6C mov r1, #0xa9 lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0x0 str r0, [sp, #0x10] ldrb r0, [r4, #0x18] cmp r0, #0x0 bgt _02062AB4 b _02062C48 _02062AB4: ldr r0, [sp, #0x10] str r4, [sp, #0x8] str r0, [sp, #0x4] add r5, r0, #0x0 _02062ABC: ldrb r2, [r4, #0x17] ldrb r3, [r4, #0x19] mov r1, #0xd mul r1, r2 mov r0, #0x2a add r2, r3, r1 ldr r1, [sp, #0x10] lsl r0, r0, #0x4 add r1, r1, r2 ldr r0, [r4, r0] ldr r2, [r4, #0x0] bl FUN_0202BDF0 mov r1, #0xaa mov r3, #0x0 ldr r2, [sp, #0x8] lsl r1, r1, #0x2 str r0, [r2, r1] add r0, r2, #0x0 ldr r0, [r0, r1] mov r12, r3 str r0, [sp, #0xc] ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02062B22 sub r0, r1, #0x4 ldr r0, [r4, r0] add r3, r1, #0x0 add r2, r0, #0x4 ldr r0, [sp, #0x4] add r3, #0x18 add r2, r2, r0 add r0, r1, #0x0 add r0, #0x18 ldr r0, [r4, r0] add r0, r0, r5 str r2, [r0, #0x4] add r0, r1, #0x0 add r0, #0x18 ldr r0, [r4, r0] mov r2, #0x1 add r0, r0, r5 strh r2, [r0, #0x8] ldr r3, [r4, r3] mov r0, #0xff add r3, r3, r5 add r1, #0x18 strb r0, [r3, #0xa] ldr r0, [r4, r1] str r2, [r0, r5] b _02062C2C _02062B22: add r2, r3, #0x0 cmp r0, #0x0 ble _02062BE4 ldr r0, [sp, #0xc] str r0, [sp, #0x0] add r7, r0, #0x4 _02062B2E: mov r0, r12 cmp r0, #0x0 bne _02062BA8 mov r0, #0xa9 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldr r1, [sp, #0x4] add r1, r1, r0 ldr r6, [r1, #0x8] ldr r1, [sp, #0x0] ldr r1, [r1, #0x8] cmp r6, r1 blo _02062BA8 add r6, r0, #0x4 ldr r0, [sp, #0x4] lsl r1, r3, #0x3 add r0, r6, r0 mov r6, #0xb lsl r6, r6, #0x6 ldr r6, [r4, r6] add r3, r3, #0x1 add r6, r5, r6 add r6, r1, r6 str r0, [r6, #0x4] mov r0, #0xb lsl r0, r0, #0x6 ldr r0, [r4, r0] add r0, r5, r0 add r6, r1, r0 mov r0, #0x1 strh r0, [r6, #0x8] mov r0, #0xb lsl r0, r0, #0x6 ldr r0, [r4, r0] lsl r6, r3, #0x3 add r0, r5, r0 add r1, r1, r0 mov r0, #0xff strb r0, [r1, #0xa] mov r0, #0xb lsl r0, r0, #0x6 ldr r0, [r4, r0] add r0, r5, r0 add r0, r6, r0 str r7, [r0, #0x4] mov r0, #0xb lsl r0, r0, #0x6 ldr r0, [r4, r0] add r0, r5, r0 add r1, r6, r0 mov r0, #0x1 strh r0, [r1, #0x8] mov r0, #0xb lsl r0, r0, #0x6 ldr r0, [r4, r0] add r0, r5, r0 add r0, r6, r0 strb r2, [r0, #0xa] mov r0, #0x1 mov r12, r0 b _02062BD0 _02062BA8: mov r0, #0xb lsl r0, r0, #0x6 ldr r0, [r4, r0] lsl r6, r3, #0x3 add r0, r5, r0 add r0, r6, r0 str r7, [r0, #0x4] mov r0, #0xb lsl r0, r0, #0x6 ldr r0, [r4, r0] add r0, r5, r0 add r1, r6, r0 mov r0, #0x1 strh r0, [r1, #0x8] mov r0, #0xb lsl r0, r0, #0x6 ldr r0, [r4, r0] add r0, r5, r0 add r0, r6, r0 strb r2, [r0, #0xa] _02062BD0: ldr r0, [sp, #0x0] add r2, r2, #0x1 add r0, #0xc str r0, [sp, #0x0] ldr r0, [sp, #0xc] add r3, r3, #0x1 ldr r0, [r0, #0x0] add r7, #0xc cmp r2, r0 blt _02062B2E _02062BE4: mov r0, r12 cmp r0, #0x0 bne _02062C1E mov r0, #0xa9 lsl r0, r0, #0x2 ldr r1, [r4, r0] lsl r2, r3, #0x3 add r3, r1, #0x4 ldr r1, [sp, #0x4] add r1, r3, r1 add r3, r0, #0x0 add r3, #0x1c ldr r3, [r4, r3] add r3, r3, r5 add r3, r2, r3 str r1, [r3, #0x4] add r3, r0, #0x0 add r3, #0x1c ldr r3, [r4, r3] mov r1, #0x1 add r3, r3, r5 add r3, r2, r3 strh r1, [r3, #0x8] add r0, #0x1c ldr r0, [r4, r0] mov r1, #0xff add r0, r0, r5 add r0, r2, r0 strb r1, [r0, #0xa] _02062C1E: ldr r0, [sp, #0xc] ldr r0, [r0, #0x0] add r1, r0, #0x1 mov r0, #0xb lsl r0, r0, #0x6 ldr r0, [r4, r0] str r1, [r0, r5] _02062C2C: ldr r0, [sp, #0x8] ldrb r1, [r4, #0x18] add r0, r0, #0x4 str r0, [sp, #0x8] ldr r0, [sp, #0x4] add r5, #0x3c add r0, #0xc str r0, [sp, #0x4] ldr r0, [sp, #0x10] add r0, r0, #0x1 str r0, [sp, #0x10] cmp r0, r1 bge _02062C48 b _02062ABC _02062C48: add sp, #0x14 pop {r4-r7, pc} thumb_func_start FUN_02062C4C FUN_02062C4C: ; 0x02062C4C push {r3-r7, lr} add r6, r0, #0x0 ldrb r0, [r6, #0x18] mov r4, #0x0 add r0, r0, #0x1 cmp r0, #0x0 ble _02062C72 mov r7, #0xa9 add r5, r6, #0x0 lsl r7, r7, #0x2 _02062C60: ldr r0, [r5, r7] bl FUN_0202BE6C ldrb r0, [r6, #0x18] add r4, r4, #0x1 add r5, r5, #0x4 add r0, r0, #0x1 cmp r4, r0 blt _02062C60 _02062C72: mov r0, #0xb lsl r0, r0, #0x6 ldr r0, [r6, r0] bl FUN_02016A18 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02062C80 FUN_02062C80: ; 0x02062C80 push {r4-r6, lr} add r5, r0, #0x0 ldr r2, _02062D34 ; =0x000001E1 ldr r3, [r5, #0x0] mov r0, #0x0 mov r1, #0x1a bl FUN_0200A86C str r0, [r5, #0x2c] ldr r2, [r5, #0x0] mov r0, #0x2 mov r1, #0x4c bl FUN_0200AA90 str r0, [r5, #0x30] ldr r1, [r5, #0x0] mov r0, #0x4c bl FUN_020219F4 str r0, [r5, #0x34] ldr r0, [r5, #0x2c] mov r1, #0xd bl FUN_0200A914 str r0, [r5, #0x38] ldr r0, [r5, #0x2c] mov r1, #0x16 bl FUN_0200A914 str r0, [r5, #0x3c] ldr r0, [r5, #0x2c] mov r1, #0x24 bl FUN_0200A914 str r0, [r5, #0x40] ldr r0, [r5, #0x2c] mov r1, #0xe bl FUN_0200A914 str r0, [r5, #0x44] ldrb r0, [r5, #0x18] mov r4, #0x0 cmp r0, #0x0 ble _02062CFE add r6, r5, #0x0 _02062CDA: ldrb r1, [r5, #0x19] ldr r0, [r5, #0x2c] add r1, r1, r4 bl FUN_0200A914 str r0, [r6, #0x64] ldrb r1, [r5, #0x19] ldr r0, [r5, #0x2c] add r1, #0x17 add r1, r1, r4 bl FUN_0200A914 str r0, [r6, #0x7c] ldrb r0, [r5, #0x18] add r4, r4, #0x1 add r6, r6, #0x4 cmp r4, r0 blt _02062CDA _02062CFE: mov r4, #0x0 add r6, r5, #0x0 _02062D02: add r1, r4, #0x0 ldr r0, [r5, #0x2c] add r1, #0xf bl FUN_0200A914 str r0, [r6, #0x48] add r4, r4, #0x1 add r6, r6, #0x4 cmp r4, #0x7 blt _02062D02 mov r4, #0x0 add r6, r5, #0x0 _02062D1A: add r1, r4, #0x0 ldr r0, [r5, #0x2c] add r1, #0x25 bl FUN_0200A914 add r1, r6, #0x0 add r1, #0x94 add r4, r4, #0x1 add r6, r6, #0x4 str r0, [r1, #0x0] cmp r4, #0x3 blt _02062D1A pop {r4-r6, pc} .balign 4 _02062D34: .word 0x000001E1 thumb_func_start FUN_02062D38 FUN_02062D38: ; 0x02062D38 push {r4-r6, lr} add r6, r0, #0x0 mov r4, #0x0 add r5, r6, #0x0 _02062D40: add r0, r5, #0x0 add r0, #0x94 ldr r0, [r0, #0x0] bl FUN_02021A20 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x3 blt _02062D40 mov r5, #0x0 add r4, r6, #0x0 _02062D56: ldr r0, [r4, #0x48] bl FUN_02021A20 add r5, r5, #0x1 add r4, r4, #0x4 cmp r5, #0x7 blt _02062D56 ldrb r0, [r6, #0x18] mov r5, #0x0 cmp r0, #0x0 ble _02062D84 add r4, r6, #0x0 _02062D6E: ldr r0, [r4, #0x64] bl FUN_02021A20 ldr r0, [r4, #0x7c] bl FUN_02021A20 ldrb r0, [r6, #0x18] add r5, r5, #0x1 add r4, r4, #0x4 cmp r5, r0 blt _02062D6E _02062D84: ldr r0, [r6, #0x44] bl FUN_02021A20 ldr r0, [r6, #0x40] bl FUN_02021A20 ldr r0, [r6, #0x3c] bl FUN_02021A20 ldr r0, [r6, #0x38] bl FUN_02021A20 ldr r0, [r6, #0x34] bl FUN_02021A20 ldr r0, [r6, #0x30] bl FUN_0200AB18 ldr r0, [r6, #0x2c] bl FUN_0200A8B8 pop {r4-r6, pc} thumb_func_start FUN_02062DB0 FUN_02062DB0: ; 0x02062DB0 push {r3-r4, lr} sub sp, #0x14 add r4, r0, #0x0 mov r1, #0xad ldr r3, [r4, #0x0] mov r0, #0x1 lsl r1, r1, #0x6 mov r2, #0x0 bl FUN_02017F18 mov r2, #0x0 str r2, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x11 str r0, [sp, #0xc] add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] mov r1, #0x1 add r3, r2, #0x0 bl FUN_02018540 add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] mov r1, #0x1 bl FUN_0201AC68 mov r0, #0x1 add r1, r0, #0x0 bl FUN_0201797C add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] mov r1, #0x0 bl FUN_02018884 strh r0, [r4, #0x10] add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] mov r1, #0x1 bl FUN_02018884 strh r0, [r4, #0x12] mov r0, #0x0 mov r1, #0x2 bl FUN_020178BC mov r0, #0x1 add r1, r0, #0x0 bl FUN_020178BC ldrh r0, [r4, #0x1c] ldr r2, _02062EB8 ; =0x000003E2 mov r1, #0x3 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] ldr r0, [r4, #0x0] mov r3, #0xa str r0, [sp, #0x4] add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] bl FUN_0200CD68 mov r0, #0x0 str r0, [sp, #0x0] ldr r0, [r4, #0x0] ldr r2, _02062EBC ; =0x000003D9 str r0, [sp, #0x4] add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] mov r1, #0x3 mov r3, #0xb bl FUN_0200CB00 mov r0, #0x0 str r0, [sp, #0x0] ldr r0, [r4, #0x0] ldr r2, _02062EBC ; =0x000003D9 str r0, [sp, #0x4] add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] mov r1, #0x1 mov r3, #0xb bl FUN_0200CB00 mov r1, #0x1a ldr r2, [r4, #0x0] mov r0, #0x0 lsl r1, r1, #0x4 bl FUN_02002ED0 mov r1, #0x6 ldr r2, [r4, #0x0] mov r0, #0x0 lsl r1, r1, #0x6 bl FUN_02002EEC mov r0, #0x13 str r0, [sp, #0x0] mov r0, #0x1b str r0, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] mov r0, #0xc str r0, [sp, #0xc] ldr r0, _02062EC0 ; =0x0000036D add r1, r4, #0x0 str r0, [sp, #0x10] add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] add r1, #0xe4 mov r2, #0x3 mov r3, #0x2 bl FUN_02019064 add r4, #0xe4 add r0, r4, #0x0 mov r1, #0xff bl FUN_02019620 add sp, #0x14 pop {r3-r4, pc} .balign 4 _02062EB8: .word 0x000003E2 _02062EBC: .word 0x000003D9 _02062EC0: .word 0x0000036D thumb_func_start FUN_02062EC4 FUN_02062EC4: ; 0x02062EC4 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 add r0, #0xe4 mov r1, #0x1 bl FUN_0200D0E0 add r0, r4, #0x0 add r0, #0xe4 bl FUN_02019570 add r0, r4, #0x0 add r0, #0xe4 bl FUN_02019178 mov r1, #0xad ldr r3, [r4, #0x0] mov r0, #0x1 lsl r1, r1, #0x6 mov r2, #0x0 bl FUN_02017F18 mov r2, #0x0 str r2, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x11 str r0, [sp, #0xc] add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] mov r1, #0x1 add r3, r2, #0x0 bl FUN_02018540 add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] mov r1, #0x1 bl FUN_0201AC68 mov r0, #0x1 mov r1, #0x0 bl FUN_0201797C ldrh r1, [r4, #0x10] mov r0, #0x0 lsl r1, r1, #0x18 lsr r1, r1, #0x18 bl FUN_020178BC ldrh r1, [r4, #0x12] mov r0, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 bl FUN_020178BC add sp, #0x10 pop {r4, pc} thumb_func_start FUN_02062F3C FUN_02062F3C: ; 0x02062F3C push {r4-r7, lr} sub sp, #0x24 ldr r4, _02062FF0 ; =0x020F7BDC add r3, sp, #0xc add r6, r0, #0x0 add r2, r3, #0x0 ldmia r4!, {r0-r1} stmia r3!, {r0-r1} ldmia r4!, {r0-r1} stmia r3!, {r0-r1} ldmia r4!, {r0-r1} stmia r3!, {r0-r1} mov r0, #0x4d lsl r0, r0, #0x2 add r1, r2, #0x0 ldr r3, [r6, #0x0] add r0, r6, r0 mov r2, #0x2 bl FUN_021D959C mov r0, #0x3 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, _02062FF4 ; =0x000034D8 mov r2, #0x0 str r0, [sp, #0x8] mov r0, #0x4d lsl r0, r0, #0x2 add r0, r6, r0 mov r1, #0x82 add r3, r2, #0x0 bl FUN_021D967C ldr r0, _02062FF4 ; =0x000034D8 mov r1, #0x82 str r0, [sp, #0x0] mov r0, #0x4d lsl r0, r0, #0x2 add r0, r6, r0 mov r2, #0x2 mov r3, #0x0 bl FUN_021D96F4 ldr r0, _02062FF4 ; =0x000034D8 mov r1, #0x82 str r0, [sp, #0x0] mov r0, #0x4d lsl r0, r0, #0x2 add r0, r6, r0 mov r2, #0x3 mov r3, #0x0 bl FUN_021D9708 mov r2, #0x1 ldr r0, _02062FF4 ; =0x000034D8 str r2, [sp, #0x0] str r0, [sp, #0x4] mov r0, #0x4d lsl r0, r0, #0x2 add r0, r6, r0 mov r1, #0x82 mov r3, #0x0 bl FUN_021D971C ldr r4, _02062FF8 ; =0x020F7C7C mov r7, #0x0 add r5, r6, #0x0 _02062FC4: mov r0, #0x4d lsl r0, r0, #0x2 add r0, r6, r0 add r1, r4, #0x0 bl FUN_021D9820 mov r1, #0xa6 lsl r1, r1, #0x2 str r0, [r5, r1] add r7, r7, #0x1 add r4, #0x34 add r5, r5, #0x4 cmp r7, #0x2 blt _02062FC4 add r0, r1, #0x4 ldr r0, [r6, r0] mov r1, #0x0 bl FUN_0200C644 add sp, #0x24 pop {r4-r7, pc} nop _02062FF0: .word 0x020F7BDC _02062FF4: .word 0x000034D8 _02062FF8: .word 0x020F7C7C thumb_func_start FUN_02062FFC FUN_02062FFC: ; 0x02062FFC push {r3-r7, lr} add r7, r0, #0x0 mov r6, #0xa6 mov r4, #0x0 add r5, r7, #0x0 lsl r6, r6, #0x2 _02063008: ldr r0, [r5, r6] cmp r0, #0x0 beq _02063012 bl FUN_0200C3DC _02063012: add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x2 blt _02063008 mov r0, #0x4d lsl r0, r0, #0x2 add r0, r7, r0 bl FUN_021D99F8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02063028 FUN_02063028: ; 0x02063028 push {r4-r7, lr} sub sp, #0x1c str r1, [sp, #0x14] add r5, r0, #0x0 str r2, [sp, #0x18] ldrb r0, [r5, #0x18] ldr r1, [r5, #0x0] add r7, r0, #0x1 add r0, r7, #0x0 bl FUN_02012838 add r1, r5, #0x0 add r1, #0xc4 str r0, [r1, #0x0] mov r2, #0x1 add r1, r5, #0x0 str r2, [sp, #0x0] mov r0, #0x18 str r0, [sp, #0x4] lsl r0, r7, #0x19 lsr r0, r0, #0x18 str r0, [sp, #0x8] mov r0, #0xd str r0, [sp, #0xc] add r0, r5, #0x0 str r2, [sp, #0x10] add r0, #0xd0 ldr r0, [r0, #0x0] add r1, #0xd4 mov r3, #0x4 bl FUN_02019064 add r0, r5, #0x0 add r0, #0xd4 mov r1, #0xff bl FUN_02019620 ldrb r0, [r5, #0x18] mov r6, #0x0 cmp r0, #0x0 ble _02063094 add r4, r5, #0x0 _0206307C: add r0, r5, #0x0 add r0, #0xc4 ldr r0, [r0, #0x0] ldr r1, [r4, #0x64] add r2, r6, #0x0 bl FUN_020128A0 ldrb r0, [r5, #0x18] add r6, r6, #0x1 add r4, r4, #0x4 cmp r6, r0 blt _0206307C _02063094: add r0, r5, #0x0 add r0, #0xc4 ldr r0, [r0, #0x0] ldr r1, [r5, #0x38] ldr r2, _02063160 ; =0x0000FFFF bl FUN_020128A0 add r1, r5, #0x0 ldr r0, _02063164 ; =0x020F7C2C add r1, #0xa0 mov r2, #0x20 blx MI_CpuCopy8 add r1, r5, #0x0 add r0, r5, #0x0 add r1, #0xd4 add r0, #0xac str r1, [r0, #0x0] add r0, r5, #0x0 add r0, #0xc4 ldr r1, [r0, #0x0] add r0, r5, #0x0 add r0, #0xa0 str r1, [r0, #0x0] add r0, r5, #0x0 add r0, #0xbc str r5, [r0, #0x0] add r0, r5, #0x0 add r0, #0xb0 strh r7, [r0, #0x0] add r0, r5, #0x0 add r0, #0xb7 ldrb r1, [r0, #0x0] mov r0, #0xf bic r1, r0 add r0, r5, #0x0 add r0, #0xb7 strb r1, [r0, #0x0] add r0, r5, #0x0 ldr r1, _02063168 ; =FUN_020631C8 add r0, #0xa4 str r1, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x0 add r0, #0xa8 str r1, [r0, #0x0] ldr r3, [r5, #0x0] add r0, r5, #0x0 lsl r3, r3, #0x18 ldr r1, [sp, #0x14] ldr r2, [sp, #0x18] add r0, #0xa0 lsr r3, r3, #0x18 bl FUN_020010A8 add r1, r5, #0x0 add r1, #0xc0 str r0, [r1, #0x0] add r0, r5, #0x0 ldr r2, _0206316C ; =0x000003D9 add r0, #0xd4 mov r1, #0x0 mov r3, #0xb bl FUN_0200CCA4 add r0, r5, #0x0 ldr r2, _02063170 ; =0x000003E2 add r0, #0xe4 mov r1, #0x1 mov r3, #0xa bl FUN_0200D0BC add r0, r5, #0x0 add r0, #0xe4 mov r1, #0xff bl FUN_02019620 mov r3, #0x0 str r3, [sp, #0x0] ldr r0, _02063174 ; =0x0001020F str r3, [sp, #0x4] str r0, [sp, #0x8] str r3, [sp, #0xc] add r0, r5, #0x0 ldr r2, [r5, #0x3c] add r0, #0xe4 mov r1, #0x1 bl FUN_0201BDE0 mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x1 bl FUN_0200C644 add r5, #0xd0 ldr r0, [r5, #0x0] mov r1, #0x3 bl FUN_0201AC68 add sp, #0x1c pop {r4-r7, pc} .balign 4 _02063160: .word 0x0000FFFF _02063164: .word 0x020F7C2C _02063168: .word FUN_020631C8 _0206316C: .word 0x000003D9 _02063170: .word 0x000003E2 _02063174: .word 0x0001020F thumb_func_start FUN_02063178 FUN_02063178: ; 0x02063178 push {r4, lr} add r4, r0, #0x0 add r0, #0xc0 add r1, r4, #0x0 add r2, r4, #0x0 ldr r0, [r0, #0x0] add r1, #0x22 add r2, #0x24 bl FUN_02001300 add r0, r4, #0x0 add r0, #0xc4 ldr r0, [r0, #0x0] bl FUN_02012870 add r0, r4, #0x0 add r0, #0xd4 bl FUN_02019570 add r0, r4, #0x0 add r0, #0xd4 mov r1, #0x0 bl FUN_0200CCF8 add r0, r4, #0x0 add r0, #0xd4 bl FUN_02019178 mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200C644 add r4, #0xd0 ldr r0, [r4, #0x0] mov r1, #0x3 bl FUN_0201AC68 pop {r4, pc} thumb_func_start FUN_020631C8 FUN_020631C8: ; 0x020631C8 push {r3-r5, lr} mov r1, #0x13 add r5, r0, #0x0 bl FUN_02001470 add r1, sp, #0x0 add r4, r0, #0x0 add r0, r5, #0x0 add r1, #0x2 add r2, sp, #0x0 bl FUN_02001448 add r0, r5, #0x0 mov r1, #0x2 bl FUN_02001470 add r2, sp, #0x0 ldrh r3, [r2, #0x0] ldrh r2, [r2, #0x2] mov r0, #0xa6 lsl r0, r0, #0x2 add r2, r3, r2 lsl r2, r2, #0x4 add r2, #0x10 lsl r2, r2, #0x10 ldr r0, [r4, r0] mov r1, #0x7e asr r2, r2, #0x10 bl FUN_0200C714 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02063208 FUN_02063208: ; 0x02063208 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 add r0, #0xe4 mov r1, #0xff bl FUN_02019620 mov r3, #0x0 str r3, [sp, #0x0] ldr r0, _02063234 ; =0x0001020F str r3, [sp, #0x4] str r0, [sp, #0x8] add r0, r4, #0x0 str r3, [sp, #0xc] add r4, #0x94 ldr r2, [r4, #0x0] add r0, #0xe4 mov r1, #0x1 bl FUN_0201BDE0 add sp, #0x10 pop {r4, pc} .balign 4 _02063234: .word 0x0001020F thumb_func_start FUN_02063238 FUN_02063238: ; 0x02063238 push {r4, lr} add r4, r0, #0x0 bl FUN_02063208 ldrh r2, [r4, #0x28] mov r0, #0xa6 lsl r0, r0, #0x2 lsl r2, r2, #0x4 add r2, #0x10 lsl r2, r2, #0x10 ldr r0, [r4, r0] mov r1, #0x7e asr r2, r2, #0x10 bl FUN_0200C714 mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 bl FUN_0200C644 pop {r4, pc} thumb_func_start FUN_02063264 FUN_02063264: ; 0x02063264 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 add r0, #0xe4 mov r1, #0xff bl FUN_02019620 mov r3, #0x0 str r3, [sp, #0x0] ldr r0, _020632A0 ; =0x0001020F str r3, [sp, #0x4] str r0, [sp, #0x8] str r3, [sp, #0xc] ldrb r2, [r4, #0x1f] add r0, r4, #0x0 add r0, #0xe4 lsl r2, r2, #0x2 add r2, r4, r2 ldr r2, [r2, #0x7c] mov r1, #0x1 bl FUN_0201BDE0 mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200C644 add sp, #0x10 pop {r4, pc} .balign 4 _020632A0: .word 0x0001020F thumb_func_start FUN_020632A4 FUN_020632A4: ; 0x020632A4 push {r4-r7, lr} sub sp, #0x34 str r1, [sp, #0x10] mov r1, #0xb add r4, r0, #0x0 lsl r1, r1, #0x6 ldr r1, [r4, r1] ldrb r0, [r4, #0x1f] str r1, [sp, #0x24] mov r1, #0x3c mul r1, r0 str r1, [sp, #0x28] ldrb r1, [r4, #0x16] lsl r0, r0, #0x3 lsl r2, r1, #0x2 ldr r1, _02063428 ; =0x020F7BD0 ldr r1, [r1, r2] add r0, r1, r0 str r0, [sp, #0x14] add r0, r4, #0x0 add r0, #0xd4 mov r1, #0xff bl FUN_02019620 mov r0, #0x1 str r0, [sp, #0x1c] mov r0, #0x0 add r1, r0, #0x0 str r1, [sp, #0x20] ldr r2, [sp, #0x24] ldr r1, [sp, #0x28] str r0, [sp, #0x18] ldr r1, [r2, r1] cmp r1, #0x0 ble _020633EA ldr r1, [sp, #0x28] add r7, r2, r1 add r1, r0, #0x0 str r1, [sp, #0x30] add r1, r4, #0x0 str r1, [sp, #0x2c] add r1, #0xd4 str r1, [sp, #0x2c] _020632FA: ldrh r1, [r7, #0x8] cmp r1, #0x0 beq _020633D6 ldr r1, [r7, #0x4] ldr r5, [r1, #0x4] ldr r1, [sp, #0x14] ldr r1, [r1, #0x0] cmp r5, r1 bls _0206330E add r5, r1, #0x0 _0206330E: cmp r5, r0 bge _02063318 ldr r0, [sp, #0x1c] add r0, r0, #0x1 str r0, [sp, #0x1c] _02063318: mov r0, #0x1 str r0, [sp, #0x0] str r0, [sp, #0x4] ldr r0, [r4, #0x30] ldr r2, [sp, #0x1c] mov r1, #0x0 mov r3, #0x1 bl FUN_0200AD38 mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0x2 str r0, [sp, #0x4] ldr r2, [r7, #0x4] ldr r0, [r4, #0x30] ldr r2, [r2, #0x8] mov r1, #0x1 mov r3, #0x2 bl FUN_0200ABB4 ldr r0, [r4, #0x30] ldr r1, [r4, #0x34] ldr r2, [r4, #0x44] bl FUN_0200B7B8 ldr r0, [sp, #0x30] mov r1, #0x0 str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0206342C ; =0x0001020F mov r3, #0x8 str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] ldr r0, [sp, #0x2c] ldr r2, [r4, #0x34] bl FUN_0201BDE0 mov r0, #0x1 str r0, [sp, #0x0] str r0, [sp, #0x4] ldr r3, [sp, #0x14] ldr r0, [r4, #0x30] ldrh r3, [r3, #0x4] mov r1, #0x0 add r2, r5, #0x0 bl FUN_0200AD38 ldr r2, [sp, #0x14] ldr r0, [r4, #0x30] ldrh r2, [r2, #0x6] ldr r1, [r4, #0x34] lsl r2, r2, #0x2 add r2, r4, r2 ldr r2, [r2, #0xc] bl FUN_0200B7B8 mov r0, #0x0 ldr r1, [r4, #0x34] add r2, r0, #0x0 bl FUN_02002E14 mov r12, r0 ldr r0, [sp, #0x30] mov r3, #0xb8 str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0206342C ; =0x0001020F mov r6, r12 str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] ldr r0, [sp, #0x2c] ldr r2, [r4, #0x34] mov r1, #0x0 sub r3, r3, r6 bl FUN_0201BDE0 ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] add r2, r4, r0 mov r0, #0xb2 lsl r0, r0, #0x2 strb r1, [r2, r0] ldr r1, [sp, #0x30] add r0, r5, #0x0 add r1, #0x10 str r1, [sp, #0x30] ldr r1, [sp, #0x18] add r1, r1, #0x1 str r1, [sp, #0x18] cmp r1, #0x6 bge _020633EA _020633D6: ldr r1, [sp, #0x20] ldr r2, [sp, #0x24] add r1, r1, #0x1 str r1, [sp, #0x20] ldr r1, [sp, #0x28] add r7, #0x8 ldr r2, [r2, r1] ldr r1, [sp, #0x20] cmp r1, r2 blt _020632FA _020633EA: add r0, r4, #0x0 add r0, #0xd4 bl FUN_020191D0 add r1, r4, #0x0 ldr r0, [sp, #0x18] add r1, #0x21 strb r0, [r1, #0x0] ldrh r1, [r4, #0x28] cmp r1, #0x0 beq _0206340E add r0, r4, #0x0 add r0, #0x21 ldrb r0, [r0, #0x0] cmp r1, r0 blt _0206340E sub r0, r1, #0x1 strh r0, [r4, #0x28] _0206340E: ldr r0, [sp, #0x10] cmp r0, #0x0 beq _0206341E add r0, r4, #0x0 bl FUN_02063238 add sp, #0x34 pop {r4-r7, pc} _0206341E: add r0, r4, #0x0 bl FUN_02063264 add sp, #0x34 pop {r4-r7, pc} .balign 4 _02063428: .word 0x020F7BD0 _0206342C: .word 0x0001020F thumb_func_start FUN_02063430 FUN_02063430: ; 0x02063430 push {r3-r4, lr} sub sp, #0x14 mov r2, #0x1 add r4, r0, #0x0 str r2, [sp, #0x0] mov r0, #0x18 str r0, [sp, #0x4] mov r0, #0xc str r0, [sp, #0x8] mov r0, #0xd str r0, [sp, #0xc] add r0, r4, #0x0 add r1, r4, #0x0 str r2, [sp, #0x10] add r0, #0xd0 ldr r0, [r0, #0x0] add r1, #0xd4 mov r3, #0x4 bl FUN_02019064 add r0, r4, #0x0 ldr r2, _020634D0 ; =0x000003D9 add r0, #0xd4 mov r1, #0x1 mov r3, #0xb bl FUN_0200CCA4 add r0, r4, #0x0 mov r1, #0x0 bl FUN_020632A4 mov r0, #0xa7 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 bl FUN_0200C644 mov r0, #0xe str r0, [sp, #0x0] mov r3, #0x8 add r1, r4, #0x0 str r3, [sp, #0x4] mov r0, #0x2 str r0, [sp, #0x8] mov r0, #0xd str r0, [sp, #0xc] ldr r0, _020634D4 ; =0x00000345 add r1, #0xf4 str r0, [sp, #0x10] add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] mov r2, #0x3 bl FUN_02019064 add r0, r4, #0x0 add r0, #0xf4 mov r1, #0x0 bl FUN_02019620 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, _020634D8 ; =0x00010200 str r1, [sp, #0x4] str r0, [sp, #0x8] str r1, [sp, #0xc] add r0, r4, #0x0 ldr r2, [r4, #0x40] add r0, #0xf4 add r3, r1, #0x0 bl FUN_0201BDE0 add r4, #0xd0 ldr r0, [r4, #0x0] mov r1, #0x3 bl FUN_0201AC68 add sp, #0x14 pop {r3-r4, pc} nop _020634D0: .word 0x000003D9 _020634D4: .word 0x00000345 _020634D8: .word 0x00010200 thumb_func_start FUN_020634DC FUN_020634DC: ; 0x020634DC push {r4, lr} add r4, r0, #0x0 add r0, #0xd4 bl FUN_02019570 add r0, r4, #0x0 add r0, #0xd4 mov r1, #0x0 bl FUN_0200CCF8 add r0, r4, #0x0 add r0, #0xd4 bl FUN_02019178 add r0, r4, #0x0 add r0, #0xf4 bl FUN_02019570 add r0, r4, #0x0 add r0, #0xf4 bl FUN_02019178 mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200C644 mov r0, #0xa7 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200C644 pop {r4, pc} .balign 4 thumb_func_start FUN_02063524 FUN_02063524: ; 0x02063524 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r2, [r4, #0x0] ldr r1, [r4, #0x8] cmp r2, #0xc bls _02063540 b _02063646 _02063540: add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206354C: ; jump table (using 16-bit offset) .short _02063566 - _0206354C - 2; case 0 .short _02063572 - _0206354C - 2; case 1 .short _0206357E - _0206354C - 2; case 2 .short _02063594 - _0206354C - 2; case 3 .short _020635AA - _0206354C - 2; case 4 .short _020635C0 - _0206354C - 2; case 5 .short _020635D6 - _0206354C - 2; case 6 .short _020635EC - _0206354C - 2; case 7 .short _02063602 - _0206354C - 2; case 8 .short _02063618 - _0206354C - 2; case 9 .short _0206362C - _0206354C - 2; case 10 .short _02063636 - _0206354C - 2; case 11 .short _0206363E - _0206354C - 2; case 12 _02063566: ldrh r2, [r4, #0x4] add r1, r5, #0x0 bl FUN_020625EC str r0, [r4, #0x0] b _02063646 _02063572: add r0, r1, #0x0 ldr r1, [r5, #0xc] bl FUN_02062720 str r0, [r4, #0x0] b _02063646 _0206357E: add r0, r1, #0x0 bl FUN_02062760 str r0, [r4, #0x0] mov r0, #0x4d ldr r1, [r4, #0x8] lsl r0, r0, #0x2 ldr r0, [r1, r0] bl FUN_0201FDEC b _02063646 _02063594: add r0, r1, #0x0 bl FUN_02062770 str r0, [r4, #0x0] mov r0, #0x4d ldr r1, [r4, #0x8] lsl r0, r0, #0x2 ldr r0, [r1, r0] bl FUN_0201FDEC b _02063646 _020635AA: add r0, r1, #0x0 bl FUN_020627D0 str r0, [r4, #0x0] mov r0, #0x4d ldr r1, [r4, #0x8] lsl r0, r0, #0x2 ldr r0, [r1, r0] bl FUN_0201FDEC b _02063646 _020635C0: add r0, r1, #0x0 bl FUN_020627DC str r0, [r4, #0x0] mov r0, #0x4d ldr r1, [r4, #0x8] lsl r0, r0, #0x2 ldr r0, [r1, r0] bl FUN_0201FDEC b _02063646 _020635D6: add r0, r1, #0x0 bl FUN_02062808 str r0, [r4, #0x0] mov r0, #0x4d ldr r1, [r4, #0x8] lsl r0, r0, #0x2 ldr r0, [r1, r0] bl FUN_0201FDEC b _02063646 _020635EC: add r0, r1, #0x0 bl FUN_020628E8 str r0, [r4, #0x0] mov r0, #0x4d ldr r1, [r4, #0x8] lsl r0, r0, #0x2 ldr r0, [r1, r0] bl FUN_0201FDEC b _02063646 _02063602: add r0, r1, #0x0 bl FUN_020629D8 str r0, [r4, #0x0] mov r0, #0x4d ldr r1, [r4, #0x8] lsl r0, r0, #0x2 ldr r0, [r1, r0] bl FUN_0201FDEC b _02063646 _02063618: ldr r0, _0206364C ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x1 tst r0, r1 bne _02063626 mov r0, #0x0 pop {r3-r5, pc} _02063626: mov r0, #0xa str r0, [r4, #0x0] b _02063646 _0206362C: add r0, r1, #0x0 bl FUN_02062740 str r0, [r4, #0x0] b _02063646 _02063636: bl FUN_02062678 str r0, [r4, #0x0] b _02063646 _0206363E: bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _02063646: mov r0, #0x0 pop {r3-r5, pc} nop _0206364C: .word 0x021C48B8 thumb_func_start FUN_02063650 FUN_02063650: ; 0x02063650 push {r3-r5, lr} add r5, r1, #0x0 bl FUN_02046528 add r4, r0, #0x0 mov r0, #0xb mov r1, #0xc bl FUN_02016998 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] strh r5, [r2, #0x4] str r0, [r2, #0x8] ldr r0, [r4, #0x10] ldr r1, _02063678 ; =FUN_02063524 bl FUN_0204640C pop {r3-r5, pc} nop _02063678: .word FUN_02063524 thumb_func_start FUN_0206367C FUN_0206367C: ; 0x0206367C add r0, #0xb4 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02063684 FUN_02063684: ; 0x02063684 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02063818 ldr r0, [r5, #0xc] bl FUN_020462AC mov r1, #0x0 bl FUN_0205F264 ldr r1, [r5, #0x1c] add r0, r5, #0x0 ldr r1, [r1, #0x0] bl FUN_02034F88 ldr r0, [r5, #0xc] bl FUN_0202A9B0 mov r1, #0x0 bl FUN_0202AB68 add r0, r5, #0x0 mov r1, #0x0 add r0, #0x74 strh r1, [r0, #0x0] ldr r0, [r5, #0xc] bl FUN_020462AC bl FUN_0205F214 cmp r0, #0x0 bne _020636DA ldr r0, [r5, #0xc] bl FUN_0202A9B0 ldr r1, [r5, #0x1c] add r4, r0, #0x0 ldr r1, [r1, #0x0] bl FUN_02060478 add r0, r4, #0x0 bl FUN_020603F0 _020636DA: pop {r3-r5, pc} thumb_func_start FUN_020636DC FUN_020636DC: ; 0x020636DC push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0xb4 ldr r1, [r1, #0x0] cmp r1, #0x1 beq _020637A6 bl FUN_02063818 cmp r0, #0x0 bne _020636F8 add r0, r5, #0x0 bl FUN_0206384C _020636F8: ldr r0, [r5, #0xc] bl FUN_020462AC bl FUN_0205F254 ldr r0, [r5, #0xc] bl FUN_020462AC mov r1, #0x0 bl FUN_0205F264 ldr r1, [r5, #0x1c] add r0, r5, #0x0 ldr r1, [r1, #0x0] bl FUN_02034F88 ldr r0, [r5, #0xc] bl FUN_0202A9B0 mov r1, #0x0 bl FUN_0202AB68 add r0, r5, #0x0 mov r1, #0x0 add r0, #0x74 strh r1, [r0, #0x0] ldr r0, [r5, #0xc] bl FUN_0202A9B0 ldr r1, [r5, #0x1c] ldr r1, [r1, #0x0] bl FUN_02060478 ldr r0, [r5, #0x1c] ldr r0, [r0, #0x0] bl FUN_02034930 cmp r0, #0x0 bne _02063758 ldr r0, [r5, #0xc] bl FUN_020462AC add r4, r0, #0x0 bl FUN_0205F284 add r0, r4, #0x0 bl FUN_0205F2B4 _02063758: ldr r0, [r5, #0xc] bl FUN_02034E30 bl FUN_02034E20 add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x1 bne _0206377C ldr r0, [r5, #0x1c] ldr r0, [r0, #0x0] bl FUN_020348B4 cmp r0, #0x0 bne _0206377C mov r0, #0x0 str r0, [r4, #0x4] b _02063786 _0206377C: ldr r0, [r4, #0x4] cmp r0, #0x2 bne _02063786 mov r0, #0x0 str r0, [r4, #0x4] _02063786: ldr r0, [r5, #0x1c] ldr r0, [r0, #0x0] bl FUN_02034908 cmp r0, #0x0 beq _020637A6 ldr r0, [r5, #0xc] bl FUN_02034E30 bl FUN_02034E0C ldr r2, [r5, #0x1c] ldr r1, [r2, #0x8] ldr r2, [r2, #0xc] bl FUN_0204AE04 _020637A6: pop {r3-r5, pc} thumb_func_start FUN_020637A8 FUN_020637A8: ; 0x020637A8 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_020462AC bl FUN_0205F204 ldr r0, [r4, #0xc] bl FUN_0202A9B0 bl FUN_020603C8 pop {r4, pc} .balign 4 thumb_func_start FUN_020637C4 FUN_020637C4: ; 0x020637C4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_020462AC bl FUN_0205F204 ldr r0, [r4, #0xc] bl FUN_0202A9B0 bl FUN_020603C8 pop {r4, pc} .balign 4 thumb_func_start FUN_020637E0 FUN_020637E0: ; 0x020637E0 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205F204 pop {r3, pc} .balign 4 thumb_func_start FUN_020637F0 FUN_020637F0: ; 0x020637F0 push {r4, lr} ldr r0, [r0, #0xc] bl FUN_020462AC add r4, r0, #0x0 bl FUN_0205ED2C add r0, r4, #0x0 mov r1, #0x0 bl FUN_0205F358 pop {r4, pc} thumb_func_start FUN_02063808 FUN_02063808: ; 0x02063808 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_0202A9B0 bl FUN_020603C8 pop {r3, pc} .balign 4 thumb_func_start FUN_02063818 FUN_02063818: ; 0x02063818 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] bl FUN_02034F1C add r1, r0, #0x0 beq _02063846 add r0, r4, #0x0 bl FUN_02034FC0 cmp r0, #0x0 bne _02063846 add r0, r4, #0x0 ldr r1, [r4, #0x1c] add r0, #0x98 ldr r0, [r0, #0x0] ldr r1, [r1, #0x0] mov r2, #0x20 bl FUN_020299C0 mov r0, #0x1 pop {r4, pc} _02063846: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0206384C FUN_0206384C: ; 0x0206384C push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02034E30 bl FUN_02034DC8 ldr r1, [r5, #0x1c] ldr r6, [r0, #0x0] ldr r4, [r1, #0x0] cmp r6, r4 beq _02063882 ldr r0, [r5, #0xc] bl FUN_020238F4 mov r1, #0x20 add r5, #0x98 str r1, [sp, #0x0] ldr r1, [r5, #0x0] add r2, r4, #0x0 add r3, r6, #0x0 bl FUN_02029880 add sp, #0x4 mov r0, #0x1 pop {r3-r6, pc} _02063882: mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} thumb_func_start FUN_02063888 FUN_02063888: ; 0x02063888 push {r4-r6, lr} add r5, r1, #0x0 mov r1, #0x18 add r4, r2, #0x0 add r6, r3, #0x0 bl FUN_020169D8 add r3, r0, #0x0 mov r2, #0x18 mov r1, #0x0 _0206389C: strb r1, [r3, #0x0] add r3, r3, #0x1 sub r2, r2, #0x1 bne _0206389C str r5, [r0, #0x0] str r4, [r0, #0x10] strh r6, [r0, #0x8] add r2, sp, #0x0 mov r1, #0x10 ldrsh r1, [r2, r1] strh r1, [r0, #0xa] mov r1, #0x14 ldrsh r1, [r2, r1] strh r1, [r0, #0xc] pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020638BC FUN_020638BC: ; 0x020638BC push {r3-r6, lr} sub sp, #0x1c add r5, r0, #0x0 bl FUN_02046528 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _020638DA cmp r0, #0x1 beq _020638F8 b _02063942 _020638DA: ldr r0, [r4, #0x0] ldr r0, [r0, #0x38] bl FUN_020553E8 add r3, r0, #0x0 ldr r0, [r4, #0x0] ldr r2, [r4, #0x10] mov r1, #0x1 bl FUN_0224666C str r0, [r4, #0x14] ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02063942 _020638F8: ldr r0, [r4, #0x14] bl FUN_022466A0 cmp r0, #0x0 beq _02063942 ldr r0, [r4, #0x14] bl FUN_022466AC mov r1, #0xa mov r2, #0xc ldrh r0, [r4, #0x8] ldrsh r1, [r4, r1] ldrsh r2, [r4, r2] bl FUN_02034F40 lsl r0, r0, #0x10 lsr r6, r0, #0x10 bne _02063920 bl ErrorHandling _02063920: add r0, r6, #0x0 add r1, sp, #0x8 bl FUN_02034E90 ldr r0, [sp, #0x14] mov r2, #0x1 str r0, [sp, #0x0] str r2, [sp, #0x4] ldr r1, [sp, #0x8] ldr r3, [sp, #0x10] add r0, r5, #0x0 sub r2, r2, #0x2 bl FUN_020492BC add r0, r4, #0x0 bl FUN_02016A18 _02063942: mov r0, #0x0 add sp, #0x1c pop {r3-r6, pc} thumb_func_start FUN_02063948 FUN_02063948: ; 0x02063948 cmp r0, #0x0 bne _02063954 ldr r0, _0206395C ; =0x020F7CE4 lsl r1, r1, #0x3 ldr r0, [r0, r1] bx lr _02063954: ldr r0, _02063960 ; =0x020F7CE8 lsl r1, r1, #0x3 ldr r0, [r0, r1] bx lr .balign 4 _0206395C: .word 0x020F7CE4 _02063960: .word 0x020F7CE8 thumb_func_start FUN_02063964 FUN_02063964: ; 0x02063964 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 add r4, r1, #0x0 str r5, [r4, #0x4] ldr r1, [r5, #0x1c] ldr r1, [r1, #0x0] str r1, [r4, #0x0] mov r1, #0x0 strh r1, [r4, #0xc] add r1, sp, #0x8 bl FUN_02037024 ldr r0, [sp, #0x8] str r0, [r4, #0x8] ldr r0, [sp, #0x8] cmp r0, #0x0 beq _020639B6 bl FUN_02058458 cmp r0, #0x54 beq _0206399A cmp r0, #0x55 beq _020639A4 cmp r0, #0x56 beq _020639AE b _020639B6 _0206399A: ldrh r1, [r4, #0xc] mov r0, #0x8 orr r0, r1 strh r0, [r4, #0xc] b _020639B6 _020639A4: ldrh r1, [r4, #0xc] mov r0, #0x20 orr r0, r1 strh r0, [r4, #0xc] b _020639B6 _020639AE: ldrh r1, [r4, #0xc] mov r0, #0x1 orr r0, r1 strh r0, [r4, #0xc] _020639B6: ldr r0, [r5, #0x38] bl FUN_02055320 str r0, [sp, #0x4] ldr r0, [r5, #0x38] bl FUN_0205532C add r2, r0, #0x0 ldr r1, [sp, #0x4] str r2, [sp, #0x0] add r0, r5, #0x0 bl FUN_0204A6E0 add r7, r0, #0x0 ldr r0, [r5, #0x38] add r1, sp, #0x4 add r2, sp, #0x0 bl FUN_020572B8 ldr r1, [sp, #0x4] ldr r2, [sp, #0x0] add r0, r5, #0x0 bl FUN_0204A6E0 add r6, r0, #0x0 ldr r0, [r5, #0x38] add r1, r7, #0x0 add r2, r6, #0x0 bl FUN_021E643C cmp r0, #0x0 beq _020639FE ldrh r1, [r4, #0xc] mov r0, #0x4 orr r0, r1 strh r0, [r4, #0xc] _020639FE: ldr r0, [r5, #0x38] bl FUN_020552F8 add r1, r0, #0x0 add r0, r6, #0x0 bl FUN_021E69BC cmp r0, #0x0 beq _02063A18 ldrh r1, [r4, #0xc] mov r0, #0x80 orr r0, r1 strh r0, [r4, #0xc] _02063A18: lsl r0, r6, #0x18 lsr r0, r0, #0x18 bl FUN_02054A48 cmp r0, #0x0 beq _02063A2C ldrh r1, [r4, #0xc] mov r0, #0x40 orr r0, r1 strh r0, [r4, #0xc] _02063A2C: ldr r0, [r5, #0xc] bl FUN_02034E30 bl FUN_02034DEC cmp r0, #0xe beq _02063A42 cmp r0, #0x10 beq _02063A4E add sp, #0xc pop {r4-r7, pc} _02063A42: ldrh r1, [r4, #0xc] mov r0, #0x10 add sp, #0xc orr r0, r1 strh r0, [r4, #0xc] pop {r4-r7, pc} _02063A4E: ldrh r1, [r4, #0xc] mov r0, #0x1 lsl r0, r0, #0x8 orr r0, r1 strh r0, [r4, #0xc] add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_02063A5C FUN_02063A5C: ; 0x02063A5C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0x20 mov r1, #0x10 bl FUN_02016998 ldr r1, _02063A7C ; =0x19740205 str r1, [r0, #0x0] ldr r1, [r4, #0x8] str r1, [r0, #0x4] ldr r2, [r5, #0x0] ldr r1, [r5, #0x4] str r2, [r0, #0x8] str r1, [r0, #0xc] pop {r3-r5, pc} .balign 4 _02063A7C: .word 0x19740205 thumb_func_start FUN_02063A80 FUN_02063A80: ; 0x02063A80 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _02063A98 ; =0x19740205 cmp r1, r0 beq _02063A90 bl ErrorHandling _02063A90: add r0, r4, #0x0 bl FUN_02016A18 pop {r4, pc} .balign 4 _02063A98: .word 0x19740205 thumb_func_start FUN_02063A9C FUN_02063A9C: ; 0x02063A9C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] ldr r0, [r1, #0x6c] sub r0, r0, #0x2 cmp r0, #0x1 bhi _02063AAE mov r0, #0x1 pop {r4, pc} _02063AAE: ldr r0, [r1, #0xc] bl FUN_020238F4 mov r1, #0x1 bl FUN_020239D0 cmp r0, #0x0 bne _02063AC2 mov r0, #0x2 pop {r4, pc} _02063AC2: ldrh r1, [r4, #0xc] mov r0, #0x1 tst r1, r0 beq _02063ACC mov r0, #0x0 _02063ACC: pop {r4, pc} .balign 4 thumb_func_start FUN_02063AD0 FUN_02063AD0: ; 0x02063AD0 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] bl FUN_0204649C mov r0, #0x72 ldr r1, _02063B00 ; =FUN_02063B04 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 str r5, [r4, r0] mov r0, #0xa strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 _02063B00: .word FUN_02063B04 thumb_func_start FUN_02063B04 FUN_02063B04: ; 0x02063B04 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02063B3C ; =0x00002718 ldr r2, [r4, #0x4] add r0, r5, #0x0 bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 bl FUN_020395BC add r0, r4, #0x0 bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02063B3C: .word 0x00002718 thumb_func_start FUN_02063B40 FUN_02063B40: ; 0x02063B40 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] ldr r0, [r1, #0x6c] sub r0, r0, #0x2 cmp r0, #0x1 bhi _02063B52 mov r0, #0x1 pop {r4, pc} _02063B52: ldr r0, [r1, #0xc] bl FUN_020238F4 mov r1, #0x2 bl FUN_020239D0 cmp r0, #0x0 bne _02063B66 mov r0, #0x2 pop {r4, pc} _02063B66: ldr r0, [r4, #0x0] bl FUN_02034898 cmp r0, #0x0 bne _02063B74 mov r0, #0x1 pop {r4, pc} _02063B74: ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205ED3C cmp r0, #0x1 bne _02063B88 mov r0, #0x3 pop {r4, pc} _02063B88: ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205F214 cmp r0, #0x1 beq _02063BA8 ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205F244 cmp r0, #0x1 bne _02063BAC _02063BA8: mov r0, #0x1 b _02063BAE _02063BAC: mov r0, #0x0 _02063BAE: cmp r0, #0x1 bne _02063BB6 mov r0, #0x1 pop {r4, pc} _02063BB6: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_02063BBC FUN_02063BBC: ; 0x02063BBC push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_02046528 add r6, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_0204652C add r4, r0, #0x0 mov r0, #0xb mov r1, #0x4 bl FUN_02016998 ldrh r1, [r5, #0x4] str r1, [r0, #0x0] mov r1, #0x7f lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0xb sub r1, #0xbc bl FUN_02016998 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] ldr r1, [r4, r1] add r0, r6, #0x0 mov r2, #0x1 bl FUN_0205F7A0 mov r1, #0x7e lsl r1, r1, #0x2 ldr r1, [r4, r1] add r0, r6, #0x0 bl FUN_02037E90 ldr r1, _02063C10 ; =FUN_02036AB8 add r0, r4, #0x0 bl FUN_02035D04 pop {r4-r6, pc} .balign 4 _02063C10: .word FUN_02036AB8 thumb_func_start FUN_02063C14 FUN_02063C14: ; 0x02063C14 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] ldr r0, [r1, #0x6c] sub r0, r0, #0x2 cmp r0, #0x1 bhi _02063C26 mov r0, #0x1 pop {r4, pc} _02063C26: ldr r0, [r1, #0xc] bl FUN_020238F4 mov r1, #0x4 bl FUN_020239D0 cmp r0, #0x0 bne _02063C3A mov r0, #0x2 pop {r4, pc} _02063C3A: ldr r0, [r4, #0x4] ldr r0, [r0, #0x38] bl FUN_020553C4 cmp r0, #0x2 bne _02063C4A mov r0, #0x4 pop {r4, pc} _02063C4A: ldrh r1, [r4, #0xc] mov r0, #0x4 tst r0, r1 bne _02063C56 mov r0, #0x1 pop {r4, pc} _02063C56: ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205ED3C cmp r0, #0x1 bne _02063C6A mov r0, #0x3 pop {r4, pc} _02063C6A: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_02063C70 FUN_02063C70: ; 0x02063C70 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] bl FUN_0204649C mov r0, #0x72 ldr r1, _02063CA0 ; =FUN_02063CA4 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 str r5, [r4, r0] mov r0, #0xa strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 _02063CA0: .word FUN_02063CA4 thumb_func_start FUN_02063CA4 FUN_02063CA4: ; 0x02063CA4 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02063CDC ; =0x0000271C add r0, r5, #0x0 mov r2, #0x0 bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 bl FUN_020395BC add r0, r4, #0x0 bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02063CDC: .word 0x0000271C thumb_func_start FUN_02063CE0 FUN_02063CE0: ; 0x02063CE0 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] ldr r0, [r1, #0x6c] sub r0, r0, #0x2 cmp r0, #0x1 bhi _02063CF2 mov r0, #0x1 pop {r4, pc} _02063CF2: ldr r0, [r1, #0xc] bl FUN_020238F4 mov r1, #0x5 bl FUN_020239D0 cmp r0, #0x0 bne _02063D06 mov r0, #0x2 pop {r4, pc} _02063D06: ldrh r1, [r4, #0xc] mov r0, #0x8 tst r0, r1 beq _02063D12 mov r0, #0x0 pop {r4, pc} _02063D12: mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_02063D18 FUN_02063D18: ; 0x02063D18 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] bl FUN_0204649C mov r0, #0x72 ldr r1, _02063D48 ; =FUN_02063D4C lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 str r5, [r4, r0] mov r0, #0xa strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 _02063D48: .word FUN_02063D4C thumb_func_start FUN_02063D4C FUN_02063D4C: ; 0x02063D4C push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02063D84 ; =0x0000271A ldr r2, [r4, #0x4] add r0, r5, #0x0 bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 bl FUN_020395BC add r0, r4, #0x0 bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02063D84: .word 0x0000271A thumb_func_start FUN_02063D88 FUN_02063D88: ; 0x02063D88 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] ldr r0, [r1, #0x6c] sub r0, r0, #0x2 cmp r0, #0x1 bhi _02063D9A mov r0, #0x1 pop {r4, pc} _02063D9A: ldr r0, [r1, #0xc] bl FUN_020238F4 mov r1, #0x3 bl FUN_020239D0 cmp r0, #0x0 bne _02063DAE mov r0, #0x2 pop {r4, pc} _02063DAE: ldrh r1, [r4, #0xc] mov r0, #0x10 tst r0, r1 beq _02063DBA mov r0, #0x0 pop {r4, pc} _02063DBA: mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_02063DC0 FUN_02063DC0: ; 0x02063DC0 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] bl FUN_0204649C mov r0, #0x72 ldr r1, _02063DF0 ; =FUN_02063DF4 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 str r5, [r4, r0] mov r0, #0xa strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 _02063DF0: .word FUN_02063DF4 thumb_func_start FUN_02063DF4 FUN_02063DF4: ; 0x02063DF4 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02063E2C ; =0x0000271E add r0, r5, #0x0 mov r2, #0x0 bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 bl FUN_020395BC add r0, r4, #0x0 bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02063E2C: .word 0x0000271E thumb_func_start FUN_02063E30 FUN_02063E30: ; 0x02063E30 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] ldr r0, [r1, #0x6c] sub r0, r0, #0x2 cmp r0, #0x1 bhi _02063E42 mov r0, #0x1 pop {r4, pc} _02063E42: ldr r0, [r1, #0xc] bl FUN_020238F4 mov r1, #0x0 bl FUN_020239D0 cmp r0, #0x0 bne _02063E56 mov r0, #0x2 pop {r4, pc} _02063E56: ldrh r1, [r4, #0xc] mov r0, #0x20 tst r0, r1 beq _02063E62 mov r0, #0x0 pop {r4, pc} _02063E62: mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_02063E68 FUN_02063E68: ; 0x02063E68 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] bl FUN_0204649C mov r0, #0x72 ldr r1, _02063E98 ; =FUN_02063E9C lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 str r5, [r4, r0] mov r0, #0xa strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 _02063E98: .word FUN_02063E9C thumb_func_start FUN_02063E9C FUN_02063E9C: ; 0x02063E9C push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02063ED4 ; =0x00002719 ldr r2, [r4, #0x4] add r0, r5, #0x0 bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 bl FUN_020395BC add r0, r4, #0x0 bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02063ED4: .word 0x00002719 thumb_func_start FUN_02063ED8 FUN_02063ED8: ; 0x02063ED8 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] ldr r0, [r1, #0x6c] sub r0, r0, #0x2 cmp r0, #0x1 bhi _02063EEA mov r0, #0x1 pop {r4, pc} _02063EEA: ldr r0, [r1, #0xc] bl FUN_020238F4 mov r1, #0x7 bl FUN_020239D0 cmp r0, #0x0 bne _02063EFE mov r0, #0x2 pop {r4, pc} _02063EFE: ldrh r1, [r4, #0xc] mov r0, #0x40 tst r0, r1 beq _02063F0A mov r0, #0x0 pop {r4, pc} _02063F0A: mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_02063F10 FUN_02063F10: ; 0x02063F10 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] bl FUN_0204649C mov r0, #0x72 ldr r1, _02063F40 ; =FUN_02063F44 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 str r5, [r4, r0] mov r0, #0xa strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 _02063F40: .word FUN_02063F44 thumb_func_start FUN_02063F44 FUN_02063F44: ; 0x02063F44 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02063F7C ; =0x0000271D add r0, r5, #0x0 mov r2, #0x0 bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 bl FUN_020395BC add r0, r4, #0x0 bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02063F7C: .word 0x0000271D thumb_func_start FUN_02063F80 FUN_02063F80: ; 0x02063F80 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] ldr r0, [r1, #0x6c] sub r0, r0, #0x2 cmp r0, #0x1 bhi _02063F92 mov r0, #0x1 pop {r4, pc} _02063F92: ldr r0, [r1, #0xc] bl FUN_020238F4 mov r1, #0x6 bl FUN_020239D0 cmp r0, #0x0 bne _02063FA6 mov r0, #0x2 pop {r4, pc} _02063FA6: ldrh r1, [r4, #0xc] mov r0, #0x80 tst r0, r1 bne _02063FB2 mov r0, #0x1 pop {r4, pc} _02063FB2: ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205ED3C cmp r0, #0x1 bne _02063FC6 mov r0, #0x3 pop {r4, pc} _02063FC6: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_02063FCC FUN_02063FCC: ; 0x02063FCC push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] bl FUN_0204649C mov r0, #0x72 ldr r1, _02063FFC ; =FUN_02064000 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 str r5, [r4, r0] mov r0, #0xa strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 _02063FFC: .word FUN_02064000 thumb_func_start FUN_02064000 FUN_02064000: ; 0x02064000 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02064038 ; =0x0000271B add r0, r5, #0x0 mov r2, #0x0 bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 bl FUN_020395BC add r0, r4, #0x0 bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02064038: .word 0x0000271B thumb_func_start FUN_0206403C FUN_0206403C: ; 0x0206403C ldr r1, [r0, #0x4] ldr r1, [r1, #0x6c] sub r1, r1, #0x2 cmp r1, #0x1 bhi _0206404A mov r0, #0x1 bx lr _0206404A: ldrh r1, [r0, #0xc] mov r0, #0x1 lsl r0, r0, #0x8 tst r0, r1 beq _02064058 mov r0, #0x0 bx lr _02064058: mov r0, #0x1 bx lr thumb_func_start FUN_0206405C FUN_0206405C: ; 0x0206405C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] bl FUN_0204649C mov r0, #0x72 ldr r1, _0206408C ; =FUN_02064090 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 str r5, [r4, r0] mov r0, #0xa strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 _0206408C: .word FUN_02064090 thumb_func_start FUN_02064090 FUN_02064090: ; 0x02064090 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02046528 add r6, r0, #0x0 ldr r1, _020640C8 ; =0x0000271F add r0, r5, #0x0 mov r2, #0x0 bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 bl FUN_020395BC add r0, r4, #0x0 bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _020640C8: .word 0x0000271F thumb_func_start FUN_020640CC FUN_020640CC: ; 0x020640CC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] ldr r0, [r0, #0x6c] sub r0, r0, #0x2 cmp r0, #0x1 bhi _020640DE mov r0, #0x1 pop {r4, pc} _020640DE: ldr r0, [r4, #0x0] bl FUN_020348E4 cmp r0, #0x0 bne _020640EC mov r0, #0x1 pop {r4, pc} _020640EC: ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205ED3C cmp r0, #0x1 bne _02064100 mov r0, #0x3 pop {r4, pc} _02064100: ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205F214 cmp r0, #0x1 beq _02064120 ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205F244 cmp r0, #0x1 bne _02064124 _02064120: mov r0, #0x1 b _02064126 _02064124: mov r0, #0x0 _02064126: cmp r0, #0x1 bne _0206412E mov r0, #0x1 pop {r4, pc} _0206412E: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_02064134 FUN_02064134: ; 0x02064134 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_02046528 add r6, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_0204652C add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_0204649C ldrh r1, [r5, #0x4] ldr r2, [r6, #0xc] mov r0, #0xb lsl r1, r1, #0x18 lsr r1, r1, #0x18 bl FUN_0206439C mov r1, #0x72 ldr r2, _02064170 ; =FUN_02064174 lsl r1, r1, #0x2 str r2, [r4, r1] add r1, #0x30 str r0, [r4, r1] mov r0, #0xa strh r0, [r4, #0x2a] pop {r4-r6, pc} nop _02064170: .word FUN_02064174 thumb_func_start FUN_02064174 FUN_02064174: ; 0x02064174 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] add r0, r6, #0x0 mov r2, #0x4 bl FUN_0224CB30 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_02016A18 ldr r1, _020641A8 ; =0x0224CB55 add r0, r5, #0x0 add r2, r6, #0x0 bl FUN_020463EC mov r0, #0x0 pop {r4-r6, pc} nop _020641A8: .word 0x0224CB55 thumb_func_start FUN_020641AC FUN_020641AC: ; 0x020641AC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] ldr r0, [r0, #0x6c] sub r0, r0, #0x2 cmp r0, #0x1 bhi _020641BE mov r0, #0x1 pop {r4, pc} _020641BE: ldr r0, [r4, #0x0] bl FUN_02034930 cmp r0, #0x1 bne _020641D2 ldr r0, [r4, #0x0] bl FUN_0203487C cmp r0, #0x1 beq _020641D6 _020641D2: mov r0, #0x1 pop {r4, pc} _020641D6: ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] bl FUN_020462AC bl FUN_0205ED3C cmp r0, #0x1 bne _020641EA mov r0, #0x3 pop {r4, pc} _020641EA: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_020641F0 FUN_020641F0: ; 0x020641F0 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_02046528 add r6, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_0204652C add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_0204649C ldrh r1, [r5, #0x4] ldr r2, [r6, #0xc] mov r0, #0xb lsl r1, r1, #0x18 lsr r1, r1, #0x18 bl FUN_0206439C mov r1, #0x72 ldr r2, _0206422C ; =FUN_02064230 lsl r1, r1, #0x2 str r2, [r4, r1] add r1, #0x30 str r0, [r4, r1] mov r0, #0xa strh r0, [r4, #0x2a] pop {r4-r6, pc} nop _0206422C: .word FUN_02064230 thumb_func_start FUN_02064230 FUN_02064230: ; 0x02064230 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02046528 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r6, r0, #0x0 ldr r1, [r6, #0x0] add r0, r4, #0x0 mov r2, #0xb bl FUN_0224CA88 ldr r1, [r4, #0x1c] add r7, r0, #0x0 ldr r1, [r1, #0x0] mov r0, #0xa lsl r1, r1, #0x10 lsr r1, r1, #0x10 mov r2, #0x4 bl FUN_0202914C add r4, #0x98 add r1, r0, #0x0 ldr r0, [r4, #0x0] mov r2, #0x1 bl FUN_02028AD4 add r0, r6, #0x0 bl FUN_02016A18 ldr r1, _02064280 ; =0x0224CAAD add r0, r5, #0x0 add r2, r7, #0x0 bl FUN_020463EC mov r0, #0x0 pop {r3-r7, pc} nop _02064280: .word 0x0224CAAD thumb_func_start FUN_02064284 FUN_02064284: ; 0x02064284 push {r3, lr} ldr r1, [r0, #0x4] ldr r0, [r1, #0x6c] sub r0, r0, #0x2 cmp r0, #0x1 bhi _02064294 mov r0, #0x1 pop {r3, pc} _02064294: ldr r0, [r1, #0xc] bl FUN_020462AC bl FUN_0205F244 cmp r0, #0x1 bne _020642A6 mov r0, #0x1 b _020642A8 _020642A6: mov r0, #0x0 _020642A8: cmp r0, #0x1 bne _020642B0 mov r0, #0x1 pop {r3, pc} _020642B0: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_020642B4 FUN_020642B4: ; 0x020642B4 push {r4-r6, lr} add r6, r0, #0x0 ldr r0, [r6, #0x0] bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r6, #0x0] bl FUN_0204652C ldrh r1, [r6, #0x4] add r4, r0, #0x0 ldr r2, [r5, #0xc] lsl r1, r1, #0x18 mov r0, #0xb lsr r1, r1, #0x18 bl FUN_0206439C add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204649C mov r0, #0x72 ldr r1, _0206430C ; =0x021F6361 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 str r6, [r4, r0] mov r0, #0xa strh r0, [r4, #0x2a] ldr r1, [r5, #0x1c] mov r0, #0xb ldr r1, [r1, #0x0] add r2, r0, #0x0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_0202914C add r5, #0x98 add r1, r0, #0x0 ldr r0, [r5, #0x0] mov r2, #0x1 bl FUN_02028AD4 pop {r4-r6, pc} .balign 4 _0206430C: .word 0x021F6361 thumb_func_start FUN_02064310 FUN_02064310: ; 0x02064310 ldr r0, [r0, #0x4] ldr r0, [r0, #0x6c] sub r0, r0, #0x2 cmp r0, #0x1 bhi _0206431E mov r0, #0x1 bx lr _0206431E: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_02064324 FUN_02064324: ; 0x02064324 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 bl FUN_02046528 add r7, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02063A5C add r5, r0, #0x0 add r0, r7, #0x0 bl FUN_0204649C mov r0, #0x72 ldr r1, _0206435C ; =FUN_02064360 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 str r5, [r4, r0] mov r0, #0xa strh r0, [r4, #0x2a] pop {r3-r7, pc} .balign 4 _0206435C: .word FUN_02064360 thumb_func_start FUN_02064360 FUN_02064360: ; 0x02064360 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02064398 ; =0x000022C4 add r0, r5, #0x0 mov r2, #0x0 bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 bl FUN_020395BC add r0, r4, #0x0 bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02064398: .word 0x000022C4 thumb_func_start FUN_0206439C FUN_0206439C: ; 0x0206439C push {r4-r6, lr} add r5, r1, #0x0 add r6, r2, #0x0 mov r1, #0x8 bl FUN_020169D8 add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_0206BB1C add r1, r5, #0x0 bl FUN_0206B9B0 str r0, [r4, #0x0] mov r0, #0x0 str r0, [r4, #0x4] add r0, r4, #0x0 pop {r4-r6, pc} thumb_func_start FUN_020643C0 FUN_020643C0: ; 0x020643C0 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 bl FUN_020645DC add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_0206460C str r0, [r4, #0xc] str r6, [r4, #0x0] str r5, [r4, #0x8] add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020643E0 FUN_020643E0: ; 0x020643E0 push {r4, lr} add r4, r0, #0x0 bl FUN_02064630 add r0, r4, #0x0 bl FUN_02064600 pop {r4, pc} thumb_func_start FUN_020643F0 FUN_020643F0: ; 0x020643F0 push {r4, lr} add r4, r0, #0x0 bl FUN_02064558 add r0, r4, #0x0 bl FUN_020643E0 pop {r4, pc} thumb_func_start FUN_02064400 FUN_02064400: ; 0x02064400 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] add r7, r1, #0x0 str r2, [sp, #0x4] str r3, [sp, #0x8] mov r4, #0x0 bl FUN_02064698 add r6, r0, #0x0 ldr r0, [sp, #0x0] bl FUN_0206469C add r5, r0, #0x0 _0206441C: add r0, r5, #0x0 bl FUN_020646A0 cmp r0, #0x0 beq _0206442E add r4, r4, #0x1 add r5, #0xc8 cmp r4, r6 blt _0206441C _0206442E: cmp r4, r6 blt _02064438 add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _02064438: add r0, r5, #0x0 bl FUN_020646AC ldr r1, [sp, #0x8] add r0, r5, #0x0 bl FUN_02064750 ldr r1, [sp, #0x20] add r0, r5, #0x0 bl FUN_02064758 ldr r1, [sp, #0x0] add r0, r5, #0x0 bl FUN_02064768 ldr r1, [sp, #0x4] add r0, r5, #0x0 bl FUN_0206476C ldr r1, [r7, #0x0] add r0, r5, #0x0 bl FUN_0206473C ldr r1, [r7, #0x4] add r0, r5, #0x0 bl FUN_020646B8 ldr r1, [r7, #0x8] add r0, r5, #0x0 bl FUN_0206470C ldr r1, [r7, #0xc] add r0, r5, #0x0 bl FUN_020646D4 ldr r1, [r7, #0x10] add r0, r5, #0x0 bl FUN_020646F0 ldr r1, [r7, #0x14] add r0, r5, #0x0 bl FUN_02064728 ldr r1, [r7, #0x18] add r0, r5, #0x0 bl FUN_02064730 ldr r1, [sp, #0x24] add r0, r5, #0x0 bl FUN_020645B0 add r4, r0, #0x0 bne _020644AE add r0, r5, #0x0 bl FUN_02064640 add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _020644AE: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02064760 add r0, r5, #0x0 bl FUN_020646C0 cmp r0, #0x0 bne _020644D2 add r0, r4, #0x0 bl FUN_0200CAB4 add r0, r5, #0x0 bl FUN_02064640 add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _020644D2: ldr r0, [sp, #0x0] ldr r0, [r0, #0x4] add r1, r0, #0x1 ldr r0, [sp, #0x0] str r1, [r0, #0x4] add r0, r5, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_020644E4 FUN_020644E4: ; 0x020644E4 push {r4-r7, lr} sub sp, #0x24 add r5, r1, #0x0 add r6, r0, #0x0 add r4, sp, #0x8 ldmia r5!, {r0-r1} add r7, r4, #0x0 stmia r4!, {r0-r1} ldmia r5!, {r0-r1} stmia r4!, {r0-r1} ldr r0, [r5, #0x0] add r1, r7, #0x0 str r0, [r4, #0x0] ldr r0, _02064518 ; =FUN_0206479C str r0, [sp, #0x1c] ldr r0, _0206451C ; =FUN_020647A0 str r0, [sp, #0x20] ldr r0, [sp, #0x38] str r0, [sp, #0x0] ldr r0, [sp, #0x3c] str r0, [sp, #0x4] add r0, r6, #0x0 bl FUN_02064400 add sp, #0x24 pop {r4-r7, pc} .balign 4 _02064518: .word FUN_0206479C _0206451C: .word FUN_020647A0 thumb_func_start FUN_02064520 FUN_02064520: ; 0x02064520 push {r4, lr} add r4, r0, #0x0 bne _0206452A bl ErrorHandling _0206452A: add r0, r4, #0x0 bl FUN_020646A0 cmp r0, #0x0 beq _02064556 add r0, r4, #0x0 bl FUN_02064714 ldr r1, [r4, #0x14] ldr r0, [r1, #0x4] sub r0, r0, #0x1 str r0, [r1, #0x4] add r0, r4, #0x0 bl FUN_02064764 cmp r0, #0x0 beq _02064550 bl FUN_0200CAB4 _02064550: add r0, r4, #0x0 bl FUN_02064640 _02064556: pop {r4, pc} thumb_func_start FUN_02064558 FUN_02064558: ; 0x02064558 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02064698 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0206469C add r5, r0, #0x0 _0206456A: add r0, r5, #0x0 bl FUN_020646A0 cmp r0, #0x1 bne _0206457A add r0, r5, #0x0 bl FUN_02064520 _0206457A: add r5, #0xc8 sub r4, r4, #0x1 bne _0206456A pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02064584 FUN_02064584: ; 0x02064584 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02064698 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0206469C add r5, r0, #0x0 _02064596: add r0, r5, #0x0 bl FUN_020646A0 cmp r0, #0x1 bne _020645A6 add r0, r5, #0x0 bl FUN_020646F8 _020645A6: add r5, #0xc8 sub r4, r4, #0x1 bne _02064596 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020645B0 FUN_020645B0: ; 0x020645B0 push {r4, lr} add r3, r0, #0x0 add r2, r1, #0x0 ldr r0, _020645CC ; =FUN_020645D0 add r1, r3, #0x0 bl FUN_0200CA44 add r4, r0, #0x0 bne _020645C6 bl ErrorHandling _020645C6: add r0, r4, #0x0 pop {r4, pc} nop _020645CC: .word FUN_020645D0 thumb_func_start FUN_020645D0 FUN_020645D0: ; 0x020645D0 ldr r3, _020645D8 ; =FUN_020646DC add r0, r1, #0x0 bx r3 nop _020645D8: .word FUN_020646DC thumb_func_start FUN_020645DC FUN_020645DC: ; 0x020645DC push {r4, lr} mov r1, #0x10 bl FUN_02016998 add r4, r0, #0x0 bne _020645EC bl ErrorHandling _020645EC: add r2, r4, #0x0 mov r1, #0x10 mov r0, #0x0 _020645F2: strb r0, [r2, #0x0] add r2, r2, #0x1 sub r1, r1, #0x1 bne _020645F2 add r0, r4, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_02064600 FUN_02064600: ; 0x02064600 ldr r3, _02064608 ; =FUN_02016A8C add r1, r0, #0x0 ldr r0, [r1, #0x8] bx r3 .balign 4 _02064608: .word FUN_02016A8C thumb_func_start FUN_0206460C FUN_0206460C: ; 0x0206460C push {r3-r5, lr} mov r2, #0xc8 add r5, r1, #0x0 mul r5, r2 add r1, r5, #0x0 bl FUN_02016998 add r4, r0, #0x0 bne _02064622 bl ErrorHandling _02064622: add r0, r4, #0x0 mov r1, #0x0 add r2, r5, #0x0 blx Call_FillMemWithValue add r0, r4, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02064630 FUN_02064630: ; 0x02064630 ldr r3, _0206463C ; =FUN_02016A8C add r1, r0, #0x0 ldr r0, [r1, #0x8] ldr r1, [r1, #0xc] bx r3 nop _0206463C: .word FUN_02016A8C thumb_func_start FUN_02064640 FUN_02064640: ; 0x02064640 push {r4, lr} mov r1, #0x0 mov r2, #0xc8 add r4, r0, #0x0 blx Call_FillMemWithValue ldr r1, _02064680 ; =FUN_0206478C add r0, r4, #0x0 bl FUN_020646B8 ldr r1, _02064684 ; =FUN_02064798 add r0, r4, #0x0 bl FUN_0206470C ldr r1, _02064688 ; =FUN_02064790 add r0, r4, #0x0 bl FUN_020646D4 ldr r1, _0206468C ; =FUN_02064794 add r0, r4, #0x0 bl FUN_020646F0 ldr r1, _02064690 ; =FUN_0206479C add r0, r4, #0x0 bl FUN_02064728 ldr r1, _02064694 ; =FUN_020647A0 add r0, r4, #0x0 bl FUN_02064730 pop {r4, pc} nop _02064680: .word FUN_0206478C _02064684: .word FUN_02064798 _02064688: .word FUN_02064790 _0206468C: .word FUN_02064794 _02064690: .word FUN_0206479C _02064694: .word FUN_020647A0 thumb_func_start FUN_02064698 FUN_02064698: ; 0x02064698 ldr r0, [r0, #0x0] bx lr thumb_func_start FUN_0206469C FUN_0206469C: ; 0x0206469C ldr r0, [r0, #0xc] bx lr thumb_func_start FUN_020646A0 FUN_020646A0: ; 0x020646A0 ldr r1, [r0, #0x0] mov r0, #0x1 tst r1, r0 bne _020646AA mov r0, #0x0 _020646AA: bx lr thumb_func_start FUN_020646AC FUN_020646AC: ; 0x020646AC ldr r2, [r0, #0x0] mov r1, #0x1 orr r1, r2 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_020646B8 FUN_020646B8: ; 0x020646B8 add r0, #0xb0 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_020646C0 FUN_020646C0: ; 0x020646C0 push {r4, lr} add r4, r0, #0x0 bl FUN_02064738 add r1, r0, #0x0 add r0, r4, #0x0 add r4, #0xb0 ldr r2, [r4, #0x0] blx r2 pop {r4, pc} thumb_func_start FUN_020646D4 FUN_020646D4: ; 0x020646D4 add r0, #0xb4 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_020646DC FUN_020646DC: ; 0x020646DC push {r4, lr} add r4, r0, #0x0 bl FUN_02064738 add r1, r0, #0x0 add r0, r4, #0x0 add r4, #0xb4 ldr r2, [r4, #0x0] blx r2 pop {r4, pc} thumb_func_start FUN_020646F0 FUN_020646F0: ; 0x020646F0 add r0, #0xb8 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_020646F8 FUN_020646F8: ; 0x020646F8 push {r4, lr} add r4, r0, #0x0 bl FUN_02064738 add r1, r0, #0x0 add r0, r4, #0x0 add r4, #0xb8 ldr r2, [r4, #0x0] blx r2 pop {r4, pc} thumb_func_start FUN_0206470C FUN_0206470C: ; 0x0206470C add r0, #0xbc str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02064714 FUN_02064714: ; 0x02064714 push {r4, lr} add r4, r0, #0x0 bl FUN_02064738 add r1, r0, #0x0 add r0, r4, #0x0 add r4, #0xbc ldr r2, [r4, #0x0] blx r2 pop {r4, pc} thumb_func_start FUN_02064728 FUN_02064728: ; 0x02064728 add r0, #0xc0 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02064730 FUN_02064730: ; 0x02064730 add r0, #0xc4 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02064738 FUN_02064738: ; 0x02064738 add r0, #0x30 bx lr thumb_func_start FUN_0206473C FUN_0206473C: ; 0x0206473C push {r4, lr} add r4, r1, #0x0 bl FUN_02064738 mov r1, #0x0 add r2, r4, #0x0 blx Call_FillMemWithValue pop {r4, pc} .balign 4 thumb_func_start FUN_02064750 FUN_02064750: ; 0x02064750 str r1, [r0, #0x4] bx lr thumb_func_start FUN_02064754 FUN_02064754: ; 0x02064754 ldr r0, [r0, #0x4] bx lr thumb_func_start FUN_02064758 FUN_02064758: ; 0x02064758 str r1, [r0, #0xc] bx lr thumb_func_start FUN_0206475C FUN_0206475C: ; 0x0206475C ldr r0, [r0, #0xc] bx lr thumb_func_start FUN_02064760 FUN_02064760: ; 0x02064760 str r1, [r0, #0x10] bx lr thumb_func_start FUN_02064764 FUN_02064764: ; 0x02064764 ldr r0, [r0, #0x10] bx lr thumb_func_start FUN_02064768 FUN_02064768: ; 0x02064768 str r1, [r0, #0x14] bx lr thumb_func_start FUN_0206476C FUN_0206476C: ; 0x0206476C add r3, r1, #0x0 add r2, r0, #0x0 ldmia r3!, {r0-r1} add r2, #0x24 stmia r2!, {r0-r1} ldr r0, [r3, #0x0] str r0, [r2, #0x0] bx lr thumb_func_start FUN_0206477C FUN_0206477C: ; 0x0206477C add r2, r0, #0x0 add r2, #0x24 add r3, r1, #0x0 ldmia r2!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r2, #0x0] str r0, [r3, #0x0] bx lr thumb_func_start FUN_0206478C FUN_0206478C: ; 0x0206478C mov r0, #0x1 bx lr thumb_func_start FUN_02064790 FUN_02064790: ; 0x02064790 bx lr .balign 4 thumb_func_start FUN_02064794 FUN_02064794: ; 0x02064794 bx lr .balign 4 thumb_func_start FUN_02064798 FUN_02064798: ; 0x02064798 bx lr .balign 4 thumb_func_start FUN_0206479C FUN_0206479C: ; 0x0206479C bx lr .balign 4 thumb_func_start FUN_020647A0 FUN_020647A0: ; 0x020647A0 bx lr .balign 4 thumb_func_start FUN_020647A4 FUN_020647A4: ; 0x020647A4 push {r3-r7, lr} sub sp, #0x30 add r4, r0, #0x0 bl FUN_020377AC bl FUN_02024ED8 mov r1, #0x7 bl FUN_020254A0 ldrh r1, [r0, #0x2] ldrh r0, [r0, #0x0] ldr r3, _0206485C ; =0x020F7D70 mov r7, #0x18 add r2, r1, #0x0 mul r2, r7 add r6, r3, r2 lsl r0, r0, #0x2 ldr r5, [r6, r0] ldr r0, [r6, #0x14] cmp r0, #0x0 beq _0206480A ldr r3, _02064860 ; =0x020F7D64 add r2, sp, #0x24 ldmia r3!, {r0-r1} mov r12, r2 stmia r2!, {r0-r1} ldr r0, [r3, #0x0] add r7, #0xea str r0, [r2, #0x0] str r5, [sp, #0x28] mov r0, #0x0 str r0, [sp, #0x0] ldr r0, [r4, #0x4c] add r2, r7, #0x0 str r0, [sp, #0x4] add r0, r4, #0x0 add r0, #0xa0 ldr r0, [r0, #0x0] ldr r1, [r4, #0x2c] mov r3, r12 bl FUN_021E7FBC add r0, r4, #0x0 add r0, #0xa0 ldr r0, [r0, #0x0] ldr r1, _02064864 ; =0x00000102 bl FUN_021E7ED8 str r0, [sp, #0x14] b _0206482C _0206480A: ldr r0, _02064868 ; =0x020F7D4C add r1, sp, #0xc ldr r2, [r0, #0x8] ldr r0, [r0, #0xc] str r2, [sp, #0xc] str r0, [sp, #0x10] mov r0, #0x0 str r0, [sp, #0x0] add r0, r4, #0x0 mov r2, #0x2 add r3, sp, #0x14 bl FUN_0204AA5C cmp r0, #0x0 bne _0206482C bl ErrorHandling _0206482C: ldr r1, [sp, #0x14] add r0, sp, #0x18 bl FUN_021E7EA0 ldr r0, [sp, #0x14] add r1, sp, #0x18 str r5, [sp, #0x1c] bl FUN_021E7EB0 mov r0, #0x2 str r0, [sp, #0x0] str r5, [sp, #0x4] add r4, #0x9c ldr r0, [r4, #0x0] mov r3, #0x3 str r0, [sp, #0x8] ldr r1, [r6, #0x8] ldr r2, [r6, #0xc] mov r0, #0x0 bl FUN_021F44D8 add sp, #0x30 pop {r3-r7, pc} nop _0206485C: .word 0x020F7D70 _02064860: .word 0x020F7D64 _02064864: .word 0x00000102 _02064868: .word 0x020F7D4C thumb_func_start FUN_0206486C FUN_0206486C: ; 0x0206486C push {r3-r5, lr} add r4, r0, #0x0 bl FUN_020377AC bl FUN_02024ED8 add r5, r0, #0x0 mov r1, #0x7 bl FUN_02025490 add r0, r5, #0x0 mov r1, #0x7 bl FUN_020254A0 mov r3, #0x1 str r3, [r0, #0x4] mov r2, #0x0 str r2, [r0, #0x8] ldr r4, [r4, #0x1c] ldr r5, _020649A8 ; =0x00000123 ldr r1, [r4, #0x0] cmp r1, r5 bgt _020648C4 bge _020648D6 add r5, r1, #0x0 sub r5, #0xb0 cmp r5, #0x9 bhi _020649A0 add r5, r5, r5 add r5, pc ldrh r5, [r5, #0x6] lsl r5, r5, #0x10 asr r5, r5, #0x10 add pc, r5 _020648B0: ; jump table (using 16-bit offset) .short _02064910 - _020648B0 - 2; case 0 .short _020649A0 - _020648B0 - 2; case 1 .short _02064928 - _020648B0 - 2; case 2 .short _020649A0 - _020648B0 - 2; case 3 .short _02064940 - _020648B0 - 2; case 4 .short _020649A0 - _020648B0 - 2; case 5 .short _02064958 - _020648B0 - 2; case 6 .short _020649A0 - _020648B0 - 2; case 7 .short _02064970 - _020648B0 - 2; case 8 .short _02064988 - _020648B0 - 2; case 9 _020648C4: ldr r2, _020649AC ; =0x00000125 cmp r1, r2 bgt _020648CE beq _020648E8 b _020649A0 _020648CE: add r2, r2, #0x1 cmp r1, r2 beq _020648FC b _020649A0 _020648D6: ldr r1, [r4, #0xc] cmp r1, #0x1a bne _020648E0 strh r2, [r0, #0x0] b _020648E2 _020648E0: strh r3, [r0, #0x0] _020648E2: mov r1, #0x0 strh r1, [r0, #0x2] pop {r3-r5, pc} _020648E8: ldr r1, [r4, #0xc] cmp r1, #0x30 bne _020648F2 mov r1, #0x0 b _020648F4 _020648F2: mov r1, #0x1 _020648F4: strh r1, [r0, #0x0] mov r1, #0x1 strh r1, [r0, #0x2] pop {r3-r5, pc} _020648FC: ldr r1, [r4, #0xc] cmp r1, #0xf bne _02064906 mov r1, #0x0 b _02064908 _02064906: mov r1, #0x1 _02064908: strh r1, [r0, #0x0] mov r1, #0x2 strh r1, [r0, #0x2] pop {r3-r5, pc} _02064910: ldr r1, [r4, #0xc] cmp r1, #0xf bne _0206491A strh r2, [r0, #0x0] b _0206491E _0206491A: strh r3, [r0, #0x0] str r2, [r0, #0x4] _0206491E: mov r1, #0x3 strh r1, [r0, #0x2] mov r1, #0x1 str r1, [r0, #0x8] pop {r3-r5, pc} _02064928: ldr r1, [r4, #0xc] cmp r1, #0xf bne _02064932 strh r2, [r0, #0x0] b _02064936 _02064932: strh r3, [r0, #0x0] str r2, [r0, #0x4] _02064936: mov r1, #0x4 strh r1, [r0, #0x2] mov r1, #0x1 str r1, [r0, #0x8] pop {r3-r5, pc} _02064940: ldr r1, [r4, #0xc] cmp r1, #0xf bne _0206494A strh r2, [r0, #0x0] b _0206494E _0206494A: strh r3, [r0, #0x0] str r2, [r0, #0x4] _0206494E: mov r1, #0x5 strh r1, [r0, #0x2] mov r1, #0x1 str r1, [r0, #0x8] pop {r3-r5, pc} _02064958: ldr r1, [r4, #0xc] cmp r1, #0xf bne _02064962 strh r2, [r0, #0x0] b _02064966 _02064962: strh r3, [r0, #0x0] str r2, [r0, #0x4] _02064966: mov r1, #0x6 strh r1, [r0, #0x2] mov r1, #0x1 str r1, [r0, #0x8] pop {r3-r5, pc} _02064970: ldr r1, [r4, #0xc] cmp r1, #0x17 bne _0206497A strh r2, [r0, #0x0] b _0206497E _0206497A: strh r3, [r0, #0x0] str r2, [r0, #0x4] _0206497E: mov r1, #0x7 strh r1, [r0, #0x2] mov r1, #0x1 str r1, [r0, #0x8] pop {r3-r5, pc} _02064988: ldr r1, [r4, #0xc] cmp r1, #0x12 bne _02064992 strh r2, [r0, #0x0] b _02064996 _02064992: strh r3, [r0, #0x0] str r2, [r0, #0x4] _02064996: mov r1, #0x8 strh r1, [r0, #0x2] mov r1, #0x1 str r1, [r0, #0x8] pop {r3-r5, pc} _020649A0: bl ErrorHandling pop {r3-r5, pc} nop _020649A8: .word 0x00000123 _020649AC: .word 0x00000125 thumb_func_start FUN_020649B0 FUN_020649B0: ; 0x020649B0 push {r3, lr} bl FUN_020377AC bl FUN_02024ED8 mov r1, #0x7 bl FUN_020254A0 ldr r0, [r0, #0x4] cmp r0, #0x0 beq _020649CA mov r0, #0x1 b _020649CC _020649CA: mov r0, #0x0 _020649CC: lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3, pc} .balign 4 thumb_func_start FUN_020649D4 FUN_020649D4: ; 0x020649D4 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_020377AC bl FUN_02024ED8 mov r1, #0x7 bl FUN_020254A0 add r4, r0, #0x0 ldrh r1, [r4, #0x2] mov r0, #0x18 add r2, r1, #0x0 mul r2, r0 ldr r0, _02064A58 ; =0x020F7D80 ldr r0, [r0, r2] cmp r0, #0x0 beq _020649FE ldrh r0, [r4, #0x0] cmp r0, #0x1 beq _02064A54 _020649FE: mov r0, #0xb mov r1, #0x10 bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] ldrh r1, [r4, #0x2] mov r0, #0x18 add r3, r1, #0x0 ldr r1, _02064A5C ; =0x020F7D84 mul r3, r0 ldr r1, [r1, r3] str r1, [r2, #0x8] ldr r1, [r4, #0x8] str r1, [r2, #0xc] ldrh r1, [r4, #0x0] cmp r1, #0x0 ldrh r1, [r4, #0x2] bne _02064A3E add r3, r1, #0x0 mul r3, r0 ldr r0, _02064A60 ; =0x020F7D74 ldr r1, _02064A64 ; =FUN_02064A70 ldr r0, [r0, r3] str r0, [r2, #0x4] ldr r0, [r5, #0x10] bl FUN_0204640C mov r0, #0x1 strh r0, [r4, #0x0] pop {r3-r5, pc} _02064A3E: add r3, r1, #0x0 mul r3, r0 ldr r0, _02064A68 ; =0x020F7D70 ldr r1, _02064A6C ; =FUN_02064B70 ldr r0, [r0, r3] str r0, [r2, #0x4] ldr r0, [r5, #0x10] bl FUN_0204640C mov r0, #0x0 strh r0, [r4, #0x0] _02064A54: pop {r3-r5, pc} nop _02064A58: .word 0x020F7D80 _02064A5C: .word 0x020F7D84 _02064A60: .word 0x020F7D74 _02064A64: .word FUN_02064A70 _02064A68: .word 0x020F7D70 _02064A6C: .word FUN_02064B70 thumb_func_start FUN_02064A70 FUN_02064A70: ; 0x02064A70 push {r4-r5, lr} sub sp, #0x1c add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] cmp r1, #0x3 bhi _02064B5C add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02064A96: ; jump table (using 16-bit offset) .short _02064A9E - _02064A96 - 2; case 0 .short _02064AB4 - _02064A96 - 2; case 1 .short _02064B2E - _02064A96 - 2; case 2 .short _02064B52 - _02064A96 - 2; case 3 _02064A9E: ldr r0, [r5, #0x38] mov r1, #0x0 bl FUN_02055560 ldr r0, [r4, #0xc] bl FUN_02064C64 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02064B5C _02064AB4: ldr r0, [r4, #0x8] cmp r0, #0x0 beq _02064ACA add r0, r5, #0x0 add r0, #0xa0 ldr r0, [r0, #0x0] ldr r1, _02064B64 ; =0x00000102 bl FUN_021E7ED8 str r0, [sp, #0xc] b _02064AEC _02064ACA: ldr r0, _02064B68 ; =0x020F7D4C add r1, sp, #0x4 ldr r2, [r0, #0x0] ldr r0, [r0, #0x4] str r2, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0x0] add r0, r5, #0x0 mov r2, #0x2 add r3, sp, #0xc bl FUN_0204AA5C cmp r0, #0x0 bne _02064AEC bl ErrorHandling _02064AEC: ldr r1, [sp, #0xc] add r0, sp, #0x10 bl FUN_021E7EA0 ldr r0, [r4, #0xc] cmp r0, #0x0 bne _02064AFE mov r1, #0x1 b _02064B00 _02064AFE: mov r1, #0x2 _02064B00: ldr r0, [sp, #0x14] lsl r1, r1, #0xc add r1, r0, r1 str r1, [sp, #0x14] ldr r0, [r4, #0x4] cmp r1, r0 blt _02064B1C str r0, [sp, #0x14] ldr r0, [r4, #0xc] bl FUN_02064C84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] _02064B1C: ldr r0, [r5, #0x38] ldr r1, [sp, #0x14] bl FUN_02055540 ldr r0, [sp, #0xc] add r1, sp, #0x10 bl FUN_021E7EB0 b _02064B5C _02064B2E: add r2, r5, #0x0 add r2, #0x9c ldr r1, [r4, #0x4] ldr r2, [r2, #0x0] mov r0, #0x0 bl FUN_021F4594 ldr r0, [r5, #0x38] mov r1, #0x1 bl FUN_0205557C ldr r0, _02064B6C ; =0x0000061A bl FUN_020054C8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02064B5C _02064B52: bl FUN_02016A18 add sp, #0x1c mov r0, #0x1 pop {r4-r5, pc} _02064B5C: mov r0, #0x0 add sp, #0x1c pop {r4-r5, pc} nop _02064B64: .word 0x00000102 _02064B68: .word 0x020F7D4C _02064B6C: .word 0x0000061A thumb_func_start FUN_02064B70 FUN_02064B70: ; 0x02064B70 push {r4-r5, lr} sub sp, #0x1c add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] cmp r1, #0x3 bhi _02064C52 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02064B96: ; jump table (using 16-bit offset) .short _02064B9E - _02064B96 - 2; case 0 .short _02064BB4 - _02064B96 - 2; case 1 .short _02064C24 - _02064B96 - 2; case 2 .short _02064C48 - _02064B96 - 2; case 3 _02064B9E: ldr r0, [r5, #0x38] mov r1, #0x0 bl FUN_02055560 ldr r0, [r4, #0xc] bl FUN_02064C64 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02064C52 _02064BB4: ldr r0, [r4, #0x8] cmp r0, #0x0 beq _02064BCA add r0, r5, #0x0 add r0, #0xa0 ldr r0, [r0, #0x0] ldr r1, _02064C58 ; =0x00000102 bl FUN_021E7ED8 str r0, [sp, #0xc] b _02064BEC _02064BCA: ldr r0, _02064C5C ; =0x020F7D4C add r1, sp, #0x4 ldr r2, [r0, #0x10] ldr r0, [r0, #0x14] str r2, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0x0] add r0, r5, #0x0 mov r2, #0x2 add r3, sp, #0xc bl FUN_0204AA5C cmp r0, #0x0 bne _02064BEC bl ErrorHandling _02064BEC: ldr r1, [sp, #0xc] add r0, sp, #0x10 bl FUN_021E7EA0 mov r0, #0x1 ldr r1, [sp, #0x14] lsl r0, r0, #0xc sub r1, r1, r0 str r1, [sp, #0x14] ldr r0, [r4, #0x4] cmp r1, r0 bgt _02064C12 str r0, [sp, #0x14] ldr r0, [r4, #0xc] bl FUN_02064C84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] _02064C12: ldr r0, [r5, #0x38] ldr r1, [sp, #0x14] bl FUN_02055540 ldr r0, [sp, #0xc] add r1, sp, #0x10 bl FUN_021E7EB0 b _02064C52 _02064C24: add r2, r5, #0x0 add r2, #0x9c ldr r1, [r4, #0x4] ldr r2, [r2, #0x0] mov r0, #0x0 bl FUN_021F4594 ldr r0, [r5, #0x38] mov r1, #0x1 bl FUN_0205557C ldr r0, _02064C60 ; =0x0000061A bl FUN_020054C8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02064C52 _02064C48: bl FUN_02016A18 add sp, #0x1c mov r0, #0x1 pop {r4-r5, pc} _02064C52: mov r0, #0x0 add sp, #0x1c pop {r4-r5, pc} .balign 4 _02064C58: .word 0x00000102 _02064C5C: .word 0x020F7D4C _02064C60: .word 0x0000061A thumb_func_start FUN_02064C64 FUN_02064C64: ; 0x02064C64 push {r3, lr} cmp r0, #0x0 bne _02064C72 ldr r0, _02064C7C ; =0x00000611 bl FUN_020054C8 pop {r3, pc} _02064C72: ldr r0, _02064C80 ; =0x00000614 bl FUN_020054C8 pop {r3, pc} nop _02064C7C: .word 0x00000611 _02064C80: .word 0x00000614 thumb_func_start FUN_02064C84 FUN_02064C84: ; 0x02064C84 push {r3, lr} cmp r0, #0x0 bne _02064C94 ldr r0, _02064CA0 ; =0x00000611 mov r1, #0x0 bl FUN_020054F0 pop {r3, pc} _02064C94: ldr r0, _02064CA4 ; =0x00000614 mov r1, #0x0 bl FUN_020054F0 pop {r3, pc} nop _02064CA0: .word 0x00000611 _02064CA4: .word 0x00000614 thumb_func_start FUN_02064CA8 FUN_02064CA8: ; 0x02064CA8 push {r4, lr} bl FUN_020377AC bl FUN_02024ED8 add r4, r0, #0x0 mov r1, #0x1 bl FUN_02025490 add r0, r4, #0x0 mov r1, #0x1 bl FUN_020254A0 mov r1, #0x1 strb r1, [r0, #0x0] pop {r4, pc} thumb_func_start FUN_02064CC8 FUN_02064CC8: ; 0x02064CC8 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_020377AC bl FUN_02024ED8 add r4, r0, #0x0 mov r1, #0x2 bl FUN_02025490 add r0, r4, #0x0 mov r1, #0x2 bl FUN_020254A0 add r4, r0, #0x0 ldr r0, [r5, #0x1c] ldr r0, [r0, #0xc] cmp r0, #0x16 bne _02064D08 ldr r0, [r5, #0xc] bl FUN_020462AC bl FUN_0205ECEC cmp r0, #0x0 beq _02064D02 mov r0, #0x0 strb r0, [r4, #0x0] pop {r3-r5, pc} _02064D02: mov r0, #0x1 strb r0, [r4, #0x0] pop {r3-r5, pc} _02064D08: mov r0, #0x1 strb r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02064D10 FUN_02064D10: ; 0x02064D10 push {r4-r6, lr} bl FUN_020377AC bl FUN_02024ED8 add r4, r0, #0x0 mov r1, #0x3 bl FUN_02025490 add r0, r4, #0x0 mov r1, #0x3 bl FUN_020254A0 ldr r5, _02064D48 ; =0x020F7E54 add r6, r0, #0x0 mov r4, #0x0 _02064D30: ldrb r1, [r5, #0x0] lsl r0, r4, #0x18 lsr r0, r0, #0x18 add r2, r6, #0x0 bl FUN_02064DEC add r4, r4, #0x1 add r5, r5, #0x1 cmp r4, #0x18 blt _02064D30 pop {r4-r6, pc} nop _02064D48: .word 0x020F7E54 thumb_func_start FUN_02064D4C FUN_02064D4C: ; 0x02064D4C push {r4-r6, lr} bl FUN_020377AC bl FUN_02024ED8 add r4, r0, #0x0 mov r1, #0x4 bl FUN_02025490 add r0, r4, #0x0 mov r1, #0x4 bl FUN_020254A0 ldr r5, _02064D84 ; =0x020F7E48 add r6, r0, #0x0 mov r4, #0x0 _02064D6C: ldrb r1, [r5, #0x0] lsl r0, r4, #0x18 lsr r0, r0, #0x18 add r2, r6, #0x0 bl FUN_02064DEC add r4, r4, #0x1 add r5, r5, #0x1 cmp r4, #0xc blt _02064D6C pop {r4-r6, pc} nop _02064D84: .word 0x020F7E48 thumb_func_start FUN_02064D88 FUN_02064D88: ; 0x02064D88 push {r3-r7, lr} add r5, r1, #0x0 add r7, r0, #0x0 cmp r5, #0x3 blo _02064D96 bl ErrorHandling _02064D96: add r0, r7, #0x0 bl FUN_020377AC bl FUN_02024ED8 add r4, r0, #0x0 mov r1, #0x5 bl FUN_02025490 add r0, r4, #0x0 mov r1, #0x5 bl FUN_020254A0 add r4, r0, #0x0 str r5, [r4, #0x4] cmp r5, #0x0 beq _02064DC2 cmp r5, #0x1 beq _02064DCA cmp r5, #0x2 beq _02064DD2 b _02064DDA _02064DC2: mov r0, #0x2 str r0, [r4, #0x0] mov r6, #0xe b _02064DDE _02064DCA: mov r0, #0x1 str r0, [r4, #0x0] mov r6, #0x15 b _02064DDE _02064DD2: mov r0, #0x0 str r0, [r4, #0x0] mov r6, #0x19 b _02064DDE _02064DDA: bl ErrorHandling _02064DDE: ldr r0, [r7, #0x1c] ldr r0, [r0, #0xc] cmp r0, r6 bne _02064DEA mov r0, #0x0 str r0, [r4, #0x0] _02064DEA: pop {r3-r7, pc} thumb_func_start FUN_02064DEC FUN_02064DEC: ; 0x02064DEC push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x1 bls _02064DFC bl ErrorHandling _02064DFC: mov r0, #0x0 mvn r0, r0 mov r1, #0x20 ldr r2, [r6, #0x0] sub r1, r1, r5 add r3, r0, #0x0 lsr r3, r1 add r1, r2, #0x0 and r1, r3 add r3, r5, #0x1 lsl r0, r3 and r2, r0 add r0, r4, #0x0 lsl r0, r5 orr r0, r2 orr r0, r1 str r0, [r6, #0x0] pop {r4-r6, pc} thumb_func_start FUN_02064E20 FUN_02064E20: ; 0x02064E20 push {r4, lr} bl FUN_020377AC bl FUN_02024ED8 add r4, r0, #0x0 bl FUN_020254B4 cmp r0, #0x6 beq _02064E48 add r0, r4, #0x0 mov r1, #0x6 bl FUN_02025490 add r0, r4, #0x0 mov r1, #0x6 bl FUN_020254A0 mov r1, #0x2 strh r1, [r0, #0x0] _02064E48: pop {r4, pc} .balign 4 thumb_func_start FUN_02064E4C FUN_02064E4C: ; 0x02064E4C push {r4, lr} add r4, r2, #0x0 bl FUN_0200A8E0 mov r0, #0x0 add r1, r4, #0x0 add r2, r0, #0x0 bl FUN_02002E14 pop {r4, pc} thumb_func_start FUN_02064E60 FUN_02064E60: ; 0x02064E60 push {r4-r6, lr} add r6, r2, #0x0 add r5, r0, #0x0 add r3, r1, #0x0 ldr r2, _02064E8C ; =0x0000017E mov r0, #0x1 mov r1, #0x1a bl FUN_0200A86C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02034824 add r1, r0, #0x0 add r0, r4, #0x0 add r2, r6, #0x0 bl FUN_02064E4C add r0, r4, #0x0 bl FUN_0200A8B8 pop {r4-r6, pc} .balign 4 _02064E8C: .word 0x0000017E thumb_func_start FUN_02064E90 FUN_02064E90: ; 0x02064E90 push {r3-r7, lr} sub sp, #0xa0 str r0, [sp, #0x10] ldr r6, [sp, #0xb8] str r1, [sp, #0x14] str r2, [sp, #0x18] add r0, r6, #0x0 str r3, [sp, #0x1c] ldr r5, [sp, #0xbc] bl FUN_020377AC str r0, [sp, #0x20] bl FUN_020238F4 add r7, r0, #0x0 ldr r0, [sp, #0x20] bl FUN_02029FC8 add r4, r0, #0x0 ldr r0, [sp, #0x1c] strb r0, [r5, #0x5] add r0, r6, #0x0 bl FUN_02065078 str r0, [sp, #0x24] add r0, r7, #0x0 bl FUN_02023A70 str r0, [sp, #0x0] str r5, [sp, #0x4] ldr r0, [sp, #0x10] ldr r2, [sp, #0x24] ldr r3, [sp, #0x18] mov r1, #0xa bl FUN_02065154 add r0, r7, #0x0 bl FUN_020239C0 str r0, [sp, #0x28] add r0, r7, #0x0 bl FUN_020239CC str r0, [sp, #0x2c] add r0, r7, #0x0 bl FUN_0202398C str r0, [sp, #0x30] add r0, r7, #0x0 bl FUN_02023A10 str r0, [sp, #0x34] ldr r0, [r6, #0xc] bl FUN_02024DA0 bl FUN_02024440 str r0, [sp, #0x38] ldr r0, [r6, #0xc] bl FUN_02024DA0 bl FUN_02024D64 str r0, [sp, #0x3c] add r0, r4, #0x0 bl FUN_0202A1B8 ldr r1, [sp, #0x38] ldr r2, [sp, #0x30] str r1, [sp, #0x0] ldr r1, [sp, #0x3c] ldr r3, [sp, #0x34] str r1, [sp, #0x4] str r0, [sp, #0x8] ldr r1, [sp, #0x2c] ldr r0, [sp, #0x28] lsl r1, r1, #0x18 lsr r1, r1, #0x18 str r5, [sp, #0xc] bl FUN_02065178 ldr r0, [sp, #0x20] bl FUN_02023918 str r0, [sp, #0x40] add r0, r6, #0x0 add r1, sp, #0x90 add r2, sp, #0x74 bl FUN_0204B2F0 add r0, r6, #0x0 add r1, sp, #0x80 add r2, sp, #0x74 bl FUN_0204B30C ldr r0, [r6, #0xc] bl FUN_020462AC bl FUN_0205ED0C add r1, sp, #0x74 str r1, [sp, #0x0] ldr r1, [sp, #0x14] lsl r0, r0, #0x18 str r1, [sp, #0x4] ldr r1, [sp, #0x40] str r5, [sp, #0x8] lsr r0, r0, #0x18 add r2, sp, #0x90 add r3, sp, #0x80 bl FUN_020651BC ldr r0, [r6, #0xc] bl FUN_02029ABC str r0, [sp, #0x44] add r0, r4, #0x0 mov r1, #0x20 bl FUN_0202A150 str r0, [sp, #0x48] add r0, r4, #0x0 mov r1, #0x19 bl FUN_0202A150 str r0, [sp, #0x4c] add r0, r4, #0x0 mov r1, #0x14 bl FUN_0202A150 str r0, [sp, #0x50] add r0, r4, #0x0 mov r1, #0x18 bl FUN_0202A150 str r0, [sp, #0x54] add r0, r4, #0x0 mov r1, #0x40 bl FUN_0202A150 str r0, [sp, #0x58] add r0, r4, #0x0 mov r1, #0x13 bl FUN_0202A150 ldr r1, [sp, #0x58] add r1, r1, r0 ldr r0, [sp, #0x54] add r1, r0, r1 ldr r0, [sp, #0x50] add r1, r0, r1 ldr r0, [sp, #0x4c] add r0, r0, r1 str r0, [sp, #0x5c] add r0, r4, #0x0 mov r1, #0x15 bl FUN_0202A150 str r0, [sp, #0x60] add r0, r4, #0x0 mov r1, #0x1a bl FUN_0202A150 str r0, [sp, #0x64] add r0, r4, #0x0 mov r1, #0x16 bl FUN_0202A150 str r0, [sp, #0x68] add r0, r4, #0x0 mov r1, #0x1b bl FUN_0202A150 str r0, [sp, #0x6c] add r0, r4, #0x0 mov r1, #0x13 bl FUN_0202A150 str r0, [sp, #0x70] add r0, r4, #0x0 mov r1, #0x18 bl FUN_0202A150 add r4, r0, #0x0 ldr r0, [sp, #0x44] bl FUN_02029AC8 str r0, [sp, #0x0] ldr r1, [sp, #0x48] ldr r0, [sp, #0x5c] ldr r2, [sp, #0x60] add r0, r1, r0 ldr r1, [sp, #0x64] ldr r3, [sp, #0x68] add r1, r2, r1 ldr r2, [sp, #0x6c] str r5, [sp, #0x4] add r2, r3, r2 ldr r3, [sp, #0x70] add r3, r3, r4 bl FUN_02065260 add r0, r7, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 bl FUN_020652AC mov r3, #0x0 ldr r0, _0206504C ; =0x0000066C add r2, r3, #0x0 _02065034: ldrb r1, [r5, r2] add r2, r2, #0x1 eor r3, r1 cmp r2, r0 blo _02065034 ldr r0, _02065050 ; =0x00000668 mov r1, #0x0 strh r3, [r5, r0] add r0, r0, #0x2 strh r1, [r5, r0] add sp, #0xa0 pop {r3-r7, pc} .balign 4 _0206504C: .word 0x0000066C _02065050: .word 0x00000668 thumb_func_start FUN_02065054 FUN_02065054: ; 0x02065054 push {r4, lr} ldr r1, _0206506C ; =0x0000066C bl FUN_02016998 ldr r2, _0206506C ; =0x0000066C mov r1, #0x0 add r4, r0, #0x0 blx Call_FillMemWithValue add r0, r4, #0x0 pop {r4, pc} nop _0206506C: .word 0x0000066C thumb_func_start FUN_02065070 FUN_02065070: ; 0x02065070 ldr r3, _02065074 ; =FUN_02016A18 bx r3 .balign 4 _02065074: .word FUN_02016A18 thumb_func_start FUN_02065078 FUN_02065078: ; 0x02065078 push {r3-r7, lr} bl FUN_020377AC add r7, r0, #0x0 bl FUN_02029FC8 add r6, r0, #0x0 add r0, r7, #0x0 bl FUN_020462AC add r5, r0, #0x0 add r0, r7, #0x0 bl FUN_02026CB4 str r0, [sp, #0x0] add r0, r5, #0x0 mov r4, #0x0 bl FUN_0205ED0C cmp r0, #0x0 beq _020650A8 add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _020650A8: add r0, r7, #0x0 bl FUN_02024DA0 bl FUN_020244EC cmp r0, #0x0 beq _020650BC add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _020650BC: add r0, r6, #0x0 mov r1, #0x35 bl FUN_0202A150 cmp r0, #0x64 bhs _020650F8 add r0, r6, #0x0 mov r1, #0x37 bl FUN_0202A150 cmp r0, #0x64 bhs _020650F8 add r0, r6, #0x0 mov r1, #0x39 bl FUN_0202A150 cmp r0, #0x64 bhs _020650F8 add r0, r6, #0x0 mov r1, #0x3b bl FUN_0202A150 cmp r0, #0x64 bhs _020650F8 add r0, r6, #0x0 mov r1, #0x3d bl FUN_0202A150 cmp r0, #0x64 blo _020650FE _020650F8: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _020650FE: add r0, r5, #0x0 mov r1, #0x0 bl FUN_0205EE60 cmp r0, #0x0 bne _0206513A add r0, r5, #0x0 mov r1, #0x1 bl FUN_0205EE60 cmp r0, #0x0 bne _0206513A add r0, r5, #0x0 mov r1, #0x3 bl FUN_0205EE60 cmp r0, #0x0 bne _0206513A add r0, r5, #0x0 mov r1, #0x4 bl FUN_0205EE60 cmp r0, #0x0 bne _0206513A add r0, r5, #0x0 mov r1, #0x2 bl FUN_0205EE60 cmp r0, #0x0 beq _02065140 _0206513A: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _02065140: ldr r0, [sp, #0x0] bl FUN_020268D4 cmp r0, #0x1 bne _02065150 add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _02065150: add r0, r4, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02065154 FUN_02065154: ; 0x02065154 push {r3-r6} ldr r5, [sp, #0x14] mov r6, #0x1 ldrb r4, [r5, #0x4] bic r4, r6 mov r6, #0x1 and r0, r6 orr r0, r4 strb r0, [r5, #0x4] strb r1, [r5, #0x0] strb r2, [r5, #0x3] add r0, sp, #0x0 ldrb r0, [r0, #0x10] strb r0, [r5, #0x1] strb r3, [r5, #0x2] pop {r3-r6} bx lr .balign 4 thumb_func_start FUN_02065178 FUN_02065178: ; 0x02065178 push {r4-r6, lr} ldr r4, [sp, #0x1c] add r6, r1, #0x0 strh r0, [r4, #0x28] ldrb r0, [r4, #0x4] add r1, r2, #0x0 mov r2, #0x4 bic r0, r2 lsl r2, r6, #0x1f lsr r2, r2, #0x1d orr r0, r2 strb r0, [r4, #0x4] add r0, r4, #0x0 add r0, #0x8 mov r2, #0x8 add r5, r3, #0x0 bl StringCopyN ldr r0, [sp, #0x10] str r5, [r4, #0x1c] str r0, [r4, #0x20] ldrb r0, [r4, #0x4] mov r1, #0x8 bic r0, r1 ldr r1, [sp, #0x14] lsl r1, r1, #0x18 lsr r1, r1, #0x18 lsl r1, r1, #0x1f lsr r1, r1, #0x1c orr r0, r1 strb r0, [r4, #0x4] ldr r0, [sp, #0x18] str r0, [r4, #0x24] pop {r4-r6, pc} thumb_func_start FUN_020651BC FUN_020651BC: ; 0x020651BC push {r3-r7, lr} sub sp, #0x8 ldr r4, [sp, #0x28] str r0, [sp, #0x0] str r1, [sp, #0x4] add r0, r1, #0x0 add r5, r2, #0x0 add r6, r3, #0x0 ldr r7, [sp, #0x20] bl FUN_02029EBC strh r0, [r4, #0x2a] ldr r0, [sp, #0x4] bl FUN_02029EC0 add r1, r4, #0x0 add r1, #0x2e strb r0, [r1, #0x0] add r0, r4, #0x0 ldr r1, [r5, #0x0] add r0, #0x2f strb r1, [r0, #0x0] add r0, r4, #0x0 ldr r1, [r5, #0x4] add r0, #0x30 strb r1, [r0, #0x0] add r0, r4, #0x0 ldr r1, [r5, #0x8] add r0, #0x31 strb r1, [r0, #0x0] ldr r0, [sp, #0x0] cmp r0, #0x0 beq _0206521E add r0, r4, #0x0 ldr r1, [r6, #0x0] add r0, #0x32 strb r1, [r0, #0x0] add r0, r4, #0x0 ldr r1, [r6, #0x4] add r0, #0x33 strb r1, [r0, #0x0] add r0, r4, #0x0 ldr r1, [r6, #0x8] add r0, #0x34 strb r1, [r0, #0x0] ldr r0, [r7, #0x0] strh r0, [r4, #0x2c] ldr r1, [r7, #0x4] b _02065234 _0206521E: add r0, r4, #0x0 mov r1, #0x0 add r0, #0x32 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x33 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x34 strb r1, [r0, #0x0] strh r1, [r4, #0x2c] _02065234: add r0, r4, #0x0 add r0, #0x35 strb r1, [r0, #0x0] ldrb r2, [r4, #0x4] mov r0, #0x2 bic r2, r0 add r0, sp, #0x10 ldrb r0, [r0, #0x14] lsl r1, r0, #0x1f lsr r1, r1, #0x1e orr r1, r2 strb r1, [r4, #0x4] cmp r0, #0x0 beq _02065258 ldr r0, [sp, #0x4] add sp, #0x8 str r0, [r4, #0x18] pop {r3-r7, pc} _02065258: mov r0, #0x0 str r0, [r4, #0x18] add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_02065260 FUN_02065260: ; 0x02065260 push {r3-r5, lr} ldr r4, [sp, #0x14] ldr r5, _020652A0 ; =0x000F423F str r0, [r4, #0x38] cmp r0, r5 bls _0206526E str r5, [r4, #0x38] _0206526E: str r1, [r4, #0x3c] str r2, [r4, #0x40] ldr r1, [r4, #0x3c] ldr r0, _020652A4 ; =0x0000270F cmp r1, r0 bls _0206527C str r0, [r4, #0x3c] _0206527C: ldr r1, [r4, #0x40] ldr r0, _020652A4 ; =0x0000270F cmp r1, r0 bls _02065286 str r0, [r4, #0x40] _02065286: ldr r0, _020652A8 ; =0x0001869F str r3, [r4, #0x44] cmp r3, r0 bls _02065290 str r0, [r4, #0x44] _02065290: add r4, #0x68 mov r2, #0x6 ldr r0, [sp, #0x10] add r1, r4, #0x0 lsl r2, r2, #0x8 blx MI_CpuCopy8 pop {r3-r5, pc} .balign 4 _020652A0: .word 0x000F423F _020652A4: .word 0x0000270F _020652A8: .word 0x0001869F thumb_func_start FUN_020652AC FUN_020652AC: ; 0x020652AC push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] ldr r0, [r1, #0xc] add r5, r2, #0x0 bl FUN_02029ABC bl FUN_02029ACC str r0, [sp, #0x4] mov r0, #0x1 mov r4, #0x0 add r5, #0x48 str r0, [sp, #0x8] add r7, r0, #0x0 _020652CA: ldr r0, [sp, #0x0] add r1, r4, #0x0 bl FUN_020239D0 cmp r0, #0x0 beq _020652E6 lsl r0, r4, #0x2 ldr r2, [r5, r0] mov r1, #0x1 bic r2, r7 orr r1, r2 add r6, r5, r0 str r1, [r5, r0] b _020652F2 _020652E6: lsl r2, r4, #0x2 ldr r1, [r5, r2] ldr r0, [sp, #0x8] add r6, r5, r2 bic r1, r0 str r1, [r5, r2] _020652F2: ldr r1, [sp, #0x4] add r0, r4, #0x0 bl FUN_02029AD0 ldr r2, [r6, #0x0] mov r1, #0x1 and r1, r2 lsl r0, r0, #0x1 orr r0, r1 str r0, [r6, #0x0] add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x8 blo _020652CA add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_02065314 FUN_02065314: ; 0x02065314 push {r4-r6, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 bl FUN_02029ABC bl FUN_02029ACC add r6, r0, #0x0 mov r4, #0x0 _02065326: lsl r1, r4, #0x2 add r1, r5, r1 ldr r1, [r1, #0x48] add r0, r4, #0x0 asr r1, r1, #0x1 add r2, r6, #0x0 bl FUN_02029AD8 add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x8 blo _02065326 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02065344 FUN_02065344: ; 0x02065344 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0xb mov r1, #0x8 bl FUN_020169D8 add r4, r0, #0x0 mov r0, #0x0 str r0, [r4, #0x0] ldr r0, [r5, #0x78] bl FUN_02052E38 str r0, [r4, #0x4] ldr r0, [r5, #0x10] ldr r1, _0206536C ; =FUN_02065370 add r2, r4, #0x0 bl FUN_0204640C pop {r3-r5, pc} nop _0206536C: .word FUN_02065370 thumb_func_start FUN_02065370 FUN_02065370: ; 0x02065370 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02046528 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r5, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, #0xa bgt _0206539A bge _020653BA cmp r0, #0x1 bgt _020653E2 cmp r0, #0x0 blt _020653E2 beq _020653A0 cmp r0, #0x1 beq _020653AA b _020653E2 _0206539A: cmp r0, #0xb beq _020653C8 b _020653E2 _020653A0: ldr r0, [r4, #0x78] bl FUN_02052ED0 mov r0, #0x1 str r0, [r5, #0x0] _020653AA: ldr r1, [r5, #0x4] ldr r0, _020653E8 ; =0x0000066A ldrh r0, [r1, r0] cmp r0, #0x0 beq _020653E2 mov r0, #0xa str r0, [r5, #0x0] b _020653E2 _020653BA: ldr r1, [r5, #0x4] add r0, r4, #0x0 bl FUN_02038680 mov r0, #0xb str r0, [r5, #0x0] b _020653E2 _020653C8: add r0, r4, #0x0 bl FUN_0204647C cmp r0, #0x0 bne _020653E2 ldr r0, [r4, #0x78] bl FUN_02052EAC add r0, r5, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _020653E2: mov r0, #0x0 pop {r3-r5, pc} nop _020653E8: .word 0x0000066A thumb_func_start FUN_020653EC FUN_020653EC: ; 0x020653EC push {r4-r6, lr} mov r2, #0x5 add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0x3 mov r1, #0x2b lsl r2, r2, #0xc bl FUN_0201681C mov r1, #0x6e mov r0, #0x2b lsl r1, r1, #0x2 bl FUN_02016998 mov r2, #0x6e mov r1, #0x0 lsl r2, r2, #0x2 add r4, r0, #0x0 blx MI_CpuFill8 add r0, r5, #0x0 str r6, [r4, #0x4] bl FUN_020377AC mov r1, #0x5b lsl r1, r1, #0x2 str r5, [r4, r1] mov r1, #0x2b str r1, [r4, #0x0] mov r1, #0x0 strb r1, [r4, #0x19] mov r1, #0xff add r6, r0, #0x0 strb r1, [r4, #0x1a] bl LoadPlayerDataAddress bl FUN_02024FF4 strb r0, [r4, #0x16] add r0, r6, #0x0 bl LoadPlayerDataAddress bl FUN_02025084 strh r0, [r4, #0x14] add r0, r4, #0x0 ldr r2, [r4, #0x0] add r0, #0x1c mov r1, #0x14 bl FUN_02066010 ldr r2, [r4, #0x0] add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_02066070 add r0, r4, #0x0 bl FUN_02066270 ldr r0, _02065470 ; =FUN_020654B0 add r1, r4, #0x0 mov r2, #0x0 bl FUN_0200CA44 str r0, [r4, #0x8] pop {r4-r6, pc} .balign 4 _02065470: .word FUN_020654B0 thumb_func_start FUN_02065474 FUN_02065474: ; 0x02065474 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x8] bl FUN_0200CAB4 ldr r0, [r4, #0x4] mov r1, #0x1 str r1, [r0, #0x0] add r0, r4, #0x0 bl FUN_020662E4 add r0, r4, #0x0 add r0, #0x1c mov r1, #0x14 bl FUN_02066044 add r0, r4, #0x0 bl FUN_02016A18 ldr r0, [r4, #0x0] bl FUN_020168D0 pop {r4, pc} .balign 4 thumb_func_start FUN_020654A4 FUN_020654A4: ; 0x020654A4 ldr r3, _020654AC ; =FUN_02065474 add r0, r1, #0x0 bx r3 nop _020654AC: .word FUN_02065474 thumb_func_start FUN_020654B0 FUN_020654B0: ; 0x020654B0 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02066334 add r0, r4, #0x0 bl FUN_02065AF4 ldr r1, _020654CC ; =FUN_020654D0 add r0, r5, #0x0 bl FUN_0201B6C4 pop {r3-r5, pc} .balign 4 _020654CC: .word FUN_020654D0 thumb_func_start FUN_020654D0 FUN_020654D0: ; 0x020654D0 push {r3-r5, lr} mov r0, #0x16 add r5, r1, #0x0 lsl r0, r0, #0x4 ldr r0, [r5, r0] bl FUN_02001204 add r4, r0, #0x0 mov r0, #0x69 lsl r0, r0, #0x2 ldr r0, [r5, r0] cmp r0, #0x0 beq _020654EE bl FUN_0205EC18 _020654EE: ldr r0, _02065544 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x2 tst r0, r1 beq _0206550A ldr r1, _02065548 ; =FUN_02065658 ldr r2, _0206554C ; =FUN_020654A4 add r0, r5, #0x0 bl FUN_02065FE4 ldr r0, _02065550 ; =0x000005DC bl FUN_020054C8 pop {r3-r5, pc} _0206550A: mov r0, #0x1 tst r0, r1 beq _02065542 ldr r0, _02065550 ; =0x000005DC bl FUN_020054C8 mov r1, #0x1 mvn r1, r1 cmp r4, r1 beq _0206552A add r0, r1, #0x1 cmp r4, r0 beq _0206552A lsr r0, r1, #0x10 cmp r4, r0 bne _02065536 _0206552A: ldr r1, _02065548 ; =FUN_02065658 ldr r2, _0206554C ; =FUN_020654A4 add r0, r5, #0x0 bl FUN_02065FE4 pop {r3-r5, pc} _02065536: ldr r1, _02065548 ; =FUN_02065658 ldr r2, _02065554 ; =FUN_02065558 add r0, r5, #0x0 strb r4, [r5, #0x18] bl FUN_02065FE4 _02065542: pop {r3-r5, pc} .balign 4 _02065544: .word 0x021C48B8 _02065548: .word FUN_02065658 _0206554C: .word FUN_020654A4 _02065550: .word 0x000005DC _02065554: .word FUN_02065558 thumb_func_start FUN_02065558 FUN_02065558: ; 0x02065558 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 ldrh r0, [r4, #0x10] cmp r0, #0x0 beq _0206556A cmp r0, #0x1 beq _02065592 pop {r3-r5, pc} _0206556A: add r0, r4, #0x0 bl FUN_02066334 mov r1, #0x0 add r0, r4, #0x0 add r2, r1, #0x0 bl FUN_02065DD8 mov r0, #0x1 str r0, [sp, #0x0] mov r1, #0x0 ldrb r2, [r4, #0x16] add r0, r4, #0x0 add r3, r1, #0x0 bl FUN_02066404 ldrh r0, [r4, #0x10] add r0, r0, #0x1 strh r0, [r4, #0x10] pop {r3-r5, pc} _02065592: add r0, r4, #0x0 bl FUN_020664F4 cmp r0, #0x0 beq _020655A8 ldr r1, _020655AC ; =FUN_020655B0 add r0, r5, #0x0 bl FUN_0201B6C4 mov r0, #0x0 strh r0, [r4, #0x10] _020655A8: pop {r3-r5, pc} nop _020655AC: .word FUN_020655B0 thumb_func_start FUN_020655B0 FUN_020655B0: ; 0x020655B0 push {r4-r6, lr} add r6, r0, #0x0 mov r0, #0x16 add r4, r1, #0x0 lsl r0, r0, #0x4 ldr r0, [r4, r0] bl FUN_02001204 add r5, r0, #0x0 ldr r0, _02065638 ; =0x021C48B8 mov r1, #0x2 ldr r0, [r0, #0x48] tst r1, r0 beq _020655DE ldr r1, _0206563C ; =FUN_02065674 ldr r2, _02065640 ; =FUN_020654B0 add r0, r4, #0x0 bl FUN_02065FE4 ldr r0, _02065644 ; =0x000005DC bl FUN_020054C8 pop {r4-r6, pc} _020655DE: mov r1, #0x1 tst r0, r1 beq _02065634 ldr r0, _02065644 ; =0x000005DC bl FUN_020054C8 add r0, r5, #0x2 cmp r0, #0x5 bhi _0206562C add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020655FC: ; jump table (using 16-bit offset) .short _02065608 - _020655FC - 2; case 0 .short _02065608 - _020655FC - 2; case 1 .short _0206562C - _020655FC - 2; case 2 .short _02065614 - _020655FC - 2; case 3 .short _02065620 - _020655FC - 2; case 4 .short _02065608 - _020655FC - 2; case 5 _02065608: ldr r1, _0206563C ; =FUN_02065674 ldr r2, _02065640 ; =FUN_020654B0 add r0, r4, #0x0 bl FUN_02065FE4 pop {r4-r6, pc} _02065614: ldr r1, _02065648 ; =FUN_02065710 add r0, r4, #0x0 mov r2, #0x0 bl FUN_02065FE4 pop {r4-r6, pc} _02065620: ldr r1, _0206564C ; =FUN_02065894 ldr r2, _02065650 ; =FUN_02065938 add r0, r4, #0x0 bl FUN_02065FE4 pop {r4-r6, pc} _0206562C: ldr r1, _02065654 ; =FUN_02065690 add r0, r6, #0x0 bl FUN_0201B6C4 _02065634: pop {r4-r6, pc} nop _02065638: .word 0x021C48B8 _0206563C: .word FUN_02065674 _02065640: .word FUN_020654B0 _02065644: .word 0x000005DC _02065648: .word FUN_02065710 _0206564C: .word FUN_02065894 _02065650: .word FUN_02065938 _02065654: .word FUN_02065690 thumb_func_start FUN_02065658 FUN_02065658: ; 0x02065658 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02065EF8 add r0, r4, #0x0 bl FUN_020663D4 ldr r1, [r4, #0xc] add r0, r5, #0x0 bl FUN_0201B6C4 pop {r3-r5, pc} thumb_func_start FUN_02065674 FUN_02065674: ; 0x02065674 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02065F8C add r0, r4, #0x0 bl FUN_020663D4 ldr r1, [r4, #0xc] add r0, r5, #0x0 bl FUN_0201B6C4 pop {r3-r5, pc} thumb_func_start FUN_02065690 FUN_02065690: ; 0x02065690 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 ldrh r0, [r4, #0x10] cmp r0, #0x3 bhi _02065704 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020656A8: ; jump table (using 16-bit offset) .short _020656B0 - _020656A8 - 2; case 0 .short _020656C6 - _020656A8 - 2; case 1 .short _020656D2 - _020656A8 - 2; case 2 .short _020656DE - _020656A8 - 2; case 3 _020656B0: add r0, r4, #0x0 mov r1, #0x0 bl FUN_02066578 cmp r0, #0x0 beq _0206570A add r0, r4, #0x0 mov r1, #0x1 bl FUN_02066634 b _02065704 _020656C6: add r0, r4, #0x0 bl FUN_02066728 cmp r0, #0x0 bne _02065704 pop {r3-r5, pc} _020656D2: add r0, r4, #0x0 bl FUN_020665C0 cmp r0, #0x0 bne _02065704 pop {r3-r5, pc} _020656DE: add r0, r4, #0x0 mov r1, #0x1 bl FUN_02066578 cmp r0, #0x0 beq _0206570A add r0, r4, #0x0 bl FUN_02066334 add r0, r4, #0x0 bl FUN_02065AF4 mov r0, #0x0 strh r0, [r4, #0x10] ldr r1, _0206570C ; =FUN_020654D0 add r0, r5, #0x0 bl FUN_0201B6C4 pop {r3-r5, pc} _02065704: ldrh r0, [r4, #0x10] add r0, r0, #0x1 strh r0, [r4, #0x10] _0206570A: pop {r3-r5, pc} .balign 4 _0206570C: .word FUN_020654D0 thumb_func_start FUN_02065710 FUN_02065710: ; 0x02065710 push {r3-r4, lr} sub sp, #0x4 add r4, r1, #0x0 ldrh r0, [r4, #0x10] cmp r0, #0x5 bhi _020657DA add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02065728: ; jump table (using 16-bit offset) .short _02065734 - _02065728 - 2; case 0 .short _02065744 - _02065728 - 2; case 1 .short _02065756 - _02065728 - 2; case 2 .short _02065780 - _02065728 - 2; case 3 .short _02065798 - _02065728 - 2; case 4 .short _020657AA - _02065728 - 2; case 5 _02065734: mov r1, #0x1 str r1, [sp, #0x0] ldrb r2, [r4, #0x16] add r0, r4, #0x0 mov r3, #0x0 bl FUN_02066404 b _020657DA _02065744: add r0, r4, #0x0 bl FUN_020664F4 cmp r0, #0x0 beq _020657E0 add r0, r4, #0x0 bl FUN_02066520 b _020657DA _02065756: add r0, r4, #0x0 bl FUN_0206654C cmp r0, #0x0 blt _020657E0 beq _02065778 mov r3, #0x0 str r3, [sp, #0x0] ldrb r2, [r4, #0x16] add r0, r4, #0x0 mov r1, #0x2 bl FUN_02066404 mov r0, #0x4 add sp, #0x4 strh r0, [r4, #0x10] pop {r3-r4, pc} _02065778: mov r0, #0x3 add sp, #0x4 strh r0, [r4, #0x10] pop {r3-r4, pc} _02065780: add r0, r4, #0x0 bl FUN_020664D8 ldr r1, _020657E4 ; =FUN_02065674 ldr r2, _020657E8 ; =FUN_020654B0 add r0, r4, #0x0 bl FUN_02065FE4 mov r0, #0x0 add sp, #0x4 strh r0, [r4, #0x10] pop {r3-r4, pc} _02065798: add r0, r4, #0x0 bl FUN_020664F4 cmp r0, #0x0 beq _020657E0 add r0, r4, #0x0 bl FUN_02066520 b _020657DA _020657AA: add r0, r4, #0x0 bl FUN_0206654C cmp r0, #0x0 blt _020657E0 beq _020657C2 ldr r1, _020657EC ; =FUN_020659B8 add r0, r4, #0x0 mov r2, #0x0 bl FUN_02065FE4 b _020657CC _020657C2: ldr r1, _020657F0 ; =FUN_020657F4 ldr r2, _020657E4 ; =FUN_02065674 add r0, r4, #0x0 bl FUN_02065FE4 _020657CC: add r0, r4, #0x0 bl FUN_020664D8 mov r0, #0x0 add sp, #0x4 strh r0, [r4, #0x10] pop {r3-r4, pc} _020657DA: ldrh r0, [r4, #0x10] add r0, r0, #0x1 strh r0, [r4, #0x10] _020657E0: add sp, #0x4 pop {r3-r4, pc} .balign 4 _020657E4: .word FUN_02065674 _020657E8: .word FUN_020654B0 _020657EC: .word FUN_020659B8 _020657F0: .word FUN_020657F4 thumb_func_start FUN_020657F4 FUN_020657F4: ; 0x020657F4 push {r3-r4, lr} sub sp, #0x4 add r4, r1, #0x0 ldrh r0, [r4, #0x10] cmp r0, #0x0 beq _0206580A cmp r0, #0x1 beq _0206584E cmp r0, #0x2 beq _0206585C b _0206587E _0206580A: ldr r0, [r4, #0xc] cmp r0, #0x0 bne _02065820 add r0, r4, #0x0 bl FUN_02066334 add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x1 bl FUN_02065DD8 _02065820: add r0, r4, #0x0 bl FUN_020661A0 cmp r0, #0x0 beq _0206583C mov r0, #0x1 str r0, [sp, #0x0] ldrb r2, [r4, #0x16] add r0, r4, #0x0 mov r1, #0x3 mov r3, #0x0 bl FUN_02066404 b _0206587E _0206583C: mov r0, #0x1 str r0, [sp, #0x0] ldrb r2, [r4, #0x16] add r0, r4, #0x0 mov r1, #0x4 mov r3, #0x0 bl FUN_02066404 b _0206587E _0206584E: add r0, r4, #0x0 bl FUN_020664F4 cmp r0, #0x0 bne _0206587E add sp, #0x4 pop {r3-r4, pc} _0206585C: ldr r0, _02065888 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _02065884 add r0, r4, #0x0 bl FUN_020664D8 ldr r1, _0206588C ; =FUN_02065674 ldr r2, _02065890 ; =FUN_020654B0 add r0, r4, #0x0 bl FUN_02065FE4 mov r0, #0x0 add sp, #0x4 strh r0, [r4, #0x10] pop {r3-r4, pc} _0206587E: ldrh r0, [r4, #0x10] add r0, r0, #0x1 strh r0, [r4, #0x10] _02065884: add sp, #0x4 pop {r3-r4, pc} .balign 4 _02065888: .word 0x021C48B8 _0206588C: .word FUN_02065674 _02065890: .word FUN_020654B0 thumb_func_start FUN_02065894 FUN_02065894: ; 0x02065894 push {r3-r5, lr} add r4, r1, #0x0 ldrh r0, [r4, #0x10] cmp r0, #0x3 bhi _0206592C add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020658AA: ; jump table (using 16-bit offset) .short _020658B2 - _020658AA - 2; case 0 .short _020658C8 - _020658AA - 2; case 1 .short _020658D6 - _020658AA - 2; case 2 .short _020658E2 - _020658AA - 2; case 3 _020658B2: add r0, r4, #0x0 mov r1, #0x0 bl FUN_02066578 cmp r0, #0x0 beq _02065932 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02066634 b _0206592C _020658C8: add r0, r4, #0x0 mov r1, #0xe bl FUN_02066664 cmp r0, #0x0 bne _0206592C pop {r3-r5, pc} _020658D6: add r0, r4, #0x0 bl FUN_020665C0 cmp r0, #0x0 bne _0206592C pop {r3-r5, pc} _020658E2: add r0, r4, #0x0 mov r1, #0x1 bl FUN_02066578 cmp r0, #0x0 beq _02065932 mov r0, #0x6d lsl r0, r0, #0x2 ldr r0, [r4, r0] add r1, r0, #0x0 add r1, #0x22 ldrb r5, [r1, #0x0] bl FUN_02016A18 cmp r5, #0x7 bne _02065912 ldr r1, [r4, #0xc] add r0, r4, #0x0 mov r2, #0x0 bl FUN_02065FE4 mov r0, #0x0 strh r0, [r4, #0x10] pop {r3-r5, pc} _02065912: add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x0 bl FUN_020661F8 ldr r1, _02065934 ; =FUN_020654B0 add r0, r4, #0x0 mov r2, #0x0 bl FUN_02065FE4 mov r0, #0x0 strh r0, [r4, #0x10] pop {r3-r5, pc} _0206592C: ldrh r0, [r4, #0x10] add r0, r0, #0x1 strh r0, [r4, #0x10] _02065932: pop {r3-r5, pc} .balign 4 _02065934: .word FUN_020654B0 thumb_func_start FUN_02065938 FUN_02065938: ; 0x02065938 push {r3-r4, lr} sub sp, #0x4 add r4, r1, #0x0 ldrh r0, [r4, #0x10] cmp r0, #0x0 beq _0206594E cmp r0, #0x1 beq _02065970 cmp r0, #0x2 beq _0206597E b _020659A0 _0206594E: add r0, r4, #0x0 bl FUN_02066334 add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x2 bl FUN_02065DD8 mov r0, #0x1 str r0, [sp, #0x0] ldrb r2, [r4, #0x16] add r0, r4, #0x0 mov r1, #0x5 mov r3, #0x0 bl FUN_02066404 b _020659A0 _02065970: add r0, r4, #0x0 bl FUN_020664F4 cmp r0, #0x0 bne _020659A0 add sp, #0x4 pop {r3-r4, pc} _0206597E: ldr r0, _020659AC ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _020659A6 add r0, r4, #0x0 bl FUN_020664D8 ldr r1, _020659B0 ; =FUN_02065674 ldr r2, _020659B4 ; =FUN_020654B0 add r0, r4, #0x0 bl FUN_02065FE4 mov r0, #0x0 add sp, #0x4 strh r0, [r4, #0x10] pop {r3-r4, pc} _020659A0: ldrh r0, [r4, #0x10] add r0, r0, #0x1 strh r0, [r4, #0x10] _020659A6: add sp, #0x4 pop {r3-r4, pc} nop _020659AC: .word 0x021C48B8 _020659B0: .word FUN_02065674 _020659B4: .word FUN_020654B0 thumb_func_start FUN_020659B8 FUN_020659B8: ; 0x020659B8 push {r4-r6, lr} add r4, r1, #0x0 ldrh r0, [r4, #0x10] cmp r0, #0x5 bls _020659C4 b _02065AE0 _020659C4: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020659D0: ; jump table (using 16-bit offset) .short _020659DC - _020659D0 - 2; case 0 .short _02065A24 - _020659D0 - 2; case 1 .short _02065A68 - _020659D0 - 2; case 2 .short _02065A86 - _020659D0 - 2; case 3 .short _02065AB8 - _020659D0 - 2; case 4 .short _02065AC4 - _020659D0 - 2; case 5 _020659DC: add r0, r4, #0x0 mov r1, #0x0 bl FUN_02066578 cmp r0, #0x0 beq _02065AE6 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02066634 mov r0, #0x1b lsl r0, r0, #0x4 ldrb r2, [r4, #0x18] mov r1, #0xc ldr r0, [r4, r0] mul r1, r2 add r1, r4, r1 ldrh r1, [r1, #0x22] ldr r2, [r4, #0x0] bl FUN_0206EEF8 cmp r0, #0x0 ldr r1, _02065AE8 ; =0x0000013B beq _02065A1A ldrb r2, [r4, r1] mov r0, #0xc0 bic r2, r0 mov r0, #0x40 orr r0, r2 strb r0, [r4, r1] b _02065AE0 _02065A1A: ldrb r2, [r4, r1] mov r0, #0xc0 bic r2, r0 strb r2, [r4, r1] b _02065AE0 _02065A24: add r0, r4, #0x0 mov r1, #0x9 bl FUN_02066664 cmp r0, #0x0 beq _02065AE6 mov r0, #0x6d lsl r0, r0, #0x2 ldr r0, [r4, r0] add r1, r0, #0x0 add r1, #0x22 ldrb r5, [r1, #0x0] add r1, r0, #0x0 add r1, #0x23 ldrb r6, [r1, #0x0] bl FUN_02016A18 cmp r6, #0x6 bne _02065A4E cmp r5, #0x7 bne _02065A58 _02065A4E: ldr r0, _02065AEC ; =FUN_020657F4 str r0, [r4, #0xc] mov r0, #0x4 strh r0, [r4, #0x10] pop {r4-r6, pc} _02065A58: strb r5, [r4, #0x17] ldrb r1, [r4, #0x18] mov r0, #0xc mov r2, #0x0 mul r0, r1 add r0, r4, r0 strb r2, [r0, #0x1d] b _02065AE0 _02065A68: add r0, r4, #0x0 bl FUN_02066728 cmp r0, #0x0 beq _02065AE6 cmp r0, #0x1 bne _02065A80 ldr r0, _02065AEC ; =FUN_020657F4 str r0, [r4, #0xc] mov r0, #0x4 strh r0, [r4, #0x10] pop {r4-r6, pc} _02065A80: ldr r0, _02065AF0 ; =FUN_020654B0 str r0, [r4, #0xc] b _02065AE0 _02065A86: add r0, r4, #0x0 mov r1, #0xb bl FUN_02066664 cmp r0, #0x0 beq _02065AE6 mov r0, #0x6d lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02016A18 ldr r2, _02065AE8 ; =0x0000013B ldrb r1, [r4, #0x17] ldrb r2, [r4, r2] add r0, r4, #0x0 lsl r2, r2, #0x18 lsr r2, r2, #0x1e bl FUN_020661F8 ldr r1, _02065AE8 ; =0x0000013B mov r0, #0xc0 ldrb r2, [r4, r1] bic r2, r0 strb r2, [r4, r1] b _02065AE0 _02065AB8: add r0, r4, #0x0 bl FUN_020665C0 cmp r0, #0x0 bne _02065AE0 pop {r4-r6, pc} _02065AC4: add r0, r4, #0x0 mov r1, #0x1 bl FUN_02066578 cmp r0, #0x0 beq _02065AE6 ldr r1, [r4, #0xc] add r0, r4, #0x0 mov r2, #0x0 bl FUN_02065FE4 mov r0, #0x0 strh r0, [r4, #0x10] pop {r4-r6, pc} _02065AE0: ldrh r0, [r4, #0x10] add r0, r0, #0x1 strh r0, [r4, #0x10] _02065AE6: pop {r4-r6, pc} .balign 4 _02065AE8: .word 0x0000013B _02065AEC: .word FUN_020657F4 _02065AF0: .word FUN_020654B0 thumb_func_start FUN_02065AF4 FUN_02065AF4: ; 0x02065AF4 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 ldr r0, [r5, #0x0] mov r6, #0x0 bl FUN_0205EB38 mov r1, #0x69 lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [r5, r1] mov r1, #0xc8 mov r2, #0xa mov r3, #0x8a bl FUN_0205EC48 mov r0, #0x69 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r1, r6, #0x0 mov r2, #0x1 bl FUN_0205EC6C mov r0, #0x69 lsl r0, r0, #0x2 mov r1, #0x1 ldr r0, [r5, r0] add r2, r1, #0x0 bl FUN_0205EC6C mov r1, #0x17 lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r2, _02065CD8 ; =0x020F7E7C add r1, r5, r1 bl FUN_02019150 mov r1, #0x17 lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, #0x24 ldr r2, _02065CDC ; =0x020F7E84 add r1, r5, r1 bl FUN_02019150 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xff bl FUN_02019620 mov r0, #0x65 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xff bl FUN_02019620 ldrb r0, [r5, #0x1b] ldr r1, [r5, #0x0] add r0, r0, #0x1 bl FUN_02012838 mov r1, #0x59 lsl r1, r1, #0x2 add r7, r5, #0x0 str r0, [r5, r1] add r4, r6, #0x0 add r7, #0x1c _02065B7E: mov r0, #0xc mul r0, r4 add r2, r7, r0 ldrb r0, [r2, #0x1] cmp r0, #0x0 beq _02065B9E mov r0, #0x59 lsl r0, r0, #0x2 ldr r1, [r2, #0x8] ldrb r2, [r2, #0x0] ldr r0, [r5, r0] bl FUN_020128A0 add r0, r6, #0x1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 _02065B9E: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x14 blo _02065B7E mov r1, #0x59 lsl r1, r1, #0x2 ldr r0, [r5, r1] sub r1, #0x4c ldr r1, [r5, r1] ldr r2, _02065CE0 ; =0x0000FFFF bl FUN_020128A0 add r0, r6, #0x1 lsl r0, r0, #0x18 mov r1, #0x5 lsr r6, r0, #0x18 lsl r1, r1, #0x6 ldr r0, _02065CE4 ; =0x020F7E8C add r1, r5, r1 mov r2, #0x20 blx MI_CpuCopy8 mov r1, #0x5d lsl r1, r1, #0x2 add r0, r1, #0x0 add r2, r5, r1 sub r0, #0x28 str r2, [r5, r0] add r0, r1, #0x0 sub r0, #0x10 ldr r2, [r5, r0] add r0, r1, #0x0 sub r0, #0x34 str r2, [r5, r0] add r0, r1, #0x0 sub r0, #0x18 str r5, [r5, r0] add r0, r1, #0x0 sub r0, #0x24 strh r6, [r5, r0] add r0, r1, #0x0 sub r0, #0x1d ldrb r2, [r5, r0] mov r0, #0xf bic r2, r0 mov r0, #0x6 orr r2, r0 add r0, r1, #0x0 sub r0, #0x1d strb r2, [r5, r0] add r0, r1, #0x0 ldr r2, _02065CE8 ; =FUN_02065D4C sub r0, #0x30 str r2, [r5, r0] add r0, r1, #0x0 ldr r2, _02065CEC ; =FUN_02065CFC sub r0, #0x2c str r2, [r5, r0] add r0, r1, #0x0 sub r0, #0x39 ldrb r0, [r5, r0] lsl r0, r0, #0x1a lsr r0, r0, #0x1e beq _02065C64 add r0, r1, #0x0 sub r0, #0x38 ldrh r0, [r5, r0] cmp r0, #0x0 bne _02065C48 add r0, r1, #0x0 sub r0, #0x36 ldrh r2, [r5, r0] cmp r2, #0x0 beq _02065C5A sub r0, r6, #0x1 cmp r2, r0 blt _02065C5A add r0, r1, #0x0 sub r0, #0x36 ldrh r0, [r5, r0] sub r1, #0x36 sub r0, r0, #0x1 strh r0, [r5, r1] b _02065C5A _02065C48: add r0, r0, #0x7 cmp r0, r6 blt _02065C5A add r0, r1, #0x0 sub r0, #0x38 ldrh r0, [r5, r0] sub r1, #0x38 sub r0, r0, #0x1 strh r0, [r5, r1] _02065C5A: ldr r1, _02065CF0 ; =0x0000013B mov r0, #0x30 ldrb r2, [r5, r1] bic r2, r0 strb r2, [r5, r1] _02065C64: mov r2, #0x5 lsl r2, r2, #0x6 sub r1, r2, #0x4 add r0, r5, r2 sub r2, r2, #0x2 ldr r3, [r5, #0x0] ldrh r1, [r5, r1] lsl r3, r3, #0x18 ldrh r2, [r5, r2] lsr r3, r3, #0x18 bl FUN_020010A8 mov r1, #0x16 lsl r1, r1, #0x4 str r0, [r5, r1] add r1, #0x14 add r0, r5, r1 ldr r2, _02065CF4 ; =0x000003D9 mov r1, #0x0 mov r3, #0xb bl FUN_0200CCA4 mov r1, #0x0 str r1, [sp, #0x0] mov r2, #0x65 ldr r0, _02065CF8 ; =0x0001020F str r1, [sp, #0x4] str r0, [sp, #0x8] lsl r2, r2, #0x2 add r0, r5, r2 str r1, [sp, #0xc] sub r2, #0x78 ldr r2, [r5, r2] mov r3, #0x2 bl FUN_0201BDE0 mov r0, #0x65 lsl r0, r0, #0x2 ldr r2, _02065CF4 ; =0x000003D9 add r0, r5, r0 mov r1, #0x0 mov r3, #0xb bl FUN_0200CCA4 mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x3 bl FUN_0201AC68 ldr r1, _02065CF0 ; =0x0000013B mov r0, #0xf ldrb r2, [r5, r1] bic r2, r0 strb r2, [r5, r1] add sp, #0x10 pop {r3-r7, pc} nop _02065CD8: .word 0x020F7E7C _02065CDC: .word 0x020F7E84 _02065CE0: .word 0x0000FFFF _02065CE4: .word 0x020F7E8C _02065CE8: .word FUN_02065D4C _02065CEC: .word FUN_02065CFC _02065CF0: .word 0x0000013B _02065CF4: .word 0x000003D9 _02065CF8: .word 0x0001020F thumb_func_start FUN_02065CFC FUN_02065CFC: ; 0x02065CFC push {r3-r5, lr} add r4, r1, #0x0 mov r1, #0x13 add r5, r0, #0x0 bl FUN_02001470 ldr r1, _02065D48 ; =0x0000FFFF cmp r4, r1 bne _02065D1C add r0, r5, #0x0 mov r1, #0x1 mov r2, #0xf mov r3, #0x2 bl FUN_020013E8 pop {r3-r5, pc} _02065D1C: mov r1, #0xc mul r1, r4 add r0, r0, r1 add r0, #0x20 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _02065D38 add r0, r5, #0x0 mov r1, #0x3 mov r2, #0xf mov r3, #0x4 bl FUN_020013E8 pop {r3-r5, pc} _02065D38: add r0, r5, #0x0 mov r1, #0x7 mov r2, #0xf mov r3, #0x8 bl FUN_020013E8 pop {r3-r5, pc} nop _02065D48: .word 0x0000FFFF thumb_func_start FUN_02065D4C FUN_02065D4C: ; 0x02065D4C push {r3-r6, lr} sub sp, #0x4 mov r1, #0x13 add r4, r0, #0x0 add r6, r2, #0x0 bl FUN_02001470 add r1, sp, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 add r1, #0x2 add r2, sp, #0x0 bl FUN_02001448 add r0, r4, #0x0 mov r1, #0x2 bl FUN_02001470 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r6, #0x0 bne _02065D7E ldr r0, _02065DD4 ; =0x000005DC bl FUN_020054C8 _02065D7E: add r0, sp, #0x0 ldrh r0, [r0, #0x2] cmp r0, #0x0 bne _02065D96 mov r0, #0x69 lsl r0, r0, #0x2 mov r1, #0x0 ldr r0, [r5, r0] add r2, r1, #0x0 bl FUN_0205EC6C b _02065DA4 _02065D96: mov r0, #0x69 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x0 mov r2, #0x1 bl FUN_0205EC6C _02065DA4: add r0, sp, #0x0 ldrh r1, [r0, #0x2] sub r0, r4, #0x7 cmp r1, r0 bge _02065DC0 mov r0, #0x69 lsl r0, r0, #0x2 mov r1, #0x1 ldr r0, [r5, r0] add r2, r1, #0x0 bl FUN_0205EC6C add sp, #0x4 pop {r3-r6, pc} _02065DC0: mov r0, #0x69 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x1 mov r2, #0x0 bl FUN_0205EC6C add sp, #0x4 pop {r3-r6, pc} nop _02065DD4: .word 0x000005DC thumb_func_start FUN_02065DD8 FUN_02065DD8: ; 0x02065DD8 push {r3-r7, lr} sub sp, #0x8 str r1, [sp, #0x0] add r5, r0, #0x0 str r2, [sp, #0x4] ldr r1, [r5, #0x0] mov r0, #0x4 bl FUN_02012838 mov r1, #0x59 lsl r1, r1, #0x2 str r0, [r5, r1] add r0, r1, #0x0 add r0, #0xc add r1, #0x10 ldr r0, [r5, r0] ldr r2, _02065EC8 ; =0x020F7E74 add r1, r5, r1 bl FUN_02019150 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xff bl FUN_02019620 mov r7, #0x43 ldr r6, _02065ECC ; =0x020F7EAC mov r4, #0x0 lsl r7, r7, #0x2 _02065E14: lsl r2, r4, #0x3 add r3, r6, r2 mov r0, #0x59 lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r1, [r5, r7] ldr r2, [r6, r2] ldr r3, [r3, #0x4] bl FUN_02012880 add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x4 blo _02065E14 mov r1, #0x5 lsl r1, r1, #0x6 ldr r0, _02065ED0 ; =0x020F7E8C add r1, r5, r1 mov r2, #0x20 blx MI_CpuCopy8 mov r0, #0x5d lsl r0, r0, #0x2 add r1, r0, #0x0 add r2, r5, r0 sub r1, #0x28 str r2, [r5, r1] add r1, r0, #0x0 sub r1, #0x10 ldr r2, [r5, r1] add r1, r0, #0x0 sub r1, #0x34 str r2, [r5, r1] add r1, r0, #0x0 sub r1, #0x18 str r5, [r5, r1] add r1, r0, #0x0 mov r2, #0x4 sub r1, #0x24 strh r2, [r5, r1] add r1, r0, #0x0 sub r1, #0x22 strh r2, [r5, r1] add r1, r0, #0x0 sub r1, #0x1a ldrh r2, [r5, r1] ldr r1, _02065ED4 ; =0xFFFFFE7F and r2, r1 add r1, r0, #0x0 sub r1, #0x1a strh r2, [r5, r1] add r1, r0, #0x0 sub r0, #0x34 ldr r2, _02065ED8 ; =FUN_02065EE4 sub r1, #0x30 str r2, [r5, r1] ldr r3, [r5, #0x0] ldr r1, [sp, #0x0] lsl r3, r3, #0x18 ldr r2, [sp, #0x4] add r0, r5, r0 lsr r3, r3, #0x18 bl FUN_020010A8 mov r1, #0x16 lsl r1, r1, #0x4 str r0, [r5, r1] add r1, #0x14 add r0, r5, r1 ldr r2, _02065EDC ; =0x000003D9 mov r1, #0x0 mov r3, #0xb bl FUN_0200CCA4 mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x3 bl FUN_0201AC68 ldr r1, _02065EE0 ; =0x0000013B mov r0, #0xf ldrb r2, [r5, r1] bic r2, r0 mov r0, #0x1 orr r0, r2 strb r0, [r5, r1] add sp, #0x8 pop {r3-r7, pc} .balign 4 _02065EC8: .word 0x020F7E74 _02065ECC: .word 0x020F7EAC _02065ED0: .word 0x020F7E8C _02065ED4: .word 0xFFFFFE7F _02065ED8: .word FUN_02065EE4 _02065EDC: .word 0x000003D9 _02065EE0: .word 0x0000013B thumb_func_start FUN_02065EE4 FUN_02065EE4: ; 0x02065EE4 push {r3, lr} cmp r2, #0x0 bne _02065EF0 ldr r0, _02065EF4 ; =0x000005DC bl FUN_020054C8 _02065EF0: pop {r3, pc} nop _02065EF4: .word 0x000005DC thumb_func_start FUN_02065EF8 FUN_02065EF8: ; 0x02065EF8 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 mov r0, #0x16 lsl r0, r0, #0x4 add r1, sp, #0x0 ldr r0, [r4, r0] add r1, #0x2 add r2, sp, #0x0 bl FUN_02001300 mov r0, #0x59 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02012870 mov r0, #0x65 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019570 mov r0, #0x65 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x0 bl FUN_0200CCF8 mov r0, #0x65 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019178 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019570 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x0 bl FUN_0200CCF8 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019178 add r0, sp, #0x0 mov r1, #0x4f ldrh r2, [r0, #0x2] lsl r1, r1, #0x2 strh r2, [r4, r1] ldrh r2, [r0, #0x0] add r0, r1, #0x2 add r1, #0x68 strh r2, [r4, r0] ldr r0, [r4, r1] cmp r0, #0x0 beq _02065F7C bl FUN_0205EBEC mov r0, #0x69 mov r1, #0x0 lsl r0, r0, #0x2 str r1, [r4, r0] _02065F7C: mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x3 bl FUN_0201AC68 add sp, #0x4 pop {r3-r4, pc} thumb_func_start FUN_02065F8C FUN_02065F8C: ; 0x02065F8C push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019570 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x0 bl FUN_0200CCF8 mov r0, #0x16 lsl r0, r0, #0x4 add r1, sp, #0x0 ldr r0, [r4, r0] add r1, #0x2 add r2, sp, #0x0 bl FUN_02001300 mov r0, #0x59 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02012870 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019178 add r0, r4, #0x0 bl FUN_020664D8 mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x3 bl FUN_0201AC68 add sp, #0x4 pop {r3-r4, pc} .balign 4 thumb_func_start FUN_02065FE4 FUN_02065FE4: ; 0x02065FE4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x8] add r4, r2, #0x0 bl FUN_0201B6C4 mov r0, #0x0 strh r0, [r5, #0x10] str r4, [r5, #0xc] pop {r3-r5, pc} thumb_func_start FUN_02065FF8 FUN_02065FF8: ; 0x02065FF8 push {r3, lr} strb r1, [r0, #0x0] mov r1, #0x0 strb r1, [r0, #0x1] strb r1, [r0, #0x2] strb r1, [r0, #0x3] ldr r0, [r0, #0x8] cmp r0, #0x0 beq _0206600E bl FUN_02021A4C _0206600E: pop {r3, pc} thumb_func_start FUN_02066010 FUN_02066010: ; 0x02066010 push {r3-r7, lr} add r6, r1, #0x0 add r5, r0, #0x0 add r7, r2, #0x0 mov r4, #0x0 cmp r6, #0x0 bls _02066040 _0206601E: mov r0, #0x8 add r1, r7, #0x0 bl FUN_020219F4 mov r1, #0xc mul r1, r4 add r1, r5, r1 str r0, [r1, #0x8] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02065FF8 add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, r6 blo _0206601E _02066040: pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02066044 FUN_02066044: ; 0x02066044 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 ldr r4, _0206606C ; =0x00000000 beq _0206606A mov r7, #0xc _02066050: add r0, r4, #0x0 mul r0, r7 add r0, r5, r0 ldr r0, [r0, #0x8] cmp r0, #0x0 beq _02066060 bl FUN_02021A20 _02066060: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, r6 blo _02066050 _0206606A: pop {r3-r7, pc} .balign 4 _0206606C: .word 0x00000000 thumb_func_start FUN_02066070 FUN_02066070: ; 0x02066070 push {r4-r7, lr} sub sp, #0x14 add r4, r1, #0x0 add r6, r0, #0x0 add r0, r4, #0x0 add r5, r2, #0x0 bl FUN_02025838 mov r1, #0x6b lsl r1, r1, #0x2 str r0, [sp, #0x4] str r0, [r6, r1] add r0, r4, #0x0 bl FUN_0206F158 mov r1, #0x1b lsl r1, r1, #0x4 str r0, [r6, r1] add r0, r5, #0x0 bl FUN_020256BC add r7, r0, #0x0 add r0, r6, #0x0 str r0, [sp, #0x10] add r0, #0x1b str r0, [sp, #0x10] add r0, r6, #0x0 str r0, [sp, #0x8] add r0, #0x1c mov r4, #0x0 str r0, [sp, #0x8] _020660AE: ldr r0, [sp, #0x4] mov r1, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 bl FUN_020258D4 mov r0, #0xc mul r0, r4 ldr r1, [sp, #0x8] str r0, [sp, #0xc] add r5, r1, r0 ldrb r1, [r6, #0x19] mov r0, #0xc add r2, r1, #0x0 mul r2, r0 ldr r0, [sp, #0x8] add r1, r4, #0x0 add r0, r0, r2 str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_02065FF8 ldr r1, [sp, #0x8] ldr r0, [sp, #0xc] strb r4, [r1, r0] add r0, r7, #0x0 bl FUN_020256AC cmp r0, #0x0 beq _02066134 mov r0, #0x1 strb r0, [r5, #0x1] add r0, r7, #0x0 bl FUN_020257C8 strb r0, [r5, #0x4] add r0, r7, #0x0 bl FUN_020257CC strb r0, [r5, #0x5] ldrb r0, [r5, #0x5] bl FUN_0206EAD8 strh r0, [r5, #0x6] add r0, r7, #0x0 bl FUN_020257C4 add r1, r0, #0x0 ldr r0, [r5, #0x8] bl FUN_02021E28 ldrb r0, [r6, #0x19] strb r0, [r5, #0x2] ldrb r1, [r5, #0x0] ldr r0, [sp, #0x0] strb r1, [r0, #0x3] ldrb r0, [r5, #0x0] strb r0, [r6, #0x19] ldr r0, [sp, #0x10] ldrb r0, [r0, #0x0] add r1, r0, #0x1 ldr r0, [sp, #0x10] strb r1, [r0, #0x0] ldrb r0, [r6, #0x1a] cmp r0, #0xff bne _02066134 strb r4, [r6, #0x1a] _02066134: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x14 blo _020660AE ldrb r1, [r6, #0x19] ldrb r3, [r6, #0x1a] mov r0, #0xc add r2, r1, #0x0 mul r2, r0 add r1, r6, r2 strb r3, [r1, #0x1f] ldrb r1, [r6, #0x1a] ldrb r2, [r6, #0x19] mul r0, r1 add r0, r6, r0 strb r2, [r0, #0x1e] add r0, r7, #0x0 bl FUN_02016A18 add sp, #0x14 pop {r4-r7, pc} thumb_func_start FUN_02066160 FUN_02066160: ; 0x02066160 push {r3-r6} add r2, r1, #0x0 mov r3, #0xc add r1, r0, #0x0 mul r2, r3 add r1, #0x1c add r1, r1, r2 ldrb r4, [r1, #0x2] ldrb r6, [r1, #0x3] add r5, r4, #0x0 mul r5, r3 add r4, r0, r5 strb r6, [r4, #0x1f] ldrb r4, [r1, #0x2] ldrb r1, [r1, #0x3] mul r3, r1 add r1, r0, r3 strb r4, [r1, #0x1e] add r1, r0, r2 mov r3, #0x0 strb r3, [r1, #0x1d] ldr r2, _0206619C ; =0x0000013B mov r1, #0x30 ldrb r3, [r0, r2] bic r3, r1 mov r1, #0x10 orr r1, r3 strb r1, [r0, r2] pop {r3-r6} bx lr .balign 4 _0206619C: .word 0x0000013B thumb_func_start FUN_020661A0 FUN_020661A0: ; 0x020661A0 push {r4-r6, lr} add r5, r0, #0x0 ldrb r1, [r5, #0x18] add r2, r5, #0x0 mov r0, #0xc add r2, #0x1c mul r0, r1 add r4, r2, r0 mov r0, #0x1b lsl r0, r0, #0x4 ldrh r1, [r4, #0x6] ldr r0, [r5, r0] ldr r3, [r5, #0x0] mov r2, #0x1 bl FUN_0206ED24 add r6, r0, #0x0 beq _020661D4 mov r0, #0x1b lsl r0, r0, #0x4 ldrh r1, [r4, #0x6] ldr r0, [r5, r0] ldr r3, [r5, #0x0] mov r2, #0x1 bl FUN_0206ED38 _020661D4: mov r0, #0x6b lsl r0, r0, #0x2 ldrb r2, [r5, #0x18] ldr r0, [r5, r0] mov r1, #0x0 bl FUN_02025878 ldrb r1, [r5, #0x18] add r0, r5, #0x0 bl FUN_02066160 ldrb r1, [r5, #0x18] add r0, r4, #0x0 bl FUN_02065FF8 add r0, r6, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020661F8 FUN_020661F8: ; 0x020661F8 push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 ldrb r1, [r5, #0x18] add r6, r2, #0x0 add r2, r5, #0x0 mov r0, #0xc add r2, #0x1c mul r0, r1 add r4, r2, r0 ldrb r0, [r4, #0x1] cmp r0, #0x0 beq _0206626E mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] bl FUN_020377AC bl FUN_0206BB1C add r1, r7, #0x0 bl FUN_0206B9B0 add r2, r0, #0x0 mov r0, #0x6b lsl r0, r0, #0x2 ldrb r1, [r5, #0x18] ldr r0, [r5, r0] ldr r3, [r5, #0x0] bl FUN_020856A0 cmp r6, #0x0 beq _0206625E mov r0, #0x1b lsl r0, r0, #0x4 ldrh r1, [r4, #0x6] ldr r0, [r5, r0] ldr r3, [r5, #0x0] mov r2, #0x1 bl FUN_0206ED24 cmp r0, #0x0 beq _0206625E mov r0, #0x1b lsl r0, r0, #0x4 ldrh r1, [r4, #0x6] ldr r0, [r5, r0] ldr r3, [r5, #0x0] mov r2, #0x1 bl FUN_0206ED38 _0206625E: ldrb r1, [r5, #0x18] add r0, r5, #0x0 bl FUN_02066160 ldrb r1, [r5, #0x18] add r0, r4, #0x0 bl FUN_02065FF8 _0206626E: pop {r3-r7, pc} thumb_func_start FUN_02066270 FUN_02066270: ; 0x02066270 push {r3-r7, lr} add r6, r0, #0x0 mov r2, #0x5a ldr r3, [r6, #0x0] mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 bl FUN_0200A86C mov r1, #0x43 lsl r1, r1, #0x2 str r0, [r6, r1] ldr r2, [r6, #0x0] mov r0, #0x1 mov r1, #0x80 bl FUN_0200AA90 mov r1, #0x11 lsl r1, r1, #0x4 str r0, [r6, r1] ldr r1, [r6, #0x0] mov r0, #0x80 bl FUN_020219F4 mov r1, #0x45 lsl r1, r1, #0x2 str r0, [r6, r1] sub r1, #0x8 ldr r0, [r6, r1] mov r1, #0x4 bl FUN_0200A914 mov r1, #0x46 lsl r1, r1, #0x2 str r0, [r6, r1] sub r1, #0xc ldr r0, [r6, r1] mov r1, #0x0 bl FUN_0200A914 mov r1, #0x47 lsl r1, r1, #0x2 str r0, [r6, r1] mov r4, #0x0 add r5, r6, #0x0 add r7, r1, #0x4 _020662CC: mov r0, #0x43 lsl r0, r0, #0x2 ldr r0, [r6, r0] add r1, r4, #0x6 bl FUN_0200A914 str r0, [r5, r7] add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x6 blt _020662CC pop {r3-r7, pc} thumb_func_start FUN_020662E4 FUN_020662E4: ; 0x020662E4 push {r3-r7, lr} add r6, r0, #0x0 mov r7, #0x12 mov r4, #0x0 add r5, r6, #0x0 lsl r7, r7, #0x4 _020662F0: ldr r0, [r5, r7] bl FUN_02021A20 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x6 blt _020662F0 mov r0, #0x47 lsl r0, r0, #0x2 ldr r0, [r6, r0] bl FUN_02021A20 mov r0, #0x46 lsl r0, r0, #0x2 ldr r0, [r6, r0] bl FUN_02021A20 mov r0, #0x45 lsl r0, r0, #0x2 ldr r0, [r6, r0] bl FUN_02021A20 mov r0, #0x11 lsl r0, r0, #0x4 ldr r0, [r6, r0] bl FUN_0200AB18 mov r0, #0x43 lsl r0, r0, #0x2 ldr r0, [r6, r0] bl FUN_0200A8B8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02066334 FUN_02066334: ; 0x02066334 push {r3-r4, lr} sub sp, #0x14 add r4, r0, #0x0 mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_020377A8 mov r1, #0x17 lsl r1, r1, #0x4 str r0, [r4, r1] ldrh r0, [r4, #0x14] ldr r2, _020663C8 ; =0x000003E2 mov r3, #0xa lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] ldr r0, [r4, #0x0] str r0, [sp, #0x4] ldr r0, [r4, r1] mov r1, #0x3 bl FUN_0200CD68 mov r0, #0x0 str r0, [sp, #0x0] ldr r0, [r4, #0x0] ldr r2, _020663CC ; =0x000003D9 str r0, [sp, #0x4] mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x3 mov r3, #0xb bl FUN_0200CB00 mov r1, #0x1a ldr r2, [r4, #0x0] mov r0, #0x0 lsl r1, r1, #0x4 bl FUN_02002ED0 mov r1, #0x6 ldr r2, [r4, #0x0] mov r0, #0x0 lsl r1, r1, #0x6 bl FUN_02002EEC mov r0, #0x13 str r0, [sp, #0x0] mov r0, #0x1b str r0, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] mov r0, #0xc str r0, [sp, #0xc] ldr r0, _020663D0 ; =0x0000036D mov r1, #0x17 lsl r1, r1, #0x4 str r0, [sp, #0x10] ldr r0, [r4, r1] add r1, #0x14 add r1, r4, r1 mov r2, #0x3 mov r3, #0x2 bl FUN_02019064 mov r0, #0x61 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x0 bl FUN_02019620 add sp, #0x14 pop {r3-r4, pc} .balign 4 _020663C8: .word 0x000003E2 _020663CC: .word 0x000003D9 _020663D0: .word 0x0000036D thumb_func_start FUN_020663D4 FUN_020663D4: ; 0x020663D4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x61 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019570 mov r0, #0x61 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019178 mov r0, #0x61 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x0 mov r2, #0x10 blx MI_CpuFill8 mov r0, #0x17 mov r1, #0x0 lsl r0, r0, #0x4 str r1, [r4, r0] pop {r4, pc} thumb_func_start FUN_02066404 FUN_02066404: ; 0x02066404 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 ldr r0, [sp, #0x28] add r4, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 cmp r0, #0x0 beq _02066426 mov r0, #0x61 lsl r0, r0, #0x2 ldr r2, _020664CC ; =0x000003E2 add r0, r5, r0 mov r1, #0x1 mov r3, #0xa bl FUN_0200D0BC _02066426: mov r1, #0xd8 str r1, [sp, #0x0] mov r0, #0x20 mov r2, #0x0 add r1, #0xac str r0, [sp, #0x4] add r0, r5, r1 mov r1, #0xff add r3, r2, #0x0 bl FUN_020196F4 mov r0, #0x1 bl FUN_02002B60 mov r0, #0x0 bl FUN_02002B7C cmp r4, #0x0 bne _02066494 mov r0, #0x45 lsl r0, r0, #0x2 ldr r0, [r5, r0] bl FUN_02021A4C mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0x2 str r0, [sp, #0x4] mov r0, #0x11 lsl r0, r0, #0x4 ldrb r3, [r5, #0x18] mov r2, #0xc ldr r0, [r5, r0] mul r2, r3 add r2, r5, r2 ldr r2, [r2, #0x24] mov r1, #0x0 mov r3, #0x2 bl FUN_0200ABB4 mov r2, #0x11 lsl r2, r2, #0x4 lsl r3, r4, #0x2 add r1, r2, #0x4 ldr r0, [r5, r2] add r3, r5, r3 add r2, #0x10 ldr r1, [r5, r1] ldr r2, [r3, r2] bl FUN_0200B7B8 mov r0, #0x45 lsl r0, r0, #0x2 ldr r2, [r5, r0] b _0206649E _02066494: lsl r0, r4, #0x2 add r1, r5, r0 mov r0, #0x12 lsl r0, r0, #0x4 ldr r2, [r1, r0] _0206649E: mov r3, #0x0 str r3, [sp, #0x0] ldr r0, _020664D0 ; =0x0001020F str r6, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x61 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 str r3, [sp, #0xc] bl FUN_0201BDE0 mov r1, #0x4e lsl r1, r1, #0x2 strb r0, [r5, r1] add r1, #0x4c add r0, r5, r1 bl FUN_020191D0 ldr r0, _020664D4 ; =0x00000139 strb r7, [r5, r0] add sp, #0x10 pop {r3-r7, pc} .balign 4 _020664CC: .word 0x000003E2 _020664D0: .word 0x0001020F _020664D4: .word 0x00000139 thumb_func_start FUN_020664D8 FUN_020664D8: ; 0x020664D8 push {r4, lr} add r4, r0, #0x0 mov r0, #0x61 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200D0E0 mov r0, #0x61 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019570 pop {r4, pc} thumb_func_start FUN_020664F4 FUN_020664F4: ; 0x020664F4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x4e lsl r0, r0, #0x2 ldrb r0, [r4, r0] bl FUN_0201BD70 cmp r0, #0x0 beq _0206650A mov r0, #0x0 pop {r4, pc} _0206650A: ldr r0, _0206651C ; =0x00000139 ldrb r0, [r4, r0] cmp r0, #0x0 beq _02066518 add r0, r4, #0x0 bl FUN_020664D8 _02066518: mov r0, #0x1 pop {r4, pc} .balign 4 _0206651C: .word 0x00000139 thumb_func_start FUN_02066520 FUN_02066520: ; 0x02066520 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, _02066544 ; =0x020F7E6C str r0, [sp, #0x0] mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r4, r0] ldr r2, _02066548 ; =0x000003D9 mov r3, #0xb bl FUN_02002198 mov r1, #0x5a lsl r1, r1, #0x2 str r0, [r4, r1] add sp, #0x4 pop {r3-r4, pc} .balign 4 _02066544: .word 0x020F7E6C _02066548: .word 0x000003D9 thumb_func_start FUN_0206654C FUN_0206654C: ; 0x0206654C push {r3, lr} add r1, r0, #0x0 mov r0, #0x5a lsl r0, r0, #0x2 ldr r0, [r1, r0] ldr r1, [r1, #0x0] bl FUN_020021AC cmp r0, #0x0 beq _0206656A mov r1, #0x1 mvn r1, r1 cmp r0, r1 beq _0206656E b _02066572 _0206656A: mov r0, #0x1 pop {r3, pc} _0206656E: mov r0, #0x0 pop {r3, pc} _02066572: add r0, r1, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_02066578 FUN_02066578: ; 0x02066578 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 ldrh r0, [r4, #0x12] cmp r0, #0x0 beq _0206658A cmp r0, #0x1 beq _020665A8 b _020665BA _0206658A: mov r0, #0x6 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, [r4, #0x0] add r2, r1, #0x0 str r0, [sp, #0x8] mov r0, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 ldrh r0, [r4, #0x12] add r0, r0, #0x1 strh r0, [r4, #0x12] b _020665BA _020665A8: bl FUN_0200E308 cmp r0, #0x0 beq _020665BA mov r0, #0x0 strh r0, [r4, #0x12] add sp, #0xc mov r0, #0x1 pop {r3-r4, pc} _020665BA: mov r0, #0x0 add sp, #0xc pop {r3-r4, pc} thumb_func_start FUN_020665C0 FUN_020665C0: ; 0x020665C0 push {r4, lr} add r4, r0, #0x0 ldrh r0, [r4, #0x12] cmp r0, #0x0 beq _020665D4 cmp r0, #0x1 beq _020665E6 cmp r0, #0x2 beq _02066614 b _0206662E _020665D4: mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_0204649C ldrh r0, [r4, #0x12] add r0, r0, #0x1 strh r0, [r4, #0x12] b _0206662E _020665E6: mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_020464A4 cmp r0, #0x0 beq _0206662E mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x5a bl FUN_0224C678 mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x5a bl FUN_0224C6E8 ldrh r0, [r4, #0x12] add r0, r0, #0x1 strh r0, [r4, #0x12] b _0206662E _02066614: mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x5a ldr r0, [r0, #0x50] bl FUN_021DA58C cmp r0, #0x0 beq _0206662E mov r0, #0x0 strh r0, [r4, #0x12] mov r0, #0x1 pop {r4, pc} _0206662E: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_02066634 FUN_02066634: ; 0x02066634 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x5b lsl r0, r0, #0x2 add r4, r1, #0x0 ldr r0, [r5, r0] mov r1, #0x5a bl FUN_021DAF98 cmp r4, #0x0 bne _02066652 add r0, r5, #0x0 bl FUN_02065EF8 b _02066658 _02066652: add r0, r5, #0x0 bl FUN_02065F8C _02066658: add r0, r5, #0x0 bl FUN_020663D4 mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02066664 FUN_02066664: ; 0x02066664 push {r4-r6, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x12] add r6, r1, #0x0 cmp r0, #0x0 beq _02066676 cmp r0, #0x1 beq _02066708 b _0206671E _02066676: ldr r0, [r5, #0x0] mov r1, #0x40 bl FUN_02016998 mov r1, #0x0 mov r2, #0x40 add r4, r0, #0x0 blx MI_CpuFill8 mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] bl FUN_020377AC bl FUN_0206BB1C str r0, [r4, #0x0] mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] bl FUN_020377AC bl FUN_0206F158 str r0, [r4, #0x4] mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] bl FUN_020377AC bl LoadPlayerDataAddress str r0, [r4, #0xc] mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r0, [r0, #0xc] bl FUN_02025838 str r0, [r4, #0x8] add r0, r4, #0x0 mov r1, #0x0 add r0, #0x21 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x20 strb r6, [r0, #0x0] ldrb r1, [r5, #0x18] mov r0, #0xc mul r0, r1 add r0, r5, r0 ldrh r0, [r0, #0x22] cmp r6, #0xb strh r0, [r4, #0x24] bne _020666EC ldrb r1, [r5, #0x17] add r0, r4, #0x0 add r0, #0x22 strb r1, [r0, #0x0] _020666EC: mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r1, _02066724 ; =0x020F96DC add r2, r4, #0x0 bl FUN_020373D4 mov r0, #0x6d lsl r0, r0, #0x2 str r4, [r5, r0] ldrh r0, [r5, #0x12] add r0, r0, #0x1 strh r0, [r5, #0x12] b _0206671E _02066708: mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] bl FUN_0204647C cmp r0, #0x0 bne _0206671E mov r0, #0x0 strh r0, [r5, #0x12] mov r0, #0x1 pop {r4-r6, pc} _0206671E: mov r0, #0x0 pop {r4-r6, pc} nop _02066724: .word 0x020F96DC thumb_func_start FUN_02066728 FUN_02066728: ; 0x02066728 push {r3-r5, lr} add r4, r0, #0x0 ldrh r0, [r4, #0x12] cmp r0, #0x0 beq _02066738 cmp r0, #0x1 beq _0206677A b _020667D0 _02066738: ldrb r2, [r4, #0x18] mov r0, #0xc mul r0, r2 add r3, r4, r0 ldrb r0, [r3, #0x1d] cmp r0, #0x0 beq _02066756 mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] ldr r3, [r4, #0x0] mov r1, #0x0 bl FUN_02037F58 b _0206676C _02066756: ldr r0, [r4, #0x0] add r3, #0x21 str r0, [sp, #0x0] mov r0, #0x5b lsl r0, r0, #0x2 ldrb r2, [r4, #0x17] ldrb r3, [r3, #0x0] ldr r0, [r4, r0] mov r1, #0x0 bl FUN_02037F2C _0206676C: mov r1, #0x6a lsl r1, r1, #0x2 str r0, [r4, r1] ldrh r0, [r4, #0x12] add r0, r0, #0x1 strh r0, [r4, #0x12] b _020667D0 _0206677A: mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_0204647C cmp r0, #0x0 bne _020667D0 mov r0, #0x6a lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_020855E4 cmp r0, #0x0 beq _020667BC ldrb r0, [r4, #0x18] mov r2, #0xc mov r3, #0x1 add r1, r0, #0x0 mul r1, r2 add r0, r4, r1 strb r3, [r0, #0x1d] ldrb r3, [r4, #0x18] mov r0, #0x6a lsl r0, r0, #0x2 mul r2, r3 add r2, r4, r2 ldrb r2, [r2, #0x1c] ldr r0, [r4, r0] mov r1, #0x0 bl FUN_020855E8 mov r5, #0x2 b _020667BE _020667BC: mov r5, #0x1 _020667BE: mov r0, #0x6a lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_0208562C mov r0, #0x0 strh r0, [r4, #0x12] add r0, r5, #0x0 pop {r3-r5, pc} _020667D0: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_020667D4 FUN_020667D4: ; 0x020667D4 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x4] cmp r1, #0x0 beq _020667F2 cmp r1, #0x1 beq _02066802 b _02066814 _020667F2: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020653EC ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02066814 _02066802: ldr r1, [r4, #0x0] cmp r1, #0x0 bne _0206680C mov r0, #0x0 pop {r3-r5, pc} _0206680C: bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _02066814: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02066818 FUN_02066818: ; 0x02066818 push {r4, lr} bl FUN_02046528 add r4, r0, #0x0 mov r0, #0xb mov r1, #0x8 bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] str r0, [r2, #0x4] ldr r0, [r4, #0x10] ldr r1, _0206683C ; =FUN_020667D4 bl FUN_0204640C pop {r4, pc} nop _0206683C: .word FUN_020667D4 thumb_func_start FUN_02066840 FUN_02066840: ; 0x02066840 push {r4-r7, lr} sub sp, #0xc add r6, r0, #0x0 str r1, [sp, #0x0] add r7, r2, #0x0 bl FUN_020238F4 add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_02029AFC add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_0202A8D8 str r0, [sp, #0x4] add r0, r7, #0x0 mov r1, #0x0 mov r2, #0xe4 blx MI_CpuFill8 add r0, r4, #0x0 bl FUN_0202398C add r1, r7, #0x0 add r1, #0xa8 mov r2, #0x10 blx MI_CpuCopy8 add r0, r4, #0x0 bl FUN_020239BC add r1, r7, #0x0 add r1, #0xbc str r0, [r1, #0x0] ldr r0, _02066970 ; =0x020ECAC0 ldrb r1, [r0, #0x0] add r0, r7, #0x0 add r0, #0xb8 strb r1, [r0, #0x0] ldr r0, _02066974 ; =0x020ECAC4 ldrb r1, [r0, #0x0] add r0, r7, #0x0 add r0, #0xb9 strb r1, [r0, #0x0] add r0, r5, #0x0 bl FUN_02029B38 add r1, r7, #0x0 add r1, #0xba strb r0, [r1, #0x0] add r0, r5, #0x0 bl FUN_02029B3C add r1, r7, #0x0 add r1, #0xbb strb r0, [r1, #0x0] add r0, r4, #0x0 bl FUN_020239CC add r1, r7, #0x0 add r1, #0xc8 lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1f ldrb r1, [r1, #0x0] mov r2, #0x2 lsr r0, r0, #0x1e bic r1, r2 orr r1, r0 add r0, r7, #0x0 add r0, #0xc8 strb r1, [r0, #0x0] add r0, r4, #0x0 bl FUN_02023A28 add r1, r0, #0x0 add r0, r7, #0x0 add r0, #0xc8 ldrb r0, [r0, #0x0] mov r2, #0x1 lsl r0, r0, #0x1e lsr r0, r0, #0x1f bl FUN_020536D0 add r1, r7, #0x0 add r1, #0xc9 strb r0, [r1, #0x0] add r0, r7, #0x0 mov r4, #0x0 str r0, [sp, #0x8] add r0, #0xca add r5, r4, #0x0 str r0, [sp, #0x8] _020668FC: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_0202A5F4 ldr r1, [sp, #0x8] mov r2, #0x8 add r1, r1, r5 blx MI_CpuCopy8 add r4, r4, #0x1 add r5, #0x8 cmp r4, #0x3 blt _020668FC add r0, r6, #0x0 mov r1, #0x3 bl FUN_0202A5F4 add r1, r7, #0x0 add r1, #0xc0 mov r2, #0x8 blx MI_CpuCopy8 ldr r0, [sp, #0x0] cmp r0, #0x0 bne _02066956 ldr r0, [sp, #0x4] mov r1, #0x7 mov r2, #0x0 bl FUN_0202A578 add r1, r7, #0x0 add r1, #0xe2 strh r0, [r1, #0x0] add r0, r7, #0x0 add r0, #0xe2 ldrh r0, [r0, #0x0] cmp r0, #0x0 beq _0206696C ldr r0, [sp, #0x4] ldr r1, [sp, #0x0] add r2, r7, #0x0 bl FUN_0202A498 add sp, #0xc pop {r4-r7, pc} _02066956: ldr r0, [sp, #0x4] bl FUN_0202A520 add r1, r7, #0x0 add r1, #0xe2 strh r0, [r1, #0x0] ldr r0, [sp, #0x4] ldr r1, [sp, #0x0] add r2, r7, #0x0 bl FUN_0202A498 _0206696C: add sp, #0xc pop {r4-r7, pc} .balign 4 _02066970: .word 0x020ECAC0 _02066974: .word 0x020ECAC4 thumb_func_start FUN_02066978 FUN_02066978: ; 0x02066978 push {r4, lr} add r4, r0, #0x0 mov r0, #0x0 add r1, r4, #0x0 mov r2, #0xec blx MIi_CpuClearFast add r0, r4, #0x0 ldrh r2, [r4, #0x6] add r0, #0x8 mov r1, #0x80 bl FUN_0206A3A4 add r0, r4, #0x0 ldr r2, [r4, #0x0] add r0, #0x88 mov r1, #0x64 bl FUN_0206A3A4 pop {r4, pc} thumb_func_start FUN_020669A0 FUN_020669A0: ; 0x020669A0 push {r4, lr} add r4, r0, #0x0 mov r0, #0x0 add r1, r4, #0x0 mov r2, #0x88 blx MIi_CpuClearFast add r0, r4, #0x0 ldrh r2, [r4, #0x6] add r0, #0x8 mov r1, #0x80 bl FUN_0206A3A4 pop {r4, pc} thumb_func_start FUN_020669BC FUN_020669BC: ; 0x020669BC mov r0, #0xec bx lr thumb_func_start FUN_020669C0 FUN_020669C0: ; 0x020669C0 push {r4, lr} mov r1, #0xec bl FUN_02016998 add r4, r0, #0x0 bl FUN_02066978 add r0, r4, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_020669D4 FUN_020669D4: ; 0x020669D4 push {r3-r5, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x4] mov r4, #0x0 lsl r1, r0, #0x1f lsr r1, r1, #0x1f bne _02066A1A lsl r0, r0, #0x1e mov r4, #0x1 lsr r0, r0, #0x1f beq _020669EE bl ErrorHandling _020669EE: ldrh r1, [r5, #0x4] mov r0, #0x1 bic r1, r0 mov r0, #0x1 orr r0, r1 strh r0, [r5, #0x4] ldrh r1, [r5, #0x4] mov r0, #0x2 orr r0, r1 strh r0, [r5, #0x4] add r0, r5, #0x0 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 bl FUN_0206A3D0 add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 bl FUN_0206A3D0 _02066A1A: add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02066A20 FUN_02066A20: ; 0x02066A20 push {r3-r5, lr} add r5, r0, #0x0 ldrh r2, [r5, #0x4] mov r4, #0x0 lsl r0, r2, #0x1f lsr r0, r0, #0x1f cmp r0, #0x1 bne _02066A68 cmp r1, #0x1 bne _02066A68 mov r0, #0x1 bic r2, r0 strh r2, [r5, #0x4] ldrh r1, [r5, #0x4] mov r0, #0x2 mov r4, #0x1 bic r1, r0 strh r1, [r5, #0x4] add r0, r5, #0x0 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 bl FUN_0206A3A4 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3F8 strh r0, [r5, #0x6] add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 bl FUN_0206A3A4 _02066A68: add r0, r4, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02066A6C FUN_02066A6C: ; 0x02066A6C push {r4, lr} add r2, r0, #0x0 ldrh r1, [r2, #0x4] mov r4, #0x0 lsl r0, r1, #0x1e lsr r0, r0, #0x1f bne _02066A8E mov r0, #0x2 orr r0, r1 strh r0, [r2, #0x4] add r0, r2, #0x0 ldrh r2, [r2, #0x6] add r0, #0x8 mov r1, #0x80 mov r4, #0x1 bl FUN_0206A3D0 _02066A8E: add r0, r4, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_02066A94 FUN_02066A94: ; 0x02066A94 push {r3-r5, lr} add r5, r0, #0x0 ldrh r2, [r5, #0x4] mov r4, #0x0 lsl r0, r2, #0x1e lsr r0, r0, #0x1f cmp r0, #0x1 bne _02066AC8 cmp r1, #0x1 bne _02066AC8 mov r0, #0x2 bic r2, r0 add r0, r5, #0x0 strh r2, [r5, #0x4] add r0, #0x8 mov r1, #0x80 mov r4, #0x1 bl FUN_0206A3F8 strh r0, [r5, #0x6] add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 bl FUN_0206A3A4 _02066AC8: add r0, r4, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02066ACC FUN_02066ACC: ; 0x02066ACC push {r0-r3} push {r3-r6, lr} sub sp, #0x2c add r5, r0, #0x0 add r4, r1, #0x0 add r6, r3, #0x0 bl FUN_02066978 ldr r0, [sp, #0x50] add r1, r4, #0x0 str r0, [sp, #0x0] ldr r0, [sp, #0x54] add r3, r6, #0x0 str r0, [sp, #0x4] ldr r0, [sp, #0x58] str r0, [sp, #0x8] ldr r0, [sp, #0x5c] str r0, [sp, #0xc] ldr r2, [sp, #0x48] add r0, r5, #0x0 bl FUN_02066B64 add r0, r5, #0x0 add r0, #0x88 mov r1, #0x64 mov r2, #0x0 bl FUN_0206A3A4 add r0, r5, #0x0 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 bl FUN_0206A3A4 add r0, r5, #0x0 mov r1, #0xa0 add r2, sp, #0x48 bl FUN_02067830 mov r0, #0x0 bl FUN_020256BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa9 add r2, r4, #0x0 bl FUN_02067830 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x0 str r0, [sp, #0x10] add r0, r5, #0x0 mov r1, #0xa1 add r2, sp, #0x10 bl FUN_02067830 mov r0, #0x0 add r1, sp, #0x14 mov r2, #0x18 blx MIi_CpuClearFast add r0, r5, #0x0 mov r1, #0xaa add r2, sp, #0x14 bl FUN_02067830 add r0, r5, #0x0 bl FUN_02066ED8 add sp, #0x2c pop {r3-r6} pop {r3} add sp, #0x10 bx r3 thumb_func_start FUN_02066B64 FUN_02066B64: ; 0x02066B64 push {r0-r3} push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 bl FUN_020669A0 add r0, r5, #0x0 bl FUN_02066A6C str r0, [sp, #0x0] ldr r0, [sp, #0x30] cmp r0, #0x0 bne _02066B8E bl FUN_0201B9EC add r4, r0, #0x0 bl FUN_0201B9EC lsl r0, r0, #0x10 orr r0, r4 str r0, [sp, #0x34] _02066B8E: add r0, r5, #0x0 mov r1, #0x0 add r2, sp, #0x34 bl FUN_02067960 ldr r0, [sp, #0x38] cmp r0, #0x2 bne _02066BD6 ldr r7, _02066D84 ; =0xFFFF0000 add r6, r7, #0x0 _02066BA2: bl FUN_0201B9EC add r4, r0, #0x0 bl FUN_0201B9EC ldr r1, [sp, #0x34] lsl r0, r0, #0x10 add r3, r4, #0x0 orr r3, r0 lsl r0, r1, #0x10 lsr r2, r0, #0x10 add r0, r1, #0x0 and r0, r7 lsr r1, r0, #0x10 add r0, r3, #0x0 str r3, [sp, #0x3c] and r0, r6 lsl r3, r3, #0x10 lsr r0, r0, #0x10 lsr r3, r3, #0x10 eor r0, r3 eor r0, r1 eor r0, r2 cmp r0, #0x8 blo _02066BA2 b _02066BDE _02066BD6: cmp r0, #0x1 beq _02066BDE mov r0, #0x0 str r0, [sp, #0x3c] _02066BDE: add r0, r5, #0x0 mov r1, #0x7 add r2, sp, #0x3c bl FUN_02067960 ldr r2, _02066D88 ; =0x020ECAC4 add r0, r5, #0x0 mov r1, #0xc bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x5 add r2, sp, #0x24 bl FUN_02067960 add r0, r5, #0x0 mov r1, #0xb2 mov r2, #0x0 bl FUN_02067960 ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] bl FUN_02068758 str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x8 add r2, sp, #0x8 bl FUN_02067960 ldr r0, [sp, #0x24] mov r1, #0x14 bl FUN_02068678 str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x9 add r2, sp, #0x8 bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x9b add r2, sp, #0x28 bl FUN_02067960 ldr r2, _02066D8C ; =0x020ECAC0 add r0, r5, #0x0 mov r1, #0x79 bl FUN_02067960 mov r0, #0x4 str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x9a add r2, sp, #0x8 bl FUN_02067960 ldr r0, [sp, #0x2c] cmp r0, #0x20 bge _02066C94 add r0, r5, #0x0 mov r1, #0x46 add r2, sp, #0x2c bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x47 add r2, sp, #0x2c bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x48 add r2, sp, #0x2c bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x49 add r2, sp, #0x2c bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x4a add r2, sp, #0x2c bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x4b add r2, sp, #0x2c bl FUN_02067960 b _02066D18 _02066C94: bl FUN_0201B9EC mov r1, #0x1f str r0, [sp, #0x8] and r0, r1 str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x46 add r2, sp, #0x4 bl FUN_02067960 mov r0, #0x3e ldr r1, [sp, #0x8] lsl r0, r0, #0x4 and r0, r1 lsr r0, r0, #0x5 str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x47 add r2, sp, #0x4 bl FUN_02067960 mov r0, #0x1f ldr r1, [sp, #0x8] lsl r0, r0, #0xa and r0, r1 lsr r0, r0, #0xa str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x48 add r2, sp, #0x4 bl FUN_02067960 bl FUN_0201B9EC mov r1, #0x1f str r0, [sp, #0x8] and r0, r1 str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x49 add r2, sp, #0x4 bl FUN_02067960 mov r0, #0x3e ldr r1, [sp, #0x8] lsl r0, r0, #0x4 and r0, r1 lsr r0, r0, #0x5 str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x4a add r2, sp, #0x4 bl FUN_02067960 mov r0, #0x1f ldr r1, [sp, #0x8] lsl r0, r0, #0xa and r0, r1 lsr r0, r0, #0xa str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x4b add r2, sp, #0x4 bl FUN_02067960 _02066D18: ldr r0, [sp, #0x24] mov r1, #0x18 bl FUN_02068678 str r0, [sp, #0x8] ldr r0, [sp, #0x24] mov r1, #0x19 bl FUN_02068678 str r0, [sp, #0x4] cmp r0, #0x0 beq _02066D50 ldr r1, [sp, #0x34] mov r0, #0x1 tst r0, r1 beq _02066D44 add r0, r5, #0x0 mov r1, #0xa add r2, sp, #0x4 bl FUN_02067960 b _02066D5A _02066D44: add r0, r5, #0x0 mov r1, #0xa add r2, sp, #0x8 bl FUN_02067960 b _02066D5A _02066D50: add r0, r5, #0x0 mov r1, #0xa add r2, sp, #0x8 bl FUN_02067960 _02066D5A: add r0, r5, #0x0 bl FUN_020689E8 str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x6f add r2, sp, #0x8 bl FUN_02067960 add r0, r5, #0x0 bl FUN_020695F4 ldr r1, [sp, #0x0] add r0, r5, #0x0 bl FUN_02066A94 add sp, #0xc pop {r4-r7} pop {r3} add sp, #0x10 bx r3 .balign 4 _02066D84: .word 0xFFFF0000 _02066D88: .word 0x020ECAC4 _02066D8C: .word 0x020ECAC0 thumb_func_start FUN_02066D90 FUN_02066D90: ; 0x02066D90 push {r3-r7, lr} sub sp, #0x18 str r2, [sp, #0x10] str r3, [sp, #0x14] ldr r4, [sp, #0x30] add r6, r0, #0x0 add r7, r1, #0x0 _02066D9E: bl FUN_0201B9EC add r5, r0, #0x0 bl FUN_0201B9EC lsl r0, r0, #0x10 orr r5, r0 add r0, r5, #0x0 bl FUN_02068884 cmp r4, r0 bne _02066D9E mov r0, #0x1 str r0, [sp, #0x0] str r5, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] str r0, [sp, #0xc] ldr r2, [sp, #0x10] ldr r3, [sp, #0x14] add r0, r6, #0x0 add r1, r7, #0x0 bl FUN_02066ACC add sp, #0x18 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02066DD4 FUN_02066DD4: ; 0x02066DD4 push {r4-r7, lr} sub sp, #0x24 str r1, [sp, #0x14] str r2, [sp, #0x18] str r3, [sp, #0x1c] str r0, [sp, #0x10] add r0, sp, #0x28 ldrb r0, [r0, #0x18] ldr r6, [sp, #0x38] ldr r7, [sp, #0x3c] cmp r0, #0x0 beq _02066E4C cmp r0, #0x1d bhs _02066E4C sub r0, r0, #0x1 str r0, [sp, #0x20] _02066DF4: bl FUN_0201B9EC add r4, r0, #0x0 bl FUN_0201B9EC lsl r0, r0, #0x10 orr r4, r0 mov r3, #0x3 lsl r3, r3, #0x10 and r3, r4 mov r0, #0x3 add r2, r4, #0x0 and r2, r0 lsl r0, r0, #0x8 and r0, r4 lsr r1, r0, #0x6 mov r0, #0x3 lsl r0, r0, #0x18 and r0, r4 lsr r0, r0, #0x12 lsr r3, r3, #0xc orr r0, r3 orr r0, r1 orr r0, r2 mov r1, #0x1c blx _u32_div_f lsl r0, r1, #0x10 lsr r5, r0, #0x10 add r0, r4, #0x0 bl FUN_02068884 cmp r7, r0 bne _02066DF4 ldr r0, [sp, #0x14] add r1, r4, #0x0 bl FUN_02068A20 cmp r6, r0 bne _02066DF4 ldr r0, [sp, #0x20] cmp r5, r0 bne _02066DF4 b _02066E58 _02066E4C: ldr r0, [sp, #0x14] add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_02066E74 add r4, r0, #0x0 _02066E58: mov r0, #0x1 str r0, [sp, #0x0] str r4, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] str r0, [sp, #0xc] ldr r0, [sp, #0x10] ldr r1, [sp, #0x14] ldr r2, [sp, #0x18] ldr r3, [sp, #0x1c] bl FUN_02066ACC add sp, #0x24 pop {r4-r7, pc} thumb_func_start FUN_02066E74 FUN_02066E74: ; 0x02066E74 push {r3-r5, lr} add r5, r1, #0x0 mov r1, #0x12 add r4, r2, #0x0 bl FUN_02068678 lsl r0, r0, #0x18 lsr r0, r0, #0x18 beq _02066EA0 cmp r0, #0xfe beq _02066EA0 cmp r0, #0xff beq _02066EA0 cmp r5, #0x0 bne _02066EA0 mov r1, #0x19 blx _s32_div_f add r1, r0, #0x1 mov r0, #0x19 mul r0, r1 add r4, r0, r4 _02066EA0: add r0, r4, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02066EA4 FUN_02066EA4: ; 0x02066EA4 push {r0-r3} push {r4, lr} sub sp, #0x10 mov r3, #0x1 str r3, [sp, #0x0] ldr r3, [sp, #0x28] add r4, r0, #0x0 str r3, [sp, #0x4] mov r3, #0x0 str r3, [sp, #0x8] str r3, [sp, #0xc] bl FUN_02066ACC add r0, r4, #0x0 mov r1, #0xae add r2, sp, #0x24 bl FUN_02067830 add r0, r4, #0x0 bl FUN_02066ED8 add sp, #0x10 pop {r4} pop {r3} add sp, #0x10 bx r3 thumb_func_start FUN_02066ED8 FUN_02066ED8: ; 0x02066ED8 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_020669D4 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_020687C0 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0xa0 add r2, sp, #0x0 bl FUN_02067830 add r0, r5, #0x0 bl FUN_02066F04 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02066A20 pop {r3-r5, pc} thumb_func_start FUN_02066F04 FUN_02066F04: ; 0x02066F04 push {r3-r7, lr} sub sp, #0x58 add r5, r0, #0x0 bl FUN_020669D4 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa3 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x2c] add r0, r5, #0x0 mov r1, #0xa2 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x54] add r0, r5, #0x0 mov r1, #0x46 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x30] add r0, r5, #0x0 mov r1, #0xd mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x34] add r0, r5, #0x0 mov r1, #0x47 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x28] add r0, r5, #0x0 mov r1, #0xe mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x14] add r0, r5, #0x0 mov r1, #0x48 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x24] add r0, r5, #0x0 mov r1, #0xf mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x10] add r0, r5, #0x0 mov r1, #0x49 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x20] add r0, r5, #0x0 mov r1, #0x10 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0xc] add r0, r5, #0x0 mov r1, #0x4a mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x1c] add r0, r5, #0x0 mov r1, #0x11 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x4b mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x18] add r0, r5, #0x0 mov r1, #0x12 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x70 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x38] add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC add r7, r0, #0x0 mov r0, #0x0 mov r1, #0x2c bl FUN_02016998 add r6, r0, #0x0 ldr r1, [sp, #0x38] add r0, r7, #0x0 add r2, r6, #0x0 bl FUN_0206A380 mov r0, #0x49 lsl r0, r0, #0x2 cmp r7, r0 bne _02066FFC mov r0, #0x1 b _0206701E _02066FFC: ldr r0, [sp, #0x34] asr r0, r0, #0x1 lsr r1, r0, #0x1e ldr r0, [sp, #0x34] add r1, r0, r1 asr r0, r1, #0x2 ldrb r1, [r6, #0x0] lsl r2, r1, #0x1 ldr r1, [sp, #0x30] add r1, r1, r2 add r0, r0, r1 mul r0, r4 mov r1, #0x64 blx _s32_div_f add r0, r4, r0 add r0, #0xa _0206701E: str r0, [sp, #0x50] add r0, r5, #0x0 mov r1, #0xa3 add r2, sp, #0x50 bl FUN_02067830 ldr r0, [sp, #0x14] asr r0, r0, #0x1 lsr r1, r0, #0x1e ldr r0, [sp, #0x14] add r1, r0, r1 asr r0, r1, #0x2 ldrb r1, [r6, #0x1] lsl r2, r1, #0x1 ldr r1, [sp, #0x28] add r1, r1, r2 add r0, r0, r1 mul r0, r4 mov r1, #0x64 blx _s32_div_f add r0, r0, #0x5 str r0, [sp, #0x4c] add r0, r5, #0x0 bl FUN_02068854 ldr r1, [sp, #0x4c] mov r2, #0x1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_02068894 str r0, [sp, #0x4c] add r0, r5, #0x0 mov r1, #0xa4 add r2, sp, #0x4c bl FUN_02067830 ldr r0, [sp, #0x10] asr r0, r0, #0x1 lsr r1, r0, #0x1e ldr r0, [sp, #0x10] add r1, r0, r1 asr r0, r1, #0x2 ldrb r1, [r6, #0x2] lsl r2, r1, #0x1 ldr r1, [sp, #0x24] add r1, r1, r2 add r0, r0, r1 mul r0, r4 mov r1, #0x64 blx _s32_div_f add r0, r0, #0x5 str r0, [sp, #0x48] add r0, r5, #0x0 bl FUN_02068854 ldr r1, [sp, #0x48] mov r2, #0x2 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_02068894 str r0, [sp, #0x48] add r0, r5, #0x0 mov r1, #0xa5 add r2, sp, #0x48 bl FUN_02067830 ldr r0, [sp, #0xc] asr r0, r0, #0x1 lsr r1, r0, #0x1e ldr r0, [sp, #0xc] add r1, r0, r1 asr r0, r1, #0x2 ldrb r1, [r6, #0x3] lsl r2, r1, #0x1 ldr r1, [sp, #0x20] add r1, r1, r2 add r0, r0, r1 mul r0, r4 mov r1, #0x64 blx _s32_div_f add r0, r0, #0x5 str r0, [sp, #0x44] add r0, r5, #0x0 bl FUN_02068854 ldr r1, [sp, #0x44] mov r2, #0x3 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_02068894 str r0, [sp, #0x44] add r0, r5, #0x0 mov r1, #0xa6 add r2, sp, #0x44 bl FUN_02067830 ldr r0, [sp, #0x8] asr r0, r0, #0x1 lsr r1, r0, #0x1e ldr r0, [sp, #0x8] add r1, r0, r1 asr r0, r1, #0x2 ldrb r1, [r6, #0x4] lsl r2, r1, #0x1 ldr r1, [sp, #0x1c] add r1, r1, r2 add r0, r0, r1 mul r0, r4 mov r1, #0x64 blx _s32_div_f add r0, r0, #0x5 str r0, [sp, #0x40] add r0, r5, #0x0 bl FUN_02068854 ldr r1, [sp, #0x40] mov r2, #0x4 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_02068894 str r0, [sp, #0x40] add r0, r5, #0x0 mov r1, #0xa7 add r2, sp, #0x40 bl FUN_02067830 ldr r0, [sp, #0x4] asr r0, r0, #0x1 lsr r1, r0, #0x1e ldr r0, [sp, #0x4] add r1, r0, r1 asr r0, r1, #0x2 ldrb r1, [r6, #0x5] lsl r2, r1, #0x1 ldr r1, [sp, #0x18] add r1, r1, r2 add r0, r0, r1 mul r0, r4 mov r1, #0x64 blx _s32_div_f add r0, r0, #0x5 str r0, [sp, #0x3c] add r0, r5, #0x0 bl FUN_02068854 ldr r1, [sp, #0x3c] mov r2, #0x5 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_02068894 str r0, [sp, #0x3c] add r0, r5, #0x0 mov r1, #0xa8 add r2, sp, #0x3c bl FUN_02067830 add r0, r6, #0x0 bl FUN_02016A18 ldr r1, [sp, #0x54] cmp r1, #0x0 bne _0206717C ldr r0, [sp, #0x2c] cmp r0, #0x0 bne _020671A0 _0206717C: mov r0, #0x49 lsl r0, r0, #0x2 cmp r7, r0 bne _0206718A mov r0, #0x1 str r0, [sp, #0x54] b _020671A0 _0206718A: cmp r1, #0x0 bne _02067194 ldr r0, [sp, #0x50] str r0, [sp, #0x54] b _020671A0 _02067194: ldr r1, [sp, #0x50] ldr r0, [sp, #0x2c] ldr r2, [sp, #0x54] sub r0, r1, r0 add r0, r2, r0 str r0, [sp, #0x54] _020671A0: ldr r0, [sp, #0x54] cmp r0, #0x0 beq _020671B0 add r0, r5, #0x0 mov r1, #0xa2 add r2, sp, #0x54 bl FUN_02067830 _020671B0: ldr r1, [sp, #0x0] add r0, r5, #0x0 bl FUN_02066A20 add sp, #0x58 pop {r3-r7, pc} thumb_func_start FUN_020671BC FUN_020671BC: ; 0x020671BC push {r4-r6, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x4] add r4, r1, #0x0 add r6, r2, #0x0 lsl r0, r0, #0x1f lsr r0, r0, #0x1f bne _02067204 add r0, r5, #0x0 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 bl FUN_0206A3D0 add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 bl FUN_0206A3D0 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3F8 ldrh r1, [r5, #0x6] cmp r0, r1 beq _02067204 cmp r0, r1 beq _020671FC bl ErrorHandling _020671FC: ldrh r1, [r5, #0x4] mov r0, #0x4 orr r0, r1 strh r0, [r5, #0x4] _02067204: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02067234 add r4, r0, #0x0 ldrh r0, [r5, #0x4] lsl r0, r0, #0x1f lsr r0, r0, #0x1f bne _02067230 add r0, r5, #0x0 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 bl FUN_0206A3A4 add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 bl FUN_0206A3A4 _02067230: add r0, r4, #0x0 pop {r4-r6, pc} thumb_func_start FUN_02067234 FUN_02067234: ; 0x02067234 push {r3, lr} add r3, r1, #0x0 sub r3, #0x9f cmp r3, #0xb bhi _020672B6 add r3, r3, r3 add r3, pc ldrh r3, [r3, #0x6] lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 _0206724A: ; jump table (using 16-bit offset) .short _02067262 - _0206724A - 2; case 0 .short _02067268 - _0206724A - 2; case 1 .short _0206726E - _0206724A - 2; case 2 .short _02067274 - _0206724A - 2; case 3 .short _0206727A - _0206724A - 2; case 4 .short _02067280 - _0206724A - 2; case 5 .short _02067286 - _0206724A - 2; case 6 .short _0206728C - _0206724A - 2; case 7 .short _02067292 - _0206724A - 2; case 8 .short _02067298 - _0206724A - 2; case 9 .short _0206729E - _0206724A - 2; case 10 .short _020672AA - _0206724A - 2; case 11 _02067262: add r0, #0x88 ldr r0, [r0, #0x0] pop {r3, pc} _02067268: add r0, #0x8c ldrb r0, [r0, #0x0] pop {r3, pc} _0206726E: add r0, #0x8d ldrb r0, [r0, #0x0] pop {r3, pc} _02067274: add r0, #0x8e ldrh r0, [r0, #0x0] pop {r3, pc} _0206727A: add r0, #0x90 ldrh r0, [r0, #0x0] pop {r3, pc} _02067280: add r0, #0x92 ldrh r0, [r0, #0x0] pop {r3, pc} _02067286: add r0, #0x94 ldrh r0, [r0, #0x0] pop {r3, pc} _0206728C: add r0, #0x96 ldrh r0, [r0, #0x0] pop {r3, pc} _02067292: add r0, #0x98 ldrh r0, [r0, #0x0] pop {r3, pc} _02067298: add r0, #0x9a ldrh r0, [r0, #0x0] pop {r3, pc} _0206729E: add r0, #0x9c add r1, r2, #0x0 bl FUN_020256D0 mov r0, #0x1 pop {r3, pc} _020672AA: add r0, #0xd4 add r1, r2, #0x0 bl FUN_02029C74 mov r0, #0x1 pop {r3, pc} _020672B6: bl FUN_0206731C pop {r3, pc} thumb_func_start FUN_020672BC FUN_020672BC: ; 0x020672BC push {r4-r6, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x4] add r4, r1, #0x0 add r6, r2, #0x0 lsl r0, r0, #0x1e lsr r0, r0, #0x1f bne _020672F8 ldrh r2, [r5, #0x6] add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3D0 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3F8 ldrh r1, [r5, #0x6] cmp r0, r1 beq _020672F8 cmp r0, r1 beq _020672F0 bl ErrorHandling _020672F0: ldrh r1, [r5, #0x4] mov r0, #0x4 orr r0, r1 strh r0, [r5, #0x4] _020672F8: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_0206731C add r4, r0, #0x0 ldrh r0, [r5, #0x4] lsl r0, r0, #0x1e lsr r0, r0, #0x1f bne _02067318 ldrh r2, [r5, #0x6] add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3A4 _02067318: add r0, r4, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0206731C FUN_0206731C: ; 0x0206731C push {r4-r7, lr} sub sp, #0xc str r1, [sp, #0x4] add r1, r0, #0x0 mov r4, #0x0 str r2, [sp, #0x8] ldr r1, [r1, #0x0] str r0, [sp, #0x0] add r2, r4, #0x0 bl FUN_0206A418 add r5, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x1 add r1, r0, #0x0 ldr r1, [r1, #0x0] bl FUN_0206A418 add r6, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x2 add r1, r0, #0x0 ldr r1, [r1, #0x0] bl FUN_0206A418 add r7, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x3 add r1, r0, #0x0 ldr r1, [r1, #0x0] bl FUN_0206A418 add r1, r0, #0x0 ldr r0, [sp, #0x4] cmp r0, #0xb2 bls _02067366 b _020674D8 _02067366: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02067372: ; jump table (using 16-bit offset) .short _020674DC - _02067372 - 2; case 0 .short _020674E2 - _02067372 - 2; case 1 .short _020674EC - _02067372 - 2; case 2 .short _020674F6 - _02067372 - 2; case 3 .short _02067500 - _02067372 - 2; case 4 .short _0206754C - _02067372 - 2; case 5 .short _0206755E - _02067372 - 2; case 6 .short _02067562 - _02067372 - 2; case 7 .short _02067566 - _02067372 - 2; case 8 .short _0206756A - _02067372 - 2; case 9 .short _0206756E - _02067372 - 2; case 10 .short _02067572 - _02067372 - 2; case 11 .short _02067576 - _02067372 - 2; case 12 .short _0206757A - _02067372 - 2; case 13 .short _0206757E - _02067372 - 2; case 14 .short _02067582 - _02067372 - 2; case 15 .short _02067586 - _02067372 - 2; case 16 .short _0206758A - _02067372 - 2; case 17 .short _0206758E - _02067372 - 2; case 18 .short _02067592 - _02067372 - 2; case 19 .short _02067596 - _02067372 - 2; case 20 .short _0206759A - _02067372 - 2; case 21 .short _0206759E - _02067372 - 2; case 22 .short _020675A2 - _02067372 - 2; case 23 .short _020675A6 - _02067372 - 2; case 24 .short _020675AA - _02067372 - 2; case 25 .short _020675AA - _02067372 - 2; case 26 .short _020675AA - _02067372 - 2; case 27 .short _020675AA - _02067372 - 2; case 28 .short _020675AA - _02067372 - 2; case 29 .short _020675AA - _02067372 - 2; case 30 .short _020675AA - _02067372 - 2; case 31 .short _020675AA - _02067372 - 2; case 32 .short _020675AA - _02067372 - 2; case 33 .short _020675AA - _02067372 - 2; case 34 .short _020675AA - _02067372 - 2; case 35 .short _020675AA - _02067372 - 2; case 36 .short _020675AA - _02067372 - 2; case 37 .short _020675AA - _02067372 - 2; case 38 .short _020675AA - _02067372 - 2; case 39 .short _020675AA - _02067372 - 2; case 40 .short _020675AA - _02067372 - 2; case 41 .short _020675AA - _02067372 - 2; case 42 .short _020675AA - _02067372 - 2; case 43 .short _020675AA - _02067372 - 2; case 44 .short _020675AA - _02067372 - 2; case 45 .short _020675AA - _02067372 - 2; case 46 .short _020675AA - _02067372 - 2; case 47 .short _020675AA - _02067372 - 2; case 48 .short _020675AA - _02067372 - 2; case 49 .short _020675AA - _02067372 - 2; case 50 .short _020675AA - _02067372 - 2; case 51 .short _020675AA - _02067372 - 2; case 52 .short _020675AA - _02067372 - 2; case 53 .short _020675D0 - _02067372 - 2; case 54 .short _020675D0 - _02067372 - 2; case 55 .short _020675D0 - _02067372 - 2; case 56 .short _020675D0 - _02067372 - 2; case 57 .short _020675DC - _02067372 - 2; case 58 .short _020675DC - _02067372 - 2; case 59 .short _020675DC - _02067372 - 2; case 60 .short _020675DC - _02067372 - 2; case 61 .short _020675E8 - _02067372 - 2; case 62 .short _020675E8 - _02067372 - 2; case 63 .short _020675E8 - _02067372 - 2; case 64 .short _020675E8 - _02067372 - 2; case 65 .short _020675F4 - _02067372 - 2; case 66 .short _020675F4 - _02067372 - 2; case 67 .short _020675F4 - _02067372 - 2; case 68 .short _020675F4 - _02067372 - 2; case 69 .short _0206760C - _02067372 - 2; case 70 .short _02067614 - _02067372 - 2; case 71 .short _0206761C - _02067372 - 2; case 72 .short _02067624 - _02067372 - 2; case 73 .short _0206762C - _02067372 - 2; case 74 .short _02067634 - _02067372 - 2; case 75 .short _0206763C - _02067372 - 2; case 76 .short _0206764E - _02067372 - 2; case 77 .short _02067654 - _02067372 - 2; case 78 .short _02067654 - _02067372 - 2; case 79 .short _02067654 - _02067372 - 2; case 80 .short _02067654 - _02067372 - 2; case 81 .short _02067654 - _02067372 - 2; case 82 .short _02067654 - _02067372 - 2; case 83 .short _02067654 - _02067372 - 2; case 84 .short _02067654 - _02067372 - 2; case 85 .short _02067654 - _02067372 - 2; case 86 .short _02067654 - _02067372 - 2; case 87 .short _02067654 - _02067372 - 2; case 88 .short _02067654 - _02067372 - 2; case 89 .short _02067654 - _02067372 - 2; case 90 .short _02067654 - _02067372 - 2; case 91 .short _02067654 - _02067372 - 2; case 92 .short _02067654 - _02067372 - 2; case 93 .short _02067654 - _02067372 - 2; case 94 .short _02067654 - _02067372 - 2; case 95 .short _02067654 - _02067372 - 2; case 96 .short _02067654 - _02067372 - 2; case 97 .short _02067654 - _02067372 - 2; case 98 .short _02067654 - _02067372 - 2; case 99 .short _02067654 - _02067372 - 2; case 100 .short _02067654 - _02067372 - 2; case 101 .short _02067654 - _02067372 - 2; case 102 .short _02067654 - _02067372 - 2; case 103 .short _02067654 - _02067372 - 2; case 104 .short _02067654 - _02067372 - 2; case 105 .short _02067654 - _02067372 - 2; case 106 .short _02067654 - _02067372 - 2; case 107 .short _02067654 - _02067372 - 2; case 108 .short _02067654 - _02067372 - 2; case 109 .short _0206767C - _02067372 - 2; case 110 .short _02067684 - _02067372 - 2; case 111 .short _0206768C - _02067372 - 2; case 112 .short _02067694 - _02067372 - 2; case 113 .short _02067698 - _02067372 - 2; case 114 .short _020674D8 - _02067372 - 2; case 115 .short _0206769C - _02067372 - 2; case 116 .short _020674D8 - _02067372 - 2; case 117 .short _020676D0 - _02067372 - 2; case 118 .short _020676CC - _02067372 - 2; case 119 .short _020676FE - _02067372 - 2; case 120 .short _02067702 - _02067372 - 2; case 121 .short _02067706 - _02067372 - 2; case 122 .short _02067706 - _02067372 - 2; case 123 .short _02067706 - _02067372 - 2; case 124 .short _02067706 - _02067372 - 2; case 125 .short _02067706 - _02067372 - 2; case 126 .short _02067706 - _02067372 - 2; case 127 .short _02067706 - _02067372 - 2; case 128 .short _02067706 - _02067372 - 2; case 129 .short _02067706 - _02067372 - 2; case 130 .short _02067706 - _02067372 - 2; case 131 .short _02067706 - _02067372 - 2; case 132 .short _02067706 - _02067372 - 2; case 133 .short _02067706 - _02067372 - 2; case 134 .short _02067706 - _02067372 - 2; case 135 .short _02067706 - _02067372 - 2; case 136 .short _02067706 - _02067372 - 2; case 137 .short _02067706 - _02067372 - 2; case 138 .short _02067706 - _02067372 - 2; case 139 .short _02067706 - _02067372 - 2; case 140 .short _02067706 - _02067372 - 2; case 141 .short _02067706 - _02067372 - 2; case 142 .short _0206772C - _02067372 - 2; case 143 .short _02067746 - _02067372 - 2; case 144 .short _0206774E - _02067372 - 2; case 145 .short _02067752 - _02067372 - 2; case 146 .short _02067756 - _02067372 - 2; case 147 .short _0206775A - _02067372 - 2; case 148 .short _0206775E - _02067372 - 2; case 149 .short _02067762 - _02067372 - 2; case 150 .short _02067766 - _02067372 - 2; case 151 .short _0206776A - _02067372 - 2; case 152 .short _0206776E - _02067372 - 2; case 153 .short _02067772 - _02067372 - 2; case 154 .short _02067776 - _02067372 - 2; case 155 .short _0206777E - _02067372 - 2; case 156 .short _02067786 - _02067372 - 2; case 157 .short _0206778A - _02067372 - 2; case 158 .short _020674D8 - _02067372 - 2; case 159 .short _02067540 - _02067372 - 2; case 160 .short _020674D8 - _02067372 - 2; case 161 .short _020674D8 - _02067372 - 2; case 162 .short _020674D8 - _02067372 - 2; case 163 .short _020674D8 - _02067372 - 2; case 164 .short _020674D8 - _02067372 - 2; case 165 .short _020674D8 - _02067372 - 2; case 166 .short _020674D8 - _02067372 - 2; case 167 .short _020674D8 - _02067372 - 2; case 168 .short _020674D8 - _02067372 - 2; case 169 .short _020674D8 - _02067372 - 2; case 170 .short _02067506 - _02067372 - 2; case 171 .short _02067510 - _02067372 - 2; case 172 .short _02067522 - _02067372 - 2; case 173 .short _0206778E - _02067372 - 2; case 174 .short _020677C0 - _02067372 - 2; case 175 .short _020677D8 - _02067372 - 2; case 176 .short _020677D8 - _02067372 - 2; case 177 .short _02067810 - _02067372 - 2; case 178 _020674D8: mov r4, #0x0 b _0206781A _020674DC: ldr r0, [sp, #0x0] ldr r4, [r0, #0x0] b _0206781A _020674E2: ldr r0, [sp, #0x0] ldrh r0, [r0, #0x4] lsl r0, r0, #0x1f lsr r4, r0, #0x1f b _0206781A _020674EC: ldr r0, [sp, #0x0] ldrh r0, [r0, #0x4] lsl r0, r0, #0x1e lsr r4, r0, #0x1f b _0206781A _020674F6: ldr r0, [sp, #0x0] ldrh r0, [r0, #0x4] lsl r0, r0, #0x1d lsr r4, r0, #0x1f b _0206781A _02067500: ldr r0, [sp, #0x0] ldrh r4, [r0, #0x6] b _0206781A _02067506: ldrh r0, [r5, #0x0] cmp r0, #0x0 beq _0206753A mov r4, #0x1 b _0206781A _02067510: ldr r0, [sp, #0x0] ldrh r0, [r0, #0x4] lsl r0, r0, #0x1d lsr r4, r0, #0x1f bne _0206753A ldr r0, [r6, #0x10] lsl r0, r0, #0x1 lsr r4, r0, #0x1f b _0206781A _02067522: ldrh r4, [r5, #0x0] cmp r4, #0x0 beq _0206753A ldr r0, [r6, #0x10] lsl r0, r0, #0x1 lsr r0, r0, #0x1f bne _0206753C ldr r0, [sp, #0x0] ldrh r0, [r0, #0x4] lsl r0, r0, #0x1d lsr r0, r0, #0x1f bne _0206753C _0206753A: b _0206781A _0206753C: ldr r4, _02067820 ; =0x000001EE b _0206781A _02067540: ldrh r0, [r5, #0x0] ldr r1, [r5, #0x8] bl FUN_02068800 add r4, r0, #0x0 b _0206781A _0206754C: ldr r0, [sp, #0x0] ldrh r0, [r0, #0x4] lsl r0, r0, #0x1d lsr r0, r0, #0x1f beq _0206755A ldr r4, _02067820 ; =0x000001EE b _0206781A _0206755A: ldrh r4, [r5, #0x0] b _0206781A _0206755E: ldrh r4, [r5, #0x2] b _0206781A _02067562: ldr r4, [r5, #0x4] b _0206781A _02067566: ldr r4, [r5, #0x8] b _0206781A _0206756A: ldrb r4, [r5, #0xc] b _0206781A _0206756E: ldrb r4, [r5, #0xd] b _0206781A _02067572: ldrb r4, [r5, #0xe] b _0206781A _02067576: ldrb r4, [r5, #0xf] b _0206781A _0206757A: ldrb r4, [r5, #0x10] b _0206781A _0206757E: ldrb r4, [r5, #0x11] b _0206781A _02067582: ldrb r4, [r5, #0x12] b _0206781A _02067586: ldrb r4, [r5, #0x13] b _0206781A _0206758A: ldrb r4, [r5, #0x14] b _0206781A _0206758E: ldrb r4, [r5, #0x15] b _0206781A _02067592: ldrb r4, [r5, #0x16] b _0206781A _02067596: ldrb r4, [r5, #0x17] b _0206781A _0206759A: ldrb r4, [r5, #0x18] b _0206781A _0206759E: ldrb r4, [r5, #0x19] b _0206781A _020675A2: ldrb r4, [r5, #0x1a] b _0206781A _020675A6: ldrb r4, [r5, #0x1b] b _0206781A _020675AA: ldr r2, [sp, #0x4] mov r0, #0x1 sub r2, #0x19 add r1, r4, #0x0 str r2, [sp, #0x4] blx _ll_shl ldr r2, [r5, #0x1c] add r3, r4, #0x0 and r3, r1 and r2, r0 mov r1, #0x0 mov r0, #0x0 eor r1, r3 eor r0, r2 orr r0, r1 beq _02067676 mov r4, #0x1 b _0206781A _020675D0: ldr r0, [sp, #0x4] sub r0, #0x36 str r0, [sp, #0x4] lsl r0, r0, #0x1 ldrh r4, [r6, r0] b _0206781A _020675DC: ldr r0, [sp, #0x4] sub r0, #0x3a str r0, [sp, #0x4] add r0, r6, r0 ldrb r4, [r0, #0x8] b _0206781A _020675E8: ldr r0, [sp, #0x4] sub r0, #0x3e str r0, [sp, #0x4] add r0, r6, r0 ldrb r4, [r0, #0xc] b _0206781A _020675F4: ldr r0, [sp, #0x4] sub r0, #0x42 str r0, [sp, #0x4] ldr r1, [sp, #0x4] lsl r0, r0, #0x1 add r1, r6, r1 ldrh r0, [r6, r0] ldrb r1, [r1, #0xc] bl FUN_0206AB30 add r4, r0, #0x0 b _0206781A _0206760C: ldr r0, [r6, #0x10] lsl r0, r0, #0x1b lsr r4, r0, #0x1b b _0206781A _02067614: ldr r0, [r6, #0x10] lsl r0, r0, #0x16 lsr r4, r0, #0x1b b _0206781A _0206761C: ldr r0, [r6, #0x10] lsl r0, r0, #0x11 lsr r4, r0, #0x1b b _0206781A _02067624: ldr r0, [r6, #0x10] lsl r0, r0, #0xc lsr r4, r0, #0x1b b _0206781A _0206762C: ldr r0, [r6, #0x10] lsl r0, r0, #0x7 lsr r4, r0, #0x1b b _0206781A _02067634: ldr r0, [r6, #0x10] lsl r0, r0, #0x2 lsr r4, r0, #0x1b b _0206781A _0206763C: ldr r0, [sp, #0x0] ldrh r0, [r0, #0x4] lsl r0, r0, #0x1d lsr r4, r0, #0x1f bne _02067676 ldr r0, [r6, #0x10] lsl r0, r0, #0x1 lsr r4, r0, #0x1f b _0206781A _0206764E: ldr r0, [r6, #0x10] lsr r4, r0, #0x1f b _0206781A _02067654: ldr r2, [sp, #0x4] mov r0, #0x1 sub r2, #0x4e add r1, r4, #0x0 str r2, [sp, #0x4] blx _ll_shl ldr r2, [r6, #0x14] add r3, r4, #0x0 and r3, r1 and r2, r0 mov r1, #0x0 mov r0, #0x0 eor r1, r3 eor r0, r2 orr r0, r1 bne _02067678 _02067676: b _0206781A _02067678: mov r4, #0x1 b _0206781A _0206767C: ldrb r0, [r6, #0x18] lsl r0, r0, #0x1f lsr r4, r0, #0x1f b _0206781A _02067684: ldrb r0, [r6, #0x18] lsl r0, r0, #0x1d lsr r4, r0, #0x1e b _0206781A _0206768C: ldrb r0, [r6, #0x18] lsl r0, r0, #0x18 lsr r4, r0, #0x1b b _0206781A _02067694: ldrb r4, [r6, #0x19] b _0206781A _02067698: ldrh r4, [r6, #0x1a] b _0206781A _0206769C: ldr r0, [sp, #0x0] ldrh r0, [r0, #0x4] lsl r0, r0, #0x1d lsr r0, r0, #0x1f beq _020676B2 ldr r0, _02067824 ; =0x000001EF ldr r2, [sp, #0x8] add r1, r4, #0x0 bl FUN_0200A99C b _0206781A _020676B2: ldr r1, [sp, #0x8] _020676B4: ldrh r0, [r7, #0x0] add r4, r4, #0x1 add r7, r7, #0x2 strh r0, [r1, #0x0] add r1, r1, #0x2 cmp r4, #0xa blo _020676B4 ldr r2, _02067828 ; =0x0000FFFF ldr r0, [sp, #0x8] lsl r1, r4, #0x1 strh r2, [r0, r1] b _0206781A _020676CC: ldr r0, [r6, #0x10] lsr r4, r0, #0x1f _020676D0: ldr r0, [sp, #0x0] ldrh r0, [r0, #0x4] lsl r0, r0, #0x1d lsr r0, r0, #0x1f beq _020676F4 ldr r0, _02067824 ; =0x000001EF mov r1, #0x0 bl FUN_0200AA50 add r5, r0, #0x0 ldr r0, [sp, #0x8] add r1, r5, #0x0 bl FUN_02021A74 add r0, r5, #0x0 bl FUN_02021A20 b _0206781A _020676F4: ldr r0, [sp, #0x8] add r1, r7, #0x0 bl FUN_02021E28 b _0206781A _020676FE: ldrb r4, [r7, #0x16] b _0206781A _02067702: ldrb r4, [r7, #0x17] b _0206781A _02067706: ldr r2, [sp, #0x4] mov r0, #0x1 sub r2, #0x7a add r1, r4, #0x0 str r2, [sp, #0x4] blx _ll_shl ldr r3, [r7, #0x18] ldr r2, [r7, #0x1c] and r3, r0 and r2, r1 mov r1, #0x0 mov r0, #0x0 eor r1, r2 eor r0, r3 orr r0, r1 beq _0206781A mov r4, #0x1 b _0206781A _0206772C: ldr r2, [sp, #0x8] _0206772E: ldrh r0, [r1, #0x0] add r4, r4, #0x1 add r1, r1, #0x2 strh r0, [r2, #0x0] add r2, r2, #0x2 cmp r4, #0x7 blo _0206772E ldr r2, _02067828 ; =0x0000FFFF ldr r0, [sp, #0x8] lsl r1, r4, #0x1 strh r2, [r0, r1] b _0206781A _02067746: ldr r0, [sp, #0x8] bl FUN_02021E28 b _0206781A _0206774E: ldrb r4, [r1, #0x10] b _0206781A _02067752: ldrb r4, [r1, #0x11] b _0206781A _02067756: ldrb r4, [r1, #0x12] b _0206781A _0206775A: ldrb r4, [r1, #0x13] b _0206781A _0206775E: ldrb r4, [r1, #0x14] b _0206781A _02067762: ldrb r4, [r1, #0x15] b _0206781A _02067766: ldrh r4, [r1, #0x16] b _0206781A _0206776A: ldrh r4, [r1, #0x18] b _0206781A _0206776E: ldrb r4, [r1, #0x1a] b _0206781A _02067772: ldrb r4, [r1, #0x1b] b _0206781A _02067776: ldrb r0, [r1, #0x1c] lsl r0, r0, #0x19 lsr r4, r0, #0x19 b _0206781A _0206777E: ldrb r0, [r1, #0x1c] lsl r0, r0, #0x18 lsr r4, r0, #0x1f b _0206781A _02067786: ldrb r4, [r1, #0x1d] b _0206781A _0206778A: ldrh r4, [r1, #0x1e] b _0206781A _0206778E: ldr r4, [r6, #0x10] lsl r0, r4, #0x2 lsr r0, r0, #0x1b lsl r5, r0, #0x19 lsl r0, r4, #0x7 lsr r0, r0, #0x1b lsl r3, r0, #0x14 lsl r0, r4, #0xc lsr r0, r0, #0x1b lsl r2, r0, #0xf lsl r0, r4, #0x11 lsr r0, r0, #0x1b lsl r1, r0, #0xa lsl r0, r4, #0x1b lsl r4, r4, #0x16 lsr r4, r4, #0x1b lsr r0, r0, #0x1b lsl r4, r4, #0x5 orr r0, r4 orr r0, r1 orr r0, r2 orr r0, r3 add r4, r5, #0x0 orr r4, r0 b _0206781A _020677C0: ldrh r0, [r5, #0x0] cmp r0, #0x1d beq _020677CA cmp r0, #0x20 bne _020677D4 _020677CA: ldr r0, [r6, #0x10] lsr r0, r0, #0x1f bne _020677D4 mov r4, #0x0 b _0206781A _020677D4: mov r4, #0x1 b _0206781A _020677D8: ldrh r0, [r5, #0x0] ldr r1, _0206782C ; =0x000001ED cmp r0, r1 bne _020677FC ldrb r1, [r5, #0xd] cmp r1, #0x79 bne _020677FC ldrh r0, [r5, #0x2] mov r1, #0x1 add r2, r4, #0x0 bl FUN_0206E7B8 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_02069F24 add r4, r0, #0x0 b _0206781A _020677FC: ldrb r1, [r6, #0x18] ldr r2, [sp, #0x4] lsl r1, r1, #0x18 sub r2, #0xaa lsr r1, r1, #0x1b str r2, [sp, #0x4] bl FUN_02068654 add r4, r0, #0x0 b _0206781A _02067810: ldrh r0, [r5, #0x0] ldr r2, [sp, #0x8] add r1, r4, #0x0 bl FUN_0200A99C _0206781A: add r0, r4, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 _02067820: .word 0x000001EE _02067824: .word 0x000001EF _02067828: .word 0x0000FFFF _0206782C: .word 0x000001ED thumb_func_start FUN_02067830 FUN_02067830: ; 0x02067830 push {r4-r6, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x4] add r4, r1, #0x0 add r6, r2, #0x0 lsl r0, r0, #0x1f lsr r0, r0, #0x1f bne _02067886 add r0, r5, #0x0 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 bl FUN_0206A3D0 add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 bl FUN_0206A3D0 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3F8 ldrh r1, [r5, #0x6] cmp r0, r1 beq _02067886 cmp r0, r1 beq _02067870 bl ErrorHandling _02067870: ldrh r1, [r5, #0x4] mov r0, #0x4 orr r0, r1 strh r0, [r5, #0x4] ldrh r2, [r5, #0x6] add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3A4 pop {r4-r6, pc} _02067886: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_020678C0 ldrh r0, [r5, #0x4] lsl r0, r0, #0x1f lsr r0, r0, #0x1f bne _020678BC add r0, r5, #0x0 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 bl FUN_0206A3A4 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3F8 strh r0, [r5, #0x6] add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 bl FUN_0206A3A4 _020678BC: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020678C0 FUN_020678C0: ; 0x020678C0 push {r3, lr} add r3, r0, #0x0 add r0, r1, #0x0 sub r0, #0x9f cmp r0, #0xb bhi _02067958 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020678D8: ; jump table (using 16-bit offset) .short _020678F0 - _020678D8 - 2; case 0 .short _020678F8 - _020678D8 - 2; case 1 .short _02067900 - _020678D8 - 2; case 2 .short _02067908 - _020678D8 - 2; case 3 .short _02067910 - _020678D8 - 2; case 4 .short _02067918 - _020678D8 - 2; case 5 .short _02067920 - _020678D8 - 2; case 6 .short _02067928 - _020678D8 - 2; case 7 .short _02067930 - _020678D8 - 2; case 8 .short _02067938 - _020678D8 - 2; case 9 .short _02067940 - _020678D8 - 2; case 10 .short _0206794C - _020678D8 - 2; case 11 _020678F0: ldr r0, [r2, #0x0] add r3, #0x88 str r0, [r3, #0x0] pop {r3, pc} _020678F8: ldrb r0, [r2, #0x0] add r3, #0x8c strb r0, [r3, #0x0] pop {r3, pc} _02067900: ldrb r0, [r2, #0x0] add r3, #0x8d strb r0, [r3, #0x0] pop {r3, pc} _02067908: ldrh r0, [r2, #0x0] add r3, #0x8e strh r0, [r3, #0x0] pop {r3, pc} _02067910: ldrh r0, [r2, #0x0] add r3, #0x90 strh r0, [r3, #0x0] pop {r3, pc} _02067918: ldrh r0, [r2, #0x0] add r3, #0x92 strh r0, [r3, #0x0] pop {r3, pc} _02067920: ldrh r0, [r2, #0x0] add r3, #0x94 strh r0, [r3, #0x0] pop {r3, pc} _02067928: ldrh r0, [r2, #0x0] add r3, #0x96 strh r0, [r3, #0x0] pop {r3, pc} _02067930: ldrh r0, [r2, #0x0] add r3, #0x98 strh r0, [r3, #0x0] pop {r3, pc} _02067938: ldrh r0, [r2, #0x0] add r3, #0x9a strh r0, [r3, #0x0] pop {r3, pc} _02067940: add r3, #0x9c add r0, r2, #0x0 add r1, r3, #0x0 bl FUN_020256D0 pop {r3, pc} _0206794C: add r3, #0xd4 add r0, r2, #0x0 add r1, r3, #0x0 bl FUN_02029C74 pop {r3, pc} _02067958: add r0, r3, #0x0 bl FUN_020679D8 pop {r3, pc} thumb_func_start FUN_02067960 FUN_02067960: ; 0x02067960 push {r4-r6, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x4] add r4, r1, #0x0 add r6, r2, #0x0 lsl r0, r0, #0x1e lsr r0, r0, #0x1f bne _020679AA ldrh r2, [r5, #0x6] add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3D0 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3F8 ldrh r1, [r5, #0x6] cmp r0, r1 beq _020679AA cmp r0, r1 beq _02067994 bl ErrorHandling _02067994: ldrh r1, [r5, #0x4] mov r0, #0x4 orr r0, r1 strh r0, [r5, #0x4] ldrh r2, [r5, #0x6] add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3A4 pop {r4-r6, pc} _020679AA: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_020679D8 ldrh r0, [r5, #0x4] lsl r0, r0, #0x1e lsr r0, r0, #0x1f bne _020679D4 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3F8 strh r0, [r5, #0x6] add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 bl FUN_0206A3A4 _020679D4: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020679D8 FUN_020679D8: ; 0x020679D8 push {r4-r7, lr} sub sp, #0x4c str r1, [sp, #0x4] add r1, r0, #0x0 add r4, r2, #0x0 ldr r1, [r1, #0x0] str r0, [sp, #0x0] mov r2, #0x0 bl FUN_0206A418 add r7, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x1 add r1, r0, #0x0 ldr r1, [r1, #0x0] bl FUN_0206A418 add r5, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x2 add r1, r0, #0x0 ldr r1, [r1, #0x0] bl FUN_0206A418 add r6, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x3 add r1, r0, #0x0 ldr r1, [r1, #0x0] bl FUN_0206A418 add r1, r0, #0x0 ldr r0, [sp, #0x4] cmp r0, #0xb2 bls _02067A20 b _02067FF6 _02067A20: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02067A2C: ; jump table (using 16-bit offset) .short _02067B92 - _02067A2C - 2; case 0 .short _02067B9C - _02067A2C - 2; case 1 .short _02067BBA - _02067A2C - 2; case 2 .short _02067BD6 - _02067A2C - 2; case 3 .short _02067BEE - _02067A2C - 2; case 4 .short _02067BF8 - _02067A2C - 2; case 5 .short _02067C00 - _02067A2C - 2; case 6 .short _02067C08 - _02067A2C - 2; case 7 .short _02067C10 - _02067A2C - 2; case 8 .short _02067C18 - _02067A2C - 2; case 9 .short _02067C20 - _02067A2C - 2; case 10 .short _02067C28 - _02067A2C - 2; case 11 .short _02067C30 - _02067A2C - 2; case 12 .short _02067C38 - _02067A2C - 2; case 13 .short _02067C40 - _02067A2C - 2; case 14 .short _02067C48 - _02067A2C - 2; case 15 .short _02067C50 - _02067A2C - 2; case 16 .short _02067C58 - _02067A2C - 2; case 17 .short _02067C60 - _02067A2C - 2; case 18 .short _02067C68 - _02067A2C - 2; case 19 .short _02067C70 - _02067A2C - 2; case 20 .short _02067C78 - _02067A2C - 2; case 21 .short _02067C80 - _02067A2C - 2; case 22 .short _02067C88 - _02067A2C - 2; case 23 .short _02067C90 - _02067A2C - 2; case 24 .short _02067C98 - _02067A2C - 2; case 25 .short _02067C98 - _02067A2C - 2; case 26 .short _02067C98 - _02067A2C - 2; case 27 .short _02067C98 - _02067A2C - 2; case 28 .short _02067C98 - _02067A2C - 2; case 29 .short _02067C98 - _02067A2C - 2; case 30 .short _02067C98 - _02067A2C - 2; case 31 .short _02067C98 - _02067A2C - 2; case 32 .short _02067C98 - _02067A2C - 2; case 33 .short _02067C98 - _02067A2C - 2; case 34 .short _02067C98 - _02067A2C - 2; case 35 .short _02067C98 - _02067A2C - 2; case 36 .short _02067C98 - _02067A2C - 2; case 37 .short _02067C98 - _02067A2C - 2; case 38 .short _02067C98 - _02067A2C - 2; case 39 .short _02067C98 - _02067A2C - 2; case 40 .short _02067C98 - _02067A2C - 2; case 41 .short _02067C98 - _02067A2C - 2; case 42 .short _02067C98 - _02067A2C - 2; case 43 .short _02067C98 - _02067A2C - 2; case 44 .short _02067C98 - _02067A2C - 2; case 45 .short _02067C98 - _02067A2C - 2; case 46 .short _02067C98 - _02067A2C - 2; case 47 .short _02067C98 - _02067A2C - 2; case 48 .short _02067C98 - _02067A2C - 2; case 49 .short _02067C98 - _02067A2C - 2; case 50 .short _02067C98 - _02067A2C - 2; case 51 .short _02067C98 - _02067A2C - 2; case 52 .short _02067C98 - _02067A2C - 2; case 53 .short _02067CC6 - _02067A2C - 2; case 54 .short _02067CC6 - _02067A2C - 2; case 55 .short _02067CC6 - _02067A2C - 2; case 56 .short _02067CC6 - _02067A2C - 2; case 57 .short _02067CD6 - _02067A2C - 2; case 58 .short _02067CD6 - _02067A2C - 2; case 59 .short _02067CD6 - _02067A2C - 2; case 60 .short _02067CD6 - _02067A2C - 2; case 61 .short _02067CE6 - _02067A2C - 2; case 62 .short _02067CE6 - _02067A2C - 2; case 63 .short _02067CE6 - _02067A2C - 2; case 64 .short _02067CE6 - _02067A2C - 2; case 65 .short _02067FF6 - _02067A2C - 2; case 66 .short _02067FF6 - _02067A2C - 2; case 67 .short _02067FF6 - _02067A2C - 2; case 68 .short _02067FF6 - _02067A2C - 2; case 69 .short _02067CF6 - _02067A2C - 2; case 70 .short _02067D0A - _02067A2C - 2; case 71 .short _02067D1E - _02067A2C - 2; case 72 .short _02067D32 - _02067A2C - 2; case 73 .short _02067D46 - _02067A2C - 2; case 74 .short _02067D5A - _02067A2C - 2; case 75 .short _02067D6E - _02067A2C - 2; case 76 .short _02067D82 - _02067A2C - 2; case 77 .short _02067D94 - _02067A2C - 2; case 78 .short _02067D94 - _02067A2C - 2; case 79 .short _02067D94 - _02067A2C - 2; case 80 .short _02067D94 - _02067A2C - 2; case 81 .short _02067D94 - _02067A2C - 2; case 82 .short _02067D94 - _02067A2C - 2; case 83 .short _02067D94 - _02067A2C - 2; case 84 .short _02067D94 - _02067A2C - 2; case 85 .short _02067D94 - _02067A2C - 2; case 86 .short _02067D94 - _02067A2C - 2; case 87 .short _02067D94 - _02067A2C - 2; case 88 .short _02067D94 - _02067A2C - 2; case 89 .short _02067D94 - _02067A2C - 2; case 90 .short _02067D94 - _02067A2C - 2; case 91 .short _02067D94 - _02067A2C - 2; case 92 .short _02067D94 - _02067A2C - 2; case 93 .short _02067D94 - _02067A2C - 2; case 94 .short _02067D94 - _02067A2C - 2; case 95 .short _02067D94 - _02067A2C - 2; case 96 .short _02067D94 - _02067A2C - 2; case 97 .short _02067D94 - _02067A2C - 2; case 98 .short _02067D94 - _02067A2C - 2; case 99 .short _02067D94 - _02067A2C - 2; case 100 .short _02067D94 - _02067A2C - 2; case 101 .short _02067D94 - _02067A2C - 2; case 102 .short _02067D94 - _02067A2C - 2; case 103 .short _02067D94 - _02067A2C - 2; case 104 .short _02067D94 - _02067A2C - 2; case 105 .short _02067D94 - _02067A2C - 2; case 106 .short _02067D94 - _02067A2C - 2; case 107 .short _02067D94 - _02067A2C - 2; case 108 .short _02067D94 - _02067A2C - 2; case 109 .short _02067DC2 - _02067A2C - 2; case 110 .short _02067DD6 - _02067A2C - 2; case 111 .short _02067DEA - _02067A2C - 2; case 112 .short _02067DFE - _02067A2C - 2; case 113 .short _02067E06 - _02067A2C - 2; case 114 .short _02067FF6 - _02067A2C - 2; case 115 .short _02067E2C - _02067A2C - 2; case 116 .short _02067E0E - _02067A2C - 2; case 117 .short _02067E6C - _02067A2C - 2; case 118 .short _02067E40 - _02067A2C - 2; case 119 .short _02067E7A - _02067A2C - 2; case 120 .short _02067E82 - _02067A2C - 2; case 121 .short _02067E8A - _02067A2C - 2; case 122 .short _02067E8A - _02067A2C - 2; case 123 .short _02067E8A - _02067A2C - 2; case 124 .short _02067E8A - _02067A2C - 2; case 125 .short _02067E8A - _02067A2C - 2; case 126 .short _02067E8A - _02067A2C - 2; case 127 .short _02067E8A - _02067A2C - 2; case 128 .short _02067E8A - _02067A2C - 2; case 129 .short _02067E8A - _02067A2C - 2; case 130 .short _02067E8A - _02067A2C - 2; case 131 .short _02067E8A - _02067A2C - 2; case 132 .short _02067E8A - _02067A2C - 2; case 133 .short _02067E8A - _02067A2C - 2; case 134 .short _02067E8A - _02067A2C - 2; case 135 .short _02067E8A - _02067A2C - 2; case 136 .short _02067E8A - _02067A2C - 2; case 137 .short _02067E8A - _02067A2C - 2; case 138 .short _02067E8A - _02067A2C - 2; case 139 .short _02067E8A - _02067A2C - 2; case 140 .short _02067E8A - _02067A2C - 2; case 141 .short _02067E8A - _02067A2C - 2; case 142 .short _02067ECE - _02067A2C - 2; case 143 .short _02067EE2 - _02067A2C - 2; case 144 .short _02067EEE - _02067A2C - 2; case 145 .short _02067EF6 - _02067A2C - 2; case 146 .short _02067EFE - _02067A2C - 2; case 147 .short _02067F06 - _02067A2C - 2; case 148 .short _02067F0E - _02067A2C - 2; case 149 .short _02067F16 - _02067A2C - 2; case 150 .short _02067F1E - _02067A2C - 2; case 151 .short _02067F26 - _02067A2C - 2; case 152 .short _02067F2E - _02067A2C - 2; case 153 .short _02067F36 - _02067A2C - 2; case 154 .short _02067F3E - _02067A2C - 2; case 155 .short _02067F52 - _02067A2C - 2; case 156 .short _02067F66 - _02067A2C - 2; case 157 .short _02067F6E - _02067A2C - 2; case 158 .short _02067FF6 - _02067A2C - 2; case 159 .short _02067FF6 - _02067A2C - 2; case 160 .short _02067FF6 - _02067A2C - 2; case 161 .short _02067FF6 - _02067A2C - 2; case 162 .short _02067FF6 - _02067A2C - 2; case 163 .short _02067FF6 - _02067A2C - 2; case 164 .short _02067FF6 - _02067A2C - 2; case 165 .short _02067FF6 - _02067A2C - 2; case 166 .short _02067FF6 - _02067A2C - 2; case 167 .short _02067FF6 - _02067A2C - 2; case 168 .short _02067FF6 - _02067A2C - 2; case 169 .short _02067FF6 - _02067A2C - 2; case 170 .short _02067FF6 - _02067A2C - 2; case 171 .short _02067FF6 - _02067A2C - 2; case 172 .short _02067FF6 - _02067A2C - 2; case 173 .short _02067F76 - _02067A2C - 2; case 174 .short _02067FF6 - _02067A2C - 2; case 175 .short _02067FF6 - _02067A2C - 2; case 176 .short _02067FF6 - _02067A2C - 2; case 177 .short _02067FDE - _02067A2C - 2; case 178 _02067B92: ldr r0, [sp, #0x0] ldr r1, [r4, #0x0] add sp, #0x4c str r1, [r0, #0x0] pop {r4-r7, pc} _02067B9C: bl ErrorHandling ldr r0, [sp, #0x0] ldrb r1, [r4, #0x0] ldrh r2, [r0, #0x4] mov r0, #0x1 bic r2, r0 mov r0, #0x1 and r0, r1 add r1, r2, #0x0 orr r1, r0 ldr r0, [sp, #0x0] add sp, #0x4c strh r1, [r0, #0x4] pop {r4-r7, pc} _02067BBA: bl ErrorHandling ldr r0, [sp, #0x0] ldrh r1, [r0, #0x4] mov r0, #0x2 bic r1, r0 ldrb r0, [r4, #0x0] lsl r0, r0, #0x1f lsr r0, r0, #0x1e orr r1, r0 ldr r0, [sp, #0x0] add sp, #0x4c strh r1, [r0, #0x4] pop {r4-r7, pc} _02067BD6: ldr r0, [sp, #0x0] ldrh r1, [r0, #0x4] mov r0, #0x4 bic r1, r0 ldrb r0, [r4, #0x0] lsl r0, r0, #0x1f lsr r0, r0, #0x1d orr r1, r0 ldr r0, [sp, #0x0] add sp, #0x4c strh r1, [r0, #0x4] pop {r4-r7, pc} _02067BEE: ldrh r1, [r4, #0x0] ldr r0, [sp, #0x0] add sp, #0x4c strh r1, [r0, #0x6] pop {r4-r7, pc} _02067BF8: ldrh r0, [r4, #0x0] add sp, #0x4c strh r0, [r7, #0x0] pop {r4-r7, pc} _02067C00: ldrh r0, [r4, #0x0] add sp, #0x4c strh r0, [r7, #0x2] pop {r4-r7, pc} _02067C08: ldr r0, [r4, #0x0] add sp, #0x4c str r0, [r7, #0x4] pop {r4-r7, pc} _02067C10: ldr r0, [r4, #0x0] add sp, #0x4c str r0, [r7, #0x8] pop {r4-r7, pc} _02067C18: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0xc] pop {r4-r7, pc} _02067C20: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0xd] pop {r4-r7, pc} _02067C28: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0xe] pop {r4-r7, pc} _02067C30: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0xf] pop {r4-r7, pc} _02067C38: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0x10] pop {r4-r7, pc} _02067C40: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0x11] pop {r4-r7, pc} _02067C48: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0x12] pop {r4-r7, pc} _02067C50: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0x13] pop {r4-r7, pc} _02067C58: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0x14] pop {r4-r7, pc} _02067C60: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0x15] pop {r4-r7, pc} _02067C68: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0x16] pop {r4-r7, pc} _02067C70: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0x17] pop {r4-r7, pc} _02067C78: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0x18] pop {r4-r7, pc} _02067C80: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0x19] pop {r4-r7, pc} _02067C88: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0x1a] pop {r4-r7, pc} _02067C90: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r7, #0x1b] pop {r4-r7, pc} _02067C98: ldrb r4, [r4, #0x0] ldr r2, [sp, #0x4] mov r1, #0x0 sub r2, #0x19 add r0, r4, #0x0 str r2, [sp, #0x4] blx _ll_shl cmp r4, #0x0 beq _02067CB6 ldr r1, [r7, #0x1c] add sp, #0x4c orr r0, r1 str r0, [r7, #0x1c] pop {r4-r7, pc} _02067CB6: mov r1, #0x0 sub r1, r1, #0x1 ldr r2, [r7, #0x1c] eor r0, r1 and r0, r2 add sp, #0x4c str r0, [r7, #0x1c] pop {r4-r7, pc} _02067CC6: ldr r0, [sp, #0x4] ldrh r1, [r4, #0x0] sub r0, #0x36 str r0, [sp, #0x4] lsl r0, r0, #0x1 add sp, #0x4c strh r1, [r5, r0] pop {r4-r7, pc} _02067CD6: ldr r0, [sp, #0x4] ldrb r1, [r4, #0x0] sub r0, #0x3a str r0, [sp, #0x4] add r0, r5, r0 strb r1, [r0, #0x8] add sp, #0x4c pop {r4-r7, pc} _02067CE6: ldr r0, [sp, #0x4] ldrb r1, [r4, #0x0] sub r0, #0x3e str r0, [sp, #0x4] add r0, r5, r0 strb r1, [r0, #0xc] add sp, #0x4c pop {r4-r7, pc} _02067CF6: ldr r2, [r5, #0x10] mov r0, #0x1f bic r2, r0 ldrb r1, [r4, #0x0] mov r0, #0x1f add sp, #0x4c and r0, r1 orr r0, r2 str r0, [r5, #0x10] pop {r4-r7, pc} _02067D0A: ldr r1, [r5, #0x10] ldr r0, _02067FFC ; =0xFFFFFC1F add sp, #0x4c and r1, r0 ldrb r0, [r4, #0x0] lsl r0, r0, #0x1b lsr r0, r0, #0x16 orr r0, r1 str r0, [r5, #0x10] pop {r4-r7, pc} _02067D1E: ldr r1, [r5, #0x10] ldr r0, _02068000 ; =0xFFFF83FF add sp, #0x4c and r1, r0 ldrb r0, [r4, #0x0] lsl r0, r0, #0x1b lsr r0, r0, #0x11 orr r0, r1 str r0, [r5, #0x10] pop {r4-r7, pc} _02067D32: ldr r1, [r5, #0x10] ldr r0, _02068004 ; =0xFFF07FFF add sp, #0x4c and r1, r0 ldrb r0, [r4, #0x0] lsl r0, r0, #0x1b lsr r0, r0, #0xc orr r0, r1 str r0, [r5, #0x10] pop {r4-r7, pc} _02067D46: ldr r1, [r5, #0x10] ldr r0, _02068008 ; =0xFE0FFFFF add sp, #0x4c and r1, r0 ldrb r0, [r4, #0x0] lsl r0, r0, #0x1b lsr r0, r0, #0x7 orr r0, r1 str r0, [r5, #0x10] pop {r4-r7, pc} _02067D5A: ldr r1, [r5, #0x10] ldr r0, _0206800C ; =0xC1FFFFFF add sp, #0x4c and r1, r0 ldrb r0, [r4, #0x0] lsl r0, r0, #0x1b lsr r0, r0, #0x2 orr r0, r1 str r0, [r5, #0x10] pop {r4-r7, pc} _02067D6E: ldr r1, [r5, #0x10] ldr r0, _02068010 ; =0xBFFFFFFF add sp, #0x4c and r1, r0 ldrb r0, [r4, #0x0] lsl r0, r0, #0x1f lsr r0, r0, #0x1 orr r0, r1 str r0, [r5, #0x10] pop {r4-r7, pc} _02067D82: ldr r1, [r5, #0x10] ldr r0, _02068014 ; =0x7FFFFFFF add sp, #0x4c and r1, r0 ldrb r0, [r4, #0x0] lsl r0, r0, #0x1f orr r0, r1 str r0, [r5, #0x10] pop {r4-r7, pc} _02067D94: ldrb r4, [r4, #0x0] ldr r2, [sp, #0x4] mov r1, #0x0 sub r2, #0x4e add r0, r4, #0x0 str r2, [sp, #0x4] blx _ll_shl cmp r4, #0x0 beq _02067DB2 ldr r1, [r5, #0x14] add sp, #0x4c orr r0, r1 str r0, [r5, #0x14] pop {r4-r7, pc} _02067DB2: mov r1, #0x0 sub r1, r1, #0x1 ldr r2, [r5, #0x14] eor r0, r1 and r0, r2 add sp, #0x4c str r0, [r5, #0x14] pop {r4-r7, pc} _02067DC2: ldrb r2, [r5, #0x18] ldrb r1, [r4, #0x0] mov r0, #0x1 bic r2, r0 mov r0, #0x1 and r0, r1 orr r0, r2 add sp, #0x4c strb r0, [r5, #0x18] pop {r4-r7, pc} _02067DD6: ldrb r1, [r5, #0x18] mov r0, #0x6 add sp, #0x4c bic r1, r0 ldrb r0, [r4, #0x0] lsl r0, r0, #0x1e lsr r0, r0, #0x1d orr r0, r1 strb r0, [r5, #0x18] pop {r4-r7, pc} _02067DEA: ldrb r1, [r5, #0x18] mov r0, #0xf8 add sp, #0x4c bic r1, r0 ldrb r0, [r4, #0x0] lsl r0, r0, #0x1b lsr r0, r0, #0x18 orr r0, r1 strb r0, [r5, #0x18] pop {r4-r7, pc} _02067DFE: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r5, #0x19] pop {r4-r7, pc} _02067E06: ldrh r0, [r4, #0x0] add sp, #0x4c strh r0, [r5, #0x1a] pop {r4-r7, pc} _02067E0E: ldrh r0, [r7, #0x0] mov r1, #0x0 add r2, sp, #0x34 bl FUN_0200A99C add r0, sp, #0x34 add r1, r4, #0x0 bl StringNotEqual ldr r2, [r5, #0x10] ldr r1, _02068014 ; =0x7FFFFFFF lsl r0, r0, #0x1f and r1, r2 orr r0, r1 str r0, [r5, #0x10] _02067E2C: mov r1, #0x0 _02067E2E: ldrh r0, [r4, #0x0] add r1, r1, #0x1 add r4, r4, #0x2 strh r0, [r6, #0x0] add r6, r6, #0x2 cmp r1, #0xb blo _02067E2E add sp, #0x4c pop {r4-r7, pc} _02067E40: ldrh r0, [r7, #0x0] add r2, sp, #0x1c mov r1, #0x0 add r2, #0x2 bl FUN_0200A99C add r0, r4, #0x0 add r1, sp, #0x8 mov r2, #0xb bl FUN_02021EF0 add r0, sp, #0x1c add r0, #0x2 add r1, sp, #0x8 bl StringNotEqual ldr r2, [r5, #0x10] ldr r1, _02068014 ; =0x7FFFFFFF lsl r0, r0, #0x1f and r1, r2 orr r0, r1 str r0, [r5, #0x10] _02067E6C: add r0, r4, #0x0 add r1, r6, #0x0 mov r2, #0xb bl FUN_02021EF0 add sp, #0x4c pop {r4-r7, pc} _02067E7A: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r6, #0x16] pop {r4-r7, pc} _02067E82: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r6, #0x17] pop {r4-r7, pc} _02067E8A: ldrb r4, [r4, #0x0] ldr r2, [sp, #0x4] mov r1, #0x0 sub r2, #0x7a add r0, r4, #0x0 str r2, [sp, #0x4] blx _ll_shl cmp r4, #0x0 beq _02067EB2 add r4, r6, #0x0 add r4, #0x18 ldr r3, [r6, #0x18] ldr r2, [r4, #0x4] orr r0, r3 orr r1, r2 str r0, [r6, #0x18] add sp, #0x4c str r1, [r4, #0x4] pop {r4-r7, pc} _02067EB2: add r4, r6, #0x0 mov r5, #0x0 mvn r5, r5 add r4, #0x18 ldr r3, [r6, #0x18] eor r0, r5 ldr r2, [r4, #0x4] eor r1, r5 and r0, r3 and r1, r2 str r0, [r6, #0x18] add sp, #0x4c str r1, [r4, #0x4] pop {r4-r7, pc} _02067ECE: mov r2, #0x0 _02067ED0: ldrh r0, [r4, #0x0] add r2, r2, #0x1 add r4, r4, #0x2 strh r0, [r1, #0x0] add r1, r1, #0x2 cmp r2, #0x8 blo _02067ED0 add sp, #0x4c pop {r4-r7, pc} _02067EE2: add r0, r4, #0x0 mov r2, #0x8 bl FUN_02021EF0 add sp, #0x4c pop {r4-r7, pc} _02067EEE: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r1, #0x10] pop {r4-r7, pc} _02067EF6: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r1, #0x11] pop {r4-r7, pc} _02067EFE: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r1, #0x12] pop {r4-r7, pc} _02067F06: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r1, #0x13] pop {r4-r7, pc} _02067F0E: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r1, #0x14] pop {r4-r7, pc} _02067F16: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r1, #0x15] pop {r4-r7, pc} _02067F1E: ldrh r0, [r4, #0x0] add sp, #0x4c strh r0, [r1, #0x16] pop {r4-r7, pc} _02067F26: ldrh r0, [r4, #0x0] add sp, #0x4c strh r0, [r1, #0x18] pop {r4-r7, pc} _02067F2E: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r1, #0x1a] pop {r4-r7, pc} _02067F36: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r1, #0x1b] pop {r4-r7, pc} _02067F3E: ldrb r3, [r1, #0x1c] ldrb r2, [r4, #0x0] mov r0, #0x7f bic r3, r0 mov r0, #0x7f and r0, r2 orr r0, r3 strb r0, [r1, #0x1c] add sp, #0x4c pop {r4-r7, pc} _02067F52: ldrb r2, [r1, #0x1c] mov r0, #0x80 add sp, #0x4c bic r2, r0 ldrb r0, [r4, #0x0] lsl r0, r0, #0x1f lsr r0, r0, #0x18 orr r0, r2 strb r0, [r1, #0x1c] pop {r4-r7, pc} _02067F66: ldrb r0, [r4, #0x0] add sp, #0x4c strb r0, [r1, #0x1d] pop {r4-r7, pc} _02067F6E: ldrh r0, [r4, #0x0] add sp, #0x4c strh r0, [r1, #0x1e] pop {r4-r7, pc} _02067F76: ldr r2, [r5, #0x10] mov r0, #0x1f bic r2, r0 ldr r1, [r4, #0x0] mov r0, #0x1f and r1, r0 and r0, r1 add r1, r2, #0x0 orr r1, r0 ldr r0, _02067FFC ; =0xFFFFFC1F str r1, [r5, #0x10] and r1, r0 ldr r0, [r4, #0x0] add sp, #0x4c lsr r0, r0, #0x5 lsl r0, r0, #0x1b lsr r0, r0, #0x16 orr r1, r0 ldr r0, _02068000 ; =0xFFFF83FF str r1, [r5, #0x10] and r1, r0 ldr r0, [r4, #0x0] lsr r0, r0, #0xa lsl r0, r0, #0x1b lsr r0, r0, #0x11 orr r1, r0 ldr r0, _02068004 ; =0xFFF07FFF str r1, [r5, #0x10] and r1, r0 ldr r0, [r4, #0x0] lsr r0, r0, #0xf lsl r0, r0, #0x1b lsr r0, r0, #0xc orr r1, r0 ldr r0, _02068008 ; =0xFE0FFFFF str r1, [r5, #0x10] and r1, r0 ldr r0, [r4, #0x0] lsr r0, r0, #0x14 lsl r0, r0, #0x1b lsr r0, r0, #0x7 orr r1, r0 ldr r0, _0206800C ; =0xC1FFFFFF str r1, [r5, #0x10] and r1, r0 ldr r0, [r4, #0x0] lsr r0, r0, #0x19 lsl r0, r0, #0x1b lsr r0, r0, #0x2 orr r0, r1 str r0, [r5, #0x10] pop {r4-r7, pc} _02067FDE: ldrh r0, [r7, #0x0] mov r1, #0x0 bl FUN_0200AA50 add r4, r0, #0x0 add r1, r6, #0x0 mov r2, #0xb bl FUN_02021EF0 add r0, r4, #0x0 bl FUN_02021A20 _02067FF6: add sp, #0x4c pop {r4-r7, pc} nop _02067FFC: .word 0xFFFFFC1F _02068000: .word 0xFFFF83FF _02068004: .word 0xFFF07FFF _02068008: .word 0xFE0FFFFF _0206800C: .word 0xC1FFFFFF _02068010: .word 0xBFFFFFFF _02068014: .word 0x7FFFFFFF thumb_func_start FUN_02068018 FUN_02068018: ; 0x02068018 push {r4-r6, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x4] add r4, r1, #0x0 add r6, r2, #0x0 lsl r0, r0, #0x1f lsr r0, r0, #0x1f bne _02068066 add r0, r5, #0x0 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 bl FUN_0206A3D0 add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 bl FUN_0206A3D0 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3F8 ldrh r1, [r5, #0x6] cmp r0, r1 beq _02068066 cmp r0, r1 beq _02068058 bl ErrorHandling _02068058: ldrh r2, [r5, #0x6] add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3A4 pop {r4-r6, pc} _02068066: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_020680A0 ldrh r0, [r5, #0x4] lsl r0, r0, #0x1f lsr r0, r0, #0x1f bne _0206809C add r0, r5, #0x0 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 bl FUN_0206A3A4 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3F8 strh r0, [r5, #0x6] add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 bl FUN_0206A3A4 _0206809C: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020680A0 FUN_020680A0: ; 0x020680A0 push {r3, lr} add r3, r1, #0x0 sub r3, #0x9f cmp r3, #0xa bhi _020680F8 add r3, r3, r3 add r3, pc ldrh r3, [r3, #0x6] lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 _020680B6: ; jump table (using 16-bit offset) .short _020680F2 - _020680B6 - 2; case 0 .short _020680F2 - _020680B6 - 2; case 1 .short _020680F2 - _020680B6 - 2; case 2 .short _020680CC - _020680B6 - 2; case 3 .short _020680F2 - _020680B6 - 2; case 4 .short _020680F2 - _020680B6 - 2; case 5 .short _020680F2 - _020680B6 - 2; case 6 .short _020680F2 - _020680B6 - 2; case 7 .short _020680F2 - _020680B6 - 2; case 8 .short _020680F2 - _020680B6 - 2; case 9 .short _020680F2 - _020680B6 - 2; case 10 _020680CC: add r1, r0, #0x0 add r1, #0x90 ldrh r3, [r1, #0x0] add r1, r0, #0x0 add r1, #0x8e ldrh r1, [r1, #0x0] add r1, r1, r2 cmp r1, r3 ble _020680E4 add r0, #0x8e strh r3, [r0, #0x0] pop {r3, pc} _020680E4: add r1, r0, #0x0 add r1, #0x8e ldrh r1, [r1, #0x0] add r0, #0x8e add r1, r1, r2 strh r1, [r0, #0x0] pop {r3, pc} _020680F2: bl ErrorHandling pop {r3, pc} _020680F8: bl FUN_02068100 pop {r3, pc} .balign 4 thumb_func_start FUN_02068100 FUN_02068100: ; 0x02068100 push {r4-r7, lr} sub sp, #0xc add r7, r1, #0x0 add r1, r0, #0x0 add r6, r2, #0x0 ldr r1, [r1, #0x0] str r0, [sp, #0x0] mov r2, #0x0 bl FUN_0206A418 add r4, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x1 add r1, r0, #0x0 ldr r1, [r1, #0x0] bl FUN_0206A418 add r5, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x2 add r1, r0, #0x0 ldr r1, [r1, #0x0] bl FUN_0206A418 ldr r0, [sp, #0x0] mov r2, #0x3 add r1, r0, #0x0 ldr r1, [r1, #0x0] bl FUN_0206A418 cmp r7, #0xb2 bls _02068142 b _02068500 _02068142: add r0, r7, r7 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0206814E: ; jump table (using 16-bit offset) .short _02068500 - _0206814E - 2; case 0 .short _02068500 - _0206814E - 2; case 1 .short _02068500 - _0206814E - 2; case 2 .short _02068500 - _0206814E - 2; case 3 .short _02068500 - _0206814E - 2; case 4 .short _02068500 - _0206814E - 2; case 5 .short _02068500 - _0206814E - 2; case 6 .short _02068500 - _0206814E - 2; case 7 .short _020682B4 - _0206814E - 2; case 8 .short _020682D8 - _0206814E - 2; case 9 .short _02068500 - _0206814E - 2; case 10 .short _02068500 - _0206814E - 2; case 11 .short _02068500 - _0206814E - 2; case 12 .short _020682EE - _0206814E - 2; case 13 .short _020682F8 - _0206814E - 2; case 14 .short _02068302 - _0206814E - 2; case 15 .short _0206830C - _0206814E - 2; case 16 .short _02068316 - _0206814E - 2; case 17 .short _02068320 - _0206814E - 2; case 18 .short _0206832A - _0206814E - 2; case 19 .short _02068340 - _0206814E - 2; case 20 .short _02068356 - _0206814E - 2; case 21 .short _0206836C - _0206814E - 2; case 22 .short _02068382 - _0206814E - 2; case 23 .short _02068398 - _0206814E - 2; case 24 .short _02068500 - _0206814E - 2; case 25 .short _02068500 - _0206814E - 2; case 26 .short _02068500 - _0206814E - 2; case 27 .short _02068500 - _0206814E - 2; case 28 .short _02068500 - _0206814E - 2; case 29 .short _02068500 - _0206814E - 2; case 30 .short _02068500 - _0206814E - 2; case 31 .short _02068500 - _0206814E - 2; case 32 .short _02068500 - _0206814E - 2; case 33 .short _02068500 - _0206814E - 2; case 34 .short _02068500 - _0206814E - 2; case 35 .short _02068500 - _0206814E - 2; case 36 .short _02068500 - _0206814E - 2; case 37 .short _02068500 - _0206814E - 2; case 38 .short _02068500 - _0206814E - 2; case 39 .short _02068500 - _0206814E - 2; case 40 .short _02068500 - _0206814E - 2; case 41 .short _02068500 - _0206814E - 2; case 42 .short _02068500 - _0206814E - 2; case 43 .short _02068500 - _0206814E - 2; case 44 .short _02068500 - _0206814E - 2; case 45 .short _02068500 - _0206814E - 2; case 46 .short _02068500 - _0206814E - 2; case 47 .short _02068500 - _0206814E - 2; case 48 .short _02068500 - _0206814E - 2; case 49 .short _02068500 - _0206814E - 2; case 50 .short _02068500 - _0206814E - 2; case 51 .short _02068500 - _0206814E - 2; case 52 .short _02068500 - _0206814E - 2; case 53 .short _02068500 - _0206814E - 2; case 54 .short _02068500 - _0206814E - 2; case 55 .short _02068500 - _0206814E - 2; case 56 .short _02068500 - _0206814E - 2; case 57 .short _020683AE - _0206814E - 2; case 58 .short _020683AE - _0206814E - 2; case 59 .short _020683AE - _0206814E - 2; case 60 .short _020683AE - _0206814E - 2; case 61 .short _020683EA - _0206814E - 2; case 62 .short _020683EA - _0206814E - 2; case 63 .short _020683EA - _0206814E - 2; case 64 .short _020683EA - _0206814E - 2; case 65 .short _02068504 - _0206814E - 2; case 66 .short _02068504 - _0206814E - 2; case 67 .short _02068504 - _0206814E - 2; case 68 .short _02068504 - _0206814E - 2; case 69 .short _02068404 - _0206814E - 2; case 70 .short _0206842E - _0206814E - 2; case 71 .short _02068458 - _0206814E - 2; case 72 .short _02068482 - _0206814E - 2; case 73 .short _020684AC - _0206814E - 2; case 74 .short _020684D6 - _0206814E - 2; case 75 .short _02068500 - _0206814E - 2; case 76 .short _02068500 - _0206814E - 2; case 77 .short _02068500 - _0206814E - 2; case 78 .short _02068500 - _0206814E - 2; case 79 .short _02068500 - _0206814E - 2; case 80 .short _02068500 - _0206814E - 2; case 81 .short _02068500 - _0206814E - 2; case 82 .short _02068500 - _0206814E - 2; case 83 .short _02068500 - _0206814E - 2; case 84 .short _02068500 - _0206814E - 2; case 85 .short _02068500 - _0206814E - 2; case 86 .short _02068500 - _0206814E - 2; case 87 .short _02068500 - _0206814E - 2; case 88 .short _02068500 - _0206814E - 2; case 89 .short _02068500 - _0206814E - 2; case 90 .short _02068500 - _0206814E - 2; case 91 .short _02068500 - _0206814E - 2; case 92 .short _02068500 - _0206814E - 2; case 93 .short _02068500 - _0206814E - 2; case 94 .short _02068500 - _0206814E - 2; case 95 .short _02068500 - _0206814E - 2; case 96 .short _02068500 - _0206814E - 2; case 97 .short _02068500 - _0206814E - 2; case 98 .short _02068500 - _0206814E - 2; case 99 .short _02068500 - _0206814E - 2; case 100 .short _02068500 - _0206814E - 2; case 101 .short _02068500 - _0206814E - 2; case 102 .short _02068500 - _0206814E - 2; case 103 .short _02068500 - _0206814E - 2; case 104 .short _02068500 - _0206814E - 2; case 105 .short _02068500 - _0206814E - 2; case 106 .short _02068500 - _0206814E - 2; case 107 .short _02068500 - _0206814E - 2; case 108 .short _02068500 - _0206814E - 2; case 109 .short _02068500 - _0206814E - 2; case 110 .short _02068500 - _0206814E - 2; case 111 .short _02068500 - _0206814E - 2; case 112 .short _02068500 - _0206814E - 2; case 113 .short _02068500 - _0206814E - 2; case 114 .short _02068500 - _0206814E - 2; case 115 .short _02068500 - _0206814E - 2; case 116 .short _02068500 - _0206814E - 2; case 117 .short _02068500 - _0206814E - 2; case 118 .short _02068500 - _0206814E - 2; case 119 .short _02068500 - _0206814E - 2; case 120 .short _02068500 - _0206814E - 2; case 121 .short _02068500 - _0206814E - 2; case 122 .short _02068500 - _0206814E - 2; case 123 .short _02068500 - _0206814E - 2; case 124 .short _02068500 - _0206814E - 2; case 125 .short _02068500 - _0206814E - 2; case 126 .short _02068500 - _0206814E - 2; case 127 .short _02068500 - _0206814E - 2; case 128 .short _02068500 - _0206814E - 2; case 129 .short _02068500 - _0206814E - 2; case 130 .short _02068500 - _0206814E - 2; case 131 .short _02068500 - _0206814E - 2; case 132 .short _02068500 - _0206814E - 2; case 133 .short _02068500 - _0206814E - 2; case 134 .short _02068500 - _0206814E - 2; case 135 .short _02068500 - _0206814E - 2; case 136 .short _02068500 - _0206814E - 2; case 137 .short _02068500 - _0206814E - 2; case 138 .short _02068500 - _0206814E - 2; case 139 .short _02068500 - _0206814E - 2; case 140 .short _02068500 - _0206814E - 2; case 141 .short _02068500 - _0206814E - 2; case 142 .short _02068500 - _0206814E - 2; case 143 .short _02068500 - _0206814E - 2; case 144 .short _02068500 - _0206814E - 2; case 145 .short _02068500 - _0206814E - 2; case 146 .short _02068500 - _0206814E - 2; case 147 .short _02068500 - _0206814E - 2; case 148 .short _02068500 - _0206814E - 2; case 149 .short _02068500 - _0206814E - 2; case 150 .short _02068500 - _0206814E - 2; case 151 .short _02068500 - _0206814E - 2; case 152 .short _02068500 - _0206814E - 2; case 153 .short _02068500 - _0206814E - 2; case 154 .short _02068500 - _0206814E - 2; case 155 .short _02068500 - _0206814E - 2; case 156 .short _02068500 - _0206814E - 2; case 157 .short _02068500 - _0206814E - 2; case 158 .short _02068500 - _0206814E - 2; case 159 .short _02068500 - _0206814E - 2; case 160 .short _02068500 - _0206814E - 2; case 161 .short _02068500 - _0206814E - 2; case 162 .short _02068500 - _0206814E - 2; case 163 .short _02068500 - _0206814E - 2; case 164 .short _02068500 - _0206814E - 2; case 165 .short _02068500 - _0206814E - 2; case 166 .short _02068500 - _0206814E - 2; case 167 .short _02068500 - _0206814E - 2; case 168 .short _02068500 - _0206814E - 2; case 169 .short _02068500 - _0206814E - 2; case 170 .short _02068500 - _0206814E - 2; case 171 .short _02068500 - _0206814E - 2; case 172 .short _02068500 - _0206814E - 2; case 173 .short _02068500 - _0206814E - 2; case 174 .short _02068500 - _0206814E - 2; case 175 .short _02068500 - _0206814E - 2; case 176 .short _02068500 - _0206814E - 2; case 177 .short _02068500 - _0206814E - 2; case 178 _020682B4: ldrh r0, [r4, #0x0] mov r1, #0x64 bl FUN_02068758 ldr r1, [r4, #0x8] add r1, r1, r6 cmp r1, r0 bls _020682D2 ldrh r0, [r4, #0x0] mov r1, #0x64 bl FUN_02068758 add sp, #0xc str r0, [r4, #0x8] pop {r4-r7, pc} _020682D2: add sp, #0xc str r1, [r4, #0x8] pop {r4-r7, pc} _020682D8: ldrb r0, [r4, #0xc] add r0, r0, r6 cmp r0, #0xff ble _020682E8 mov r0, #0xff add sp, #0xc strb r0, [r4, #0xc] pop {r4-r7, pc} _020682E8: add sp, #0xc strb r0, [r4, #0xc] pop {r4-r7, pc} _020682EE: ldrb r0, [r4, #0x10] add sp, #0xc add r0, r0, r6 strb r0, [r4, #0x10] pop {r4-r7, pc} _020682F8: ldrb r0, [r4, #0x11] add sp, #0xc add r0, r0, r6 strb r0, [r4, #0x11] pop {r4-r7, pc} _02068302: ldrb r0, [r4, #0x12] add sp, #0xc add r0, r0, r6 strb r0, [r4, #0x12] pop {r4-r7, pc} _0206830C: ldrb r0, [r4, #0x13] add sp, #0xc add r0, r0, r6 strb r0, [r4, #0x13] pop {r4-r7, pc} _02068316: ldrb r0, [r4, #0x14] add sp, #0xc add r0, r0, r6 strb r0, [r4, #0x14] pop {r4-r7, pc} _02068320: ldrb r0, [r4, #0x15] add sp, #0xc add r0, r0, r6 strb r0, [r4, #0x15] pop {r4-r7, pc} _0206832A: ldrb r0, [r4, #0x16] add r0, r0, r6 cmp r0, #0xff ble _0206833A mov r0, #0xff add sp, #0xc strb r0, [r4, #0x16] pop {r4-r7, pc} _0206833A: add sp, #0xc strb r0, [r4, #0x16] pop {r4-r7, pc} _02068340: ldrb r0, [r4, #0x17] add r0, r0, r6 cmp r0, #0xff ble _02068350 mov r0, #0xff add sp, #0xc strb r0, [r4, #0x17] pop {r4-r7, pc} _02068350: add sp, #0xc strb r0, [r4, #0x17] pop {r4-r7, pc} _02068356: ldrb r0, [r4, #0x18] add r0, r0, r6 cmp r0, #0xff ble _02068366 mov r0, #0xff add sp, #0xc strb r0, [r4, #0x18] pop {r4-r7, pc} _02068366: add sp, #0xc strb r0, [r4, #0x18] pop {r4-r7, pc} _0206836C: ldrb r0, [r4, #0x19] add r0, r0, r6 cmp r0, #0xff ble _0206837C mov r0, #0xff add sp, #0xc strb r0, [r4, #0x19] pop {r4-r7, pc} _0206837C: add sp, #0xc strb r0, [r4, #0x19] pop {r4-r7, pc} _02068382: ldrb r0, [r4, #0x1a] add r0, r0, r6 cmp r0, #0xff ble _02068392 mov r0, #0xff add sp, #0xc strb r0, [r4, #0x1a] pop {r4-r7, pc} _02068392: add sp, #0xc strb r0, [r4, #0x1a] pop {r4-r7, pc} _02068398: ldrb r0, [r4, #0x1b] add r0, r0, r6 cmp r0, #0xff ble _020683A8 mov r0, #0xff add sp, #0xc strb r0, [r4, #0x1b] pop {r4-r7, pc} _020683A8: add sp, #0xc strb r0, [r4, #0x1b] pop {r4-r7, pc} _020683AE: add r0, r5, #0x0 str r0, [sp, #0x4] add r0, #0xc str r0, [sp, #0x4] sub r7, #0x3a ldr r1, [sp, #0x4] lsl r0, r7, #0x1 str r0, [sp, #0x8] add r4, r5, #0x0 ldrh r0, [r5, r0] ldrb r1, [r1, r7] add r4, #0x8 bl FUN_0206AB30 ldrb r1, [r4, r7] add r1, r6, r1 cmp r1, r0 ble _020683E4 ldr r0, [sp, #0x8] ldr r1, [sp, #0x4] ldrh r0, [r5, r0] ldrb r1, [r1, r7] bl FUN_0206AB30 add sp, #0xc strb r0, [r4, r7] pop {r4-r7, pc} _020683E4: add sp, #0xc strb r1, [r4, r7] pop {r4-r7, pc} _020683EA: add r5, #0xc sub r7, #0x3e ldrb r0, [r5, r7] add r0, r6, r0 cmp r0, #0x3 ble _020683FE mov r0, #0x3 add sp, #0xc strb r0, [r5, r7] pop {r4-r7, pc} _020683FE: add sp, #0xc strb r0, [r5, r7] pop {r4-r7, pc} _02068404: ldr r1, [r5, #0x10] lsl r0, r1, #0x1b lsr r0, r0, #0x1b add r2, r0, r6 cmp r2, #0x1f bls _0206841E mov r0, #0x1f bic r1, r0 mov r0, #0x1f orr r0, r1 add sp, #0xc str r0, [r5, #0x10] pop {r4-r7, pc} _0206841E: mov r0, #0x1f bic r1, r0 mov r0, #0x1f and r0, r2 orr r0, r1 add sp, #0xc str r0, [r5, #0x10] pop {r4-r7, pc} _0206842E: ldr r1, [r5, #0x10] lsl r0, r1, #0x16 lsr r0, r0, #0x1b add r2, r0, r6 cmp r2, #0x1f ldr r0, _02068508 ; =0xFFFFFC1F bls _0206844A and r1, r0 mov r0, #0x3e lsl r0, r0, #0x4 orr r0, r1 add sp, #0xc str r0, [r5, #0x10] pop {r4-r7, pc} _0206844A: and r1, r0 lsl r0, r2, #0x1b lsr r0, r0, #0x16 orr r0, r1 add sp, #0xc str r0, [r5, #0x10] pop {r4-r7, pc} _02068458: ldr r1, [r5, #0x10] lsl r0, r1, #0x11 lsr r0, r0, #0x1b add r2, r0, r6 cmp r2, #0x1f ldr r0, _0206850C ; =0xFFFF83FF bls _02068474 and r1, r0 mov r0, #0x1f lsl r0, r0, #0xa orr r0, r1 add sp, #0xc str r0, [r5, #0x10] pop {r4-r7, pc} _02068474: and r1, r0 lsl r0, r2, #0x1b lsr r0, r0, #0x11 orr r0, r1 add sp, #0xc str r0, [r5, #0x10] pop {r4-r7, pc} _02068482: ldr r1, [r5, #0x10] lsl r0, r1, #0xc lsr r0, r0, #0x1b add r2, r0, r6 cmp r2, #0x1f ldr r0, _02068510 ; =0xFFF07FFF bls _0206849E and r1, r0 mov r0, #0x3e lsl r0, r0, #0xe orr r0, r1 add sp, #0xc str r0, [r5, #0x10] pop {r4-r7, pc} _0206849E: and r1, r0 lsl r0, r2, #0x1b lsr r0, r0, #0xc orr r0, r1 add sp, #0xc str r0, [r5, #0x10] pop {r4-r7, pc} _020684AC: ldr r1, [r5, #0x10] lsl r0, r1, #0x7 lsr r0, r0, #0x1b add r2, r0, r6 cmp r2, #0x1f ldr r0, _02068514 ; =0xFE0FFFFF bls _020684C8 and r1, r0 mov r0, #0x1f lsl r0, r0, #0x14 orr r0, r1 add sp, #0xc str r0, [r5, #0x10] pop {r4-r7, pc} _020684C8: and r1, r0 lsl r0, r2, #0x1b lsr r0, r0, #0x7 orr r0, r1 add sp, #0xc str r0, [r5, #0x10] pop {r4-r7, pc} _020684D6: ldr r1, [r5, #0x10] lsl r0, r1, #0x2 lsr r0, r0, #0x1b add r2, r0, r6 cmp r2, #0x1f ldr r0, _02068518 ; =0xC1FFFFFF bls _020684F2 and r1, r0 mov r0, #0x3e lsl r0, r0, #0x18 orr r0, r1 add sp, #0xc str r0, [r5, #0x10] pop {r4-r7, pc} _020684F2: and r1, r0 lsl r0, r2, #0x1b lsr r0, r0, #0x2 orr r0, r1 add sp, #0xc str r0, [r5, #0x10] pop {r4-r7, pc} _02068500: bl ErrorHandling _02068504: add sp, #0xc pop {r4-r7, pc} .balign 4 _02068508: .word 0xFFFFFC1F _0206850C: .word 0xFFFF83FF _02068510: .word 0xFFF07FFF _02068514: .word 0xFE0FFFFF _02068518: .word 0xC1FFFFFF thumb_func_start FUN_0206851C FUN_0206851C: ; 0x0206851C push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 mov r1, #0x2c bl FUN_02016998 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0206A370 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02068538 FUN_02068538: ; 0x02068538 push {r4-r6, lr} add r4, r0, #0x0 add r6, r1, #0x0 cmp r4, #0x0 bne _02068546 bl ErrorHandling _02068546: cmp r6, #0x20 bhi _0206863A add r0, r6, r6 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02068556: ; jump table (using 16-bit offset) .short _02068598 - _02068556 - 2; case 0 .short _0206859C - _02068556 - 2; case 1 .short _020685A0 - _02068556 - 2; case 2 .short _020685A4 - _02068556 - 2; case 3 .short _020685A8 - _02068556 - 2; case 4 .short _020685AC - _02068556 - 2; case 5 .short _020685B0 - _02068556 - 2; case 6 .short _020685B4 - _02068556 - 2; case 7 .short _020685B8 - _02068556 - 2; case 8 .short _020685BC - _02068556 - 2; case 9 .short _020685C0 - _02068556 - 2; case 10 .short _020685C8 - _02068556 - 2; case 11 .short _020685D0 - _02068556 - 2; case 12 .short _020685D8 - _02068556 - 2; case 13 .short _020685E0 - _02068556 - 2; case 14 .short _020685E8 - _02068556 - 2; case 15 .short _020685F0 - _02068556 - 2; case 16 .short _020685F4 - _02068556 - 2; case 17 .short _020685F8 - _02068556 - 2; case 18 .short _020685FC - _02068556 - 2; case 19 .short _02068600 - _02068556 - 2; case 20 .short _02068604 - _02068556 - 2; case 21 .short _02068608 - _02068556 - 2; case 22 .short _0206860C - _02068556 - 2; case 23 .short _02068610 - _02068556 - 2; case 24 .short _02068614 - _02068556 - 2; case 25 .short _02068618 - _02068556 - 2; case 26 .short _0206861C - _02068556 - 2; case 27 .short _02068624 - _02068556 - 2; case 28 .short _0206862C - _02068556 - 2; case 29 .short _02068630 - _02068556 - 2; case 30 .short _02068634 - _02068556 - 2; case 31 .short _02068638 - _02068556 - 2; case 32 _02068598: ldrb r5, [r4, #0x0] b _0206863A _0206859C: ldrb r5, [r4, #0x1] b _0206863A _020685A0: ldrb r5, [r4, #0x2] b _0206863A _020685A4: ldrb r5, [r4, #0x3] b _0206863A _020685A8: ldrb r5, [r4, #0x4] b _0206863A _020685AC: ldrb r5, [r4, #0x5] b _0206863A _020685B0: ldrb r5, [r4, #0x6] b _0206863A _020685B4: ldrb r5, [r4, #0x7] b _0206863A _020685B8: ldrb r5, [r4, #0x8] b _0206863A _020685BC: ldrb r5, [r4, #0x9] b _0206863A _020685C0: ldrh r0, [r4, #0xa] lsl r0, r0, #0x1e lsr r5, r0, #0x1e b _0206863A _020685C8: ldrh r0, [r4, #0xa] lsl r0, r0, #0x1c lsr r5, r0, #0x1e b _0206863A _020685D0: ldrh r0, [r4, #0xa] lsl r0, r0, #0x1a lsr r5, r0, #0x1e b _0206863A _020685D8: ldrh r0, [r4, #0xa] lsl r0, r0, #0x18 lsr r5, r0, #0x1e b _0206863A _020685E0: ldrh r0, [r4, #0xa] lsl r0, r0, #0x16 lsr r5, r0, #0x1e b _0206863A _020685E8: ldrh r0, [r4, #0xa] lsl r0, r0, #0x14 lsr r5, r0, #0x1e b _0206863A _020685F0: ldrh r5, [r4, #0xc] b _0206863A _020685F4: ldrh r5, [r4, #0xe] b _0206863A _020685F8: ldrb r5, [r4, #0x10] b _0206863A _020685FC: ldrb r5, [r4, #0x11] b _0206863A _02068600: ldrb r5, [r4, #0x12] b _0206863A _02068604: ldrb r5, [r4, #0x13] b _0206863A _02068608: ldrb r5, [r4, #0x14] b _0206863A _0206860C: ldrb r5, [r4, #0x15] b _0206863A _02068610: ldrb r5, [r4, #0x16] b _0206863A _02068614: ldrb r5, [r4, #0x17] b _0206863A _02068618: ldrb r5, [r4, #0x18] b _0206863A _0206861C: ldrb r0, [r4, #0x19] lsl r0, r0, #0x19 lsr r5, r0, #0x19 b _0206863A _02068624: ldrb r0, [r4, #0x19] lsl r0, r0, #0x18 lsr r5, r0, #0x1f b _0206863A _0206862C: ldr r5, [r4, #0x1c] b _0206863A _02068630: ldr r5, [r4, #0x20] b _0206863A _02068634: ldr r5, [r4, #0x24] b _0206863A _02068638: ldr r5, [r4, #0x28] _0206863A: add r0, r5, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02068640 FUN_02068640: ; 0x02068640 push {r4, lr} add r4, r0, #0x0 bne _0206864A bl ErrorHandling _0206864A: add r0, r4, #0x0 bl FUN_02016A18 pop {r4, pc} .balign 4 thumb_func_start FUN_02068654 FUN_02068654: ; 0x02068654 push {r3-r5, lr} add r4, r2, #0x0 bl FUN_0206A8FC mov r1, #0x0 bl FUN_0206851C add r5, r0, #0x0 add r1, r4, #0x0 bl FUN_02068538 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02068640 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02068678 FUN_02068678: ; 0x02068678 push {r3-r5, lr} add r4, r1, #0x0 mov r1, #0x0 bl FUN_0206851C add r5, r0, #0x0 add r1, r4, #0x0 bl FUN_02068538 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02068640 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02068698 FUN_02068698: ; 0x02068698 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_020669D4 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r6, r0, #0x10 add r0, r5, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r7, r0, #0x18 add r0, r6, #0x0 add r1, r7, #0x0 bl FUN_02068758 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r7, #0x1 bl FUN_02068758 add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x8 mov r2, #0x0 bl FUN_020671BC add r7, r0, #0x0 ldr r1, [sp, #0x0] add r0, r5, #0x0 bl FUN_02066A20 sub r1, r7, r4 mov r0, #0x64 mul r0, r1 sub r1, r6, r4 blx _u32_div_f lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3-r7, pc} thumb_func_start FUN_020686F8 FUN_020686F8: ; 0x020686F8 ldr r3, _020686FC ; =FUN_02068700 bx r3 .balign 4 _020686FC: .word FUN_02068700 thumb_func_start FUN_02068700 FUN_02068700: ; 0x02068700 push {r4-r6, lr} mov r1, #0x5 mov r2, #0x0 add r4, r0, #0x0 bl FUN_020672BC lsl r0, r0, #0x10 lsr r6, r0, #0x10 add r0, r4, #0x0 bl FUN_020687C8 add r0, r0, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 add r0, r4, #0x0 mov r1, #0x8 mov r2, #0x0 bl FUN_020672BC add r4, r0, #0x0 add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_02068758 sub r0, r0, r4 pop {r4-r6, pc} thumb_func_start FUN_02068734 FUN_02068734: ; 0x02068734 push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02068758 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02068758 FUN_02068758: ; 0x02068758 push {r4, lr} add r4, r1, #0x0 mov r1, #0x15 bl FUN_02068678 add r1, r4, #0x0 bl FUN_02068788 pop {r4, pc} .balign 4 thumb_func_start FUN_0206876C FUN_0206876C: ; 0x0206876C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x8 blt _0206877A bl ErrorHandling _0206877A: add r0, r4, #0x0 mov r1, #0x3 add r2, r5, #0x0 bl LoadFromNARC pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02068788 FUN_02068788: ; 0x02068788 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 cmp r6, #0x8 blt _02068796 bl ErrorHandling _02068796: cmp r5, #0x65 ble _0206879E bl ErrorHandling _0206879E: mov r1, #0x65 mov r0, #0x0 lsl r1, r1, #0x2 bl FUN_02016998 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_0206876C lsl r0, r5, #0x2 ldr r5, [r4, r0] add r0, r4, #0x0 bl FUN_02016A18 add r0, r5, #0x0 pop {r4-r6, pc} thumb_func_start FUN_020687C0 FUN_020687C0: ; 0x020687C0 ldr r3, _020687C4 ; =FUN_020687C8 bx r3 .balign 4 _020687C4: .word FUN_020687C8 thumb_func_start FUN_020687C8 FUN_020687C8: ; 0x020687C8 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02066A6C add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020672BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x8 mov r2, #0x0 bl FUN_020672BC add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02066A94 lsl r0, r4, #0x10 lsr r0, r0, #0x10 add r1, r7, #0x0 bl FUN_02068800 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02068800 FUN_02068800: ; 0x02068800 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 mov r1, #0x0 bl FUN_0206851C add r6, r0, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 bl FUN_02068824 add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_02068640 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02068824 FUN_02068824: ; 0x02068824 push {r4, lr} mov r1, #0x15 add r4, r2, #0x0 bl FUN_02068538 ldr r1, _0206884C ; =0x021C5AC0 bl FUN_0206876C ldr r2, _02068850 ; =0x021C5AC4 mov r1, #0x1 _02068838: ldr r0, [r2, #0x0] cmp r0, r4 bhi _02068846 add r1, r1, #0x1 add r2, r2, #0x4 cmp r1, #0x65 blt _02068838 _02068846: sub r0, r1, #0x1 pop {r4, pc} nop _0206884C: .word 0x021C5AC0 _02068850: .word 0x021C5AC4 thumb_func_start FUN_02068854 FUN_02068854: ; 0x02068854 ldr r3, _02068858 ; =FUN_0206885C bx r3 .balign 4 _02068858: .word FUN_0206885C thumb_func_start FUN_0206885C FUN_0206885C: ; 0x0206885C push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02066A6C mov r1, #0x0 add r4, r0, #0x0 add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_020672BC add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02066A94 add r0, r6, #0x0 bl FUN_02068884 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02068884 FUN_02068884: ; 0x02068884 push {r3, lr} mov r1, #0x19 blx _u32_div_f lsl r0, r1, #0x18 lsr r0, r0, #0x18 pop {r3, pc} .balign 4 thumb_func_start FUN_02068894 FUN_02068894: ; 0x02068894 push {r3, lr} cmp r2, #0x1 blo _0206889E cmp r2, #0x5 bls _020688A2 _0206889E: add r0, r1, #0x0 pop {r3, pc} _020688A2: lsl r3, r0, #0x2 add r3, r0, r3 ldr r0, _020688E4 ; =0x020F7F93 sub r2, r2, #0x1 add r0, r0, r3 ldrsb r2, [r2, r0] mov r0, #0x0 mvn r0, r0 cmp r2, r0 beq _020688CE cmp r2, #0x1 bne _020688E0 mov r0, #0x6e mul r0, r1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x64 blx _s32_div_f lsl r0, r0, #0x10 lsr r1, r0, #0x10 b _020688E0 _020688CE: mov r0, #0x5a mul r0, r1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x64 blx _s32_div_f lsl r0, r0, #0x10 lsr r1, r0, #0x10 _020688E0: add r0, r1, #0x0 pop {r3, pc} .balign 4 _020688E4: .word 0x020F7F93 thumb_func_start FUN_020688E8 FUN_020688E8: ; 0x020688E8 push {r3-r7, lr} sub sp, #0x8 add r6, r1, #0x0 add r5, r0, #0x0 str r2, [sp, #0x0] cmp r6, #0x5 bne _02068900 bl FUN_0201B9EC mov r1, #0x1 tst r0, r1 bne _020689D4 _02068900: add r0, r5, #0x0 mov r1, #0xad mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r1, r0, #0x10 beq _020689D4 ldr r0, _020689D8 ; =0x000001EE cmp r1, r0 beq _020689D4 add r0, r5, #0x0 mov r1, #0x6 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x1 mov r2, #0x0 bl FUN_0206E7B8 lsl r0, r0, #0x18 mov r4, #0x0 lsr r7, r0, #0x18 add r0, r5, #0x0 mov r1, #0x9 add r2, r4, #0x0 bl FUN_020671BC add r1, sp, #0x4 strh r0, [r1, #0x0] add r0, r4, #0x0 ldrsh r1, [r1, r0] cmp r1, #0x64 blt _0206894E add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _0206894E: cmp r1, #0xc8 blt _02068958 add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _02068958: lsl r0, r6, #0x1 add r1, r6, r0 ldr r0, _020689DC ; =0x020F7ED4 add r0, r0, r1 ldrsb r4, [r4, r0] cmp r4, #0x0 ble _0206897A add r0, r5, #0x0 mov r1, #0x9a mov r2, #0x0 bl FUN_020671BC cmp r0, #0xb bne _0206897A add r0, r4, #0x1 lsl r0, r0, #0x18 asr r4, r0, #0x18 _0206897A: cmp r4, #0x0 ble _02068994 add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 bl FUN_020671BC ldr r1, [sp, #0x0] cmp r1, r0 bne _02068994 add r0, r4, #0x1 lsl r0, r0, #0x18 asr r4, r0, #0x18 _02068994: cmp r4, #0x0 ble _020689AA cmp r7, #0x34 bne _020689AA mov r0, #0x96 mul r0, r4 mov r1, #0x64 blx _s32_div_f lsl r0, r0, #0x18 asr r4, r0, #0x18 _020689AA: add r0, sp, #0x4 mov r1, #0x0 ldrsh r2, [r0, r1] add r2, r2, r4 strh r2, [r0, #0x0] ldrsh r2, [r0, r1] cmp r2, #0x0 bge _020689BC strh r1, [r0, #0x0] _020689BC: add r1, sp, #0x4 mov r0, #0x0 ldrsh r0, [r1, r0] cmp r0, #0xff ble _020689CA mov r0, #0xff strh r0, [r1, #0x0] _020689CA: add r0, r5, #0x0 mov r1, #0x9 add r2, sp, #0x4 bl FUN_02067830 _020689D4: add sp, #0x8 pop {r3-r7, pc} .balign 4 _020689D8: .word 0x000001EE _020689DC: .word 0x020F7ED4 thumb_func_start FUN_020689E0 FUN_020689E0: ; 0x020689E0 ldr r3, _020689E4 ; =FUN_020689E8 bx r3 .balign 4 _020689E4: .word FUN_020689E8 thumb_func_start FUN_020689E8 FUN_020689E8: ; 0x020689E8 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02066A6C add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020672BC lsl r0, r0, #0x10 mov r1, #0x0 lsr r4, r0, #0x10 add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_020672BC add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02066A94 add r0, r4, #0x0 add r1, r7, #0x0 bl FUN_02068A20 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02068A20 FUN_02068A20: ; 0x02068A20 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 mov r1, #0x0 bl FUN_0206851C add r6, r0, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 bl FUN_02068A44 add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_02068640 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02068A44 FUN_02068A44: ; 0x02068A44 push {r4, lr} mov r1, #0x12 add r4, r2, #0x0 bl FUN_02068538 lsl r0, r0, #0x18 lsr r1, r0, #0x18 beq _02068A5E cmp r1, #0xfe beq _02068A62 cmp r1, #0xff beq _02068A66 b _02068A6A _02068A5E: mov r0, #0x0 pop {r4, pc} _02068A62: mov r0, #0x1 pop {r4, pc} _02068A66: mov r0, #0x2 pop {r4, pc} _02068A6A: lsl r0, r4, #0x18 lsr r0, r0, #0x18 cmp r1, r0 bls _02068A76 mov r0, #0x1 b _02068A78 _02068A76: mov r0, #0x0 _02068A78: lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r4, pc} .balign 4 thumb_func_start FUN_02068A80 FUN_02068A80: ; 0x02068A80 ldr r3, _02068A84 ; =FUN_02068A88 bx r3 .balign 4 _02068A84: .word FUN_02068A88 thumb_func_start FUN_02068A88 FUN_02068A88: ; 0x02068A88 push {r3-r5, lr} mov r1, #0x7 mov r2, #0x0 add r5, r0, #0x0 bl FUN_020672BC mov r1, #0x0 add r4, r0, #0x0 add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_020672BC add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02068AAC pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02068AAC FUN_02068AAC: ; 0x02068AAC ldr r3, _02068AD4 ; =0xFFFF0000 lsl r2, r1, #0x10 and r1, r3 and r3, r0 lsl r0, r0, #0x10 lsr r3, r3, #0x10 lsr r0, r0, #0x10 lsr r1, r1, #0x10 eor r0, r3 lsr r2, r2, #0x10 eor r0, r1 eor r0, r2 cmp r0, #0x8 bhs _02068ACC mov r0, #0x1 b _02068ACE _02068ACC: mov r0, #0x0 _02068ACE: lsl r0, r0, #0x18 lsr r0, r0, #0x18 bx lr .balign 4 _02068AD4: .word 0xFFFF0000 thumb_func_start FUN_02068AD8 FUN_02068AD8: ; 0x02068AD8 push {r3-r7, lr} add r7, r0, #0x0 ldr r0, _02068B64 ; =0xFFFF0000 and r0, r7 lsr r1, r0, #0x10 lsl r0, r7, #0x10 lsr r0, r0, #0x10 eor r0, r1 lsr r7, r0, #0x3 bl FUN_0201B9EC mov r1, #0x7 and r0, r1 lsl r0, r0, #0x10 lsr r6, r0, #0x10 bl FUN_0201B9EC mov r1, #0x7 and r0, r1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 mov r4, #0x0 _02068B04: add r0, r4, #0x0 bl FUN_0206A92C tst r0, r7 beq _02068B34 bl FUN_0201B9EC mov r1, #0x1 tst r0, r1 beq _02068B26 add r0, r4, #0x3 bl FUN_0206A92C orr r0, r6 lsl r0, r0, #0x10 lsr r6, r0, #0x10 b _02068B56 _02068B26: add r0, r4, #0x3 bl FUN_0206A92C orr r0, r5 lsl r0, r0, #0x10 lsr r5, r0, #0x10 b _02068B56 _02068B34: bl FUN_0201B9EC mov r1, #0x1 tst r0, r1 beq _02068B56 add r0, r4, #0x3 bl FUN_0206A92C orr r0, r6 lsl r0, r0, #0x10 lsr r6, r0, #0x10 add r0, r4, #0x3 bl FUN_0206A92C orr r0, r5 lsl r0, r0, #0x10 lsr r5, r0, #0x10 _02068B56: add r4, r4, #0x1 cmp r4, #0xd blt _02068B04 lsl r0, r5, #0x10 orr r0, r6 pop {r3-r7, pc} nop _02068B64: .word 0xFFFF0000 thumb_func_start FUN_02068B68 FUN_02068B68: ; 0x02068B68 ldr r3, _02068B6C ; =FUN_02068B70 bx r3 .balign 4 _02068B6C: .word FUN_02068B70 thumb_func_start FUN_02068B70 FUN_02068B70: ; 0x02068B70 push {r4-r7, lr} sub sp, #0x1c add r5, r1, #0x0 str r0, [sp, #0xc] add r0, r5, #0x0 str r2, [sp, #0x10] bl FUN_02066A6C str r0, [sp, #0x18] add r0, r5, #0x0 mov r1, #0xad mov r2, #0x0 bl FUN_020672BC lsl r0, r0, #0x10 lsr r4, r0, #0x10 add r0, r5, #0x0 bl FUN_020689E8 str r0, [sp, #0x14] add r0, r5, #0x0 bl FUN_02068A88 mov r1, #0x0 add r7, r0, #0x0 add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_020672BC add r6, r0, #0x0 ldr r0, _02068BF8 ; =0x000001EE cmp r4, r0 bne _02068BCA add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020672BC ldr r1, _02068BFC ; =0x000001EA cmp r0, r1 bne _02068BC6 mov r0, #0x1 b _02068BD8 _02068BC6: mov r0, #0x0 b _02068BD8 _02068BCA: add r0, r5, #0x0 mov r1, #0x70 mov r2, #0x0 bl FUN_020672BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 _02068BD8: str r7, [sp, #0x0] str r0, [sp, #0x4] str r6, [sp, #0x8] ldr r0, [sp, #0xc] ldr r2, [sp, #0x14] ldr r3, [sp, #0x10] add r1, r4, #0x0 bl FUN_02068C00 ldr r1, [sp, #0x18] add r0, r5, #0x0 bl FUN_02066A94 add sp, #0x1c pop {r4-r7, pc} nop _02068BF8: .word 0x000001EE _02068BFC: .word 0x000001EA thumb_func_start FUN_02068C00 FUN_02068C00: ; 0x02068C00 push {r4-r7} add r7, r2, #0x0 add r5, r3, #0x0 add r4, r0, #0x0 add r0, r1, #0x0 ldr r3, [sp, #0x10] ldr r2, [sp, #0x14] mov r1, #0x0 strh r1, [r4, #0x6] strb r1, [r4, #0x8] str r1, [r4, #0xc] ldr r1, _02068E0C ; =0x000001A5 cmp r0, r1 bgt _02068C68 bge _02068D1E add r6, r1, #0x0 sub r6, #0x46 cmp r0, r6 bgt _02068C36 sub r1, #0x46 cmp r0, r1 blt _02068C2E b _02068D58 _02068C2E: cmp r0, #0xc9 bne _02068C34 b _02068D90 _02068C34: b _02068DD4 _02068C36: add r6, r1, #0x0 sub r6, #0x23 cmp r0, r6 bgt _02068C48 sub r1, #0x23 cmp r0, r1 bne _02068C46 b _02068D76 _02068C46: b _02068DD4 _02068C48: add r6, r1, #0x0 sub r6, #0x8 cmp r0, r6 bgt _02068C66 add r6, r1, #0x0 sub r6, #0x9 cmp r0, r6 blt _02068C66 add r6, r1, #0x0 sub r6, #0x9 cmp r0, r6 beq _02068CAA sub r1, #0x8 cmp r0, r1 beq _02068CC8 _02068C66: b _02068DD4 _02068C68: add r6, r1, #0x0 add r6, #0x48 cmp r0, r6 bgt _02068C8E add r6, r1, #0x0 add r6, #0x48 cmp r0, r6 bge _02068D3A add r6, r1, #0x2 cmp r0, r6 bgt _02068C8C add r6, r1, #0x1 cmp r0, r6 blt _02068C8C beq _02068CE6 add r1, r1, #0x2 cmp r0, r1 beq _02068D02 _02068C8C: b _02068DD4 _02068C8E: add r6, r1, #0x0 add r6, #0x49 cmp r0, r6 bgt _02068CA0 add r1, #0x49 cmp r0, r1 bne _02068C9E b _02068DAC _02068C9E: b _02068DD4 _02068CA0: add r1, #0x4a cmp r0, r1 bne _02068CA8 b _02068DC4 _02068CA8: b _02068DD4 _02068CAA: cmp r2, #0x2 bls _02068CB0 mov r2, #0x0 _02068CB0: mov r0, #0x75 strh r0, [r4, #0x0] lsr r0, r5, #0x1 lsl r1, r2, #0x1 add r0, #0x48 add r0, r0, r1 add r3, #0x92 strh r0, [r4, #0x2] add r0, r3, r1 strh r0, [r4, #0x4] pop {r4-r7} bx lr _02068CC8: cmp r2, #0x2 bls _02068CCE mov r2, #0x0 _02068CCE: mov r0, #0x75 strh r0, [r4, #0x0] lsr r0, r5, #0x1 lsl r1, r2, #0x1 add r0, #0x4e add r0, r0, r1 add r3, #0x98 strh r0, [r4, #0x2] add r0, r3, r1 strh r0, [r4, #0x4] pop {r4-r7} bx lr _02068CE6: cmp r2, #0x1 bls _02068CEC mov r2, #0x0 _02068CEC: mov r0, #0x75 add r5, #0x54 strh r0, [r4, #0x0] add r0, r5, r2 strh r0, [r4, #0x2] add r3, #0x9e lsl r0, r2, #0x1 add r0, r3, r0 strh r0, [r4, #0x4] pop {r4-r7} bx lr _02068D02: cmp r2, #0x1 bls _02068D08 mov r2, #0x0 _02068D08: mov r0, #0x75 add r5, #0x58 strh r0, [r4, #0x0] add r0, r5, r2 strh r0, [r4, #0x2] add r3, #0xa2 lsl r0, r2, #0x1 add r0, r3, r0 strh r0, [r4, #0x4] pop {r4-r7} bx lr _02068D1E: cmp r2, #0x1 bls _02068D24 mov r2, #0x0 _02068D24: mov r0, #0x75 add r5, #0x5c strh r0, [r4, #0x0] add r0, r5, r2 strh r0, [r4, #0x2] lsl r0, r3, #0x1 add r0, #0xa6 add r0, r2, r0 strh r0, [r4, #0x4] pop {r4-r7} bx lr _02068D3A: cmp r2, #0x11 bls _02068D40 mov r2, #0x0 _02068D40: mov r0, #0x75 strh r0, [r4, #0x0] lsr r0, r5, #0x1 lsl r1, r2, #0x1 add r0, #0x60 add r0, r0, r1 add r3, #0xaa strh r0, [r4, #0x2] add r0, r3, r1 strh r0, [r4, #0x4] pop {r4-r7} bx lr _02068D58: cmp r2, #0x3 bls _02068D5E mov r2, #0x0 _02068D5E: mov r0, #0x75 strh r0, [r4, #0x0] lsl r0, r5, #0x1 add r0, #0x40 add r0, r2, r0 strh r0, [r4, #0x2] lsl r0, r3, #0x2 add r0, #0x8a add r0, r2, r0 strh r0, [r4, #0x4] pop {r4-r7} bx lr _02068D76: cmp r2, #0x3 bls _02068D7C mov r2, #0x0 _02068D7C: mov r0, #0x75 strh r0, [r4, #0x0] lsr r1, r5, #0x1 lsl r0, r2, #0x1 add r0, r1, r0 strh r0, [r4, #0x2] add r3, #0x86 strh r3, [r4, #0x4] pop {r4-r7} bx lr _02068D90: cmp r2, #0x1c blo _02068D96 mov r2, #0x0 _02068D96: mov r0, #0x75 lsr r1, r5, #0x1 strh r0, [r4, #0x0] add r1, #0x8 lsl r0, r2, #0x1 add r0, r1, r0 strh r0, [r4, #0x2] add r3, #0x88 strh r3, [r4, #0x4] pop {r4-r7} bx lr _02068DAC: cmp r2, #0x1 bls _02068DB2 mov r2, #0x0 _02068DB2: mov r0, #0x75 strh r0, [r4, #0x0] add r0, r2, #0x0 add r0, #0x84 strh r0, [r4, #0x2] add r2, #0xce strh r2, [r4, #0x4] pop {r4-r7} bx lr _02068DC4: mov r0, #0x75 strh r0, [r4, #0x0] mov r0, #0x84 strh r0, [r4, #0x2] mov r0, #0xce strh r0, [r4, #0x4] pop {r4-r7} bx lr _02068DD4: mov r1, #0x4 strh r1, [r4, #0x0] cmp r7, #0x1 beq _02068DE0 mov r2, #0x1 b _02068DE2 _02068DE0: mov r2, #0x0 _02068DE2: mov r1, #0x6 mul r1, r0 add r6, r5, r1 add r2, r6, r2 add r1, r1, #0x4 strh r2, [r4, #0x2] add r1, r3, r1 strh r1, [r4, #0x4] ldr r1, _02068E10 ; =0x00000147 cmp r0, r1 bne _02068E06 cmp r5, #0x2 bne _02068E06 strh r1, [r4, #0x6] mov r0, #0x0 strb r0, [r4, #0x8] ldr r0, [sp, #0x18] str r0, [r4, #0xc] _02068E06: pop {r4-r7} bx lr nop _02068E0C: .word 0x000001A5 _02068E10: .word 0x00000147 thumb_func_start FUN_02068E14 FUN_02068E14: ; 0x02068E14 ldr r3, _02068E18 ; =FUN_02068E1C bx r3 .balign 4 _02068E18: .word FUN_02068E1C thumb_func_start FUN_02068E1C FUN_02068E1C: ; 0x02068E1C push {r3-r7, lr} sub sp, #0x8 add r7, r1, #0x0 mov r1, #0xad mov r2, #0x0 add r5, r0, #0x0 bl FUN_020672BC lsl r0, r0, #0x10 lsr r4, r0, #0x10 add r0, r5, #0x0 bl FUN_020689E8 mov r1, #0x0 str r0, [sp, #0x4] add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_020672BC add r6, r0, #0x0 ldr r0, _02068E80 ; =0x000001EE cmp r4, r0 bne _02068E62 add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020672BC ldr r1, _02068E84 ; =0x000001EA cmp r0, r1 bne _02068E5E mov r3, #0x1 b _02068E70 _02068E5E: mov r3, #0x0 b _02068E70 _02068E62: add r0, r5, #0x0 mov r1, #0x70 mov r2, #0x0 bl FUN_020672BC lsl r0, r0, #0x18 lsr r3, r0, #0x18 _02068E70: str r6, [sp, #0x0] ldr r1, [sp, #0x4] add r0, r4, #0x0 add r2, r7, #0x0 bl FUN_02068E88 add sp, #0x8 pop {r3-r7, pc} .balign 4 _02068E80: .word 0x000001EE _02068E84: .word 0x000001EA thumb_func_start FUN_02068E88 FUN_02068E88: ; 0x02068E88 push {r3-r5, lr} ldr r4, _02068FDC ; =0x000001A5 cmp r0, r4 bgt _02068ED6 bge _02068F54 add r5, r4, #0x0 sub r5, #0x46 cmp r0, r5 bgt _02068EA6 sub r4, #0x46 cmp r0, r4 bge _02068F74 cmp r0, #0xc9 beq _02068F94 b _02068FB8 _02068EA6: add r5, r4, #0x0 sub r5, #0x23 cmp r0, r5 bgt _02068EB6 sub r4, #0x23 cmp r0, r4 beq _02068F84 b _02068FB8 _02068EB6: add r5, r4, #0x0 sub r5, #0x8 cmp r0, r5 bgt _02068FB8 add r5, r4, #0x0 sub r5, #0x9 cmp r0, r5 blt _02068FB8 add r5, r4, #0x0 sub r5, #0x9 cmp r0, r5 beq _02068F14 sub r4, #0x8 cmp r0, r4 beq _02068F26 b _02068FB8 _02068ED6: add r5, r4, #0x0 add r5, #0x48 cmp r0, r5 bgt _02068EFC add r5, r4, #0x0 add r5, #0x48 cmp r0, r5 bge _02068F62 add r5, r4, #0x2 cmp r0, r5 bgt _02068FB8 add r5, r4, #0x1 cmp r0, r5 blt _02068FB8 beq _02068F38 add r4, r4, #0x2 cmp r0, r4 beq _02068F46 b _02068FB8 _02068EFC: add r5, r4, #0x0 add r5, #0x49 cmp r0, r5 bgt _02068F0C add r4, #0x49 cmp r0, r4 beq _02068FA6 b _02068FB8 _02068F0C: add r4, #0x4a cmp r0, r4 beq _02068FB2 b _02068FB8 _02068F14: cmp r3, #0x2 bls _02068F1A mov r3, #0x0 _02068F1A: lsr r1, r2, #0x1 add r1, #0x48 lsl r0, r3, #0x1 mov r4, #0x79 add r3, r1, r0 b _02068FCA _02068F26: cmp r3, #0x2 bls _02068F2C mov r3, #0x0 _02068F2C: lsr r1, r2, #0x1 add r1, #0x4e lsl r0, r3, #0x1 mov r4, #0x79 add r3, r1, r0 b _02068FCA _02068F38: cmp r3, #0x1 bls _02068F3E mov r3, #0x0 _02068F3E: add r2, #0x54 mov r4, #0x79 add r3, r2, r3 b _02068FCA _02068F46: cmp r3, #0x1 bls _02068F4C mov r3, #0x0 _02068F4C: add r2, #0x58 mov r4, #0x79 add r3, r2, r3 b _02068FCA _02068F54: cmp r3, #0x1 bls _02068F5A mov r3, #0x0 _02068F5A: add r2, #0x5c mov r4, #0x79 add r3, r2, r3 b _02068FCA _02068F62: cmp r3, #0x11 bls _02068F68 mov r3, #0x0 _02068F68: lsr r1, r2, #0x1 add r1, #0x60 lsl r0, r3, #0x1 mov r4, #0x79 add r3, r1, r0 b _02068FCA _02068F74: cmp r3, #0x3 bls _02068F7A mov r3, #0x0 _02068F7A: lsl r0, r2, #0x1 add r0, #0x40 mov r4, #0x79 add r3, r3, r0 b _02068FCA _02068F84: cmp r3, #0x3 bls _02068F8A mov r3, #0x0 _02068F8A: lsr r1, r2, #0x1 lsl r0, r3, #0x1 mov r4, #0x79 add r3, r1, r0 b _02068FCA _02068F94: cmp r3, #0x1c blo _02068F9A mov r3, #0x0 _02068F9A: lsr r1, r2, #0x1 add r1, #0x8 lsl r0, r3, #0x1 mov r4, #0x79 add r3, r1, r0 b _02068FCA _02068FA6: cmp r3, #0x1 bls _02068FAC mov r3, #0x0 _02068FAC: mov r4, #0x79 add r3, #0x84 b _02068FCA _02068FB2: mov r4, #0x79 mov r3, #0x84 b _02068FCA _02068FB8: mov r4, #0x5 cmp r1, #0x1 beq _02068FC2 mov r1, #0x1 b _02068FC4 _02068FC2: mov r1, #0x0 _02068FC4: lsl r0, r0, #0x2 add r0, r2, r0 add r3, r0, r1 _02068FCA: add r0, sp, #0x0 add r1, r4, #0x0 add r2, r3, #0x0 bl LoadFromNARC add r0, sp, #0x0 ldrb r0, [r0, #0x0] pop {r3-r5, pc} nop _02068FDC: .word 0x000001A5 thumb_func_start FUN_02068FE0 FUN_02068FE0: ; 0x02068FE0 push {r4, lr} add r4, r0, #0x0 cmp r2, #0x2 bne _02068FEE mov r0, #0x3c strh r0, [r4, #0x0] b _02068FFC _02068FEE: mov r0, #0x6 strh r0, [r4, #0x0] add r0, r1, #0x0 bl FUN_0206AA30 lsl r0, r0, #0x10 lsr r1, r0, #0x10 _02068FFC: lsl r0, r1, #0x1 strh r0, [r4, #0x2] add r0, r0, #0x1 strh r0, [r4, #0x4] mov r0, #0x0 strh r0, [r4, #0x6] strb r0, [r4, #0x8] str r0, [r4, #0xc] pop {r4, pc} .balign 4 thumb_func_start FUN_02069010 FUN_02069010: ; 0x02069010 push {r3-r5, lr} sub sp, #0x20 add r5, r1, #0x0 mov r3, #0x1c add r4, r0, #0x0 str r3, [sp, #0x0] add r0, sp, #0x4 mov r1, #0x72 mov r2, #0x0 mul r3, r5 bl FUN_02006548 add r0, sp, #0xc add r1, r4, #0x0 mov r2, #0x14 blx MI_CpuCopy8 add sp, #0x20 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02069038 FUN_02069038: ; 0x02069038 push {r3-r7, lr} sub sp, #0x28 add r4, r0, #0x0 add r6, r2, #0x0 add r5, r3, #0x0 mov r3, #0x1c add r0, sp, #0x8 add r7, r1, #0x0 str r3, [sp, #0x0] add r0, #0x2 mov r1, #0x72 mov r2, #0x0 mul r3, r6 bl FUN_02006548 cmp r5, #0x2 bne _0206906C add r1, sp, #0x4 mov r0, #0x6 ldrsb r0, [r1, r0] strh r0, [r1, #0x0] ldrb r0, [r1, #0x7] strh r0, [r1, #0x2] ldr r0, [sp, #0x44] strb r0, [r1, #0x4] b _02069096 _0206906C: ldr r0, [sp, #0x40] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_02014C3C add r5, r0, #0x0 cmp r5, #0x3 blt _02069080 bl ErrorHandling _02069080: lsl r2, r5, #0x1 add r0, sp, #0xc ldrsb r1, [r0, r2] add r0, sp, #0x4 strh r1, [r0, #0x0] add r1, sp, #0xc add r1, #0x1 ldrb r1, [r1, r2] strh r1, [r0, #0x2] ldr r1, [sp, #0x44] strb r1, [r0, #0x4] _02069096: ldr r3, [sp, #0x48] add r0, r4, #0x0 lsl r3, r3, #0x18 add r1, r7, #0x0 add r2, sp, #0x4 lsr r3, r3, #0x18 bl FUN_02014C54 add sp, #0x28 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020690AC FUN_020690AC: ; 0x020690AC mov r2, #0x3c strh r2, [r0, #0x0] lsl r1, r1, #0x1 strh r1, [r0, #0x2] add r1, r1, #0x1 strh r1, [r0, #0x4] mov r1, #0x0 strh r1, [r0, #0x6] strb r1, [r0, #0x8] str r1, [r0, #0xc] bx lr .balign 4 thumb_func_start FUN_020690C4 FUN_020690C4: ; 0x020690C4 mov r0, #0xec bx lr thumb_func_start FUN_020690C8 FUN_020690C8: ; 0x020690C8 mov r0, #0x88 bx lr thumb_func_start FUN_020690CC FUN_020690CC: ; 0x020690CC ldr r3, _020690D0 ; =FUN_020690D4 bx r3 .balign 4 _020690D0: .word FUN_020690D4 thumb_func_start FUN_020690D4 FUN_020690D4: ; 0x020690D4 push {r3, lr} mov r1, #0x70 mov r2, #0x0 bl FUN_020672BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3, pc} thumb_func_start FUN_020690E4 FUN_020690E4: ; 0x020690E4 bx lr .balign 4 thumb_func_start FUN_020690E8 FUN_020690E8: ; 0x020690E8 push {r3-r5, lr} sub sp, #0x8 mov r1, #0x5 mov r2, #0x0 add r4, r0, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r5, r0, #0x10 add r0, r4, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC add r1, r0, #0x1 add r0, sp, #0x0 strb r1, [r0, #0x0] add r0, r4, #0x0 mov r1, #0x8 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x15 bl FUN_02068678 mov r1, #0x64 add r5, r0, #0x0 bl FUN_02068788 ldr r1, [sp, #0x4] cmp r1, r0 bls _02069138 str r0, [sp, #0x4] add r0, r4, #0x0 mov r1, #0x8 add r2, sp, #0x4 bl FUN_02067830 _02069138: add r0, sp, #0x0 ldrb r1, [r0, #0x0] cmp r1, #0x64 bls _02069146 add sp, #0x8 mov r0, #0x0 pop {r3-r5, pc} _02069146: add r0, r5, #0x0 bl FUN_02068788 ldr r1, [sp, #0x4] cmp r1, r0 blo _02069162 add r0, r4, #0x0 mov r1, #0xa0 add r2, sp, #0x0 bl FUN_02067830 add sp, #0x8 mov r0, #0x1 pop {r3-r5, pc} _02069162: mov r0, #0x0 add sp, #0x8 pop {r3-r5, pc} thumb_func_start FUN_02069168 FUN_02069168: ; 0x02069168 push {r4-r7, lr} sub sp, #0x44 add r7, r1, #0x0 str r0, [sp, #0x0] mov r6, #0x0 add r4, r2, #0x0 add r0, r7, #0x0 mov r1, #0x5 add r2, r6, #0x0 str r3, [sp, #0x4] ldr r5, [sp, #0x58] bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x2c] add r0, r7, #0x0 mov r1, #0x6 add r2, r6, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 add r1, r6, #0x0 str r0, [sp, #0x28] add r0, r7, #0x0 add r2, r1, #0x0 bl FUN_020671BC str r0, [sp, #0x30] add r0, r7, #0x0 mov r1, #0x14 add r2, r6, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x10] ldr r1, _020694A0 ; =0xFFFF0000 ldr r0, [sp, #0x30] add r2, r6, #0x0 and r0, r1 lsr r0, r0, #0x10 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x1c] ldr r0, [sp, #0x28] mov r1, #0x1 bl FUN_0206E7B8 lsl r0, r0, #0x18 lsr r1, r0, #0x18 ldr r0, [sp, #0x2c] cmp r0, #0x40 beq _020691E4 cmp r1, #0x3f bne _020691E4 cmp r4, #0x3 beq _020691E4 add sp, #0x44 add r0, r6, #0x0 pop {r4-r7, pc} _020691E4: cmp r5, #0x0 bne _020691EA add r5, sp, #0x40 _020691EA: mov r0, #0x0 mov r1, #0x2a bl FUN_02016998 str r0, [sp, #0x18] ldr r0, [sp, #0x2c] ldr r1, [sp, #0x18] bl FUN_0206A394 cmp r4, #0x3 bls _02069202 b _0206954A _02069202: add r0, r4, r4 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0206920E: ; jump table (using 16-bit offset) .short _02069216 - _0206920E - 2; case 0 .short _02069486 - _0206920E - 2; case 1 .short _020694BE - _0206920E - 2; case 2 .short _020694BE - _0206920E - 2; case 3 _02069216: add r0, r7, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x14] add r0, r7, #0x0 mov r1, #0x9 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x20] mov r0, #0x0 str r0, [sp, #0x24] ldr r0, [sp, #0x1c] mov r1, #0xa ldr r4, [sp, #0x18] blx _s32_div_f str r1, [sp, #0x8] _02069246: ldrh r0, [r4, #0x0] cmp r0, #0x1a bls _0206924E b _02069472 _0206924E: add r1, r0, r0 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0206925A: ; jump table (using 16-bit offset) .short _02069472 - _0206925A - 2; case 0 .short _02069290 - _0206925A - 2; case 1 .short _0206929E - _0206925A - 2; case 2 .short _020692B4 - _0206925A - 2; case 3 .short _020692CA - _0206925A - 2; case 4 .short _02069472 - _0206925A - 2; case 5 .short _02069472 - _0206925A - 2; case 6 .short _02069472 - _0206925A - 2; case 7 .short _020692DA - _0206925A - 2; case 8 .short _02069306 - _0206925A - 2; case 9 .short _02069332 - _0206925A - 2; case 10 .short _0206935E - _0206925A - 2; case 11 .short _02069376 - _0206925A - 2; case 12 .short _0206938C - _0206925A - 2; case 13 .short _0206939C - _0206925A - 2; case 14 .short _020693A2 - _0206925A - 2; case 15 .short _02069472 - _0206925A - 2; case 16 .short _02069472 - _0206925A - 2; case 17 .short _020693B2 - _0206925A - 2; case 18 .short _020693CA - _0206925A - 2; case 19 .short _020693E2 - _0206925A - 2; case 20 .short _020693F6 - _0206925A - 2; case 21 .short _0206940E - _0206925A - 2; case 22 .short _0206942C - _0206925A - 2; case 23 .short _0206944A - _0206925A - 2; case 24 .short _02069458 - _0206925A - 2; case 25 .short _02069466 - _0206925A - 2; case 26 _02069290: ldr r0, [sp, #0x20] cmp r0, #0xdc blo _0206936C ldrh r6, [r4, #0x4] mov r0, #0x1 str r0, [r5, #0x0] b _02069472 _0206929E: bl FUN_0201277C cmp r0, #0x0 bne _0206936C ldr r0, [sp, #0x20] cmp r0, #0xdc blo _0206936C ldrh r6, [r4, #0x4] mov r0, #0x2 str r0, [r5, #0x0] b _02069472 _020692B4: bl FUN_0201277C cmp r0, #0x1 bne _0206936C ldr r0, [sp, #0x20] cmp r0, #0xdc blo _0206936C ldrh r6, [r4, #0x4] mov r0, #0x3 str r0, [r5, #0x0] b _02069472 _020692CA: ldrh r1, [r4, #0x2] ldr r0, [sp, #0x14] cmp r1, r0 bgt _0206936C ldrh r6, [r4, #0x4] mov r0, #0x4 str r0, [r5, #0x0] b _02069472 _020692DA: ldrh r1, [r4, #0x2] ldr r0, [sp, #0x14] cmp r1, r0 bgt _0206936C add r0, r7, #0x0 mov r1, #0xa4 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x34] add r0, r7, #0x0 mov r1, #0xa5 mov r2, #0x0 bl FUN_020671BC ldr r1, [sp, #0x34] cmp r1, r0 bls _0206936C ldrh r6, [r4, #0x4] mov r0, #0x8 str r0, [r5, #0x0] b _02069472 _02069306: ldrh r1, [r4, #0x2] ldr r0, [sp, #0x14] cmp r1, r0 bgt _0206936C add r0, r7, #0x0 mov r1, #0xa4 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x38] add r0, r7, #0x0 mov r1, #0xa5 mov r2, #0x0 bl FUN_020671BC ldr r1, [sp, #0x38] cmp r1, r0 bne _0206936C ldrh r6, [r4, #0x4] mov r0, #0x9 str r0, [r5, #0x0] b _02069472 _02069332: ldrh r1, [r4, #0x2] ldr r0, [sp, #0x14] cmp r1, r0 bgt _0206936C add r0, r7, #0x0 mov r1, #0xa4 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x3c] add r0, r7, #0x0 mov r1, #0xa5 mov r2, #0x0 bl FUN_020671BC ldr r1, [sp, #0x3c] cmp r1, r0 bhs _0206936C ldrh r6, [r4, #0x4] mov r0, #0xa str r0, [r5, #0x0] b _02069472 _0206935E: ldrh r1, [r4, #0x2] ldr r0, [sp, #0x14] cmp r1, r0 bgt _0206936C ldr r0, [sp, #0x8] cmp r0, #0x5 blt _0206936E _0206936C: b _02069472 _0206936E: ldrh r6, [r4, #0x4] mov r0, #0xb str r0, [r5, #0x0] b _02069472 _02069376: ldrh r1, [r4, #0x2] ldr r0, [sp, #0x14] cmp r1, r0 bgt _02069472 ldr r0, [sp, #0x8] cmp r0, #0x5 blt _02069472 ldrh r6, [r4, #0x4] mov r0, #0xc str r0, [r5, #0x0] b _02069472 _0206938C: ldrh r1, [r4, #0x2] ldr r0, [sp, #0x14] cmp r1, r0 bgt _02069472 ldrh r6, [r4, #0x4] mov r0, #0xd str r0, [r5, #0x0] b _02069472 _0206939C: mov r0, #0xe str r0, [r5, #0x0] b _02069472 _020693A2: ldrh r1, [r4, #0x2] ldr r0, [sp, #0x10] cmp r1, r0 bgt _02069472 ldrh r6, [r4, #0x4] mov r0, #0xf str r0, [r5, #0x0] b _02069472 _020693B2: bl FUN_0201277C cmp r0, #0x0 bne _02069472 ldrh r1, [r4, #0x2] ldr r0, [sp, #0x28] cmp r0, r1 bne _02069472 ldrh r6, [r4, #0x4] mov r0, #0x12 str r0, [r5, #0x0] b _02069472 _020693CA: bl FUN_0201277C cmp r0, #0x1 bne _02069472 ldrh r1, [r4, #0x2] ldr r0, [sp, #0x28] cmp r0, r1 bne _02069472 ldrh r6, [r4, #0x4] mov r0, #0x13 str r0, [r5, #0x0] b _02069472 _020693E2: ldrh r1, [r4, #0x2] add r0, r7, #0x0 bl FUN_02069A38 cmp r0, #0x1 bne _02069472 ldrh r6, [r4, #0x4] mov r0, #0x14 str r0, [r5, #0x0] b _02069472 _020693F6: ldr r0, [sp, #0x0] cmp r0, #0x0 beq _02069472 ldrh r1, [r4, #0x2] bl FUN_0206BAE4 cmp r0, #0x1 bne _02069472 ldrh r6, [r4, #0x4] mov r0, #0x15 str r0, [r5, #0x0] b _02069472 _0206940E: add r0, r7, #0x0 mov r1, #0x6f mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 bne _02069472 ldrh r1, [r4, #0x2] ldr r0, [sp, #0x14] cmp r1, r0 bgt _02069472 ldrh r6, [r4, #0x4] mov r0, #0x16 str r0, [r5, #0x0] b _02069472 _0206942C: add r0, r7, #0x0 mov r1, #0x6f mov r2, #0x0 bl FUN_020671BC cmp r0, #0x1 bne _02069472 ldrh r1, [r4, #0x2] ldr r0, [sp, #0x14] cmp r1, r0 bgt _02069472 ldrh r6, [r4, #0x4] mov r0, #0x17 str r0, [r5, #0x0] b _02069472 _0206944A: ldr r1, [sp, #0x4] cmp r1, r0 bne _02069472 ldrh r6, [r4, #0x4] mov r0, #0x18 str r0, [r5, #0x0] b _02069472 _02069458: ldr r1, [sp, #0x4] cmp r1, r0 bne _02069472 ldrh r6, [r4, #0x4] mov r0, #0x19 str r0, [r5, #0x0] b _02069472 _02069466: ldr r1, [sp, #0x4] cmp r1, r0 bne _02069472 ldrh r6, [r4, #0x4] mov r0, #0x1a str r0, [r5, #0x0] _02069472: cmp r6, #0x0 bne _0206954A ldr r0, [sp, #0x24] add r4, r4, #0x6 add r0, r0, #0x1 str r0, [sp, #0x24] cmp r0, #0x7 bge _02069484 b _02069246 _02069484: b _0206954A _02069486: ldr r3, [sp, #0x18] mov r4, #0x0 mov r7, #0x6 mov r2, #0x5 _0206948E: ldrh r0, [r3, #0x0] cmp r0, #0x5 beq _0206949A cmp r0, #0x6 beq _020694A4 b _020694B0 _0206949A: ldrh r6, [r3, #0x4] str r2, [r5, #0x0] b _020694B0 .balign 4 _020694A0: .word 0xFFFF0000 _020694A4: ldrh r1, [r3, #0x2] ldr r0, [sp, #0x28] cmp r0, r1 bne _020694B0 ldrh r6, [r3, #0x4] str r7, [r5, #0x0] _020694B0: cmp r6, #0x0 bne _0206954A add r4, r4, #0x1 add r3, r3, #0x6 cmp r4, #0x7 blt _0206948E b _0206954A _020694BE: mov r0, #0x0 ldr r4, [sp, #0x18] str r0, [sp, #0xc] _020694C4: ldrh r2, [r4, #0x0] cmp r2, #0x7 bne _020694E4 ldrh r1, [r4, #0x2] ldr r0, [sp, #0x4] cmp r0, r1 bne _020694E4 ldr r0, [sp, #0xc] mov r1, #0x6 mul r1, r0 ldr r0, [sp, #0x18] add r0, r0, r1 ldrh r6, [r0, #0x4] mov r0, #0x0 str r0, [r5, #0x0] b _0206954A _020694E4: cmp r2, #0x10 bne _02069510 add r0, r7, #0x0 mov r1, #0x6f mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 bne _02069510 ldrh r1, [r4, #0x2] ldr r0, [sp, #0x4] cmp r0, r1 bne _02069510 ldr r0, [sp, #0xc] mov r1, #0x6 mul r1, r0 ldr r0, [sp, #0x18] add r0, r0, r1 ldrh r6, [r0, #0x4] mov r0, #0x0 str r0, [r5, #0x0] b _0206954A _02069510: ldrh r0, [r4, #0x0] cmp r0, #0x11 bne _0206953E add r0, r7, #0x0 mov r1, #0x6f mov r2, #0x0 bl FUN_020671BC cmp r0, #0x1 bne _0206953E ldrh r1, [r4, #0x2] ldr r0, [sp, #0x4] cmp r0, r1 bne _0206953E ldr r0, [sp, #0xc] mov r1, #0x6 mul r1, r0 ldr r0, [sp, #0x18] add r0, r0, r1 ldrh r6, [r0, #0x4] mov r0, #0x0 str r0, [r5, #0x0] b _0206954A _0206953E: ldr r0, [sp, #0xc] add r4, r4, #0x6 add r0, r0, #0x1 str r0, [sp, #0xc] cmp r0, #0x7 blt _020694C4 _0206954A: ldr r0, [sp, #0x18] bl FUN_02016A18 add r0, r6, #0x0 add sp, #0x44 pop {r4-r7, pc} .balign 4 thumb_func_start FUN_02069558 FUN_02069558: ; 0x02069558 push {r3-r4, lr} sub sp, #0x4c add r4, r0, #0x0 mov r1, #0x0 add r0, sp, #0x0 strh r1, [r0, #0x0] ldr r0, _020695A0 ; =0x000001EE cmp r4, r0 blo _0206956E bl ErrorHandling _0206956E: add r0, sp, #0x4 blx FS_InitFile ldr r1, _020695A4 ; =0x02105FC8 add r0, sp, #0x4 blx FS_OpenFile add r0, sp, #0x4 lsl r1, r4, #0x1 mov r2, #0x0 blx FS_SeekFile add r0, sp, #0x4 add r1, sp, #0x0 mov r2, #0x2 blx FS_ReadFile add r0, sp, #0x4 blx FS_CloseFile add r0, sp, #0x0 ldrh r0, [r0, #0x0] add sp, #0x4c pop {r3-r4, pc} nop _020695A0: .word 0x000001EE _020695A4: .word 0x02105FC8 thumb_func_start FUN_020695A8 FUN_020695A8: ; 0x020695A8 push {r3, lr} cmp r0, #0xb9 bgt _020695CC cmp r0, #0xb7 blt _020695BA beq _020695EC cmp r0, #0xb9 beq _020695EC b _020695E8 _020695BA: cmp r0, #0x7a bgt _020695C6 bge _020695EC cmp r0, #0x71 beq _020695EC b _020695E8 _020695C6: cmp r0, #0x8f beq _020695EC b _020695E8 _020695CC: cmp r0, #0xe2 bgt _020695D8 bge _020695EC cmp r0, #0xca beq _020695EC b _020695E8 _020695D8: ldr r1, _020695F0 ; =0x0000013B cmp r0, r1 bgt _020695E2 beq _020695EC b _020695E8 _020695E2: add r1, #0x2b cmp r0, r1 beq _020695EC _020695E8: bl FUN_02069558 _020695EC: pop {r3, pc} nop _020695F0: .word 0x0000013B thumb_func_start FUN_020695F4 FUN_020695F4: ; 0x020695F4 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 mov r0, #0x0 mov r1, #0x2c bl FUN_02016998 str r0, [sp, #0x0] add r0, r5, #0x0 bl FUN_02066A6C str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020672BC lsl r0, r0, #0x10 lsr r4, r0, #0x10 add r0, r5, #0x0 mov r1, #0x70 mov r2, #0x0 bl FUN_020672BC add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_020687C8 lsl r0, r0, #0x18 lsr r6, r0, #0x18 ldr r2, [sp, #0x0] add r0, r4, #0x0 add r1, r7, #0x0 bl FUN_02069F9C ldr r0, [sp, #0x0] ldrh r1, [r0, #0x0] ldr r0, _02069690 ; =0x0000FFFF cmp r1, r0 beq _0206967C ldr r4, [sp, #0x0] lsl r7, r6, #0x9 _02069648: ldrh r1, [r4, #0x0] mov r0, #0xfe lsl r0, r0, #0x8 and r0, r1 cmp r0, r7 bgt _0206967C ldr r0, _02069694 ; =0x000001FF and r0, r1 lsl r0, r0, #0x10 lsr r6, r0, #0x10 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020696A8 ldr r1, _02069690 ; =0x0000FFFF cmp r0, r1 bne _02069672 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02069718 _02069672: add r4, r4, #0x2 ldrh r1, [r4, #0x0] ldr r0, _02069690 ; =0x0000FFFF cmp r1, r0 bne _02069648 _0206967C: ldr r0, [sp, #0x0] bl FUN_02016A18 ldr r1, [sp, #0x4] add r0, r5, #0x0 bl FUN_02066A94 add sp, #0x8 pop {r3-r7, pc} nop _02069690: .word 0x0000FFFF _02069694: .word 0x000001FF thumb_func_start FUN_02069698 FUN_02069698: ; 0x02069698 push {r4, lr} add r4, r1, #0x0 bl FUN_020690E4 add r1, r4, #0x0 bl FUN_020696A8 pop {r4, pc} thumb_func_start FUN_020696A8 FUN_020696A8: ; 0x020696A8 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 ldr r1, _02069700 ; =0x0000FFFF add r6, r0, #0x0 str r1, [sp, #0x4] bl FUN_02066A6C mov r4, #0x0 str r0, [sp, #0x0] add r7, r4, #0x0 _020696BE: add r1, r4, #0x0 add r0, r6, #0x0 add r1, #0x36 add r2, r7, #0x0 bl FUN_020672BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 bne _020696E0 lsl r2, r4, #0x18 add r0, r6, #0x0 add r1, r5, #0x0 lsr r2, r2, #0x18 bl FUN_020697D4 str r5, [sp, #0x4] b _020696F0 _020696E0: cmp r0, r5 bne _020696EA ldr r0, _02069704 ; =0x0000FFFE str r0, [sp, #0x4] b _020696F0 _020696EA: add r4, r4, #0x1 cmp r4, #0x4 blt _020696BE _020696F0: ldr r1, [sp, #0x0] add r0, r6, #0x0 bl FUN_02066A94 ldr r0, [sp, #0x4] add sp, #0x8 pop {r3-r7, pc} nop _02069700: .word 0x0000FFFF _02069704: .word 0x0000FFFE thumb_func_start FUN_02069708 FUN_02069708: ; 0x02069708 push {r4, lr} add r4, r1, #0x0 bl FUN_020690E4 add r1, r4, #0x0 bl FUN_02069718 pop {r4, pc} thumb_func_start FUN_02069718 FUN_02069718: ; 0x02069718 push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 str r1, [sp, #0x0] bl FUN_02066A6C str r0, [sp, #0xc] add r0, sp, #0x18 mov r4, #0x0 str r0, [sp, #0x4] add r7, sp, #0x14 add r6, sp, #0x10 _02069730: add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x37 mov r2, #0x0 bl FUN_020672BC ldr r1, [sp, #0x4] mov r2, #0x0 strh r0, [r1, #0x0] add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3b bl FUN_020672BC add r1, r4, #0x0 strb r0, [r7, #0x0] add r0, r5, #0x0 add r1, #0x3f mov r2, #0x0 bl FUN_020672BC strb r0, [r6, #0x0] ldr r0, [sp, #0x4] add r4, r4, #0x1 add r0, r0, #0x2 str r0, [sp, #0x4] add r7, r7, #0x1 add r6, r6, #0x1 cmp r4, #0x3 blt _02069730 ldr r0, [sp, #0x0] add r1, sp, #0x10 strh r0, [r1, #0xe] ldr r0, [sp, #0x0] mov r1, #0x5 bl FUN_0206AB18 add r1, sp, #0x10 strb r0, [r1, #0x7] mov r4, #0x0 add r0, sp, #0x18 strb r4, [r1, #0x3] str r0, [sp, #0x8] add r7, sp, #0x14 add r6, sp, #0x10 _0206978A: add r1, r4, #0x0 ldr r2, [sp, #0x8] add r0, r5, #0x0 add r1, #0x36 bl FUN_02067960 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3a add r2, r7, #0x0 bl FUN_02067960 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3e add r2, r6, #0x0 bl FUN_02067960 ldr r0, [sp, #0x8] add r4, r4, #0x1 add r0, r0, #0x2 str r0, [sp, #0x8] add r7, r7, #0x1 add r6, r6, #0x1 cmp r4, #0x4 blt _0206978A ldr r1, [sp, #0xc] add r0, r5, #0x0 bl FUN_02066A94 add sp, #0x20 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020697CC FUN_020697CC: ; 0x020697CC ldr r3, _020697D0 ; =FUN_020697D4 bx r3 .balign 4 _020697D0: .word FUN_020697D4 thumb_func_start FUN_020697D4 FUN_020697D4: ; 0x020697D4 push {r0-r3} push {r3-r5, lr} add r4, r2, #0x0 add r1, r4, #0x0 add r1, #0x36 add r2, sp, #0x14 add r5, r0, #0x0 bl FUN_02067960 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3e mov r2, #0x0 bl FUN_020672BC lsl r0, r0, #0x18 lsr r1, r0, #0x18 add r0, sp, #0x10 ldrh r0, [r0, #0x4] bl FUN_0206AB30 add r1, sp, #0x0 strb r0, [r1, #0x0] add r4, #0x3a add r0, r5, #0x0 add r1, r4, #0x0 add r2, sp, #0x0 bl FUN_02067960 pop {r3-r5} pop {r3} add sp, #0x10 bx r3 .balign 4 thumb_func_start FUN_02069818 FUN_02069818: ; 0x02069818 push {r3-r7, lr} sub sp, #0x10 add r7, r0, #0x0 add r5, r1, #0x0 mov r0, #0x0 mov r1, #0x2c str r2, [sp, #0x0] str r0, [sp, #0x8] bl FUN_02016998 add r4, r0, #0x0 add r0, r7, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x4] add r0, r7, #0x0 mov r1, #0x70 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0xc] add r0, r7, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r6, r0, #0x18 ldr r0, [sp, #0x4] ldr r1, [sp, #0xc] add r2, r4, #0x0 bl FUN_02069F9C ldr r0, [r5, #0x0] lsl r0, r0, #0x1 ldrh r2, [r4, r0] ldr r0, _020698D8 ; =0x0000FFFF cmp r2, r0 bne _0206987A add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x10 mov r0, #0x0 pop {r3-r7, pc} _0206987A: mov r0, #0xfe lsl r0, r0, #0x8 add r3, r2, #0x0 and r3, r0 lsl r6, r6, #0x9 cmp r6, r3 beq _020698AC ldr r1, _020698D8 ; =0x0000FFFF _0206988A: ldr r2, [r5, #0x0] add r2, r2, #0x1 str r2, [r5, #0x0] lsl r2, r2, #0x1 ldrh r2, [r4, r2] cmp r2, r1 bne _020698A4 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x10 mov r0, #0x0 pop {r3-r7, pc} _020698A4: add r3, r2, #0x0 and r3, r0 cmp r6, r3 bne _0206988A _020698AC: cmp r6, r3 bne _020698CC ldr r0, _020698DC ; =0x000001FF add r1, r2, #0x0 and r1, r0 ldr r0, [sp, #0x0] strh r1, [r0, #0x0] ldr r0, [r5, #0x0] ldr r1, [sp, #0x0] add r0, r0, #0x1 str r0, [r5, #0x0] ldrh r1, [r1, #0x0] add r0, r7, #0x0 bl FUN_02069698 str r0, [sp, #0x8] _020698CC: add r0, r4, #0x0 bl FUN_02016A18 ldr r0, [sp, #0x8] add sp, #0x10 pop {r3-r7, pc} .balign 4 _020698D8: .word 0x0000FFFF _020698DC: .word 0x000001FF thumb_func_start FUN_020698E0 FUN_020698E0: ; 0x020698E0 ldr r3, _020698E4 ; =FUN_020698E8 bx r3 .balign 4 _020698E4: .word FUN_020698E8 thumb_func_start FUN_020698E8 FUN_020698E8: ; 0x020698E8 push {r4-r6, lr} sub sp, #0x8 add r4, r1, #0x0 add r6, r2, #0x0 add r1, #0x36 mov r2, #0x0 add r5, r0, #0x0 bl FUN_020672BC add r1, sp, #0x0 strh r0, [r1, #0x4] add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3a mov r2, #0x0 bl FUN_020672BC add r1, sp, #0x0 strb r0, [r1, #0x2] add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3e mov r2, #0x0 bl FUN_020672BC add r1, sp, #0x0 strb r0, [r1, #0x0] add r1, r6, #0x0 add r0, r5, #0x0 add r1, #0x36 mov r2, #0x0 bl FUN_020672BC add r1, sp, #0x0 strh r0, [r1, #0x6] add r1, r6, #0x0 add r0, r5, #0x0 add r1, #0x3a mov r2, #0x0 bl FUN_020672BC add r1, sp, #0x0 strb r0, [r1, #0x3] add r1, r6, #0x0 add r0, r5, #0x0 add r1, #0x3e mov r2, #0x0 bl FUN_020672BC add r1, sp, #0x0 strb r0, [r1, #0x1] add r1, r4, #0x0 add r2, sp, #0x4 add r0, r5, #0x0 add r1, #0x36 add r2, #0x2 bl FUN_02067960 add r1, r4, #0x0 add r2, sp, #0x0 add r0, r5, #0x0 add r1, #0x3a add r2, #0x3 bl FUN_02067960 add r4, #0x3e add r2, sp, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, #0x1 bl FUN_02067960 add r1, r6, #0x0 add r0, r5, #0x0 add r1, #0x36 add r2, sp, #0x4 bl FUN_02067960 add r1, r6, #0x0 add r2, sp, #0x0 add r0, r5, #0x0 add r1, #0x3a add r2, #0x2 bl FUN_02067960 add r6, #0x3e add r0, r5, #0x0 add r1, r6, #0x0 add r2, sp, #0x0 bl FUN_02067960 add sp, #0x8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020699A4 FUN_020699A4: ; 0x020699A4 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x3 bhs _02069A0A mov r7, #0x0 add r6, sp, #0x0 _020699B2: add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x37 add r2, r7, #0x0 bl FUN_020671BC add r1, r4, #0x0 strh r0, [r6, #0x2] add r0, r5, #0x0 add r1, #0x3b mov r2, #0x0 bl FUN_020671BC add r1, r4, #0x0 strb r0, [r6, #0x1] add r0, r5, #0x0 add r1, #0x3f mov r2, #0x0 bl FUN_020671BC add r1, r4, #0x0 add r2, sp, #0x0 strb r0, [r6, #0x0] add r0, r5, #0x0 add r1, #0x36 add r2, #0x2 bl FUN_02067830 add r1, r4, #0x0 add r2, sp, #0x0 add r0, r5, #0x0 add r1, #0x3a add r2, #0x1 bl FUN_02067830 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3e add r2, sp, #0x0 bl FUN_02067830 add r4, r4, #0x1 cmp r4, #0x3 blo _020699B2 _02069A0A: mov r1, #0x0 add r0, sp, #0x0 strh r1, [r0, #0x2] strb r1, [r0, #0x1] strb r1, [r0, #0x0] add r2, sp, #0x0 add r0, r5, #0x0 mov r1, #0x39 add r2, #0x2 bl FUN_02067830 add r2, sp, #0x0 add r0, r5, #0x0 mov r1, #0x3d add r2, #0x1 bl FUN_02067830 add r0, r5, #0x0 mov r1, #0x41 add r2, sp, #0x0 bl FUN_02067830 pop {r3-r7, pc} thumb_func_start FUN_02069A38 FUN_02069A38: ; 0x02069A38 push {r3-r7, lr} mov r4, #0x0 add r6, r0, #0x0 add r5, r1, #0x0 add r7, r4, #0x0 _02069A42: add r1, r4, #0x0 add r0, r6, #0x0 add r1, #0x36 add r2, r7, #0x0 bl FUN_020671BC cmp r5, r0 beq _02069A58 add r4, r4, #0x1 cmp r4, #0x4 blt _02069A42 _02069A58: cmp r4, #0x4 beq _02069A60 mov r0, #0x1 pop {r3-r7, pc} _02069A60: mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02069A64 FUN_02069A64: ; 0x02069A64 push {r4-r5, lr} sub sp, #0x1c add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0x0 str r0, [sp, #0x0] add r3, r4, #0x0 mov r2, #0x11 _02069A74: ldmia r5!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _02069A74 ldrh r1, [r4, #0x4] lsl r0, r1, #0x1e lsr r0, r0, #0x1f beq _02069A8E mov r0, #0x1 bic r1, r0 mov r0, #0x1 orr r0, r1 strh r0, [r4, #0x4] _02069A8E: add r0, r4, #0x0 mov r1, #0x9f add r2, sp, #0x0 bl FUN_02067830 add r0, r4, #0x0 mov r1, #0xa2 add r2, sp, #0x0 bl FUN_02067830 add r0, r4, #0x0 mov r1, #0xa3 add r2, sp, #0x0 bl FUN_02067830 mov r0, #0x0 bl FUN_020256BC add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0xa9 add r2, r5, #0x0 bl FUN_02067830 add r0, r5, #0x0 bl FUN_02016A18 add r0, r4, #0x0 mov r1, #0xa1 add r2, sp, #0x0 bl FUN_02067830 mov r0, #0x0 add r1, sp, #0x4 mov r2, #0x18 blx MIi_CpuClearFast add r0, r4, #0x0 mov r1, #0xaa add r2, sp, #0x4 bl FUN_02067830 add r0, r4, #0x0 bl FUN_02066ED8 add sp, #0x1c pop {r4-r5, pc} thumb_func_start FUN_02069AEC FUN_02069AEC: ; 0x02069AEC push {r3-r7, lr} str r0, [sp, #0x0] bl FUN_0206B9AC add r7, r0, #0x0 mov r6, #0x1 mov r5, #0x0 cmp r7, #0x0 ble _02069B3C _02069AFE: ldr r0, [sp, #0x0] add r1, r5, #0x0 bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 add r4, r0, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _02069B36 add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 bne _02069B36 add r0, r4, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, r6 bls _02069B36 add r6, r0, #0x0 _02069B36: add r5, r5, #0x1 cmp r5, r7 blt _02069AFE _02069B3C: add r0, r6, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02069B40 FUN_02069B40: ; 0x02069B40 push {r3, lr} sub sp, #0x8 add r3, r0, #0x0 mov r0, #0x2 str r0, [sp, #0x0] add r0, sp, #0x4 mov r1, #0x6d mov r2, #0x0 lsl r3, r3, #0x1 bl FUN_02006548 add r0, sp, #0x4 ldrh r0, [r0, #0x0] add sp, #0x8 pop {r3, pc} .balign 4 thumb_func_start FUN_02069B60 FUN_02069B60: ; 0x02069B60 push {r3, lr} sub sp, #0x8 add r3, r0, #0x0 mov r2, #0x0 add r0, sp, #0x4 strh r2, [r0, #0x0] cmp r3, #0x97 bhi _02069B7E mov r0, #0x2 str r0, [sp, #0x0] add r0, sp, #0x4 mov r1, #0x91 lsl r3, r3, #0x1 bl FUN_02006548 _02069B7E: add r0, sp, #0x4 ldrh r0, [r0, #0x0] add sp, #0x8 pop {r3, pc} .balign 4 thumb_func_start FUN_02069B88 FUN_02069B88: ; 0x02069B88 push {r3-r4} add r4, r0, #0x0 add r3, r1, #0x0 mov r2, #0x1d _02069B90: ldmia r4!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _02069B90 ldr r0, [r4, #0x0] str r0, [r3, #0x0] pop {r3-r4} bx lr thumb_func_start FUN_02069BA0 FUN_02069BA0: ; 0x02069BA0 push {r3-r4} add r4, r0, #0x0 add r3, r1, #0x0 mov r2, #0x11 _02069BA8: ldmia r4!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _02069BA8 pop {r3-r4} bx lr thumb_func_start FUN_02069BB4 FUN_02069BB4: ; 0x02069BB4 push {r3-r4} add r4, r0, #0x0 add r3, r1, #0x0 mov r2, #0x11 _02069BBC: ldmia r4!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _02069BBC pop {r3-r4} bx lr thumb_func_start FUN_02069BC8 FUN_02069BC8: ; 0x02069BC8 ldr r3, _02069BCC ; =FUN_02069BD0 bx r3 .balign 4 _02069BCC: .word FUN_02069BD0 thumb_func_start FUN_02069BD0 FUN_02069BD0: ; 0x02069BD0 push {r4, lr} add r4, r1, #0x0 mov r1, #0x0 add r2, r1, #0x0 bl FUN_020672BC add r1, r4, #0x0 bl FUN_02069BE4 pop {r4, pc} thumb_func_start FUN_02069BE4 FUN_02069BE4: ; 0x02069BE4 push {r4, lr} add r4, r1, #0x0 bl FUN_02068884 lsl r1, r0, #0x2 add r1, r0, r1 ldr r0, _02069BF8 ; =0x020F7F16 add r0, r0, r1 ldrsb r0, [r4, r0] pop {r4, pc} .balign 4 _02069BF8: .word 0x020F7F16 thumb_func_start FUN_02069BFC FUN_02069BFC: ; 0x02069BFC push {r3-r7, lr} add r4, r0, #0x0 add r7, r1, #0x0 mov r0, #0x0 mov r1, #0x2c add r5, r2, #0x0 bl FUN_02016998 add r6, r0, #0x0 add r0, r4, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 bl FUN_02069F9C ldrh r1, [r6, #0x0] ldr r0, _02069C44 ; =0x0000FFFF mov r4, #0x0 cmp r1, r0 beq _02069C3A ldr r1, _02069C48 ; =0x000001FF ldr r2, _02069C44 ; =0x0000FFFF add r0, r6, #0x0 _02069C28: ldrh r3, [r0, #0x0] add r0, r0, #0x2 add r4, r4, #0x1 and r3, r1 strh r3, [r5, #0x0] ldrh r3, [r0, #0x0] add r5, r5, #0x2 cmp r3, r2 bne _02069C28 _02069C3A: add r0, r6, #0x0 bl FUN_02016A18 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 _02069C44: .word 0x0000FFFF _02069C48: .word 0x000001FF thumb_func_start FUN_02069C4C FUN_02069C4C: ; 0x02069C4C push {r3-r7, lr} add r5, r0, #0x0 bl FUN_0206B9AC add r6, r0, #0x0 bl FUN_0201B9EC mov r1, #0x1 lsl r1, r1, #0xe cmp r0, r1 beq _02069C70 lsl r1, r1, #0x1 cmp r0, r1 beq _02069C70 mov r1, #0x3 lsl r1, r1, #0xe cmp r0, r1 bne _02069CF2 _02069C70: bl FUN_0201B9EC add r1, r6, #0x0 blx _s32_div_f add r0, r5, #0x0 add r7, r1, #0x0 bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 add r4, r0, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _02069C70 add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 bne _02069C70 add r0, r7, #0x0 bl FUN_0206A92C add r1, r0, #0x0 lsl r1, r1, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 bl FUN_02069CF4 cmp r0, #0x0 bne _02069CF2 add r5, sp, #0x0 mov r6, #0x7 _02069CB8: bl FUN_0201B9EC strb r0, [r5, #0x0] ldrb r2, [r5, #0x0] add r1, r2, #0x0 and r1, r6 beq _02069CB8 mov r0, #0xf0 tst r0, r2 beq _02069CD0 add r0, sp, #0x0 strb r1, [r0, #0x0] _02069CD0: add r1, sp, #0x0 ldrb r2, [r1, #0x0] lsl r0, r2, #0x4 orr r0, r2 strb r0, [r1, #0x0] ldrb r2, [r1, #0x0] mov r0, #0xf3 and r0, r2 strb r0, [r1, #0x0] ldrb r0, [r1, #0x0] add r2, sp, #0x0 add r0, r0, #0x1 strb r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0x99 bl FUN_02067830 _02069CF2: pop {r3-r7, pc} thumb_func_start FUN_02069CF4 FUN_02069CF4: ; 0x02069CF4 push {r3-r7, lr} mov r6, #0x0 add r5, r1, #0x0 str r0, [sp, #0x0] mov r4, #0x1 add r7, r6, #0x0 cmp r5, #0x0 beq _02069D32 _02069D04: mov r0, #0x1 tst r0, r5 beq _02069D26 ldr r0, [sp, #0x0] add r1, r6, #0x0 bl FUN_0206B9B0 mov r1, #0x99 mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _02069D26 add r0, r7, #0x0 orr r0, r4 lsl r0, r0, #0x18 lsr r7, r0, #0x18 _02069D26: lsl r0, r5, #0x17 add r6, r6, #0x1 lsl r4, r4, #0x1 lsr r5, r0, #0x18 bne _02069D04 b _02069D4A _02069D32: add r1, r6, #0x0 bl FUN_0206B9B0 mov r1, #0x99 add r2, r6, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _02069D4A add r0, r7, #0x1 lsl r0, r0, #0x18 lsr r7, r0, #0x18 _02069D4A: add r0, r7, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02069D50 FUN_02069D50: ; 0x02069D50 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] add r5, r1, #0x0 bl FUN_0206B9AC mov r6, #0x0 str r0, [sp, #0x4] cmp r0, #0x0 ble _02069DC2 add r4, sp, #0x8 _02069D66: ldr r0, [sp, #0x0] add r1, r6, #0x0 bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 add r7, r0, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _02069DBA add r0, r7, #0x0 mov r1, #0x99 mov r2, #0x0 bl FUN_020671BC strb r0, [r4, #0x0] ldrb r1, [r4, #0x0] mov r0, #0xf and r0, r1 beq _02069DBA cmp r0, r5 blt _02069D98 cmp r5, #0x4 ble _02069DA2 _02069D98: ldrb r1, [r4, #0x0] mov r0, #0xf0 and r0, r1 strb r0, [r4, #0x0] b _02069DA6 _02069DA2: sub r0, r1, r5 strb r0, [r4, #0x0] _02069DA6: ldrb r0, [r4, #0x0] cmp r0, #0x0 bne _02069DB0 mov r0, #0x10 strb r0, [r4, #0x0] _02069DB0: add r0, r7, #0x0 mov r1, #0x99 add r2, sp, #0x8 bl FUN_02067830 _02069DBA: ldr r0, [sp, #0x4] add r6, r6, #0x1 cmp r6, r0 blt _02069D66 _02069DC2: add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_02069DC8 FUN_02069DC8: ; 0x02069DC8 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 bl FUN_0206B9AC add r7, r0, #0x0 bl FUN_0201B9EC mov r1, #0x3 blx _s32_div_f cmp r1, #0x0 bne _02069E70 mov r4, #0x0 cmp r7, #0x0 ble _02069E70 sub r0, r7, #0x1 str r0, [sp, #0x0] _02069DEC: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 add r6, r0, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _02069E6A add r0, r6, #0x0 mov r1, #0x99 mov r2, #0x0 bl FUN_020671BC add r1, sp, #0x4 strb r0, [r1, #0x0] add r0, r1, #0x0 ldrb r1, [r0, #0x0] mov r0, #0xf tst r0, r1 beq _02069E6A cmp r4, #0x0 beq _02069E40 add r0, r5, #0x0 sub r1, r4, #0x1 bl FUN_0206B9B0 mov r1, #0x99 mov r2, #0x0 add r6, r0, #0x0 bl FUN_020671BC mov r1, #0xf0 tst r0, r1 bne _02069E40 add r0, r6, #0x0 mov r1, #0x99 add r2, sp, #0x4 bl FUN_02067830 _02069E40: ldr r0, [sp, #0x0] cmp r4, r0 bge _02069E6A add r0, r5, #0x0 add r1, r4, #0x1 bl FUN_0206B9B0 mov r1, #0x99 mov r2, #0x0 add r6, r0, #0x0 bl FUN_020671BC mov r1, #0xf0 tst r0, r1 bne _02069E6A add r0, r6, #0x0 mov r1, #0x99 add r2, sp, #0x4 bl FUN_02067830 add r4, r4, #0x1 _02069E6A: add r4, r4, #0x1 cmp r4, r7 blt _02069DEC _02069E70: add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_02069E74 FUN_02069E74: ; 0x02069E74 ldr r3, _02069E78 ; =FUN_02069E7C bx r3 .balign 4 _02069E78: .word FUN_02069E7C thumb_func_start FUN_02069E7C FUN_02069E7C: ; 0x02069E7C push {r3, lr} mov r1, #0x99 mov r2, #0x0 bl FUN_020672BC mov r1, #0xf tst r0, r1 beq _02069E90 mov r0, #0x1 pop {r3, pc} _02069E90: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_02069E94 FUN_02069E94: ; 0x02069E94 ldr r3, _02069E98 ; =FUN_02069E9C bx r3 .balign 4 _02069E98: .word FUN_02069E9C thumb_func_start FUN_02069E9C FUN_02069E9C: ; 0x02069E9C push {r3, lr} mov r1, #0x99 mov r2, #0x0 bl FUN_020672BC lsl r0, r0, #0x18 lsr r1, r0, #0x18 mov r0, #0xf tst r0, r1 beq _02069EB4 mov r0, #0x0 pop {r3, pc} _02069EB4: mov r0, #0xf0 tst r0, r1 beq _02069EBE mov r0, #0x1 pop {r3, pc} _02069EBE: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_02069EC4 FUN_02069EC4: ; 0x02069EC4 ldr r3, _02069EC8 ; =FUN_02069ECC bx r3 .balign 4 _02069EC8: .word FUN_02069ECC thumb_func_start FUN_02069ECC FUN_02069ECC: ; 0x02069ECC push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020672BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa mov r2, #0x0 bl FUN_020672BC add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x6 mov r2, #0x0 bl FUN_020672BC ldr r1, _02069F20 ; =0x000001ED cmp r4, r1 bne _02069F1C cmp r6, #0x79 bne _02069F1C lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x1 mov r2, #0x0 bl FUN_0206E7B8 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_02069F24 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x70 add r2, sp, #0x0 bl FUN_02067960 _02069F1C: add sp, #0x4 pop {r3-r6, pc} .balign 4 _02069F20: .word 0x000001ED thumb_func_start FUN_02069F24 FUN_02069F24: ; 0x02069F24 sub r0, #0x7d cmp r0, #0xf bhi _02069F96 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02069F36: ; jump table (using 16-bit offset) .short _02069F56 - _02069F36 - 2; case 0 .short _02069F5A - _02069F36 - 2; case 1 .short _02069F5E - _02069F36 - 2; case 2 .short _02069F62 - _02069F36 - 2; case 3 .short _02069F66 - _02069F36 - 2; case 4 .short _02069F6A - _02069F36 - 2; case 5 .short _02069F6E - _02069F36 - 2; case 6 .short _02069F72 - _02069F36 - 2; case 7 .short _02069F76 - _02069F36 - 2; case 8 .short _02069F7A - _02069F36 - 2; case 9 .short _02069F7E - _02069F36 - 2; case 10 .short _02069F82 - _02069F36 - 2; case 11 .short _02069F86 - _02069F36 - 2; case 12 .short _02069F8A - _02069F36 - 2; case 13 .short _02069F8E - _02069F36 - 2; case 14 .short _02069F92 - _02069F36 - 2; case 15 _02069F56: mov r0, #0xa bx lr _02069F5A: mov r0, #0xb bx lr _02069F5E: mov r0, #0xd bx lr _02069F62: mov r0, #0xc bx lr _02069F66: mov r0, #0xf bx lr _02069F6A: mov r0, #0x1 bx lr _02069F6E: mov r0, #0x3 bx lr _02069F72: mov r0, #0x4 bx lr _02069F76: mov r0, #0x2 bx lr _02069F7A: mov r0, #0xe bx lr _02069F7E: mov r0, #0x6 bx lr _02069F82: mov r0, #0x5 bx lr _02069F86: mov r0, #0x7 bx lr _02069F8A: mov r0, #0x10 bx lr _02069F8E: mov r0, #0x11 bx lr _02069F92: mov r0, #0x8 bx lr _02069F96: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_02069F9C FUN_02069F9C: ; 0x02069F9C push {r4, lr} add r4, r2, #0x0 bl FUN_0206A8FC add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x21 bl LoadFromNARC pop {r4, pc} thumb_func_start FUN_02069FB0 FUN_02069FB0: ; 0x02069FB0 push {r3-r7, lr} add r7, r0, #0x0 ldr r0, _0206A010 ; =0x000001B9 add r4, r2, #0x0 add r5, r1, #0x0 add r6, r3, #0x0 cmp r4, r0 bne _02069FFC add r0, r5, #0x0 bl FUN_02005F14 cmp r0, #0x0 bne _02069FE2 mov r0, #0x1 bl FUN_02005E80 ldr r0, [sp, #0x20] ldr r3, [sp, #0x18] str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_020056AC pop {r3-r7, pc} _02069FE2: ldr r0, [sp, #0x1c] cmp r0, #0x0 beq _02069FEE mov r0, #0x1 bl FUN_02005E80 _02069FEE: ldr r2, [sp, #0x18] add r0, r7, #0x0 mov r1, #0x0 add r3, r6, #0x0 bl FUN_02005E90 pop {r3-r7, pc} _02069FFC: ldr r0, [sp, #0x20] ldr r3, [sp, #0x18] str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_020056AC pop {r3-r7, pc} nop _0206A010: .word 0x000001B9 thumb_func_start FUN_0206A014 FUN_0206A014: ; 0x0206A014 push {r3-r6, lr} sub sp, #0xc ldr r6, [sp, #0x20] add r5, r0, #0x0 str r6, [sp, #0x0] ldr r6, [sp, #0x24] add r4, r2, #0x0 str r6, [sp, #0x4] bl FUN_0206A054 cmp r4, #0xe bne _0206A050 add r0, r5, #0x0 mov r1, #0xa3 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0xa2 add r2, sp, #0x8 bl FUN_02067830 mov r0, #0x0 str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x9f add r2, sp, #0x8 bl FUN_02067830 _0206A050: add sp, #0xc pop {r3-r6, pc} thumb_func_start FUN_0206A054 FUN_0206A054: ; 0x0206A054 push {r0-r3} push {r3-r4, lr} sub sp, #0x4 ldr r2, [sp, #0x24] add r4, r0, #0x0 str r2, [sp, #0x0] mov r2, #0x0 bl FUN_020808AC ldr r2, _0206A090 ; =0x020ECAC0 add r0, r4, #0x0 mov r1, #0x79 bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x9a add r2, sp, #0x18 bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x9d add r2, sp, #0x20 bl FUN_02067960 add sp, #0x4 pop {r3-r4} pop {r3} add sp, #0x10 bx r3 nop _0206A090: .word 0x020ECAC0 thumb_func_start FUN_0206A094 FUN_0206A094: ; 0x0206A094 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 mov r0, #0x81 add r7, r2, #0x0 tst r0, r1 bne _0206A12E bl FUN_0201B9EC mov r1, #0x64 blx _s32_div_f add r4, r1, #0x0 add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r6, r0, #0x10 add r0, r5, #0x0 mov r1, #0x70 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x0] ldr r1, [sp, #0x0] add r0, r6, #0x0 mov r2, #0x10 bl FUN_02068654 add r1, sp, #0x4 strh r0, [r1, #0x2] ldr r1, [sp, #0x0] add r0, r6, #0x0 mov r2, #0x11 bl FUN_02068654 add r1, sp, #0x4 strh r0, [r1, #0x0] ldrh r2, [r1, #0x2] ldrh r0, [r1, #0x0] cmp r2, r0 bne _0206A104 cmp r2, #0x0 beq _0206A104 add r2, sp, #0x4 add r0, r5, #0x0 mov r1, #0x6 add r2, #0x2 bl FUN_02067830 add sp, #0x8 pop {r3-r7, pc} _0206A104: ldr r0, _0206A134 ; =0x020F7ECC lsl r1, r7, #0x2 ldrh r0, [r0, r1] cmp r4, r0 blo _0206A12E ldr r0, _0206A138 ; =0x020F7ECE ldrh r0, [r0, r1] cmp r4, r0 add r2, sp, #0x4 bhs _0206A126 add r0, r5, #0x0 mov r1, #0x6 add r2, #0x2 bl FUN_02067830 add sp, #0x8 pop {r3-r7, pc} _0206A126: add r0, r5, #0x0 mov r1, #0x6 bl FUN_02067830 _0206A12E: add sp, #0x8 pop {r3-r7, pc} nop _0206A134: .word 0x020F7ECC _0206A138: .word 0x020F7ECE thumb_func_start FUN_0206A13C FUN_0206A13C: ; 0x0206A13C ldr r3, _0206A140 ; =FUN_0206A144 bx r3 .balign 4 _0206A140: .word FUN_0206A144 thumb_func_start FUN_0206A144 FUN_0206A144: ; 0x0206A144 push {r4-r6, lr} add r6, r1, #0x0 mov r1, #0xad mov r2, #0x0 add r5, r0, #0x0 bl FUN_020672BC lsl r0, r0, #0x10 lsr r4, r0, #0x10 add r0, r5, #0x0 mov r1, #0x70 mov r2, #0x0 bl FUN_020672BC add r1, r0, #0x0 add r0, r4, #0x0 add r2, r6, #0x0 bl FUN_0206A16C pop {r4-r6, pc} thumb_func_start FUN_0206A16C FUN_0206A16C: ; 0x0206A16C push {r4, lr} ldr r3, _0206A1C0 ; =0x000001EE cmp r0, r3 bne _0206A178 mov r0, #0x0 pop {r4, pc} _0206A178: cmp r2, #0x20 bhs _0206A186 mov r3, #0x1 add r4, r3, #0x0 lsl r4, r2 mov r2, #0x1d b _0206A1B0 _0206A186: cmp r2, #0x40 bhs _0206A196 mov r3, #0x1 sub r2, #0x20 add r4, r3, #0x0 lsl r4, r2 mov r2, #0x1e b _0206A1B0 _0206A196: cmp r2, #0x60 bhs _0206A1A6 mov r3, #0x1 sub r2, #0x40 add r4, r3, #0x0 lsl r4, r2 mov r2, #0x1f b _0206A1B0 _0206A1A6: mov r3, #0x1 sub r2, #0x60 add r4, r3, #0x0 lsl r4, r2 mov r2, #0x20 _0206A1B0: bl FUN_02068654 tst r0, r4 beq _0206A1BC mov r0, #0x1 pop {r4, pc} _0206A1BC: mov r0, #0x0 pop {r4, pc} .balign 4 _0206A1C0: .word 0x000001EE thumb_func_start FUN_0206A1C4 FUN_0206A1C4: ; 0x0206A1C4 ldr r3, _0206A1C8 ; =FUN_0206A1CC bx r3 .balign 4 _0206A1C8: .word FUN_0206A1CC thumb_func_start FUN_0206A1CC FUN_0206A1CC: ; 0x0206A1CC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 bl FUN_02066A6C add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020672BC mov r1, #0x0 add r4, r0, #0x0 add r0, r5, #0x0 add r2, r1, #0x0 bl FUN_020672BC add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x18 bl FUN_02068678 str r0, [sp, #0x4] add r0, r4, #0x0 mov r1, #0x19 bl FUN_02068678 str r0, [sp, #0x0] cmp r0, #0x0 beq _0206A226 mov r0, #0x1 tst r0, r6 beq _0206A21A add r0, r5, #0x0 mov r1, #0xa add r2, sp, #0x0 bl FUN_02067960 b _0206A230 _0206A21A: add r0, r5, #0x0 mov r1, #0xa add r2, sp, #0x4 bl FUN_02067960 b _0206A230 _0206A226: add r0, r5, #0x0 mov r1, #0xa add r2, sp, #0x4 bl FUN_02067960 _0206A230: add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_02066A94 add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_0206A23C FUN_0206A23C: ; 0x0206A23C push {r4-r7, lr} sub sp, #0x1c add r5, r0, #0x0 mov r0, #0x0 str r1, [sp, #0x0] bl FUN_020669C0 str r0, [sp, #0x4] ldr r1, [sp, #0x4] add r0, r5, #0x0 bl FUN_02069B88 ldr r0, [sp, #0x4] ldr r1, [r5, #0x0] mov r2, #0x0 bl FUN_0206A418 add r4, r0, #0x0 ldr r0, [sp, #0x4] ldr r1, [r5, #0x0] mov r2, #0x1 bl FUN_0206A418 add r6, r0, #0x0 ldr r0, [sp, #0x4] ldr r1, [r5, #0x0] mov r2, #0x2 bl FUN_0206A418 add r7, r0, #0x0 ldr r0, [sp, #0x4] ldr r1, [r5, #0x0] mov r2, #0x3 bl FUN_0206A418 str r0, [sp, #0x8] ldr r1, [sp, #0x0] add r0, r5, #0x0 mov r2, #0x0 bl FUN_0206A418 str r0, [sp, #0xc] ldr r1, [sp, #0x0] add r0, r5, #0x0 mov r2, #0x1 bl FUN_0206A418 str r0, [sp, #0x10] ldr r1, [sp, #0x0] add r0, r5, #0x0 mov r2, #0x2 bl FUN_0206A418 str r0, [sp, #0x14] ldr r1, [sp, #0x0] add r0, r5, #0x0 mov r2, #0x3 bl FUN_0206A418 ldr r2, [sp, #0x4] str r0, [sp, #0x18] ldr r0, [sp, #0x4] ldrh r2, [r2, #0x6] add r0, #0x8 mov r1, #0x80 bl FUN_0206A3D0 add r0, r5, #0x0 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 bl FUN_0206A3D0 add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 bl FUN_0206A3D0 ldr r0, [sp, #0x0] str r0, [r5, #0x0] ldr r2, [sp, #0xc] ldmia r4!, {r0-r1} stmia r2!, {r0-r1} str r2, [sp, #0xc] ldmia r4!, {r0-r1} stmia r2!, {r0-r1} str r2, [sp, #0xc] ldmia r4!, {r0-r1} stmia r2!, {r0-r1} str r2, [sp, #0xc] ldmia r4!, {r0-r1} stmia r2!, {r0-r1} str r2, [sp, #0xc] ldr r2, [sp, #0x10] ldmia r6!, {r0-r1} stmia r2!, {r0-r1} str r2, [sp, #0x10] ldmia r6!, {r0-r1} stmia r2!, {r0-r1} str r2, [sp, #0x10] ldmia r6!, {r0-r1} stmia r2!, {r0-r1} str r2, [sp, #0x10] ldmia r6!, {r0-r1} stmia r2!, {r0-r1} str r2, [sp, #0x10] ldr r2, [sp, #0x14] ldmia r7!, {r0-r1} stmia r2!, {r0-r1} str r2, [sp, #0x14] ldmia r7!, {r0-r1} stmia r2!, {r0-r1} str r2, [sp, #0x14] ldmia r7!, {r0-r1} stmia r2!, {r0-r1} str r2, [sp, #0x14] ldmia r7!, {r0-r1} stmia r2!, {r0-r1} str r2, [sp, #0x14] mov r0, #0x10 _0206A32E: ldr r1, [sp, #0x8] ldrh r2, [r1, #0x0] add r1, r1, #0x2 str r1, [sp, #0x8] ldr r1, [sp, #0x18] strh r2, [r1, #0x0] add r1, r1, #0x2 str r1, [sp, #0x18] sub r0, r0, #0x1 bne _0206A32E add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 bl FUN_0206A3F8 strh r0, [r5, #0x6] add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 bl FUN_0206A3A4 add r0, r5, #0x0 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 bl FUN_0206A3A4 ldr r0, [sp, #0x4] bl FUN_02016A18 add sp, #0x1c pop {r4-r7, pc} thumb_func_start FUN_0206A370 FUN_0206A370: ; 0x0206A370 ldr r3, _0206A37C ; =LoadFromNARC add r2, r0, #0x0 add r0, r1, #0x0 mov r1, #0x2 bx r3 nop _0206A37C: .word LoadFromNARC thumb_func_start FUN_0206A380 FUN_0206A380: ; 0x0206A380 push {r4, lr} add r4, r2, #0x0 bl FUN_0206A8FC add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x2 bl LoadFromNARC pop {r4, pc} thumb_func_start FUN_0206A394 FUN_0206A394: ; 0x0206A394 ldr r3, _0206A3A0 ; =LoadFromNARC add r2, r0, #0x0 add r0, r1, #0x0 mov r1, #0x22 bx r3 nop _0206A3A0: .word LoadFromNARC thumb_func_start FUN_0206A3A4 FUN_0206A3A4: ; 0x0206A3A4 push {r0-r3} push {r3-r7, lr} add r5, r0, #0x0 mov r4, #0x0 lsr r6, r1, #0x1 beq _0206A3C6 add r7, sp, #0x20 _0206A3B2: add r0, r7, #0x0 bl FUN_0206A3D8 ldrh r1, [r5, #0x0] add r4, r4, #0x1 eor r0, r1 strh r0, [r5, #0x0] add r5, r5, #0x2 cmp r4, r6 blo _0206A3B2 _0206A3C6: pop {r3-r7} pop {r3} add sp, #0x10 bx r3 .balign 4 thumb_func_start FUN_0206A3D0 FUN_0206A3D0: ; 0x0206A3D0 ldr r3, _0206A3D4 ; =FUN_0206A3A4 bx r3 .balign 4 _0206A3D4: .word FUN_0206A3A4 thumb_func_start FUN_0206A3D8 FUN_0206A3D8: ; 0x0206A3D8 ldr r2, [r0, #0x0] ldr r1, _0206A3F0 ; =0x41C64E6D add r3, r2, #0x0 mul r3, r1 ldr r1, _0206A3F4 ; =0x00006073 add r1, r3, r1 str r1, [r0, #0x0] lsr r0, r1, #0x10 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bx lr nop _0206A3F0: .word 0x41C64E6D _0206A3F4: .word 0x00006073 thumb_func_start FUN_0206A3F8 FUN_0206A3F8: ; 0x0206A3F8 push {r3-r4} mov r3, #0x0 add r2, r3, #0x0 lsr r4, r1, #0x1 beq _0206A412 _0206A402: ldrh r1, [r0, #0x0] add r2, r2, #0x1 add r0, r0, #0x2 add r1, r3, r1 lsl r1, r1, #0x10 lsr r3, r1, #0x10 cmp r2, r4 blo _0206A402 _0206A412: add r0, r3, #0x0 pop {r3-r4} bx lr thumb_func_start FUN_0206A418 FUN_0206A418: ; 0x0206A418 push {r3, lr} mov r3, #0x3e lsl r3, r3, #0xc and r3, r1 lsr r3, r3, #0xd cmp r3, #0x1f bhi _0206A478 add r3, r3, r3 add r3, pc ldrh r3, [r3, #0x6] lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 _0206A432: ; jump table (using 16-bit offset) .short _0206A472 - _0206A432 - 2; case 0 .short _0206A4A4 - _0206A432 - 2; case 1 .short _0206A4D4 - _0206A432 - 2; case 2 .short _0206A504 - _0206A432 - 2; case 3 .short _0206A534 - _0206A432 - 2; case 4 .short _0206A564 - _0206A432 - 2; case 5 .short _0206A594 - _0206A432 - 2; case 6 .short _0206A5C6 - _0206A432 - 2; case 7 .short _0206A5F6 - _0206A432 - 2; case 8 .short _0206A626 - _0206A432 - 2; case 9 .short _0206A656 - _0206A432 - 2; case 10 .short _0206A686 - _0206A432 - 2; case 11 .short _0206A6B6 - _0206A432 - 2; case 12 .short _0206A6E8 - _0206A432 - 2; case 13 .short _0206A718 - _0206A432 - 2; case 14 .short _0206A748 - _0206A432 - 2; case 15 .short _0206A778 - _0206A432 - 2; case 16 .short _0206A7A8 - _0206A432 - 2; case 17 .short _0206A7D8 - _0206A432 - 2; case 18 .short _0206A80A - _0206A432 - 2; case 19 .short _0206A83A - _0206A432 - 2; case 20 .short _0206A86A - _0206A432 - 2; case 21 .short _0206A89A - _0206A432 - 2; case 22 .short _0206A8CA - _0206A432 - 2; case 23 .short _0206A472 - _0206A432 - 2; case 24 .short _0206A4A4 - _0206A432 - 2; case 25 .short _0206A4D4 - _0206A432 - 2; case 26 .short _0206A504 - _0206A432 - 2; case 27 .short _0206A534 - _0206A432 - 2; case 28 .short _0206A564 - _0206A432 - 2; case 29 .short _0206A594 - _0206A432 - 2; case 30 .short _0206A5C6 - _0206A432 - 2; case 31 _0206A472: add r0, #0x8 cmp r2, #0x3 bls _0206A47A _0206A478: b _0206A8F8 _0206A47A: add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A486: ; jump table (using 16-bit offset) .short _0206A48E - _0206A486 - 2; case 0 .short _0206A492 - _0206A486 - 2; case 1 .short _0206A498 - _0206A486 - 2; case 2 .short _0206A49E - _0206A486 - 2; case 3 _0206A48E: add r1, r0, #0x0 b _0206A8F8 _0206A492: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A498: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A49E: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A4A4: add r0, #0x8 cmp r2, #0x3 bhi _0206A59A add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A4B6: ; jump table (using 16-bit offset) .short _0206A4BE - _0206A4B6 - 2; case 0 .short _0206A4C2 - _0206A4B6 - 2; case 1 .short _0206A4C8 - _0206A4B6 - 2; case 2 .short _0206A4CE - _0206A4B6 - 2; case 3 _0206A4BE: add r1, r0, #0x0 b _0206A8F8 _0206A4C2: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A4C8: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A4CE: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A4D4: add r0, #0x8 cmp r2, #0x3 bhi _0206A59A add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A4E6: ; jump table (using 16-bit offset) .short _0206A4EE - _0206A4E6 - 2; case 0 .short _0206A4F2 - _0206A4E6 - 2; case 1 .short _0206A4F8 - _0206A4E6 - 2; case 2 .short _0206A4FE - _0206A4E6 - 2; case 3 _0206A4EE: add r1, r0, #0x0 b _0206A8F8 _0206A4F2: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A4F8: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A4FE: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A504: add r0, #0x8 cmp r2, #0x3 bhi _0206A59A add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A516: ; jump table (using 16-bit offset) .short _0206A51E - _0206A516 - 2; case 0 .short _0206A522 - _0206A516 - 2; case 1 .short _0206A528 - _0206A516 - 2; case 2 .short _0206A52E - _0206A516 - 2; case 3 _0206A51E: add r1, r0, #0x0 b _0206A8F8 _0206A522: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A528: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A52E: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A534: add r0, #0x8 cmp r2, #0x3 bhi _0206A59A add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A546: ; jump table (using 16-bit offset) .short _0206A54E - _0206A546 - 2; case 0 .short _0206A552 - _0206A546 - 2; case 1 .short _0206A558 - _0206A546 - 2; case 2 .short _0206A55E - _0206A546 - 2; case 3 _0206A54E: add r1, r0, #0x0 b _0206A8F8 _0206A552: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A558: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A55E: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A564: add r0, #0x8 cmp r2, #0x3 bhi _0206A59A add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A576: ; jump table (using 16-bit offset) .short _0206A57E - _0206A576 - 2; case 0 .short _0206A582 - _0206A576 - 2; case 1 .short _0206A588 - _0206A576 - 2; case 2 .short _0206A58E - _0206A576 - 2; case 3 _0206A57E: add r1, r0, #0x0 b _0206A8F8 _0206A582: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A588: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A58E: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A594: add r0, #0x8 cmp r2, #0x3 bls _0206A59C _0206A59A: b _0206A8F8 _0206A59C: add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A5A8: ; jump table (using 16-bit offset) .short _0206A5B0 - _0206A5A8 - 2; case 0 .short _0206A5B6 - _0206A5A8 - 2; case 1 .short _0206A5BA - _0206A5A8 - 2; case 2 .short _0206A5C0 - _0206A5A8 - 2; case 3 _0206A5B0: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A5B6: add r1, r0, #0x0 b _0206A8F8 _0206A5BA: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A5C0: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A5C6: add r0, #0x8 cmp r2, #0x3 bhi _0206A6BC add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A5D8: ; jump table (using 16-bit offset) .short _0206A5E0 - _0206A5D8 - 2; case 0 .short _0206A5E6 - _0206A5D8 - 2; case 1 .short _0206A5EA - _0206A5D8 - 2; case 2 .short _0206A5F0 - _0206A5D8 - 2; case 3 _0206A5E0: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A5E6: add r1, r0, #0x0 b _0206A8F8 _0206A5EA: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A5F0: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A5F6: add r0, #0x8 cmp r2, #0x3 bhi _0206A6BC add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A608: ; jump table (using 16-bit offset) .short _0206A610 - _0206A608 - 2; case 0 .short _0206A616 - _0206A608 - 2; case 1 .short _0206A61A - _0206A608 - 2; case 2 .short _0206A620 - _0206A608 - 2; case 3 _0206A610: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A616: add r1, r0, #0x0 b _0206A8F8 _0206A61A: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A620: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A626: add r0, #0x8 cmp r2, #0x3 bhi _0206A6BC add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A638: ; jump table (using 16-bit offset) .short _0206A640 - _0206A638 - 2; case 0 .short _0206A646 - _0206A638 - 2; case 1 .short _0206A64A - _0206A638 - 2; case 2 .short _0206A650 - _0206A638 - 2; case 3 _0206A640: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A646: add r1, r0, #0x0 b _0206A8F8 _0206A64A: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A650: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A656: add r0, #0x8 cmp r2, #0x3 bhi _0206A6BC add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A668: ; jump table (using 16-bit offset) .short _0206A670 - _0206A668 - 2; case 0 .short _0206A676 - _0206A668 - 2; case 1 .short _0206A67A - _0206A668 - 2; case 2 .short _0206A680 - _0206A668 - 2; case 3 _0206A670: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A676: add r1, r0, #0x0 b _0206A8F8 _0206A67A: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A680: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A686: add r0, #0x8 cmp r2, #0x3 bhi _0206A6BC add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A698: ; jump table (using 16-bit offset) .short _0206A6A0 - _0206A698 - 2; case 0 .short _0206A6A6 - _0206A698 - 2; case 1 .short _0206A6AA - _0206A698 - 2; case 2 .short _0206A6B0 - _0206A698 - 2; case 3 _0206A6A0: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A6A6: add r1, r0, #0x0 b _0206A8F8 _0206A6AA: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A6B0: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A6B6: add r0, #0x8 cmp r2, #0x3 bls _0206A6BE _0206A6BC: b _0206A8F8 _0206A6BE: add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A6CA: ; jump table (using 16-bit offset) .short _0206A6D2 - _0206A6CA - 2; case 0 .short _0206A6D8 - _0206A6CA - 2; case 1 .short _0206A6DE - _0206A6CA - 2; case 2 .short _0206A6E2 - _0206A6CA - 2; case 3 _0206A6D2: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A6D8: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A6DE: add r1, r0, #0x0 b _0206A8F8 _0206A6E2: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A6E8: add r0, #0x8 cmp r2, #0x3 bhi _0206A7DE add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A6FA: ; jump table (using 16-bit offset) .short _0206A702 - _0206A6FA - 2; case 0 .short _0206A708 - _0206A6FA - 2; case 1 .short _0206A70E - _0206A6FA - 2; case 2 .short _0206A712 - _0206A6FA - 2; case 3 _0206A702: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A708: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A70E: add r1, r0, #0x0 b _0206A8F8 _0206A712: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A718: add r0, #0x8 cmp r2, #0x3 bhi _0206A7DE add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A72A: ; jump table (using 16-bit offset) .short _0206A732 - _0206A72A - 2; case 0 .short _0206A738 - _0206A72A - 2; case 1 .short _0206A73E - _0206A72A - 2; case 2 .short _0206A742 - _0206A72A - 2; case 3 _0206A732: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A738: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A73E: add r1, r0, #0x0 b _0206A8F8 _0206A742: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A748: add r0, #0x8 cmp r2, #0x3 bhi _0206A7DE add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A75A: ; jump table (using 16-bit offset) .short _0206A762 - _0206A75A - 2; case 0 .short _0206A768 - _0206A75A - 2; case 1 .short _0206A76E - _0206A75A - 2; case 2 .short _0206A772 - _0206A75A - 2; case 3 _0206A762: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A768: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A76E: add r1, r0, #0x0 b _0206A8F8 _0206A772: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A778: add r0, #0x8 cmp r2, #0x3 bhi _0206A7DE add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A78A: ; jump table (using 16-bit offset) .short _0206A792 - _0206A78A - 2; case 0 .short _0206A798 - _0206A78A - 2; case 1 .short _0206A79E - _0206A78A - 2; case 2 .short _0206A7A2 - _0206A78A - 2; case 3 _0206A792: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A798: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A79E: add r1, r0, #0x0 b _0206A8F8 _0206A7A2: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A7A8: add r0, #0x8 cmp r2, #0x3 bhi _0206A7DE add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A7BA: ; jump table (using 16-bit offset) .short _0206A7C2 - _0206A7BA - 2; case 0 .short _0206A7C8 - _0206A7BA - 2; case 1 .short _0206A7CE - _0206A7BA - 2; case 2 .short _0206A7D2 - _0206A7BA - 2; case 3 _0206A7C2: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A7C8: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A7CE: add r1, r0, #0x0 b _0206A8F8 _0206A7D2: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A7D8: add r0, #0x8 cmp r2, #0x3 bls _0206A7E0 _0206A7DE: b _0206A8F8 _0206A7E0: add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A7EC: ; jump table (using 16-bit offset) .short _0206A7F4 - _0206A7EC - 2; case 0 .short _0206A7FA - _0206A7EC - 2; case 1 .short _0206A800 - _0206A7EC - 2; case 2 .short _0206A806 - _0206A7EC - 2; case 3 _0206A7F4: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A7FA: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A800: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A806: add r1, r0, #0x0 b _0206A8F8 _0206A80A: add r0, #0x8 cmp r2, #0x3 bhi _0206A8F8 add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A81C: ; jump table (using 16-bit offset) .short _0206A824 - _0206A81C - 2; case 0 .short _0206A82A - _0206A81C - 2; case 1 .short _0206A830 - _0206A81C - 2; case 2 .short _0206A836 - _0206A81C - 2; case 3 _0206A824: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A82A: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A830: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A836: add r1, r0, #0x0 b _0206A8F8 _0206A83A: add r0, #0x8 cmp r2, #0x3 bhi _0206A8F8 add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A84C: ; jump table (using 16-bit offset) .short _0206A854 - _0206A84C - 2; case 0 .short _0206A85A - _0206A84C - 2; case 1 .short _0206A860 - _0206A84C - 2; case 2 .short _0206A866 - _0206A84C - 2; case 3 _0206A854: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A85A: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A860: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A866: add r1, r0, #0x0 b _0206A8F8 _0206A86A: add r0, #0x8 cmp r2, #0x3 bhi _0206A8F8 add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A87C: ; jump table (using 16-bit offset) .short _0206A884 - _0206A87C - 2; case 0 .short _0206A88A - _0206A87C - 2; case 1 .short _0206A890 - _0206A87C - 2; case 2 .short _0206A896 - _0206A87C - 2; case 3 _0206A884: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A88A: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A890: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A896: add r1, r0, #0x0 b _0206A8F8 _0206A89A: add r0, #0x8 cmp r2, #0x3 bhi _0206A8F8 add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A8AC: ; jump table (using 16-bit offset) .short _0206A8B4 - _0206A8AC - 2; case 0 .short _0206A8BA - _0206A8AC - 2; case 1 .short _0206A8C0 - _0206A8AC - 2; case 2 .short _0206A8C6 - _0206A8AC - 2; case 3 _0206A8B4: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A8BA: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A8C0: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A8C6: add r1, r0, #0x0 b _0206A8F8 _0206A8CA: add r0, #0x8 cmp r2, #0x3 bhi _0206A8F8 add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206A8DC: ; jump table (using 16-bit offset) .short _0206A8E4 - _0206A8DC - 2; case 0 .short _0206A8EA - _0206A8DC - 2; case 1 .short _0206A8F0 - _0206A8DC - 2; case 2 .short _0206A8F6 - _0206A8DC - 2; case 3 _0206A8E4: add r1, r0, #0x0 add r1, #0x60 b _0206A8F8 _0206A8EA: add r1, r0, #0x0 add r1, #0x40 b _0206A8F8 _0206A8F0: add r1, r0, #0x0 add r1, #0x20 b _0206A8F8 _0206A8F6: add r1, r0, #0x0 _0206A8F8: add r0, r1, #0x0 pop {r3, pc} thumb_func_start FUN_0206A8FC FUN_0206A8FC: ; 0x0206A8FC ldr r3, _0206A928 ; =0x00000182 cmp r0, r3 beq _0206A90C add r2, r3, #0x0 add r2, #0x1b cmp r0, r2 beq _0206A91A bx lr _0206A90C: cmp r1, #0x0 beq _0206A926 cmp r1, #0x3 bgt _0206A926 add r3, #0x6d add r0, r1, r3 bx lr _0206A91A: cmp r1, #0x0 beq _0206A926 cmp r1, #0x2 bgt _0206A926 add r3, #0x70 add r0, r1, r3 _0206A926: bx lr .balign 4 _0206A928: .word 0x00000182 thumb_func_start FUN_0206A92C FUN_0206A92C: ; 0x0206A92C push {r3-r5, lr} add r5, r0, #0x0 mov r4, #0x1 cmp r5, #0x20 blt _0206A93A bl ErrorHandling _0206A93A: mov r0, #0x0 cmp r5, #0x0 ble _0206A948 _0206A940: add r0, r0, #0x1 lsl r4, r4, #0x1 cmp r0, r5 blt _0206A940 _0206A948: add r0, r4, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0206A94C FUN_0206A94C: ; 0x0206A94C mov r3, #0x1 mov r2, #0x0 _0206A950: add r1, r0, #0x0 tst r1, r3 bne _0206A95E add r2, r2, #0x1 lsl r3, r3, #0x1 cmp r2, #0x20 blt _0206A950 _0206A95E: add r0, r2, #0x0 bx lr .balign 4 thumb_func_start FUN_0206A964 FUN_0206A964: ; 0x0206A964 ldr r3, _0206A980 ; =0x020F7EF2 mov r2, #0x0 _0206A968: ldrh r1, [r3, #0x0] cmp r0, r1 bne _0206A972 mov r0, #0x1 bx lr _0206A972: add r2, r2, #0x1 add r3, r3, #0x2 cmp r2, #0x12 blo _0206A968 mov r0, #0x0 bx lr nop _0206A980: .word 0x020F7EF2 thumb_func_start FUN_0206A984 FUN_0206A984: ; 0x0206A984 cmp r0, #0x12 blo _0206A98A mov r0, #0x0 _0206A98A: lsl r1, r0, #0x1 ldr r0, _0206A994 ; =0x020F7EF2 ldrh r0, [r0, r1] bx lr nop _0206A994: .word 0x020F7EF2 thumb_func_start FUN_0206A998 FUN_0206A998: ; 0x0206A998 push {r3, lr} mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_0206A964 pop {r3, pc} thumb_func_start FUN_0206A9AC FUN_0206A9AC: ; 0x0206A9AC push {r3-r7, lr} sub sp, #0x10 add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 add r6, r2, #0x0 bl FUN_020239BC str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x7 mov r2, #0x0 bl FUN_020672BC str r0, [sp, #0x4] add r0, r4, #0x0 bl FUN_020239CC str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x9c mov r2, #0x0 bl FUN_020672BC str r0, [sp, #0xc] add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_020239A0 add r7, r0, #0x0 mov r0, #0x8 add r1, r6, #0x0 bl FUN_020219F4 add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x90 add r2, r6, #0x0 mov r4, #0x0 bl FUN_020672BC ldr r1, [sp, #0x0] ldr r0, [sp, #0x4] cmp r1, r0 bne _0206AA1C ldr r1, [sp, #0x8] ldr r0, [sp, #0xc] cmp r1, r0 bne _0206AA1C add r0, r7, #0x0 add r1, r6, #0x0 bl FUN_02021CE0 cmp r0, #0x0 bne _0206AA1C mov r4, #0x1 _0206AA1C: add r0, r6, #0x0 bl FUN_02021A20 add r0, r7, #0x0 bl FUN_02021A20 add r0, r4, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0206AA30 FUN_0206AA30: ; 0x0206AA30 push {r3, lr} cmp r0, #0x3f bgt _0206AA48 bge _0206AA6C cmp r0, #0x1 bgt _0206AA74 cmp r0, #0x0 blt _0206AA74 beq _0206AA82 cmp r0, #0x1 beq _0206AA82 b _0206AA74 _0206AA48: cmp r0, #0x5a bgt _0206AA50 beq _0206AA70 b _0206AA74 _0206AA50: add r1, r0, #0x0 sub r1, #0x5b cmp r1, #0x3 bhi _0206AA74 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0206AA64: ; jump table (using 16-bit offset) .short _0206AA70 - _0206AA64 - 2; case 0 .short _0206AA70 - _0206AA64 - 2; case 1 .short _0206AA70 - _0206AA64 - 2; case 2 .short _0206AA70 - _0206AA64 - 2; case 3 _0206AA6C: mov r0, #0x2 pop {r3, pc} _0206AA70: sub r0, #0x57 pop {r3, pc} _0206AA74: bl FUN_0206AE00 cmp r0, #0x1 bne _0206AA80 mov r0, #0x1 pop {r3, pc} _0206AA80: mov r0, #0x0 _0206AA82: pop {r3, pc} thumb_func_start FUN_0206AA84 FUN_0206AA84: ; 0x0206AA84 push {r3-r4, lr} sub sp, #0x1c add r4, r0, #0x0 mov r0, #0x0 add r1, sp, #0x0 strb r0, [r1, #0x0] add r1, sp, #0x0 add r1, #0x1 mov r2, #0x18 blx MIi_CpuClearFast add r0, r4, #0x0 mov r1, #0xa1 add r2, sp, #0x0 bl FUN_02067830 add r2, sp, #0x0 add r0, r4, #0x0 mov r1, #0xaa add r2, #0x1 bl FUN_02067830 add sp, #0x1c pop {r3-r4, pc} thumb_func_start FUN_0206AAB4 FUN_0206AAB4: ; 0x0206AAB4 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 bl FUN_02066A6C mov r4, #0x0 str r0, [sp, #0x0] add r7, r4, #0x0 add r6, sp, #0x4 _0206AAC6: add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x36 add r2, r7, #0x0 bl FUN_020672BC cmp r0, #0x0 beq _0206AAF0 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x42 mov r2, #0x0 bl FUN_020672BC add r1, r4, #0x0 strb r0, [r6, #0x0] add r0, r5, #0x0 add r1, #0x3a add r2, sp, #0x4 bl FUN_02067960 _0206AAF0: add r4, r4, #0x1 cmp r4, #0x4 blt _0206AAC6 ldr r1, [sp, #0x0] add r0, r5, #0x0 bl FUN_02066A94 add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0206AB04 FUN_0206AB04: ; 0x0206AB04 push {r3, lr} mov r1, #0x75 lsl r1, r1, #0x6 mov r2, #0x0 str r1, [sp, #0x0] mov r1, #0x9 add r3, r2, #0x0 bl FUN_02006548 pop {r3, pc} thumb_func_start FUN_0206AB18 FUN_0206AB18: ; 0x0206AB18 push {r4, lr} sub sp, #0x10 add r4, r1, #0x0 add r1, sp, #0x0 bl FUN_0206ABB4 add r0, sp, #0x0 add r1, r4, #0x0 bl FUN_0206AB58 add sp, #0x10 pop {r4, pc} thumb_func_start FUN_0206AB30 FUN_0206AB30: ; 0x0206AB30 push {r3-r5, lr} add r5, r1, #0x0 cmp r5, #0x3 bls _0206AB3A mov r5, #0x3 _0206AB3A: mov r1, #0x5 bl FUN_0206AB18 lsl r0, r0, #0x18 lsr r4, r0, #0x18 mov r0, #0x14 mul r0, r4 mul r0, r5 mov r1, #0x64 blx _s32_div_f add r0, r4, r0 lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3-r5, pc} thumb_func_start FUN_0206AB58 FUN_0206AB58: ; 0x0206AB58 cmp r1, #0xb bhi _0206ABB0 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0206AB68: ; jump table (using 16-bit offset) .short _0206AB80 - _0206AB68 - 2; case 0 .short _0206AB84 - _0206AB68 - 2; case 1 .short _0206AB88 - _0206AB68 - 2; case 2 .short _0206AB8C - _0206AB68 - 2; case 3 .short _0206AB90 - _0206AB68 - 2; case 4 .short _0206AB94 - _0206AB68 - 2; case 5 .short _0206AB98 - _0206AB68 - 2; case 6 .short _0206AB9C - _0206AB68 - 2; case 7 .short _0206ABA0 - _0206AB68 - 2; case 8 .short _0206ABA6 - _0206AB68 - 2; case 9 .short _0206ABAA - _0206AB68 - 2; case 10 .short _0206ABAE - _0206AB68 - 2; case 11 _0206AB80: ldrh r0, [r0, #0x0] bx lr _0206AB84: ldrb r0, [r0, #0x2] bx lr _0206AB88: ldrb r0, [r0, #0x3] bx lr _0206AB8C: ldrb r0, [r0, #0x4] bx lr _0206AB90: ldrb r0, [r0, #0x5] bx lr _0206AB94: ldrb r0, [r0, #0x6] bx lr _0206AB98: ldrb r0, [r0, #0x7] bx lr _0206AB9C: ldrh r0, [r0, #0x8] bx lr _0206ABA0: mov r1, #0xa ldrsb r0, [r0, r1] bx lr _0206ABA6: ldrb r0, [r0, #0xb] bx lr _0206ABAA: ldrb r0, [r0, #0xc] bx lr _0206ABAE: ldrb r0, [r0, #0xd] _0206ABB0: bx lr .balign 4 thumb_func_start FUN_0206ABB4 FUN_0206ABB4: ; 0x0206ABB4 ldr r3, _0206ABC0 ; =LoadFromNARC add r2, r0, #0x0 add r0, r1, #0x0 mov r1, #0x9 bx r3 nop _0206ABC0: .word LoadFromNARC thumb_func_start FUN_0206ABC4 FUN_0206ABC4: ; 0x0206ABC4 push {r3-r7, lr} sub sp, #0x48 str r2, [sp, #0x4] ldr r2, _0206AC70 ; =0x0000022F str r0, [sp, #0x0] add r4, r1, #0x0 ldr r3, [sp, #0x4] mov r0, #0x1 mov r1, #0x1a bl FUN_0200A86C str r0, [sp, #0x10] add r0, r4, #0x0 bl FUN_02024EC0 bl FUN_02024EE8 ldr r4, [sp, #0x0] str r0, [sp, #0xc] add r0, r4, #0x0 add r5, r4, #0x0 mov r7, #0x0 str r0, [sp, #0x8] add r5, #0x3c _0206ABF4: ldr r0, [r4, #0x18] cmp r0, #0x0 beq _0206AC48 add r1, sp, #0x14 bl FUN_0206ADE0 ldr r3, [sp, #0x8] add r6, sp, #0x14 add r3, #0x28 mov r2, #0x6 _0206AC08: ldmia r6!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _0206AC08 ldr r0, [r6, #0x0] str r0, [r3, #0x0] add r0, sp, #0x14 ldrb r0, [r0, #0x1] cmp r0, #0x3f bne _0206AC26 ldr r1, [sp, #0xc] add r0, r5, #0x0 bl StringCopy b _0206AC3E _0206AC26: ldr r0, [sp, #0x10] ldr r1, [r4, #0x18] bl FUN_0200A914 add r6, r0, #0x0 add r1, r5, #0x0 mov r2, #0x8 bl FUN_02021EF0 add r0, r6, #0x0 bl FUN_02021A20 _0206AC3E: ldr r0, [sp, #0x0] ldr r2, [sp, #0x4] add r1, r7, #0x0 bl FUN_0206AE0C _0206AC48: ldr r0, [sp, #0x8] add r7, r7, #0x1 add r0, #0x34 add r4, r4, #0x4 add r5, #0x34 str r0, [sp, #0x8] cmp r7, #0x4 blt _0206ABF4 ldr r0, [sp, #0x0] ldr r1, [r0, #0x0] ldr r0, [sp, #0x24] orr r1, r0 ldr r0, [sp, #0x0] str r1, [r0, #0x0] ldr r0, [sp, #0x10] bl FUN_0200A8B8 add sp, #0x48 pop {r3-r7, pc} nop _0206AC70: .word 0x0000022F thumb_func_start FUN_0206AC74 FUN_0206AC74: ; 0x0206AC74 push {r4-r5, lr} sub sp, #0x34 add r5, r1, #0x0 add r1, sp, #0x0 bl FUN_0206ADE0 cmp r5, #0x9 bhi _0206ACCC add r0, r5, r5 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0206AC90: ; jump table (using 16-bit offset) .short _0206ACA4 - _0206AC90 - 2; case 0 .short _0206ACAA - _0206AC90 - 2; case 1 .short _0206ACB0 - _0206AC90 - 2; case 2 .short _0206ACB6 - _0206AC90 - 2; case 3 .short _0206ACBC - _0206AC90 - 2; case 4 .short _0206ACBC - _0206AC90 - 2; case 5 .short _0206ACBC - _0206AC90 - 2; case 6 .short _0206ACBC - _0206AC90 - 2; case 7 .short _0206ACC6 - _0206AC90 - 2; case 8 .short _0206ACCA - _0206AC90 - 2; case 9 _0206ACA4: add r0, sp, #0x0 ldrb r4, [r0, #0x0] b _0206ACCC _0206ACAA: add r0, sp, #0x0 ldrb r4, [r0, #0x1] b _0206ACCC _0206ACB0: add r0, sp, #0x0 ldrb r4, [r0, #0x2] b _0206ACCC _0206ACB6: add r0, sp, #0x0 ldrb r4, [r0, #0x3] b _0206ACCC _0206ACBC: sub r0, r5, #0x4 lsl r1, r0, #0x1 add r0, sp, #0x4 ldrh r4, [r0, r1] b _0206ACCC _0206ACC6: ldr r4, [sp, #0xc] b _0206ACCC _0206ACCA: ldr r4, [sp, #0x10] _0206ACCC: add r0, r4, #0x0 add sp, #0x34 pop {r4-r5, pc} .balign 4 thumb_func_start FUN_0206ACD4 FUN_0206ACD4: ; 0x0206ACD4 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x4] add r7, r1, #0x0 ldr r1, [sp, #0x4] mov r0, #0x3b add r4, r2, #0x0 bl LoadFromNARC_7 add r6, r0, #0x0 mov r0, #0x2 str r0, [sp, #0x0] add r0, sp, #0xc mov r1, #0x89 mov r2, #0x0 lsl r3, r5, #0x1 bl FUN_02006548 mov r0, #0x3b add r1, r4, #0x0 bl FUN_02006670 add r4, sp, #0xc ldrh r2, [r4, #0x0] str r0, [sp, #0x8] cmp r2, r6 beq _0206AD40 _0206AD0E: add r0, sp, #0xc add r0, #0x2 str r0, [sp, #0x0] ldr r0, [sp, #0x8] mov r1, #0x0 mov r3, #0x4 bl FUN_02006814 ldrh r1, [r4, #0x2] cmp r1, r5 bne _0206AD30 ldrh r0, [r4, #0x4] cmp r0, r7 bne _0206AD30 mov r0, #0x1 str r0, [sp, #0x4] b _0206AD40 _0206AD30: cmp r1, r5 bne _0206AD40 ldrh r0, [r4, #0x0] add r0, r0, #0x4 strh r0, [r4, #0x0] ldrh r2, [r4, #0x0] cmp r2, r6 bne _0206AD0E _0206AD40: ldr r0, [sp, #0x8] bl FUN_020066F4 ldr r0, [sp, #0x4] add sp, #0x14 pop {r4-r7, pc} thumb_func_start FUN_0206AD4C FUN_0206AD4C: ; 0x0206AD4C push {r3-r7, lr} sub sp, #0x18 add r6, r0, #0x0 add r7, r1, #0x0 mov r0, #0x3b mov r1, #0x0 str r2, [sp, #0x4] str r3, [sp, #0x8] bl LoadFromNARC_7 add r5, r0, #0x0 mov r0, #0x2 str r0, [sp, #0x0] add r0, sp, #0x10 mov r1, #0x89 mov r2, #0x0 lsl r3, r6, #0x1 bl FUN_02006548 ldr r1, [sp, #0x8] mov r0, #0x3b bl FUN_02006670 add r4, sp, #0x10 ldrh r2, [r4, #0x0] str r0, [sp, #0xc] cmp r2, r5 beq _0206ADC2 _0206AD84: add r0, sp, #0x10 add r0, #0x2 str r0, [sp, #0x0] ldr r0, [sp, #0xc] mov r1, #0x0 mov r3, #0x4 bl FUN_02006814 ldrh r0, [r4, #0x2] cmp r0, r6 bne _0206ADB6 ldrh r0, [r4, #0x4] cmp r0, r7 bne _0206ADB6 ldr r0, [sp, #0x4] add r2, sp, #0x10 str r0, [sp, #0x0] ldrh r2, [r2, #0x0] ldr r1, _0206ADDC ; =0x0000022E ldr r3, [sp, #0x8] mov r0, #0x1a lsr r2, r2, #0x2 bl FUN_0200A648 b _0206ADC2 _0206ADB6: ldrh r0, [r4, #0x0] add r0, r0, #0x4 strh r0, [r4, #0x0] ldrh r2, [r4, #0x0] cmp r2, r5 bne _0206AD84 _0206ADC2: ldr r0, [sp, #0xc] bl FUN_020066F4 add r0, sp, #0x10 ldrh r0, [r0, #0x0] cmp r0, r5 bne _0206ADD6 ldr r0, [sp, #0x4] bl FUN_02021A4C _0206ADD6: add sp, #0x18 pop {r3-r7, pc} nop _0206ADDC: .word 0x0000022E thumb_func_start FUN_0206ADE0 FUN_0206ADE0: ; 0x0206ADE0 ldr r3, _0206ADEC ; =LoadFromNARC add r2, r0, #0x0 add r0, r1, #0x0 mov r1, #0x39 bx r3 nop _0206ADEC: .word LoadFromNARC thumb_func_start FUN_0206ADF0 FUN_0206ADF0: ; 0x0206ADF0 ldr r3, _0206ADFC ; =LoadFromNARC add r2, r0, #0x0 add r0, r1, #0x0 mov r1, #0x3a bx r3 nop _0206ADFC: .word LoadFromNARC thumb_func_start FUN_0206AE00 FUN_0206AE00: ; 0x0206AE00 ldr r1, _0206AE08 ; =0x020F8010 ldrb r0, [r1, r0] bx lr nop _0206AE08: .word 0x020F8010 thumb_func_start FUN_0206AE0C FUN_0206AE0C: ; 0x0206AE0C push {r3-r7, lr} sub sp, #0x50 add r7, r1, #0x0 add r4, r0, #0x0 add r5, r2, #0x0 bl FUN_0201B9D4 lsl r6, r7, #0x2 str r0, [sp, #0x44] add r0, r4, r6 ldr r0, [r0, #0x4] mov r1, #0x6 bl FUN_0206B8CC add r0, r5, #0x0 mov r1, #0x60 bl FUN_02016998 str r0, [sp, #0x4c] add r0, r5, #0x0 bl FUN_020669C0 str r0, [sp, #0x40] add r0, r4, r6 ldr r0, [r0, #0x18] ldr r1, [sp, #0x4c] bl FUN_0206ADF0 mov r0, #0x34 add r5, r7, #0x0 mul r5, r0 add r0, r4, r5 add r0, #0x29 ldrb r0, [r0, #0x0] bl FUN_0206AE00 cmp r0, #0x1 bne _0206AE5E mov r0, #0x78 str r0, [sp, #0x10] b _0206AE62 _0206AE5E: mov r0, #0x88 str r0, [sp, #0x10] _0206AE62: add r0, r4, r5 add r0, #0x28 ldrb r0, [r0, #0x0] cmp r0, #0x3 bhi _0206AF26 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0206AE78: ; jump table (using 16-bit offset) .short _0206AE80 - _0206AE78 - 2; case 0 .short _0206AF28 - _0206AE78 - 2; case 1 .short _0206AFE8 - _0206AE78 - 2; case 2 .short _0206B08C - _0206AE78 - 2; case 3 _0206AE80: mov r0, #0x0 str r0, [sp, #0x48] add r0, r4, r5 add r0, #0x2b ldrb r0, [r0, #0x0] cmp r0, #0x0 ble _0206AF26 ldr r0, [sp, #0x4c] str r0, [sp, #0x28] add r0, r4, r6 str r0, [sp, #0x24] _0206AE96: ldr r0, [sp, #0x24] ldr r2, [sp, #0x28] ldr r1, [r0, #0x18] ldr r0, [sp, #0x28] ldrh r3, [r2, #0x0] ldrh r2, [r2, #0x2] ldrh r0, [r0, #0x4] add r2, r3, r2 add r0, r0, r2 add r7, r1, r0 add r0, r7, #0x0 bl FUN_0201B9E0 add r0, r4, r5 add r0, #0x29 ldrb r0, [r0, #0x0] mov r6, #0x0 cmp r0, #0x0 ble _0206AECE _0206AEBC: bl FUN_0201B9EC add r7, r0, #0x0 add r0, r4, r5 add r0, #0x29 ldrb r0, [r0, #0x0] add r6, r6, #0x1 cmp r6, r0 blt _0206AEBC _0206AECE: ldr r0, [sp, #0x10] lsl r1, r7, #0x8 add r6, r1, r0 ldr r0, [sp, #0x28] ldrh r1, [r0, #0x0] mov r0, #0x1f mul r0, r1 mov r1, #0xff blx _s32_div_f add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] lsl r3, r3, #0x18 str r6, [sp, #0x4] mov r0, #0x2 str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] ldr r1, [sp, #0x28] ldr r2, [sp, #0x28] ldrh r1, [r1, #0x4] ldrh r2, [r2, #0x2] ldr r0, [sp, #0x40] lsr r3, r3, #0x18 bl FUN_02066ACC ldr r0, [sp, #0x24] ldr r1, [sp, #0x40] ldr r0, [r0, #0x4] bl FUN_0206B900 ldr r0, [sp, #0x28] add r0, r0, #0x6 str r0, [sp, #0x28] ldr r0, [sp, #0x48] add r0, r0, #0x1 str r0, [sp, #0x48] add r0, r4, r5 add r0, #0x2b ldrb r1, [r0, #0x0] ldr r0, [sp, #0x48] cmp r0, r1 blt _0206AE96 _0206AF26: b _0206B156 _0206AF28: mov r0, #0x0 str r0, [sp, #0x18] add r0, r4, r5 add r0, #0x2b ldrb r0, [r0, #0x0] cmp r0, #0x0 ble _0206AFE6 ldr r0, [sp, #0x4c] str r0, [sp, #0x30] add r0, r4, r6 str r0, [sp, #0x2c] _0206AF3E: ldr r0, [sp, #0x2c] ldr r2, [sp, #0x30] ldr r1, [r0, #0x18] ldr r0, [sp, #0x30] ldrh r3, [r2, #0x0] ldrh r2, [r2, #0x2] ldrh r0, [r0, #0x4] add r2, r3, r2 add r0, r0, r2 add r7, r1, r0 add r0, r7, #0x0 bl FUN_0201B9E0 add r0, r4, r5 add r0, #0x29 ldrb r0, [r0, #0x0] mov r6, #0x0 cmp r0, #0x0 ble _0206AF76 _0206AF64: bl FUN_0201B9EC add r7, r0, #0x0 add r0, r4, r5 add r0, #0x29 ldrb r0, [r0, #0x0] add r6, r6, #0x1 cmp r6, r0 blt _0206AF64 _0206AF76: ldr r0, [sp, #0x10] lsl r1, r7, #0x8 add r6, r1, r0 ldr r0, [sp, #0x30] ldrh r1, [r0, #0x0] mov r0, #0x1f mul r0, r1 mov r1, #0xff blx _s32_div_f add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] lsl r3, r3, #0x18 str r6, [sp, #0x4] mov r0, #0x2 str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] ldr r1, [sp, #0x30] ldr r2, [sp, #0x30] ldrh r1, [r1, #0x4] ldrh r2, [r2, #0x2] ldr r0, [sp, #0x40] lsr r3, r3, #0x18 bl FUN_02066ACC ldr r7, [sp, #0x30] mov r6, #0x0 _0206AFB0: ldrh r1, [r7, #0x6] lsl r2, r6, #0x18 ldr r0, [sp, #0x40] lsr r2, r2, #0x18 bl FUN_020697CC add r6, r6, #0x1 add r7, r7, #0x2 cmp r6, #0x4 blt _0206AFB0 ldr r0, [sp, #0x2c] ldr r1, [sp, #0x40] ldr r0, [r0, #0x4] bl FUN_0206B900 ldr r0, [sp, #0x30] add r0, #0xe str r0, [sp, #0x30] ldr r0, [sp, #0x18] add r0, r0, #0x1 str r0, [sp, #0x18] add r0, r4, r5 add r0, #0x2b ldrb r1, [r0, #0x0] ldr r0, [sp, #0x18] cmp r0, r1 blt _0206AF3E _0206AFE6: b _0206B156 _0206AFE8: mov r0, #0x0 str r0, [sp, #0x1c] add r0, r4, r5 add r0, #0x2b ldrb r0, [r0, #0x0] cmp r0, #0x0 ble _0206B08A add r0, r4, r6 ldr r7, [sp, #0x4c] str r0, [sp, #0x34] _0206AFFC: ldr r0, [sp, #0x34] ldrh r3, [r7, #0x0] ldrh r2, [r7, #0x2] ldr r1, [r0, #0x18] ldrh r0, [r7, #0x4] add r2, r3, r2 add r0, r0, r2 add r0, r1, r0 str r0, [sp, #0x14] bl FUN_0201B9E0 add r0, r4, r5 add r0, #0x29 ldrb r0, [r0, #0x0] mov r6, #0x0 cmp r0, #0x0 ble _0206B030 _0206B01E: bl FUN_0201B9EC str r0, [sp, #0x14] add r0, r4, r5 add r0, #0x29 ldrb r0, [r0, #0x0] add r6, r6, #0x1 cmp r6, r0 blt _0206B01E _0206B030: ldr r0, [sp, #0x14] lsl r1, r0, #0x8 ldr r0, [sp, #0x10] add r6, r1, r0 ldrh r1, [r7, #0x0] mov r0, #0x1f mul r0, r1 mov r1, #0xff blx _s32_div_f add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] lsl r3, r3, #0x18 str r6, [sp, #0x4] mov r0, #0x2 str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] ldrh r1, [r7, #0x4] ldrh r2, [r7, #0x2] ldr r0, [sp, #0x40] lsr r3, r3, #0x18 bl FUN_02066ACC ldr r0, [sp, #0x40] mov r1, #0x6 add r2, r7, #0x6 bl FUN_02067830 ldr r0, [sp, #0x34] ldr r1, [sp, #0x40] ldr r0, [r0, #0x4] bl FUN_0206B900 ldr r0, [sp, #0x1c] add r7, #0x8 add r0, r0, #0x1 str r0, [sp, #0x1c] add r0, r4, r5 add r0, #0x2b ldrb r1, [r0, #0x0] ldr r0, [sp, #0x1c] cmp r0, r1 blt _0206AFFC _0206B08A: b _0206B156 _0206B08C: mov r0, #0x0 str r0, [sp, #0x20] add r0, r4, r5 add r0, #0x2b ldrb r0, [r0, #0x0] cmp r0, #0x0 ble _0206B156 ldr r0, [sp, #0x4c] str r0, [sp, #0x3c] add r0, r4, r6 str r0, [sp, #0x38] _0206B0A2: ldr r0, [sp, #0x38] ldr r2, [sp, #0x3c] ldr r1, [r0, #0x18] ldr r0, [sp, #0x3c] ldrh r3, [r2, #0x0] ldrh r2, [r2, #0x2] ldrh r0, [r0, #0x4] add r2, r3, r2 add r0, r0, r2 add r7, r1, r0 add r0, r7, #0x0 bl FUN_0201B9E0 add r0, r4, r5 add r0, #0x29 ldrb r0, [r0, #0x0] mov r6, #0x0 cmp r0, #0x0 ble _0206B0DA _0206B0C8: bl FUN_0201B9EC add r7, r0, #0x0 add r0, r4, r5 add r0, #0x29 ldrb r0, [r0, #0x0] add r6, r6, #0x1 cmp r6, r0 blt _0206B0C8 _0206B0DA: ldr r0, [sp, #0x10] lsl r1, r7, #0x8 add r6, r1, r0 ldr r0, [sp, #0x3c] ldrh r1, [r0, #0x0] mov r0, #0x1f mul r0, r1 mov r1, #0xff blx _s32_div_f add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] lsl r3, r3, #0x18 str r6, [sp, #0x4] mov r0, #0x2 str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] ldr r1, [sp, #0x3c] ldr r2, [sp, #0x3c] ldrh r1, [r1, #0x4] ldrh r2, [r2, #0x2] ldr r0, [sp, #0x40] lsr r3, r3, #0x18 bl FUN_02066ACC ldr r2, [sp, #0x3c] ldr r0, [sp, #0x40] mov r1, #0x6 add r2, r2, #0x6 bl FUN_02067830 ldr r7, [sp, #0x3c] mov r6, #0x0 _0206B120: ldrh r1, [r7, #0x8] lsl r2, r6, #0x18 ldr r0, [sp, #0x40] lsr r2, r2, #0x18 bl FUN_020697CC add r6, r6, #0x1 add r7, r7, #0x2 cmp r6, #0x4 blt _0206B120 ldr r0, [sp, #0x38] ldr r1, [sp, #0x40] ldr r0, [r0, #0x4] bl FUN_0206B900 ldr r0, [sp, #0x3c] add r0, #0x10 str r0, [sp, #0x3c] ldr r0, [sp, #0x20] add r0, r0, #0x1 str r0, [sp, #0x20] add r0, r4, r5 add r0, #0x2b ldrb r1, [r0, #0x0] ldr r0, [sp, #0x20] cmp r0, r1 blt _0206B0A2 _0206B156: ldr r0, [sp, #0x4c] bl FUN_02016A18 ldr r0, [sp, #0x40] bl FUN_02016A18 ldr r0, [sp, #0x44] bl FUN_0201B9E0 add sp, #0x50 pop {r3-r7, pc} thumb_func_start FUN_0206B16C FUN_0206B16C: ; 0x0206B16C push {r3, lr} bl FUN_0206B180 bl FUN_02022830 pop {r3, pc} thumb_func_start FUN_0206B178 FUN_0206B178: ; 0x0206B178 ldr r0, _0206B17C ; =0x000121C8 bx lr .balign 4 _0206B17C: .word 0x000121C8 thumb_func_start FUN_0206B180 FUN_0206B180: ; 0x0206B180 push {r3-r7, lr} str r0, [sp, #0x0] mov r7, #0x0 add r6, r0, #0x4 _0206B188: mov r4, #0x0 add r5, r6, #0x0 _0206B18C: add r0, r5, #0x0 bl FUN_020669A0 add r4, r4, #0x1 add r5, #0x88 cmp r4, #0x1e blo _0206B18C mov r0, #0xff lsl r0, r0, #0x4 add r7, r7, #0x1 add r6, r6, r0 cmp r7, #0x12 blo _0206B188 mov r3, #0x0 ldr r1, _0206B200 ; =0x000121B4 add r4, r3, #0x0 add r2, r3, #0x0 _0206B1AE: ldr r0, [sp, #0x0] add r0, r0, r3 strb r4, [r0, r1] add r4, r4, #0x1 cmp r4, #0x10 blo _0206B1BC add r4, r2, #0x0 _0206B1BC: add r3, r3, #0x1 cmp r3, #0x12 blo _0206B1AE ldr r1, _0206B204 ; =0x000121C6 ldr r0, [sp, #0x0] mov r3, #0x0 strb r3, [r0, r1] mov r0, #0x1 mov r1, #0x1a mov r2, #0xe bl FUN_0200A86C add r6, r0, #0x0 beq _0206B1F8 ldr r1, _0206B208 ; =0x00011EE4 ldr r0, [sp, #0x0] mov r5, #0x0 add r4, r0, r1 _0206B1E0: add r0, r6, #0x0 add r1, r5, #0x6 add r2, r4, #0x0 bl FUN_0200A968 add r5, r5, #0x1 add r4, #0x28 cmp r5, #0x12 blo _0206B1E0 add r0, r6, #0x0 bl FUN_0200A8B8 _0206B1F8: ldr r0, [sp, #0x0] mov r1, #0x0 str r1, [r0, #0x0] pop {r3-r7, pc} .balign 4 _0206B200: .word 0x000121B4 _0206B204: .word 0x000121C6 _0206B208: .word 0x00011EE4 thumb_func_start FUN_0206B20C FUN_0206B20C: ; 0x0206B20C push {r3-r7, lr} add r5, r0, #0x0 ldr r4, [r5, #0x0] add r6, r1, #0x0 mov r7, #0x0 _0206B216: add r0, r6, #0x0 bl FUN_0206AAB4 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_0206B244 cmp r0, #0x0 beq _0206B232 bl FUN_02022830 mov r0, #0x1 pop {r3-r7, pc} _0206B232: add r4, r4, #0x1 cmp r4, #0x12 blo _0206B23A add r4, r7, #0x0 _0206B23A: ldr r0, [r5, #0x0] cmp r4, r0 bne _0206B216 mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0206B244 FUN_0206B244: ; 0x0206B244 push {r3-r7, lr} sub sp, #0x8 add r6, r0, #0x0 add r0, r2, #0x0 add r5, r1, #0x0 str r2, [sp, #0x0] bl FUN_0206AAB4 mov r0, #0x0 mvn r0, r0 cmp r5, r0 bne _0206B25E ldr r5, [r6, #0x0] _0206B25E: mov r0, #0xff lsl r0, r0, #0x4 add r1, r6, #0x4 mul r0, r5 mov r4, #0x0 add r5, r1, r0 str r5, [sp, #0x4] mov r6, #0x5 add r7, r4, #0x0 _0206B270: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_020672BC cmp r0, #0x0 bne _0206B2A0 mov r0, #0x88 add r1, r4, #0x0 mul r1, r0 ldr r0, [sp, #0x4] mov r3, #0x11 add r4, r0, r1 _0206B28A: ldr r2, [sp, #0x0] sub r3, r3, #0x1 ldmia r2!, {r0-r1} str r2, [sp, #0x0] stmia r4!, {r0-r1} bne _0206B28A bl FUN_02022830 add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _0206B2A0: add r4, r4, #0x1 add r5, #0x88 cmp r4, #0x1e blo _0206B270 mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0206B2B0 FUN_0206B2B0: ; 0x0206B2B0 push {r3-r7, lr} add r7, r3, #0x0 add r5, r0, #0x0 add r0, r7, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_0206AAB4 mov r0, #0x0 mvn r0, r0 cmp r4, r0 bne _0206B2CA ldr r4, [r5, #0x0] _0206B2CA: cmp r4, #0x12 bhs _0206B2F4 cmp r6, #0x1e bhs _0206B2F4 mov r0, #0xff lsl r0, r0, #0x4 mul r0, r4 add r1, r5, r0 mov r0, #0x88 mul r0, r6 add r0, r1, r0 add r3, r0, #0x4 mov r2, #0x11 _0206B2E4: ldmia r7!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _0206B2E4 bl FUN_02022830 mov r0, #0x1 pop {r3-r7, pc} _0206B2F4: bl ErrorHandling mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0206B2FC FUN_0206B2FC: ; 0x0206B2FC push {r3, lr} mov r3, #0x0 mvn r3, r3 cmp r1, r3 bne _0206B308 ldr r1, [r0, #0x0] _0206B308: cmp r2, #0x1e bhs _0206B32A cmp r1, #0x12 bhs _0206B32A add r3, r0, #0x4 mov r0, #0xff lsl r0, r0, #0x4 mul r0, r1 add r1, r3, r0 mov r0, #0x88 mul r0, r2 add r0, r1, r0 bl FUN_020669A0 bl FUN_02022830 pop {r3, pc} _0206B32A: bl ErrorHandling pop {r3, pc} thumb_func_start FUN_0206B330 FUN_0206B330: ; 0x0206B330 ldr r0, [r0, #0x0] bx lr thumb_func_start FUN_0206B334 FUN_0206B334: ; 0x0206B334 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] ldr r6, [r0, #0x0] add r0, r0, #0x4 mov r7, #0xab str r0, [sp, #0x4] _0206B342: mov r0, #0xff lsl r0, r0, #0x4 add r1, r6, #0x0 mul r1, r0 ldr r0, [sp, #0x4] mov r4, #0x0 add r5, r0, r1 _0206B350: add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x0 bl FUN_020672BC cmp r0, #0x0 bne _0206B364 add sp, #0x8 add r0, r6, #0x0 pop {r3-r7, pc} _0206B364: add r4, r4, #0x1 add r5, #0x88 cmp r4, #0x1e blt _0206B350 add r6, r6, #0x1 cmp r6, #0x12 blt _0206B374 mov r6, #0x0 _0206B374: ldr r0, [sp, #0x0] ldr r0, [r0, #0x0] cmp r6, r0 bne _0206B342 mov r0, #0x12 add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0206B384 FUN_0206B384: ; 0x0206B384 push {r3-r7, lr} add r6, r1, #0x0 str r2, [sp, #0x0] mov r1, #0x0 ldr r2, [r6, #0x0] mvn r1, r1 cmp r2, r1 bne _0206B398 ldr r1, [r0, #0x0] str r1, [r6, #0x0] _0206B398: ldr r1, [sp, #0x0] ldr r4, [r6, #0x0] ldr r5, [r1, #0x0] add r7, r0, #0x4 b _0206B3C8 _0206B3A2: mov r0, #0xff lsl r0, r0, #0x4 mul r0, r4 add r1, r7, r0 mov r0, #0x88 mul r0, r5 add r0, r1, r0 mov r1, #0xab mov r2, #0x0 bl FUN_020672BC cmp r0, #0x0 bne _0206B3C6 ldr r0, [sp, #0x0] str r4, [r6, #0x0] str r5, [r0, #0x0] mov r0, #0x1 pop {r3-r7, pc} _0206B3C6: add r5, r5, #0x1 _0206B3C8: cmp r5, #0x1e blt _0206B3A2 add r4, r4, #0x1 cmp r4, #0x12 blt _0206B3D4 mov r4, #0x0 _0206B3D4: ldr r0, [r6, #0x0] cmp r4, r0 beq _0206B3DE mov r5, #0x0 b _0206B3C8 _0206B3DE: mov r0, #0x12 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0206B3E4 FUN_0206B3E4: ; 0x0206B3E4 push {r3-r7, lr} sub sp, #0x8 mov r6, #0x0 add r0, r0, #0x4 str r6, [sp, #0x4] str r0, [sp, #0x0] mov r7, #0xab _0206B3F2: ldr r5, [sp, #0x0] mov r4, #0x0 _0206B3F6: add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x0 bl FUN_020672BC cmp r0, #0x0 beq _0206B406 add r6, r6, #0x1 _0206B406: add r4, r4, #0x1 add r5, #0x88 cmp r4, #0x1e blt _0206B3F6 mov r0, #0xff ldr r1, [sp, #0x0] lsl r0, r0, #0x4 add r0, r1, r0 str r0, [sp, #0x0] ldr r0, [sp, #0x4] add r0, r0, #0x1 str r0, [sp, #0x4] cmp r0, #0x12 blt _0206B3F2 add r0, r6, #0x0 add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_0206B428 FUN_0206B428: ; 0x0206B428 push {r3, lr} cmp r1, #0x12 bhs _0206B436 str r1, [r0, #0x0] bl FUN_02022830 pop {r3, pc} _0206B436: bl ErrorHandling pop {r3, pc} thumb_func_start FUN_0206B43C FUN_0206B43C: ; 0x0206B43C push {r3, lr} cmp r1, #0x12 bhs _0206B44A add r1, r0, r1 ldr r0, _0206B454 ; =0x000121B4 ldrb r0, [r1, r0] pop {r3, pc} _0206B44A: bl ErrorHandling mov r0, #0x0 pop {r3, pc} nop _0206B454: .word 0x000121B4 thumb_func_start FUN_0206B458 FUN_0206B458: ; 0x0206B458 push {r3, lr} mov r3, #0x0 mvn r3, r3 cmp r1, r3 bne _0206B464 ldr r1, [r0, #0x0] _0206B464: cmp r1, #0x12 bhs _0206B478 cmp r2, #0x18 bhs _0206B478 add r1, r0, r1 ldr r0, _0206B480 ; =0x000121B4 strb r2, [r1, r0] bl FUN_02022830 pop {r3, pc} _0206B478: bl ErrorHandling pop {r3, pc} nop _0206B480: .word 0x000121B4 thumb_func_start FUN_0206B484 FUN_0206B484: ; 0x0206B484 push {r3, lr} add r3, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r1, r0 bne _0206B492 ldr r1, [r3, #0x0] _0206B492: cmp r1, #0x12 bhs _0206B4A8 add r0, r2, #0x0 ldr r2, _0206B4B0 ; =0x00011EE4 add r3, r3, r2 mov r2, #0x28 mul r2, r1 add r1, r3, r2 bl FUN_02021E28 pop {r3, pc} _0206B4A8: bl ErrorHandling pop {r3, pc} nop _0206B4B0: .word 0x00011EE4 thumb_func_start FUN_0206B4B4 FUN_0206B4B4: ; 0x0206B4B4 push {r3, lr} add r3, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r1, r0 bne _0206B4C2 ldr r1, [r3, #0x0] _0206B4C2: cmp r1, #0x12 bhs _0206B4DC add r0, r2, #0x0 ldr r2, _0206B4E0 ; =0x00011EE4 add r3, r3, r2 mov r2, #0x28 mul r2, r1 add r1, r3, r2 mov r2, #0x14 bl FUN_02021EF0 bl FUN_02022830 _0206B4DC: pop {r3, pc} nop _0206B4E0: .word 0x00011EE4 thumb_func_start FUN_0206B4E4 FUN_0206B4E4: ; 0x0206B4E4 push {r3-r7, lr} mov r2, #0x0 mvn r2, r2 cmp r1, r2 bne _0206B4F0 ldr r1, [r0, #0x0] _0206B4F0: cmp r1, #0x12 bhs _0206B520 add r2, r0, #0x4 mov r0, #0xff lsl r0, r0, #0x4 mov r4, #0x0 mul r0, r1 add r6, r4, #0x0 add r5, r2, r0 mov r7, #0xab _0206B504: add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x0 bl FUN_020672BC cmp r0, #0x0 beq _0206B514 add r4, r4, #0x1 _0206B514: add r6, r6, #0x1 add r5, #0x88 cmp r6, #0x1e blt _0206B504 add r0, r4, #0x0 pop {r3-r7, pc} _0206B520: bl ErrorHandling mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0206B528 FUN_0206B528: ; 0x0206B528 push {r3-r7, lr} mov r2, #0x0 mvn r2, r2 cmp r1, r2 bne _0206B534 ldr r1, [r0, #0x0] _0206B534: cmp r1, #0x12 bhs _0206B572 add r2, r0, #0x4 mov r0, #0xff lsl r0, r0, #0x4 mov r4, #0x0 mul r0, r1 add r6, r4, #0x0 add r5, r2, r0 mov r7, #0xab _0206B548: add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x0 bl FUN_020672BC cmp r0, #0x0 beq _0206B566 add r0, r5, #0x0 mov r1, #0x4c mov r2, #0x0 bl FUN_020672BC cmp r0, #0x0 bne _0206B566 add r4, r4, #0x1 _0206B566: add r6, r6, #0x1 add r5, #0x88 cmp r6, #0x1e blt _0206B548 add r0, r4, #0x0 pop {r3-r7, pc} _0206B572: bl ErrorHandling mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0206B57C FUN_0206B57C: ; 0x0206B57C push {r4-r6, lr} mov r5, #0x0 add r6, r0, #0x0 add r4, r5, #0x0 _0206B584: add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_0206B528 add r5, r5, #0x1 add r4, r4, r0 cmp r5, #0x12 blo _0206B584 add r0, r4, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0206B598 FUN_0206B598: ; 0x0206B598 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 cmp r4, #0x12 blo _0206B5B2 mov r0, #0x0 mvn r0, r0 cmp r4, r0 beq _0206B5B2 bl ErrorHandling _0206B5B2: cmp r6, #0x1e blo _0206B5BA bl ErrorHandling _0206B5BA: mov r0, #0x0 mvn r0, r0 cmp r4, r0 bne _0206B5C4 ldr r4, [r5, #0x0] _0206B5C4: mov r0, #0xff lsl r0, r0, #0x4 add r1, r5, #0x4 mul r0, r4 add r1, r1, r0 mov r0, #0x88 mul r0, r6 add r0, r1, r0 ldr r2, [sp, #0x18] add r1, r7, #0x0 bl FUN_02067960 bl FUN_02022830 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0206B5E4 FUN_0206B5E4: ; 0x0206B5E4 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x12 blo _0206B5FC mov r0, #0x0 mvn r0, r0 cmp r4, r0 beq _0206B5FC bl ErrorHandling _0206B5FC: cmp r6, #0x1e blo _0206B604 bl ErrorHandling _0206B604: mov r0, #0x0 mvn r0, r0 cmp r4, r0 bne _0206B60E ldr r4, [r5, #0x0] _0206B60E: mov r0, #0xff lsl r0, r0, #0x4 add r1, r5, #0x4 mul r0, r4 add r1, r1, r0 mov r0, #0x88 mul r0, r6 add r0, r1, r0 pop {r4-r6, pc} thumb_func_start FUN_0206B620 FUN_0206B620: ; 0x0206B620 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x8 blo _0206B62E bl ErrorHandling _0206B62E: ldr r0, _0206B640 ; =0x000121C6 mov r1, #0x1 ldrb r2, [r5, r0] lsl r1, r4 orr r1, r2 strb r1, [r5, r0] bl FUN_02022830 pop {r3-r5, pc} .balign 4 _0206B640: .word 0x000121C6 thumb_func_start FUN_0206B644 FUN_0206B644: ; 0x0206B644 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x8 blo _0206B652 bl ErrorHandling _0206B652: ldr r0, _0206B664 ; =0x000121C6 ldrb r2, [r5, r0] mov r0, #0x1 add r1, r0, #0x0 lsl r1, r4 tst r1, r2 bne _0206B662 mov r0, #0x0 _0206B662: pop {r3-r5, pc} .balign 4 _0206B664: .word 0x000121C6 thumb_func_start FUN_0206B668 FUN_0206B668: ; 0x0206B668 push {r4-r6, lr} mov r4, #0x0 add r6, r0, #0x0 add r5, r4, #0x0 _0206B670: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_0206B644 cmp r0, #0x0 beq _0206B67E add r5, r5, #0x1 _0206B67E: add r4, r4, #0x1 cmp r4, #0x8 blo _0206B670 add r0, r5, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0206B688 FUN_0206B688: ; 0x0206B688 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02066A6C add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020672BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x4c mov r2, #0x0 bl FUN_020672BC add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0206B754 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_0206B6D4 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_02066A94 add r0, r4, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0206B6C8 FUN_0206B6C8: ; 0x0206B6C8 push {r3, lr} bl FUN_020690E4 bl FUN_0206B688 pop {r3, pc} thumb_func_start FUN_0206B6D4 FUN_0206B6D4: ; 0x0206B6D4 cmp r1, #0x1 bne _0206B6E8 ldr r1, _0206B748 ; =0x000001EA cmp r0, r1 bne _0206B6E2 add r1, #0xc b _0206B6E4 _0206B6E2: add r1, #0xb _0206B6E4: add r0, r1, #0x0 bx lr _0206B6E8: cmp r2, #0x0 beq _0206B73A ldr r3, _0206B74C ; =0x00000182 cmp r0, r3 bne _0206B6F8 add r3, #0x74 add r0, r2, r3 bx lr _0206B6F8: cmp r0, #0xc9 bne _0206B702 add r3, #0x78 add r0, r2, r3 bx lr _0206B702: add r1, r3, #0x0 add r1, #0x1a cmp r0, r1 bne _0206B710 add r3, #0x93 add r0, r2, r3 bx lr _0206B710: add r1, r3, #0x0 add r1, #0x1b cmp r0, r1 bne _0206B71E add r3, #0x95 add r0, r2, r3 bx lr _0206B71E: add r1, r3, #0x0 add r1, #0x24 cmp r0, r1 bne _0206B72C add r3, #0x97 add r0, r2, r3 bx lr _0206B72C: add r1, r3, #0x0 add r1, #0x25 cmp r0, r1 bne _0206B73A add r3, #0x98 add r0, r2, r3 bx lr _0206B73A: ldr r1, _0206B750 ; =0x000001ED cmp r0, r1 bls _0206B742 mov r0, #0x0 _0206B742: add r0, r0, #0x7 bx lr nop _0206B748: .word 0x000001EA _0206B74C: .word 0x00000182 _0206B750: .word 0x000001ED thumb_func_start FUN_0206B754 FUN_0206B754: ; 0x0206B754 push {r4, lr} mov r1, #0xad mov r2, #0x0 add r4, r0, #0x0 bl FUN_020672BC ldr r2, _0206B7B8 ; =0x0000019D cmp r0, r2 bhi _0206B784 sub r1, r2, #0x1 cmp r0, r1 blo _0206B774 beq _0206B7A4 cmp r0, r2 beq _0206B7A4 b _0206B7B4 _0206B774: cmp r0, #0xc9 bhi _0206B77C beq _0206B79C b _0206B7B4 _0206B77C: sub r2, #0x1b cmp r0, r2 beq _0206B7A4 b _0206B7B4 _0206B784: add r1, r2, #0x0 add r1, #0x9 cmp r0, r1 bhi _0206B794 add r2, #0x9 cmp r0, r2 beq _0206B7A4 b _0206B7B4 _0206B794: add r2, #0xa cmp r0, r2 beq _0206B7A4 b _0206B7B4 _0206B79C: add r0, r4, #0x0 bl FUN_020690D4 pop {r4, pc} _0206B7A4: add r0, r4, #0x0 mov r1, #0x70 mov r2, #0x0 bl FUN_020672BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 pop {r4, pc} _0206B7B4: mov r0, #0x0 pop {r4, pc} .balign 4 _0206B7B8: .word 0x0000019D thumb_func_start FUN_0206B7BC FUN_0206B7BC: ; 0x0206B7BC cmp r2, #0x1 bne _0206B7CE ldr r1, _0206B830 ; =0x000001EA cmp r0, r1 bne _0206B7CA add r0, r1, #0x5 b _0206B82A _0206B7CA: add r0, r1, #0x4 b _0206B82A _0206B7CE: ldr r3, _0206B834 ; =0x000001ED cmp r0, r3 bls _0206B7D8 mov r0, #0x0 b _0206B82A _0206B7D8: cmp r1, #0x0 beq _0206B82A add r2, r3, #0x0 sub r2, #0x6b cmp r0, r2 bne _0206B7EA add r0, r3, #0x2 add r0, r1, r0 b _0206B82A _0206B7EA: cmp r0, #0xc9 bne _0206B7F4 add r0, r3, #0x5 add r0, r1, r0 b _0206B82A _0206B7F4: add r2, r3, #0x0 sub r2, #0x51 cmp r0, r2 bne _0206B802 add r3, #0x21 add r0, r1, r3 b _0206B82A _0206B802: add r2, r3, #0x0 sub r2, #0x50 cmp r0, r2 bne _0206B810 add r3, #0x23 add r0, r1, r3 b _0206B82A _0206B810: add r2, r3, #0x0 sub r2, #0x47 cmp r0, r2 bne _0206B81E add r3, #0x25 add r0, r1, r3 b _0206B82A _0206B81E: add r2, r3, #0x0 sub r2, #0x46 cmp r0, r2 bne _0206B82A add r3, #0x26 add r0, r1, r3 _0206B82A: ldr r1, _0206B838 ; =0x020F8074 ldrb r0, [r1, r0] bx lr .balign 4 _0206B830: .word 0x000001EA _0206B834: .word 0x000001ED _0206B838: .word 0x020F8074 thumb_func_start FUN_0206B83C FUN_0206B83C: ; 0x0206B83C push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02066A6C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0206B754 add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020672BC add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x4c mov r2, #0x0 bl FUN_020672BC str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02066A94 ldr r2, [sp, #0x0] add r0, r7, #0x0 add r1, r6, #0x0 bl FUN_0206B7BC pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0206B87C FUN_0206B87C: ; 0x0206B87C push {r3, lr} bl FUN_020690E4 bl FUN_0206B83C pop {r3, pc} thumb_func_start FUN_0206B888 FUN_0206B888: ; 0x0206B888 mov r0, #0x0 bx lr thumb_func_start FUN_0206B88C FUN_0206B88C: ; 0x0206B88C mov r0, #0x2 bx lr thumb_func_start FUN_0206B890 FUN_0206B890: ; 0x0206B890 mov r0, #0x4 bx lr thumb_func_start FUN_0206B894 FUN_0206B894: ; 0x0206B894 mov r0, #0x6 bx lr thumb_func_start FUN_0206B898 FUN_0206B898: ; 0x0206B898 mov r0, #0x1 bx lr thumb_func_start FUN_0206B89C FUN_0206B89C: ; 0x0206B89C mov r0, #0x3 bx lr thumb_func_start FUN_0206B8A0 FUN_0206B8A0: ; 0x0206B8A0 mov r0, #0x5 bx lr thumb_func_start FUN_0206B8A4 FUN_0206B8A4: ; 0x0206B8A4 mov r0, #0x59 lsl r0, r0, #0x4 bx lr .balign 4 thumb_func_start FUN_0206B8AC FUN_0206B8AC: ; 0x0206B8AC push {r4, lr} mov r1, #0x59 lsl r1, r1, #0x4 bl FUN_02016998 add r4, r0, #0x0 bl FUN_0206B8C0 add r0, r4, #0x0 pop {r4, pc} thumb_func_start FUN_0206B8C0 FUN_0206B8C0: ; 0x0206B8C0 ldr r3, _0206B8C8 ; =FUN_0206B8CC mov r1, #0x6 bx r3 nop _0206B8C8: .word FUN_0206B8CC thumb_func_start FUN_0206B8CC FUN_0206B8CC: ; 0x0206B8CC push {r4-r6, lr} add r6, r1, #0x0 add r5, r0, #0x0 cmp r6, #0x6 ble _0206B8DA bl ErrorHandling _0206B8DA: mov r2, #0x59 add r0, r5, #0x0 mov r1, #0x0 lsl r2, r2, #0x4 blx Call_FillMemWithValue mov r4, #0x0 str r4, [r5, #0x4] str r6, [r5, #0x0] add r5, #0x8 _0206B8EE: add r0, r5, #0x0 bl FUN_02066978 add r4, r4, #0x1 add r5, #0xec cmp r4, #0x6 blt _0206B8EE pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0206B900 FUN_0206B900: ; 0x0206B900 push {r4-r5} add r3, r0, #0x0 add r2, r1, #0x0 ldr r1, [r3, #0x4] ldr r0, [r3, #0x0] cmp r1, r0 blt _0206B914 mov r0, #0x0 pop {r4-r5} bx lr _0206B914: mov r0, #0xec mul r0, r1 add r5, r3, r0 add r5, #0x8 mov r4, #0x1d _0206B91E: ldmia r2!, {r0-r1} stmia r5!, {r0-r1} sub r4, r4, #0x1 bne _0206B91E ldr r0, [r2, #0x0] str r0, [r5, #0x0] ldr r0, [r3, #0x4] add r0, r0, #0x1 str r0, [r3, #0x4] mov r0, #0x1 pop {r4-r5} bx lr .balign 4 thumb_func_start FUN_0206B938 FUN_0206B938: ; 0x0206B938 push {r3-r7, lr} add r7, r0, #0x0 add r4, r1, #0x0 bpl _0206B944 bl ErrorHandling _0206B944: ldr r0, [r7, #0x4] cmp r4, r0 blt _0206B94E bl ErrorHandling _0206B94E: ldr r0, [r7, #0x0] cmp r4, r0 blt _0206B958 bl ErrorHandling _0206B958: ldr r0, [r7, #0x4] cmp r0, #0x0 bgt _0206B962 bl ErrorHandling _0206B962: ldr r0, [r7, #0x4] sub r0, r0, #0x1 cmp r4, r0 bge _0206B992 mov r0, #0xec mul r0, r4 add r6, r7, r0 _0206B970: add r5, r6, #0x0 add r3, r6, #0x0 add r5, #0xf4 add r3, #0x8 mov r2, #0x1d _0206B97A: ldmia r5!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _0206B97A ldr r0, [r5, #0x0] add r4, r4, #0x1 str r0, [r3, #0x0] ldr r0, [r7, #0x4] add r6, #0xec sub r0, r0, #0x1 cmp r4, r0 blt _0206B970 _0206B992: add r1, r7, #0x0 mov r0, #0xec add r1, #0x8 mul r0, r4 add r0, r1, r0 bl FUN_02066978 ldr r0, [r7, #0x4] sub r0, r0, #0x1 str r0, [r7, #0x4] mov r0, #0x1 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0206B9AC FUN_0206B9AC: ; 0x0206B9AC ldr r0, [r0, #0x4] bx lr thumb_func_start FUN_0206B9B0 FUN_0206B9B0: ; 0x0206B9B0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bpl _0206B9BC bl ErrorHandling _0206B9BC: ldr r0, [r5, #0x4] cmp r4, r0 blt _0206B9C6 bl ErrorHandling _0206B9C6: ldr r0, [r5, #0x0] cmp r4, r0 blt _0206B9D0 bl ErrorHandling _0206B9D0: mov r0, #0xec add r5, #0x8 mul r0, r4 add r0, r5, r0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0206B9DC FUN_0206B9DC: ; 0x0206B9DC push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x0 bge _0206B9EC bl ErrorHandling _0206B9EC: ldr r0, [r5, #0x4] cmp r4, r0 blt _0206B9F6 bl ErrorHandling _0206B9F6: ldr r0, [r5, #0x0] cmp r4, r0 blt _0206BA00 bl ErrorHandling _0206BA00: add r1, r5, #0x0 mov r0, #0xec add r1, #0x8 mul r0, r4 add r4, r1, r0 add r0, r4, #0x0 mov r1, #0xab mov r2, #0x0 bl FUN_020671BC add r7, r0, #0x0 add r0, r6, #0x0 mov r1, #0xab mov r2, #0x0 bl FUN_020671BC sub r2, r7, r0 mov r3, #0x1d _0206BA24: ldmia r6!, {r0-r1} stmia r4!, {r0-r1} sub r3, r3, #0x1 bne _0206BA24 ldr r0, [r6, #0x0] str r0, [r4, #0x0] ldr r0, [r5, #0x4] add r0, r0, r2 str r0, [r5, #0x4] pop {r3-r7, pc} thumb_func_start FUN_0206BA38 FUN_0206BA38: ; 0x0206BA38 push {r3-r7, lr} add r5, r1, #0x0 add r4, r0, #0x0 add r6, r2, #0x0 cmp r5, #0x0 bge _0206BA48 bl ErrorHandling _0206BA48: ldr r0, [r4, #0x4] cmp r5, r0 blt _0206BA52 bl ErrorHandling _0206BA52: ldr r0, [r4, #0x0] cmp r5, r0 blt _0206BA5C bl ErrorHandling _0206BA5C: cmp r6, #0x0 bge _0206BA64 bl ErrorHandling _0206BA64: ldr r0, [r4, #0x4] cmp r6, r0 blt _0206BA6E bl ErrorHandling _0206BA6E: ldr r0, [r4, #0x0] cmp r6, r0 blt _0206BA78 bl ErrorHandling _0206BA78: mov r0, #0x0 mov r1, #0xec bl FUN_02016998 mov r12, r0 add r1, r4, #0x0 mov r0, #0xec add r1, #0x8 mul r0, r5 add r3, r1, r0 add r5, r3, #0x0 mov r2, r12 mov r7, #0x1d _0206BA92: ldmia r5!, {r0-r1} stmia r2!, {r0-r1} sub r7, r7, #0x1 bne _0206BA92 ldr r0, [r5, #0x0] add r4, #0x8 str r0, [r2, #0x0] mov r0, #0xec mul r0, r6 add r2, r4, r0 add r5, r2, #0x0 mov r4, #0x1d _0206BAAA: ldmia r5!, {r0-r1} stmia r3!, {r0-r1} sub r4, r4, #0x1 bne _0206BAAA ldr r0, [r5, #0x0] mov r4, r12 str r0, [r3, #0x0] mov r3, #0x1d _0206BABA: ldmia r4!, {r0-r1} stmia r2!, {r0-r1} sub r3, r3, #0x1 bne _0206BABA ldr r0, [r4, #0x0] str r0, [r2, #0x0] mov r0, r12 bl FUN_02016A18 mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0206BAD0 FUN_0206BAD0: ; 0x0206BAD0 push {r3-r4} add r4, r0, #0x0 add r3, r1, #0x0 mov r2, #0xb2 _0206BAD8: ldmia r4!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _0206BAD8 pop {r3-r4} bx lr thumb_func_start FUN_0206BAE4 FUN_0206BAE4: ; 0x0206BAE4 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, [r6, #0x4] add r7, r1, #0x0 mov r4, #0x0 cmp r0, #0x0 ble _0206BB0E add r5, r6, #0x0 add r5, #0x8 _0206BAF6: add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC cmp r7, r0 beq _0206BB0E ldr r0, [r6, #0x4] add r4, r4, #0x1 add r5, #0xec cmp r4, r0 blt _0206BAF6 _0206BB0E: ldr r0, [r6, #0x4] cmp r4, r0 beq _0206BB18 mov r0, #0x1 pop {r3-r7, pc} _0206BB18: mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0206BB1C FUN_0206BB1C: ; 0x0206BB1C ldr r3, _0206BB24 ; =FUN_02022610 mov r1, #0x2 bx r3 nop _0206BB24: .word FUN_02022610 thumb_func_start FUN_0206BB28 FUN_0206BB28: ; 0x0206BB28 push {r3, lr} bl FUN_02024DA0 bl FUN_0206BB34 pop {r3, pc} thumb_func_start FUN_0206BB34 FUN_0206BB34: ; 0x0206BB34 push {r3, lr} bl FUN_02024CA4 cmp r0, #0x1 bne _0206BB42 mov r0, #0x1 pop {r3, pc} _0206BB42: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0206BB48 FUN_0206BB48: ; 0x0206BB48 push {r3, lr} cmp r0, #0x0 bne _0206BB58 lsl r0, r1, #0x10 lsr r0, r0, #0x10 bl FUN_02069B40 add r1, r0, #0x0 _0206BB58: add r0, r1, #0x0 pop {r3, pc} thumb_func_start FUN_0206BB5C FUN_0206BB5C: ; 0x0206BB5C push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02087A6C mov r1, #0x0 add r2, r5, #0x0 add r4, r0, #0x0 bl FUN_02087A98 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0206BB74 FUN_0206BB74: ; 0x0206BB74 push {r4, lr} add r4, r0, #0x0 bl FUN_02087B0C add r0, r4, #0x0 bl FUN_02087A84 pop {r4, pc} thumb_func_start FUN_0206BB84 FUN_0206BB84: ; 0x0206BB84 push {r3-r7, lr} add r7, r1, #0x0 add r4, r0, #0x0 str r2, [sp, #0x0] add r0, r7, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r6, r0, #0x10 cmp r4, #0x0 bne _0206BBA2 mov r0, #0x1 pop {r3-r7, pc} _0206BBA2: add r0, r4, #0x0 mov r1, #0x2 bl FUN_02023B0C add r5, r0, #0x0 add r0, r7, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC cmp r0, r5 bls _0206BBBE mov r0, #0x0 pop {r3-r7, pc} _0206BBBE: add r0, r7, #0x0 mov r1, #0x4c mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _0206BBD0 mov r0, #0x0 pop {r3-r7, pc} _0206BBD0: add r0, r4, #0x0 mov r1, #0x4 bl FUN_02023B0C cmp r0, #0x0 bne _0206BBEA add r0, r6, #0x0 bl FUN_020695A8 cmp r6, r0 beq _0206BBEA mov r0, #0x0 pop {r3-r7, pc} _0206BBEA: add r0, r4, #0x0 mov r1, #0x5 bl FUN_02023B0C add r5, r0, #0x0 beq _0206BC14 ldr r0, [sp, #0x0] add r1, r6, #0x0 bl FUN_02087B58 cmp r5, #0x0 ble _0206BC0A cmp r0, r5 bge _0206BC14 mov r0, #0x0 pop {r3-r7, pc} _0206BC0A: neg r1, r5 cmp r0, r1 ble _0206BC14 mov r0, #0x0 pop {r3-r7, pc} _0206BC14: add r0, r4, #0x0 mov r1, #0x7 bl FUN_02023B0C mov r1, #0xa add r5, r0, #0x0 mul r5, r1 beq _0206BC42 ldr r0, [sp, #0x0] add r1, r6, #0x0 bl FUN_02087B78 cmp r5, #0x0 ble _0206BC38 cmp r0, r5 bge _0206BC42 mov r0, #0x0 pop {r3-r7, pc} _0206BC38: neg r1, r5 cmp r0, r1 ble _0206BC42 mov r0, #0x0 pop {r3-r7, pc} _0206BC42: add r0, r4, #0x0 mov r1, #0xb bl FUN_02023B0C cmp r0, #0x0 bne _0206BC5C add r0, r7, #0x0 bl FUN_0206A998 cmp r0, #0x0 beq _0206BC5C mov r0, #0x0 pop {r3-r7, pc} _0206BC5C: mov r0, #0x1 pop {r3-r7, pc} thumb_func_start FUN_0206BC60 FUN_0206BC60: ; 0x0206BC60 push {r3-r7, lr} sub sp, #0x30 str r0, [sp, #0x0] mov r0, #0x0 str r0, [sp, #0x14] str r0, [sp, #0x10] ldr r0, [sp, #0x0] str r1, [sp, #0x4] str r2, [sp, #0x8] str r3, [sp, #0xc] cmp r0, #0x0 bne _0206BC7E ldr r0, [sp, #0x14] add sp, #0x30 pop {r3-r7, pc} _0206BC7E: ldr r1, [sp, #0x14] add r2, sp, #0x24 add r3, sp, #0x18 mov r0, #0x0 _0206BC86: ldr r4, [sp, #0xc] strh r0, [r2, #0x0] strh r0, [r3, #0x0] ldrb r4, [r4, r1] cmp r4, #0x0 beq _0206BC98 ldr r4, [sp, #0x14] add r4, r4, #0x1 str r4, [sp, #0x14] _0206BC98: add r1, r1, #0x1 add r2, r2, #0x2 add r3, r3, #0x2 cmp r1, #0x6 blt _0206BC86 ldr r0, [sp, #0x0] mov r1, #0x1 bl FUN_02023B0C ldr r1, [sp, #0x14] cmp r1, r0 beq _0206BCB6 add sp, #0x30 mov r0, #0x4 pop {r3-r7, pc} _0206BCB6: mov r5, #0x0 add r7, sp, #0x24 add r6, sp, #0x18 _0206BCBC: ldr r0, [sp, #0xc] ldrb r1, [r0, r5] cmp r1, #0x0 beq _0206BD0A ldr r0, [sp, #0x4] sub r1, r1, #0x1 bl FUN_0206B9B0 add r4, r0, #0x0 ldr r0, [sp, #0x0] ldr r2, [sp, #0x8] add r1, r4, #0x0 bl FUN_0206BB84 cmp r0, #0x0 bne _0206BCE2 add sp, #0x30 mov r0, #0x5 pop {r3-r7, pc} _0206BCE2: add r0, r4, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC strh r0, [r7, #0x0] add r0, r4, #0x0 mov r1, #0x6 mov r2, #0x0 bl FUN_020671BC strh r0, [r6, #0x0] add r0, r4, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC ldr r1, [sp, #0x10] add r0, r1, r0 str r0, [sp, #0x10] _0206BD0A: add r5, r5, #0x1 add r7, r7, #0x2 add r6, r6, #0x2 cmp r5, #0x6 blt _0206BCBC ldr r0, [sp, #0x0] mov r1, #0x3 bl FUN_02023B0C ldr r1, [sp, #0x10] cmp r1, r0 ble _0206BD2C cmp r0, #0x0 beq _0206BD2C add sp, #0x30 mov r0, #0x1 pop {r3-r7, pc} _0206BD2C: ldr r0, [sp, #0x0] mov r1, #0xa bl FUN_02023B0C cmp r0, #0x0 bne _0206BD70 ldr r0, [sp, #0x14] cmp r0, #0x1 ble _0206BD70 add r4, sp, #0x24 mov r0, #0x0 add r2, r4, #0x0 _0206BD44: add r3, r0, #0x1 cmp r3, #0x6 bge _0206BD68 ldrh r6, [r4, #0x0] lsl r1, r3, #0x1 add r5, r2, r1 _0206BD50: ldrh r1, [r5, #0x0] cmp r6, r1 bne _0206BD60 cmp r6, #0x0 beq _0206BD60 add sp, #0x30 mov r0, #0x2 pop {r3-r7, pc} _0206BD60: add r3, r3, #0x1 add r5, r5, #0x2 cmp r3, #0x6 blt _0206BD50 _0206BD68: add r0, r0, #0x1 add r4, r4, #0x2 cmp r0, #0x5 blt _0206BD44 _0206BD70: ldr r0, [sp, #0x0] mov r1, #0x9 bl FUN_02023B0C cmp r0, #0x0 bne _0206BDC0 ldr r0, [sp, #0x14] cmp r0, #0x1 ble _0206BDC0 add r2, sp, #0x18 mov r5, #0x0 add r7, sp, #0x24 mov r12, r2 _0206BD8A: add r6, r5, #0x1 cmp r6, #0x6 bge _0206BDB6 lsl r1, r6, #0x1 mov r0, r12 add r3, r0, r1 ldrh r4, [r2, #0x0] ldrh r0, [r7, #0x0] _0206BD9A: ldrh r1, [r3, #0x0] cmp r4, r1 bne _0206BDAE cmp r0, #0x0 beq _0206BDAE cmp r4, #0x0 beq _0206BDAE add sp, #0x30 mov r0, #0x3 pop {r3-r7, pc} _0206BDAE: add r6, r6, #0x1 add r3, r3, #0x2 cmp r6, #0x6 blt _0206BD9A _0206BDB6: add r5, r5, #0x1 add r2, r2, #0x2 add r7, r7, #0x2 cmp r5, #0x5 blt _0206BD8A _0206BDC0: mov r0, #0x0 add sp, #0x30 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0206BDC8 FUN_0206BDC8: ; 0x0206BDC8 push {r4-r7, lr} sub sp, #0x1c str r0, [sp, #0xc] ldr r0, [sp, #0x30] str r1, [sp, #0x10] lsl r0, r0, #0x1 ldr r1, [sp, #0xc] str r0, [sp, #0x18] ldrh r0, [r1, r0] add r6, r2, #0x0 str r3, [sp, #0x14] ldr r5, [sp, #0x38] ldr r7, [sp, #0x34] cmp r0, #0x0 beq _0206BE12 ldr r0, [sp, #0x18] ldrh r0, [r6, r0] cmp r0, #0x0 bne _0206BE12 ldr r1, [sp, #0x10] ldr r0, [sp, #0x18] ldrh r1, [r1, r0] add r0, r3, #0x0 sub r0, r0, r1 str r0, [sp, #0x14] bpl _0206BE02 add sp, #0x1c mov r0, #0x0 pop {r4-r7, pc} _0206BE02: sub r7, r7, #0x1 bne _0206BE0C add sp, #0x1c mov r0, #0x1 pop {r4-r7, pc} _0206BE0C: ldr r0, [sp, #0x18] mov r1, #0x1 strh r1, [r6, r0] _0206BE12: ldr r0, [sp, #0x30] add r4, r0, #0x1 cmp r4, r5 bge _0206BE3C _0206BE1A: str r4, [sp, #0x0] str r7, [sp, #0x4] ldr r0, [sp, #0xc] ldr r1, [sp, #0x10] ldr r3, [sp, #0x14] add r2, r6, #0x0 str r5, [sp, #0x8] bl FUN_0206BDC8 cmp r0, #0x0 beq _0206BE36 add sp, #0x1c mov r0, #0x1 pop {r4-r7, pc} _0206BE36: add r4, r4, #0x1 cmp r4, r5 blt _0206BE1A _0206BE3C: ldr r1, [sp, #0x18] mov r0, #0x0 strh r0, [r6, r1] add sp, #0x1c pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0206BE48 FUN_0206BE48: ; 0x0206BE48 push {r4-r7, lr} sub sp, #0x54 str r0, [sp, #0xc] add r0, r1, #0x0 str r1, [sp, #0x10] str r2, [sp, #0x14] bl FUN_0206B9AC str r0, [sp, #0x20] add r6, r0, #0x0 add r0, sp, #0x30 mov r1, #0x0 mov r2, #0xc blx MI_CpuFill8 ldr r0, [sp, #0x20] mov r7, #0x0 cmp r0, #0x0 ble _0206BEB2 add r4, sp, #0x48 add r5, sp, #0x3c _0206BE72: ldr r0, [sp, #0x10] add r1, r7, #0x0 bl FUN_0206B9B0 str r0, [sp, #0x24] mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC strh r0, [r4, #0x0] ldr r0, [sp, #0x24] mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC strh r0, [r5, #0x0] ldr r0, [sp, #0xc] ldr r1, [sp, #0x24] ldr r2, [sp, #0x14] bl FUN_0206BB84 cmp r0, #0x0 bne _0206BEA6 mov r0, #0x0 strh r0, [r4, #0x0] sub r6, r6, #0x1 _0206BEA6: ldr r0, [sp, #0x20] add r7, r7, #0x1 add r4, r4, #0x2 add r5, r5, #0x2 cmp r7, r0 blt _0206BE72 _0206BEB2: ldr r0, [sp, #0xc] mov r1, #0xa bl FUN_02023B0C cmp r0, #0x0 bne _0206BF32 ldr r0, [sp, #0x20] cmp r0, #0x1 ble _0206BF32 mov r0, #0x0 str r0, [sp, #0x18] ldr r0, [sp, #0x20] sub r0, r0, #0x1 str r0, [sp, #0x28] cmp r0, #0x0 ble _0206BF32 add r0, sp, #0x3c add r3, sp, #0x48 str r0, [sp, #0x1c] str r3, [sp, #0x2c] mov r12, r0 _0206BEDC: ldr r0, [sp, #0x18] add r2, r0, #0x1 ldr r0, [sp, #0x20] cmp r2, r0 bge _0206BF1E ldr r1, [sp, #0x2c] lsl r0, r2, #0x1 add r4, r1, r0 mov r1, r12 add r5, r1, r0 ldr r0, [sp, #0x1c] ldrh r7, [r0, #0x0] _0206BEF4: ldrh r1, [r3, #0x0] ldrh r0, [r4, #0x0] cmp r1, r0 bne _0206BF12 cmp r1, #0x0 beq _0206BF12 ldrh r0, [r5, #0x0] cmp r7, r0 bls _0206BF0C mov r0, #0x0 strh r0, [r3, #0x0] b _0206BF10 _0206BF0C: mov r0, #0x0 strh r0, [r4, #0x0] _0206BF10: sub r6, r6, #0x1 _0206BF12: ldr r0, [sp, #0x20] add r2, r2, #0x1 add r4, r4, #0x2 add r5, r5, #0x2 cmp r2, r0 blt _0206BEF4 _0206BF1E: ldr r0, [sp, #0x1c] add r3, r3, #0x2 add r0, r0, #0x2 str r0, [sp, #0x1c] ldr r0, [sp, #0x18] add r1, r0, #0x1 ldr r0, [sp, #0x28] str r1, [sp, #0x18] cmp r1, r0 blt _0206BEDC _0206BF32: ldr r0, [sp, #0xc] mov r1, #0x1 bl FUN_02023B0C add r7, r0, #0x0 cmp r6, r7 bge _0206BF46 add sp, #0x54 mov r0, #0x4 pop {r4-r7, pc} _0206BF46: ldr r0, [sp, #0xc] mov r1, #0x3 bl FUN_02023B0C add r5, r0, #0x0 bne _0206BF58 add sp, #0x54 mov r0, #0x0 pop {r4-r7, pc} _0206BF58: ldr r0, [sp, #0x20] mov r4, #0x0 cmp r0, #0x0 ble _0206BF88 add r6, sp, #0x48 _0206BF62: str r4, [sp, #0x0] ldr r0, [sp, #0x20] str r7, [sp, #0x4] str r0, [sp, #0x8] add r0, r6, #0x0 add r1, sp, #0x3c add r2, sp, #0x30 add r3, r5, #0x0 bl FUN_0206BDC8 cmp r0, #0x0 beq _0206BF80 add sp, #0x54 mov r0, #0x0 pop {r4-r7, pc} _0206BF80: ldr r0, [sp, #0x20] add r4, r4, #0x1 cmp r4, r0 blt _0206BF62 _0206BF88: mov r0, #0x1 add sp, #0x54 pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0206BF90 FUN_0206BF90: ; 0x0206BF90 push {r4-r6, lr} add r5, r0, #0x0 mov r0, #0x5 mov r1, #0x8 bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x5 mov r1, #0x8 bl FUN_02016998 add r6, r0, #0x0 ldr r0, _0206BFE4 ; =0x020F828C mov r1, #0xc add r2, r5, #0x0 bl FUN_0202D8D0 str r5, [r4, #0x0] mov r0, #0x0 strb r0, [r4, #0x4] str r5, [r6, #0x0] strb r0, [r6, #0x4] add r0, r5, #0x0 add r1, r4, #0x4 bl FUN_02231344 add r0, r5, #0x0 add r1, r6, #0x4 bl FUN_02231350 ldr r0, _0206BFE8 ; =FUN_0206C550 add r1, r4, #0x0 mov r2, #0x0 bl FUN_0200CA44 ldr r0, _0206BFEC ; =FUN_0206C5DC add r1, r6, #0x0 mov r2, #0x0 bl FUN_0200CA44 pop {r4-r6, pc} nop _0206BFE4: .word 0x020F828C _0206BFE8: .word FUN_0206C550 _0206BFEC: .word FUN_0206C5DC thumb_func_start FUN_0206BFF0 FUN_0206BFF0: ; 0x0206BFF0 ldr r3, _0206BFFC ; =FUN_0202D8D0 add r2, r0, #0x0 ldr r0, _0206C000 ; =0x020F828C mov r1, #0xc bx r3 nop _0206BFFC: .word FUN_0202D8D0 _0206C000: .word 0x020F828C thumb_func_start FUN_0206C004 FUN_0206C004: ; 0x0206C004 mov r0, #0x4 bx lr thumb_func_start FUN_0206C008 FUN_0206C008: ; 0x0206C008 ldr r3, _0206C00C ; =FUN_02023924 bx r3 .balign 4 _0206C00C: .word FUN_02023924 thumb_func_start FUN_0206C010 FUN_0206C010: ; 0x0206C010 ldr r3, _0206C014 ; =FUN_0206B8A4 bx r3 .balign 4 _0206C014: .word FUN_0206B8A4 thumb_func_start FUN_0206C018 FUN_0206C018: ; 0x0206C018 mov r0, #0xfa lsl r0, r0, #0x2 bx lr .balign 4 thumb_func_start FUN_0206C020 FUN_0206C020: ; 0x0206C020 mov r0, #0x34 bx lr thumb_func_start FUN_0206C024 FUN_0206C024: ; 0x0206C024 ldr r3, [r1, #0x0] mov r1, #0x80 ldr r2, [r3, #0x0] tst r1, r2 beq _0206C038 lsl r0, r0, #0x3 add r0, r3, r0 add r0, #0xf8 ldr r0, [r0, #0x0] bx lr _0206C038: lsl r0, r0, #0x2 add r0, r3, r0 add r0, #0xf8 ldr r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_0206C044 FUN_0206C044: ; 0x0206C044 ldr r1, [r1, #0x0] mov r2, #0x80 ldr r3, [r1, #0x0] tst r2, r3 beq _0206C05A lsl r2, r0, #0x1 mov r0, #0x34 add r1, #0x28 mul r0, r2 add r0, r1, r0 bx lr _0206C05A: mov r2, #0x34 add r1, #0x28 mul r2, r0 add r0, r1, r2 bx lr thumb_func_start FUN_0206C064 FUN_0206C064: ; 0x0206C064 ldr r3, [r1, #0x0] mov r1, #0x80 ldr r2, [r3, #0x0] tst r1, r2 beq _0206C076 lsl r0, r0, #0x3 add r0, r3, r0 ldr r0, [r0, #0x4] bx lr _0206C076: lsl r0, r0, #0x2 add r0, r3, r0 ldr r0, [r0, #0x4] bx lr .balign 4 thumb_func_start FUN_0206C080 FUN_0206C080: ; 0x0206C080 ldr r3, [r1, #0x0] mov r1, #0x80 ldr r2, [r3, #0x0] tst r2, r1 beq _0206C094 lsl r0, r0, #0x3 add r0, r3, r0 add r1, #0x98 ldr r0, [r0, r1] bx lr _0206C094: lsl r0, r0, #0x2 add r0, r3, r0 add r1, #0x98 ldr r0, [r0, r1] bx lr .balign 4 thumb_func_start FUN_0206C0A0 FUN_0206C0A0: ; 0x0206C0A0 ldr r0, [r1, #0x0] add r0, #0x5c bx lr .balign 4 thumb_func_start FUN_0206C0A8 FUN_0206C0A8: ; 0x0206C0A8 ldr r0, [r1, #0x0] add r0, #0xc4 bx lr .balign 4 thumb_func_start FUN_0206C0B0 FUN_0206C0B0: ; 0x0206C0B0 ldr r0, [r1, #0x0] ldr r0, [r0, #0x8] bx lr .balign 4 thumb_func_start FUN_0206C0B8 FUN_0206C0B8: ; 0x0206C0B8 ldr r0, [r1, #0x0] ldr r0, [r0, #0x10] bx lr .balign 4 thumb_func_start FUN_0206C0C0 FUN_0206C0C0: ; 0x0206C0C0 lsl r0, r0, #0x2 add r0, r1, r0 ldr r0, [r0, #0x10] bx lr thumb_func_start FUN_0206C0C8 FUN_0206C0C8: ; 0x0206C0C8 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] str r1, [sp, #0x4] mov r0, #0x5 mov r1, #0x4 str r2, [sp, #0x8] add r7, r3, #0x0 bl FUN_02016998 add r6, r0, #0x0 ldr r0, [sp, #0x0] bl FUN_022300D4 add r5, r0, #0x0 ldr r0, [sp, #0x0] bl FUN_022300F4 add r4, r0, #0x0 ldr r0, [sp, #0x0] bl FUN_02230100 mov r12, r0 add r0, sp, #0x10 ldrh r3, [r4, #0x0] ldrb r0, [r0, #0x10] add r1, r3, #0x5 add r2, r1, r0 mov r1, #0x1 lsl r1, r1, #0xc cmp r2, r1 bls _0206C110 mov r1, r12 strh r3, [r1, #0x0] mov r1, #0x0 strh r1, [r4, #0x0] _0206C110: ldr r1, [sp, #0x4] mov r3, #0x0 strb r1, [r6, #0x0] ldr r1, [sp, #0x8] strb r1, [r6, #0x1] add r1, sp, #0x10 ldrb r1, [r1, #0x10] strh r1, [r6, #0x2] _0206C120: ldrb r2, [r6, r3] ldrh r1, [r4, #0x0] add r3, r3, #0x1 strb r2, [r5, r1] ldrh r1, [r4, #0x0] add r1, r1, #0x1 strh r1, [r4, #0x0] cmp r3, #0x4 blo _0206C120 mov r3, #0x0 cmp r0, #0x0 ble _0206C14A _0206C138: ldrb r2, [r7, r3] ldrh r1, [r4, #0x0] add r3, r3, #0x1 strb r2, [r5, r1] ldrh r1, [r4, #0x0] add r1, r1, #0x1 strh r1, [r4, #0x0] cmp r3, r0 blt _0206C138 _0206C14A: add r0, r6, #0x0 bl FUN_02016A18 add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_0206C154 FUN_0206C154: ; 0x0206C154 push {r3-r7, lr} str r3, [sp, #0x0] add r0, r3, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 bl FUN_022300DC add r7, r0, #0x0 ldr r0, [sp, #0x0] bl FUN_02230118 add r4, r0, #0x0 ldr r0, [sp, #0x0] bl FUN_02230124 ldrh r1, [r4, #0x0] add r2, r1, r5 add r3, r2, #0x1 mov r2, #0x1 lsl r2, r2, #0xc cmp r3, r2 ble _0206C186 strh r1, [r0, #0x0] mov r0, #0x0 strh r0, [r4, #0x0] _0206C186: mov r0, #0x0 cmp r5, #0x0 ble _0206C19E _0206C18C: ldrb r2, [r6, r0] ldrh r1, [r4, #0x0] add r0, r0, #0x1 strb r2, [r7, r1] ldrh r1, [r4, #0x0] add r1, r1, #0x1 strh r1, [r4, #0x0] cmp r0, r5 blt _0206C18C _0206C19E: pop {r3-r7, pc} thumb_func_start FUN_0206C1A0 FUN_0206C1A0: ; 0x0206C1A0 push {r0-r3} push {r3, lr} bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 beq _0206C1BA mov r0, #0x0 pop {r3} pop {r3} add sp, #0x10 bx r3 _0206C1BA: mov r0, #0x33 bl FUN_020315D8 cmp r0, #0x0 bne _0206C1CE mov r0, #0x0 pop {r3} pop {r3} add sp, #0x10 bx r3 _0206C1CE: mov r0, #0x18 add r1, sp, #0xc mov r2, #0x4 bl FUN_02030ADC pop {r3} pop {r3} add sp, #0x10 bx r3 thumb_func_start FUN_0206C1E0 FUN_0206C1E0: ; 0x0206C1E0 ldr r1, [r3, #0x0] lsl r0, r0, #0x2 add r1, r1, r0 mov r0, #0x5f ldr r2, [r2, #0x0] lsl r0, r0, #0x2 str r2, [r1, r0] ldr r0, _0206C1F8 ; =0x00001020 ldrb r1, [r3, r0] add r1, r1, #0x1 strb r1, [r3, r0] bx lr .balign 4 _0206C1F8: .word 0x00001020 thumb_func_start FUN_0206C1FC FUN_0206C1FC: ; 0x0206C1FC push {r4, lr} add r4, r0, #0x0 bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 beq _0206C210 mov r0, #0x0 pop {r4, pc} _0206C210: ldr r0, [r4, #0x0] add r4, #0x20 add r0, #0xf8 ldr r0, [r0, #0x0] add r1, r4, #0x0 bl FUN_0202393C mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0206C224 FUN_0206C224: ; 0x0206C224 push {r4, lr} add r4, r0, #0x0 bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 beq _0206C238 mov r0, #0x0 pop {r4, pc} _0206C238: mov r0, #0x34 bl FUN_020315D8 cmp r0, #0x0 bne _0206C246 mov r0, #0x0 pop {r4, pc} _0206C246: bl FUN_02023924 add r4, #0x20 add r2, r0, #0x0 mov r0, #0x19 add r1, r4, #0x0 bl FUN_02030A78 pop {r4, pc} thumb_func_start FUN_0206C258 FUN_0206C258: ; 0x0206C258 ldr r0, _0206C264 ; =0x00001020 ldrb r1, [r3, r0] add r1, r1, #0x1 strb r1, [r3, r0] bx lr nop _0206C264: .word 0x00001020 thumb_func_start FUN_0206C268 FUN_0206C268: ; 0x0206C268 push {r4, lr} add r4, r0, #0x0 bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 beq _0206C27C mov r0, #0x0 pop {r4, pc} _0206C27C: ldr r3, [r4, #0x0] add r4, #0x20 add r3, #0x28 mov r2, #0x6 _0206C284: ldmia r3!, {r0-r1} stmia r4!, {r0-r1} sub r2, r2, #0x1 bne _0206C284 ldr r0, [r3, #0x0] str r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0206C294 FUN_0206C294: ; 0x0206C294 push {r4, lr} add r4, r0, #0x0 bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 beq _0206C2A8 mov r0, #0x0 pop {r4, pc} _0206C2A8: mov r0, #0x35 bl FUN_020315D8 cmp r0, #0x0 bne _0206C2B6 mov r0, #0x0 pop {r4, pc} _0206C2B6: add r4, #0x20 mov r0, #0x1a add r1, r4, #0x0 mov r2, #0x34 bl FUN_02030A78 pop {r4, pc} thumb_func_start FUN_0206C2C4 FUN_0206C2C4: ; 0x0206C2C4 ldr r0, _0206C2D0 ; =0x00001020 ldrb r1, [r3, r0] add r1, r1, #0x1 strb r1, [r3, r0] bx lr nop _0206C2D0: .word 0x00001020 thumb_func_start FUN_0206C2D4 FUN_0206C2D4: ; 0x0206C2D4 push {r4, lr} add r4, r0, #0x0 bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 beq _0206C2E8 mov r0, #0x0 pop {r4, pc} _0206C2E8: ldr r0, [r4, #0x0] add r4, #0x20 ldr r0, [r0, #0x4] add r1, r4, #0x0 bl FUN_0206BAD0 mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0206C2F8 FUN_0206C2F8: ; 0x0206C2F8 push {r4, lr} add r4, r0, #0x0 bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 beq _0206C30C mov r0, #0x0 pop {r4, pc} _0206C30C: mov r0, #0x36 bl FUN_020315D8 cmp r0, #0x0 bne _0206C31A mov r0, #0x0 pop {r4, pc} _0206C31A: bl FUN_0206B8A4 add r4, #0x20 add r2, r0, #0x0 mov r0, #0x1b add r1, r4, #0x0 bl FUN_02030A78 pop {r4, pc} thumb_func_start FUN_0206C32C FUN_0206C32C: ; 0x0206C32C ldr r0, _0206C338 ; =0x00001020 ldrb r1, [r3, r0] add r1, r1, #0x1 strb r1, [r3, r0] bx lr nop _0206C338: .word 0x00001020 thumb_func_start FUN_0206C33C FUN_0206C33C: ; 0x0206C33C push {r4, lr} add r4, r0, #0x0 bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 beq _0206C350 mov r0, #0x0 pop {r4, pc} _0206C350: ldr r2, [r4, #0x0] add r1, #0x10 add r0, r4, #0x0 ldr r1, [r2, r1] add r0, #0x20 bl FUN_02029F9C mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0206C364 FUN_0206C364: ; 0x0206C364 push {r4, lr} add r4, r0, #0x0 bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 beq _0206C378 mov r0, #0x0 pop {r4, pc} _0206C378: mov r0, #0x37 bl FUN_020315D8 cmp r0, #0x0 bne _0206C386 mov r0, #0x0 pop {r4, pc} _0206C386: add r4, #0x20 mov r2, #0xfa mov r0, #0x1c add r1, r4, #0x0 lsl r2, r2, #0x2 bl FUN_02030A78 pop {r4, pc} .balign 4 thumb_func_start FUN_0206C398 FUN_0206C398: ; 0x0206C398 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 beq _0206C3AC mov r0, #0x0 pop {r3-r7, pc} _0206C3AC: ldr r4, [r5, #0x0] mov r0, #0x80 ldr r1, [r4, #0x0] tst r0, r1 beq _0206C3BE bl FUN_02031190 lsl r0, r0, #0x3 b _0206C3C4 _0206C3BE: bl FUN_02031190 lsl r0, r0, #0x2 _0206C3C4: add r0, r4, r0 mov r1, #0x53 add r0, #0xf8 lsl r1, r1, #0x2 add r2, r5, #0x0 ldr r0, [r0, #0x0] ldr r1, [r4, r1] add r2, #0x20 bl FUN_0206C66C mov r4, #0x0 mov r6, #0x5 mov r7, #0x88 _0206C3DE: add r0, r6, #0x0 add r1, r7, #0x0 bl FUN_02016998 str r0, [r5, #0x10] add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 blt _0206C3DE mov r0, #0x1 pop {r3-r7, pc} thumb_func_start FUN_0206C3F4 FUN_0206C3F4: ; 0x0206C3F4 push {r4, lr} add r4, r0, #0x0 bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 beq _0206C408 mov r0, #0x0 pop {r4, pc} _0206C408: mov r0, #0x38 bl FUN_020315D8 cmp r0, #0x0 bne _0206C416 mov r0, #0x0 pop {r4, pc} _0206C416: add r4, #0x20 mov r2, #0xfa mov r0, #0x21 add r1, r4, #0x0 lsl r2, r2, #0x2 bl FUN_02030A78 pop {r4, pc} .balign 4 thumb_func_start FUN_0206C428 FUN_0206C428: ; 0x0206C428 ldr r0, _0206C434 ; =0x00001020 ldrb r1, [r3, r0] add r1, r1, #0x1 strb r1, [r3, r0] bx lr nop _0206C434: .word 0x00001020 thumb_func_start FUN_0206C438 FUN_0206C438: ; 0x0206C438 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 beq _0206C44E mov r0, #0x0 pop {r3-r5, pc} _0206C44E: ldr r1, [r5, #0x0] mov r0, #0x34 mul r0, r4 add r3, r1, r0 add r3, #0x28 add r5, #0x20 mov r2, #0x6 _0206C45C: ldmia r3!, {r0-r1} stmia r5!, {r0-r1} sub r2, r2, #0x1 bne _0206C45C ldr r0, [r3, #0x0] str r0, [r5, #0x0] mov r0, #0x1 pop {r3-r5, pc} thumb_func_start FUN_0206C46C FUN_0206C46C: ; 0x0206C46C push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 beq _0206C484 mov r0, #0x0 pop {r4-r6, pc} _0206C484: lsl r0, r6, #0x18 lsr r0, r0, #0x18 bl FUN_020315D8 cmp r0, #0x0 bne _0206C494 mov r0, #0x0 pop {r4-r6, pc} _0206C494: cmp r4, #0x1 bne _0206C4A6 add r5, #0x20 mov r0, #0x1d add r1, r5, #0x0 mov r2, #0x34 bl FUN_02030A78 pop {r4-r6, pc} _0206C4A6: add r5, #0x20 mov r0, #0x1e add r1, r5, #0x0 mov r2, #0x34 bl FUN_02030A78 pop {r4-r6, pc} thumb_func_start FUN_0206C4B4 FUN_0206C4B4: ; 0x0206C4B4 ldr r0, _0206C4C0 ; =0x00001020 ldrb r1, [r3, r0] add r1, r1, #0x1 strb r1, [r3, r0] bx lr nop _0206C4C0: .word 0x00001020 thumb_func_start FUN_0206C4C4 FUN_0206C4C4: ; 0x0206C4C4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 beq _0206C4DA mov r0, #0x0 pop {r3-r5, pc} _0206C4DA: ldr r1, [r5, #0x0] lsl r0, r4, #0x2 add r0, r1, r0 add r5, #0x20 ldr r0, [r0, #0x4] add r1, r5, #0x0 bl FUN_0206BAD0 mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0206C4F0 FUN_0206C4F0: ; 0x0206C4F0 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 beq _0206C508 mov r0, #0x0 pop {r4-r6, pc} _0206C508: lsl r0, r6, #0x18 lsr r0, r0, #0x18 bl FUN_020315D8 cmp r0, #0x0 bne _0206C518 mov r0, #0x0 pop {r4-r6, pc} _0206C518: cmp r4, #0x1 bne _0206C52E bl FUN_0206B8A4 add r5, #0x20 add r2, r0, #0x0 mov r0, #0x1f add r1, r5, #0x0 bl FUN_02030A78 pop {r4-r6, pc} _0206C52E: bl FUN_0206B8A4 add r5, #0x20 add r2, r0, #0x0 mov r0, #0x20 add r1, r5, #0x0 bl FUN_02030A78 pop {r4-r6, pc} thumb_func_start FUN_0206C540 FUN_0206C540: ; 0x0206C540 ldr r0, _0206C54C ; =0x00001020 ldrb r1, [r3, r0] add r1, r1, #0x1 strb r1, [r3, r0] bx lr nop _0206C54C: .word 0x00001020 thumb_func_start FUN_0206C550 FUN_0206C550: ; 0x0206C550 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 str r0, [sp, #0x0] ldr r0, [r5, #0x0] bl FUN_022300D4 add r6, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_022300E8 add r4, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_022300F4 str r0, [sp, #0x4] ldr r0, [r5, #0x0] bl FUN_02230100 add r7, r0, #0x0 ldrb r0, [r5, #0x4] cmp r0, #0x0 beq _0206C582 cmp r0, #0xff b _0206C5CC _0206C582: bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 bne _0206C5D8 ldr r0, [sp, #0x4] ldrh r1, [r4, #0x0] ldrh r0, [r0, #0x0] cmp r1, r0 beq _0206C5D8 ldrh r0, [r7, #0x0] cmp r1, r0 bne _0206C5A4 mov r0, #0x0 strh r0, [r4, #0x0] strh r0, [r7, #0x0] _0206C5A4: ldrh r1, [r4, #0x0] add r0, r1, #0x2 ldrb r2, [r6, r0] add r0, r1, #0x3 ldrb r0, [r6, r0] add r1, r6, r1 lsl r0, r0, #0x8 orr r0, r2 add r5, r0, #0x4 mov r0, #0x17 add r2, r5, #0x0 bl FUN_02030ADC cmp r0, #0x1 bne _0206C5D8 ldrh r0, [r4, #0x0] add sp, #0x8 add r0, r0, r5 strh r0, [r4, #0x0] pop {r3-r7, pc} _0206C5CC: add r0, r5, #0x0 bl FUN_02016A18 ldr r0, [sp, #0x0] bl FUN_0200CAB4 _0206C5D8: add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_0206C5DC FUN_0206C5DC: ; 0x0206C5DC push {r3-r7, lr} add r5, r1, #0x0 str r0, [sp, #0x0] ldr r0, [r5, #0x0] bl FUN_022300DC add r6, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_0223010C add r4, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_02230118 add r7, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_02230124 ldrb r1, [r5, #0x4] cmp r1, #0x0 beq _0206C60A cmp r1, #0xff b _0206C63E _0206C60A: ldrh r1, [r4, #0x0] ldrh r2, [r7, #0x0] cmp r1, r2 beq _0206C64A ldrh r2, [r0, #0x0] cmp r1, r2 bne _0206C61E mov r1, #0x0 strh r1, [r4, #0x0] strh r1, [r0, #0x0] _0206C61E: ldrh r1, [r4, #0x0] ldr r0, [r5, #0x0] add r1, r6, r1 bl FUN_022567E0 ldrh r0, [r4, #0x0] add r1, r0, #0x2 ldrb r2, [r6, r1] add r1, r0, #0x3 ldrb r1, [r6, r1] lsl r1, r1, #0x8 orr r1, r2 add r1, r1, #0x4 add r0, r0, r1 strh r0, [r4, #0x0] pop {r3-r7, pc} _0206C63E: add r0, r5, #0x0 bl FUN_02016A18 ldr r0, [sp, #0x0] bl FUN_0200CAB4 _0206C64A: pop {r3-r7, pc} thumb_func_start FUN_0206C64C FUN_0206C64C: ; 0x0206C64C push {r4, lr} add r4, r3, #0x0 add r0, r4, #0x0 mov r1, #0xff bl FUN_0223135C add r0, r4, #0x0 mov r1, #0xff bl FUN_02231368 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02231374 pop {r4, pc} .balign 4 thumb_func_start FUN_0206C66C FUN_0206C66C: ; 0x0206C66C push {r4-r6, lr} add r4, r2, #0x0 add r6, r0, #0x0 add r5, r1, #0x0 bl FUN_0202398C add r1, r0, #0x0 add r0, r4, #0x0 bl StringCopy add r0, r6, #0x0 bl FUN_020239BC str r0, [r4, #0x10] add r0, r6, #0x0 bl FUN_02023A70 strb r0, [r4, #0x14] add r0, r6, #0x0 bl FUN_02023A68 strb r0, [r4, #0x15] add r0, r6, #0x0 bl FUN_020239CC strb r0, [r4, #0x16] mov r0, #0x0 add r1, r4, #0x0 _0206C6A4: ldr r2, [r5, #0x10] str r2, [r1, #0x18] ldrb r3, [r5, #0x15] add r2, r4, r0 add r2, #0x58 strb r3, [r2, #0x0] add r2, r4, r0 ldrb r3, [r5, #0x14] add r2, #0x68 add r1, r1, #0x4 strb r3, [r2, #0x0] add r2, r4, r0 ldrb r3, [r5, #0x16] add r2, #0x78 add r0, r0, #0x1 add r5, #0x88 strb r3, [r2, #0x0] cmp r0, #0x10 blt _0206C6A4 pop {r4-r6, pc} thumb_func_start FUN_0206C6CC FUN_0206C6CC: ; 0x0206C6CC push {r4-r6, lr} add r5, r0, #0x0 add r6, r2, #0x0 add r4, r3, #0x0 bl FUN_02031190 cmp r5, r0 beq _0206C6EE mov r0, #0x53 ldr r1, [r4, #0x0] lsl r0, r0, #0x2 ldr r0, [r1, r0] add r1, r6, #0x0 mov r2, #0x1 mov r3, #0x5 bl FUN_02025520 _0206C6EE: ldr r0, _0206C6F8 ; =0x00001020 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r4-r6, pc} .balign 4 _0206C6F8: .word 0x00001020 thumb_func_start FUN_0206C6FC FUN_0206C6FC: ; 0x0206C6FC mov r0, #0x88 bx lr thumb_func_start FUN_0206C700 FUN_0206C700: ; 0x0206C700 push {r4-r7, lr} sub sp, #0x24 ldr r5, [sp, #0x54] add r6, r0, #0x0 str r1, [sp, #0x14] add r0, r5, #0x0 mov r1, #0x80 add r7, r2, #0x0 str r3, [sp, #0x18] bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x0 add r1, r4, #0x0 mov r2, #0x80 blx MIi_CpuClearFast bl FUN_020222F0 str r0, [sp, #0x1c] bl FUN_020222E8 add r1, r0, #0x0 ldr r2, [sp, #0x1c] mov r0, #0x0 blx MIi_CpuClear16 bl FUN_02022300 str r0, [sp, #0x20] bl FUN_020222F8 add r1, r0, #0x0 ldr r2, [sp, #0x20] mov r0, #0x0 blx MIi_CpuClear16 ldr r0, [sp, #0x14] str r6, [r4, #0x24] mov r1, #0x5 mov r2, #0x0 str r0, [r4, #0x28] bl FUN_020671BC add r1, r4, #0x0 add r1, #0x60 strh r0, [r1, #0x0] add r0, r4, #0x0 add r0, #0x62 strh r7, [r0, #0x0] str r5, [r4, #0x5c] add r0, r5, #0x0 bl FUN_02002FD0 str r0, [r4, #0x14] mov r1, #0x1 bl FUN_020038F0 mov r2, #0x2 ldr r0, [r4, #0x14] mov r1, #0x0 lsl r2, r2, #0x8 add r3, r5, #0x0 bl FUN_02003008 mov r1, #0x1 ldr r0, [r4, #0x14] lsl r2, r1, #0x9 add r3, r5, #0x0 bl FUN_02003008 mov r2, #0x7 ldr r0, [r4, #0x14] mov r1, #0x2 lsl r2, r2, #0x6 add r3, r5, #0x0 bl FUN_02003008 mov r2, #0x2 ldr r0, [r4, #0x14] mov r1, #0x3 lsl r2, r2, #0x8 add r3, r5, #0x0 bl FUN_02003008 add r0, r5, #0x0 bl FUN_02016B94 str r0, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x1 bl FUN_02018FF4 str r0, [r4, #0x4] ldr r0, [sp, #0x18] str r0, [r4, #0x2c] add r0, r5, #0x0 bl FUN_0206DE78 str r0, [r4, #0x34] bl FUN_0206DE24 bl FUN_0206DE4C bl FUN_0206DF18 ldr r1, [r4, #0x0] add r0, r4, #0x0 bl FUN_0206D9B4 mov r0, #0x13 str r0, [sp, #0x0] mov r0, #0x1b str r0, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] mov r0, #0xb str r0, [sp, #0xc] mov r0, #0x1f str r0, [sp, #0x10] ldr r0, [r4, #0x0] ldr r1, [r4, #0x4] mov r2, #0x1 mov r3, #0x2 bl FUN_02019064 ldr r0, [r4, #0x4] mov r1, #0xff bl FUN_02019620 ldr r0, [r4, #0x4] mov r1, #0x0 mov r2, #0x1 mov r3, #0xa bl FUN_0200D0BC add r0, r5, #0x0 bl FUN_02006D98 str r0, [r4, #0x18] add r0, r5, #0x0 mov r1, #0x1 mov r2, #0x0 bl FUN_02014BF4 str r0, [r4, #0x44] add r0, r4, #0x0 mov r2, #0x51 mov r1, #0x0 add r0, #0x67 strb r1, [r0, #0x0] add r0, r4, #0x0 mov r1, #0x2 add r0, #0x66 strb r1, [r0, #0x0] mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 add r3, r5, #0x0 bl FUN_0200A86C str r0, [r4, #0x8] add r0, r5, #0x0 bl FUN_0200AA80 str r0, [r4, #0xc] mov r0, #0x5 lsl r0, r0, #0x6 add r1, r5, #0x0 bl FUN_020219F4 str r0, [r4, #0x10] add r0, r5, #0x0 mov r1, #0x30 bl FUN_02016998 str r0, [r4, #0x3c] ldr r1, [r4, #0x3c] mov r0, #0x0 mov r2, #0x30 blx MIi_CpuClearFast ldr r1, [sp, #0x38] ldr r0, [r4, #0x3c] str r1, [r0, #0x2c] ldr r0, [sp, #0x3c] str r0, [r4, #0x48] ldr r0, [sp, #0x40] str r0, [r4, #0x4c] ldr r0, [sp, #0x44] str r0, [r4, #0x50] ldr r0, [sp, #0x48] str r0, [r4, #0x54] ldr r0, [sp, #0x4c] str r0, [r4, #0x78] ldr r0, [sp, #0x50] str r0, [r4, #0x7c] add r0, r4, #0x0 bl FUN_0206DC80 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x0 str r0, [sp, #0x4] str r0, [sp, #0x8] ldr r0, [r4, #0x14] ldr r2, _0206C8E4 ; =0x0000FFFF mov r1, #0xf mov r3, #0x1 bl FUN_02003210 mov r2, #0x0 str r2, [sp, #0x0] ldr r0, [r4, #0x18] mov r1, #0x10 add r3, r2, #0x0 bl FUN_02007E98 ldr r0, [r4, #0x14] mov r1, #0x0 mov r2, #0xb add r3, r5, #0x0 bl FUN_020142EC mov r1, #0x1 str r0, [r4, #0x58] bl FUN_020143A8 ldr r0, _0206C8E8 ; =FUN_0206C8EC add r1, r4, #0x0 mov r2, #0x0 bl FUN_0200CA44 mov r0, #0x1 bl FUN_02002B60 bl FUN_02033E74 add r0, r4, #0x0 add sp, #0x24 pop {r4-r7, pc} nop _0206C8E4: .word 0x0000FFFF _0206C8E8: .word FUN_0206C8EC thumb_func_start FUN_0206C8EC FUN_0206C8EC: ; 0x0206C8EC push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0206C9C0 ldr r0, [r5, #0x18] bl FUN_02006ED4 bl FUN_0206DF58 mov r0, #0x1 mov r1, #0x0 bl FUN_020222B4 add r5, #0x67 ldrb r0, [r5, #0x0] cmp r0, #0x0 beq _0206C918 add r0, r4, #0x0 bl FUN_0200CAB4 _0206C918: pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0206C91C FUN_0206C91C: ; 0x0206C91C add r0, #0x67 ldrb r0, [r0, #0x0] cmp r0, #0x1 bne _0206C928 mov r0, #0x1 bx lr _0206C928: mov r0, #0x0 bx lr thumb_func_start FUN_0206C92C FUN_0206C92C: ; 0x0206C92C push {r4, lr} add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 bl FUN_0200E3A0 mov r0, #0x1 mov r1, #0x0 bl FUN_0200E3A0 mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F10 ldr r0, [r4, #0x4] mov r1, #0x1 bl FUN_020191A4 ldr r0, [r4, #0x14] mov r1, #0x0 bl FUN_02003038 ldr r0, [r4, #0x14] mov r1, #0x1 bl FUN_02003038 ldr r0, [r4, #0x14] mov r1, #0x2 bl FUN_02003038 ldr r0, [r4, #0x14] mov r1, #0x3 bl FUN_02003038 ldr r0, [r4, #0x14] bl FUN_02002FEC ldr r0, [r4, #0x18] bl FUN_020072E8 ldr r0, [r4, #0x44] bl FUN_02014C28 ldr r0, [r4, #0x34] bl FUN_020223BC ldr r0, [r4, #0x0] bl FUN_0206DC48 ldr r0, [r4, #0x8] bl FUN_0200A8B8 ldr r0, [r4, #0xc] bl FUN_0200AB18 ldr r0, [r4, #0x10] bl FUN_02016A18 ldr r0, [r4, #0x3c] bl FUN_02016A18 ldr r0, [r4, #0x58] bl FUN_020143D0 ldr r0, [r4, #0x0] bl FUN_02016A18 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x0 bl FUN_02002B60 pop {r4, pc} thumb_func_start FUN_0206C9C0 FUN_0206C9C0: ; 0x0206C9C0 push {r3-r4, lr} sub sp, #0x54 add r4, r0, #0x0 add r0, #0x70 ldrb r1, [r0, #0x0] cmp r1, #0x0 beq _0206CA9C mov r0, #0x1 tst r0, r1 ldr r0, [r4, #0x1c] bne _0206CA2E add r2, r4, #0x0 add r2, #0x71 ldrb r2, [r2, #0x0] mov r1, #0xc neg r2, r2 bl FUN_020079E0 add r2, r4, #0x0 add r2, #0x71 ldrb r2, [r2, #0x0] ldr r0, [r4, #0x1c] mov r1, #0xd neg r2, r2 bl FUN_020079E0 add r2, r4, #0x0 add r2, #0x71 ldrb r2, [r2, #0x0] ldr r0, [r4, #0x20] mov r1, #0xc bl FUN_020079E0 add r2, r4, #0x0 add r2, #0x71 ldrb r2, [r2, #0x0] ldr r0, [r4, #0x20] mov r1, #0xd bl FUN_020079E0 ldr r0, [r4, #0x1c] mov r1, #0xc bl FUN_0200782C cmp r0, #0x0 bne _0206CA9C add r0, r4, #0x0 add r0, #0x70 ldrb r1, [r0, #0x0] mov r0, #0x1 eor r1, r0 add r0, r4, #0x0 add r0, #0x70 strb r1, [r0, #0x0] b _0206CA9C _0206CA2E: add r2, r4, #0x0 add r2, #0x71 ldrb r2, [r2, #0x0] mov r1, #0xc bl FUN_020079E0 add r2, r4, #0x0 add r2, #0x71 ldrb r2, [r2, #0x0] ldr r0, [r4, #0x1c] mov r1, #0xd bl FUN_020079E0 add r2, r4, #0x0 add r2, #0x71 ldrb r2, [r2, #0x0] ldr r0, [r4, #0x20] mov r1, #0xc neg r2, r2 bl FUN_020079E0 add r2, r4, #0x0 add r2, #0x71 ldrb r2, [r2, #0x0] ldr r0, [r4, #0x20] mov r1, #0xd neg r2, r2 bl FUN_020079E0 ldr r0, [r4, #0x20] mov r1, #0xc bl FUN_0200782C cmp r0, #0x0 bne _0206CA9C add r0, r4, #0x0 add r0, #0x70 ldrb r1, [r0, #0x0] mov r0, #0x1 eor r1, r0 add r0, r4, #0x0 add r0, #0x70 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x71 ldrb r0, [r0, #0x0] cmp r0, #0x40 bhs _0206CA9C add r0, r4, #0x0 add r0, #0x71 ldrb r0, [r0, #0x0] lsl r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x71 strb r1, [r0, #0x0] _0206CA9C: ldr r1, [r4, #0x7c] mov r0, #0x1 tst r0, r1 beq _0206CAD6 add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] cmp r0, #0x8 bne _0206CAD6 ldr r0, _0206CE0C ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x2 tst r0, r1 beq _0206CAD6 mov r3, #0x0 str r3, [sp, #0x0] mov r0, #0x10 str r0, [sp, #0x4] ldr r0, _0206CE10 ; =0x00007FFF ldr r2, _0206CE14 ; =0x0000F3FF str r0, [sp, #0x8] ldr r0, [r4, #0x14] mov r1, #0xf bl FUN_02003210 add r0, r4, #0x0 mov r1, #0x29 add r0, #0x64 strb r1, [r0, #0x0] _0206CAD6: add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] cmp r0, #0x2d bhi _0206CBA8 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0206CAEC: ; jump table (using 16-bit offset) .short _0206CB48 - _0206CAEC - 2; case 0 .short _0206CB70 - _0206CAEC - 2; case 1 .short _0206CB9E - _0206CAEC - 2; case 2 .short _0206CBCC - _0206CAEC - 2; case 3 .short _0206CBE4 - _0206CAEC - 2; case 4 .short _0206CC66 - _0206CAEC - 2; case 5 .short _0206CCB2 - _0206CAEC - 2; case 6 .short _0206CD34 - _0206CAEC - 2; case 7 .short _0206CDC8 - _0206CAEC - 2; case 8 .short _0206CE8A - _0206CAEC - 2; case 9 .short _0206CF18 - _0206CAEC - 2; case 10 .short _0206CF7E - _0206CAEC - 2; case 11 .short _0206CFFA - _0206CAEC - 2; case 12 .short _0206D06E - _0206CAEC - 2; case 13 .short _0206D0E8 - _0206CAEC - 2; case 14 .short _0206D188 - _0206CAEC - 2; case 15 .short _0206D12C - _0206CAEC - 2; case 16 .short _0206D188 - _0206CAEC - 2; case 17 .short _0206D162 - _0206CAEC - 2; case 18 .short _0206D188 - _0206CAEC - 2; case 19 .short _0206D1C0 - _0206CAEC - 2; case 20 .short _0206D20E - _0206CAEC - 2; case 21 .short _0206D260 - _0206CAEC - 2; case 22 .short _0206D2E2 - _0206CAEC - 2; case 23 .short _0206D360 - _0206CAEC - 2; case 24 .short _0206D480 - _0206CAEC - 2; case 25 .short _0206D188 - _0206CAEC - 2; case 26 .short _0206D4A6 - _0206CAEC - 2; case 27 .short _0206D188 - _0206CAEC - 2; case 28 .short _0206D4F8 - _0206CAEC - 2; case 29 .short _0206D188 - _0206CAEC - 2; case 30 .short _0206D51E - _0206CAEC - 2; case 31 .short _0206D398 - _0206CAEC - 2; case 32 .short _0206D188 - _0206CAEC - 2; case 33 .short _0206D3CC - _0206CAEC - 2; case 34 .short _0206D3EE - _0206CAEC - 2; case 35 .short _0206D44E - _0206CAEC - 2; case 36 .short _0206D5AA - _0206CAEC - 2; case 37 .short _0206D5C8 - _0206CAEC - 2; case 38 .short _0206D5F4 - _0206CAEC - 2; case 39 .short _0206D628 - _0206CAEC - 2; case 40 .short _0206D648 - _0206CAEC - 2; case 41 .short _0206D6EE - _0206CAEC - 2; case 42 .short _0206D748 - _0206CAEC - 2; case 43 .short _0206D79C - _0206CAEC - 2; case 44 .short _0206D7F6 - _0206CAEC - 2; case 45 _0206CB48: add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] sub r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0206CBA8 add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206CB70: mov r0, #0x0 bl FUN_0200E394 mov r0, #0x1 bl FUN_0200E394 ldr r0, [r4, #0x58] mov r1, #0x0 bl FUN_020143A8 ldr r1, [r4, #0x7c] mov r0, #0x2 tst r1, r0 beq _0206CB94 add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206CB94: mov r0, #0x4 add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206CB9E: ldr r0, [r4, #0x14] bl FUN_020038E4 cmp r0, #0x0 beq _0206CBAC _0206CBA8: bl _0206D806 _0206CBAC: mov r1, #0xe5 add r0, r4, #0x0 lsl r1, r1, #0x2 bl FUN_0206DD6C add r1, r4, #0x0 add r1, #0x65 strb r0, [r1, #0x0] add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206CBCC: add r0, r4, #0x0 add r0, #0x65 ldrb r0, [r0, #0x0] bl FUN_0201BD70 cmp r0, #0x0 bne _0206CCCA mov r0, #0x4 add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206CBE4: ldr r0, [r4, #0x14] bl FUN_020038E4 cmp r0, #0x0 bne _0206CCCA mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] add r2, r4, #0x0 add r2, #0x60 ldrh r2, [r2, #0x0] ldr r0, [r4, #0x44] ldr r1, [r4, #0x1c] mov r3, #0x2 bl FUN_02069038 add r1, r4, #0x0 add r1, #0x60 ldrh r1, [r1, #0x0] add r0, sp, #0x40 bl FUN_02069010 ldr r0, [r4, #0x1c] add r1, sp, #0x40 bl FUN_0200737C ldr r0, [r4, #0x1c] mov r1, #0x0 bl FUN_02007314 add r0, r4, #0x0 add r0, #0x60 ldrh r0, [r0, #0x0] bl FUN_02005578 ldr r0, [r4, #0x28] bl FUN_020690E4 add r2, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x0 bl FUN_0200ACF8 ldr r1, [r4, #0x7c] mov r0, #0x2 tst r0, r1 beq _0206CC4E ldr r1, _0206CE18 ; =0x00000395 add r0, r4, #0x0 bl FUN_0206DD6C b _0206CC56 _0206CC4E: ldr r1, _0206CE1C ; =0x00000393 add r0, r4, #0x0 bl FUN_0206DD6C _0206CC56: add r1, r4, #0x0 add r1, #0x65 strb r0, [r1, #0x0] mov r0, #0x5 add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206CC66: add r0, r4, #0x0 add r0, #0x65 ldrb r0, [r0, #0x0] bl FUN_0201BD70 cmp r0, #0x0 bne _0206CCCA bl FUN_02005670 cmp r0, #0x0 bne _0206CCCA ldr r0, [r4, #0x44] mov r1, #0x0 bl FUN_02014D7C cmp r0, #0x1 bne _0206CCCA ldr r0, [r4, #0x1c] bl FUN_02007390 cmp r0, #0x0 bne _0206CCCA ldr r0, [r4, #0x58] mov r1, #0x1 bl FUN_020143A8 ldr r0, _0206CE20 ; =0x00000475 bl FUN_020051F4 add r0, r4, #0x0 mov r1, #0x14 add r0, #0x66 strb r1, [r0, #0x0] mov r0, #0x6 add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206CCB2: add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] sub r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _0206CCCE _0206CCCA: bl _0206D806 _0206CCCE: ldr r0, [r4, #0x5c] str r0, [sp, #0x10] mov r0, #0x0 str r0, [sp, #0x14] add r0, sp, #0x10 bl FUN_0206E07C mov r1, #0x0 str r0, [r4, #0x30] bl FUN_0206E0AC ldr r0, _0206CE10 ; =0x00007FFF mov r1, #0x0 str r0, [sp, #0x0] ldr r0, [r4, #0x1c] mov r2, #0x10 mov r3, #0x4 bl FUN_02007E68 ldr r0, _0206CE10 ; =0x00007FFF mov r1, #0x0 str r0, [sp, #0x0] ldr r0, [r4, #0x20] mov r2, #0x10 mov r3, #0x4 bl FUN_02007E68 ldr r0, [r4, #0x5c] bl FUN_02016AF8 mov r1, #0x2 lsl r1, r1, #0xe cmp r0, r1 bhi _0206CD16 bl ErrorHandling _0206CD16: ldr r0, _0206CE24 ; =0x000005F9 bl FUN_020054C8 add r0, r4, #0x0 mov r1, #0x28 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206CD34: add r0, r4, #0x0 add r0, #0x73 ldrb r0, [r0, #0x0] cmp r0, #0x28 bhs _0206CD5A add r0, r4, #0x0 add r0, #0x73 ldrb r0, [r0, #0x0] add r1, r0, #0x2 add r0, r4, #0x0 add r0, #0x73 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x75 ldrb r0, [r0, #0x0] sub r1, r0, #0x2 add r0, r4, #0x0 add r0, #0x75 strb r1, [r0, #0x0] _0206CD5A: add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] sub r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0206CDD2 ldr r0, [r4, #0x30] mov r1, #0x1 bl FUN_0206E0AC ldr r0, [r4, #0x30] mov r1, #0x2 bl FUN_0206E0AC ldr r0, [r4, #0x30] mov r1, #0x7 bl FUN_0206E0AC ldr r0, [r4, #0x30] mov r1, #0x8 bl FUN_0206E0AC ldr r0, [r4, #0x30] mov r1, #0x9 bl FUN_0206E0AC ldr r0, [r4, #0x30] mov r1, #0xb bl FUN_0206E0AC ldr r0, _0206CE28 ; =0x000005FA bl FUN_020054C8 add r0, r4, #0x0 mov r1, #0x10 add r0, #0x70 strb r1, [r0, #0x0] add r0, r4, #0x0 mov r1, #0x8 add r0, #0x71 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206CDC8: ldr r0, [r4, #0x30] bl FUN_0206E0C8 cmp r0, #0x0 beq _0206CDD6 _0206CDD2: bl _0206D806 _0206CDD6: ldr r0, [r4, #0x30] mov r1, #0x3 bl FUN_0206E0AC ldr r0, [r4, #0x30] mov r1, #0x4 bl FUN_0206E0AC ldr r0, [r4, #0x30] mov r1, #0x5 bl FUN_0206E0AC ldr r0, [r4, #0x30] mov r1, #0x6 bl FUN_0206E0AC ldr r0, [r4, #0x30] mov r1, #0xa bl FUN_0206E0AC mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x10 str r0, [sp, #0x4] ldr r0, _0206CE10 ; =0x00007FFF ldr r2, _0206CE14 ; =0x0000F3FF b _0206CE2C .balign 4 _0206CE0C: .word 0x021C48B8 _0206CE10: .word 0x00007FFF _0206CE14: .word 0x0000F3FF _0206CE18: .word 0x00000395 _0206CE1C: .word 0x00000393 _0206CE20: .word 0x00000475 _0206CE24: .word 0x000005F9 _0206CE28: .word 0x000005FA _0206CE2C: str r0, [sp, #0x8] ldr r0, [r4, #0x14] mov r1, #0xf mov r3, #0x2 bl FUN_02003210 ldr r0, [r4, #0x1c] mov r1, #0xc mov r2, #0x0 bl FUN_02007558 ldr r0, [r4, #0x1c] mov r1, #0xd mov r2, #0x0 bl FUN_02007558 mov r1, #0xc add r2, r1, #0x0 ldr r0, [r4, #0x20] add r2, #0xf4 bl FUN_02007558 mov r1, #0xd add r2, r1, #0x0 ldr r0, [r4, #0x20] add r2, #0xf3 bl FUN_02007558 ldr r0, _0206D1C8 ; =0x000005FB bl FUN_020054C8 add r0, r4, #0x0 mov r1, #0x0 add r0, #0x70 strb r1, [r0, #0x0] add r0, r4, #0x0 mov r1, #0x8 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206CE8A: add r0, r4, #0x0 add r0, #0x73 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _0206CEB0 add r0, r4, #0x0 add r0, #0x73 ldrb r0, [r0, #0x0] sub r1, r0, #0x2 add r0, r4, #0x0 add r0, #0x73 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x75 ldrb r0, [r0, #0x0] add r1, r0, #0x2 add r0, r4, #0x0 add r0, #0x75 strb r1, [r0, #0x0] _0206CEB0: ldr r0, [r4, #0x14] bl FUN_020038E4 cmp r0, #0x0 bne _0206CF2C add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] sub r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0206CF2C ldr r0, [r4, #0x30] mov r1, #0xc bl FUN_0206E0AC mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x0 str r0, [sp, #0x4] ldr r0, _0206D1CC ; =0x00007FFF ldr r2, _0206D1D0 ; =0x0000F3FF str r0, [sp, #0x8] ldr r0, [r4, #0x14] mov r1, #0xf mov r3, #0x4 bl FUN_02003210 ldr r0, _0206D1CC ; =0x00007FFF mov r1, #0x10 str r0, [sp, #0x0] ldr r0, [r4, #0x18] mov r2, #0x0 mov r3, #0x3 bl FUN_02007E98 ldr r0, _0206D1D4 ; =0x000005FC bl FUN_020054C8 add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206CF18: ldr r0, [r4, #0x14] bl FUN_020038E4 cmp r0, #0x0 bne _0206CF2C ldr r0, [r4, #0x30] bl FUN_0206E0C8 cmp r0, #0x0 beq _0206CF30 _0206CF2C: bl _0206D806 _0206CF30: mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] add r2, r4, #0x0 add r2, #0x62 ldrh r2, [r2, #0x0] ldr r0, [r4, #0x44] ldr r1, [r4, #0x20] mov r3, #0x2 bl FUN_02069038 add r1, r4, #0x0 add r1, #0x62 ldrh r1, [r1, #0x0] add r0, sp, #0x2c bl FUN_02069010 ldr r0, [r4, #0x20] add r1, sp, #0x2c bl FUN_0200737C ldr r0, [r4, #0x20] mov r1, #0x0 bl FUN_02007314 add r0, r4, #0x0 add r0, #0x62 ldrh r0, [r0, #0x0] bl FUN_02005578 add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206CF7E: bl FUN_02005670 cmp r0, #0x0 bne _0206D084 ldr r0, [r4, #0x44] mov r1, #0x0 bl FUN_02014D7C cmp r0, #0x1 bne _0206D084 ldr r0, [r4, #0x20] bl FUN_02007390 cmp r0, #0x0 bne _0206D084 add r2, r4, #0x0 ldr r0, [r4, #0x28] mov r1, #0x5 add r2, #0x62 bl FUN_02067830 ldr r0, [r4, #0x28] bl FUN_0206A1C4 ldr r0, [r4, #0x28] bl FUN_02066ED8 ldr r0, [r4, #0x28] bl FUN_020690E4 add r2, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x0 bl FUN_0200ACF8 ldr r0, [r4, #0x28] bl FUN_020690E4 add r2, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x1 bl FUN_0200AC60 ldr r1, _0206D1D8 ; =0x00000396 add r0, r4, #0x0 bl FUN_0206DD6C add r1, r4, #0x0 add r1, #0x65 strb r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0x28 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206CFFA: add r0, r4, #0x0 add r0, #0x65 ldrb r0, [r0, #0x0] bl FUN_0201BD70 cmp r0, #0x0 bne _0206D084 add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] sub r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0206D084 ldr r0, [r4, #0x48] ldr r1, [r4, #0x28] bl FUN_02024AF0 ldr r0, [r4, #0x50] mov r1, #0xc bl FUN_0202A0E8 ldr r0, [r4, #0x50] mov r1, #0x16 bl FUN_0202A170 ldr r0, [r4, #0x28] bl FUN_020690E4 add r1, r0, #0x0 ldr r0, [r4, #0x54] bl FUN_0204C104 ldr r0, [r4, #0x28] mov r1, #0x4d mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 bne _0206D05E ldr r0, [r4, #0x28] mov r1, #0xb2 mov r2, #0x0 bl FUN_02067830 _0206D05E: add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D06E: add r1, r4, #0x0 ldr r0, [r4, #0x28] add r1, #0x68 add r2, sp, #0xc bl FUN_02069818 cmp r0, #0x0 beq _0206D08E ldr r1, _0206D1DC ; =0x0000FFFE cmp r0, r1 bne _0206D086 _0206D084: b _0206D806 _0206D086: add r1, r1, #0x1 cmp r0, r1 beq _0206D098 b _0206D0AC _0206D08E: mov r0, #0x27 add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D098: add r0, sp, #0xc ldrh r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x6c strh r1, [r0, #0x0] mov r0, #0xe add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D0AC: ldr r0, [r4, #0x28] bl FUN_020690E4 add r2, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x0 bl FUN_0200ACF8 add r2, sp, #0xc ldrh r2, [r2, #0x0] ldr r0, [r4, #0xc] mov r1, #0x1 bl FUN_0200AD5C add r0, r4, #0x0 mov r1, #0x4 bl FUN_0206DD6C add r1, r4, #0x0 add r1, #0x65 strb r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0x14 add r0, #0x66 strb r1, [r0, #0x0] mov r0, #0x25 add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D0E8: ldr r0, [r4, #0x28] bl FUN_020690E4 add r2, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x0 bl FUN_0200ACF8 add r2, r4, #0x0 add r2, #0x6c ldrh r2, [r2, #0x0] ldr r0, [r4, #0xc] mov r1, #0x1 bl FUN_0200AD5C ldr r1, _0206D1E0 ; =0x000004A9 add r0, r4, #0x0 bl FUN_0206DD6C add r1, r4, #0x0 add r1, #0x65 strb r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0x14 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D12C: ldr r0, [r4, #0x28] bl FUN_020690E4 add r2, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x0 bl FUN_0200ACF8 ldr r1, _0206D1E4 ; =0x000004AA add r0, r4, #0x0 bl FUN_0206DD6C add r1, r4, #0x0 add r1, #0x65 strb r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0x14 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D162: ldr r1, _0206D1E8 ; =0x000004AB add r0, r4, #0x0 bl FUN_0206DD6C add r1, r4, #0x0 add r1, #0x65 strb r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0x1 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D188: add r0, r4, #0x0 add r0, #0x65 ldrb r0, [r0, #0x0] bl FUN_0201BD70 cmp r0, #0x0 bne _0206D1AE add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] sub r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _0206D1B0 _0206D1AE: b _0206D806 _0206D1B0: add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D1C0: ldr r0, [r4, #0x5c] ldr r1, _0206D1EC ; =0x020F8320 b _0206D1F0 nop _0206D1C8: .word 0x000005FB _0206D1CC: .word 0x00007FFF _0206D1D0: .word 0x0000F3FF _0206D1D4: .word 0x000005FC _0206D1D8: .word 0x00000396 _0206D1DC: .word 0x0000FFFE _0206D1E0: .word 0x000004A9 _0206D1E4: .word 0x000004AA _0206D1E8: .word 0x000004AB _0206D1EC: .word 0x020F8320 _0206D1F0: str r0, [sp, #0x0] ldr r0, [r4, #0x0] mov r2, #0x1 mov r3, #0x8 bl FUN_02002198 str r0, [r4, #0x40] add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D20E: ldr r0, [r4, #0x40] ldr r1, [r4, #0x5c] bl FUN_020021AC cmp r0, #0x0 beq _0206D226 mov r1, #0x1 mvn r1, r1 cmp r0, r1 beq _0206D256 add sp, #0x54 pop {r3-r4, pc} _0206D226: add r0, r4, #0x0 mov r1, #0x16 add r0, #0x64 strb r1, [r0, #0x0] mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0x10 str r0, [sp, #0x4] str r1, [sp, #0x8] ldr r0, [r4, #0x14] ldr r2, _0206D540 ; =0x0000FFFF mov r1, #0xf mov r3, #0x1 bl FUN_02003210 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, [r4, #0x18] mov r2, #0x10 add r3, r1, #0x0 bl FUN_02007E98 add sp, #0x54 pop {r3-r4, pc} _0206D256: mov r0, #0x20 add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D260: ldr r0, [r4, #0x14] bl FUN_020038E4 cmp r0, #0x0 bne _0206D2EC mov r0, #0x0 add r1, r0, #0x0 bl FUN_0200E3A0 mov r0, #0x1 mov r1, #0x0 bl FUN_0200E3A0 ldr r0, [r4, #0x0] bl FUN_0206DC48 ldr r0, [r4, #0x1c] mov r1, #0x6 mov r2, #0x1 bl FUN_02007558 ldr r0, [r4, #0x20] mov r1, #0x6 mov r2, #0x1 bl FUN_02007558 ldr r1, [r4, #0x28] ldr r0, [r4, #0x3c] mov r2, #0x1 str r1, [r0, #0x0] ldr r1, [r4, #0x2c] ldr r0, [r4, #0x3c] str r1, [r0, #0x4] ldr r1, [r4, #0x3c] mov r0, #0x0 strb r0, [r1, #0x11] ldr r1, [r4, #0x3c] strb r0, [r1, #0x14] ldr r1, [r4, #0x3c] strb r2, [r1, #0x13] add r1, r4, #0x0 add r1, #0x6c ldrh r2, [r1, #0x0] ldr r1, [r4, #0x3c] strh r2, [r1, #0x18] ldr r1, [r4, #0x3c] mov r2, #0x2 strb r2, [r1, #0x12] ldr r1, [r4, #0x3c] str r0, [r1, #0x28] ldr r0, [r4, #0x3c] ldr r1, _0206D544 ; =0x020F831C bl FUN_0207B000 add r0, r4, #0x0 bl FUN_0206DE0C add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D2E2: ldr r0, [r4, #0x38] bl FUN_02006290 cmp r0, #0x0 bne _0206D2EE _0206D2EC: b _0206D806 _0206D2EE: ldr r0, [r4, #0x38] bl FUN_02006260 ldr r1, [r4, #0x0] add r0, r4, #0x0 bl FUN_0206D9B4 ldr r0, [r4, #0x4] mov r1, #0x0 mov r2, #0x1 mov r3, #0xa bl FUN_0200D0BC ldr r0, [r4, #0x1c] mov r1, #0x6 mov r2, #0x0 bl FUN_02007558 ldr r0, [r4, #0x20] mov r1, #0x6 mov r2, #0x0 bl FUN_02007558 ldr r0, [r4, #0x1c] bl FUN_020080D0 ldr r0, [r4, #0x20] bl FUN_020080D0 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x0 str r0, [sp, #0x4] str r0, [sp, #0x8] ldr r0, [r4, #0x14] ldr r2, _0206D540 ; =0x0000FFFF mov r1, #0xf mov r3, #0x1 bl FUN_02003210 mov r2, #0x0 str r2, [sp, #0x0] ldr r0, [r4, #0x18] mov r1, #0x10 add r3, r2, #0x0 bl FUN_02007E98 bl FUN_02033E74 add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D360: mov r0, #0x0 bl FUN_0200E394 mov r0, #0x1 bl FUN_0200E394 ldr r0, [r4, #0x14] bl FUN_020038E4 cmp r0, #0x0 bne _0206D474 ldr r0, [r4, #0x3c] ldrb r1, [r0, #0x16] cmp r1, #0x4 bne _0206D388 mov r0, #0x20 add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D388: add r0, r4, #0x0 add r0, #0x6e strb r1, [r0, #0x0] mov r0, #0x19 add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D398: add r2, r4, #0x0 add r2, #0x6c ldrh r2, [r2, #0x0] ldr r0, [r4, #0xc] mov r1, #0x0 bl FUN_0200AD5C ldr r1, _0206D548 ; =0x000004AD add r0, r4, #0x0 bl FUN_0206DD6C add r1, r4, #0x0 add r1, #0x65 strb r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0x1 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D3CC: ldr r0, [r4, #0x5c] ldr r1, _0206D54C ; =0x020F8320 str r0, [sp, #0x0] ldr r0, [r4, #0x0] mov r2, #0x1 mov r3, #0x8 bl FUN_02002198 str r0, [r4, #0x40] add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D3EE: ldr r0, [r4, #0x40] ldr r1, [r4, #0x5c] bl FUN_020021AC cmp r0, #0x0 beq _0206D406 mov r1, #0x1 mvn r1, r1 cmp r0, r1 beq _0206D444 add sp, #0x54 pop {r3-r4, pc} _0206D406: ldr r0, [r4, #0x28] bl FUN_020690E4 add r2, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x0 bl FUN_0200ACF8 add r2, r4, #0x0 add r2, #0x6c ldrh r2, [r2, #0x0] ldr r0, [r4, #0xc] mov r1, #0x1 bl FUN_0200AD5C ldr r1, _0206D550 ; =0x000004AE add r0, r4, #0x0 bl FUN_0206DD6C add r1, r4, #0x0 add r1, #0x65 strb r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0x14 add r0, #0x66 strb r1, [r0, #0x0] mov r0, #0x24 add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D444: mov r0, #0xe add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D44E: add r0, r4, #0x0 add r0, #0x65 ldrb r0, [r0, #0x0] bl FUN_0201BD70 cmp r0, #0x0 bne _0206D474 add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] sub r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _0206D476 _0206D474: b _0206D806 _0206D476: mov r0, #0xd add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D480: ldr r1, _0206D554 ; =0x000004AF add r0, r4, #0x0 bl FUN_0206DD6C add r1, r4, #0x0 add r1, #0x65 strb r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0x14 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D4A6: ldr r0, [r4, #0x28] bl FUN_020690E4 add r2, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x0 bl FUN_0200ACF8 add r1, r4, #0x0 add r1, #0x6e ldrb r1, [r1, #0x0] ldr r0, [r4, #0x28] mov r2, #0x0 add r1, #0x36 bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x1 bl FUN_0200AD5C mov r1, #0x4b add r0, r4, #0x0 lsl r1, r1, #0x4 bl FUN_0206DD6C add r1, r4, #0x0 add r1, #0x65 strb r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0x14 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D4F8: ldr r1, _0206D558 ; =0x000004B1 add r0, r4, #0x0 bl FUN_0206DD6C add r1, r4, #0x0 add r1, #0x65 strb r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0x14 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D51E: ldr r0, [r4, #0x28] bl FUN_020690E4 add r2, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x0 bl FUN_0200ACF8 add r2, r4, #0x0 add r2, #0x6c ldrh r2, [r2, #0x0] ldr r0, [r4, #0xc] mov r1, #0x1 bl FUN_0200AD5C ldr r1, _0206D55C ; =0x000004B2 b _0206D560 .balign 4 _0206D540: .word 0x0000FFFF _0206D544: .word 0x020F831C _0206D548: .word 0x000004AD _0206D54C: .word 0x020F8320 _0206D550: .word 0x000004AE _0206D554: .word 0x000004AF _0206D558: .word 0x000004B1 _0206D55C: .word 0x000004B2 _0206D560: add r0, r4, #0x0 bl FUN_0206DD6C add r1, r4, #0x0 add r1, #0x65 strb r0, [r1, #0x0] add r0, r4, #0x0 add r2, r4, #0x0 mov r1, #0x0 add r0, #0x66 strb r1, [r0, #0x0] add r1, r4, #0x0 add r1, #0x6e ldrb r1, [r1, #0x0] ldr r0, [r4, #0x28] add r2, #0x66 add r1, #0x3e bl FUN_02067830 add r1, r4, #0x0 add r2, r4, #0x0 add r1, #0x6c add r2, #0x6e ldrh r1, [r1, #0x0] ldrb r2, [r2, #0x0] ldr r0, [r4, #0x28] bl FUN_020697CC add r0, r4, #0x0 mov r1, #0x14 add r0, #0x66 strb r1, [r0, #0x0] mov r0, #0x25 add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D5AA: add r0, r4, #0x0 add r0, #0x65 ldrb r0, [r0, #0x0] bl FUN_0201BD70 cmp r0, #0x0 bne _0206D5E8 add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D5C8: bl FUN_02005CBC cmp r0, #0x0 bne _0206D5E8 add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] sub r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _0206D5EA _0206D5E8: b _0206D806 _0206D5EA: mov r0, #0xd add r4, #0x64 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D5F4: mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0x10 str r0, [sp, #0x4] str r1, [sp, #0x8] ldr r0, [r4, #0x14] ldr r2, _0206D80C ; =0x0000FFFF mov r1, #0xf mov r3, #0x1 bl FUN_02003210 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, [r4, #0x18] mov r2, #0x10 add r3, r1, #0x0 bl FUN_02007E98 add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D628: ldr r0, [r4, #0x14] bl FUN_020038E4 cmp r0, #0x0 bne _0206D6F8 ldr r0, [r4, #0x30] bl FUN_0206E0DC add r0, r4, #0x0 bl FUN_0206D820 mov r0, #0x1 add r4, #0x67 add sp, #0x54 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D648: ldr r0, [r4, #0x14] bl FUN_020038E4 cmp r0, #0x0 bne _0206D6F8 mov r1, #0xc add r2, r1, #0x0 ldr r0, [r4, #0x1c] add r2, #0xf4 bl FUN_02007558 mov r1, #0xd add r2, r1, #0x0 ldr r0, [r4, #0x1c] add r2, #0xf3 bl FUN_02007558 ldr r0, [r4, #0x20] mov r1, #0xc mov r2, #0x0 bl FUN_02007558 ldr r0, [r4, #0x20] mov r1, #0xd mov r2, #0x0 bl FUN_02007558 ldr r0, [r4, #0x20] mov r1, #0x6 mov r2, #0x1 bl FUN_02007558 mov r0, #0x10 str r0, [sp, #0x0] mov r3, #0x0 ldr r0, _0206D810 ; =0x00007FFF str r3, [sp, #0x4] str r0, [sp, #0x8] ldr r0, [r4, #0x14] ldr r2, _0206D814 ; =0x0000F3FF mov r1, #0xf bl FUN_02003210 ldr r0, _0206D810 ; =0x00007FFF mov r2, #0x0 str r0, [sp, #0x0] ldr r0, [r4, #0x18] mov r1, #0x10 add r3, r2, #0x0 bl FUN_02007E98 add r0, r4, #0x0 mov r1, #0x0 add r0, #0x72 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x73 strb r1, [r0, #0x0] add r0, r4, #0x0 mov r2, #0xff add r0, #0x74 strb r2, [r0, #0x0] add r0, r4, #0x0 mov r2, #0xa0 add r0, #0x75 strb r2, [r0, #0x0] add r0, r4, #0x0 add r0, #0x70 strb r1, [r0, #0x0] ldr r0, _0206D818 ; =0x00000475 bl FUN_02005350 ldr r0, [r4, #0x30] bl FUN_0206E0DC add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D6EE: ldr r0, [r4, #0x14] bl FUN_020038E4 cmp r0, #0x0 beq _0206D6FA _0206D6F8: b _0206D806 _0206D6FA: mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] add r2, r4, #0x0 add r2, #0x60 ldrh r2, [r2, #0x0] ldr r0, [r4, #0x44] ldr r1, [r4, #0x1c] mov r3, #0x2 bl FUN_02069038 add r1, r4, #0x0 add r1, #0x60 ldrh r1, [r1, #0x0] add r0, sp, #0x18 bl FUN_02069010 ldr r0, [r4, #0x1c] add r1, sp, #0x18 bl FUN_0200737C ldr r0, [r4, #0x1c] mov r1, #0x0 bl FUN_02007314 add r0, r4, #0x0 add r0, #0x60 ldrh r0, [r0, #0x0] bl FUN_02005578 add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D748: bl FUN_02005670 cmp r0, #0x0 bne _0206D806 ldr r0, [r4, #0x44] mov r1, #0x0 bl FUN_02014D7C cmp r0, #0x1 bne _0206D806 ldr r0, [r4, #0x1c] bl FUN_02007390 cmp r0, #0x0 bne _0206D806 ldr r0, [r4, #0x28] bl FUN_020690E4 add r2, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x0 bl FUN_0200ACF8 ldr r1, _0206D81C ; =0x00000397 add r0, r4, #0x0 bl FUN_0206DD6C add r1, r4, #0x0 add r1, #0x65 strb r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0x14 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D79C: add r0, r4, #0x0 add r0, #0x65 ldrb r0, [r0, #0x0] bl FUN_0201BD70 cmp r0, #0x0 bne _0206D806 add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] sub r1, r0, #0x1 add r0, r4, #0x0 add r0, #0x66 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0206D806 mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0x10 str r0, [sp, #0x4] str r1, [sp, #0x8] ldr r0, [r4, #0x14] ldr r2, _0206D80C ; =0x0000FFFF mov r1, #0xf mov r3, #0x1 bl FUN_02003210 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, [r4, #0x18] mov r2, #0x10 add r3, r1, #0x0 bl FUN_02007E98 add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] add r4, #0x64 add sp, #0x54 add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} _0206D7F6: ldr r0, [r4, #0x14] bl FUN_020038E4 cmp r0, #0x0 bne _0206D806 mov r0, #0x1 add r4, #0x67 strb r0, [r4, #0x0] _0206D806: add sp, #0x54 pop {r3-r4, pc} nop _0206D80C: .word 0x0000FFFF _0206D810: .word 0x00007FFF _0206D814: .word 0x0000F3FF _0206D818: .word 0x00000475 _0206D81C: .word 0x00000397 thumb_func_start FUN_0206D820 FUN_0206D820: ; 0x0206D820 push {r4-r6, lr} sub sp, #0x20 add r4, r0, #0x0 ldr r0, [r4, #0x78] cmp r0, #0x6 bgt _0206D834 bne _0206D830 b _0206D9A0 _0206D830: add sp, #0x20 pop {r4-r6, pc} _0206D834: sub r0, #0xd cmp r0, #0x6 bhi _0206D86C add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0206D846: ; jump table (using 16-bit offset) .short _0206D854 - _0206D846 - 2; case 0 .short _0206D854 - _0206D846 - 2; case 1 .short _0206D9AE - _0206D846 - 2; case 2 .short _0206D9AE - _0206D846 - 2; case 3 .short _0206D9AE - _0206D846 - 2; case 4 .short _0206D9A0 - _0206D846 - 2; case 5 .short _0206D9A0 - _0206D846 - 2; case 6 _0206D854: ldr r0, [r4, #0x4c] ldr r2, [r4, #0x5c] mov r1, #0x4 bl FUN_0206EEF8 cmp r0, #0x0 beq _0206D86C ldr r0, [r4, #0x24] bl FUN_0206B9AC cmp r0, #0x6 blt _0206D86E _0206D86C: b _0206D9AE _0206D86E: ldr r0, [r4, #0x5c] bl FUN_020669C0 add r5, r0, #0x0 ldr r0, [r4, #0x28] add r1, r5, #0x0 bl FUN_02069B88 mov r0, #0x49 lsl r0, r0, #0x2 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x5 add r2, sp, #0x0 bl FUN_02067830 mov r0, #0x4 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x9a add r2, sp, #0x0 bl FUN_02067830 mov r0, #0x0 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x6 add r2, sp, #0x0 bl FUN_02067830 add r0, r5, #0x0 mov r1, #0xb add r2, sp, #0x0 bl FUN_02067830 mov r1, #0x19 str r1, [sp, #0x4] add r6, sp, #0x0 _0206D8BA: add r0, r5, #0x0 add r2, r6, #0x0 bl FUN_02067830 ldr r0, [sp, #0x4] add r1, r0, #0x1 str r1, [sp, #0x4] cmp r1, #0x36 blt _0206D8BA mov r1, #0x4e str r1, [sp, #0x4] add r6, sp, #0x0 _0206D8D2: add r0, r5, #0x0 add r2, r6, #0x0 bl FUN_02067830 ldr r0, [sp, #0x4] add r1, r0, #0x1 str r1, [sp, #0x4] cmp r1, #0x6e blt _0206D8D2 mov r1, #0x7a str r1, [sp, #0x4] add r6, sp, #0x0 _0206D8EA: add r0, r5, #0x0 add r2, r6, #0x0 bl FUN_02067830 ldr r0, [sp, #0x4] add r1, r0, #0x1 str r1, [sp, #0x4] cmp r1, #0x8f blt _0206D8EA add r0, r5, #0x0 mov r1, #0xb2 mov r2, #0x0 bl FUN_02067830 add r0, r5, #0x0 mov r1, #0x4d add r2, sp, #0x0 bl FUN_02067830 add r0, r5, #0x0 mov r1, #0x9f add r2, sp, #0x0 bl FUN_02067830 ldr r0, [r4, #0x5c] bl FUN_020256BC add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa9 add r2, r6, #0x0 bl FUN_02067830 add r0, r6, #0x0 bl FUN_02016A18 add r0, r5, #0x0 mov r1, #0xa1 add r2, sp, #0x0 bl FUN_02067830 mov r0, #0x0 add r1, sp, #0x8 mov r2, #0x18 blx MIi_CpuClearFast add r0, r5, #0x0 mov r1, #0xaa add r2, sp, #0x8 bl FUN_02067830 add r0, r5, #0x0 bl FUN_0206A1C4 add r0, r5, #0x0 bl FUN_02066ED8 ldr r0, [r4, #0x24] add r1, r5, #0x0 bl FUN_0206B900 ldr r0, [r4, #0x48] add r1, r5, #0x0 bl FUN_02024AF0 ldr r0, [r4, #0x50] mov r1, #0xc bl FUN_0202A0E8 ldr r0, [r4, #0x50] mov r1, #0x16 bl FUN_0202A170 add r0, r5, #0x0 bl FUN_020690E4 add r1, r0, #0x0 ldr r0, [r4, #0x54] bl FUN_0204C104 add r0, r5, #0x0 bl FUN_02016A18 ldr r0, [r4, #0x4c] ldr r3, [r4, #0x5c] mov r1, #0x4 mov r2, #0x1 bl FUN_0206EDD4 add sp, #0x20 pop {r4-r6, pc} _0206D9A0: mov r0, #0x0 str r0, [sp, #0x4] ldr r0, [r4, #0x28] mov r1, #0x6 add r2, sp, #0x4 bl FUN_02067830 _0206D9AE: add sp, #0x20 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0206D9B4 FUN_0206D9B4: ; 0x0206D9B4 push {r4-r6, lr} sub sp, #0xb8 add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_0201E6D8 ldr r6, _0206DC28 ; =0x020F8354 add r3, sp, #0x3c mov r2, #0x5 _0206D9C6: ldmia r6!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _0206D9C6 add r0, sp, #0x3c bl FUN_0201E66C mov r1, #0x6 mov r2, #0x2 mov r0, #0x0 lsl r1, r1, #0x18 lsl r2, r2, #0x12 blx MIi_CpuClear32 mov r1, #0x62 mov r2, #0x2 mov r0, #0x0 lsl r1, r1, #0x14 lsl r2, r2, #0x10 blx MIi_CpuClear32 mov r1, #0x19 mov r2, #0x1 mov r0, #0x0 lsl r1, r1, #0x16 lsl r2, r2, #0x12 blx MIi_CpuClear32 mov r1, #0x66 mov r2, #0x2 mov r0, #0x0 lsl r1, r1, #0x14 lsl r2, r2, #0x10 blx MIi_CpuClear32 ldr r6, _0206DC2C ; =0x020F8328 add r3, sp, #0x2c add r2, r3, #0x0 ldmia r6!, {r0-r1} stmia r3!, {r0-r1} ldmia r6!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 bl FUN_02016BBC ldr r6, _0206DC30 ; =0x020F837C add r3, sp, #0x64 mov r2, #0xa _0206DA26: ldmia r6!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _0206DA26 ldr r0, [r6, #0x0] mov r1, #0x1 str r0, [r3, #0x0] add r0, r4, #0x0 add r2, sp, #0x64 mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02018744 add r0, r4, #0x0 mov r1, #0x2 add r2, sp, #0x80 mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x2 bl FUN_02018744 add r0, r4, #0x0 mov r1, #0x3 add r2, sp, #0x9c mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x3 bl FUN_02018744 ldr r1, _0206DC34 ; =0x04000008 mov r0, #0x3 ldrh r2, [r1, #0x0] bic r2, r0 mov r0, #0x1 orr r2, r0 strh r2, [r1, #0x0] add r1, r0, #0x0 bl FUN_0201E6E4 ldr r6, _0206DC38 ; =0x020F8338 add r3, sp, #0x10 ldmia r6!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r6!, {r0-r1} stmia r3!, {r0-r1} ldmia r6!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r6, #0x0] mov r1, #0x4 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x4 bl FUN_02018744 ldr r0, [r5, #0x2c] bl FUN_02025084 add r6, r0, #0x0 lsl r0, r6, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] ldr r0, [r5, #0x5c] mov r1, #0x1 str r0, [sp, #0x4] add r0, r4, #0x0 add r2, r1, #0x0 mov r3, #0xa bl FUN_0200D274 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] ldr r0, [r5, #0x5c] add r2, r4, #0x0 str r0, [sp, #0xc] mov r0, #0x76 mov r3, #0x3 bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] mov r1, #0x1 str r1, [sp, #0x8] ldr r0, [r5, #0x5c] add r2, r4, #0x0 str r0, [sp, #0xc] mov r0, #0x76 mov r3, #0x3 bl FUN_020068C8 mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0x40 str r0, [sp, #0x4] str r1, [sp, #0x8] ldr r0, [r5, #0x14] ldr r3, [r5, #0x5c] mov r1, #0x76 mov r2, #0x8 bl FUN_020030E8 add r0, r6, #0x0 bl FUN_0200CD64 add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] mov r0, #0xa0 str r0, [sp, #0x8] ldr r0, [r5, #0x14] ldr r3, [r5, #0x5c] mov r1, #0x26 bl FUN_020030E8 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] mov r0, #0xb0 str r0, [sp, #0x8] ldr r0, [r5, #0x14] ldr r3, [r5, #0x5c] mov r1, #0xe mov r2, #0x7 bl FUN_020030E8 ldr r0, [r5, #0x5c] mov r1, #0x2 str r0, [sp, #0x0] ldr r0, [r5, #0x0] mov r2, #0x1 mov r3, #0x0 bl FUN_0200CABC bl FUN_0200CAFC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] mov r0, #0x80 str r0, [sp, #0x8] ldr r0, [r5, #0x14] ldr r3, [r5, #0x5c] mov r1, #0x26 bl FUN_020030E8 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] ldr r0, [r5, #0x5c] mov r1, #0xa str r0, [sp, #0xc] mov r0, #0xc add r2, r4, #0x0 mov r3, #0x4 bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] ldr r0, [r5, #0x5c] mov r1, #0xb str r0, [sp, #0xc] mov r0, #0xc add r2, r4, #0x0 mov r3, #0x4 bl FUN_020068C8 mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] mov r1, #0xc ldr r0, [r5, #0x14] ldr r3, [r5, #0x5c] add r2, r1, #0x0 bl FUN_020030E8 mov r0, #0x1 lsl r0, r0, #0x1a ldr r1, [r0, #0x0] ldr r2, _0206DC3C ; =0xFFFF1FFF add r3, r1, #0x0 and r3, r2 lsr r1, r0, #0xd orr r1, r3 ldr r3, _0206DC40 ; =0x04001000 str r1, [r0, #0x0] ldr r1, [r3, #0x0] and r1, r2 str r1, [r3, #0x0] add r3, r0, #0x0 add r3, #0x48 ldrh r4, [r3, #0x0] mov r2, #0x3f mov r1, #0x1f bic r4, r2 orr r1, r4 strh r1, [r3, #0x0] add r0, #0x4a ldrh r3, [r0, #0x0] mov r1, #0x12 bic r3, r2 orr r1, r3 strh r1, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x0 add r0, #0x72 strb r1, [r0, #0x0] add r0, r5, #0x0 add r0, #0x73 strb r1, [r0, #0x0] add r0, r5, #0x0 mov r1, #0xff add r0, #0x74 strb r1, [r0, #0x0] add r0, r5, #0x0 mov r1, #0xa0 add r0, #0x75 strb r1, [r0, #0x0] bl FUN_0201E788 mov r0, #0x10 mov r1, #0x1 bl FUN_0201E6E4 ldr r0, _0206DC44 ; =FUN_0206DD08 add r1, r5, #0x0 bl FUN_02015F10 add sp, #0xb8 pop {r4-r6, pc} .balign 4 _0206DC28: .word 0x020F8354 _0206DC2C: .word 0x020F8328 _0206DC30: .word 0x020F837C _0206DC34: .word 0x04000008 _0206DC38: .word 0x020F8338 _0206DC3C: .word 0xFFFF1FFF _0206DC40: .word 0x04001000 _0206DC44: .word FUN_0206DD08 thumb_func_start FUN_0206DC48 FUN_0206DC48: ; 0x0206DC48 push {r4, lr} add r4, r0, #0x0 mov r0, #0x1 mov r1, #0x0 bl FUN_0201E6E4 mov r0, #0x2 mov r1, #0x0 bl FUN_0201E6E4 add r0, r4, #0x0 mov r1, #0x1 bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x2 bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x3 bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x4 bl FUN_020178A0 pop {r4, pc} .balign 4 thumb_func_start FUN_0206DC80 FUN_0206DC80: ; 0x0206DC80 push {r3-r5, lr} sub sp, #0x20 add r4, r0, #0x0 ldr r1, [r4, #0x28] add r0, sp, #0x10 mov r2, #0x2 bl FUN_02068B68 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] str r0, [sp, #0xc] ldr r0, [r4, #0x18] add r1, sp, #0x10 mov r2, #0x80 mov r3, #0x50 bl FUN_020073A0 str r0, [r4, #0x1c] ldr r0, [r4, #0x5c] bl FUN_020669C0 add r5, r0, #0x0 ldr r0, [r4, #0x28] add r1, r5, #0x0 bl FUN_02069B88 add r2, r4, #0x0 add r0, r5, #0x0 mov r1, #0x5 add r2, #0x62 bl FUN_02067830 add r0, r5, #0x0 bl FUN_02066ED8 add r0, sp, #0x10 add r1, r5, #0x0 mov r2, #0x2 bl FUN_02068B68 add r0, r5, #0x0 bl FUN_02016A18 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] str r0, [sp, #0xc] ldr r0, [r4, #0x18] add r1, sp, #0x10 mov r2, #0x80 mov r3, #0x50 bl FUN_020073A0 str r0, [r4, #0x20] mov r1, #0xc mov r2, #0x0 bl FUN_02007558 ldr r0, [r4, #0x20] mov r1, #0xd mov r2, #0x0 bl FUN_02007558 add sp, #0x20 pop {r3-r5, pc} thumb_func_start FUN_0206DD08 FUN_0206DD08: ; 0x0206DD08 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x75 ldrb r2, [r0, #0x0] add r0, r4, #0x0 add r0, #0x73 ldrb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x72 ldrb r0, [r0, #0x0] mov r3, #0xff lsl r3, r3, #0x8 lsl r0, r0, #0x8 add r5, r0, #0x0 add r0, r4, #0x0 add r0, #0x74 lsl r1, r1, #0x8 and r1, r3 ldrb r0, [r0, #0x0] and r5, r3 orr r1, r2 orr r5, r0 ldr r0, _0206DD60 ; =0x04000040 strh r5, [r0, #0x0] strh r1, [r0, #0x4] ldr r0, [r4, #0x18] bl FUN_020081C4 bl FUN_0201C30C ldr r0, [r4, #0x14] bl FUN_0200372C ldr r0, [r4, #0x0] bl FUN_0201AB60 ldr r3, _0206DD64 ; =0x027E0000 ldr r1, _0206DD68 ; =0x00003FF8 mov r0, #0x1 ldr r2, [r3, r1] orr r0, r2 str r0, [r3, r1] pop {r3-r5, pc} nop _0206DD60: .word 0x04000040 _0206DD64: .word 0x027E0000 _0206DD68: .word 0x00003FF8 thumb_func_start FUN_0206DD6C FUN_0206DD6C: ; 0x0206DD6C push {r4-r5, lr} sub sp, #0xc add r4, r0, #0x0 ldr r0, [r4, #0x8] bl FUN_0200A914 add r5, r0, #0x0 ldr r0, [r4, #0xc] ldr r1, [r4, #0x10] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02016A18 ldr r0, [r4, #0x4] mov r1, #0xff bl FUN_02019620 ldr r0, [r4, #0x2c] bl FUN_02024FF4 mov r3, #0x0 str r3, [sp, #0x0] str r0, [sp, #0x4] ldr r0, _0206DDB0 ; =FUN_0206DDB4 mov r1, #0x1 str r0, [sp, #0x8] ldr r0, [r4, #0x4] ldr r2, [r4, #0x10] bl FUN_0201BD84 add sp, #0xc pop {r4-r5, pc} .balign 4 _0206DDB0: .word FUN_0206DDB4 thumb_func_start FUN_0206DDB4 FUN_0206DDB4: ; 0x0206DDB4 push {r4, lr} mov r4, #0x0 cmp r1, #0x5 bhi _0206DDFA add r0, r1, r1 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0206DDC8: ; jump table (using 16-bit offset) .short _0206DDFA - _0206DDC8 - 2; case 0 .short _0206DDD4 - _0206DDC8 - 2; case 1 .short _0206DDDC - _0206DDC8 - 2; case 2 .short _0206DDE4 - _0206DDC8 - 2; case 3 .short _0206DDEC - _0206DDC8 - 2; case 4 .short _0206DDF4 - _0206DDC8 - 2; case 5 _0206DDD4: bl FUN_02005514 add r4, r0, #0x0 b _0206DDFA _0206DDDC: bl FUN_02005CBC add r4, r0, #0x0 b _0206DDFA _0206DDE4: ldr r0, _0206DE00 ; =0x00000484 bl FUN_02005C28 b _0206DDFA _0206DDEC: ldr r0, _0206DE04 ; =0x000005E6 bl FUN_020054C8 b _0206DDFA _0206DDF4: ldr r0, _0206DE08 ; =0x00000483 bl FUN_02005C28 _0206DDFA: add r0, r4, #0x0 pop {r4, pc} nop _0206DE00: .word 0x00000484 _0206DE04: .word 0x000005E6 _0206DE08: .word 0x00000483 thumb_func_start FUN_0206DE0C FUN_0206DE0C: ; 0x0206DE0C push {r4, lr} add r4, r0, #0x0 ldr r0, _0206DE20 ; =0x020FA6E8 ldr r1, [r4, #0x3c] ldr r2, [r4, #0x5c] bl FUN_02006234 str r0, [r4, #0x38] pop {r4, pc} nop _0206DE20: .word 0x020FA6E8 thumb_func_start FUN_0206DE24 FUN_0206DE24: ; 0x0206DE24 push {r3, lr} bl FUN_0201E6D8 bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] ldr r0, _0206DE44 ; =0xFFFFE0FF and r1, r0 str r1, [r2, #0x0] ldr r2, _0206DE48 ; =0x04001000 ldr r1, [r2, #0x0] and r0, r1 str r0, [r2, #0x0] pop {r3, pc} .balign 4 _0206DE44: .word 0xFFFFE0FF _0206DE48: .word 0x04001000 thumb_func_start FUN_0206DE4C FUN_0206DE4C: ; 0x0206DE4C push {r3, lr} mov r0, #0x7 str r0, [sp, #0x0] ldr r0, _0206DE70 ; =0x04000050 mov r1, #0x0 mov r2, #0xe mov r3, #0xb blx G2x_SetBlendAlpha_ mov r0, #0x8 str r0, [sp, #0x0] ldr r0, _0206DE74 ; =0x04001050 mov r1, #0x0 mov r2, #0xe mov r3, #0x7 blx G2x_SetBlendAlpha_ pop {r3, pc} .balign 4 _0206DE70: .word 0x04000050 _0206DE74: .word 0x04001050 thumb_func_start FUN_0206DE78 FUN_0206DE78: ; 0x0206DE78 push {r3, lr} sub sp, #0x8 mov r2, #0x2 ldr r1, _0206DE90 ; =FUN_0206DE94 str r2, [sp, #0x0] str r1, [sp, #0x4] mov r1, #0x0 add r3, r1, #0x0 bl FUN_02022318 add sp, #0x8 pop {r3, pc} .balign 4 _0206DE90: .word FUN_0206DE94 thumb_func_start FUN_0206DE94 FUN_0206DE94: ; 0x0206DE94 push {r3, lr} mov r0, #0x1 add r1, r0, #0x0 bl FUN_0201E6E4 ldr r0, _0206DF00 ; =0x04000008 mov r1, #0x3 ldrh r2, [r0, #0x0] bic r2, r1 mov r1, #0x1 orr r1, r2 strh r1, [r0, #0x0] add r0, #0x58 ldrh r2, [r0, #0x0] ldr r1, _0206DF04 ; =0xFFFFCFFD and r2, r1 strh r2, [r0, #0x0] add r2, r1, #0x2 ldrh r3, [r0, #0x0] add r1, r1, #0x2 and r3, r2 mov r2, #0x10 orr r2, r3 strh r2, [r0, #0x0] ldrh r3, [r0, #0x0] ldr r2, _0206DF08 ; =0x0000CFFB and r3, r2 strh r3, [r0, #0x0] ldrh r3, [r0, #0x0] sub r2, #0x1c and r3, r1 mov r1, #0x8 orr r1, r3 strh r1, [r0, #0x0] ldrh r1, [r0, #0x0] and r1, r2 strh r1, [r0, #0x0] mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 blx G3X_SetFog mov r0, #0x0 ldr r2, _0206DF0C ; =0x00007FFF add r1, r0, #0x0 mov r3, #0x3f str r0, [sp, #0x0] blx G3X_SetClearColor ldr r1, _0206DF10 ; =0xBFFF0000 ldr r0, _0206DF14 ; =0x04000580 str r1, [r0, #0x0] pop {r3, pc} .balign 4 _0206DF00: .word 0x04000008 _0206DF04: .word 0xFFFFCFFD _0206DF08: .word 0x0000CFFB _0206DF0C: .word 0x00007FFF _0206DF10: .word 0xBFFF0000 _0206DF14: .word 0x04000580 thumb_func_start FUN_0206DF18 FUN_0206DF18: ; 0x0206DF18 push {r3-r5, lr} ldr r3, _0206DF50 ; =0x021064B8 mov r0, #0x2 mov r1, #0x0 ldr r3, [r3, #0x0] lsl r0, r0, #0xe add r2, r1, #0x0 blx r3 ldr r3, _0206DF54 ; =0x021064C0 mov r1, #0x0 add r4, r0, #0x0 ldr r3, [r3, #0x0] mov r0, #0xa0 add r2, r1, #0x0 blx r3 add r5, r0, #0x0 cmp r4, #0x0 bne _0206DF40 bl ErrorHandling _0206DF40: cmp r5, #0x0 bne _0206DF48 bl ErrorHandling _0206DF48: bl FUN_02012CC8 pop {r3-r5, pc} nop _0206DF50: .word 0x021064B8 _0206DF54: .word 0x021064C0 thumb_func_start FUN_0206DF58 FUN_0206DF58: ; 0x0206DF58 push {r3, lr} bl FUN_020222AC bl FUN_02013364 cmp r0, #0x0 ble _0206DF6E bl FUN_020222AC blx FUN_020B02C8 _0206DF6E: bl FUN_02013388 mov r0, #0x1 mov r1, #0x0 bl FUN_020222B4 pop {r3, pc} thumb_func_start FUN_0206DF7C FUN_0206DF7C: ; 0x0206DF7C push {r4, lr} ldr r3, _0206DF94 ; =0x021064B8 mov r2, #0x0 ldr r3, [r3, #0x0] blx r3 add r4, r0, #0x0 bl FUN_0201327C lsl r0, r4, #0x10 lsr r0, r0, #0xd pop {r4, pc} nop _0206DF94: .word 0x021064B8 thumb_func_start FUN_0206DF98 FUN_0206DF98: ; 0x0206DF98 push {r4, lr} ldr r3, _0206DFB0 ; =0x021064C0 mov r2, #0x0 ldr r3, [r3, #0x0] blx r3 add r4, r0, #0x0 bl FUN_020132BC lsl r0, r4, #0x10 lsr r0, r0, #0xd pop {r4, pc} nop _0206DFB0: .word 0x021064C0 thumb_func_start FUN_0206DFB4 FUN_0206DFB4: ; 0x0206DFB4 push {r4, lr} sub sp, #0x8 mov r1, #0x12 lsl r1, r1, #0xa add r4, r0, #0x0 bl FUN_02016998 add r2, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] mov r3, #0x12 ldr r0, _0206DFF4 ; =FUN_0206DF7C ldr r1, _0206DFF8 ; =FUN_0206DF98 lsl r3, r3, #0xa str r4, [sp, #0x4] bl FUN_02012CDC add r4, r0, #0x0 bl FUN_0201343C add r2, r0, #0x0 beq _0206DFEC mov r0, #0x1 mov r1, #0xe1 lsl r0, r0, #0xc lsl r1, r1, #0xe bl FUN_0201EC94 _0206DFEC: add r0, r4, #0x0 add sp, #0x8 pop {r4, pc} nop _0206DFF4: .word FUN_0206DF7C _0206DFF8: .word FUN_0206DF98 thumb_func_start FUN_0206DFFC FUN_0206DFFC: ; 0x0206DFFC push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 bl FUN_0206DFB4 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r7, #0x0 add r2, r5, #0x0 bl FUN_0201318C add r1, r0, #0x0 add r0, r4, #0x0 mov r2, #0xa mov r3, #0x1 bl FUN_02013194 add r0, r4, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0206E024 FUN_0206E024: ; 0x0206E024 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_020133E8 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02012DE4 add r0, r4, #0x0 bl FUN_02016A18 pop {r3-r5, pc} thumb_func_start FUN_0206E03C FUN_0206E03C: ; 0x0206E03C push {r3} sub sp, #0xc add r1, sp, #0x0 mov r2, #0x0 str r2, [r1, #0x0] str r2, [r1, #0x4] str r2, [r1, #0x8] mov r1, #0x56 lsl r1, r1, #0x4 str r2, [sp, #0x0] str r2, [sp, #0x8] str r1, [sp, #0x4] ldr r1, [r0, #0x20] ldr r1, [r1, #0x0] ldr r1, [r1, #0x4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [sp, #0x4] ldr r1, [r1, #0x0] ldr r1, [r1, #0x8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [sp, #0x8] ldr r1, [r1, #0x0] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] add sp, #0xc pop {r3} bx lr thumb_func_start FUN_0206E07C FUN_0206E07C: ; 0x0206E07C push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x10 bl FUN_02016998 add r4, r0, #0x0 bne _0206E090 bl ErrorHandling _0206E090: ldr r0, [r5, #0x0] ldr r2, [r5, #0x4] mov r1, #0x7c str r0, [r4, #0x0] str r2, [r4, #0x4] ldr r0, [r4, #0x0] bl FUN_0206DFFC mov r1, #0x1 str r0, [r4, #0xc] bl FUN_02013440 add r0, r4, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0206E0AC FUN_0206E0AC: ; 0x0206E0AC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] ldr r2, _0206E0C4 ; =FUN_0206E03C add r3, r4, #0x0 bl FUN_020133AC ldr r0, [r4, #0xc] mov r1, #0x1 bl FUN_02013440 pop {r4, pc} .balign 4 _0206E0C4: .word FUN_0206E03C thumb_func_start FUN_0206E0C8 FUN_0206E0C8: ; 0x0206E0C8 push {r3, lr} ldr r0, [r0, #0xc] bl FUN_020133C8 cmp r0, #0x0 beq _0206E0D8 mov r0, #0x1 pop {r3, pc} _0206E0D8: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0206E0DC FUN_0206E0DC: ; 0x0206E0DC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_0206E024 add r0, r4, #0x0 bl FUN_02016A18 pop {r4, pc} .balign 4 thumb_func_start FUN_0206E0F0 FUN_0206E0F0: ; 0x0206E0F0 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x17 blo _0206E0FC bl ErrorHandling _0206E0FC: ldr r0, _0206E104 ; =0x020F83E0 lsl r1, r4, #0x2 ldr r0, [r0, r1] pop {r4, pc} .balign 4 _0206E104: .word 0x020F83E0 thumb_func_start FUN_0206E108 FUN_0206E108: ; 0x0206E108 mov r0, #0x26 bx lr thumb_func_start FUN_0206E10C FUN_0206E10C: ; 0x0206E10C mov r0, #0xb2 bx lr thumb_func_start FUN_0206E110 FUN_0206E110: ; 0x0206E110 mov r0, #0xb3 bx lr thumb_func_start FUN_0206E114 FUN_0206E114: ; 0x0206E114 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x17 blo _0206E120 bl ErrorHandling _0206E120: ldr r0, _0206E128 ; =0x020F843C ldrb r0, [r0, r4] pop {r4, pc} nop _0206E128: .word 0x020F843C thumb_func_start FUN_0206E12C FUN_0206E12C: ; 0x0206E12C mov r0, #0x1b bx lr thumb_func_start FUN_0206E130 FUN_0206E130: ; 0x0206E130 push {r3-r7, lr} sub sp, #0x10 add r7, r3, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 add r4, r2, #0x0 bl FUN_0206E12C str r0, [sp, #0xc] add r0, r7, #0x0 bl FUN_0206E0F0 add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] ldr r0, [sp, #0x28] str r4, [sp, #0x4] str r0, [sp, #0x8] ldr r2, [sp, #0xc] add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_0200C00C add sp, #0x10 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0206E164 FUN_0206E164: ; 0x0206E164 push {r4-r7, lr} sub sp, #0x14 add r6, r0, #0x0 add r7, r1, #0x0 add r5, r2, #0x0 add r4, r3, #0x0 bl FUN_0206E12C str r0, [sp, #0x10] bl FUN_0206E108 add r3, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x3 str r0, [sp, #0x4] str r5, [sp, #0x8] ldr r2, [sp, #0x10] add r0, r6, #0x0 add r1, r7, #0x0 str r4, [sp, #0xc] bl FUN_0200C06C add sp, #0x14 pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0206E198 FUN_0206E198: ; 0x0206E198 push {r4-r7, lr} sub sp, #0x1c add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 str r3, [sp, #0x18] bl FUN_0206E12C add r4, r0, #0x0 bl FUN_0206E108 str r4, [sp, #0x0] str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] mov r0, #0x3 str r0, [sp, #0xc] ldr r0, [sp, #0x30] ldr r3, [sp, #0x18] str r0, [sp, #0x10] ldr r0, [sp, #0x34] add r1, r6, #0x0 str r0, [sp, #0x14] add r0, r5, #0x0 add r2, r7, #0x0 bl FUN_0200C0DC add sp, #0x1c pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0206E1D4 FUN_0206E1D4: ; 0x0206E1D4 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 bl FUN_0206E12C str r0, [sp, #0x8] bl FUN_0206E10C add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] ldr r2, [sp, #0x8] add r0, r5, #0x0 add r1, r4, #0x0 str r6, [sp, #0x4] bl FUN_0200C124 bl FUN_0206E12C add r6, r0, #0x0 bl FUN_0206E110 add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 str r7, [sp, #0x4] bl FUN_0200C13C add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_0206E21C FUN_0206E21C: ; 0x0206E21C ldr r3, _0206E220 ; =FUN_0200C358 bx r3 .balign 4 _0206E220: .word FUN_0200C358 thumb_func_start FUN_0206E224 FUN_0206E224: ; 0x0206E224 ldr r3, _0206E228 ; =FUN_0200C368 bx r3 .balign 4 _0206E228: .word FUN_0200C368 thumb_func_start FUN_0206E22C FUN_0206E22C: ; 0x0206E22C push {r3-r5, lr} add r5, r0, #0x0 add r4, r2, #0x0 bl FUN_0200C378 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0200C388 pop {r3-r5, pc} thumb_func_start FUN_0206E240 FUN_0206E240: ; 0x0206E240 push {r4-r7, lr} sub sp, #0x34 add r6, r3, #0x0 add r4, r0, #0x0 add r7, r1, #0x0 add r5, sp, #0x0 mov r3, #0x6 _0206E24E: ldmia r6!, {r0-r1} stmia r5!, {r0-r1} sub r3, r3, #0x1 bne _0206E24E ldr r0, [r6, #0x0] str r0, [r5, #0x0] add r0, r2, #0x0 bl FUN_0206E114 str r0, [sp, #0xc] add r0, r4, #0x0 add r1, r7, #0x0 add r2, sp, #0x0 bl FUN_0200C154 add sp, #0x34 pop {r4-r7, pc} thumb_func_start FUN_0206E270 FUN_0206E270: ; 0x0206E270 ldr r3, _0206E274 ; =FUN_0200C3DC bx r3 .balign 4 _0206E274: .word FUN_0200C3DC thumb_func_start FUN_0206E278 FUN_0206E278: ; 0x0206E278 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x3 blo _0206E284 bl ErrorHandling _0206E284: ldr r0, _0206E28C ; =0x020F83D4 lsl r1, r4, #0x2 ldr r0, [r0, r1] pop {r4, pc} .balign 4 _0206E28C: .word 0x020F83D4 thumb_func_start FUN_0206E290 FUN_0206E290: ; 0x0206E290 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x3 blo _0206E29C bl ErrorHandling _0206E29C: ldr r0, _0206E2A4 ; =0x020F83D0 ldrb r0, [r0, r4] pop {r4, pc} nop _0206E2A4: .word 0x020F83D0 thumb_func_start FUN_0206E2A8 FUN_0206E2A8: ; 0x0206E2A8 mov r0, #0x1b bx lr thumb_func_start FUN_0206E2AC FUN_0206E2AC: ; 0x0206E2AC push {r3-r7, lr} sub sp, #0x10 add r7, r3, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 add r4, r2, #0x0 bl FUN_0206E2A8 str r0, [sp, #0xc] add r0, r7, #0x0 bl FUN_0206E278 add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] ldr r0, [sp, #0x28] str r4, [sp, #0x4] str r0, [sp, #0x8] ldr r2, [sp, #0xc] add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_0200C00C add sp, #0x10 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0206E2E0 FUN_0206E2E0: ; 0x0206E2E0 ldr r3, _0206E2E4 ; =FUN_0200C358 bx r3 .balign 4 _0206E2E4: .word FUN_0200C358 thumb_func_start FUN_0206E2E8 FUN_0206E2E8: ; 0x0206E2E8 ldr r3, _0206E2EC ; =FUN_0200C3DC bx r3 .balign 4 _0206E2EC: .word FUN_0200C3DC thumb_func_start FUN_0206E2F0 FUN_0206E2F0: ; 0x0206E2F0 push {r4, lr} mov r1, #0x78 bl FUN_02016998 mov r1, #0x0 mov r2, #0x78 add r4, r0, #0x0 blx Call_FillMemWithValue add r0, r4, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0206E308 FUN_0206E308: ; 0x0206E308 mov r0, #0x78 bx lr thumb_func_start FUN_0206E30C FUN_0206E30C: ; 0x0206E30C add r0, #0x65 strb r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_0206E314 FUN_0206E314: ; 0x0206E314 push {r4-r6, lr} add r4, r1, #0x0 add r1, r2, #0x0 add r5, r0, #0x0 add r6, r3, #0x0 bl FUN_0206E30C str r4, [r5, #0x0] str r6, [r5, #0x6c] mov r0, #0x0 add r5, #0x66 strh r0, [r5, #0x0] pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0206E330 FUN_0206E330: ; 0x0206E330 push {r3-r4} mov r4, #0xc mul r4, r3 add r0, r0, r4 str r1, [r0, #0x4] strb r2, [r0, #0xc] pop {r3-r4} bx lr thumb_func_start FUN_0206E340 FUN_0206E340: ; 0x0206E340 add r1, r0, #0x0 add r1, #0x76 ldrh r2, [r1, #0x0] mov r1, #0x1 add r0, #0x76 bic r2, r1 mov r1, #0x1 orr r1, r2 strh r1, [r0, #0x0] bx lr thumb_func_start FUN_0206E354 FUN_0206E354: ; 0x0206E354 str r1, [r0, #0x70] bx lr thumb_func_start FUN_0206E358 FUN_0206E358: ; 0x0206E358 add r0, #0x74 strb r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_0206E360 FUN_0206E360: ; 0x0206E360 add r2, r0, #0x0 add r2, #0x76 ldrh r3, [r2, #0x0] ldr r2, _0206E378 ; =0xFFFF0001 lsl r1, r1, #0x11 and r2, r3 lsr r1, r1, #0x10 orr r1, r2 add r0, #0x76 strh r1, [r0, #0x0] bx lr nop _0206E378: .word 0xFFFF0001 thumb_func_start FUN_0206E37C FUN_0206E37C: ; 0x0206E37C add r0, #0x66 ldrh r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_0206E384 FUN_0206E384: ; 0x0206E384 add r0, #0x68 ldrh r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_0206E38C FUN_0206E38C: ; 0x0206E38C add r0, #0x74 ldrb r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_0206E394 FUN_0206E394: ; 0x0206E394 add r0, #0x75 ldrb r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_0206E39C FUN_0206E39C: ; 0x0206E39C push {r3, lr} bl FUN_0202390C bl FUN_02028930 pop {r3, pc} thumb_func_start FUN_0206E3A8 FUN_0206E3A8: ; 0x0206E3A8 push {r4-r6, lr} bl FUN_02029C80 add r6, r0, #0x0 mov r5, #0x0 mov r4, #0x1 _0206E3B4: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_02029E2C add r4, r4, #0x1 add r5, r5, r0 cmp r4, #0x50 bls _0206E3B4 add r0, r5, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0206E3C8 FUN_0206E3C8: ; 0x0206E3C8 push {r3, lr} bl FUN_02027E24 bl FUN_0202708C bl FUN_02027168 pop {r3, pc} thumb_func_start FUN_0206E3D8 FUN_0206E3D8: ; 0x0206E3D8 push {r3, lr} bl FUN_02027E24 bl FUN_0202708C bl FUN_02027184 pop {r3, pc} thumb_func_start FUN_0206E3E8 FUN_0206E3E8: ; 0x0206E3E8 push {r3, lr} bl FUN_0202A8D8 mov r1, #0x0 add r2, r1, #0x0 bl FUN_0202A3B4 pop {r3, pc} thumb_func_start FUN_0206E3F8 FUN_0206E3F8: ; 0x0206E3F8 push {r4-r7, lr} sub sp, #0xc add r7, r0, #0x0 str r1, [sp, #0x8] add r5, r2, #0x0 add r4, r3, #0x0 mov r0, #0x0 mov r1, #0x1a mov r2, #0x7 bl FUN_0200A86C add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_0200AA80 add r4, r0, #0x0 cmp r5, #0x0 bne _0206E428 add r0, r6, #0x0 mov r1, #0x63 bl FUN_0200A914 add r5, r0, #0x0 b _0206E4FA _0206E428: mov r1, #0x1b lsl r1, r1, #0x4 cmp r5, r1 bne _0206E454 add r0, r6, #0x0 mov r1, #0x61 bl FUN_0200A914 add r5, r0, #0x0 add r0, r7, #0x0 bl FUN_0206E3E8 mov r1, #0x0 add r2, r0, #0x0 str r1, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r0, r4, #0x0 mov r3, #0x4 bl FUN_0200AD38 b _0206E4FA _0206E454: add r2, r1, #0x2 cmp r5, r2 bne _0206E47E add r0, r6, #0x0 mov r1, #0x5c bl FUN_0200A914 add r5, r0, #0x0 add r0, r7, #0x0 bl FUN_0206E3A8 mov r1, #0x0 add r2, r0, #0x0 str r1, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r0, r4, #0x0 mov r3, #0x4 bl FUN_0200AD38 b _0206E4FA _0206E47E: add r2, r1, #0x3 cmp r5, r2 bne _0206E4C0 add r0, r6, #0x0 mov r1, #0x5d bl FUN_0200A914 add r5, r0, #0x0 add r0, r7, #0x0 bl FUN_0206E3C8 mov r1, #0x0 add r2, r0, #0x0 str r1, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r0, r4, #0x0 mov r3, #0x3 bl FUN_0200AD38 add r0, r7, #0x0 bl FUN_0206E3D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r1, #0x1 add r0, r4, #0x0 mov r3, #0x2 str r1, [sp, #0x4] bl FUN_0200AD38 b _0206E4FA _0206E4C0: add r1, #0xc cmp r5, r1 bne _0206E4EA add r0, r6, #0x0 mov r1, #0x39 bl FUN_0200A914 add r5, r0, #0x0 add r0, r7, #0x0 bl FUN_0206E39C mov r1, #0x0 add r2, r0, #0x0 str r1, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r0, r4, #0x0 mov r3, #0x5 bl FUN_0200AD38 b _0206E4FA _0206E4EA: bl FUN_0200AB18 add r0, r6, #0x0 bl FUN_0200A8B8 add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _0206E4FA: ldr r1, [sp, #0x8] add r0, r4, #0x0 add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 add r0, r4, #0x0 bl FUN_0200AB18 add r0, r6, #0x0 bl FUN_0200A8B8 mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_0206E51C FUN_0206E51C: ; 0x0206E51C push {r3-r7, lr} add r5, r1, #0x0 str r0, [sp, #0x0] ldr r4, [sp, #0x18] cmp r3, #0x1 beq _0206E52E cmp r3, #0x2 beq _0206E54C b _0206E56A _0206E52E: mov r0, #0x1 mov r1, #0x1a mov r2, #0x7 add r3, r4, #0x0 bl FUN_0200A86C add r4, r0, #0x0 mov r1, #0x38 add r2, r5, #0x0 bl FUN_0200A8E0 add r0, r4, #0x0 bl FUN_0200A8B8 pop {r3-r7, pc} _0206E54C: mov r0, #0x1 mov r1, #0x1a mov r2, #0x7 add r3, r4, #0x0 bl FUN_0200A86C add r4, r0, #0x0 mov r1, #0x6f add r2, r5, #0x0 bl FUN_0200A8E0 add r0, r4, #0x0 bl FUN_0200A8B8 pop {r3-r7, pc} _0206E56A: mov r0, #0x1 mov r1, #0x1a mov r2, #0xc7 add r3, r4, #0x0 bl FUN_0200A86C add r7, r0, #0x0 add r0, r4, #0x0 bl FUN_0200AA80 add r4, r0, #0x0 add r0, r7, #0x0 mov r1, #0x24 bl FUN_0200A914 add r6, r0, #0x0 ldr r2, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x0 bl FUN_0200ABC0 add r0, r4, #0x0 add r1, r5, #0x0 add r2, r6, #0x0 bl FUN_0200B7B8 add r0, r6, #0x0 bl FUN_02021A20 add r0, r4, #0x0 bl FUN_0200AB18 add r0, r7, #0x0 bl FUN_0200A8B8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0206E5B4 FUN_0206E5B4: ; 0x0206E5B4 push {r3-r6} add r3, r0, #0x0 add r0, r2, #0x0 cmp r1, r0 beq _0206E63A lsl r2, r1, #0x2 ldrh r4, [r3, r2] add r5, r3, r2 add r2, sp, #0x0 strh r4, [r2, #0x0] ldrh r4, [r5, #0x2] strh r4, [r2, #0x2] cmp r0, r1 bls _0206E600 sub r0, r0, #0x1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 lsl r1, r1, #0x10 lsl r2, r0, #0x10 asr r1, r1, #0x10 asr r5, r2, #0x10 cmp r1, r5 bge _0206E62C lsl r2, r1, #0x2 add r2, r3, r2 add r4, r2, #0x0 _0206E5E8: ldrh r6, [r2, #0x4] add r1, r1, #0x1 lsl r1, r1, #0x10 strh r6, [r4, #0x0] ldrh r6, [r2, #0x6] asr r1, r1, #0x10 add r2, r2, #0x4 strh r6, [r4, #0x2] add r4, r4, #0x4 cmp r1, r5 blt _0206E5E8 b _0206E62C _0206E600: lsl r1, r1, #0x10 asr r5, r1, #0x10 lsl r1, r0, #0x10 asr r4, r1, #0x10 cmp r5, r4 ble _0206E62C lsl r1, r5, #0x2 add r1, r3, r1 add r2, r1, #0x0 _0206E612: sub r6, r1, #0x4 ldrh r6, [r6, #0x0] sub r5, r5, #0x1 lsl r5, r5, #0x10 strh r6, [r2, #0x0] sub r6, r1, #0x2 ldrh r6, [r6, #0x0] asr r5, r5, #0x10 sub r1, r1, #0x4 strh r6, [r2, #0x2] sub r2, r2, #0x4 cmp r5, r4 bgt _0206E612 _0206E62C: lsl r4, r0, #0x2 add r0, sp, #0x0 ldrh r1, [r0, #0x0] add r2, r3, r4 strh r1, [r3, r4] ldrh r0, [r0, #0x2] strh r0, [r2, #0x2] _0206E63A: pop {r3-r6} bx lr .balign 4 thumb_func_start FUN_0206E640 FUN_0206E640: ; 0x0206E640 cmp r1, #0x3 bhi _0206E6B2 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0206E650: ; jump table (using 16-bit offset) .short _0206E658 - _0206E650 - 2; case 0 .short _0206E66A - _0206E650 - 2; case 1 .short _0206E684 - _0206E650 - 2; case 2 .short _0206E6A0 - _0206E650 - 2; case 3 _0206E658: cmp r0, #0x0 beq _0206E6B2 ldr r1, _0206E6B8 ; =0x0000FFFF cmp r0, r1 beq _0206E6B2 lsl r1, r0, #0x3 ldr r0, _0206E6BC ; =0x020F85B4 ldrh r0, [r0, r1] bx lr _0206E66A: cmp r0, #0x0 bne _0206E672 ldr r0, _0206E6C0 ; =0x000002BB bx lr _0206E672: ldr r1, _0206E6B8 ; =0x0000FFFF cmp r0, r1 bne _0206E67C ldr r0, _0206E6C4 ; =0x000002BD bx lr _0206E67C: lsl r1, r0, #0x3 ldr r0, _0206E6C8 ; =0x020F85B6 ldrh r0, [r0, r1] bx lr _0206E684: cmp r0, #0x0 bne _0206E68E mov r0, #0xaf lsl r0, r0, #0x2 bx lr _0206E68E: ldr r1, _0206E6B8 ; =0x0000FFFF cmp r0, r1 bne _0206E698 ldr r0, _0206E6CC ; =0x000002BE bx lr _0206E698: lsl r1, r0, #0x3 ldr r0, _0206E6D0 ; =0x020F85B8 ldrh r0, [r0, r1] bx lr _0206E6A0: cmp r0, #0x0 beq _0206E6B2 ldr r1, _0206E6B8 ; =0x0000FFFF cmp r0, r1 beq _0206E6B2 lsl r1, r0, #0x3 ldr r0, _0206E6D4 ; =0x020F85BA ldrh r0, [r0, r1] bx lr _0206E6B2: mov r0, #0x0 bx lr nop _0206E6B8: .word 0x0000FFFF _0206E6BC: .word 0x020F85B4 _0206E6C0: .word 0x000002BB _0206E6C4: .word 0x000002BD _0206E6C8: .word 0x020F85B6 _0206E6CC: .word 0x000002BE _0206E6D0: .word 0x020F85B8 _0206E6D4: .word 0x020F85BA thumb_func_start FUN_0206E6D8 FUN_0206E6D8: ; 0x0206E6D8 push {r3-r4} mov r2, #0x1d ldr r3, _0206E704 ; =0x020F85B4 mov r4, #0x1 lsl r2, r2, #0x4 _0206E6E2: lsl r1, r4, #0x3 add r1, r3, r1 ldrh r1, [r1, #0x6] cmp r0, r1 bne _0206E6F2 add r0, r4, #0x0 pop {r3-r4} bx lr _0206E6F2: add r1, r4, #0x1 lsl r1, r1, #0x10 lsr r4, r1, #0x10 cmp r4, r2 bls _0206E6E2 mov r0, #0x0 pop {r3-r4} bx lr nop _0206E704: .word 0x020F85B4 thumb_func_start FUN_0206E708 FUN_0206E708: ; 0x0206E708 mov r0, #0x1 bx lr thumb_func_start FUN_0206E70C FUN_0206E70C: ; 0x0206E70C mov r0, #0x0 bx lr thumb_func_start FUN_0206E710 FUN_0206E710: ; 0x0206E710 push {r3, lr} add r3, r0, #0x0 mov r0, #0x1d lsl r0, r0, #0x4 cmp r3, r0 bls _0206E71E mov r3, #0x0 _0206E71E: cmp r1, #0x0 beq _0206E72C cmp r1, #0x1 beq _0206E73A cmp r1, #0x2 beq _0206E748 b _0206E756 _0206E72C: ldr r1, _0206E75C ; =0x020F85B4 lsl r3, r3, #0x3 ldrh r1, [r1, r3] mov r0, #0xf bl LoadFromNarc_2 pop {r3, pc} _0206E73A: ldr r1, _0206E760 ; =0x020F85B6 lsl r3, r3, #0x3 ldrh r1, [r1, r3] mov r0, #0x10 bl LoadFromNarc_2 pop {r3, pc} _0206E748: ldr r1, _0206E764 ; =0x020F85B8 lsl r3, r3, #0x3 ldrh r1, [r1, r3] mov r0, #0x10 bl LoadFromNarc_2 pop {r3, pc} _0206E756: mov r0, #0x0 pop {r3, pc} nop _0206E75C: .word 0x020F85B4 _0206E760: .word 0x020F85B6 _0206E764: .word 0x020F85B8 thumb_func_start FUN_0206E768 FUN_0206E768: ; 0x0206E768 push {r4-r6, lr} add r3, r2, #0x0 mov r2, #0x56 add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 bl FUN_0200A86C add r6, r0, #0x0 add r1, r4, #0x0 add r2, r5, #0x0 bl FUN_0200A8E0 add r0, r6, #0x0 bl FUN_0200A8B8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0206E790 FUN_0206E790: ; 0x0206E790 push {r4-r6, lr} add r3, r2, #0x0 add r5, r0, #0x0 add r4, r1, #0x0 ldr r2, _0206E7B4 ; =0x00000157 mov r0, #0x1 mov r1, #0x1a bl FUN_0200A86C add r6, r0, #0x0 add r1, r4, #0x0 add r2, r5, #0x0 bl FUN_0200A8E0 add r0, r6, #0x0 bl FUN_0200A8B8 pop {r4-r6, pc} .balign 4 _0206E7B4: .word 0x00000157 thumb_func_start FUN_0206E7B8 FUN_0206E7B8: ; 0x0206E7B8 push {r4-r6, lr} add r4, r1, #0x0 mov r1, #0x0 add r5, r2, #0x0 bl FUN_0206E710 add r6, r0, #0x0 add r1, r4, #0x0 bl FUN_0206E7DC add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02016A8C add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0206E7DC FUN_0206E7DC: ; 0x0206E7DC push {r3, lr} cmp r1, #0xe bhi _0206E85C add r2, r1, r1 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0206E7EE: ; jump table (using 16-bit offset) .short _0206E80C - _0206E7EE - 2; case 0 .short _0206E810 - _0206E7EE - 2; case 1 .short _0206E814 - _0206E7EE - 2; case 2 .short _0206E818 - _0206E7EE - 2; case 3 .short _0206E820 - _0206E7EE - 2; case 4 .short _0206E828 - _0206E7EE - 2; case 5 .short _0206E830 - _0206E7EE - 2; case 6 .short _0206E834 - _0206E7EE - 2; case 7 .short _0206E838 - _0206E7EE - 2; case 8 .short _0206E83C - _0206E7EE - 2; case 9 .short _0206E840 - _0206E7EE - 2; case 10 .short _0206E844 - _0206E7EE - 2; case 11 .short _0206E848 - _0206E7EE - 2; case 12 .short _0206E850 - _0206E7EE - 2; case 13 .short _0206E858 - _0206E7EE - 2; case 14 _0206E80C: ldrh r0, [r0, #0x0] pop {r3, pc} _0206E810: ldrb r0, [r0, #0x2] pop {r3, pc} _0206E814: ldrb r0, [r0, #0x3] pop {r3, pc} _0206E818: ldrh r0, [r0, #0x8] lsl r0, r0, #0x1a lsr r0, r0, #0x1f pop {r3, pc} _0206E820: ldrh r0, [r0, #0x8] lsl r0, r0, #0x19 lsr r0, r0, #0x1f pop {r3, pc} _0206E828: ldrh r0, [r0, #0x8] lsl r0, r0, #0x15 lsr r0, r0, #0x1c pop {r3, pc} _0206E830: ldrb r0, [r0, #0xa] pop {r3, pc} _0206E834: ldrb r0, [r0, #0xb] pop {r3, pc} _0206E838: ldrb r0, [r0, #0x4] pop {r3, pc} _0206E83C: ldrb r0, [r0, #0x5] pop {r3, pc} _0206E840: ldrb r0, [r0, #0x6] pop {r3, pc} _0206E844: ldrb r0, [r0, #0x7] pop {r3, pc} _0206E848: ldrh r0, [r0, #0x8] lsl r0, r0, #0x1b lsr r0, r0, #0x1b pop {r3, pc} _0206E850: ldrh r0, [r0, #0x8] lsl r0, r0, #0x10 lsr r0, r0, #0x1b pop {r3, pc} _0206E858: ldrb r0, [r0, #0xc] pop {r3, pc} _0206E85C: ldrb r2, [r0, #0xc] cmp r2, #0x0 beq _0206E868 cmp r2, #0x1 beq _0206E86C b _0206E874 _0206E868: ldrb r0, [r0, #0xe] pop {r3, pc} _0206E86C: add r0, #0xe bl FUN_0206E878 pop {r3, pc} _0206E874: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0206E878 FUN_0206E878: ; 0x0206E878 sub r1, #0xf cmp r1, #0x2b bls _0206E880 b _0206EA2A _0206E880: add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0206E88C: ; jump table (using 16-bit offset) .short _0206E8E4 - _0206E88C - 2; case 0 .short _0206E8EC - _0206E88C - 2; case 1 .short _0206E8F4 - _0206E88C - 2; case 2 .short _0206E8FC - _0206E88C - 2; case 3 .short _0206E904 - _0206E88C - 2; case 4 .short _0206E90C - _0206E88C - 2; case 5 .short _0206E914 - _0206E88C - 2; case 6 .short _0206E91C - _0206E88C - 2; case 7 .short _0206E924 - _0206E88C - 2; case 8 .short _0206E92C - _0206E88C - 2; case 9 .short _0206E934 - _0206E88C - 2; case 10 .short _0206E93C - _0206E88C - 2; case 11 .short _0206E944 - _0206E88C - 2; case 12 .short _0206E94C - _0206E88C - 2; case 13 .short _0206E954 - _0206E88C - 2; case 14 .short _0206E95C - _0206E88C - 2; case 15 .short _0206E964 - _0206E88C - 2; case 16 .short _0206E96C - _0206E88C - 2; case 17 .short _0206E974 - _0206E88C - 2; case 18 .short _0206E97C - _0206E88C - 2; case 19 .short _0206E984 - _0206E88C - 2; case 20 .short _0206E98C - _0206E88C - 2; case 21 .short _0206E994 - _0206E88C - 2; case 22 .short _0206E99C - _0206E88C - 2; case 23 .short _0206E9A4 - _0206E88C - 2; case 24 .short _0206E9AC - _0206E88C - 2; case 25 .short _0206E9B4 - _0206E88C - 2; case 26 .short _0206E9BC - _0206E88C - 2; case 27 .short _0206E9C4 - _0206E88C - 2; case 28 .short _0206E9CC - _0206E88C - 2; case 29 .short _0206E9D4 - _0206E88C - 2; case 30 .short _0206E9DC - _0206E88C - 2; case 31 .short _0206E9E4 - _0206E88C - 2; case 32 .short _0206E9EC - _0206E88C - 2; case 33 .short _0206E9F2 - _0206E88C - 2; case 34 .short _0206E9F8 - _0206E88C - 2; case 35 .short _0206E9FE - _0206E88C - 2; case 36 .short _0206EA04 - _0206E88C - 2; case 37 .short _0206EA0A - _0206E88C - 2; case 38 .short _0206EA10 - _0206E88C - 2; case 39 .short _0206EA14 - _0206E88C - 2; case 40 .short _0206EA18 - _0206E88C - 2; case 41 .short _0206EA1E - _0206E88C - 2; case 42 .short _0206EA24 - _0206E88C - 2; case 43 _0206E8E4: ldrb r0, [r0, #0x0] lsl r0, r0, #0x1f lsr r0, r0, #0x1f bx lr _0206E8EC: ldrb r0, [r0, #0x0] lsl r0, r0, #0x1e lsr r0, r0, #0x1f bx lr _0206E8F4: ldrb r0, [r0, #0x0] lsl r0, r0, #0x1d lsr r0, r0, #0x1f bx lr _0206E8FC: ldrb r0, [r0, #0x0] lsl r0, r0, #0x1c lsr r0, r0, #0x1f bx lr _0206E904: ldrb r0, [r0, #0x0] lsl r0, r0, #0x1b lsr r0, r0, #0x1f bx lr _0206E90C: ldrb r0, [r0, #0x0] lsl r0, r0, #0x1a lsr r0, r0, #0x1f bx lr _0206E914: ldrb r0, [r0, #0x0] lsl r0, r0, #0x19 lsr r0, r0, #0x1f bx lr _0206E91C: ldrb r0, [r0, #0x0] lsl r0, r0, #0x18 lsr r0, r0, #0x1f bx lr _0206E924: ldrb r0, [r0, #0x1] lsl r0, r0, #0x1f lsr r0, r0, #0x1f bx lr _0206E92C: ldrb r0, [r0, #0x1] lsl r0, r0, #0x1e lsr r0, r0, #0x1f bx lr _0206E934: ldrb r0, [r0, #0x1] lsl r0, r0, #0x1d lsr r0, r0, #0x1f bx lr _0206E93C: ldrb r0, [r0, #0x1] lsl r0, r0, #0x1c lsr r0, r0, #0x1f bx lr _0206E944: ldrb r0, [r0, #0x1] lsl r0, r0, #0x18 lsr r0, r0, #0x1c bx lr _0206E94C: ldrb r0, [r0, #0x2] lsl r0, r0, #0x1c lsr r0, r0, #0x1c bx lr _0206E954: ldrb r0, [r0, #0x2] lsl r0, r0, #0x18 lsr r0, r0, #0x1c bx lr _0206E95C: ldrb r0, [r0, #0x3] lsl r0, r0, #0x1c lsr r0, r0, #0x1c bx lr _0206E964: ldrb r0, [r0, #0x3] lsl r0, r0, #0x18 lsr r0, r0, #0x1c bx lr _0206E96C: ldrb r0, [r0, #0x4] lsl r0, r0, #0x1c lsr r0, r0, #0x1c bx lr _0206E974: ldrb r0, [r0, #0x4] lsl r0, r0, #0x1a lsr r0, r0, #0x1e bx lr _0206E97C: ldrb r0, [r0, #0x4] lsl r0, r0, #0x19 lsr r0, r0, #0x1f bx lr _0206E984: ldrb r0, [r0, #0x4] lsl r0, r0, #0x18 lsr r0, r0, #0x1f bx lr _0206E98C: ldrb r0, [r0, #0x5] lsl r0, r0, #0x1f lsr r0, r0, #0x1f bx lr _0206E994: ldrb r0, [r0, #0x5] lsl r0, r0, #0x1e lsr r0, r0, #0x1f bx lr _0206E99C: ldrb r0, [r0, #0x5] lsl r0, r0, #0x1d lsr r0, r0, #0x1f bx lr _0206E9A4: ldrb r0, [r0, #0x5] lsl r0, r0, #0x1c lsr r0, r0, #0x1f bx lr _0206E9AC: ldrb r0, [r0, #0x5] lsl r0, r0, #0x1b lsr r0, r0, #0x1f bx lr _0206E9B4: ldrb r0, [r0, #0x5] lsl r0, r0, #0x1a lsr r0, r0, #0x1f bx lr _0206E9BC: ldrb r0, [r0, #0x5] lsl r0, r0, #0x19 lsr r0, r0, #0x1f bx lr _0206E9C4: ldrb r0, [r0, #0x5] lsl r0, r0, #0x18 lsr r0, r0, #0x1f bx lr _0206E9CC: ldrb r0, [r0, #0x6] lsl r0, r0, #0x1f lsr r0, r0, #0x1f bx lr _0206E9D4: ldrb r0, [r0, #0x6] lsl r0, r0, #0x1e lsr r0, r0, #0x1f bx lr _0206E9DC: ldrb r0, [r0, #0x6] lsl r0, r0, #0x1d lsr r0, r0, #0x1f bx lr _0206E9E4: ldrb r0, [r0, #0x6] lsl r0, r0, #0x1c lsr r0, r0, #0x1f bx lr _0206E9EC: mov r1, #0x7 ldrsb r0, [r0, r1] bx lr _0206E9F2: mov r1, #0x8 ldrsb r0, [r0, r1] bx lr _0206E9F8: mov r1, #0x9 ldrsb r0, [r0, r1] bx lr _0206E9FE: mov r1, #0xa ldrsb r0, [r0, r1] bx lr _0206EA04: mov r1, #0xb ldrsb r0, [r0, r1] bx lr _0206EA0A: mov r1, #0xc ldrsb r0, [r0, r1] bx lr _0206EA10: ldrb r0, [r0, #0xd] bx lr _0206EA14: ldrb r0, [r0, #0xe] bx lr _0206EA18: mov r1, #0xf ldrsb r0, [r0, r1] bx lr _0206EA1E: mov r1, #0x10 ldrsb r0, [r0, r1] bx lr _0206EA24: mov r1, #0x11 ldrsb r0, [r0, r1] bx lr _0206EA2A: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_0206EA30 FUN_0206EA30: ; 0x0206EA30 mov r2, #0x52 lsl r2, r2, #0x2 cmp r0, r2 blo _0206EA40 add r1, r2, #0x0 add r1, #0x63 cmp r0, r1 bls _0206EA44 _0206EA40: mov r0, #0x0 bx lr _0206EA44: sub r0, r0, r2 lsl r0, r0, #0x10 lsr r1, r0, #0xf ldr r0, _0206EA50 ; =0x020F84EC ldrh r0, [r0, r1] bx lr .balign 4 _0206EA50: .word 0x020F84EC thumb_func_start FUN_0206EA54 FUN_0206EA54: ; 0x0206EA54 ldr r2, _0206EA78 ; =0x020F84EC mov r3, #0x0 _0206EA58: lsl r1, r3, #0x1 add r1, r2, r1 add r1, #0xb8 ldrh r1, [r1, #0x0] cmp r0, r1 bne _0206EA68 mov r0, #0x1 bx lr _0206EA68: add r1, r3, #0x1 lsl r1, r1, #0x18 lsr r3, r1, #0x18 cmp r3, #0x8 blo _0206EA58 mov r0, #0x0 bx lr nop _0206EA78: .word 0x020F84EC thumb_func_start FUN_0206EA7C FUN_0206EA7C: ; 0x0206EA7C mov r2, #0x52 lsl r2, r2, #0x2 cmp r0, r2 blo _0206EA8C add r1, r2, #0x0 add r1, #0x63 cmp r0, r1 bls _0206EA90 _0206EA8C: mov r0, #0x0 bx lr _0206EA90: sub r0, r0, r2 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bx lr thumb_func_start FUN_0206EA98 FUN_0206EA98: ; 0x0206EA98 ldr r3, _0206EAB4 ; =0x020F8454 mov r2, #0x0 _0206EA9C: ldrh r1, [r3, #0x0] cmp r0, r1 bne _0206EAA6 mov r0, #0x1 bx lr _0206EAA6: add r2, r2, #0x1 add r3, r3, #0x2 cmp r2, #0xc blo _0206EA9C mov r0, #0x0 bx lr nop _0206EAB4: .word 0x020F8454 thumb_func_start FUN_0206EAB8 FUN_0206EAB8: ; 0x0206EAB8 ldr r3, _0206EAD4 ; =0x020F8454 mov r2, #0x0 _0206EABC: ldrh r1, [r3, #0x0] cmp r0, r1 bne _0206EAC8 lsl r0, r2, #0x18 lsr r0, r0, #0x18 bx lr _0206EAC8: add r2, r2, #0x1 add r3, r3, #0x2 cmp r2, #0xc blo _0206EABC mov r0, #0x0 bx lr .balign 4 _0206EAD4: .word 0x020F8454 thumb_func_start FUN_0206EAD8 FUN_0206EAD8: ; 0x0206EAD8 cmp r0, #0xc blo _0206EAE0 mov r0, #0x0 bx lr _0206EAE0: lsl r1, r0, #0x1 ldr r0, _0206EAE8 ; =0x020F8454 ldrh r0, [r0, r1] bx lr .balign 4 _0206EAE8: .word 0x020F8454 thumb_func_start FUN_0206EAEC FUN_0206EAEC: ; 0x0206EAEC ldr r3, _0206EB08 ; =0x020F846C mov r2, #0x0 _0206EAF0: ldrh r1, [r3, #0x0] cmp r0, r1 bne _0206EAFA mov r0, #0x1 bx lr _0206EAFA: add r2, r2, #0x1 add r3, r3, #0x2 cmp r2, #0x40 blo _0206EAF0 mov r0, #0x0 bx lr nop _0206EB08: .word 0x020F846C thumb_func_start FUN_0206EB0C FUN_0206EB0C: ; 0x0206EB0C cmp r0, #0x95 bhs _0206EB14 mov r0, #0xff bx lr _0206EB14: sub r0, #0x95 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bx lr thumb_func_start FUN_0206EB1C FUN_0206EB1C: ; 0x0206EB1C cmp r0, #0x40 blo _0206EB24 ldr r0, _0206EB2C ; =0x0000FFFF bx lr _0206EB24: lsl r1, r0, #0x1 ldr r0, _0206EB30 ; =0x020F846C ldrh r0, [r0, r1] bx lr .balign 4 _0206EB2C: .word 0x0000FFFF _0206EB30: .word 0x020F846C thumb_func_start FUN_0206EB34 FUN_0206EB34: ; 0x0206EB34 ldr r1, _0206EB4C ; =0x0000FFDE add r0, r0, r1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, #0x3 bhi _0206EB44 mov r0, #0x1 b _0206EB46 _0206EB44: mov r0, #0x0 _0206EB46: lsl r0, r0, #0x18 lsr r0, r0, #0x18 bx lr .balign 4 _0206EB4C: .word 0x0000FFDE thumb_func_start FUN_0206EB50 FUN_0206EB50: ; 0x0206EB50 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 mov r0, #0x1d lsl r0, r0, #0x4 mov r1, #0x0 bl FUN_0206E640 mov r1, #0x24 mul r1, r0 str r1, [sp, #0x0] mov r1, #0x0 mov r0, #0xf add r2, r4, #0x0 add r3, r1, #0x0 bl FUN_02006564 add sp, #0x4 pop {r3-r4, pc} .balign 4 thumb_func_start FUN_0206EB78 FUN_0206EB78: ; 0x0206EB78 mov r2, #0x24 mul r2, r1 add r0, r0, r2 bx lr thumb_func_start FUN_0206EB80 FUN_0206EB80: ; 0x0206EB80 ldr r0, _0206EB84 ; =0x00000774 bx lr .balign 4 _0206EB84: .word 0x00000774 thumb_func_start FUN_0206EB88 FUN_0206EB88: ; 0x0206EB88 push {r4, lr} ldr r1, _0206EB9C ; =0x00000774 bl FUN_02016998 add r4, r0, #0x0 bl FUN_0206EBA0 add r0, r4, #0x0 pop {r4, pc} nop _0206EB9C: .word 0x00000774 thumb_func_start FUN_0206EBA0 FUN_0206EBA0: ; 0x0206EBA0 ldr r3, _0206EBAC ; =MIi_CpuClear16 add r1, r0, #0x0 mov r0, #0x0 ldr r2, _0206EBB0 ; =0x00000774 bx r3 nop _0206EBAC: .word MIi_CpuClear16 _0206EBB0: .word 0x00000774 thumb_func_start FUN_0206EBB4 FUN_0206EBB4: ; 0x0206EBB4 ldr r3, _0206EBBC ; =MI_CpuCopy8 ldr r2, _0206EBC0 ; =0x00000774 bx r3 nop _0206EBBC: .word MI_CpuCopy8 _0206EBC0: .word 0x00000774 thumb_func_start FUN_0206EBC4 FUN_0206EBC4: ; 0x0206EBC4 mov r1, #0x77 lsl r1, r1, #0x4 ldr r0, [r0, r1] bx lr thumb_func_start FUN_0206EBCC FUN_0206EBCC: ; 0x0206EBCC mov r2, #0x77 lsl r2, r2, #0x4 str r1, [r0, r2] bx lr thumb_func_start FUN_0206EBD4 FUN_0206EBD4: ; 0x0206EBD4 push {r4-r6, lr} add r5, r2, #0x0 add r4, r0, #0x0 add r0, r1, #0x0 ldr r2, [sp, #0x10] mov r1, #0x5 add r6, r3, #0x0 bl FUN_0206E7B8 cmp r0, #0x7 bhi _0206EC64 add r1, r0, r0 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0206EBF6: ; jump table (using 16-bit offset) .short _0206EC14 - _0206EBF6 - 2; case 0 .short _0206EC28 - _0206EBF6 - 2; case 1 .short _0206EC34 - _0206EBF6 - 2; case 2 .short _0206EC58 - _0206EBF6 - 2; case 3 .short _0206EC1C - _0206EBF6 - 2; case 4 .short _0206EC4C - _0206EBF6 - 2; case 5 .short _0206EC40 - _0206EBF6 - 2; case 6 .short _0206EC06 - _0206EBF6 - 2; case 7 _0206EC06: mov r1, #0xa5 lsl r1, r1, #0x2 add r1, r4, r1 str r1, [r5, #0x0] mov r1, #0x32 str r1, [r6, #0x0] pop {r4-r6, pc} _0206EC14: str r4, [r5, #0x0] mov r1, #0xa5 str r1, [r6, #0x0] pop {r4-r6, pc} _0206EC1C: ldr r1, _0206EC68 ; =0x000005BC add r1, r4, r1 str r1, [r5, #0x0] mov r1, #0x40 str r1, [r6, #0x0] pop {r4-r6, pc} _0206EC28: ldr r1, _0206EC6C ; =0x0000051C add r1, r4, r1 str r1, [r5, #0x0] mov r1, #0x28 str r1, [r6, #0x0] pop {r4-r6, pc} _0206EC34: ldr r1, _0206EC70 ; =0x000006BC add r1, r4, r1 str r1, [r5, #0x0] mov r1, #0xf str r1, [r6, #0x0] pop {r4-r6, pc} _0206EC40: ldr r1, _0206EC74 ; =0x000006F8 add r1, r4, r1 str r1, [r5, #0x0] mov r1, #0x1e str r1, [r6, #0x0] pop {r4-r6, pc} _0206EC4C: ldr r1, _0206EC78 ; =0x000004EC add r1, r4, r1 str r1, [r5, #0x0] mov r1, #0xc str r1, [r6, #0x0] pop {r4-r6, pc} _0206EC58: mov r1, #0xd7 lsl r1, r1, #0x2 add r1, r4, r1 str r1, [r5, #0x0] mov r1, #0x64 str r1, [r6, #0x0] _0206EC64: pop {r4-r6, pc} nop _0206EC68: .word 0x000005BC _0206EC6C: .word 0x0000051C _0206EC70: .word 0x000006BC _0206EC74: .word 0x000006F8 _0206EC78: .word 0x000004EC thumb_func_start FUN_0206EC7C FUN_0206EC7C: ; 0x0206EC7C push {r4-r7} add r5, r1, #0x0 mov r1, #0x0 add r7, r0, #0x0 add r4, r2, #0x0 mov r12, r3 mvn r1, r1 mov r0, #0x0 cmp r5, #0x0 bls _0206ECCA add r2, r7, #0x0 add r3, r1, #0x0 _0206EC94: ldrh r6, [r2, #0x0] cmp r4, r6 bne _0206ECB2 lsl r0, r0, #0x2 add r0, r7, r0 ldrh r2, [r0, #0x2] mov r1, r12 add r2, r1, r2 add r1, sp, #0x0 ldrh r1, [r1, #0x10] cmp r2, r1 ble _0206ECDC mov r0, #0x0 pop {r4-r7} bx lr _0206ECB2: cmp r1, r3 bne _0206ECC2 cmp r6, #0x0 bne _0206ECC2 ldrh r6, [r2, #0x2] cmp r6, #0x0 bne _0206ECC2 add r1, r0, #0x0 _0206ECC2: add r0, r0, #0x1 add r2, r2, #0x4 cmp r0, r5 blo _0206EC94 _0206ECCA: mov r0, #0x0 mvn r0, r0 cmp r1, r0 bne _0206ECD8 mov r0, #0x0 pop {r4-r7} bx lr _0206ECD8: lsl r0, r1, #0x2 add r0, r7, r0 _0206ECDC: pop {r4-r7} bx lr thumb_func_start FUN_0206ECE0 FUN_0206ECE0: ; 0x0206ECE0 push {r4-r5, lr} sub sp, #0xc add r4, r2, #0x0 str r3, [sp, #0x0] add r2, sp, #0x8 add r3, sp, #0x4 add r5, r1, #0x0 bl FUN_0206EBD4 cmp r0, #0x3 bne _0206ED0A mov r0, #0x63 str r0, [sp, #0x0] ldr r0, [sp, #0x8] ldr r1, [sp, #0x4] add r2, r5, #0x0 add r3, r4, #0x0 bl FUN_0206EC7C add sp, #0xc pop {r4-r5, pc} _0206ED0A: ldr r0, _0206ED20 ; =0x000003E7 add r2, r5, #0x0 str r0, [sp, #0x0] ldr r0, [sp, #0x8] ldr r1, [sp, #0x4] add r3, r4, #0x0 bl FUN_0206EC7C add sp, #0xc pop {r4-r5, pc} nop _0206ED20: .word 0x000003E7 thumb_func_start FUN_0206ED24 FUN_0206ED24: ; 0x0206ED24 push {r3, lr} bl FUN_0206ECE0 cmp r0, #0x0 beq _0206ED32 mov r0, #0x1 pop {r3, pc} _0206ED32: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0206ED38 FUN_0206ED38: ; 0x0206ED38 push {r4-r7, lr} sub sp, #0xc add r7, r0, #0x0 add r5, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 bl FUN_0206ECE0 str r0, [sp, #0x8] cmp r0, #0x0 bne _0206ED54 add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _0206ED54: strh r5, [r0, #0x0] ldr r1, [sp, #0x8] add r2, sp, #0x8 ldrh r0, [r1, #0x2] add r3, sp, #0x4 add r0, r0, r4 strh r0, [r1, #0x2] add r0, r7, #0x0 add r1, r5, #0x0 str r6, [sp, #0x0] bl FUN_0206EBD4 sub r0, r0, #0x3 cmp r0, #0x1 bhi _0206ED7A ldr r0, [sp, #0x8] ldr r1, [sp, #0x4] bl FUN_0206EF94 _0206ED7A: mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_0206ED80 FUN_0206ED80: ; 0x0206ED80 push {r3-r6} mov r5, #0x0 cmp r1, #0x0 bls _0206EDA8 add r6, r0, #0x0 _0206ED8A: ldrh r4, [r6, #0x0] cmp r2, r4 bne _0206EDA0 lsl r1, r5, #0x2 add r0, r0, r1 ldrh r1, [r0, #0x2] cmp r1, r3 bhs _0206EDAA mov r0, #0x0 pop {r3-r6} bx lr _0206EDA0: add r5, r5, #0x1 add r6, r6, #0x4 cmp r5, r1 blo _0206ED8A _0206EDA8: mov r0, #0x0 _0206EDAA: pop {r3-r6} bx lr .balign 4 thumb_func_start FUN_0206EDB0 FUN_0206EDB0: ; 0x0206EDB0 push {r4-r5, lr} sub sp, #0xc add r4, r2, #0x0 str r3, [sp, #0x0] add r2, sp, #0x8 add r3, sp, #0x4 add r5, r1, #0x0 bl FUN_0206EBD4 ldr r0, [sp, #0x8] ldr r1, [sp, #0x4] add r2, r5, #0x0 add r3, r4, #0x0 bl FUN_0206ED80 add sp, #0xc pop {r4-r5, pc} .balign 4 thumb_func_start FUN_0206EDD4 FUN_0206EDD4: ; 0x0206EDD4 push {r4-r7, lr} sub sp, #0xc add r6, r0, #0x0 add r7, r1, #0x0 add r5, r2, #0x0 add r4, r3, #0x0 bl FUN_0206EDB0 str r0, [sp, #0x8] cmp r0, #0x0 bne _0206EDF0 add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _0206EDF0: ldrh r1, [r0, #0x2] sub r1, r1, r5 strh r1, [r0, #0x2] ldr r1, [sp, #0x8] ldrh r0, [r1, #0x2] cmp r0, #0x0 bne _0206EE02 mov r0, #0x0 strh r0, [r1, #0x0] _0206EE02: str r4, [sp, #0x0] add r0, r6, #0x0 add r1, r7, #0x0 add r2, sp, #0x8 add r3, sp, #0x4 bl FUN_0206EBD4 ldr r0, [sp, #0x8] ldr r1, [sp, #0x4] bl FUN_0206EF48 mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0206EE20 FUN_0206EE20: ; 0x0206EE20 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r4, r3, #0x0 bl FUN_0206ED80 cmp r0, #0x0 bne _0206EE34 mov r0, #0x0 pop {r4-r6, pc} _0206EE34: ldrh r1, [r0, #0x2] sub r1, r1, r4 strh r1, [r0, #0x2] ldrh r1, [r0, #0x2] cmp r1, #0x0 bne _0206EE44 mov r1, #0x0 strh r1, [r0, #0x0] _0206EE44: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_0206EF48 mov r0, #0x1 pop {r4-r6, pc} thumb_func_start FUN_0206EE50 FUN_0206EE50: ; 0x0206EE50 push {r3, lr} bl FUN_0206EDB0 cmp r0, #0x0 beq _0206EE5E mov r0, #0x1 pop {r3, pc} _0206EE5E: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0206EE64 FUN_0206EE64: ; 0x0206EE64 cmp r1, #0x7 bhi _0206EEC4 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0206EE74: ; jump table (using 16-bit offset) .short _0206EE8E - _0206EE74 - 2; case 0 .short _0206EE9A - _0206EE74 - 2; case 1 .short _0206EEA2 - _0206EE74 - 2; case 2 .short _0206EEBA - _0206EE74 - 2; case 3 .short _0206EE92 - _0206EE74 - 2; case 4 .short _0206EEB2 - _0206EE74 - 2; case 5 .short _0206EEAA - _0206EE74 - 2; case 6 .short _0206EE84 - _0206EE74 - 2; case 7 _0206EE84: mov r1, #0xa5 lsl r1, r1, #0x2 add r0, r0, r1 mov r2, #0x32 b _0206EEC8 _0206EE8E: mov r2, #0xa5 b _0206EEC8 _0206EE92: ldr r1, _0206EEE4 ; =0x000005BC mov r2, #0x40 add r0, r0, r1 b _0206EEC8 _0206EE9A: ldr r1, _0206EEE8 ; =0x0000051C mov r2, #0x28 add r0, r0, r1 b _0206EEC8 _0206EEA2: ldr r1, _0206EEEC ; =0x000006BC mov r2, #0xf add r0, r0, r1 b _0206EEC8 _0206EEAA: ldr r1, _0206EEF0 ; =0x000006F8 mov r2, #0x1e add r0, r0, r1 b _0206EEC8 _0206EEB2: ldr r1, _0206EEF4 ; =0x000004EC mov r2, #0xc add r0, r0, r1 b _0206EEC8 _0206EEBA: mov r1, #0xd7 lsl r1, r1, #0x2 add r0, r0, r1 mov r2, #0x64 b _0206EEC8 _0206EEC4: mov r0, #0x0 bx lr _0206EEC8: mov r3, #0x0 cmp r2, #0x0 bls _0206EEE0 _0206EECE: ldrh r1, [r0, #0x0] cmp r1, #0x0 beq _0206EED8 mov r0, #0x1 bx lr _0206EED8: add r3, r3, #0x1 add r0, r0, #0x4 cmp r3, r2 blo _0206EECE _0206EEE0: mov r0, #0x0 bx lr .balign 4 _0206EEE4: .word 0x000005BC _0206EEE8: .word 0x0000051C _0206EEEC: .word 0x000006BC _0206EEF0: .word 0x000006F8 _0206EEF4: .word 0x000004EC thumb_func_start FUN_0206EEF8 FUN_0206EEF8: ; 0x0206EEF8 push {r3, lr} add r3, r2, #0x0 mov r2, #0x1 bl FUN_0206EDB0 cmp r0, #0x0 bne _0206EF0A mov r0, #0x0 pop {r3, pc} _0206EF0A: ldrh r0, [r0, #0x2] pop {r3, pc} .balign 4 thumb_func_start FUN_0206EF10 FUN_0206EF10: ; 0x0206EF10 push {r3, lr} mov r3, #0x1 bl FUN_0206ED80 cmp r0, #0x0 bne _0206EF20 mov r0, #0x0 pop {r3, pc} _0206EF20: ldrh r0, [r0, #0x2] pop {r3, pc} thumb_func_start FUN_0206EF24 FUN_0206EF24: ; 0x0206EF24 push {r3} sub sp, #0x4 ldrh r3, [r0, #0x0] add r2, sp, #0x0 strh r3, [r2, #0x0] ldrh r3, [r0, #0x2] strh r3, [r2, #0x2] ldrh r3, [r1, #0x0] strh r3, [r0, #0x0] ldrh r3, [r1, #0x2] strh r3, [r0, #0x2] ldrh r0, [r2, #0x0] strh r0, [r1, #0x0] ldrh r0, [r2, #0x2] strh r0, [r1, #0x2] add sp, #0x4 pop {r3} bx lr thumb_func_start FUN_0206EF48 FUN_0206EF48: ; 0x0206EF48 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] mov r0, #0x0 add r7, r1, #0x0 str r0, [sp, #0x4] sub r0, r7, #0x1 str r0, [sp, #0x8] beq _0206EF8E ldr r4, [sp, #0x0] _0206EF5C: ldr r0, [sp, #0x4] add r6, r0, #0x1 cmp r6, r7 bhs _0206EF80 ldr r0, [sp, #0x0] lsl r1, r6, #0x2 add r5, r0, r1 _0206EF6A: ldrh r0, [r4, #0x2] cmp r0, #0x0 bne _0206EF78 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_0206EF24 _0206EF78: add r6, r6, #0x1 add r5, r5, #0x4 cmp r6, r7 blo _0206EF6A _0206EF80: ldr r0, [sp, #0x4] add r4, r4, #0x4 add r1, r0, #0x1 ldr r0, [sp, #0x8] str r1, [sp, #0x4] cmp r1, r0 blo _0206EF5C _0206EF8E: add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0206EF94 FUN_0206EF94: ; 0x0206EF94 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] mov r0, #0x0 add r7, r1, #0x0 str r0, [sp, #0x4] sub r0, r7, #0x1 str r0, [sp, #0x8] beq _0206EFE8 ldr r4, [sp, #0x0] _0206EFA8: ldr r0, [sp, #0x4] add r6, r0, #0x1 cmp r6, r7 bhs _0206EFDA ldr r0, [sp, #0x0] lsl r1, r6, #0x2 add r5, r0, r1 _0206EFB6: ldrh r0, [r4, #0x2] cmp r0, #0x0 beq _0206EFCA ldrh r0, [r5, #0x2] cmp r0, #0x0 beq _0206EFD2 ldrh r1, [r4, #0x0] ldrh r0, [r5, #0x0] cmp r1, r0 bls _0206EFD2 _0206EFCA: add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_0206EF24 _0206EFD2: add r6, r6, #0x1 add r5, r5, #0x4 cmp r6, r7 blo _0206EFB6 _0206EFDA: ldr r0, [sp, #0x4] add r4, r4, #0x4 add r1, r0, #0x1 ldr r0, [sp, #0x8] str r1, [sp, #0x4] cmp r1, r0 blo _0206EFA8 _0206EFE8: add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_0206EFEC FUN_0206EFEC: ; 0x0206EFEC push {r3-r7, lr} add r5, r0, #0x0 lsl r0, r2, #0x18 add r7, r1, #0x0 lsr r0, r0, #0x18 bl FUN_0206E2F0 add r6, r0, #0x0 ldrb r0, [r7, #0x0] mov r4, #0x0 cmp r0, #0xff beq _0206F0BE _0206F004: ldrb r0, [r7, r4] cmp r0, #0x7 bhi _0206F0B6 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0206F016: ; jump table (using 16-bit offset) .short _0206F03A - _0206F016 - 2; case 0 .short _0206F05C - _0206F016 - 2; case 1 .short _0206F06E - _0206F016 - 2; case 2 .short _0206F0A4 - _0206F016 - 2; case 3 .short _0206F04A - _0206F016 - 2; case 4 .short _0206F092 - _0206F016 - 2; case 5 .short _0206F080 - _0206F016 - 2; case 6 .short _0206F026 - _0206F016 - 2; case 7 _0206F026: mov r1, #0xa5 lsl r1, r1, #0x2 lsl r3, r4, #0x18 add r0, r6, #0x0 add r1, r5, r1 mov r2, #0x7 lsr r3, r3, #0x18 bl FUN_0206E330 b _0206F0B6 _0206F03A: lsl r3, r4, #0x18 add r0, r6, #0x0 add r1, r5, #0x0 mov r2, #0x0 lsr r3, r3, #0x18 bl FUN_0206E330 b _0206F0B6 _0206F04A: ldr r1, _0206F0C4 ; =0x000005BC lsl r3, r4, #0x18 add r0, r6, #0x0 add r1, r5, r1 mov r2, #0x4 lsr r3, r3, #0x18 bl FUN_0206E330 b _0206F0B6 _0206F05C: ldr r1, _0206F0C8 ; =0x0000051C lsl r3, r4, #0x18 add r0, r6, #0x0 add r1, r5, r1 mov r2, #0x1 lsr r3, r3, #0x18 bl FUN_0206E330 b _0206F0B6 _0206F06E: ldr r1, _0206F0CC ; =0x000006BC lsl r3, r4, #0x18 add r0, r6, #0x0 add r1, r5, r1 mov r2, #0x2 lsr r3, r3, #0x18 bl FUN_0206E330 b _0206F0B6 _0206F080: ldr r1, _0206F0D0 ; =0x000006F8 lsl r3, r4, #0x18 add r0, r6, #0x0 add r1, r5, r1 mov r2, #0x6 lsr r3, r3, #0x18 bl FUN_0206E330 b _0206F0B6 _0206F092: ldr r1, _0206F0D4 ; =0x000004EC lsl r3, r4, #0x18 add r0, r6, #0x0 add r1, r5, r1 mov r2, #0x5 lsr r3, r3, #0x18 bl FUN_0206E330 b _0206F0B6 _0206F0A4: mov r1, #0xd7 lsl r1, r1, #0x2 lsl r3, r4, #0x18 add r0, r6, #0x0 add r1, r5, r1 mov r2, #0x3 lsr r3, r3, #0x18 bl FUN_0206E330 _0206F0B6: add r4, r4, #0x1 ldrb r0, [r7, r4] cmp r0, #0xff bne _0206F004 _0206F0BE: add r0, r6, #0x0 pop {r3-r7, pc} nop _0206F0C4: .word 0x000005BC _0206F0C8: .word 0x0000051C _0206F0CC: .word 0x000006BC _0206F0D0: .word 0x000006F8 _0206F0D4: .word 0x000004EC thumb_func_start FUN_0206F0D8 FUN_0206F0D8: ; 0x0206F0D8 cmp r1, #0x7 bhi _0206F136 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0206F0E8: ; jump table (using 16-bit offset) .short _0206F102 - _0206F0E8 - 2; case 0 .short _0206F10E - _0206F0E8 - 2; case 1 .short _0206F116 - _0206F0E8 - 2; case 2 .short _0206F12E - _0206F0E8 - 2; case 3 .short _0206F106 - _0206F0E8 - 2; case 4 .short _0206F126 - _0206F0E8 - 2; case 5 .short _0206F11E - _0206F0E8 - 2; case 6 .short _0206F0F8 - _0206F0E8 - 2; case 7 _0206F0F8: mov r1, #0xa5 lsl r1, r1, #0x2 add r0, r0, r1 mov r3, #0x32 b _0206F136 _0206F102: mov r3, #0xa5 b _0206F136 _0206F106: ldr r1, _0206F144 ; =0x000005BC mov r3, #0x40 add r0, r0, r1 b _0206F136 _0206F10E: ldr r1, _0206F148 ; =0x0000051C mov r3, #0x28 add r0, r0, r1 b _0206F136 _0206F116: ldr r1, _0206F14C ; =0x000006BC mov r3, #0xf add r0, r0, r1 b _0206F136 _0206F11E: ldr r1, _0206F150 ; =0x000006F8 mov r3, #0x1e add r0, r0, r1 b _0206F136 _0206F126: ldr r1, _0206F154 ; =0x000004EC mov r3, #0xc add r0, r0, r1 b _0206F136 _0206F12E: mov r1, #0xd7 lsl r1, r1, #0x2 add r0, r0, r1 mov r3, #0x64 _0206F136: cmp r2, r3 blo _0206F13E mov r0, #0x0 bx lr _0206F13E: lsl r1, r2, #0x2 add r0, r0, r1 bx lr .balign 4 _0206F144: .word 0x000005BC _0206F148: .word 0x0000051C _0206F14C: .word 0x000006BC _0206F150: .word 0x000006F8 _0206F154: .word 0x000004EC thumb_func_start FUN_0206F158 FUN_0206F158: ; 0x0206F158 ldr r3, _0206F160 ; =FUN_02022610 mov r1, #0x3 bx r3 nop _0206F160: .word FUN_02022610 thumb_func_start FUN_0206F164 FUN_0206F164: ; 0x0206F164 push {r4, lr} mov r1, #0x24 bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x0 add r1, r4, #0x0 mov r2, #0x24 blx MIi_CpuClear16 add r0, r4, #0x0 pop {r4, pc} thumb_func_start FUN_0206F17C FUN_0206F17C: ; 0x0206F17C push {r3-r4} add r4, r0, r1 ldrb r4, [r4, #0x8] strb r4, [r2, #0x0] ldrb r0, [r0, r1] strb r0, [r3, #0x0] pop {r3-r4} bx lr thumb_func_start FUN_0206F18C FUN_0206F18C: ; 0x0206F18C ldrh r0, [r0, #0x10] bx lr thumb_func_start FUN_0206F190 FUN_0206F190: ; 0x0206F190 push {r3-r4} add r4, r0, r1 strb r2, [r4, #0x8] strb r3, [r0, r1] pop {r3-r4} bx lr thumb_func_start FUN_0206F19C FUN_0206F19C: ; 0x0206F19C strh r1, [r0, #0x10] bx lr thumb_func_start FUN_0206F1A0 FUN_0206F1A0: ; 0x0206F1A0 add r1, r0, r1 ldrb r0, [r1, #0x19] strb r0, [r2, #0x0] ldrb r0, [r1, #0x14] strb r0, [r3, #0x0] bx lr thumb_func_start FUN_0206F1AC FUN_0206F1AC: ; 0x0206F1AC ldrh r0, [r0, #0x1e] bx lr thumb_func_start FUN_0206F1B0 FUN_0206F1B0: ; 0x0206F1B0 ldrh r0, [r0, #0x20] bx lr thumb_func_start FUN_0206F1B4 FUN_0206F1B4: ; 0x0206F1B4 ldrh r0, [r0, #0x22] bx lr thumb_func_start FUN_0206F1B8 FUN_0206F1B8: ; 0x0206F1B8 add r0, r0, r1 strb r2, [r0, #0x19] strb r3, [r0, #0x14] bx lr thumb_func_start FUN_0206F1C0 FUN_0206F1C0: ; 0x0206F1C0 push {r4-r6, lr} mov r4, #0x0 add r5, r0, #0x0 add r6, r4, #0x0 _0206F1C8: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 add r3, r6, #0x0 bl FUN_0206F1B8 add r4, r4, #0x1 cmp r4, #0x5 blo _0206F1C8 add r0, r5, #0x0 mov r1, #0x0 bl FUN_0206F1EC pop {r4-r6, pc} thumb_func_start FUN_0206F1E4 FUN_0206F1E4: ; 0x0206F1E4 strh r1, [r0, #0x1e] strh r2, [r0, #0x20] bx lr .balign 4 thumb_func_start FUN_0206F1EC FUN_0206F1EC: ; 0x0206F1EC strh r1, [r0, #0x22] bx lr thumb_func_start FUN_0206F1F0 FUN_0206F1F0: ; 0x0206F1F0 push {r4-r6, lr} add r6, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0xb bls _0206F20A b _0206F37C _0206F20A: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0206F216: ; jump table (using 16-bit offset) .short _0206F22E - _0206F216 - 2; case 0 .short _0206F234 - _0206F216 - 2; case 1 .short _0206F25A - _0206F216 - 2; case 2 .short _0206F26C - _0206F216 - 2; case 3 .short _0206F31A - _0206F216 - 2; case 4 .short _0206F330 - _0206F216 - 2; case 5 .short _0206F336 - _0206F216 - 2; case 6 .short _0206F344 - _0206F216 - 2; case 7 .short _0206F34A - _0206F216 - 2; case 8 .short _0206F366 - _0206F216 - 2; case 9 .short _0206F366 - _0206F216 - 2; case 10 .short _0206F366 - _0206F216 - 2; case 11 _0206F22E: ldr r1, [r5, #0xc] ldr r0, [r4, #0x0] str r1, [r0, #0x0] _0206F234: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] ldr r0, [r4, #0x0] ldr r0, [r0, #0x4] cmp r0, #0x1 bne _0206F24C ldr r0, [r5, #0xc] bl FUN_0203384C cmp r0, #0x0 bne _0206F24E _0206F24C: b _0206F380 _0206F24E: mov r0, #0xa str r0, [r4, #0x4] ldr r0, [r4, #0x8] mov r1, #0x0 strh r1, [r0, #0x0] b _0206F380 _0206F25A: ldr r1, _0206F384 ; =0x020F943C ldr r2, [r4, #0x0] add r0, r6, #0x0 bl FUN_02046500 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0206F380 _0206F26C: ldr r0, [r5, #0xc] bl FUN_0203384C cmp r0, #0x0 beq _0206F280 ldr r0, [r5, #0xc] bl FUN_020462AC bl FUN_0205F304 _0206F280: ldr r0, [r4, #0x0] ldr r0, [r0, #0x4] cmp r0, #0xa bhi _0206F380 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0206F294: ; jump table (using 16-bit offset) .short _0206F380 - _0206F294 - 2; case 0 .short _0206F2B8 - _0206F294 - 2; case 1 .short _0206F2C6 - _0206F294 - 2; case 2 .short _0206F2AA - _0206F294 - 2; case 3 .short _0206F2E0 - _0206F294 - 2; case 4 .short _0206F2EE - _0206F294 - 2; case 5 .short _0206F2D4 - _0206F294 - 2; case 6 .short _0206F2FC - _0206F294 - 2; case 7 .short _0206F30E - _0206F294 - 2; case 8 .short _0206F314 - _0206F294 - 2; case 9 .short _0206F302 - _0206F294 - 2; case 10 _0206F2AA: mov r0, #0x0 strb r0, [r4, #0xc] mov r0, #0x1 strb r0, [r4, #0xd] mov r0, #0x4 str r0, [r4, #0x4] b _0206F380 _0206F2B8: mov r0, #0x32 strb r0, [r4, #0xc] mov r0, #0x1 strb r0, [r4, #0xd] mov r0, #0x4 str r0, [r4, #0x4] b _0206F380 _0206F2C6: mov r0, #0x64 strb r0, [r4, #0xc] mov r0, #0x1 strb r0, [r4, #0xd] mov r0, #0x4 str r0, [r4, #0x4] b _0206F380 _0206F2D4: mov r0, #0x0 strb r0, [r4, #0xc] strb r0, [r4, #0xd] mov r0, #0x4 str r0, [r4, #0x4] b _0206F380 _0206F2E0: mov r0, #0x32 strb r0, [r4, #0xc] mov r0, #0x0 strb r0, [r4, #0xd] mov r0, #0x4 str r0, [r4, #0x4] b _0206F380 _0206F2EE: mov r0, #0x64 strb r0, [r4, #0xc] mov r0, #0x0 strb r0, [r4, #0xd] mov r0, #0x4 str r0, [r4, #0x4] b _0206F380 _0206F2FC: mov r0, #0x6 str r0, [r4, #0x4] b _0206F380 _0206F302: ldr r0, [r4, #0x8] mov r1, #0x1 strh r1, [r0, #0x0] mov r0, #0xb str r0, [r4, #0x4] b _0206F380 _0206F30E: mov r0, #0x9 str r0, [r4, #0x4] b _0206F380 _0206F314: mov r0, #0x8 str r0, [r4, #0x4] b _0206F380 _0206F31A: ldr r1, [r4, #0x0] ldrb r2, [r4, #0xc] ldrb r3, [r4, #0xd] ldr r1, [r1, #0x8] add r0, r6, #0x0 bl FUN_020471C0 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0206F380 _0206F330: mov r0, #0x2 str r0, [r4, #0x4] b _0206F380 _0206F336: add r0, r6, #0x0 bl FUN_020383D8 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _0206F380 _0206F344: mov r0, #0x2 str r0, [r4, #0x4] b _0206F380 _0206F34A: ldr r2, _0206F388 ; =0x00040100 mov r0, #0x3 mov r1, #0x36 bl FUN_0201681C bl FUN_02088878 mov r0, #0x36 bl FUN_02211E60 mov r0, #0x0 blx OS_ResetSystem b _0206F380 _0206F366: ldr r0, [r4, #0x0] bl FUN_02016A18 add r0, r4, #0x0 bl FUN_02016A18 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] mov r0, #0x1 pop {r4-r6, pc} _0206F37C: mov r0, #0x1 pop {r4-r6, pc} _0206F380: mov r0, #0x0 pop {r4-r6, pc} .balign 4 _0206F384: .word 0x020F943C _0206F388: .word 0x00040100 thumb_func_start FUN_0206F38C FUN_0206F38C: ; 0x0206F38C push {r4, lr} mov r0, #0xb mov r1, #0x10 bl FUN_020169D8 mov r1, #0x0 mov r2, #0x10 add r4, r0, #0x0 blx MI_CpuFill8 mov r0, #0xb mov r1, #0xc bl FUN_020169D8 mov r1, #0x0 mov r2, #0xc str r0, [r4, #0x0] blx MI_CpuFill8 add r0, r4, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0206F3B8 FUN_0206F3B8: ; 0x0206F3B8 push {r4, lr} add r4, r0, #0x0 bl FUN_0206F38C add r2, r0, #0x0 ldr r0, [r2, #0x0] mov r1, #0x2 str r1, [r0, #0x4] ldr r1, _0206F3D4 ; =FUN_0206F1F0 add r0, r4, #0x0 bl FUN_0204640C pop {r4, pc} nop _0206F3D4: .word FUN_0206F1F0 thumb_func_start FUN_0206F3D8 FUN_0206F3D8: ; 0x0206F3D8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_0206F38C add r2, r0, #0x0 ldr r0, [r2, #0x0] mov r1, #0x1 str r1, [r0, #0x4] ldr r1, _0206F3F8 ; =FUN_0206F1F0 add r0, r5, #0x0 str r4, [r2, #0x8] bl FUN_0204640C pop {r3-r5, pc} nop _0206F3F8: .word FUN_0206F1F0 thumb_func_start FUN_0206F3FC FUN_0206F3FC: ; 0x0206F3FC push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F10 bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 mov r0, #0x1 lsl r0, r0, #0x1a ldr r2, [r0, #0x0] ldr r1, _0206F594 ; =0xFFFFE0FF ldr r3, _0206F598 ; =0x04001000 and r2, r1 str r2, [r0, #0x0] ldr r2, [r3, #0x0] add r0, #0x50 and r1, r2 str r1, [r3, #0x0] mov r1, #0x0 strh r1, [r0, #0x0] add r3, #0x50 strh r1, [r3, #0x0] mov r0, #0x4 mov r1, #0x8 bl FUN_0201669C mov r2, #0x2 mov r0, #0x3 mov r1, #0xc lsl r2, r2, #0x10 bl FUN_0201681C add r0, r4, #0x0 bl FUN_0206FE74 add r4, r0, #0x0 mov r0, #0x6 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r1, #0xc str r1, [sp, #0x8] mov r1, #0x3 add r2, r1, #0x0 mov r3, #0x0 bl FUN_0200E1D0 add r0, r4, #0x0 bl FUN_0206FF74 bl FUN_0206FB80 ldr r0, [r4, #0x0] bl FUN_0206FBA0 add r0, r4, #0x0 bl FUN_0206FD24 bl FUN_0201CC08 mov r0, #0x4 bl FUN_0201CC24 mov r1, #0x0 mov r0, #0x39 add r2, r1, #0x0 bl FUN_0200433C add r0, r4, #0x0 bl FUN_02072590 add r0, r4, #0x0 bl FUN_02073710 add r0, r4, #0x0 bl FUN_0207388C add r0, r4, #0x0 bl FUN_0206FFB4 add r0, r4, #0x0 bl FUN_0207047C ldr r1, _0206F59C ; =0x00000B25 add r0, r4, #0x0 ldrb r1, [r4, r1] mov r2, #0x1 bl FUN_020713EC ldr r1, _0206F5A0 ; =0x000005A4 ldr r3, [r4, r1] add r0, r3, #0x0 add r0, #0x20 ldrb r2, [r0, #0x0] cmp r2, #0x5 beq _0206F4CC cmp r2, #0x10 bne _0206F4E2 _0206F4CC: ldrh r0, [r3, #0x24] bl FUN_02076144 cmp r0, #0x0 bne _0206F564 add r0, r4, #0x0 mov r1, #0x20 mov r2, #0x1 bl FUN_020731C0 b _0206F564 _0206F4E2: cmp r2, #0x6 bne _0206F4F2 add r0, r4, #0x0 mov r1, #0x21 mov r2, #0x1 bl FUN_020731C0 b _0206F564 _0206F4F2: cmp r2, #0x9 beq _0206F4FA cmp r2, #0xe bne _0206F506 _0206F4FA: add r0, r4, #0x0 mov r1, #0x1f mov r2, #0x1 bl FUN_020731C0 b _0206F564 _0206F506: cmp r2, #0x7 beq _0206F51A cmp r2, #0x8 beq _0206F51A add r0, r2, #0x0 add r0, #0xf5 lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x1 bhi _0206F526 _0206F51A: ldr r0, _0206F5A4 ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_0200C664 b _0206F564 _0206F526: cmp r2, #0x2 beq _0206F52E cmp r2, #0x11 bne _0206F53A _0206F52E: add r0, r4, #0x0 mov r1, #0x22 mov r2, #0x1 bl FUN_020731C0 b _0206F564 _0206F53A: cmp r2, #0xf bne _0206F54A add r0, r4, #0x0 mov r1, #0x22 mov r2, #0x1 bl FUN_020731C0 b _0206F564 _0206F54A: cmp r2, #0xa beq _0206F55A add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 bl FUN_020731C0 b _0206F564 _0206F55A: add r1, #0x24 ldr r0, [r4, r1] mov r1, #0x1 bl FUN_0200C664 _0206F564: add r0, r4, #0x0 bl FUN_02072720 add r0, r4, #0x0 bl FUN_02070AA4 add r0, r4, #0x0 bl FUN_0207248C cmp r0, #0x0 bne _0206F582 mov r0, #0x1 mov r1, #0x0 bl FUN_0201E74C _0206F582: ldr r0, _0206F5A8 ; =FUN_0206FB58 add r1, r4, #0x0 bl FUN_02015F10 bl FUN_02033F20 mov r0, #0x1 add sp, #0xc pop {r3-r4, pc} .balign 4 _0206F594: .word 0xFFFFE0FF _0206F598: .word 0x04001000 _0206F59C: .word 0x00000B25 _0206F5A0: .word 0x000005A4 _0206F5A4: .word 0x000005C8 _0206F5A8: .word FUN_0206FB58 thumb_func_start FUN_0206F5AC FUN_0206F5AC: ; 0x0206F5AC push {r3-r5, lr} add r4, r1, #0x0 bl FUN_02006278 ldr r1, [r4, #0x0] add r5, r0, #0x0 cmp r1, #0x1c bhi _0206F61C add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0206F5C8: ; jump table (using 16-bit offset) .short _0206F602 - _0206F5C8 - 2; case 0 .short _0206F60A - _0206F5C8 - 2; case 1 .short _0206F612 - _0206F5C8 - 2; case 2 .short _0206F624 - _0206F5C8 - 2; case 3 .short _0206F62C - _0206F5C8 - 2; case 4 .short _0206F634 - _0206F5C8 - 2; case 5 .short _0206F63E - _0206F5C8 - 2; case 6 .short _0206F646 - _0206F5C8 - 2; case 7 .short _0206F64E - _0206F5C8 - 2; case 8 .short _0206F656 - _0206F5C8 - 2; case 9 .short _0206F65E - _0206F5C8 - 2; case 10 .short _0206F666 - _0206F5C8 - 2; case 11 .short _0206F66E - _0206F5C8 - 2; case 12 .short _0206F676 - _0206F5C8 - 2; case 13 .short _0206F67E - _0206F5C8 - 2; case 14 .short _0206F686 - _0206F5C8 - 2; case 15 .short _0206F68E - _0206F5C8 - 2; case 16 .short _0206F696 - _0206F5C8 - 2; case 17 .short _0206F69E - _0206F5C8 - 2; case 18 .short _0206F6A6 - _0206F5C8 - 2; case 19 .short _0206F6AE - _0206F5C8 - 2; case 20 .short _0206F6B6 - _0206F5C8 - 2; case 21 .short _0206F6BE - _0206F5C8 - 2; case 22 .short _0206F6C6 - _0206F5C8 - 2; case 23 .short _0206F6CE - _0206F5C8 - 2; case 24 .short _0206F6E6 - _0206F5C8 - 2; case 25 .short _0206F6F4 - _0206F5C8 - 2; case 26 .short _0206F6FC - _0206F5C8 - 2; case 27 .short _0206F70A - _0206F5C8 - 2; case 28 _0206F602: bl FUN_0206F750 str r0, [r4, #0x0] b _0206F722 _0206F60A: bl FUN_0206F7D8 str r0, [r4, #0x0] b _0206F722 _0206F612: add r1, r4, #0x0 bl FUN_020718CC cmp r0, #0x1 beq _0206F61E _0206F61C: b _0206F722 _0206F61E: mov r0, #0x1 str r0, [r4, #0x0] b _0206F722 _0206F624: bl FUN_020754D0 str r0, [r4, #0x0] b _0206F722 _0206F62C: bl FUN_0206F874 str r0, [r4, #0x0] b _0206F722 _0206F634: ldr r1, _0206F740 ; =0x00000B14 ldr r1, [r5, r1] blx r1 str r0, [r4, #0x0] b _0206F722 _0206F63E: bl FUN_02077110 str r0, [r4, #0x0] b _0206F722 _0206F646: bl FUN_020761A0 str r0, [r4, #0x0] b _0206F722 _0206F64E: bl FUN_0206F8B4 str r0, [r4, #0x0] b _0206F722 _0206F656: bl FUN_02072170 str r0, [r4, #0x0] b _0206F722 _0206F65E: bl FUN_02072194 str r0, [r4, #0x0] b _0206F722 _0206F666: bl FUN_02072140 str r0, [r4, #0x0] b _0206F722 _0206F66E: bl FUN_0207230C str r0, [r4, #0x0] b _0206F722 _0206F676: bl FUN_0206F8F4 str r0, [r4, #0x0] b _0206F722 _0206F67E: bl FUN_02071F58 str r0, [r4, #0x0] b _0206F722 _0206F686: bl FUN_0207405C str r0, [r4, #0x0] b _0206F722 _0206F68E: bl FUN_0207436C str r0, [r4, #0x0] b _0206F722 _0206F696: bl FUN_0206FA14 str r0, [r4, #0x0] b _0206F722 _0206F69E: bl FUN_02076D3C str r0, [r4, #0x0] b _0206F722 _0206F6A6: bl FUN_02074F6C str r0, [r4, #0x0] b _0206F722 _0206F6AE: bl FUN_0206F980 str r0, [r4, #0x0] b _0206F722 _0206F6B6: bl FUN_0206F9A4 str r0, [r4, #0x0] b _0206F722 _0206F6BE: bl FUN_0206F9C8 str r0, [r4, #0x0] b _0206F722 _0206F6C6: bl FUN_0206F9D4 str r0, [r4, #0x0] b _0206F722 _0206F6CE: bl FUN_020714D0 cmp r0, #0x0 bne _0206F6DC mov r0, #0x19 str r0, [r4, #0x0] b _0206F722 _0206F6DC: cmp r0, #0x3 bne _0206F722 mov r0, #0x1 str r0, [r4, #0x0] b _0206F722 _0206F6E6: bl FUN_020746D4 cmp r0, #0x1 bne _0206F722 mov r0, #0x1 str r0, [r4, #0x0] b _0206F722 _0206F6F4: bl FUN_02071970 str r0, [r4, #0x0] b _0206F722 _0206F6FC: mov r0, #0x1 mov r1, #0xc bl FUN_02079A70 mov r0, #0x1c str r0, [r4, #0x0] b _0206F722 _0206F70A: bl FUN_0200E308 cmp r0, #0x1 bne _0206F722 ldr r0, _0206F744 ; =0x00000B25 ldrb r1, [r5, r0] ldr r0, _0206F748 ; =0x000005A4 ldr r0, [r5, r0] add r0, #0x22 strb r1, [r0, #0x0] mov r0, #0x1 pop {r3-r5, pc} _0206F722: add r0, r5, #0x0 bl FUN_02073BEC add r0, r5, #0x0 bl FUN_02073D6C add r0, r5, #0x0 bl FUN_02070F14 ldr r0, _0206F74C ; =0x000005AC ldr r0, [r5, r0] bl FUN_0200BC1C mov r0, #0x0 pop {r3-r5, pc} .balign 4 _0206F740: .word 0x00000B14 _0206F744: .word 0x00000B25 _0206F748: .word 0x000005A4 _0206F74C: .word 0x000005AC thumb_func_start FUN_0206F750 FUN_0206F750: ; 0x0206F750 push {r4, lr} add r4, r0, #0x0 bl FUN_0200E308 cmp r0, #0x1 bne _0206F7CA ldr r0, _0206F7D0 ; =0x000005A4 ldr r2, [r4, r0] add r0, r2, #0x0 add r0, #0x20 ldrb r1, [r0, #0x0] cmp r1, #0x5 beq _0206F76E cmp r1, #0x10 bne _0206F786 _0206F76E: ldrh r0, [r2, #0x24] bl FUN_02076144 cmp r0, #0x1 bne _0206F782 ldr r0, _0206F7D4 ; =0x00000B22 mov r1, #0x0 strb r1, [r4, r0] mov r0, #0x7 pop {r4, pc} _0206F782: mov r0, #0x4 pop {r4, pc} _0206F786: cmp r1, #0x6 bne _0206F78E mov r0, #0x11 pop {r4, pc} _0206F78E: cmp r1, #0x7 bne _0206F79A add r0, r4, #0x0 bl FUN_02076C94 pop {r4, pc} _0206F79A: cmp r1, #0x8 bne _0206F7A6 add r0, r4, #0x0 bl FUN_02076890 pop {r4, pc} _0206F7A6: add r0, r1, #0x0 add r0, #0xf5 lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x1 bhi _0206F7B6 mov r0, #0xc pop {r4, pc} _0206F7B6: cmp r1, #0x9 bne _0206F7BE mov r0, #0x8 pop {r4, pc} _0206F7BE: cmp r1, #0xa bne _0206F7C6 mov r0, #0xe pop {r4, pc} _0206F7C6: mov r0, #0x1 pop {r4, pc} _0206F7CA: mov r0, #0x0 pop {r4, pc} nop _0206F7D0: .word 0x000005A4 _0206F7D4: .word 0x00000B22 thumb_func_start FUN_0206F7D8 FUN_0206F7D8: ; 0x0206F7D8 push {r4, lr} add r4, r0, #0x0 bl FUN_02070F94 cmp r0, #0x0 bne _0206F81E ldr r0, _0206F870 ; =0x000005A4 ldr r1, [r4, r0] add r0, r1, #0x0 add r0, #0x20 ldrb r0, [r0, #0x0] cmp r0, #0x3 beq _0206F7F6 cmp r0, #0x14 bne _0206F800 _0206F7F6: mov r0, #0x0 add r1, #0x23 strb r0, [r1, #0x0] mov r0, #0x1b pop {r4, pc} _0206F800: cmp r0, #0xe bne _0206F80E add r0, r4, #0x0 bl FUN_02077248 mov r0, #0x14 pop {r4, pc} _0206F80E: cmp r0, #0x13 bne _0206F81A add r0, r4, #0x0 bl FUN_02072420 pop {r4, pc} _0206F81A: mov r0, #0x2 pop {r4, pc} _0206F81E: cmp r0, #0x4 bne _0206F82A add r0, r4, #0x0 bl FUN_0207155C pop {r4, pc} _0206F82A: cmp r0, #0x3 bne _0206F83C ldr r0, _0206F870 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] add r0, #0x23 strb r1, [r0, #0x0] mov r0, #0x1b pop {r4, pc} _0206F83C: cmp r0, #0x2 bne _0206F86A ldr r0, _0206F870 ; =0x000005A4 ldr r2, [r4, r0] add r1, r2, #0x0 add r1, #0x20 ldrb r1, [r1, #0x0] cmp r1, #0xf beq _0206F858 mov r0, #0x1 add r2, #0x23 strb r0, [r2, #0x0] mov r0, #0x1b pop {r4, pc} _0206F858: add r0, #0x24 ldr r0, [r4, r0] mov r1, #0x1 bl FUN_0200C664 add r0, r4, #0x0 bl FUN_02075118 pop {r4, pc} _0206F86A: mov r0, #0x1 pop {r4, pc} nop _0206F870: .word 0x000005A4 thumb_func_start FUN_0206F874 FUN_0206F874: ; 0x0206F874 push {r4, lr} add r4, r0, #0x0 bl FUN_02071D48 cmp r0, #0x0 beq _0206F884 cmp r0, #0x2 bne _0206F896 _0206F884: ldr r0, _0206F8AC ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_0200C664 add r0, r4, #0x0 bl FUN_02071DF4 pop {r4, pc} _0206F896: cmp r0, #0x3 bne _0206F8A8 ldr r0, _0206F8B0 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] add r0, #0x23 strb r1, [r0, #0x0] mov r0, #0x1b pop {r4, pc} _0206F8A8: mov r0, #0x4 pop {r4, pc} .balign 4 _0206F8AC: .word 0x000005C8 _0206F8B0: .word 0x000005A4 thumb_func_start FUN_0206F8B4 FUN_0206F8B4: ; 0x0206F8B4 push {r4, lr} add r4, r0, #0x0 bl FUN_02071D48 cmp r0, #0x0 beq _0206F8C4 cmp r0, #0x2 bne _0206F8D6 _0206F8C4: ldr r0, _0206F8EC ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_0200C664 add r0, r4, #0x0 bl FUN_02071F58 pop {r4, pc} _0206F8D6: cmp r0, #0x3 bne _0206F8E8 ldr r0, _0206F8F0 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] add r0, #0x23 strb r1, [r0, #0x0] mov r0, #0x1b pop {r4, pc} _0206F8E8: mov r0, #0x8 pop {r4, pc} .balign 4 _0206F8EC: .word 0x000005C8 _0206F8F0: .word 0x000005A4 thumb_func_start FUN_0206F8F4 FUN_0206F8F4: ; 0x0206F8F4 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 ldr r0, _0206F974 ; =0x000006FC ldr r0, [r4, r0] bl FUN_02001C78 add r2, r0, #0x0 mov r0, #0x1 mvn r0, r0 cmp r2, r0 beq _0206F914 add r0, r0, #0x1 cmp r2, r0 beq _0206F96E b _0206F962 _0206F914: mov r0, #0x85 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200D0E0 mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200CCF8 mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C ldr r0, _0206F974 ; =0x000006FC mov r1, #0x0 ldr r0, [r4, r0] bl FUN_02001C5C ldr r0, _0206F978 ; =0x000006F8 ldr r0, [r4, r0] bl FUN_02012870 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 bl FUN_020731C0 ldr r0, _0206F97C ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_0200C664 add sp, #0x4 mov r0, #0x1 pop {r3-r4, pc} _0206F962: add r0, r4, #0x0 add r1, sp, #0x0 blx r2 ldr r0, [sp, #0x0] add sp, #0x4 pop {r3-r4, pc} _0206F96E: mov r0, #0xd add sp, #0x4 pop {r3-r4, pc} .balign 4 _0206F974: .word 0x000006FC _0206F978: .word 0x000006F8 _0206F97C: .word 0x000005C8 thumb_func_start FUN_0206F980 FUN_0206F980: ; 0x0206F980 push {r4, lr} add r4, r0, #0x0 ldr r0, _0206F99C ; =0x00000B24 ldrb r0, [r4, r0] bl FUN_0201BD70 cmp r0, #0x0 bne _0206F996 ldr r0, _0206F9A0 ; =0x00000B22 ldrb r0, [r4, r0] pop {r4, pc} _0206F996: mov r0, #0x14 pop {r4, pc} nop _0206F99C: .word 0x00000B24 _0206F9A0: .word 0x00000B22 thumb_func_start FUN_0206F9A4 FUN_0206F9A4: ; 0x0206F9A4 push {r3, lr} ldr r0, _0206F9C0 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _0206F9BA ldr r0, _0206F9C4 ; =0x000005DC bl FUN_020054C8 mov r0, #0x1b pop {r3, pc} _0206F9BA: mov r0, #0x15 pop {r3, pc} nop _0206F9C0: .word 0x021C48B8 _0206F9C4: .word 0x000005DC thumb_func_start FUN_0206F9C8 FUN_0206F9C8: ; 0x0206F9C8 push {r3, lr} bl FUN_020732CC mov r0, #0x17 pop {r3, pc} .balign 4 thumb_func_start FUN_0206F9D4 FUN_0206F9D4: ; 0x0206F9D4 push {r4, lr} add r4, r0, #0x0 ldr r0, _0206FA08 ; =0x000006FC mov r1, #0xc ldr r0, [r4, r0] bl FUN_020021AC cmp r0, #0x0 beq _0206F9F0 mov r1, #0x1 mvn r1, r1 cmp r0, r1 beq _0206F9FA b _0206FA04 _0206F9F0: ldr r1, _0206FA0C ; =0x00000B18 add r0, r4, #0x0 ldr r1, [r4, r1] blx r1 pop {r4, pc} _0206F9FA: ldr r1, _0206FA10 ; =0x00000B1C add r0, r4, #0x0 ldr r1, [r4, r1] blx r1 pop {r4, pc} _0206FA04: mov r0, #0x17 pop {r4, pc} .balign 4 _0206FA08: .word 0x000006FC _0206FA0C: .word 0x00000B18 _0206FA10: .word 0x00000B1C thumb_func_start FUN_0206FA14 FUN_0206FA14: ; 0x0206FA14 push {r4, lr} add r4, r0, #0x0 bl FUN_02071D48 cmp r0, #0x0 beq _0206FA24 cmp r0, #0x2 bne _0206FA78 _0206FA24: ldr r0, _0206FA90 ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_0200C664 ldr r0, _0206FA94 ; =0x00000B25 mov r1, #0x2c ldrb r0, [r4, r0] add r2, r0, #0x0 mul r2, r1 mov r0, #0x71 add r2, r4, r2 lsl r0, r0, #0x4 ldrb r0, [r2, r0] cmp r0, #0x1 beq _0206FA4C add r0, r4, #0x0 bl FUN_02076AF8 pop {r4, pc} _0206FA4C: add r0, r4, #0x0 sub r1, #0x2d mov r2, #0x1 bl FUN_020731E8 ldr r1, _0206FA98 ; =0x000005A4 mov r2, #0x0 ldr r0, [r4, r1] add r1, #0xf8 add r0, #0x23 strb r2, [r0, #0x0] ldr r0, _0206FA9C ; =0x00000B22 mov r2, #0x15 strb r2, [r4, r0] ldr r2, _0206FAA0 ; =0x000006A4 ldr r0, [r4, r1] ldr r2, [r4, r2] mov r1, #0x69 bl FUN_0200A8E0 mov r0, #0x14 pop {r4, pc} _0206FA78: cmp r0, #0x3 bne _0206FA8A ldr r0, _0206FA98 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] add r0, #0x23 strb r1, [r0, #0x0] mov r0, #0x1b pop {r4, pc} _0206FA8A: mov r0, #0x11 pop {r4, pc} nop _0206FA90: .word 0x000005C8 _0206FA94: .word 0x00000B25 _0206FA98: .word 0x000005A4 _0206FA9C: .word 0x00000B22 _0206FAA0: .word 0x000006A4 thumb_func_start FUN_0206FAA4 FUN_0206FAA4: ; 0x0206FAA4 push {r3-r7, lr} str r0, [sp, #0x0] bl FUN_02006278 add r6, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F10 add r0, r6, #0x0 bl FUN_02073A2C add r0, r6, #0x0 bl FUN_020726F0 ldr r0, [r6, #0x0] bl FUN_0206FCD4 bl FUN_0201CD04 bl FUN_0201C29C mov r7, #0x7 mov r4, #0x0 add r5, r6, #0x0 lsl r7, r7, #0x8 _0206FAD8: ldr r0, [r5, r7] bl FUN_02021A20 add r4, r4, #0x1 add r5, #0x2c cmp r4, #0x6 blo _0206FAD8 ldr r0, _0206FB40 ; =0x000006A4 ldr r0, [r6, r0] bl FUN_02021A20 ldr r0, _0206FB44 ; =0x000006A8 ldr r0, [r6, r0] bl FUN_02021A20 ldr r7, _0206FB48 ; =0x000006AC mov r5, #0x0 add r4, r6, #0x0 _0206FAFC: ldr r0, [r4, r7] bl FUN_02021A20 add r5, r5, #0x1 add r4, r4, #0x4 cmp r5, #0x13 blo _0206FAFC ldr r0, _0206FB4C ; =0x0000069C ldr r0, [r6, r0] bl FUN_0200A8B8 ldr r0, _0206FB50 ; =0x00000698 ldr r0, [r6, r0] bl FUN_0200B990 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r6, r0] bl FUN_0200AB18 ldr r0, _0206FB54 ; =0x00000B34 ldr r0, [r6, r0] cmp r0, #0x0 beq _0206FB30 bl FUN_0206BB74 _0206FB30: ldr r0, [sp, #0x0] bl FUN_0200627C mov r0, #0xc bl FUN_020168D0 mov r0, #0x1 pop {r3-r7, pc} .balign 4 _0206FB40: .word 0x000006A4 _0206FB44: .word 0x000006A8 _0206FB48: .word 0x000006AC _0206FB4C: .word 0x0000069C _0206FB50: .word 0x00000698 _0206FB54: .word 0x00000B34 thumb_func_start FUN_0206FB58 FUN_0206FB58: ; 0x0206FB58 push {r3, lr} ldr r0, [r0, #0x0] bl FUN_0201AB60 bl FUN_0201C30C bl FUN_0200BC30 ldr r3, _0206FB78 ; =0x027E0000 ldr r1, _0206FB7C ; =0x00003FF8 mov r0, #0x1 ldr r2, [r3, r1] orr r0, r2 str r0, [r3, r1] pop {r3, pc} nop _0206FB78: .word 0x027E0000 _0206FB7C: .word 0x00003FF8 thumb_func_start FUN_0206FB80 FUN_0206FB80: ; 0x0206FB80 push {r4, lr} sub sp, #0x28 ldr r4, _0206FB9C ; =0x020F9564 add r3, sp, #0x0 mov r2, #0x5 _0206FB8A: ldmia r4!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _0206FB8A add r0, sp, #0x0 bl FUN_0201E66C add sp, #0x28 pop {r4, pc} .balign 4 _0206FB9C: .word 0x020F9564 thumb_func_start FUN_0206FBA0 FUN_0206FBA0: ; 0x0206FBA0 push {r3-r5, lr} sub sp, #0xb8 ldr r5, _0206FCB8 ; =0x020F9458 add r3, sp, #0xa8 add r4, r0, #0x0 add r2, r3, #0x0 ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 bl FUN_02016BBC ldr r5, _0206FCBC ; =0x020F94D4 add r3, sp, #0x8c ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 add r3, r1, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x0 bl FUN_02018744 ldr r5, _0206FCC0 ; =0x020F94F0 add r3, sp, #0x70 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x1 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02018744 ldr r5, _0206FCC4 ; =0x020F949C add r3, sp, #0x54 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x2 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x2 bl FUN_02018744 ldr r5, _0206FCC8 ; =0x020F9480 add r3, sp, #0x38 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x3 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 bl FUN_02016C18 ldr r5, _0206FCCC ; =0x020F950C add r3, sp, #0x1c ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] str r0, [r3, #0x0] add r0, r4, #0x0 mov r1, #0x4 mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x4 bl FUN_02018744 ldr r5, _0206FCD0 ; =0x020F9528 add r3, sp, #0x0 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x5 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 bl FUN_02016C18 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 mov r3, #0xc bl FUN_02017F18 mov r0, #0x4 mov r1, #0x20 mov r2, #0x0 mov r3, #0xc bl FUN_02017F18 add sp, #0xb8 pop {r3-r5, pc} nop _0206FCB8: .word 0x020F9458 _0206FCBC: .word 0x020F94D4 _0206FCC0: .word 0x020F94F0 _0206FCC4: .word 0x020F949C _0206FCC8: .word 0x020F9480 _0206FCCC: .word 0x020F950C _0206FCD0: .word 0x020F9528 thumb_func_start FUN_0206FCD4 FUN_0206FCD4: ; 0x0206FCD4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x1f mov r1, #0x0 bl FUN_0201E6E4 mov r0, #0x13 mov r1, #0x0 bl FUN_0201E74C add r0, r4, #0x0 mov r1, #0x5 bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x4 bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x3 bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x2 bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x1 bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x0 bl FUN_020178A0 mov r0, #0xc add r1, r4, #0x0 bl FUN_02016A8C pop {r4, pc} .balign 4 thumb_func_start FUN_0206FD24 FUN_0206FD24: ; 0x0206FD24 push {r4-r5, lr} sub sp, #0x14 add r5, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0xc str r0, [sp, #0xc] ldr r2, [r5, #0x0] mov r0, #0x14 mov r1, #0xf mov r3, #0x3 bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0xc str r0, [sp, #0xc] ldr r2, [r5, #0x0] mov r0, #0x14 mov r1, #0x11 mov r3, #0x3 bl FUN_020068C8 mov r0, #0x14 mov r1, #0x10 mov r2, #0xc bl LoadFromNarc_2 add r1, sp, #0x10 add r4, r0, #0x0 blx FUN_020B0138 ldr r2, [sp, #0x10] mov r0, #0x3 ldr r1, [r2, #0xc] ldr r2, [r2, #0x8] mov r3, #0x0 lsl r2, r2, #0x10 lsr r2, r2, #0x10 bl FUN_02017FB4 ldr r1, [sp, #0x10] ldr r0, _0206FE6C ; =0x000004A4 ldr r1, [r1, #0xc] mov r2, #0x1 add r0, r5, r0 add r1, #0x60 lsl r2, r2, #0x8 blx memcpy mov r0, #0xc add r1, r4, #0x0 bl FUN_02016A8C mov r1, #0x1a mov r0, #0x0 lsl r1, r1, #0x4 mov r2, #0xc bl FUN_02002EEC mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xc str r0, [sp, #0x4] ldr r0, [r5, #0x0] mov r2, #0x1 mov r3, #0xe bl FUN_0200CB00 ldr r0, _0206FE70 ; =0x000005A4 ldr r0, [r5, r0] ldr r0, [r0, #0xc] bl FUN_02025084 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] mov r0, #0xc str r0, [sp, #0x4] ldr r0, [r5, #0x0] mov r1, #0x0 mov r2, #0xa mov r3, #0xf bl FUN_0200CD68 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0xc str r0, [sp, #0xc] ldr r2, [r5, #0x0] mov r0, #0x14 mov r1, #0x3 mov r3, #0x4 bl FUN_0200687C mov r3, #0x20 mov r1, #0x4 str r3, [sp, #0x0] mov r0, #0xc str r0, [sp, #0x4] mov r0, #0x14 add r2, r1, #0x0 bl FUN_02006930 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] mov r1, #0xc str r1, [sp, #0xc] ldr r2, [r5, #0x0] mov r0, #0x14 mov r3, #0x5 bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0xc str r0, [sp, #0xc] ldr r2, [r5, #0x0] mov r0, #0x14 mov r1, #0xe mov r3, #0x5 bl FUN_020068C8 mov r0, #0x20 str r0, [sp, #0x0] mov r0, #0xc str r0, [sp, #0x4] mov r0, #0x14 mov r1, #0xd mov r2, #0x4 mov r3, #0x0 bl FUN_02006930 mov r2, #0x99 lsl r2, r2, #0x2 mov r3, #0xf9 add r1, r5, r2 add r2, #0xc0 lsl r3, r3, #0x2 mov r0, #0xc add r2, r5, r2 add r3, r5, r3 bl FUN_020724D4 mov r0, #0x0 add r1, r0, #0x0 bl FUN_02017FE4 mov r0, #0x4 mov r1, #0x0 bl FUN_02017FE4 add sp, #0x14 pop {r4-r5, pc} .balign 4 _0206FE6C: .word 0x000004A4 _0206FE70: .word 0x000005A4 thumb_func_start FUN_0206FE74 FUN_0206FE74: ; 0x0206FE74 push {r3-r7, lr} ldr r1, _0206FF50 ; =0x00000B38 mov r2, #0xc add r4, r0, #0x0 bl FUN_02006268 ldr r2, _0206FF50 ; =0x00000B38 mov r1, #0x0 add r6, r0, #0x0 blx Call_FillMemWithValue add r0, r4, #0x0 bl FUN_0200628C ldr r1, _0206FF54 ; =0x000005A4 str r0, [r6, r1] mov r0, #0xc bl FUN_02016B94 str r0, [r6, #0x0] ldr r0, _0206FF54 ; =0x000005A4 ldr r1, [r6, r0] add r0, r1, #0x0 add r0, #0x20 ldrb r0, [r0, #0x0] cmp r0, #0x2 bne _0206FEBC ldr r0, [r1, #0x14] cmp r0, #0x0 beq _0206FEBC mov r0, #0xc bl FUN_0206BB5C ldr r1, _0206FF58 ; =0x00000B34 str r0, [r6, r1] b _0206FEC2 _0206FEBC: ldr r0, _0206FF58 ; =0x00000B34 mov r1, #0x0 str r1, [r6, r0] _0206FEC2: ldr r2, _0206FF5C ; =0x00000192 mov r0, #0x0 mov r1, #0x1a mov r3, #0xc bl FUN_0200A86C ldr r1, _0206FF60 ; =0x0000069C mov r2, #0x0 str r0, [r6, r1] mov r0, #0xf mov r1, #0xe mov r3, #0xc bl FUN_0200B870 ldr r1, _0206FF64 ; =0x00000698 str r0, [r6, r1] mov r0, #0xc bl FUN_0200AA80 mov r1, #0x6a lsl r1, r1, #0x4 add r7, r1, #0x0 str r0, [r6, r1] mov r4, #0x0 add r5, r6, #0x0 add r7, #0x60 _0206FEF6: mov r0, #0xb mov r1, #0xc bl FUN_020219F4 str r0, [r5, r7] add r4, r4, #0x1 add r5, #0x2c cmp r4, #0x6 blo _0206FEF6 mov r0, #0x1 lsl r0, r0, #0x8 mov r1, #0xc bl FUN_020219F4 ldr r1, _0206FF68 ; =0x000006A4 str r0, [r6, r1] mov r0, #0x1 lsl r0, r0, #0x8 mov r1, #0xc bl FUN_020219F4 ldr r1, _0206FF6C ; =0x000006A8 mov r5, #0x0 str r0, [r6, r1] add r4, r6, #0x0 add r7, r1, #0x4 _0206FF2A: mov r0, #0x20 mov r1, #0xc bl FUN_020219F4 str r0, [r4, r7] add r5, r5, #0x1 add r4, r4, #0x4 cmp r5, #0x13 blo _0206FF2A ldr r0, _0206FF54 ; =0x000005A4 ldr r0, [r6, r0] add r0, #0x22 ldrb r1, [r0, #0x0] ldr r0, _0206FF70 ; =0x00000B25 strb r1, [r6, r0] add r0, r0, #0x1 strb r1, [r6, r0] add r0, r6, #0x0 pop {r3-r7, pc} .balign 4 _0206FF50: .word 0x00000B38 _0206FF54: .word 0x000005A4 _0206FF58: .word 0x00000B34 _0206FF5C: .word 0x00000192 _0206FF60: .word 0x0000069C _0206FF64: .word 0x00000698 _0206FF68: .word 0x000006A4 _0206FF6C: .word 0x000006A8 _0206FF70: .word 0x00000B25 thumb_func_start FUN_0206FF74 FUN_0206FF74: ; 0x0206FF74 push {r3-r4} ldr r2, _0206FFAC ; =0x000005A4 mov r3, #0x80 ldr r1, [r0, r2] add r1, #0x20 ldrb r1, [r1, #0x0] tst r1, r3 beq _0206FF9E ldr r1, _0206FFB0 ; =0x00000B23 ldrb r4, [r0, r1] orr r4, r3 strb r4, [r0, r1] ldr r1, [r0, r2] add r0, r1, #0x0 add r0, #0x20 ldrb r0, [r0, #0x0] add r1, #0x20 eor r0, r3 strb r0, [r1, #0x0] pop {r3-r4} bx lr _0206FF9E: ldr r2, _0206FFB0 ; =0x00000B23 mov r1, #0x80 ldrb r3, [r0, r2] bic r3, r1 strb r3, [r0, r2] pop {r3-r4} bx lr .balign 4 _0206FFAC: .word 0x000005A4 _0206FFB0: .word 0x00000B23 thumb_func_start FUN_0206FFB4 FUN_0206FFB4: ; 0x0206FFB4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02070064 ; =0x000005A4 mov r4, #0x3 ldr r1, [r5, r0] add r0, r1, #0x0 add r0, #0x21 ldrb r0, [r0, #0x0] cmp r0, #0x2 bne _0206FFD0 ldr r1, _02070068 ; =0x020F95CC ldr r0, _0207006C ; =0x00000808 str r1, [r5, r0] b _0206FFEA _0206FFD0: add r1, #0x20 ldrb r0, [r1, #0x0] cmp r0, #0x2 beq _0206FFDC cmp r0, #0x11 bne _0206FFE4 _0206FFDC: ldr r1, _02070070 ; =0x020F960C ldr r0, _0207006C ; =0x00000808 str r1, [r5, r0] b _0206FFEA _0206FFE4: ldr r1, _02070074 ; =0x020F958C ldr r0, _0207006C ; =0x00000808 str r1, [r5, r0] _0206FFEA: ldr r0, _02070064 ; =0x000005A4 ldr r1, [r5, r0] add r1, #0x20 ldrb r1, [r1, #0x0] cmp r1, #0x2 beq _0207003C cmp r1, #0x11 beq _0207003C add r0, #0x2c ldr r0, [r5, r0] mov r1, #0x0 bl FUN_020200A0 ldr r0, _02070078 ; =0x000005D4 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_02020130 ldr r0, _02070078 ; =0x000005D4 add r1, sp, #0x0 ldr r0, [r5, r0] add r1, #0x2 add r2, sp, #0x0 bl FUN_0200C75C ldr r0, _02070078 ; =0x000005D4 add r3, sp, #0x0 mov r2, #0x0 ldrsh r2, [r3, r2] mov r1, #0x2 ldrsh r1, [r3, r1] sub r2, #0x8 lsl r2, r2, #0x10 ldr r0, [r5, r0] asr r2, r2, #0x10 bl FUN_0200C6E4 mov r0, #0x1 eor r0, r4 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _0207003C: ldr r0, _02070064 ; =0x000005A4 ldr r1, [r5, r0] add r1, #0x20 ldrb r1, [r1, #0x0] cmp r1, #0x4 bne _0207005A add r0, #0x30 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_020200A0 mov r0, #0x2 eor r0, r4 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _0207005A: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073094 pop {r3-r5, pc} .balign 4 _02070064: .word 0x000005A4 _02070068: .word 0x020F95CC _0207006C: .word 0x00000808 _02070070: .word 0x020F960C _02070074: .word 0x020F958C _02070078: .word 0x000005D4 thumb_func_start FUN_0207007C FUN_0207007C: ; 0x0207007C mov r2, #0x2c mul r2, r1 add r1, r0, r2 ldr r0, _02070088 ; =0x00000729 ldrb r0, [r1, r0] bx lr .balign 4 _02070088: .word 0x00000729 thumb_func_start FUN_0207008C FUN_0207008C: ; 0x0207008C push {r4-r7, lr} sub sp, #0xc str r1, [sp, #0x0] add r5, r0, #0x0 ldr r0, [sp, #0x0] mov r1, #0x2c add r4, r0, #0x0 ldr r0, _020701D8 ; =0x00000729 mul r4, r1 add r0, r5, r0 mov r1, #0x0 str r0, [sp, #0x8] strb r1, [r0, r4] ldr r0, _020701DC ; =0x000005A4 ldr r0, [r5, r0] ldr r0, [r0, #0x0] bl FUN_0206B9AC ldr r1, [sp, #0x0] cmp r0, r1 bgt _020700BC add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _020700BC: ldr r0, _020701DC ; =0x000005A4 ldr r0, [r5, r0] ldr r0, [r0, #0x0] bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 add r7, r0, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x4] bne _020700DE add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _020700DE: ldr r2, [sp, #0x0] add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_02072A00 ldr r0, [sp, #0x0] mov r1, #0x2c add r6, r0, #0x0 mul r6, r1 ldr r1, _020701E0 ; =0x00000704 ldr r0, [sp, #0x4] add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0xa2 mov r2, #0x0 bl FUN_020671BC ldr r1, _020701E4 ; =0x00000706 add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0xa3 mov r2, #0x0 bl FUN_020671BC ldr r1, _020701E8 ; =0x00000708 add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC ldr r1, _020701EC ; =0x0000070A add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0x6 mov r2, #0x0 bl FUN_020671BC ldr r1, _020701F0 ; =0x0000070C add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0xa1 mov r2, #0x0 bl FUN_020671BC ldr r1, _020701F4 ; =0x00000712 add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0x4c mov r2, #0x0 bl FUN_020671BC mov r1, #0x71 add r2, r5, r6 lsl r1, r1, #0x4 strb r0, [r2, r1] add r0, r7, #0x0 mov r1, #0x70 mov r2, #0x0 bl FUN_020671BC ldr r1, _020701F8 ; =0x00000711 add r2, r5, r6 strb r0, [r2, r1] add r0, r7, #0x0 mov r1, #0xaf mov r2, #0x0 bl FUN_020671BC cmp r0, #0x1 ldr r0, _020701FC ; =0x0000070E bne _02070184 add r2, r5, r0 ldrh r1, [r2, r4] ldr r0, _02070200 ; =0xFFFFEFFF and r0, r1 b _0207018E _02070184: add r2, r5, r0 ldrh r1, [r2, r4] mov r0, #0x1 lsl r0, r0, #0xc orr r0, r1 _0207018E: strh r0, [r2, r4] ldr r0, _020701FC ; =0x0000070E add r6, r5, r0 add r0, r7, #0x0 bl FUN_020689E0 lsl r0, r0, #0x1e ldrh r2, [r6, r4] ldr r1, _02070204 ; =0xFFFF9FFF lsr r0, r0, #0x11 and r1, r2 orr r0, r1 strh r0, [r6, r4] ldr r0, [sp, #0x8] mov r1, #0x1 strb r1, [r0, r4] add r0, r7, #0x0 bl FUN_0207C2D4 lsl r0, r0, #0x18 ldrh r1, [r6, r4] ldr r2, _02070208 ; =0xFFFFF000 lsr r0, r0, #0x18 and r1, r2 lsr r2, r2, #0x14 and r0, r2 orr r0, r1 strh r0, [r6, r4] ldr r2, [sp, #0x0] add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_0207020C mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} nop _020701D8: .word 0x00000729 _020701DC: .word 0x000005A4 _020701E0: .word 0x00000704 _020701E4: .word 0x00000706 _020701E8: .word 0x00000708 _020701EC: .word 0x0000070A _020701F0: .word 0x0000070C _020701F4: .word 0x00000712 _020701F8: .word 0x00000711 _020701FC: .word 0x0000070E _02070200: .word 0xFFFFEFFF _02070204: .word 0xFFFF9FFF _02070208: .word 0xFFFFF000 thumb_func_start FUN_0207020C FUN_0207020C: ; 0x0207020C push {r3-r7, lr} add r7, r0, #0x0 ldr r0, _0207029C ; =0x000005A4 add r5, r1, #0x0 ldr r1, [r7, r0] add r0, r1, #0x0 add r0, #0x20 ldrb r0, [r0, #0x0] cmp r0, #0xd bne _0207029A mov r0, #0x2c add r6, r2, #0x0 mul r6, r0 mov r0, #0x71 add r3, r7, r6 lsl r0, r0, #0x4 ldrb r2, [r3, r0] cmp r2, #0x1 beq _0207023A sub r0, #0xa ldrh r0, [r3, r0] cmp r0, #0x0 bne _02070248 _0207023A: ldr r0, _020702A0 ; =0x0000070E add r2, r7, r0 ldrh r1, [r2, r6] ldr r0, _020702A4 ; =0xFFFF7FFF and r0, r1 strh r0, [r2, r6] pop {r3-r7, pc} _02070248: add r1, #0x2a ldrb r1, [r1, #0x0] add r0, r5, #0x0 bl FUN_020702A8 str r0, [sp, #0x0] mov r4, #0x0 _02070256: add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x36 mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _0207026C add r4, r4, #0x1 cmp r4, #0x4 blo _02070256 _0207026C: ldr r0, _0207029C ; =0x000005A4 ldr r0, [r7, r0] add r0, #0x2b ldrb r1, [r0, #0x0] ldr r0, [sp, #0x0] cmp r1, r0 bhi _0207028E cmp r4, #0x2 blo _0207028E ldr r0, _020702A0 ; =0x0000070E add r2, r7, r0 ldrh r1, [r2, r6] mov r0, #0x2 lsl r0, r0, #0xe orr r0, r1 strh r0, [r2, r6] pop {r3-r7, pc} _0207028E: ldr r0, _020702A0 ; =0x0000070E add r2, r7, r0 ldrh r1, [r2, r6] ldr r0, _020702A4 ; =0xFFFF7FFF and r0, r1 strh r0, [r2, r6] _0207029A: pop {r3-r7, pc} .balign 4 _0207029C: .word 0x000005A4 _020702A0: .word 0x0000070E _020702A4: .word 0xFFFF7FFF thumb_func_start FUN_020702A8 FUN_020702A8: ; 0x020702A8 push {r3-r5, lr} add r5, r0, #0x0 cmp r1, #0x4 bls _020702B2 b _020703B6 _020702B2: add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _020702BE: ; jump table (using 16-bit offset) .short _020702C8 - _020702BE - 2; case 0 .short _020702F8 - _020702BE - 2; case 1 .short _02070328 - _020702BE - 2; case 2 .short _02070358 - _020702BE - 2; case 3 .short _02070388 - _020702BE - 2; case 4 _020702C8: mov r1, #0x7a mov r2, #0x0 bl FUN_020671BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x7b mov r2, #0x0 bl FUN_020671BC add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x7c mov r2, #0x0 bl FUN_020671BC add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x7d mov r2, #0x0 bl FUN_020671BC add r4, r4, r0 b _020703B6 _020702F8: mov r1, #0x7e mov r2, #0x0 bl FUN_020671BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x7f mov r2, #0x0 bl FUN_020671BC add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x80 mov r2, #0x0 bl FUN_020671BC add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x81 mov r2, #0x0 bl FUN_020671BC add r4, r4, r0 b _020703B6 _02070328: mov r1, #0x82 mov r2, #0x0 bl FUN_020671BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x83 mov r2, #0x0 bl FUN_020671BC add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x84 mov r2, #0x0 bl FUN_020671BC add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x85 mov r2, #0x0 bl FUN_020671BC add r4, r4, r0 b _020703B6 _02070358: mov r1, #0x86 mov r2, #0x0 bl FUN_020671BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x87 mov r2, #0x0 bl FUN_020671BC add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x88 mov r2, #0x0 bl FUN_020671BC add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x89 mov r2, #0x0 bl FUN_020671BC add r4, r4, r0 b _020703B6 _02070388: mov r1, #0x8a mov r2, #0x0 bl FUN_020671BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x8b mov r2, #0x0 bl FUN_020671BC add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x8c mov r2, #0x0 bl FUN_020671BC add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x8d mov r2, #0x0 bl FUN_020671BC add r4, r4, r0 _020703B6: add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020703BC FUN_020703BC: ; 0x020703BC mov r1, #0x39 lsl r1, r1, #0x4 add r0, r0, r1 bx lr thumb_func_start FUN_020703C4 FUN_020703C4: ; 0x020703C4 push {r4-r7, lr} sub sp, #0x1c add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 cmp r4, #0x0 beq _020703E4 ldr r0, _02070474 ; =0x000005A4 ldr r0, [r5, r0] add r0, #0x21 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _020703EC cmp r4, #0x1 bne _020703EC _020703E4: mov r0, #0x99 lsl r0, r0, #0x2 add r0, r5, r0 b _020703F2 _020703EC: mov r0, #0xc9 lsl r0, r0, #0x2 add r0, r5, r0 _020703F2: mov r1, #0x2c mul r1, r4 ldr r2, _02070478 ; =0x00000714 add r1, r5, r1 strb r6, [r1, r2] add r2, r2, #0x1 strb r7, [r1, r2] mov r2, #0x10 str r2, [sp, #0x0] mov r1, #0x6 str r1, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] str r0, [sp, #0x10] str r2, [sp, #0x14] str r1, [sp, #0x18] ldr r0, [r5, #0x0] mov r1, #0x2 add r2, r6, #0x0 add r3, r7, #0x0 bl FUN_02018170 add r0, sp, #0x20 ldrb r0, [r0, #0x10] cmp r0, #0x0 bne _0207044C add r0, r7, #0x3 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] mov r0, #0x9 str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] mov r0, #0x10 add r3, r6, #0x6 str r0, [sp, #0xc] lsl r3, r3, #0x18 ldr r0, [r5, #0x0] mov r1, #0x2 mov r2, #0x17 lsr r3, r3, #0x18 bl FUN_02018540 _0207044C: mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x6 str r0, [sp, #0x4] add r0, r4, #0x3 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x8] ldr r0, [r5, #0x0] mov r1, #0x2 add r2, r6, #0x0 add r3, r7, #0x0 bl FUN_020186B4 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020709FC add sp, #0x1c pop {r4-r7, pc} .balign 4 _02070474: .word 0x000005A4 _02070478: .word 0x00000714 thumb_func_start FUN_0207047C FUN_0207047C: ; 0x0207047C push {r4, lr} add r4, r0, #0x0 ldr r0, _020704E4 ; =0x000005A4 ldr r2, [r4, r0] add r0, r2, #0x0 add r0, #0x21 ldrb r0, [r0, #0x0] cmp r0, #0x2 bne _02070492 ldr r1, _020704E8 ; =0x020F9694 b _02070494 _02070492: ldr r1, _020704EC ; =0x020F964C _02070494: add r2, #0x20 ldrb r0, [r2, #0x0] cmp r0, #0x10 bne _020704A4 add r0, r4, #0x0 bl FUN_02070600 b _020704D2 _020704A4: cmp r0, #0x6 bne _020704B0 add r0, r4, #0x0 bl FUN_020706E0 b _020704D2 _020704B0: cmp r0, #0xd bne _020704BC add r0, r4, #0x0 bl FUN_020707C0 b _020704D2 _020704BC: cmp r0, #0x2 beq _020704C4 cmp r0, #0x11 bne _020704CC _020704C4: add r0, r4, #0x0 bl FUN_020708A0 b _020704D2 _020704CC: add r0, r4, #0x0 bl FUN_020704F0 _020704D2: ldr r0, [r4, #0x0] mov r1, #0x2 bl FUN_0201AC68 ldr r0, [r4, #0x0] mov r1, #0x4 bl FUN_0201AC68 pop {r4, pc} .balign 4 _020704E4: .word 0x000005A4 _020704E8: .word 0x020F9694 _020704EC: .word 0x020F964C thumb_func_start FUN_020704F0 FUN_020704F0: ; 0x020704F0 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r6, r1, #0x0 mov r4, #0x0 _020704FA: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0207008C cmp r0, #0x1 bne _020705D4 mov r0, #0x2c mul r0, r4 add r1, r5, r0 mov r0, #0x71 lsl r0, r0, #0x4 ldrb r0, [r1, r0] str r1, [sp, #0x4] cmp r0, #0x1 bne _0207053A mov r0, #0xc add r2, r4, #0x0 mul r2, r0 mov r0, #0x0 str r0, [sp, #0x0] add r3, r6, r2 ldrh r2, [r6, r2] ldrh r3, [r3, #0x2] add r0, r5, #0x0 lsl r2, r2, #0x18 lsl r3, r3, #0x18 add r1, r4, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_020703C4 b _0207055A _0207053A: mov r0, #0xc add r2, r4, #0x0 mul r2, r0 mov r0, #0x1 str r0, [sp, #0x0] add r3, r6, r2 ldrh r2, [r6, r2] ldrh r3, [r3, #0x2] add r0, r5, #0x0 lsl r2, r2, #0x18 lsl r3, r3, #0x18 add r1, r4, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_020703C4 _0207055A: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072D1C mov r0, #0xc mul r0, r4 add r7, r6, r0 ldrh r2, [r7, #0x4] ldrh r3, [r7, #0x6] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020737D0 ldrh r2, [r7, #0x8] ldrh r3, [r7, #0xa] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020739E4 ldr r3, [sp, #0x4] ldr r2, _020705F8 ; =0x0000070C add r0, r5, #0x0 ldrh r2, [r3, r2] add r1, r4, #0x0 bl FUN_02073A78 mov r2, #0x4 mov r3, #0x6 ldrsh r2, [r7, r2] ldrsh r3, [r7, r3] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073AD8 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073B3C add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073B0C mov r2, #0x2c mul r2, r4 add r3, r5, r2 ldr r2, _020705FC ; =0x0000070E add r0, r5, #0x0 ldrh r2, [r3, r2] add r1, r4, #0x0 lsl r2, r2, #0x14 lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 bl FUN_02073A4C add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 bl FUN_020717E8 b _020705EA _020705D4: mov r0, #0xc add r2, r4, #0x0 mul r2, r0 add r7, r6, r2 mov r3, #0x2 ldrsh r2, [r6, r2] ldrsh r3, [r7, r3] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02070988 _020705EA: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x6 blo _020704FA add sp, #0x8 pop {r3-r7, pc} .balign 4 _020705F8: .word 0x0000070C _020705FC: .word 0x0000070E thumb_func_start FUN_02070600 FUN_02070600: ; 0x02070600 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 str r1, [sp, #0x4] mov r4, #0x0 _0207060A: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0207008C cmp r0, #0x1 bne _020706B0 mov r0, #0xc add r2, r4, #0x0 mul r2, r0 ldr r0, [sp, #0x4] ldr r3, [sp, #0x4] add r6, r0, r2 mov r0, #0x0 str r0, [sp, #0x0] ldrh r2, [r3, r2] ldrh r3, [r6, #0x2] add r0, r5, #0x0 lsl r2, r2, #0x18 lsl r3, r3, #0x18 add r1, r4, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_020703C4 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072E4C ldrh r2, [r6, #0x4] ldrh r3, [r6, #0x6] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020737D0 ldrh r2, [r6, #0x8] ldrh r3, [r6, #0xa] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020739E4 mov r0, #0x2c add r7, r4, #0x0 mul r7, r0 ldr r2, _020706D8 ; =0x0000070C add r3, r5, r7 ldrh r2, [r3, r2] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073A78 mov r2, #0x4 mov r3, #0x6 ldrsh r2, [r6, r2] ldrsh r3, [r6, r3] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073AD8 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073B3C add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073B0C ldr r2, _020706DC ; =0x0000070E add r3, r5, r7 ldrh r2, [r3, r2] add r0, r5, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x14 lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 bl FUN_02073A4C add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 bl FUN_020717E8 b _020706CA _020706B0: mov r0, #0xc add r2, r4, #0x0 mul r2, r0 ldr r0, [sp, #0x4] ldr r6, [sp, #0x4] add r3, r0, r2 ldrsh r2, [r6, r2] mov r6, #0x2 ldrsh r3, [r3, r6] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02070988 _020706CA: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x6 blo _0207060A add sp, #0x8 pop {r3-r7, pc} .balign 4 _020706D8: .word 0x0000070C _020706DC: .word 0x0000070E thumb_func_start FUN_020706E0 FUN_020706E0: ; 0x020706E0 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 str r1, [sp, #0x4] mov r4, #0x0 _020706EA: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0207008C cmp r0, #0x1 bne _02070790 mov r0, #0xc add r2, r4, #0x0 mul r2, r0 ldr r0, [sp, #0x4] ldr r3, [sp, #0x4] add r6, r0, r2 mov r0, #0x0 str r0, [sp, #0x0] ldrh r2, [r3, r2] ldrh r3, [r6, #0x2] add r0, r5, #0x0 lsl r2, r2, #0x18 lsl r3, r3, #0x18 add r1, r4, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_020703C4 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072EE4 ldrh r2, [r6, #0x4] ldrh r3, [r6, #0x6] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020737D0 ldrh r2, [r6, #0x8] ldrh r3, [r6, #0xa] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020739E4 mov r0, #0x2c add r7, r4, #0x0 mul r7, r0 ldr r2, _020707B8 ; =0x0000070C add r3, r5, r7 ldrh r2, [r3, r2] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073A78 mov r2, #0x4 mov r3, #0x6 ldrsh r2, [r6, r2] ldrsh r3, [r6, r3] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073AD8 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073B3C add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073B0C ldr r2, _020707BC ; =0x0000070E add r3, r5, r7 ldrh r2, [r3, r2] add r0, r5, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x14 lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 bl FUN_02073A4C add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 bl FUN_020717E8 b _020707AA _02070790: mov r0, #0xc add r2, r4, #0x0 mul r2, r0 ldr r0, [sp, #0x4] ldr r6, [sp, #0x4] add r3, r0, r2 ldrsh r2, [r6, r2] mov r6, #0x2 ldrsh r3, [r3, r6] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02070988 _020707AA: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x6 blo _020706EA add sp, #0x8 pop {r3-r7, pc} .balign 4 _020707B8: .word 0x0000070C _020707BC: .word 0x0000070E thumb_func_start FUN_020707C0 FUN_020707C0: ; 0x020707C0 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 str r1, [sp, #0x4] mov r4, #0x0 _020707CA: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0207008C cmp r0, #0x1 bne _02070870 mov r0, #0xc add r2, r4, #0x0 mul r2, r0 ldr r0, [sp, #0x4] ldr r3, [sp, #0x4] add r6, r0, r2 mov r0, #0x0 str r0, [sp, #0x0] ldrh r2, [r3, r2] ldrh r3, [r6, #0x2] add r0, r5, #0x0 lsl r2, r2, #0x18 lsl r3, r3, #0x18 add r1, r4, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_020703C4 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072F78 ldrh r2, [r6, #0x4] ldrh r3, [r6, #0x6] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020737D0 ldrh r2, [r6, #0x8] ldrh r3, [r6, #0xa] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020739E4 mov r0, #0x2c add r7, r4, #0x0 mul r7, r0 ldr r2, _02070898 ; =0x0000070C add r3, r5, r7 ldrh r2, [r3, r2] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073A78 mov r2, #0x4 mov r3, #0x6 ldrsh r2, [r6, r2] ldrsh r3, [r6, r3] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073AD8 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073B3C add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073B0C ldr r2, _0207089C ; =0x0000070E add r3, r5, r7 ldrh r2, [r3, r2] add r0, r5, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x14 lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 bl FUN_02073A4C add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 bl FUN_020717E8 b _0207088A _02070870: mov r0, #0xc add r2, r4, #0x0 mul r2, r0 ldr r0, [sp, #0x4] ldr r6, [sp, #0x4] add r3, r0, r2 ldrsh r2, [r6, r2] mov r6, #0x2 ldrsh r3, [r3, r6] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02070988 _0207088A: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x6 blo _020707CA add sp, #0x8 pop {r3-r7, pc} .balign 4 _02070898: .word 0x0000070C _0207089C: .word 0x0000070E thumb_func_start FUN_020708A0 FUN_020708A0: ; 0x020708A0 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 str r1, [sp, #0x4] mov r4, #0x0 _020708AA: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0207008C cmp r0, #0x1 bne _02070958 mov r0, #0xc add r2, r4, #0x0 mul r2, r0 ldr r0, [sp, #0x4] ldr r3, [sp, #0x4] add r6, r0, r2 mov r0, #0x0 str r0, [sp, #0x0] ldrh r2, [r3, r2] ldrh r3, [r6, #0x2] add r0, r5, #0x0 lsl r2, r2, #0x18 lsl r3, r3, #0x18 add r1, r4, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_020703C4 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072FDC add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073024 ldrh r2, [r6, #0x4] ldrh r3, [r6, #0x6] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020737D0 ldrh r2, [r6, #0x8] ldrh r3, [r6, #0xa] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020739E4 mov r0, #0x2c add r7, r4, #0x0 mul r7, r0 ldr r2, _02070980 ; =0x0000070C add r3, r5, r7 ldrh r2, [r3, r2] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073A78 mov r2, #0x4 mov r3, #0x6 ldrsh r2, [r6, r2] ldrsh r3, [r6, r3] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073AD8 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073B3C add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073B0C ldr r2, _02070984 ; =0x0000070E add r3, r5, r7 ldrh r2, [r3, r2] add r0, r5, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x14 lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 bl FUN_02073A4C add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 bl FUN_020717E8 b _02070972 _02070958: mov r0, #0xc add r2, r4, #0x0 mul r2, r0 ldr r0, [sp, #0x4] ldr r6, [sp, #0x4] add r3, r0, r2 ldrsh r2, [r6, r2] mov r6, #0x2 ldrsh r3, [r3, r6] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02070988 _02070972: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x6 blo _020708AA add sp, #0x8 pop {r3-r7, pc} .balign 4 _02070980: .word 0x0000070C _02070984: .word 0x0000070E thumb_func_start FUN_02070988 FUN_02070988: ; 0x02070988 push {r4-r7, lr} sub sp, #0x1c add r7, r1, #0x0 add r4, r2, #0x0 mov r1, #0x10 mov r2, #0xf9 add r5, r0, #0x0 lsl r2, r2, #0x2 add r6, r3, #0x0 lsl r3, r6, #0x18 str r1, [sp, #0x0] mov r0, #0x6 str r0, [sp, #0x4] add r2, r5, r2 str r2, [sp, #0x8] mov r2, #0x0 str r2, [sp, #0xc] str r2, [sp, #0x10] str r1, [sp, #0x14] str r0, [sp, #0x18] lsl r2, r4, #0x18 ldr r0, [r5, #0x0] mov r1, #0x2 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_02018170 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x6 str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] lsl r2, r4, #0x18 lsl r3, r6, #0x18 ldr r0, [r5, #0x0] mov r1, #0x2 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_020186B4 add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x7 bl FUN_02073A4C add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x0 bl FUN_02073A78 add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_02073B3C add sp, #0x1c pop {r4-r7, pc} .balign 4 thumb_func_start FUN_020709FC FUN_020709FC: ; 0x020709FC push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _02070A78 ; =0x000005A4 add r6, r1, #0x0 ldr r0, [r5, r0] ldr r0, [r0, #0x0] bl FUN_0206B9B0 ldr r1, _02070A7C ; =0x00000B23 ldrb r2, [r5, r1] lsl r3, r2, #0x19 lsr r3, r3, #0x1f cmp r3, #0x1 bne _02070A2C add r1, r1, #0x2 ldrb r1, [r5, r1] cmp r6, r1 beq _02070A28 lsl r1, r2, #0x1a lsr r1, r1, #0x1a cmp r6, r1 bne _02070A2C _02070A28: mov r4, #0x7 b _02070A60 _02070A2C: ldr r1, _02070A80 ; =0x00000B25 ldrb r1, [r5, r1] cmp r6, r1 bne _02070A38 mov r4, #0x4 b _02070A3A _02070A38: mov r4, #0x0 _02070A3A: mov r1, #0xa2 mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 bne _02070A4E add r0, r4, #0x2 lsl r0, r0, #0x18 lsr r4, r0, #0x18 b _02070A60 _02070A4E: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02070A88 cmp r0, #0x1 bne _02070A60 add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _02070A60: ldr r1, _02070A84 ; =0x000004A4 add r3, r6, #0x3 add r2, r5, r1 lsl r1, r4, #0x5 lsl r3, r3, #0x15 add r1, r2, r1 mov r0, #0x2 mov r2, #0x10 lsr r3, r3, #0x10 bl FUN_02017FB4 pop {r4-r6, pc} .balign 4 _02070A78: .word 0x000005A4 _02070A7C: .word 0x00000B23 _02070A80: .word 0x00000B25 _02070A84: .word 0x000004A4 thumb_func_start FUN_02070A88 FUN_02070A88: ; 0x02070A88 ldr r2, _02070AA0 ; =0x000005A4 ldr r0, [r0, r2] add r0, #0x21 ldrb r0, [r0, #0x0] cmp r0, #0x2 bne _02070A9A mov r0, #0x1 tst r1, r0 bne _02070A9C _02070A9A: mov r0, #0x0 _02070A9C: bx lr nop _02070AA0: .word 0x000005A4 thumb_func_start FUN_02070AA4 FUN_02070AA4: ; 0x02070AA4 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 mov r3, #0x0 ldr r0, _02070AF4 ; =0x00000B25 str r3, [sp, #0x0] ldrb r0, [r4, r0] add r1, sp, #0xc add r1, #0x1 str r0, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] ldr r0, _02070AF8 ; =0x00000808 add r2, sp, #0xc ldr r0, [r4, r0] bl FUN_0201C638 ldr r0, _02070AFC ; =0x000005A4 ldr r1, _02070AF4 ; =0x00000B25 ldr r0, [r4, r0] ldrb r1, [r4, r1] add r0, #0x21 ldrb r0, [r0, #0x0] bl FUN_020714BC add r1, r0, #0x0 ldr r0, _02070B00 ; =0x000005C8 ldr r0, [r4, r0] bl FUN_02020130 ldr r0, _02070B00 ; =0x000005C8 add r2, sp, #0xc ldrb r1, [r2, #0x1] ldrb r2, [r2, #0x0] ldr r0, [r4, r0] bl FUN_0200C6E4 add sp, #0x10 pop {r4, pc} nop _02070AF4: .word 0x00000B25 _02070AF8: .word 0x00000808 _02070AFC: .word 0x000005A4 _02070B00: .word 0x000005C8 thumb_func_start FUN_02070B04 FUN_02070B04: ; 0x02070B04 push {r4, lr} add r4, r0, #0x0 bl FUN_02070B28 cmp r0, #0x1 bne _02070B14 mov r0, #0x1 pop {r4, pc} _02070B14: add r0, r4, #0x0 bl FUN_02070D90 cmp r0, #0x1 bne _02070B22 mov r0, #0x2 pop {r4, pc} _02070B22: mov r0, #0x5 pop {r4, pc} .balign 4 thumb_func_start FUN_02070B28 FUN_02070B28: ; 0x02070B28 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 ldr r0, _02070CC0 ; =0x021C48B8 mov r1, #0x40 ldr r0, [r0, #0x4c] mov r3, #0x4 tst r1, r0 beq _02070B3E mov r3, #0x0 b _02070B5A _02070B3E: mov r1, #0x80 tst r1, r0 beq _02070B48 mov r3, #0x1 b _02070B5A _02070B48: mov r1, #0x20 tst r1, r0 beq _02070B52 mov r3, #0x2 b _02070B5A _02070B52: mov r1, #0x10 tst r0, r1 beq _02070B5A mov r3, #0x3 _02070B5A: cmp r3, #0x4 bne _02070B64 add sp, #0x4 mov r0, #0x0 pop {r3-r6, pc} _02070B64: ldr r4, _02070CC4 ; =0x00000B25 ldrb r0, [r5, r4] cmp r0, #0x6 bne _02070BA0 cmp r3, #0x0 add r1, sp, #0x0 bne _02070B92 add r4, r4, #0x1 ldrb r6, [r5, r4] mov r4, #0x1 ldr r3, _02070CC8 ; =0x020F9468 and r4, r6 add r6, r4, #0x2 mov r4, #0x6 mul r4, r6 add r0, r5, #0x0 add r1, #0x1 add r2, sp, #0x0 add r3, r3, r4 bl FUN_02070D2C add r6, r0, #0x0 b _02070C1A _02070B92: add r0, r5, #0x0 add r1, #0x1 add r2, sp, #0x0 bl FUN_02070CDC add r6, r0, #0x0 b _02070C1A _02070BA0: cmp r0, #0x7 bne _02070C0C ldr r0, _02070CCC ; =0x000005A4 ldr r0, [r5, r0] add r0, #0x20 ldrb r0, [r0, #0x0] cmp r0, #0x2 beq _02070BDA cmp r0, #0x11 beq _02070BDA cmp r3, #0x0 bne _02070BDA add r4, r4, #0x1 ldrb r6, [r5, r4] mov r4, #0x1 add r1, sp, #0x0 and r4, r6 add r6, r4, #0x2 mov r4, #0x6 ldr r3, _02070CC8 ; =0x020F9468 mul r4, r6 add r0, r5, #0x0 add r1, #0x1 add r2, sp, #0x0 add r3, r3, r4 bl FUN_02070D2C add r6, r0, #0x0 b _02070C1A _02070BDA: cmp r3, #0x1 add r1, sp, #0x0 bne _02070BFE ldr r4, _02070CD0 ; =0x00000B26 ldr r3, _02070CC8 ; =0x020F9468 ldrb r6, [r5, r4] mov r4, #0x1 add r0, r5, #0x0 and r6, r4 mov r4, #0x6 mul r4, r6 add r1, #0x1 add r2, sp, #0x0 add r3, r3, r4 bl FUN_02070D2C add r6, r0, #0x0 b _02070C1A _02070BFE: add r0, r5, #0x0 add r1, #0x1 add r2, sp, #0x0 bl FUN_02070CDC add r6, r0, #0x0 b _02070C1A _02070C0C: add r1, sp, #0x0 add r0, r5, #0x0 add r1, #0x1 add r2, sp, #0x0 bl FUN_02070CDC add r6, r0, #0x0 _02070C1A: ldr r0, _02070CC4 ; =0x00000B25 ldrb r0, [r5, r0] cmp r6, r0 beq _02070CB8 cmp r6, #0xff beq _02070CB8 add r0, r6, #0x0 add r0, #0xfa lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x1 bhi _02070C3E ldr r0, _02070CD4 ; =0x000005C8 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 b _02070C6E _02070C3E: ldr r0, _02070CCC ; =0x000005A4 add r1, r6, #0x0 ldr r0, [r5, r0] add r0, #0x21 ldrb r0, [r0, #0x0] bl FUN_020714BC add r1, r0, #0x0 ldr r0, _02070CD4 ; =0x000005C8 ldr r0, [r5, r0] bl FUN_02020130 ldr r0, _02070CD4 ; =0x000005C8 mov r1, #0x1 ldr r0, [r5, r0] bl FUN_020200A0 ldr r0, _02070CD4 ; =0x000005C8 add r2, sp, #0x0 ldrb r1, [r2, #0x1] ldrb r2, [r2, #0x0] ldr r0, [r5, r0] bl FUN_0200C6E4 _02070C6E: ldr r0, _02070CC4 ; =0x00000B25 mov r2, #0x0 ldrb r4, [r5, r0] strb r6, [r5, r0] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020713EC ldr r1, _02070CC4 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] mov r2, #0x1 bl FUN_020713EC ldr r0, _02070CD8 ; =0x000005DC bl FUN_020054C8 cmp r4, #0x6 bhs _02070CA6 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 bl FUN_020717E8 ldr r0, [r5, #0x0] mov r1, #0x4 bl FUN_0201AC68 _02070CA6: cmp r4, #0x6 beq _02070CB2 cmp r4, #0x7 beq _02070CB2 ldr r0, _02070CD0 ; =0x00000B26 strb r4, [r5, r0] _02070CB2: add sp, #0x4 mov r0, #0x1 pop {r3-r6, pc} _02070CB8: mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} nop _02070CC0: .word 0x021C48B8 _02070CC4: .word 0x00000B25 _02070CC8: .word 0x020F9468 _02070CCC: .word 0x000005A4 _02070CD0: .word 0x00000B26 _02070CD4: .word 0x000005C8 _02070CD8: .word 0x000005DC thumb_func_start FUN_02070CDC FUN_02070CDC: ; 0x02070CDC push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 ldr r0, _02070D24 ; =0x00000B25 add r7, r1, #0x0 ldrb r4, [r5, r0] str r2, [sp, #0xc] add r6, r3, #0x0 _02070CEC: mov r0, #0x0 str r0, [sp, #0x0] str r4, [sp, #0x4] ldr r0, _02070D28 ; =0x00000808 str r6, [sp, #0x8] ldr r0, [r5, r0] ldr r2, [sp, #0xc] add r1, r7, #0x0 mov r3, #0x0 bl FUN_0201C638 add r4, r0, #0x0 cmp r4, #0x6 beq _02070D1C cmp r4, #0x7 beq _02070D1C cmp r4, #0xff beq _02070D1C add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0207007C cmp r0, #0x0 beq _02070CEC _02070D1C: add r0, r4, #0x0 add sp, #0x10 pop {r3-r7, pc} nop _02070D24: .word 0x00000B25 _02070D28: .word 0x00000808 thumb_func_start FUN_02070D2C FUN_02070D2C: ; 0x02070D2C push {r3-r7, lr} sub sp, #0x10 add r6, r0, #0x0 add r7, r1, #0x0 str r2, [sp, #0xc] add r5, r3, #0x0 mov r4, #0x0 _02070D3A: cmp r4, #0x6 beq _02070D70 ldrb r1, [r5, r4] add r0, r6, #0x0 bl FUN_0207007C cmp r0, #0x0 beq _02070D68 mov r3, #0x0 str r3, [sp, #0x0] ldrb r0, [r5, r4] ldr r2, [sp, #0xc] add r1, r7, #0x0 str r0, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] ldr r0, _02070D8C ; =0x00000808 ldr r0, [r6, r0] bl FUN_0201C638 add sp, #0x10 ldrb r0, [r5, r4] pop {r3-r7, pc} _02070D68: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 b _02070D3A _02070D70: mov r3, #0x0 str r3, [sp, #0x0] str r3, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] ldr r0, _02070D8C ; =0x00000808 ldr r2, [sp, #0xc] ldr r0, [r6, r0] add r1, r7, #0x0 bl FUN_0201C638 mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 _02070D8C: .word 0x00000808 thumb_func_start FUN_02070D90 FUN_02070D90: ; 0x02070D90 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 bl FUN_02071870 mov r1, #0x0 mvn r1, r1 cmp r0, r1 beq _02070E42 ldr r1, _02070E48 ; =0x00000B25 mov r2, #0x0 ldrb r4, [r5, r1] strb r0, [r5, r1] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020713EC ldr r1, _02070E48 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] mov r2, #0x1 bl FUN_020713EC cmp r4, #0x6 bhs _02070DCC add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 bl FUN_020717E8 _02070DCC: mov r3, #0x0 ldr r0, _02070E48 ; =0x00000B25 str r3, [sp, #0x0] ldrb r0, [r5, r0] add r1, sp, #0xc add r1, #0x1 str r0, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] ldr r0, _02070E4C ; =0x00000808 add r2, sp, #0xc ldr r0, [r5, r0] bl FUN_0201C638 ldr r0, _02070E50 ; =0x000005A4 ldr r1, _02070E48 ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] add r0, #0x21 ldrb r0, [r0, #0x0] bl FUN_020714BC add r1, r0, #0x0 ldr r0, _02070E54 ; =0x000005C8 ldr r0, [r5, r0] bl FUN_02020130 ldr r0, _02070E54 ; =0x000005C8 mov r1, #0x1 ldr r0, [r5, r0] bl FUN_020200A0 ldr r0, _02070E54 ; =0x000005C8 add r2, sp, #0xc ldrb r1, [r2, #0x1] ldrb r2, [r2, #0x0] ldr r0, [r5, r0] bl FUN_0200C6E4 mov r0, #0xb2 mov r1, #0x1 lsl r0, r0, #0x4 strb r1, [r5, r0] add r1, r0, #0x5 ldrb r1, [r5, r1] add r0, r0, #0x1 strb r1, [r5, r0] ldr r0, _02070E58 ; =0x000005E4 bl FUN_020054C8 cmp r4, #0x6 beq _02070E3C cmp r4, #0x7 beq _02070E3C ldr r0, _02070E5C ; =0x00000B26 strb r4, [r5, r0] _02070E3C: add sp, #0x10 mov r0, #0x1 pop {r3-r5, pc} _02070E42: mov r0, #0x0 add sp, #0x10 pop {r3-r5, pc} .balign 4 _02070E48: .word 0x00000B25 _02070E4C: .word 0x00000808 _02070E50: .word 0x000005A4 _02070E54: .word 0x000005C8 _02070E58: .word 0x000005E4 _02070E5C: .word 0x00000B26 thumb_func_start FUN_02070E60 FUN_02070E60: ; 0x02070E60 push {r4-r6, lr} sub sp, #0x10 add r6, r1, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 add r0, #0xfa lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x1 bhi _02070E80 ldr r0, _02070F04 ; =0x000005C8 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 b _02070ECC _02070E80: mov r3, #0x0 ldr r0, _02070F08 ; =0x00000B25 str r3, [sp, #0x0] ldrb r0, [r5, r0] add r1, sp, #0xc add r1, #0x1 str r0, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] ldr r0, _02070F0C ; =0x00000808 add r2, sp, #0xc ldr r0, [r5, r0] bl FUN_0201C638 ldr r0, _02070F10 ; =0x000005A4 add r1, r6, #0x0 ldr r0, [r5, r0] add r0, #0x21 ldrb r0, [r0, #0x0] bl FUN_020714BC add r1, r0, #0x0 ldr r0, _02070F04 ; =0x000005C8 ldr r0, [r5, r0] bl FUN_02020130 ldr r0, _02070F04 ; =0x000005C8 mov r1, #0x1 ldr r0, [r5, r0] bl FUN_020200A0 ldr r0, _02070F04 ; =0x000005C8 add r2, sp, #0xc ldrb r1, [r2, #0x1] ldrb r2, [r2, #0x0] ldr r0, [r5, r0] bl FUN_0200C6E4 _02070ECC: ldr r0, _02070F08 ; =0x00000B25 mov r2, #0x0 ldrb r4, [r5, r0] strb r6, [r5, r0] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020713EC ldr r1, _02070F08 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] mov r2, #0x1 bl FUN_020713EC cmp r4, #0x6 bhs _02070EFE add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 bl FUN_020717E8 ldr r0, [r5, #0x0] mov r1, #0x4 bl FUN_0201AC68 _02070EFE: add sp, #0x10 pop {r4-r6, pc} nop _02070F04: .word 0x000005C8 _02070F08: .word 0x00000B25 _02070F0C: .word 0x00000808 _02070F10: .word 0x000005A4 thumb_func_start FUN_02070F14 FUN_02070F14: ; 0x02070F14 push {r3-r4, lr} sub sp, #0x4 mov r1, #0xb2 add r4, r0, #0x0 lsl r1, r1, #0x4 ldrb r2, [r4, r1] cmp r2, #0x0 beq _02070F8A cmp r2, #0x1 beq _02070F30 cmp r2, #0x2 beq _02070F70 add sp, #0x4 pop {r3-r4, pc} _02070F30: add r0, r1, #0x1 ldrb r0, [r4, r0] add r1, sp, #0x0 add r1, #0x2 add r2, sp, #0x0 bl FUN_02071850 add r3, sp, #0x0 mov r1, #0x2 mov r2, #0x0 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] add r0, r4, #0x0 bl FUN_02073D1C ldr r1, _02070F90 ; =0x00000B21 add r0, r4, #0x0 ldrb r1, [r4, r1] mov r2, #0x2 bl FUN_020717E8 ldr r0, [r4, #0x0] mov r1, #0x4 bl FUN_0201AC68 mov r0, #0xb2 lsl r0, r0, #0x4 ldrb r1, [r4, r0] add sp, #0x4 add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r4, pc} _02070F70: add r1, r1, #0x1 ldrb r1, [r4, r1] mov r2, #0x1 bl FUN_020717E8 ldr r0, [r4, #0x0] mov r1, #0x4 bl FUN_0201AC68 mov r0, #0xb2 mov r1, #0x0 lsl r0, r0, #0x4 strb r1, [r4, r0] _02070F8A: add sp, #0x4 pop {r3-r4, pc} nop _02070F90: .word 0x00000B21 thumb_func_start FUN_02070F94 FUN_02070F94: ; 0x02070F94 push {r4, lr} add r4, r0, #0x0 ldr r0, _020710AC ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x1 tst r0, r1 beq _0207104A ldr r0, _020710B0 ; =0x00000B25 ldrb r1, [r4, r0] cmp r1, #0x6 bne _02070FAE mov r0, #0x4 pop {r4, pc} _02070FAE: cmp r1, #0x7 bne _02070FC6 ldr r0, _020710B4 ; =0x000005DC bl FUN_020054C8 ldr r0, _020710B8 ; =0x00000B23 ldrb r0, [r4, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x1f bne _0207104A mov r0, #0x3 pop {r4, pc} _02070FC6: ldr r0, _020710BC ; =0x000005A4 ldr r2, [r4, r0] add r2, #0x20 ldrb r2, [r2, #0x0] cmp r2, #0x3 beq _02070FD6 cmp r2, #0x13 bne _02070FE0 _02070FD6: ldr r0, _020710B4 ; =0x000005DC bl FUN_020054C8 mov r0, #0x0 pop {r4, pc} _02070FE0: cmp r2, #0x14 beq _02070FE8 cmp r2, #0xe bne _0207100C _02070FE8: mov r0, #0x2c mul r0, r1 add r1, r4, r0 mov r0, #0x71 lsl r0, r0, #0x4 ldrb r0, [r1, r0] cmp r0, #0x0 bne _02071002 ldr r0, _020710B4 ; =0x000005DC bl FUN_020054C8 mov r0, #0x0 pop {r4, pc} _02071002: ldr r0, _020710C0 ; =0x000005F2 bl FUN_020054C8 mov r0, #0x5 pop {r4, pc} _0207100C: cmp r2, #0xf bne _0207103A mov r2, #0x2c mul r2, r1 mov r1, #0x71 add r2, r4, r2 lsl r1, r1, #0x4 ldrb r1, [r2, r1] cmp r1, #0x0 bne _02071030 add r0, #0x38 bl FUN_020054C8 add r0, r4, #0x0 bl FUN_020710C4 mov r0, #0x0 pop {r4, pc} _02071030: add r0, #0x4e bl FUN_020054C8 mov r0, #0x5 pop {r4, pc} _0207103A: add r0, #0x38 bl FUN_020054C8 add r0, r4, #0x0 bl FUN_020710C4 mov r0, #0x0 pop {r4, pc} _0207104A: ldr r0, _020710AC ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x2 tst r0, r1 beq _0207106E ldr r0, _020710B8 ; =0x00000B23 ldrb r0, [r4, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x1f bne _0207106E ldr r0, _020710B4 ; =0x000005DC bl FUN_020054C8 ldr r0, _020710B0 ; =0x00000B25 mov r1, #0x7 strb r1, [r4, r0] mov r0, #0x3 pop {r4, pc} _0207106E: add r0, r4, #0x0 bl FUN_02070B04 cmp r0, #0x2 bne _020710AA ldr r1, _020710BC ; =0x000005A4 ldr r1, [r4, r1] add r1, #0x20 ldrb r1, [r1, #0x0] cmp r1, #0x14 beq _0207108E add r1, #0xf2 lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, #0x1 bhi _020710AA _0207108E: ldr r1, _020710B0 ; =0x00000B25 ldrb r2, [r4, r1] mov r1, #0x2c mul r1, r2 add r2, r4, r1 mov r1, #0x71 lsl r1, r1, #0x4 ldrb r1, [r2, r1] cmp r1, #0x0 beq _020710AA ldr r0, _020710C0 ; =0x000005F2 bl FUN_020054C8 mov r0, #0x5 _020710AA: pop {r4, pc} .balign 4 _020710AC: .word 0x021C48B8 _020710B0: .word 0x00000B25 _020710B4: .word 0x000005DC _020710B8: .word 0x00000B23 _020710BC: .word 0x000005A4 _020710C0: .word 0x000005F2 thumb_func_start FUN_020710C4 FUN_020710C4: ; 0x020710C4 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x81 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 bl FUN_0200D0E0 mov r0, #0xc mov r1, #0x8 bl FUN_02016998 add r4, r0, #0x0 ldr r0, _02071174 ; =0x000005A4 ldr r0, [r5, r0] add r0, #0x20 ldrb r0, [r0, #0x0] cmp r0, #0xf bgt _020710FC bge _02071124 cmp r0, #0x2 bgt _0207113C cmp r0, #0x0 blt _0207113C beq _0207110C cmp r0, #0x2 beq _02071118 b _0207113C _020710FC: cmp r0, #0x12 bgt _0207113C cmp r0, #0x11 blt _0207113C beq _02071118 cmp r0, #0x12 beq _02071130 b _0207113C _0207110C: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0207117C add r2, r0, #0x0 b _02071146 _02071118: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020712F0 add r2, r0, #0x0 b _02071146 _02071124: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02071274 add r2, r0, #0x0 b _02071146 _02071130: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02071280 add r2, r0, #0x0 b _02071146 _0207113C: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020712B4 add r2, r0, #0x0 _02071146: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072844 mov r0, #0xc add r1, r4, #0x0 bl FUN_02016A8C add r0, r5, #0x0 bl FUN_0207295C mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731D4 ldr r0, _02071178 ; =0x000005C8 mov r1, #0x1 ldr r0, [r5, r0] bl FUN_0200C664 pop {r3-r5, pc} .balign 4 _02071174: .word 0x000005A4 _02071178: .word 0x000005C8 thumb_func_start FUN_0207117C FUN_0207117C: ; 0x0207117C push {r4-r7, lr} sub sp, #0xc str r1, [sp, #0x4] ldr r1, _02071268 ; =0x000005A4 str r0, [sp, #0x0] ldr r0, [r0, r1] ldr r2, _0207126C ; =0x00000B25 ldr r1, [sp, #0x0] ldr r0, [r0, #0x0] ldrb r1, [r1, r2] bl FUN_0206B9B0 str r0, [sp, #0x8] ldr r0, [sp, #0x4] mov r1, #0x1 strb r1, [r0, #0x0] mov r4, #0x0 add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 ldr r1, _02071268 ; =0x000005A4 ldr r0, [sp, #0x0] ldr r0, [r0, r1] ldr r0, [r0, #0x1c] bl FUN_02060144 cmp r0, #0x0 bne _02071258 ldr r1, _0207126C ; =0x00000B25 ldr r0, [sp, #0x0] ldrb r1, [r0, r1] mov r0, #0x2c add r2, r1, #0x0 mul r2, r0 ldr r0, [sp, #0x0] add r1, r0, r2 mov r0, #0x71 lsl r0, r0, #0x4 ldrb r0, [r1, r0] cmp r0, #0x0 bne _0207124C add r6, r4, #0x0 _020711D0: add r1, r6, #0x0 ldr r0, [sp, #0x8] add r1, #0x36 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r7, r0, #0x10 beq _02071210 add r0, r7, #0x0 bl FUN_02071948 cmp r0, #0xff beq _02071206 ldr r1, [sp, #0x4] add r2, r4, #0x0 strb r0, [r1, r5] add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 ldr r0, [sp, #0x0] add r1, r7, #0x0 bl FUN_020727FC add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 _02071206: add r0, r6, #0x1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 cmp r6, #0x4 blo _020711D0 _02071210: ldr r0, [sp, #0x4] mov r1, #0x0 strb r1, [r0, r5] add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 ldr r1, _0207126C ; =0x00000B25 ldr r0, [sp, #0x0] ldrb r1, [r0, r1] mov r0, #0x2c add r2, r1, #0x0 mul r2, r0 ldr r0, [sp, #0x0] add r1, r0, r2 ldr r0, _02071270 ; =0x0000070C ldrh r0, [r1, r0] bl FUN_0206EA98 cmp r0, #0x1 bne _0207123E mov r1, #0x5 ldr r0, [sp, #0x4] b _02071242 _0207123E: ldr r0, [sp, #0x4] mov r1, #0x2 _02071242: strb r1, [r0, r5] add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 b _02071258 _0207124C: ldr r0, [sp, #0x4] add r1, r4, #0x0 strb r1, [r0, r5] add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 _02071258: ldr r0, [sp, #0x4] mov r1, #0x9 strb r1, [r0, r5] add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 add sp, #0xc pop {r4-r7, pc} .balign 4 _02071268: .word 0x000005A4 _0207126C: .word 0x00000B25 _02071270: .word 0x0000070C thumb_func_start FUN_02071274 FUN_02071274: ; 0x02071274 mov r0, #0xe strb r0, [r1, #0x0] mov r0, #0x9 strb r0, [r1, #0x1] mov r0, #0x2 bx lr thumb_func_start FUN_02071280 FUN_02071280: ; 0x02071280 ldr r2, _020712B0 ; =0x00000B25 ldrb r3, [r0, r2] mov r2, #0x2c mul r2, r3 add r2, r0, r2 mov r0, #0x71 lsl r0, r0, #0x4 ldrb r0, [r2, r0] cmp r0, #0x0 bne _020712A4 mov r0, #0x8 strb r0, [r1, #0x0] mov r0, #0x1 strb r0, [r1, #0x1] mov r0, #0x9 strb r0, [r1, #0x2] mov r0, #0x3 bx lr _020712A4: mov r0, #0x1 strb r0, [r1, #0x0] mov r0, #0x9 strb r0, [r1, #0x1] mov r0, #0x2 bx lr .balign 4 _020712B0: .word 0x00000B25 thumb_func_start FUN_020712B4 FUN_020712B4: ; 0x020712B4 ldr r2, _020712E8 ; =0x00000B25 ldrb r3, [r0, r2] mov r2, #0x2c mul r2, r3 add r2, r0, r2 ldr r0, _020712EC ; =0x0000070E ldrh r0, [r2, r0] lsl r0, r0, #0x10 lsr r0, r0, #0x1f cmp r0, #0x1 bne _020712DA mov r0, #0xd strb r0, [r1, #0x0] mov r0, #0x1 strb r0, [r1, #0x1] mov r0, #0x9 strb r0, [r1, #0x2] mov r0, #0x3 bx lr _020712DA: mov r0, #0x1 strb r0, [r1, #0x0] mov r0, #0x9 strb r0, [r1, #0x1] mov r0, #0x2 bx lr nop _020712E8: .word 0x00000B25 _020712EC: .word 0x0000070E thumb_func_start FUN_020712F0 FUN_020712F0: ; 0x020712F0 push {r4, lr} add r4, r1, #0x0 ldr r1, _0207133C ; =0x00000B25 ldrb r1, [r0, r1] bl FUN_02071340 cmp r0, #0x0 beq _0207130A cmp r0, #0x1 beq _02071316 cmp r0, #0x2 beq _02071326 b _02071336 _0207130A: mov r0, #0x1 strb r0, [r4, #0x0] mov r0, #0x9 strb r0, [r4, #0x1] mov r0, #0x2 pop {r4, pc} _02071316: mov r0, #0xb strb r0, [r4, #0x0] mov r0, #0x1 strb r0, [r4, #0x1] mov r0, #0x9 strb r0, [r4, #0x2] mov r0, #0x3 pop {r4, pc} _02071326: mov r0, #0xc strb r0, [r4, #0x0] mov r0, #0x1 strb r0, [r4, #0x1] mov r0, #0x9 strb r0, [r4, #0x2] mov r0, #0x3 pop {r4, pc} _02071336: mov r0, #0x0 pop {r4, pc} nop _0207133C: .word 0x00000B25 thumb_func_start FUN_02071340 FUN_02071340: ; 0x02071340 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _020713E0 ; =0x000005A4 add r4, r1, #0x0 ldr r2, [r5, r0] ldr r0, [r2, #0x14] cmp r0, #0x0 beq _0207136E ldr r0, [r2, #0x0] bl FUN_0206B9B0 add r1, r0, #0x0 ldr r0, _020713E0 ; =0x000005A4 ldr r2, _020713E4 ; =0x00000B34 ldr r0, [r5, r0] ldr r2, [r5, r2] ldr r0, [r0, #0x14] bl FUN_0206BB84 cmp r0, #0x0 bne _0207136E mov r0, #0x0 pop {r4-r6, pc} _0207136E: ldr r0, _020713E0 ; =0x000005A4 ldr r0, [r5, r0] add r0, #0x20 ldrb r0, [r0, #0x0] cmp r0, #0x11 bne _02071390 mov r0, #0x2c mul r0, r4 add r1, r5, r0 ldr r0, _020713E8 ; =0x00000704 ldrh r0, [r1, r0] bl FUN_0206A964 cmp r0, #0x1 bne _02071390 mov r0, #0x0 pop {r4-r6, pc} _02071390: ldr r1, _020713E0 ; =0x000005A4 mov r0, #0x0 ldr r2, [r5, r1] add r1, r2, #0x0 add r1, #0x32 ldrb r1, [r1, #0x0] lsl r1, r1, #0x18 lsr r3, r1, #0x1c beq _020713BC add r1, r4, #0x1 _020713A4: add r6, r2, r0 add r6, #0x2c ldrb r6, [r6, #0x0] cmp r1, r6 bne _020713B2 mov r0, #0x2 pop {r4-r6, pc} _020713B2: add r0, r0, #0x1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, r3 blo _020713A4 _020713BC: mov r0, #0x2c mul r0, r4 add r3, r5, r0 mov r0, #0x71 lsl r0, r0, #0x4 ldrb r1, [r3, r0] cmp r1, #0x1 beq _020713D8 sub r0, r0, #0x6 add r2, #0x33 ldrh r1, [r3, r0] ldrb r0, [r2, #0x0] cmp r1, r0 ble _020713DC _020713D8: mov r0, #0x0 pop {r4-r6, pc} _020713DC: mov r0, #0x1 pop {r4-r6, pc} .balign 4 _020713E0: .word 0x000005A4 _020713E4: .word 0x00000B34 _020713E8: .word 0x00000704 thumb_func_start FUN_020713EC FUN_020713EC: ; 0x020713EC push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x6 bne _02071426 mov r0, #0x5d lsl r0, r0, #0x4 ldr r0, [r5, r0] bl FUN_020201DC lsl r0, r0, #0x18 lsr r1, r0, #0x18 cmp r6, #0x0 bne _02071410 mov r0, #0x2 and r0, r1 b _02071416 _02071410: mov r0, #0x2 and r0, r1 add r0, r0, #0x1 _02071416: lsl r0, r0, #0x18 lsr r1, r0, #0x18 mov r0, #0x5d lsl r0, r0, #0x4 ldr r0, [r5, r0] bl FUN_02020130 pop {r4-r6, pc} _02071426: cmp r4, #0x7 bne _02071454 ldr r0, _020714B4 ; =0x000005D4 ldr r0, [r5, r0] bl FUN_020201DC lsl r0, r0, #0x18 lsr r1, r0, #0x18 cmp r6, #0x0 bne _02071440 mov r0, #0x2 and r0, r1 b _02071446 _02071440: mov r0, #0x2 and r0, r1 add r0, r0, #0x1 _02071446: lsl r0, r0, #0x18 lsr r1, r0, #0x18 ldr r0, _020714B4 ; =0x000005D4 ldr r0, [r5, r0] bl FUN_02020130 pop {r4-r6, pc} _02071454: cmp r6, #0x0 ldr r1, _020714B8 ; =0x00000716 bne _02071482 mov r0, #0x2c add r3, r5, r1 mul r0, r4 ldrsh r2, [r3, r0] add r1, r1, #0x2 sub r2, r2, #0x2 strh r2, [r3, r0] add r2, r5, r1 ldrsh r1, [r2, r0] sub r1, r1, #0x2 strh r1, [r2, r0] lsl r0, r4, #0x2 add r1, r5, r0 mov r0, #0x5b lsl r0, r0, #0x4 ldr r0, [r1, r0] mov r1, #0x0 bl FUN_02020130 b _020714A8 _02071482: mov r0, #0x2c add r3, r5, r1 mul r0, r4 ldrsh r2, [r3, r0] add r1, r1, #0x2 add r2, r2, #0x2 strh r2, [r3, r0] add r2, r5, r1 ldrsh r1, [r2, r0] add r1, r1, #0x2 strh r1, [r2, r0] lsl r0, r4, #0x2 add r1, r5, r0 mov r0, #0x5b lsl r0, r0, #0x4 ldr r0, [r1, r0] mov r1, #0x1 bl FUN_02020130 _020714A8: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020709FC pop {r4-r6, pc} nop _020714B4: .word 0x000005D4 _020714B8: .word 0x00000716 thumb_func_start FUN_020714BC FUN_020714BC: ; 0x020714BC cmp r1, #0x0 beq _020714C8 cmp r0, #0x0 beq _020714CC cmp r1, #0x1 bne _020714CC _020714C8: mov r0, #0x1 bx lr _020714CC: mov r0, #0x0 bx lr thumb_func_start FUN_020714D0 FUN_020714D0: ; 0x020714D0 push {r4, lr} ldr r1, _02071550 ; =0x021C48B8 add r4, r0, #0x0 ldr r2, [r1, #0x48] mov r1, #0x1 tst r1, r2 beq _0207150C ldr r0, _02071554 ; =0x000005DC bl FUN_020054C8 ldr r0, _02071558 ; =0x00000B25 ldrb r1, [r4, r0] cmp r1, #0x6 bhs _020714F8 sub r0, r0, #0x2 ldrb r0, [r4, r0] lsl r0, r0, #0x1a lsr r0, r0, #0x1a cmp r1, r0 bne _02071502 _020714F8: add r0, r4, #0x0 bl FUN_02074538 mov r0, #0x3 pop {r4, pc} _02071502: add r0, r4, #0x0 bl FUN_02074584 mov r0, #0x0 pop {r4, pc} _0207150C: mov r1, #0x2 tst r1, r2 beq _02071522 ldr r0, _02071554 ; =0x000005DC bl FUN_020054C8 add r0, r4, #0x0 bl FUN_02074538 mov r0, #0x3 pop {r4, pc} _02071522: bl FUN_02070B04 cmp r0, #0x2 bne _0207154C ldr r0, _02071558 ; =0x00000B25 ldrb r1, [r4, r0] sub r0, r0, #0x2 ldrb r0, [r4, r0] lsl r0, r0, #0x1a lsr r0, r0, #0x1a cmp r1, r0 bne _02071544 add r0, r4, #0x0 bl FUN_02074538 mov r0, #0x3 pop {r4, pc} _02071544: add r0, r4, #0x0 bl FUN_02074584 mov r0, #0x0 _0207154C: pop {r4, pc} nop _02071550: .word 0x021C48B8 _02071554: .word 0x000005DC _02071558: .word 0x00000B25 thumb_func_start FUN_0207155C FUN_0207155C: ; 0x0207155C push {r3-r5, lr} sub sp, #0x8 ldr r1, _02071738 ; =0x000005A4 add r4, r0, #0x0 ldr r3, [r4, r1] mov r0, #0x0 add r1, r3, #0x0 add r1, #0x32 ldrb r1, [r1, #0x0] lsl r1, r1, #0x1c lsr r1, r1, #0x1c beq _02071606 _02071574: add r2, r3, r0 add r2, #0x2c ldrb r2, [r2, #0x0] cmp r2, #0x0 bne _020715FC add r3, #0x32 ldrb r0, [r3, #0x0] lsl r0, r0, #0x18 lsr r0, r0, #0x1c cmp r0, #0x6 bhi _020715E0 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02071596: ; jump table (using 16-bit offset) .short _020715E0 - _02071596 - 2; case 0 .short _020715E0 - _02071596 - 2; case 1 .short _020715A4 - _02071596 - 2; case 2 .short _020715B0 - _02071596 - 2; case 3 .short _020715BC - _02071596 - 2; case 4 .short _020715C8 - _02071596 - 2; case 5 .short _020715D4 - _02071596 - 2; case 6 _020715A4: add r0, r4, #0x0 mov r1, #0x6b mov r2, #0x1 bl FUN_020731E8 b _020715EA _020715B0: add r0, r4, #0x0 mov r1, #0x77 mov r2, #0x1 bl FUN_020731E8 b _020715EA _020715BC: add r0, r4, #0x0 mov r1, #0x78 mov r2, #0x1 bl FUN_020731E8 b _020715EA _020715C8: add r0, r4, #0x0 mov r1, #0x79 mov r2, #0x1 bl FUN_020731E8 b _020715EA _020715D4: add r0, r4, #0x0 mov r1, #0x7a mov r2, #0x1 bl FUN_020731E8 b _020715EA _020715E0: add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 bl FUN_020731E8 _020715EA: ldr r0, _0207173C ; =0x00000B22 mov r1, #0x13 strb r1, [r4, r0] ldr r0, _02071740 ; =0x000005F2 bl FUN_020054C8 add sp, #0x8 mov r0, #0x14 pop {r3-r5, pc} _020715FC: add r0, r0, #0x1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, r1 blo _02071574 _02071606: ldr r0, [r3, #0x14] cmp r0, #0x0 beq _020716CA ldr r2, _02071744 ; =0x00000B34 ldr r1, [r3, #0x0] ldr r2, [r4, r2] add r3, #0x2c bl FUN_0206BC60 cmp r0, #0x3 bhi _020716CA add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02071628: ; jump table (using 16-bit offset) .short _020716CA - _02071628 - 2; case 0 .short _02071630 - _02071628 - 2; case 1 .short _02071692 - _02071628 - 2; case 2 .short _020716AE - _02071628 - 2; case 3 _02071630: ldr r0, _02071748 ; =0x0000069C mov r1, #0xb8 ldr r0, [r4, r0] bl FUN_0200A914 add r5, r0, #0x0 ldr r0, _02071738 ; =0x000005A4 mov r1, #0x3 ldr r0, [r4, r0] ldr r0, [r0, #0x14] bl FUN_02023B0C mov r1, #0x0 add r2, r0, #0x0 str r1, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r3, #0x3 bl FUN_0200AD38 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r0, _0207173C ; =0x00000B22 mov r1, #0x13 strb r1, [r4, r0] ldr r0, _02071740 ; =0x000005F2 bl FUN_020054C8 add sp, #0x8 mov r0, #0x14 pop {r3-r5, pc} _02071692: add r0, r4, #0x0 mov r1, #0xb6 mov r2, #0x1 bl FUN_020731E8 ldr r0, _0207173C ; =0x00000B22 mov r1, #0x13 strb r1, [r4, r0] ldr r0, _02071740 ; =0x000005F2 bl FUN_020054C8 add sp, #0x8 mov r0, #0x14 pop {r3-r5, pc} _020716AE: add r0, r4, #0x0 mov r1, #0xb7 mov r2, #0x1 bl FUN_020731E8 ldr r0, _0207173C ; =0x00000B22 mov r1, #0x13 strb r1, [r4, r0] ldr r0, _02071740 ; =0x000005F2 bl FUN_020054C8 add sp, #0x8 mov r0, #0x14 pop {r3-r5, pc} _020716CA: ldr r0, _02071738 ; =0x000005A4 ldr r0, [r4, r0] add r0, #0x20 ldrb r0, [r0, #0x0] cmp r0, #0x11 bne _02071722 add r0, r4, #0x0 bl FUN_0207174C cmp r0, #0x0 beq _02071722 cmp r0, #0x1 beq _020716EA cmp r0, #0x2 beq _02071706 b _02071722 _020716EA: add r0, r4, #0x0 mov r1, #0xb6 mov r2, #0x1 bl FUN_020731E8 ldr r0, _0207173C ; =0x00000B22 mov r1, #0x13 strb r1, [r4, r0] ldr r0, _02071740 ; =0x000005F2 bl FUN_020054C8 add sp, #0x8 mov r0, #0x14 pop {r3-r5, pc} _02071706: add r0, r4, #0x0 mov r1, #0xb7 mov r2, #0x1 bl FUN_020731E8 ldr r0, _0207173C ; =0x00000B22 mov r1, #0x13 strb r1, [r4, r0] ldr r0, _02071740 ; =0x000005F2 bl FUN_020054C8 add sp, #0x8 mov r0, #0x14 pop {r3-r5, pc} _02071722: ldr r0, _02071738 ; =0x000005A4 mov r2, #0x0 ldr r1, [r4, r0] add r0, #0x38 add r1, #0x23 strb r2, [r1, #0x0] bl FUN_020054C8 mov r0, #0x1b add sp, #0x8 pop {r3-r5, pc} .balign 4 _02071738: .word 0x000005A4 _0207173C: .word 0x00000B22 _02071740: .word 0x000005F2 _02071744: .word 0x00000B34 _02071748: .word 0x0000069C thumb_func_start FUN_0207174C FUN_0207174C: ; 0x0207174C push {r4-r7} add r5, r0, #0x0 mov r0, #0x0 mov r12, r0 ldr r0, _020717E0 ; =0x000005A4 ldr r4, [r5, r0] _02071758: mov r0, r12 add r0, r4, r0 add r0, #0x2c ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _020717DA mov r0, r12 add r0, r0, #0x1 lsl r0, r0, #0x18 lsr r3, r0, #0x18 cmp r3, #0x6 bhs _020717CC mov r0, r12 add r7, r4, r0 _02071774: add r0, r4, r3 add r0, #0x2c ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _020717CC add r0, r4, r3 add r0, #0x2c ldrb r1, [r0, #0x0] mov r0, #0x2c ldr r6, _020717E4 ; =0x000006D8 mul r0, r1 add r2, r5, r0 add r0, r7, #0x0 add r0, #0x2c ldrb r1, [r0, #0x0] mov r0, #0x2c ldrh r6, [r2, r6] mul r0, r1 add r1, r5, r0 ldr r0, _020717E4 ; =0x000006D8 ldrh r0, [r1, r0] cmp r0, r6 bne _020717A8 mov r0, #0x1 pop {r4-r7} bx lr _020717A8: mov r0, #0x6e lsl r0, r0, #0x4 ldrh r0, [r1, r0] cmp r0, #0x0 beq _020717C2 mov r1, #0x6e lsl r1, r1, #0x4 ldrh r1, [r2, r1] cmp r0, r1 bne _020717C2 mov r0, #0x2 pop {r4-r7} bx lr _020717C2: add r0, r3, #0x1 lsl r0, r0, #0x18 lsr r3, r0, #0x18 cmp r3, #0x6 blo _02071774 _020717CC: mov r0, r12 add r0, r0, #0x1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r12, r0 cmp r0, #0x5 blo _02071758 _020717DA: mov r0, #0x0 pop {r4-r7} bx lr .balign 4 _020717E0: .word 0x000005A4 _020717E4: .word 0x000006D8 thumb_func_start FUN_020717E8 FUN_020717E8: ; 0x020717E8 push {r3-r7, lr} ldr r0, [r0, #0x0] add r5, r1, #0x0 add r4, r2, #0x0 mov r1, #0x4 bl FUN_0201886C lsl r1, r5, #0x1 mov r3, #0x19 add r5, r4, #0x0 mul r5, r3 ldr r3, _02071844 ; =0x00001005 mov r2, #0x0 add r3, r5, r3 lsl r3, r3, #0x10 lsr r4, r3, #0x10 ldr r3, _02071848 ; =0x020F944C ldrb r3, [r3, r1] lsl r3, r3, #0x1 add r0, r0, r3 mov r12, r0 ldr r0, _0207184C ; =0x020F944D ldrb r7, [r0, r1] _02071816: lsl r0, r2, #0x2 add r5, r2, r0 add r0, r7, r2 lsl r1, r0, #0x6 mov r0, r12 mov r3, #0x0 add r6, r0, r1 _02071824: add r0, r3, r5 add r1, r4, r0 lsl r0, r3, #0x1 strh r1, [r6, r0] add r0, r3, #0x1 lsl r0, r0, #0x18 lsr r3, r0, #0x18 cmp r3, #0x5 blo _02071824 add r0, r2, #0x1 lsl r0, r0, #0x18 lsr r2, r0, #0x18 cmp r2, #0x5 blo _02071816 pop {r3-r7, pc} nop _02071844: .word 0x00001005 _02071848: .word 0x020F944C _0207184C: .word 0x020F944D thumb_func_start FUN_02071850 FUN_02071850: ; 0x02071850 lsl r3, r0, #0x1 ldr r0, _02071868 ; =0x020F944C ldrb r0, [r0, r3] lsl r0, r0, #0x3 add r0, #0x14 strh r0, [r1, #0x0] ldr r0, _0207186C ; =0x020F944D ldrb r0, [r0, r3] lsl r0, r0, #0x3 add r0, #0x14 strh r0, [r2, #0x0] bx lr .balign 4 _02071868: .word 0x020F944C _0207186C: .word 0x020F944D thumb_func_start FUN_02071870 FUN_02071870: ; 0x02071870 push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 bl FUN_0207248C cmp r0, #0x0 bne _02071886 mov r0, #0x0 add sp, #0x8 mvn r0, r0 pop {r3-r5, pc} _02071886: ldr r0, _020718C0 ; =0x020F94B8 bl FUN_02020988 add r4, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r4, r0 beq _020718BA ldr r1, _020718C4 ; =0x0000FFFE add r0, sp, #0x4 strh r1, [r0, #0x0] add r0, sp, #0x4 str r0, [sp, #0x0] ldr r3, _020718C8 ; =0x021C48F8 ldr r0, [r5, #0x0] ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] mov r1, #0x4 bl FUN_0201AFBC cmp r0, #0x0 bne _020718BA mov r0, #0x0 add sp, #0x8 mvn r0, r0 pop {r3-r5, pc} _020718BA: add r0, r4, #0x0 add sp, #0x8 pop {r3-r5, pc} .balign 4 _020718C0: .word 0x020F94B8 _020718C4: .word 0x0000FFFE _020718C8: .word 0x021C48F8 thumb_func_start FUN_020718CC FUN_020718CC: ; 0x020718CC push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0207193C ; =0x000006FC add r4, r1, #0x0 ldr r0, [r5, r0] bl FUN_02001C78 add r2, r0, #0x0 mov r0, #0x1 mvn r0, r0 cmp r2, r0 beq _020718EC add r0, r0, #0x1 cmp r2, r0 beq _02071938 b _02071932 _020718EC: mov r0, #0x85 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 bl FUN_0200D0E0 add r0, r5, #0x0 bl FUN_02073DB4 ldr r0, _02071940 ; =0x000005A4 ldr r0, [r5, r0] add r0, #0x20 ldrb r0, [r0, #0x0] cmp r0, #0x2 beq _0207190E cmp r0, #0x11 bne _0207191A _0207190E: add r0, r5, #0x0 mov r1, #0x22 mov r2, #0x1 bl FUN_020731C0 b _02071924 _0207191A: add r0, r5, #0x0 mov r1, #0x1d mov r2, #0x1 bl FUN_020731C0 _02071924: ldr r0, _02071944 ; =0x000005C8 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_0200C664 mov r0, #0x1 pop {r3-r5, pc} _02071932: add r0, r5, #0x0 add r1, r4, #0x0 blx r2 _02071938: mov r0, #0x0 pop {r3-r5, pc} .balign 4 _0207193C: .word 0x000006FC _02071940: .word 0x000005A4 _02071944: .word 0x000005C8 thumb_func_start FUN_02071948 FUN_02071948: ; 0x02071948 ldr r2, _0207196C ; =0x020F9544 mov r3, #0x0 _0207194C: lsl r1, r3, #0x1 ldrh r1, [r2, r1] cmp r0, r1 bne _0207195C add r3, #0xf lsl r0, r3, #0x18 lsr r0, r0, #0x18 bx lr _0207195C: add r1, r3, #0x1 lsl r1, r1, #0x18 lsr r3, r1, #0x18 cmp r3, #0xf blo _0207194C mov r0, #0xff bx lr nop _0207196C: .word 0x020F9544 thumb_func_start FUN_02071970 FUN_02071970: ; 0x02071970 push {r4-r6, lr} sub sp, #0x8 ldr r1, _02071C18 ; =0x00000B2A add r4, r0, #0x0 ldrh r2, [r4, r1] cmp r2, #0x4 bhi _02071A7A add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0207198A: ; jump table (using 16-bit offset) .short _02071994 - _0207198A - 2; case 0 .short _02071AD2 - _0207198A - 2; case 1 .short _02071B0C - _0207198A - 2; case 2 .short _02071B34 - _0207198A - 2; case 3 .short _02071BE0 - _0207198A - 2; case 4 _02071994: ldr r2, _02071C1C ; =0x021C48B8 ldr r3, [r2, #0x48] mov r2, #0x1 tst r2, r3 beq _02071A26 sub r1, r1, #0x5 ldrb r1, [r4, r1] cmp r1, #0x6 blo _020719B8 ldr r0, _02071C20 ; =0x000005DC bl FUN_020054C8 add r0, r4, #0x0 bl FUN_02074538 add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _020719B8: bl FUN_02071C48 cmp r0, #0x0 beq _020719CA cmp r0, #0x1 beq _02071A08 cmp r0, #0x2 beq _02071A1A b _02071A26 _020719CA: ldr r0, _02071C24 ; =0x000005EC bl FUN_020054C8 ldr r0, _02071C28 ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_0200C664 ldr r0, _02071C2C ; =0x00000B25 mov r1, #0x2c ldrb r2, [r4, r0] mul r1, r2 add r3, r4, r1 ldr r1, _02071C30 ; =0x00000708 ldrh r2, [r3, r1] sub r1, r1, #0x2 ldrh r1, [r3, r1] sub r2, r2, r1 add r1, r0, #0x3 ldrh r1, [r4, r1] cmp r2, r1 bge _020719FA add r0, r0, #0x3 strh r2, [r4, r0] _020719FA: ldr r0, _02071C18 ; =0x00000B2A mov r1, #0x2 strh r1, [r4, r0] mov r1, #0x0 add r0, r0, #0x2 strh r1, [r4, r0] b _02071A26 _02071A08: ldr r0, _02071C20 ; =0x000005DC bl FUN_020054C8 ldr r0, _02071C18 ; =0x00000B2A mov r1, #0x1 strh r1, [r4, r0] add sp, #0x8 mov r0, #0x14 pop {r4-r6, pc} _02071A1A: ldr r0, _02071C34 ; =0x000005F2 bl FUN_020054C8 add sp, #0x8 mov r0, #0x1a pop {r4-r6, pc} _02071A26: ldr r0, _02071C1C ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x2 tst r0, r1 beq _02071A42 ldr r0, _02071C20 ; =0x000005DC bl FUN_020054C8 add r0, r4, #0x0 bl FUN_02074538 add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _02071A42: add r0, r4, #0x0 bl FUN_02070B04 cmp r0, #0x2 bne _02071A7A ldr r0, _02071C2C ; =0x00000B25 ldrb r1, [r4, r0] sub r0, r0, #0x2 ldrb r0, [r4, r0] lsl r0, r0, #0x1a lsr r0, r0, #0x1a cmp r1, r0 bne _02071A68 add r0, r4, #0x0 bl FUN_02074538 add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _02071A68: add r0, r4, #0x0 bl FUN_02071C48 cmp r0, #0x0 beq _02071A7C cmp r0, #0x1 beq _02071ABA cmp r0, #0x2 beq _02071AC6 _02071A7A: b _02071C12 _02071A7C: ldr r0, _02071C24 ; =0x000005EC bl FUN_020054C8 ldr r0, _02071C28 ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_0200C664 ldr r0, _02071C2C ; =0x00000B25 mov r1, #0x2c ldrb r2, [r4, r0] mul r1, r2 add r3, r4, r1 ldr r1, _02071C30 ; =0x00000708 ldrh r2, [r3, r1] sub r1, r1, #0x2 ldrh r1, [r3, r1] sub r2, r2, r1 add r1, r0, #0x3 ldrh r1, [r4, r1] cmp r2, r1 bge _02071AAC add r0, r0, #0x3 strh r2, [r4, r0] _02071AAC: ldr r0, _02071C18 ; =0x00000B2A mov r1, #0x2 strh r1, [r4, r0] mov r1, #0x0 add r0, r0, #0x2 strh r1, [r4, r0] b _02071C12 _02071ABA: ldr r0, _02071C18 ; =0x00000B2A mov r1, #0x1 strh r1, [r4, r0] add sp, #0x8 mov r0, #0x14 pop {r4-r6, pc} _02071AC6: ldr r0, _02071C34 ; =0x000005F2 bl FUN_020054C8 add sp, #0x8 mov r0, #0x1a pop {r4-r6, pc} _02071AD2: ldr r0, _02071C1C ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 bne _02071ADE b _02071C12 _02071ADE: ldr r0, _02071C20 ; =0x000005DC bl FUN_020054C8 mov r0, #0x89 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200D0E0 ldr r0, _02071C28 ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_0200C664 add r0, r4, #0x0 mov r1, #0x24 mov r2, #0x1 bl FUN_020731C0 ldr r0, _02071C18 ; =0x00000B2A mov r1, #0x0 strh r1, [r4, r0] b _02071C12 _02071B0C: sub r1, r1, #0x7 ldrb r1, [r4, r1] mov r2, #0x0 mvn r2, r2 lsl r1, r1, #0x1a lsr r1, r1, #0x1a bl FUN_02071CB4 cmp r0, #0x1 bne _02071C12 ldr r0, _02071C24 ; =0x000005EC bl FUN_020054C8 ldr r0, _02071C18 ; =0x00000B2A mov r1, #0x3 strh r1, [r4, r0] mov r1, #0x0 add r0, r0, #0x2 strh r1, [r4, r0] b _02071C12 _02071B34: sub r1, r1, #0x5 ldrb r1, [r4, r1] mov r2, #0x1 bl FUN_02071CB4 cmp r0, #0x1 bne _02071C12 ldr r0, _02071C38 ; =0x000005A4 ldr r1, _02071C2C ; =0x00000B25 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 add r6, r0, #0x0 ldr r0, _02071C3C ; =0x0000069C mov r1, #0x40 ldr r0, [r4, r0] bl FUN_0200A914 add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200ACF8 mov r0, #0x0 str r0, [sp, #0x0] mov r1, #0x1 mov r0, #0x6a ldr r2, _02071C40 ; =0x00000B2C str r1, [sp, #0x4] lsl r0, r0, #0x4 ldrh r2, [r4, r2] ldr r0, [r4, r0] mov r3, #0x3 bl FUN_0200AD38 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r0, _02071C44 ; =0x00000B2E mov r1, #0x0 ldrh r0, [r4, r0] mov r2, #0xc lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0202914C add r1, r0, #0x0 ldr r0, _02071C38 ; =0x000005A4 mov r2, #0x1 ldr r0, [r4, r0] ldr r0, [r0, #0x1c] add r0, #0x98 ldr r0, [r0, #0x0] bl FUN_02028AD4 ldr r0, _02071C18 ; =0x00000B2A mov r1, #0x4 strh r1, [r4, r0] mov r1, #0x1a sub r0, #0x8 strb r1, [r4, r0] add sp, #0x8 mov r0, #0x14 pop {r4-r6, pc} _02071BE0: ldr r0, _02071C1C ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _02071C12 ldr r0, _02071C20 ; =0x000005DC bl FUN_020054C8 mov r0, #0x89 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200D0E0 ldr r0, _02071C28 ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_0200C664 add r0, r4, #0x0 bl FUN_02074538 add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _02071C12: mov r0, #0x1a add sp, #0x8 pop {r4-r6, pc} .balign 4 _02071C18: .word 0x00000B2A _02071C1C: .word 0x021C48B8 _02071C20: .word 0x000005DC _02071C24: .word 0x000005EC _02071C28: .word 0x000005C8 _02071C2C: .word 0x00000B25 _02071C30: .word 0x00000708 _02071C34: .word 0x000005F2 _02071C38: .word 0x000005A4 _02071C3C: .word 0x0000069C _02071C40: .word 0x00000B2C _02071C44: .word 0x00000B2E thumb_func_start FUN_02071C48 FUN_02071C48: ; 0x02071C48 push {r3-r5, lr} ldr r2, _02071CA8 ; =0x00000B25 add r4, r0, #0x0 ldrb r1, [r4, r2] mov r0, #0x2c mov r3, #0x71 mul r0, r1 add r0, r4, r0 lsl r3, r3, #0x4 ldrb r5, [r0, r3] cmp r5, #0x0 beq _02071C64 mov r0, #0x2 pop {r3-r5, pc} _02071C64: sub r2, r2, #0x2 ldrb r2, [r4, r2] lsl r2, r2, #0x1a lsr r2, r2, #0x1a cmp r1, r2 beq _02071C82 add r1, r3, #0x0 sub r1, #0xa ldrh r1, [r0, r1] cmp r1, #0x0 beq _02071C82 sub r3, #0x8 ldrh r0, [r0, r3] cmp r1, r0 bne _02071CA4 _02071C82: ldr r0, _02071CAC ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_0200C664 add r0, r4, #0x0 mov r1, #0x83 mov r2, #0x1 bl FUN_020731E8 ldr r1, _02071CB0 ; =0x00000B2A mov r0, #0x1 strh r0, [r4, r1] mov r2, #0x1a sub r1, #0x8 strb r2, [r4, r1] pop {r3-r5, pc} _02071CA4: mov r0, #0x0 pop {r3-r5, pc} .balign 4 _02071CA8: .word 0x00000B25 _02071CAC: .word 0x000005C8 _02071CB0: .word 0x00000B2A thumb_func_start FUN_02071CB4 FUN_02071CB4: ; 0x02071CB4 push {r3-r7, lr} add r6, r1, #0x0 mov r3, #0x2c add r4, r6, #0x0 mul r4, r3 ldr r3, _02071D34 ; =0x00000706 add r5, r0, #0x0 add r7, r5, r3 lsl r2, r2, #0x10 ldrh r3, [r7, r4] lsr r2, r2, #0x10 add r2, r3, r2 ldr r3, _02071D38 ; =0x00000B2C strh r2, [r7, r4] ldrh r2, [r5, r3] add r2, r2, #0x1 strh r2, [r5, r3] bl FUN_02072BBC lsl r1, r6, #0x2 add r1, r6, r1 add r1, r1, #0x3 add r0, r5, #0x4 lsl r1, r1, #0x4 add r0, r0, r1 mov r1, #0x0 bl FUN_02019620 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02072B7C add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02072C28 ldr r1, _02071D3C ; =0x00000B28 ldrh r0, [r5, r1] add r1, r1, #0x4 ldrh r1, [r5, r1] cmp r0, r1 beq _02071D14 ldr r1, _02071D40 ; =0x00000708 add r2, r5, r4 ldrh r0, [r7, r4] ldrh r1, [r2, r1] cmp r0, r1 bne _02071D30 _02071D14: ldr r0, _02071D44 ; =0x000005A4 add r1, r6, #0x0 ldr r0, [r5, r0] ldr r0, [r0, #0x0] bl FUN_0206B9B0 ldrh r1, [r7, r4] add r2, sp, #0x0 str r1, [sp, #0x0] mov r1, #0xa2 bl FUN_02067830 mov r0, #0x1 pop {r3-r7, pc} _02071D30: mov r0, #0x0 pop {r3-r7, pc} .balign 4 _02071D34: .word 0x00000706 _02071D38: .word 0x00000B2C _02071D3C: .word 0x00000B28 _02071D40: .word 0x00000708 _02071D44: .word 0x000005A4 thumb_func_start FUN_02071D48 FUN_02071D48: ; 0x02071D48 push {r4, lr} ldr r1, _02071DE0 ; =0x021C48B8 add r4, r0, #0x0 ldr r2, [r1, #0x48] mov r1, #0x1 tst r1, r2 beq _02071D96 ldr r0, _02071DE4 ; =0x00000B25 ldrb r1, [r4, r0] cmp r1, #0x7 bne _02071D72 sub r0, r0, #0x2 ldrb r0, [r4, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x1f bne _02071D92 ldr r0, _02071DE8 ; =0x000005DC bl FUN_020054C8 mov r0, #0x3 pop {r4, pc} _02071D72: mov r0, #0x2c mul r0, r1 add r1, r4, r0 mov r0, #0x71 lsl r0, r0, #0x4 ldrb r0, [r1, r0] cmp r0, #0x0 bne _02071D8C ldr r0, _02071DE8 ; =0x000005DC bl FUN_020054C8 mov r0, #0x0 pop {r4, pc} _02071D8C: ldr r0, _02071DEC ; =0x000005F2 bl FUN_020054C8 _02071D92: mov r0, #0x5 pop {r4, pc} _02071D96: mov r1, #0x2 tst r1, r2 beq _02071DBA ldr r0, _02071DF0 ; =0x00000B23 ldrb r0, [r4, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x1f bne _02071DB6 ldr r0, _02071DE8 ; =0x000005DC bl FUN_020054C8 ldr r0, _02071DE4 ; =0x00000B25 mov r1, #0x7 strb r1, [r4, r0] mov r0, #0x3 pop {r4, pc} _02071DB6: mov r0, #0x5 pop {r4, pc} _02071DBA: bl FUN_02070B04 cmp r0, #0x2 bne _02071DDE ldr r1, _02071DE4 ; =0x00000B25 ldrb r2, [r4, r1] mov r1, #0x2c mul r1, r2 add r2, r4, r1 mov r1, #0x71 lsl r1, r1, #0x4 ldrb r1, [r2, r1] cmp r1, #0x0 beq _02071DDE ldr r0, _02071DEC ; =0x000005F2 bl FUN_020054C8 mov r0, #0x5 _02071DDE: pop {r4, pc} .balign 4 _02071DE0: .word 0x021C48B8 _02071DE4: .word 0x00000B25 _02071DE8: .word 0x000005DC _02071DEC: .word 0x000005F2 _02071DF0: .word 0x00000B23 thumb_func_start FUN_02071DF4 FUN_02071DF4: ; 0x02071DF4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02071F1C ; =0x000005A4 mov r1, #0x0 ldr r0, [r5, r0] mov r2, #0xc ldrh r0, [r0, #0x24] bl FUN_0206E710 mov r1, #0x22 add r4, r0, #0x0 bl FUN_0206E7DC cmp r0, #0x0 bne _02071E1E add r0, r4, #0x0 mov r1, #0x23 bl FUN_0206E7DC cmp r0, #0x0 beq _02071E30 _02071E1E: add r0, r4, #0x0 bl FUN_02016A18 add r0, r5, #0x0 mov r1, #0x0 bl FUN_0207703C mov r0, #0x6 pop {r3-r5, pc} _02071E30: add r0, r4, #0x0 mov r1, #0x24 bl FUN_0206E7DC cmp r0, #0x0 beq _02071E5A add r0, r4, #0x0 mov r1, #0x25 bl FUN_0206E7DC cmp r0, #0x0 bne _02071E5A add r0, r4, #0x0 bl FUN_02016A18 add r0, r5, #0x0 mov r1, #0x1 bl FUN_0207703C mov r0, #0x6 pop {r3-r5, pc} _02071E5A: add r0, r4, #0x0 bl FUN_02016A18 ldr r0, _02071F1C ; =0x000005A4 ldr r2, _02071F20 ; =0x00000B25 ldr r1, [r5, r0] mov r0, #0xc str r0, [sp, #0x0] ldr r0, [r1, #0x0] ldrh r1, [r1, #0x24] ldrb r2, [r5, r2] mov r3, #0x0 bl FUN_020847F8 cmp r0, #0x1 bne _02071F02 ldr r0, _02071F1C ; =0x000005A4 mov r2, #0x1 ldr r1, [r5, r0] mov r3, #0xc ldr r0, [r1, #0x4] ldrh r1, [r1, #0x24] bl FUN_0206EDD4 add r0, r4, #0x0 mov r1, #0x1a bl FUN_0206E7DC cmp r0, #0x0 ldr r0, _02071F1C ; =0x000005A4 beq _02071ECC ldr r1, _02071F20 ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 add r1, r0, #0x0 ldr r0, _02071F1C ; =0x000005A4 mov r2, #0x3 ldr r3, [r5, r0] add r0, r3, #0x0 add r0, #0x3c str r0, [sp, #0x0] ldrh r3, [r3, #0x24] mov r0, #0x0 bl FUN_02069168 ldr r1, _02071F1C ; =0x000005A4 ldr r2, [r5, r1] strh r0, [r2, #0x38] ldr r0, [r5, r1] mov r2, #0x8 add r0, #0x23 strb r2, [r0, #0x0] mov r0, #0x1b pop {r3-r5, pc} _02071ECC: ldr r0, [r5, r0] ldrh r0, [r0, #0x24] bl FUN_0206EB34 cmp r0, #0x1 bne _02071EFA ldr r0, _02071F1C ; =0x000005A4 ldr r1, [r5, r0] ldr r0, [r1, #0x10] cmp r0, #0x0 beq _02071EFA ldr r0, [r1, #0x0] ldr r1, _02071F20 ; =0x00000B25 ldrb r1, [r5, r1] bl FUN_0206B9B0 add r1, r0, #0x0 ldr r0, _02071F1C ; =0x000005A4 ldr r2, [r5, r0] ldr r0, [r2, #0x10] ldrh r2, [r2, #0x24] bl FUN_02061618 _02071EFA: add r0, r5, #0x0 bl FUN_02075C54 b _02071F18 _02071F02: add r0, r5, #0x0 mov r1, #0x69 mov r2, #0x1 bl FUN_020731E8 ldr r0, _02071F20 ; =0x00000B25 mov r1, #0x7 strb r1, [r5, r0] ldr r1, _02071F24 ; =FUN_02075CE4 sub r0, #0x11 str r1, [r5, r0] _02071F18: mov r0, #0x5 pop {r3-r5, pc} .balign 4 _02071F1C: .word 0x000005A4 _02071F20: .word 0x00000B25 _02071F24: .word FUN_02075CE4 thumb_func_start FUN_02071F28 FUN_02071F28: ; 0x02071F28 push {r3, lr} ldr r1, _02071F50 ; =0x00000B25 ldrb r2, [r0, r1] mov r1, #0x2c mul r1, r2 add r1, r0, r1 ldr r0, _02071F54 ; =0x0000070C ldrh r0, [r1, r0] cmp r0, #0x0 bne _02071F40 mov r0, #0x0 pop {r3, pc} _02071F40: bl FUN_0206EA98 cmp r0, #0x1 bne _02071F4C mov r0, #0x2 pop {r3, pc} _02071F4C: mov r0, #0x1 pop {r3, pc} .balign 4 _02071F50: .word 0x00000B25 _02071F54: .word 0x0000070C thumb_func_start FUN_02071F58 FUN_02071F58: ; 0x02071F58 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _02072074 ; =0x000005A4 ldr r1, _02072078 ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 add r6, r0, #0x0 mov r7, #0x89 add r0, r5, #0x0 lsl r7, r7, #0x2 bl FUN_02071F28 cmp r0, #0x0 beq _02071F84 cmp r0, #0x1 beq _02071FF2 cmp r0, #0x2 beq _02072044 b _02072054 _02071F84: ldr r0, _02072074 ; =0x000005A4 ldr r0, [r5, r0] ldrh r0, [r0, #0x24] bl FUN_0206EA98 cmp r0, #0x1 bne _02071FA0 ldr r0, _02072074 ; =0x000005A4 mov r1, #0x6 ldr r0, [r5, r0] add r0, #0x23 strb r1, [r0, #0x0] mov r0, #0x1b pop {r3-r7, pc} _02071FA0: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02072080 ldr r2, _0207207C ; =0x0000069C mov r1, #0x76 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl FUN_0200A8E0 add r0, r6, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_0200ACF8 mov r2, #0x6a lsl r2, r2, #0x4 ldr r0, [r5, r2] sub r2, #0xfc ldr r2, [r5, r2] mov r1, #0x1 ldrh r2, [r2, #0x24] bl FUN_0200AE38 mov r2, #0x6a lsl r2, r2, #0x4 add r1, r2, #0x4 ldr r0, [r5, r2] add r2, #0x8 ldr r1, [r5, r1] ldr r2, [r5, r2] bl FUN_0200B7B8 mov r4, #0xb b _02072054 _02071FF2: ldr r2, _0207207C ; =0x0000069C mov r1, #0x4e ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl FUN_0200A8E0 add r0, r6, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_0200ACF8 ldr r2, _02072078 ; =0x00000B25 mov r3, #0x6a ldrb r4, [r5, r2] mov r2, #0x2c lsl r3, r3, #0x4 mul r2, r4 ldr r0, [r5, r3] add r2, r5, r2 add r3, #0x6c ldrh r2, [r2, r3] mov r1, #0x1 bl FUN_0200AE70 mov r2, #0x6a lsl r2, r2, #0x4 add r1, r2, #0x4 ldr r0, [r5, r2] add r2, #0x8 ldr r1, [r5, r1] ldr r2, [r5, r2] bl FUN_0200B7B8 mov r4, #0x9 b _02072054 _02072044: ldr r2, _0207207C ; =0x0000069C mov r1, #0x4d ldr r0, [r5, r2] add r2, #0x8 ldr r2, [r5, r2] bl FUN_0200A8E0 mov r4, #0xb _02072054: add r0, r5, r7 mov r1, #0x1 mov r2, #0xa mov r3, #0xf bl FUN_0200D0BC add r0, r5, r7 mov r1, #0xf bl FUN_02019620 add r0, r5, #0x0 bl FUN_0207322C add r0, r4, #0x0 pop {r3-r7, pc} nop _02072074: .word 0x000005A4 _02072078: .word 0x00000B25 _0207207C: .word 0x0000069C thumb_func_start FUN_02072080 FUN_02072080: ; 0x02072080 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, _020720D4 ; =0x000005A4 add r5, r1, #0x0 ldr r1, [r4, r0] mov r2, #0x1 ldrh r1, [r1, #0x24] mov r3, #0xc str r1, [sp, #0x0] ldr r1, [r4, r0] ldr r0, [r1, #0x4] ldrh r1, [r1, #0x24] bl FUN_0206EDD4 add r0, r5, #0x0 mov r1, #0x6 add r2, sp, #0x0 bl FUN_02067830 add r0, r5, #0x0 bl FUN_02069EC4 ldr r1, _020720D8 ; =0x00000B25 ldr r0, _020720D4 ; =0x000005A4 ldrb r3, [r4, r1] ldr r0, [r4, r0] mov r2, #0x2c add r5, r3, #0x0 mul r5, r2 ldrh r0, [r0, #0x24] ldr r3, _020720DC ; =0x0000070C add r5, r4, r5 strh r0, [r5, r3] ldrb r1, [r4, r1] add r0, r4, #0x0 mul r2, r1 add r2, r4, r2 ldrh r2, [r2, r3] bl FUN_02073A78 pop {r3-r5, pc} nop _020720D4: .word 0x000005A4 _020720D8: .word 0x00000B25 _020720DC: .word 0x0000070C thumb_func_start FUN_020720E0 FUN_020720E0: ; 0x020720E0 push {r0-r3} push {r3-r5, lr} add r4, r0, #0x0 ldr r0, _02072134 ; =0x000005A4 add r5, r1, #0x0 ldr r0, [r4, r0] lsl r1, r2, #0x10 ldr r0, [r0, #0x4] lsr r1, r1, #0x10 mov r2, #0x1 mov r3, #0xc bl FUN_0206ED38 add r0, r5, #0x0 mov r1, #0x6 add r2, sp, #0x1c bl FUN_02067830 add r0, r5, #0x0 bl FUN_02069EC4 ldr r1, _02072138 ; =0x00000B25 mov r2, #0x2c ldrb r3, [r4, r1] ldr r0, [sp, #0x1c] add r5, r3, #0x0 mul r5, r2 ldr r3, _0207213C ; =0x0000070C add r5, r4, r5 strh r0, [r5, r3] ldrb r1, [r4, r1] add r0, r4, #0x0 mul r2, r1 add r2, r4, r2 ldrh r2, [r2, r3] bl FUN_02073A78 pop {r3-r5} pop {r3} add sp, #0x10 bx r3 nop _02072134: .word 0x000005A4 _02072138: .word 0x00000B25 _0207213C: .word 0x0000070C thumb_func_start FUN_02072140 FUN_02072140: ; 0x02072140 push {r4, lr} add r4, r0, #0x0 ldr r0, _02072168 ; =0x00000B24 ldrb r0, [r4, r0] bl FUN_0201BD70 cmp r0, #0x0 bne _02072162 ldr r0, _0207216C ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _02072162 add r0, r4, #0x0 bl FUN_020722B8 pop {r4, pc} _02072162: mov r0, #0xb pop {r4, pc} nop _02072168: .word 0x00000B24 _0207216C: .word 0x021C48B8 thumb_func_start FUN_02072170 FUN_02072170: ; 0x02072170 push {r4, lr} add r4, r0, #0x0 ldr r0, _02072190 ; =0x00000B24 ldrb r0, [r4, r0] bl FUN_0201BD70 cmp r0, #0x0 bne _0207218A add r0, r4, #0x0 bl FUN_020732CC mov r0, #0xa pop {r4, pc} _0207218A: mov r0, #0x9 pop {r4, pc} nop _02072190: .word 0x00000B24 thumb_func_start FUN_02072194 FUN_02072194: ; 0x02072194 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _020722A4 ; =0x000006FC mov r1, #0xc ldr r0, [r5, r0] bl FUN_020021AC cmp r0, #0x0 beq _020721B0 mov r1, #0x1 mvn r1, r1 cmp r0, r1 beq _02072298 b _020722A0 _020721B0: ldr r0, _020722A8 ; =0x000005A4 ldr r1, _020722AC ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 add r7, r0, #0x0 ldr r0, _020722A8 ; =0x000005A4 ldr r0, [r5, r0] ldrh r6, [r0, #0x24] ldr r0, _020722AC ; =0x00000B25 ldrb r1, [r5, r0] mov r0, #0x2c mul r0, r1 add r1, r5, r0 ldr r0, _020722B0 ; =0x0000070C ldrh r4, [r1, r0] add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_02072080 ldr r0, _020722A8 ; =0x000005A4 add r1, r4, #0x0 ldr r0, [r5, r0] mov r2, #0x1 ldr r0, [r0, #0x4] mov r3, #0xc bl FUN_0206ED38 cmp r0, #0x0 bne _0207220C add r0, r5, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 add r3, r4, #0x0 bl FUN_020720E0 ldr r2, _020722B4 ; =0x0000069C mov r1, #0x53 ldr r0, [r5, r2] add r2, #0x8 ldr r2, [r5, r2] bl FUN_0200A8E0 b _02072282 _0207220C: ldr r0, _020722A8 ; =0x000005A4 ldr r0, [r5, r0] ldrh r0, [r0, #0x24] bl FUN_0206EA98 cmp r0, #0x1 bne _02072246 ldr r0, _020722A8 ; =0x000005A4 lsl r1, r4, #0x10 ldr r0, [r5, r0] lsr r1, r1, #0x10 ldr r0, [r0, #0x4] mov r2, #0x1 mov r3, #0xc bl FUN_0206EDD4 add r0, r5, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 add r3, r4, #0x0 bl FUN_020720E0 ldr r0, _020722A8 ; =0x000005A4 mov r1, #0x6 ldr r0, [r5, r0] add r0, #0x23 strb r1, [r0, #0x0] mov r0, #0x1b pop {r3-r7, pc} _02072246: ldr r2, _020722B4 ; =0x0000069C mov r1, #0x54 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl FUN_0200A8E0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x1 add r2, r4, #0x0 bl FUN_0200AE38 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x2 add r2, r6, #0x0 bl FUN_0200AE38 mov r2, #0x6a lsl r2, r2, #0x4 add r1, r2, #0x4 ldr r0, [r5, r2] add r2, #0x8 ldr r1, [r5, r1] ldr r2, [r5, r2] bl FUN_0200B7B8 _02072282: mov r0, #0x89 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xf bl FUN_02019620 add r0, r5, #0x0 bl FUN_0207322C mov r0, #0xb pop {r3-r7, pc} _02072298: add r0, r5, #0x0 bl FUN_020722B8 pop {r3-r7, pc} _020722A0: mov r0, #0xa pop {r3-r7, pc} .balign 4 _020722A4: .word 0x000006FC _020722A8: .word 0x000005A4 _020722AC: .word 0x00000B25 _020722B0: .word 0x0000070C _020722B4: .word 0x0000069C thumb_func_start FUN_020722B8 FUN_020722B8: ; 0x020722B8 push {r4, lr} add r4, r0, #0x0 ldr r0, _02072304 ; =0x000005A4 ldr r1, [r4, r0] add r0, r1, #0x0 add r0, #0x20 ldrb r0, [r0, #0x0] cmp r0, #0xa bne _020722F8 mov r0, #0x89 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200D0E0 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 bl FUN_020731C0 ldr r0, _02072308 ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_0200C664 ldr r0, _02072304 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] add r0, #0x20 strb r1, [r0, #0x0] mov r0, #0x1 pop {r4, pc} _020722F8: mov r0, #0xa add r1, #0x23 strb r0, [r1, #0x0] mov r0, #0x1b pop {r4, pc} nop _02072304: .word 0x000005A4 _02072308: .word 0x000005C8 thumb_func_start FUN_0207230C FUN_0207230C: ; 0x0207230C push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _02072410 ; =0x000005A4 ldr r1, _02072414 ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 add r7, r0, #0x0 ldr r0, _02072410 ; =0x000005A4 ldr r0, [r5, r0] ldrh r6, [r0, #0x24] ldr r0, _02072414 ; =0x00000B25 ldrb r1, [r5, r0] mov r0, #0x2c mul r0, r1 add r1, r5, r0 ldr r0, _02072418 ; =0x0000070C ldrh r4, [r1, r0] add r0, r5, #0x0 add r1, r7, #0x0 bl FUN_02072080 cmp r4, #0x0 bne _02072388 ldr r2, _0207241C ; =0x0000069C mov r1, #0x76 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl FUN_0200A8E0 add r0, r7, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_0200ACF8 mov r2, #0x6a lsl r2, r2, #0x4 ldr r0, [r5, r2] sub r2, #0xfc ldr r2, [r5, r2] mov r1, #0x1 ldrh r2, [r2, #0x24] bl FUN_0200AE38 mov r2, #0x6a lsl r2, r2, #0x4 add r1, r2, #0x4 ldr r0, [r5, r2] add r2, #0x8 ldr r1, [r5, r1] ldr r2, [r5, r2] bl FUN_0200B7B8 b _020723D6 _02072388: ldr r0, _02072410 ; =0x000005A4 lsl r1, r4, #0x10 ldr r0, [r5, r0] lsr r1, r1, #0x10 ldr r0, [r0, #0x4] mov r2, #0x1 mov r3, #0xc bl FUN_0206ED38 ldr r2, _0207241C ; =0x0000069C mov r1, #0x54 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl FUN_0200A8E0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x1 add r2, r4, #0x0 bl FUN_0200AE38 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x2 add r2, r6, #0x0 bl FUN_0200AE38 mov r2, #0x6a lsl r2, r2, #0x4 add r1, r2, #0x4 ldr r0, [r5, r2] add r2, #0x8 ldr r1, [r5, r1] ldr r2, [r5, r2] bl FUN_0200B7B8 _020723D6: mov r0, #0x89 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 mov r2, #0xa mov r3, #0xf bl FUN_0200D0BC mov r0, #0x89 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xf bl FUN_02019620 add r0, r5, #0x0 bl FUN_0207322C ldr r0, _02072410 ; =0x000005A4 ldr r1, [r5, r0] add r0, r1, #0x0 add r0, #0x20 ldrb r0, [r0, #0x0] cmp r0, #0xc bne _0207240C mov r0, #0xa add r1, #0x20 strb r0, [r1, #0x0] _0207240C: mov r0, #0xb pop {r3-r7, pc} .balign 4 _02072410: .word 0x000005A4 _02072414: .word 0x00000B25 _02072418: .word 0x0000070C _0207241C: .word 0x0000069C thumb_func_start FUN_02072420 FUN_02072420: ; 0x02072420 push {r4, lr} add r4, r0, #0x0 ldr r0, _02072470 ; =0x00000B25 ldrb r1, [r4, r0] mov r0, #0x2c mul r0, r1 add r1, r4, r0 ldr r0, _02072474 ; =0x00000712 ldrh r0, [r1, r0] cmp r0, #0x0 bne _02072444 ldr r0, _02072478 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] add r0, #0x23 strb r1, [r0, #0x0] mov r0, #0x1b pop {r4, pc} _02072444: ldr r0, _0207247C ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_0200C664 add r0, r4, #0x0 mov r1, #0xc3 mov r2, #0x1 bl FUN_020731E8 ldr r0, _02072480 ; =FUN_02074428 ldr r1, _02072484 ; =0x00000B18 ldr r2, _02072488 ; =FUN_02074454 str r0, [r4, r1] add r0, r1, #0x4 str r2, [r4, r0] mov r0, #0x16 add r1, #0xa strb r0, [r4, r1] mov r0, #0x14 pop {r4, pc} nop _02072470: .word 0x00000B25 _02072474: .word 0x00000712 _02072478: .word 0x000005A4 _0207247C: .word 0x000005C8 _02072480: .word FUN_02074428 _02072484: .word 0x00000B18 _02072488: .word FUN_02074454 thumb_func_start FUN_0207248C FUN_0207248C: ; 0x0207248C ldr r1, _020724C0 ; =0x000005A4 ldr r0, [r0, r1] add r0, #0x20 ldrb r0, [r0, #0x0] cmp r0, #0x5 beq _020724B8 cmp r0, #0x6 beq _020724B8 cmp r0, #0x7 beq _020724B8 cmp r0, #0x8 beq _020724B8 cmp r0, #0x9 beq _020724B8 cmp r0, #0xb beq _020724B8 cmp r0, #0xe beq _020724B8 cmp r0, #0x10 beq _020724B8 cmp r0, #0x14 bne _020724BC _020724B8: mov r0, #0x0 bx lr _020724BC: mov r0, #0x1 bx lr .balign 4 _020724C0: .word 0x000005A4 thumb_func_start FUN_020724C4 FUN_020724C4: ; 0x020724C4 mov r0, #0x14 bx lr thumb_func_start FUN_020724C8 FUN_020724C8: ; 0x020724C8 mov r0, #0x15 bx lr thumb_func_start FUN_020724CC FUN_020724CC: ; 0x020724CC mov r0, #0x13 bx lr thumb_func_start FUN_020724D0 FUN_020724D0: ; 0x020724D0 mov r0, #0x12 bx lr thumb_func_start FUN_020724D4 FUN_020724D4: ; 0x020724D4 push {r3-r7, lr} sub sp, #0x10 add r4, r0, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 mov r0, #0x14 mov r1, #0x16 add r2, r4, #0x0 add r7, r3, #0x0 bl LoadFromNarc_2 add r1, sp, #0xc str r0, [sp, #0x8] blx FUN_020B0180 ldr r0, [sp, #0xc] mov r4, #0x0 str r0, [sp, #0x4] add r0, #0xc str r0, [sp, #0x4] str r0, [sp, #0x0] _020724FE: ldr r1, [sp, #0x0] add r0, r5, #0x0 mov r2, #0x20 blx memcpy add r1, r4, #0x6 lsl r2, r1, #0x6 ldr r1, [sp, #0x4] add r0, r6, #0x0 add r1, r1, r2 mov r2, #0x20 blx memcpy add r1, r4, #0x0 add r1, #0xc lsl r2, r1, #0x6 ldr r1, [sp, #0x4] add r0, r7, #0x0 add r1, r1, r2 mov r2, #0x20 blx memcpy ldr r0, [sp, #0x0] add r4, r4, #0x1 add r0, #0x40 str r0, [sp, #0x0] add r5, #0x20 add r6, #0x20 add r7, #0x20 cmp r4, #0x6 blo _020724FE ldr r0, [sp, #0x8] bl FUN_02016A18 add sp, #0x10 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02072548 FUN_02072548: ; 0x02072548 push {r4-r6, lr} add r5, r1, #0x0 add r4, r2, #0x0 add r6, r0, #0x0 bl FUN_02019150 add r1, r5, #0x0 add r2, r4, #0x0 add r0, r6, #0x0 add r1, #0x10 add r2, #0x8 bl FUN_02019150 add r1, r5, #0x0 add r2, r4, #0x0 add r0, r6, #0x0 add r1, #0x20 add r2, #0x10 bl FUN_02019150 add r1, r5, #0x0 add r2, r4, #0x0 add r0, r6, #0x0 add r1, #0x30 add r2, #0x18 bl FUN_02019150 add r5, #0x40 add r4, #0x20 add r0, r6, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 bl FUN_02019150 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02072590 FUN_02072590: ; 0x02072590 push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 ldr r4, _020726C0 ; =0x020F975C ldr r0, [r5, #0x0] add r1, r5, #0x4 add r2, r4, #0x0 bl FUN_02072548 add r1, r5, #0x0 ldr r0, [r5, #0x0] ldr r2, _020726C4 ; =0x020F97AC add r1, #0xa4 bl FUN_02072548 mov r1, #0x51 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726C8 ; =0x020F97FC add r1, r5, r1 bl FUN_02072548 ldr r0, _020726CC ; =0x000005A4 ldr r0, [r5, r0] add r0, #0x21 ldrb r0, [r0, #0x0] cmp r0, #0x2 ldr r0, [r5, #0x0] bne _020725F8 add r1, r5, #0x0 add r2, r4, #0x0 add r1, #0x54 add r2, #0xf0 bl FUN_02072548 mov r2, #0x46 add r1, r5, #0x0 lsl r2, r2, #0x2 ldr r0, [r5, #0x0] add r1, #0xf4 add r2, r4, r2 bl FUN_02072548 mov r2, #0x65 lsl r2, r2, #0x2 add r1, r5, r2 sub r2, #0x54 ldr r0, [r5, #0x0] add r2, r4, r2 bl FUN_02072548 b _02072622 _020725F8: add r1, r5, #0x0 add r2, r4, #0x0 add r1, #0x54 add r2, #0x28 bl FUN_02072548 add r1, r5, #0x0 add r2, r4, #0x0 ldr r0, [r5, #0x0] add r1, #0xf4 add r2, #0x78 bl FUN_02072548 mov r1, #0x65 lsl r1, r1, #0x2 add r4, #0xc8 ldr r0, [r5, #0x0] add r1, r5, r1 add r2, r4, #0x0 bl FUN_02072548 _02072622: ldr r0, _020726CC ; =0x000005A4 ldr r0, [r5, r0] add r0, #0x20 ldrb r0, [r0, #0x0] cmp r0, #0x2 beq _02072632 cmp r0, #0x11 bne _0207265A _02072632: ldr r1, _020726D0 ; =0x020F96EC add r0, sp, #0x0 ldrh r3, [r1, #0x38] add r2, sp, #0x0 strh r3, [r0, #0x0] ldrh r3, [r1, #0x3a] strh r3, [r0, #0x2] ldrh r3, [r1, #0x3c] ldrh r1, [r1, #0x3e] strh r3, [r0, #0x4] strh r1, [r0, #0x6] mov r1, #0x16 strb r1, [r0, #0x2] mov r1, #0x7d lsl r1, r1, #0x2 ldr r0, [r5, #0x0] add r1, r5, r1 bl FUN_02019150 b _02072668 _0207265A: mov r1, #0x7d lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726D4 ; =0x020F9724 add r1, r5, r1 bl FUN_02019150 _02072668: mov r1, #0x79 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726D8 ; =0x020F972C add r1, r5, r1 bl FUN_02019150 mov r1, #0x81 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726DC ; =0x020F9734 add r1, r5, r1 bl FUN_02019150 mov r1, #0x85 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726E0 ; =0x020F973C add r1, r5, r1 bl FUN_02019150 mov r1, #0x89 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726E4 ; =0x020F9744 add r1, r5, r1 bl FUN_02019150 mov r1, #0x8d lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726E8 ; =0x020F974C add r1, r5, r1 bl FUN_02019150 mov r1, #0x91 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726EC ; =0x020F9754 add r1, r5, r1 bl FUN_02019150 add sp, #0x8 pop {r3-r5, pc} .balign 4 _020726C0: .word 0x020F975C _020726C4: .word 0x020F97AC _020726C8: .word 0x020F97FC _020726CC: .word 0x000005A4 _020726D0: .word 0x020F96EC _020726D4: .word 0x020F9724 _020726D8: .word 0x020F972C _020726DC: .word 0x020F9734 _020726E0: .word 0x020F973C _020726E4: .word 0x020F9744 _020726E8: .word 0x020F974C _020726EC: .word 0x020F9754 thumb_func_start FUN_020726F0 FUN_020726F0: ; 0x020726F0 push {r4-r6, lr} add r6, r0, #0x0 mov r5, #0x0 add r4, r6, #0x4 _020726F8: lsl r0, r5, #0x4 add r0, r4, r0 bl FUN_02019178 add r0, r5, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0x25 blo _020726F8 mov r4, #0x95 lsl r4, r4, #0x2 add r0, r6, r4 bl FUN_02019048 cmp r0, #0x1 bne _0207271E add r0, r6, r4 bl FUN_02019178 _0207271E: pop {r4-r6, pc} thumb_func_start FUN_02072720 FUN_02072720: ; 0x02072720 push {r4, lr} ldr r2, _020727F8 ; =0x0000069C add r4, r0, #0x0 ldr r0, [r4, r2] add r2, #0x10 ldr r2, [r4, r2] mov r1, #0x91 bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x92 ldr r0, [r4, r2] add r2, #0x14 ldr r2, [r4, r2] bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x93 ldr r0, [r4, r2] add r2, #0x18 ldr r2, [r4, r2] bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0xa0 ldr r0, [r4, r2] add r2, #0x1c ldr r2, [r4, r2] bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0xa1 ldr r0, [r4, r2] add r2, #0x20 ldr r2, [r4, r2] bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x94 ldr r0, [r4, r2] add r2, #0x24 ldr r2, [r4, r2] bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x95 ldr r0, [r4, r2] add r2, #0x28 ldr r2, [r4, r2] bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x96 ldr r0, [r4, r2] add r2, #0x2c ldr r2, [r4, r2] bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x97 ldr r0, [r4, r2] add r2, #0x30 ldr r2, [r4, r2] bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x98 ldr r0, [r4, r2] add r2, #0x34 ldr r2, [r4, r2] bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x99 ldr r0, [r4, r2] add r2, #0x38 ldr r2, [r4, r2] bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x9a ldr r0, [r4, r2] add r2, #0x3c ldr r2, [r4, r2] bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x9b ldr r0, [r4, r2] add r2, #0x40 ldr r2, [r4, r2] bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x9a ldr r0, [r4, r2] add r2, #0x44 ldr r2, [r4, r2] bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0xa6 ldr r0, [r4, r2] add r2, #0x48 ldr r2, [r4, r2] bl FUN_0200A8E0 pop {r4, pc} .balign 4 _020727F8: .word 0x0000069C thumb_func_start FUN_020727FC FUN_020727FC: ; 0x020727FC push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _02072840 ; =0x0000069C add r4, r2, #0x0 add r7, r1, #0x0 add r1, r4, #0x0 ldr r0, [r5, r0] add r1, #0x9c bl FUN_0200A914 add r6, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 add r2, r7, #0x0 bl FUN_0200AD5C mov r1, #0x6a add r4, #0xf lsl r1, r1, #0x4 lsl r2, r4, #0x2 ldr r0, [r5, r1] add r2, r5, r2 add r1, #0xc ldr r1, [r2, r1] add r2, r6, #0x0 bl FUN_0200B7B8 add r0, r6, #0x0 bl FUN_02021A20 pop {r3-r7, pc} nop _02072840: .word 0x0000069C thumb_func_start FUN_02072844 FUN_02072844: ; 0x02072844 push {r4-r7, lr} sub sp, #0x24 add r5, r0, #0x0 add r7, r1, #0x0 lsl r0, r2, #0x1 mov r1, #0x17 sub r1, r1, r0 lsl r1, r1, #0x18 str r2, [sp, #0x14] lsr r1, r1, #0x18 str r1, [sp, #0x0] mov r1, #0xc lsl r0, r0, #0x18 str r1, [sp, #0x4] lsr r0, r0, #0x18 mov r1, #0x9 str r0, [sp, #0x8] mov r2, #0x0 str r2, [sp, #0xc] lsl r1, r1, #0x6 str r1, [sp, #0x10] add r1, #0x14 ldr r0, [r5, #0x0] add r1, r5, r1 mov r3, #0x13 bl FUN_02019064 ldr r0, [sp, #0x14] mov r1, #0xc bl FUN_02012838 ldr r1, _0207294C ; =0x000006F8 mov r6, #0x0 str r0, [r5, r1] ldr r0, [sp, #0x14] add r4, r6, #0x0 cmp r0, #0x0 ble _020728D8 _02072890: ldrb r0, [r7, r4] cmp r0, #0xf blo _020728B4 bl FUN_02073DA8 lsl r1, r6, #0x2 add r2, r0, #0x0 ldr r0, _0207294C ; =0x000006F8 add r3, r5, r1 ldr r1, _02072950 ; =0x000006E8 ldr r0, [r5, r0] ldr r1, [r3, r1] bl FUN_020128A0 add r0, r6, #0x1 lsl r0, r0, #0x10 lsr r6, r0, #0x10 b _020728CC _020728B4: bl FUN_02073DA8 ldrb r1, [r7, r4] add r2, r0, #0x0 ldr r0, _0207294C ; =0x000006F8 lsl r1, r1, #0x2 add r3, r5, r1 ldr r1, _02072954 ; =0x000006AC ldr r0, [r5, r0] ldr r1, [r3, r1] bl FUN_020128A0 _020728CC: add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, [sp, #0x14] cmp r4, r0 blt _02072890 _020728D8: ldr r0, _0207294C ; =0x000006F8 mov r1, #0x0 ldr r0, [r5, r0] str r0, [sp, #0x18] mov r0, #0x95 lsl r0, r0, #0x2 add r0, r5, r0 str r0, [sp, #0x1c] add r0, sp, #0x18 strb r1, [r0, #0x8] mov r1, #0x1 strb r1, [r0, #0x9] ldr r1, [sp, #0x14] strb r1, [r0, #0xa] ldrb r2, [r0, #0xb] mov r1, #0xf bic r2, r1 strb r2, [r0, #0xb] ldrb r2, [r0, #0xb] mov r1, #0x30 bic r2, r1 strb r2, [r0, #0xb] ldr r1, [sp, #0x14] ldrb r2, [r0, #0xb] cmp r1, #0x4 blo _02072918 mov r1, #0xc0 bic r2, r1 mov r1, #0x40 orr r1, r2 strb r1, [r0, #0xb] b _0207291E _02072918: mov r1, #0xc0 bic r2, r1 strb r2, [r0, #0xb] _0207291E: mov r0, #0x95 lsl r0, r0, #0x2 mov r1, #0x1 add r0, r5, r0 add r2, r1, #0x0 mov r3, #0xe bl FUN_0200CCA4 mov r0, #0xc str r0, [sp, #0x0] mov r0, #0x2 mov r2, #0x0 str r0, [sp, #0x4] add r0, sp, #0x18 mov r1, #0x8 add r3, r2, #0x0 bl FUN_02001C14 ldr r1, _02072958 ; =0x000006FC str r0, [r5, r1] add sp, #0x24 pop {r4-r7, pc} nop _0207294C: .word 0x000006F8 _02072950: .word 0x000006E8 _02072954: .word 0x000006AC _02072958: .word 0x000006FC thumb_func_start FUN_0207295C FUN_0207295C: ; 0x0207295C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _020729C4 ; =0x000005A4 ldr r2, [r5, r0] add r1, r2, #0x0 add r1, #0x20 ldrb r1, [r1, #0x0] cmp r1, #0xf bne _0207297E ldr r2, _020729C8 ; =0x000006A4 add r0, #0xf8 ldr r0, [r5, r0] ldr r2, [r5, r2] mov r1, #0x2a bl FUN_0200A8E0 pop {r4-r6, pc} _0207297E: ldr r1, _020729CC ; =0x00000B25 ldr r0, [r2, #0x0] ldrb r1, [r5, r1] bl FUN_0206B9B0 add r6, r0, #0x0 ldr r0, _020729D0 ; =0x0000069C mov r1, #0x25 ldr r0, [r5, r0] bl FUN_0200A914 add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_0200ACF8 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 pop {r4-r6, pc} nop _020729C4: .word 0x000005A4 _020729C8: .word 0x000006A4 _020729CC: .word 0x00000B25 _020729D0: .word 0x0000069C thumb_func_start FUN_020729D4 FUN_020729D4: ; 0x020729D4 push {r3-r4, lr} sub sp, #0x4 add r2, r0, #0x0 mov r0, #0x2 str r0, [sp, #0x0] ldr r0, _020729FC ; =0x00000698 add r4, r1, #0x0 ldr r0, [r2, r0] add r3, r2, #0x4 lsl r2, r4, #0x2 add r2, r4, r2 add r2, r2, #0x2 lsl r2, r2, #0x4 add r2, r3, r2 mov r1, #0x0 mov r3, #0x1c bl FUN_0200B9A8 add sp, #0x4 pop {r3-r4, pc} .balign 4 _020729FC: .word 0x00000698 thumb_func_start FUN_02072A00 FUN_02072A00: ; 0x02072A00 push {r3-r7, lr} add r7, r1, #0x0 add r4, r2, #0x0 add r5, r0, #0x0 ldr r0, _02072A4C ; =0x0000069C ldr r1, _02072A50 ; =0x020F96F4 lsl r2, r4, #0x3 ldrh r1, [r1, r2] ldr r0, [r5, r0] bl FUN_0200A914 add r6, r0, #0x0 add r0, r7, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_0200ACF8 mov r2, #0x6a mov r1, #0x2c lsl r2, r2, #0x4 mul r1, r4 ldr r0, [r5, r2] add r1, r5, r1 add r2, #0x60 ldr r1, [r1, r2] add r2, r6, #0x0 bl FUN_0200B7B8 add r0, r6, #0x0 bl FUN_02021A20 pop {r3-r7, pc} nop _02072A4C: .word 0x0000069C _02072A50: .word 0x020F96F4 thumb_func_start FUN_02072A54 FUN_02072A54: ; 0x02072A54 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 lsl r0, r1, #0x2 add r0, r1, r0 lsl r6, r0, #0x4 add r7, r1, #0x0 mov r0, #0x2c mul r7, r0 mov r1, #0x0 mov r2, #0x7 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _02072B14 ; =0x000F0E00 add r3, r5, r7 str r0, [sp, #0x8] add r4, r5, #0x4 str r1, [sp, #0xc] lsl r2, r2, #0x8 ldr r2, [r3, r2] add r0, r4, r6 add r3, r1, #0x0 bl FUN_0201BDE0 mov r2, #0x71 add r0, r5, r7 lsl r2, r2, #0x4 ldrb r0, [r0, r2] cmp r0, #0x1 bne _02072A9C add r0, r4, r6 bl FUN_02019220 add sp, #0x10 pop {r3-r7, pc} _02072A9C: sub r0, r2, #0x2 add r0, r5, r0 ldrh r0, [r0, r7] lsl r1, r0, #0x13 lsr r1, r1, #0x1f bne _02072B0A lsl r0, r0, #0x11 lsr r0, r0, #0x1e bne _02072ADC add r0, r2, #0x0 sub r0, #0x74 sub r2, #0x68 ldr r0, [r5, r0] ldr r2, [r5, r2] mov r1, #0x1b bl FUN_0200A8E0 mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] mov r0, #0xc1 lsl r0, r0, #0xa str r0, [sp, #0x8] ldr r2, _02072B18 ; =0x000006A8 str r1, [sp, #0xc] ldr r2, [r5, r2] add r0, r4, r6 mov r3, #0x40 bl FUN_0201BDE0 b _02072B0A _02072ADC: cmp r0, #0x1 bne _02072B0A add r0, r2, #0x0 sub r0, #0x74 sub r2, #0x68 ldr r0, [r5, r0] ldr r2, [r5, r2] mov r1, #0x1c bl FUN_0200A8E0 mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _02072B1C ; =0x00050600 ldr r2, _02072B18 ; =0x000006A8 str r0, [sp, #0x8] str r1, [sp, #0xc] ldr r2, [r5, r2] add r0, r4, r6 mov r3, #0x40 bl FUN_0201BDE0 _02072B0A: add r0, r4, r6 bl FUN_02019220 add sp, #0x10 pop {r3-r7, pc} .balign 4 _02072B14: .word 0x000F0E00 _02072B18: .word 0x000006A8 _02072B1C: .word 0x00050600 thumb_func_start FUN_02072B20 FUN_02072B20: ; 0x02072B20 push {r4, lr} sub sp, #0x10 lsl r2, r1, #0x2 add r2, r1, r2 add r2, r2, #0x1 add r3, r0, #0x4 lsl r2, r2, #0x4 add r4, r3, r2 mov r2, #0x2c mul r2, r1 ldr r3, _02072B78 ; =0x0000070E add r2, r0, r2 ldrh r1, [r2, r3] lsl r1, r1, #0x14 lsr r1, r1, #0x14 cmp r1, #0x7 beq _02072B4C add r0, r4, #0x0 bl FUN_02019220 add sp, #0x10 pop {r4, pc} _02072B4C: mov r1, #0x0 str r1, [sp, #0x0] str r4, [sp, #0x4] mov r1, #0x5 str r1, [sp, #0x8] mov r1, #0x2 str r1, [sp, #0xc] add r1, r3, #0x0 sub r3, r3, #0x4 sub r1, #0x76 ldrh r2, [r2, r3] ldr r0, [r0, r1] mov r1, #0x1 mov r3, #0x3 bl FUN_0200BA78 add r0, r4, #0x0 bl FUN_02019220 add sp, #0x10 pop {r4, pc} nop _02072B78: .word 0x0000070E thumb_func_start FUN_02072B7C FUN_02072B7C: ; 0x02072B7C push {r4-r5, lr} sub sp, #0xc add r2, r0, #0x0 lsl r0, r1, #0x2 add r0, r1, r0 add r0, r0, #0x2 add r3, r2, #0x4 lsl r0, r0, #0x4 add r4, r3, r0 mov r3, #0x2c mul r3, r1 add r1, r2, r3 str r4, [sp, #0x0] mov r0, #0x4 str r0, [sp, #0x4] mov r0, #0x2 ldr r5, _02072BB8 ; =0x00000698 str r0, [sp, #0x8] ldr r0, [r2, r5] add r5, #0x6e ldrh r1, [r1, r5] mov r2, #0x3 mov r3, #0x1 bl FUN_0200B9EC add r0, r4, #0x0 bl FUN_02019220 add sp, #0xc pop {r4-r5, pc} .balign 4 _02072BB8: .word 0x00000698 thumb_func_start FUN_02072BBC FUN_02072BBC: ; 0x02072BBC push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x4 lsl r0, r1, #0x2 add r0, r1, r0 add r0, r0, #0x2 lsl r4, r0, #0x4 mov r0, #0x18 str r0, [sp, #0x0] mov r0, #0x10 mov r1, #0x0 str r0, [sp, #0x4] add r0, r5, r4 mov r2, #0x4 add r3, r1, #0x0 bl FUN_020196F4 add r0, r5, r4 bl FUN_02019220 add sp, #0x8 pop {r3-r5, pc} thumb_func_start FUN_02072BE8 FUN_02072BE8: ; 0x02072BE8 push {r4-r5, lr} sub sp, #0xc add r2, r0, #0x0 lsl r0, r1, #0x2 add r0, r1, r0 add r0, r0, #0x2 add r3, r2, #0x4 lsl r0, r0, #0x4 add r4, r3, r0 mov r3, #0x2c mul r3, r1 add r1, r2, r3 str r4, [sp, #0x0] mov r0, #0x24 str r0, [sp, #0x4] mov r0, #0x2 ldr r5, _02072C24 ; =0x00000698 str r0, [sp, #0x8] ldr r0, [r2, r5] add r5, #0x70 ldrh r1, [r1, r5] mov r2, #0x3 mov r3, #0x0 bl FUN_0200B9EC add r0, r4, #0x0 bl FUN_02019220 add sp, #0xc pop {r4-r5, pc} .balign 4 _02072C24: .word 0x00000698 thumb_func_start FUN_02072C28 FUN_02072C28: ; 0x02072C28 push {r4-r7, lr} sub sp, #0xc lsl r2, r1, #0x2 add r2, r1, r2 add r5, r0, #0x0 add r2, r2, #0x3 add r0, r5, #0x4 lsl r2, r2, #0x4 add r4, r0, r2 mov r0, #0x2c add r6, r1, #0x0 mul r6, r0 ldr r0, _02072D0C ; =0x00000708 mov r2, #0x30 add r7, r5, r0 sub r0, r0, #0x2 add r0, r5, r0 str r0, [sp, #0x8] ldrh r0, [r0, r6] ldrh r1, [r7, r6] bl FUN_02079A54 cmp r0, #0x4 bhi _02072CBE add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02072C64: ; jump table (using 16-bit offset) .short _02072C6E - _02072C64 - 2; case 0 .short _02072CA8 - _02072C64 - 2; case 1 .short _02072C90 - _02072C64 - 2; case 2 .short _02072C78 - _02072C64 - 2; case 3 .short _02072C78 - _02072C64 - 2; case 4 _02072C6E: add r0, r4, #0x0 bl FUN_02019220 add sp, #0xc pop {r4-r7, pc} _02072C78: ldrb r3, [r4, #0x9] ldr r1, _02072D10 ; =0x000004B6 mov r0, #0x1 lsl r3, r3, #0x4 add r3, #0x9 lsl r3, r3, #0x11 add r1, r5, r1 mov r2, #0x4 lsr r3, r3, #0x10 bl FUN_02017FB4 b _02072CBE _02072C90: ldrb r3, [r4, #0x9] ldr r1, _02072D14 ; =0x000004D6 mov r0, #0x1 lsl r3, r3, #0x4 add r3, #0x9 lsl r3, r3, #0x11 add r1, r5, r1 mov r2, #0x4 lsr r3, r3, #0x10 bl FUN_02017FB4 b _02072CBE _02072CA8: ldrb r3, [r4, #0x9] ldr r1, _02072D18 ; =0x000004F6 mov r0, #0x1 lsl r3, r3, #0x4 add r3, #0x9 lsl r3, r3, #0x11 add r1, r5, r1 mov r2, #0x4 lsr r3, r3, #0x10 bl FUN_02017FB4 _02072CBE: ldr r0, [sp, #0x8] ldrh r1, [r7, r6] ldrh r0, [r0, r6] mov r2, #0x30 bl FUN_02079A0C add r5, r0, #0x0 str r5, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r0, r4, #0x0 mov r1, #0xa mov r2, #0x0 mov r3, #0x2 bl FUN_020196F4 str r5, [sp, #0x0] mov r0, #0x2 str r0, [sp, #0x4] add r0, r4, #0x0 mov r1, #0x9 mov r2, #0x0 mov r3, #0x3 bl FUN_020196F4 str r5, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r0, r4, #0x0 mov r1, #0xa mov r2, #0x0 mov r3, #0x5 bl FUN_020196F4 add r0, r4, #0x0 bl FUN_02019220 add sp, #0xc pop {r4-r7, pc} .balign 4 _02072D0C: .word 0x00000708 _02072D10: .word 0x000004B6 _02072D14: .word 0x000004D6 _02072D18: .word 0x000004F6 thumb_func_start FUN_02072D1C FUN_02072D1C: ; 0x02072D1C push {r3-r7, lr} sub sp, #0x18 add r6, r1, #0x0 add r5, r0, #0x0 lsl r0, r6, #0x2 add r4, r6, r0 add r0, r5, #0x4 str r0, [sp, #0x0] lsl r0, r4, #0x4 ldr r1, [sp, #0x0] str r0, [sp, #0x4] add r0, r1, r0 mov r1, #0x0 bl FUN_02019620 add r0, r4, #0x1 lsl r0, r0, #0x4 add r7, r5, #0x4 str r0, [sp, #0x8] add r0, r7, r0 mov r1, #0x0 bl FUN_02019620 add r0, r7, #0x0 str r0, [sp, #0xc] add r0, r4, #0x2 lsl r0, r0, #0x4 ldr r1, [sp, #0xc] str r0, [sp, #0x10] add r0, r1, r0 mov r1, #0x0 bl FUN_02019620 add r0, r7, #0x0 str r0, [sp, #0x14] add r0, r4, #0x3 lsl r4, r0, #0x4 ldr r0, [sp, #0x14] mov r1, #0x0 add r0, r0, r4 bl FUN_02019620 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02072A54 mov r0, #0x2c mul r0, r6 add r1, r5, r0 mov r0, #0x71 lsl r0, r0, #0x4 ldrb r0, [r1, r0] cmp r0, #0x1 bne _02072DB0 ldr r1, [sp, #0x0] ldr r0, [sp, #0x4] add r0, r1, r0 bl FUN_02019220 ldr r0, [sp, #0x8] add r0, r7, r0 bl FUN_02019220 ldr r1, [sp, #0xc] ldr r0, [sp, #0x10] add r0, r1, r0 bl FUN_02019220 ldr r0, [sp, #0x14] add r0, r0, r4 bl FUN_02019220 add sp, #0x18 pop {r3-r7, pc} _02072DB0: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020729D4 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02072B20 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02072B7C add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02072BE8 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02072C28 add sp, #0x18 pop {r3-r7, pc} thumb_func_start FUN_02072DDC FUN_02072DDC: ; 0x02072DDC push {r3-r5, lr} add r5, r0, #0x0 lsl r0, r1, #0x2 add r4, r1, r0 add r1, r5, #0x4 lsl r0, r4, #0x4 add r0, r1, r0 bl FUN_02019548 add r0, r4, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 bl FUN_02019548 add r0, r4, #0x2 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 bl FUN_02019548 add r0, r4, #0x3 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 bl FUN_02019548 pop {r3-r5, pc} thumb_func_start FUN_02072E14 FUN_02072E14: ; 0x02072E14 push {r3-r5, lr} add r5, r0, #0x0 lsl r0, r1, #0x2 add r4, r1, r0 add r1, r5, #0x4 lsl r0, r4, #0x4 add r0, r1, r0 bl FUN_0201958C add r0, r4, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 bl FUN_0201958C add r0, r4, #0x2 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 bl FUN_0201958C add r0, r4, #0x3 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 bl FUN_0201958C pop {r3-r5, pc} thumb_func_start FUN_02072E4C FUN_02072E4C: ; 0x02072E4C push {r3-r6, lr} sub sp, #0x4 add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x2 add r6, r4, r0 add r1, r5, #0x4 lsl r0, r6, #0x4 add r0, r1, r0 mov r1, #0x0 bl FUN_02019620 add r0, r6, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 bl FUN_02019620 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072A54 mov r0, #0x2c mul r0, r4 add r1, r5, r0 mov r0, #0x71 lsl r0, r0, #0x4 ldrb r0, [r1, r0] cmp r0, #0x1 bne _02072E98 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x1 bl FUN_020732F4 add sp, #0x4 pop {r3-r6, pc} _02072E98: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072B20 ldr r0, _02072EE0 ; =0x000005A4 add r1, r4, #0x0 ldr r0, [r5, r0] ldr r0, [r0, #0x0] bl FUN_0206B9B0 add r1, r0, #0x0 mov r0, #0x0 ldr r3, _02072EE0 ; =0x000005A4 str r0, [sp, #0x0] ldr r3, [r5, r3] mov r2, #0x3 ldrh r3, [r3, #0x24] bl FUN_02069168 cmp r0, #0x0 bne _02072ED0 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x1 bl FUN_020732F4 add sp, #0x4 pop {r3-r6, pc} _02072ED0: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 bl FUN_020732F4 add sp, #0x4 pop {r3-r6, pc} nop _02072EE0: .word 0x000005A4 thumb_func_start FUN_02072EE4 FUN_02072EE4: ; 0x02072EE4 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x2 add r6, r4, r0 add r1, r5, #0x4 lsl r0, r6, #0x4 add r0, r1, r0 mov r1, #0x0 bl FUN_02019620 add r0, r6, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 bl FUN_02019620 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072A54 mov r0, #0x2c mul r0, r4 add r1, r5, r0 mov r0, #0x71 lsl r0, r0, #0x4 ldrb r0, [r1, r0] cmp r0, #0x1 bne _02072F2C add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x1 bl FUN_02073364 pop {r4-r6, pc} _02072F2C: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072B20 ldr r0, _02072F74 ; =0x000005A4 add r1, r4, #0x0 ldr r0, [r5, r0] ldr r0, [r0, #0x0] bl FUN_0206B9B0 add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02076AA0 cmp r0, #0xff bne _02072F58 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x1 bl FUN_02073364 pop {r4-r6, pc} _02072F58: cmp r0, #0xfd bne _02072F68 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x2 bl FUN_02073364 pop {r4-r6, pc} _02072F68: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 bl FUN_02073364 pop {r4-r6, pc} .balign 4 _02072F74: .word 0x000005A4 thumb_func_start FUN_02072F78 FUN_02072F78: ; 0x02072F78 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x2 add r6, r4, r0 add r1, r5, #0x4 lsl r0, r6, #0x4 add r0, r1, r0 mov r1, #0x0 bl FUN_02019620 add r0, r6, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 bl FUN_02019620 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072A54 mov r0, #0x2c add r6, r4, #0x0 mul r6, r0 mov r0, #0x71 add r1, r5, r6 lsl r0, r0, #0x4 ldrb r0, [r1, r0] cmp r0, #0x1 beq _02072FBE add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072B20 _02072FBE: ldr r2, _02072FD8 ; =0x0000070E add r3, r5, r6 ldrh r2, [r3, r2] add r0, r5, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x10 lsr r2, r2, #0x1f lsl r2, r2, #0x18 lsr r2, r2, #0x18 bl FUN_020733E4 pop {r4-r6, pc} nop _02072FD8: .word 0x0000070E thumb_func_start FUN_02072FDC FUN_02072FDC: ; 0x02072FDC push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x2 add r6, r4, r0 add r1, r5, #0x4 lsl r0, r6, #0x4 add r0, r1, r0 mov r1, #0x0 bl FUN_02019620 add r0, r6, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 bl FUN_02019620 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072A54 mov r0, #0x2c mul r0, r4 add r1, r5, r0 mov r0, #0x71 lsl r0, r0, #0x4 ldrb r0, [r1, r0] cmp r0, #0x1 beq _02073020 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072B20 _02073020: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02073024 FUN_02073024: ; 0x02073024 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _02073080 ; =0x000005A4 add r4, r1, #0x0 ldr r1, [r5, r0] mov r2, #0x0 add r0, r1, #0x0 add r0, #0x32 ldrb r0, [r0, #0x0] lsl r0, r0, #0x18 lsr r3, r0, #0x1c beq _0207305C add r0, r4, #0x1 _0207303E: add r6, r1, r2 add r6, #0x2c ldrb r6, [r6, #0x0] cmp r0, r6 bne _02073052 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073448 pop {r4-r6, pc} _02073052: add r2, r2, #0x1 lsl r2, r2, #0x18 lsr r2, r2, #0x18 cmp r2, r3 blo _0207303E _0207305C: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02071340 cmp r0, #0x0 bne _02073074 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x8 bl FUN_02073448 pop {r4-r6, pc} _02073074: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x7 bl FUN_02073448 pop {r4-r6, pc} .balign 4 _02073080: .word 0x000005A4 thumb_func_start FUN_02073084 FUN_02073084: ; 0x02073084 push {r4, lr} add r4, r2, #0x0 mov r2, #0x0 bl FUN_02002E14 sub r0, r4, r0 lsr r0, r0, #0x1 pop {r4, pc} thumb_func_start FUN_02073094 FUN_02073094: ; 0x02073094 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 mov r0, #0x79 lsl r0, r0, #0x2 add r4, r1, #0x0 add r0, r5, r0 mov r1, #0x0 bl FUN_02019620 mov r0, #0x7d lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x0 bl FUN_02019620 mov r0, #0x1 tst r0, r4 beq _020730FE ldr r2, _0207314C ; =0x0000069C mov r1, #0x0 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl FUN_0200A8E0 ldr r2, _02073150 ; =0x000001EB ldr r1, _02073154 ; =0x000006A8 ldrb r2, [r5, r2] ldr r1, [r5, r1] mov r0, #0x0 lsl r2, r2, #0x3 bl FUN_02073084 mov r1, #0x0 add r3, r0, #0x0 str r1, [sp, #0x0] mov r2, #0xff str r2, [sp, #0x4] ldr r0, _02073158 ; =0x000F0E00 add r2, #0xe5 str r0, [sp, #0x8] add r0, r5, r2 ldr r2, _02073154 ; =0x000006A8 str r1, [sp, #0xc] ldr r2, [r5, r2] bl FUN_0201BDE0 mov r0, #0x79 lsl r0, r0, #0x2 add r0, r5, r0 bl FUN_02019220 _020730FE: mov r0, #0x2 tst r0, r4 beq _02073148 ldr r2, _0207314C ; =0x0000069C mov r1, #0x1 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl FUN_0200A8E0 ldr r2, _0207315C ; =0x000001FB ldr r1, _02073154 ; =0x000006A8 ldrb r2, [r5, r2] ldr r1, [r5, r1] mov r0, #0x0 lsl r2, r2, #0x3 bl FUN_02073084 mov r1, #0x0 add r3, r0, #0x0 str r1, [sp, #0x0] mov r2, #0xff str r2, [sp, #0x4] ldr r0, _02073158 ; =0x000F0E00 add r2, #0xf5 str r0, [sp, #0x8] add r0, r5, r2 ldr r2, _02073154 ; =0x000006A8 str r1, [sp, #0xc] ldr r2, [r5, r2] bl FUN_0201BDE0 mov r0, #0x7d lsl r0, r0, #0x2 add r0, r5, r0 bl FUN_02019220 _02073148: add sp, #0x10 pop {r3-r5, pc} .balign 4 _0207314C: .word 0x0000069C _02073150: .word 0x000001EB _02073154: .word 0x000006A8 _02073158: .word 0x000F0E00 _0207315C: .word 0x000001FB thumb_func_start FUN_02073160 FUN_02073160: ; 0x02073160 push {r3-r6, lr} sub sp, #0xc add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 cmp r3, #0x1 bne _0207317A add r0, r4, #0x0 mov r1, #0x1 mov r2, #0xa mov r3, #0xf bl FUN_0200D0BC _0207317A: add r0, r4, #0x0 mov r1, #0xf bl FUN_02019620 mov r0, #0x0 mvn r0, r0 cmp r6, r0 beq _02073198 ldr r2, _020731B8 ; =0x0000069C add r1, r6, #0x0 ldr r0, [r5, r2] add r2, #0x8 ldr r2, [r5, r2] bl FUN_0200A8E0 _02073198: mov r3, #0x0 str r3, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r2, _020731BC ; =0x000006A4 str r3, [sp, #0x8] ldr r2, [r5, r2] add r0, r4, #0x0 mov r1, #0x1 bl FUN_0201BD84 add r0, r4, #0x0 bl FUN_02019220 add sp, #0xc pop {r3-r6, pc} .balign 4 _020731B8: .word 0x0000069C _020731BC: .word 0x000006A4 thumb_func_start FUN_020731C0 FUN_020731C0: ; 0x020731C0 push {r4, lr} add r4, r1, #0x0 mov r1, #0x81 lsl r1, r1, #0x2 add r3, r2, #0x0 add r1, r0, r1 add r2, r4, #0x0 bl FUN_02073160 pop {r4, pc} thumb_func_start FUN_020731D4 FUN_020731D4: ; 0x020731D4 push {r4, lr} add r4, r1, #0x0 mov r1, #0x85 lsl r1, r1, #0x2 add r3, r2, #0x0 add r1, r0, r1 add r2, r4, #0x0 bl FUN_02073160 pop {r4, pc} thumb_func_start FUN_020731E8 FUN_020731E8: ; 0x020731E8 push {r4-r6, lr} mov r6, #0x89 add r5, r0, #0x0 add r4, r1, #0x0 lsl r6, r6, #0x2 cmp r2, #0x1 bne _02073202 add r0, r5, r6 mov r1, #0x1 mov r2, #0xa mov r3, #0xf bl FUN_0200D0BC _02073202: add r0, r5, r6 mov r1, #0xf bl FUN_02019620 mov r0, #0x0 mvn r0, r0 cmp r4, r0 beq _02073220 ldr r2, _02073228 ; =0x0000069C add r1, r4, #0x0 ldr r0, [r5, r2] add r2, #0x8 ldr r2, [r5, r2] bl FUN_0200A8E0 _02073220: add r0, r5, #0x0 bl FUN_0207322C pop {r4-r6, pc} .balign 4 _02073228: .word 0x0000069C thumb_func_start FUN_0207322C FUN_0207322C: ; 0x0207322C push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 mov r0, #0x1 bl FUN_02002B60 mov r0, #0x0 bl FUN_02002B7C ldr r0, _0207326C ; =0x000005A4 ldr r0, [r4, r0] ldr r0, [r0, #0xc] bl FUN_02024FF4 mov r3, #0x0 str r3, [sp, #0x0] str r0, [sp, #0x4] ldr r0, _02073270 ; =FUN_0207327C ldr r2, _02073274 ; =0x000006A4 str r0, [sp, #0x8] mov r0, #0x89 lsl r0, r0, #0x2 ldr r2, [r4, r2] add r0, r4, r0 mov r1, #0x1 bl FUN_0201BD84 ldr r1, _02073278 ; =0x00000B24 strb r0, [r4, r1] add sp, #0xc pop {r3-r4, pc} nop _0207326C: .word 0x000005A4 _02073270: .word FUN_0207327C _02073274: .word 0x000006A4 _02073278: .word 0x00000B24 thumb_func_start FUN_0207327C FUN_0207327C: ; 0x0207327C push {r3, lr} cmp r1, #0x5 bhi _020732BE add r0, r1, r1 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0207328E: ; jump table (using 16-bit offset) .short _020732BE - _0207328E - 2; case 0 .short _0207329A - _0207328E - 2; case 1 .short _020732A0 - _0207328E - 2; case 2 .short _020732A6 - _0207328E - 2; case 3 .short _020732AE - _0207328E - 2; case 4 .short _020732B6 - _0207328E - 2; case 5 _0207329A: bl FUN_02005514 pop {r3, pc} _020732A0: bl FUN_02005CBC pop {r3, pc} _020732A6: ldr r0, _020732C4 ; =0x000005E6 bl FUN_020054C8 b _020732BE _020732AE: ldr r0, _020732C8 ; =0x00000483 bl FUN_02005C28 b _020732BE _020732B6: ldr r0, _020732C4 ; =0x000005E6 bl FUN_02005508 pop {r3, pc} _020732BE: mov r0, #0x0 pop {r3, pc} nop _020732C4: .word 0x000005E6 _020732C8: .word 0x00000483 thumb_func_start FUN_020732CC FUN_020732CC: ; 0x020732CC push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 mov r0, #0xc str r0, [sp, #0x0] ldr r0, [r4, #0x0] ldr r1, _020732EC ; =0x020F96EC mov r2, #0x1 mov r3, #0xe bl FUN_02002198 ldr r1, _020732F0 ; =0x000006FC str r0, [r4, r1] add sp, #0x4 pop {r3-r4, pc} nop _020732EC: .word 0x020F96EC _020732F0: .word 0x000006FC thumb_func_start FUN_020732F4 FUN_020732F4: ; 0x020732F4 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 lsl r0, r1, #0x2 add r0, r1, r0 add r0, r0, #0x4 add r4, r5, #0x4 lsl r6, r0, #0x4 add r0, r4, r6 mov r1, #0x0 add r7, r2, #0x0 bl FUN_02019620 cmp r7, #0x0 beq _02073318 cmp r7, #0x1 beq _02073326 b _02073332 _02073318: ldr r0, _0207335C ; =0x0000069C mov r1, #0xb2 ldr r0, [r5, r0] bl FUN_0200A914 str r0, [sp, #0x10] b _02073332 _02073326: ldr r0, _0207335C ; =0x0000069C mov r1, #0xb3 ldr r0, [r5, r0] bl FUN_0200A914 str r0, [sp, #0x10] _02073332: mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _02073360 ; =0x000F0E00 ldr r2, [sp, #0x10] str r0, [sp, #0x8] add r0, r4, r6 add r3, r1, #0x0 str r1, [sp, #0xc] bl FUN_0201BDE0 ldr r0, [sp, #0x10] bl FUN_02021A20 add r0, r4, r6 bl FUN_02019220 add sp, #0x14 pop {r4-r7, pc} nop _0207335C: .word 0x0000069C _02073360: .word 0x000F0E00 thumb_func_start FUN_02073364 FUN_02073364: ; 0x02073364 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 lsl r0, r1, #0x2 add r0, r1, r0 add r0, r0, #0x4 add r4, r5, #0x4 lsl r7, r0, #0x4 add r0, r4, r7 mov r1, #0x0 add r6, r2, #0x0 bl FUN_02019620 cmp r6, #0x0 beq _0207338C cmp r6, #0x1 beq _0207339A cmp r6, #0x2 beq _020733A8 b _020733B4 _0207338C: ldr r0, _020733DC ; =0x0000069C mov r1, #0xaf ldr r0, [r5, r0] bl FUN_0200A914 str r0, [sp, #0x10] b _020733B4 _0207339A: ldr r0, _020733DC ; =0x0000069C mov r1, #0xb0 ldr r0, [r5, r0] bl FUN_0200A914 str r0, [sp, #0x10] b _020733B4 _020733A8: ldr r0, _020733DC ; =0x0000069C mov r1, #0xb1 ldr r0, [r5, r0] bl FUN_0200A914 str r0, [sp, #0x10] _020733B4: mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _020733E0 ; =0x000F0E00 ldr r2, [sp, #0x10] str r0, [sp, #0x8] add r0, r4, r7 add r3, r1, #0x0 str r1, [sp, #0xc] bl FUN_0201BDE0 ldr r0, [sp, #0x10] bl FUN_02021A20 add r0, r4, r7 bl FUN_02019220 add sp, #0x14 pop {r4-r7, pc} .balign 4 _020733DC: .word 0x0000069C _020733E0: .word 0x000F0E00 thumb_func_start FUN_020733E4 FUN_020733E4: ; 0x020733E4 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 lsl r0, r1, #0x2 add r0, r1, r0 add r0, r0, #0x4 add r4, r5, #0x4 lsl r6, r0, #0x4 add r0, r4, r6 mov r1, #0x0 add r7, r2, #0x0 bl FUN_02019620 cmp r7, #0x0 ldr r0, _02073440 ; =0x0000069C bne _0207340E ldr r0, [r5, r0] mov r1, #0xb5 bl FUN_0200A914 b _02073416 _0207340E: ldr r0, [r5, r0] mov r1, #0xb4 bl FUN_0200A914 _02073416: mov r1, #0x0 add r5, r0, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _02073444 ; =0x000F0E00 add r2, r5, #0x0 str r0, [sp, #0x8] add r0, r4, r6 add r3, r1, #0x0 str r1, [sp, #0xc] bl FUN_0201BDE0 add r0, r5, #0x0 bl FUN_02021A20 add r0, r4, r6 bl FUN_02019220 add sp, #0x10 pop {r3-r7, pc} .balign 4 _02073440: .word 0x0000069C _02073444: .word 0x000F0E00 thumb_func_start FUN_02073448 FUN_02073448: ; 0x02073448 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 lsl r0, r1, #0x2 add r0, r1, r0 add r0, r0, #0x4 add r4, r5, #0x4 lsl r7, r0, #0x4 add r0, r4, r7 mov r1, #0x0 add r6, r2, #0x0 bl FUN_02019620 cmp r6, #0x6 ldr r0, _020734B8 ; =0x0000069C bhs _02073476 add r6, #0xa9 ldr r0, [r5, r0] add r1, r6, #0x0 bl FUN_0200A914 add r5, r0, #0x0 b _02073490 _02073476: cmp r6, #0x7 bne _02073486 ldr r0, [r5, r0] mov r1, #0xa7 bl FUN_0200A914 add r5, r0, #0x0 b _02073490 _02073486: ldr r0, [r5, r0] mov r1, #0xa8 bl FUN_0200A914 add r5, r0, #0x0 _02073490: mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _020734BC ; =0x000F0E00 add r2, r5, #0x0 str r0, [sp, #0x8] add r0, r4, r7 add r3, r1, #0x0 str r1, [sp, #0xc] bl FUN_0201BDE0 add r0, r5, #0x0 bl FUN_02021A20 add r0, r4, r7 bl FUN_02019220 add sp, #0x10 pop {r3-r7, pc} .balign 4 _020734B8: .word 0x0000069C _020734BC: .word 0x000F0E00 thumb_func_start FUN_020734C0 FUN_020734C0: ; 0x020734C0 push {r4-r7, lr} sub sp, #0x2c add r5, r0, #0x0 ldr r0, _02073628 ; =0x000005A4 ldr r1, _0207362C ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 mov r1, #0xa3 mov r2, #0x0 add r4, r0, #0x0 bl FUN_020671BC add r1, sp, #0x20 strh r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0xa4 mov r2, #0x0 bl FUN_020671BC add r1, sp, #0x20 strh r0, [r1, #0x2] add r0, r4, #0x0 mov r1, #0xa5 mov r2, #0x0 bl FUN_020671BC add r1, sp, #0x20 strh r0, [r1, #0x4] add r0, r4, #0x0 mov r1, #0xa7 mov r2, #0x0 bl FUN_020671BC add r1, sp, #0x20 strh r0, [r1, #0x6] add r0, r4, #0x0 mov r1, #0xa8 mov r2, #0x0 bl FUN_020671BC add r1, sp, #0x20 strh r0, [r1, #0x8] add r0, r4, #0x0 mov r1, #0xa6 mov r2, #0x0 bl FUN_020671BC add r1, sp, #0x20 strh r0, [r1, #0xa] mov r3, #0x1 mov r1, #0x9 str r3, [sp, #0x0] mov r0, #0xe str r0, [sp, #0x4] mov r0, #0xc str r0, [sp, #0x8] mov r2, #0x0 str r2, [sp, #0xc] lsl r1, r1, #0x6 str r1, [sp, #0x10] add r1, #0x14 ldr r0, [r5, #0x0] add r1, r5, r1 bl FUN_02019064 mov r0, #0x95 lsl r0, r0, #0x2 mov r1, #0x1 add r0, r5, r0 add r2, r1, #0x0 mov r3, #0xe bl FUN_0200CCA4 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xf bl FUN_02019620 mov r4, #0x0 str r4, [sp, #0x14] add r7, r5, #0x0 add r6, sp, #0x20 _0207356C: ldr r0, _02073630 ; =0x0000069C ldr r1, [sp, #0x14] ldr r0, [r5, r0] add r1, #0xb9 bl FUN_0200A914 str r0, [sp, #0x18] mov r1, #0x0 str r4, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] mov r0, #0x95 lsl r0, r0, #0x2 ldr r2, [sp, #0x18] add r0, r5, r0 add r3, r1, #0x0 bl FUN_0201BD84 ldr r0, [sp, #0x18] bl FUN_02021A20 ldr r0, _02073630 ; =0x0000069C mov r1, #0xbf ldr r0, [r5, r0] bl FUN_0200A914 str r0, [sp, #0x1c] mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r2, _02073634 ; =0x00000B28 mov r0, #0x6a lsl r0, r0, #0x4 ldrh r3, [r6, #0x0] ldrh r2, [r7, r2] ldr r0, [r5, r0] mov r1, #0x0 sub r2, r3, r2 mov r3, #0x2 bl FUN_0200AD38 mov r0, #0x6a ldr r1, _02073638 ; =0x000006A4 lsl r0, r0, #0x4 ldr r0, [r5, r0] ldr r1, [r5, r1] ldr r2, [sp, #0x1c] bl FUN_0200B7B8 ldr r0, [sp, #0x1c] bl FUN_02021A20 ldr r1, _02073638 ; =0x000006A4 mov r0, #0x0 ldr r1, [r5, r1] add r2, r0, #0x0 bl FUN_02002E14 mov r1, #0x68 sub r3, r1, r0 str r4, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] ldr r2, _02073638 ; =0x000006A4 mov r0, #0x95 lsl r0, r0, #0x2 ldr r2, [r5, r2] add r0, r5, r0 mov r1, #0x0 bl FUN_0201BD84 ldrh r1, [r6, #0x0] ldr r0, _02073634 ; =0x00000B28 add r4, #0x10 strh r1, [r7, r0] ldr r0, [sp, #0x14] add r7, r7, #0x2 add r0, r0, #0x1 add r6, r6, #0x2 str r0, [sp, #0x14] cmp r0, #0x6 blo _0207356C mov r0, #0x95 lsl r0, r0, #0x2 add r0, r5, r0 bl FUN_02019220 add sp, #0x2c pop {r4-r7, pc} .balign 4 _02073628: .word 0x000005A4 _0207362C: .word 0x00000B25 _02073630: .word 0x0000069C _02073634: .word 0x00000B28 _02073638: .word 0x000006A4 thumb_func_start FUN_0207363C FUN_0207363C: ; 0x0207363C push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 mov r0, #0x20 str r0, [sp, #0x0] mov r0, #0x70 str r0, [sp, #0x4] mov r0, #0x95 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xf mov r2, #0x50 mov r3, #0x0 bl FUN_020196F4 ldr r0, _020736E8 ; =0x0000069C mov r1, #0xc0 ldr r0, [r5, r0] bl FUN_0200A914 str r0, [sp, #0xc] mov r0, #0x0 str r0, [sp, #0x10] add r6, r5, #0x0 add r4, r0, #0x0 _0207366E: mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r2, _020736EC ; =0x00000B28 mov r0, #0x6a lsl r0, r0, #0x4 ldrh r2, [r6, r2] ldr r0, [r5, r0] mov r1, #0x0 mov r3, #0x3 bl FUN_0200AD38 mov r0, #0x6a ldr r1, _020736F0 ; =0x000006A4 lsl r0, r0, #0x4 ldr r0, [r5, r0] ldr r1, [r5, r1] ldr r2, [sp, #0xc] bl FUN_0200B7B8 ldr r1, _020736F0 ; =0x000006A4 mov r0, #0x0 ldr r1, [r5, r1] add r2, r0, #0x0 bl FUN_02002E14 add r7, r0, #0x0 mov r3, #0x68 str r4, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] ldr r2, _020736F0 ; =0x000006A4 mov r0, #0x95 lsl r0, r0, #0x2 ldr r2, [r5, r2] add r0, r5, r0 mov r1, #0x0 sub r3, r3, r7 bl FUN_0201BD84 ldr r0, [sp, #0x10] add r6, r6, #0x2 add r0, r0, #0x1 add r4, #0x10 str r0, [sp, #0x10] cmp r0, #0x6 blo _0207366E ldr r0, [sp, #0xc] bl FUN_02021A20 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r5, r0 bl FUN_02019220 add sp, #0x14 pop {r4-r7, pc} nop _020736E8: .word 0x0000069C _020736EC: .word 0x00000B28 _020736F0: .word 0x000006A4 thumb_func_start FUN_020736F4 FUN_020736F4: ; 0x020736F4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x0 bl FUN_0200CCF8 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019178 pop {r4, pc} thumb_func_start FUN_02073710 FUN_02073710: ; 0x02073710 push {r3-r7, lr} sub sp, #0x50 add r4, r0, #0x0 mov r0, #0x10 mov r1, #0x1 bl FUN_0201E6E4 mov r0, #0x10 mov r1, #0x1 bl FUN_0201E74C mov r0, #0x20 mov r1, #0xc bl FUN_0201C24C mov r0, #0xc bl FUN_0200BB14 ldr r1, _020737BC ; =0x000005A8 str r0, [r4, r1] ldr r0, [r4, r1] bl FUN_0200BB34 ldr r7, _020737C0 ; =0x000005AC add r2, sp, #0x30 ldr r3, _020737C4 ; =0x020F98F4 str r0, [r4, r7] ldmia r3!, {r0-r1} add r6, r2, #0x0 stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} ldr r5, _020737C8 ; =0x020F98C4 stmia r2!, {r0-r1} add r3, sp, #0x1c ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] add r1, r6, #0x0 str r0, [r3, #0x0] sub r0, r7, #0x4 ldr r0, [r4, r0] mov r3, #0x20 bl FUN_0200BB6C sub r1, r7, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] mov r2, #0x23 bl FUN_0200BBF0 sub r0, r7, #0x4 ldr r0, [r4, r0] bl FUN_0200BB68 mov r2, #0x1 mov r1, #0x0 lsl r2, r2, #0x14 bl FUN_02008D24 ldr r5, _020737CC ; =0x020F98D8 add r3, sp, #0x0 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] sub r1, r7, #0x4 str r0, [r3, #0x0] ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] bl FUN_0200BD20 add sp, #0x50 pop {r3-r7, pc} .balign 4 _020737BC: .word 0x000005A8 _020737C0: .word 0x000005AC _020737C4: .word 0x020F98F4 _020737C8: .word 0x020F98C4 _020737CC: .word 0x020F98D8 thumb_func_start FUN_020737D0 FUN_020737D0: ; 0x020737D0 push {r4-r7, lr} sub sp, #0x3c add r5, r0, #0x0 ldr r0, _02073878 ; =0x000005A4 str r3, [sp, #0x8] ldr r0, [r5, r0] add r4, r2, #0x0 ldr r0, [r0, #0x0] add r7, r1, #0x0 bl FUN_0206B9B0 lsl r1, r4, #0x10 asr r6, r1, #0x10 mov r1, #0x2c mul r1, r7 str r1, [sp, #0xc] add r2, r5, r1 ldr r1, _0207387C ; =0x00000716 str r0, [sp, #0x10] strh r6, [r2, r1] ldr r3, [sp, #0x8] add r1, r1, #0x2 lsl r3, r3, #0x10 asr r4, r3, #0x10 strh r4, [r2, r1] add r7, r7, #0x4 bl FUN_0206B6C8 add r3, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] ldr r1, _02073880 ; =0x000005A8 str r7, [sp, #0x4] ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] mov r2, #0x13 bl FUN_0200C9D8 ldr r0, [sp, #0x10] mov r1, #0x4c mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 str r7, [sp, #0x14] add r0, sp, #0x14 strh r6, [r0, #0x4] strh r4, [r0, #0x6] mov r1, #0x0 strh r1, [r0, #0x8] strh r1, [r0, #0xa] ldr r0, [sp, #0xc] str r1, [sp, #0x20] ldr r1, _02073884 ; =0x00000704 add r3, r5, r0 ldrh r0, [r3, r1] add r1, #0xd ldrb r1, [r3, r1] bl FUN_0206B7BC add r0, r0, #0x3 str r0, [sp, #0x24] mov r0, #0x1 str r0, [sp, #0x28] mov r0, #0x0 ldr r1, _02073880 ; =0x000005A8 str r0, [sp, #0x2c] str r0, [sp, #0x30] str r0, [sp, #0x34] str r0, [sp, #0x38] ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, sp, #0x14 bl FUN_0200BE38 ldr r1, [sp, #0xc] add r2, r5, r1 ldr r1, _02073888 ; =0x00000724 str r0, [r2, r1] add sp, #0x3c pop {r4-r7, pc} nop _02073878: .word 0x000005A4 _0207387C: .word 0x00000716 _02073880: .word 0x000005A8 _02073884: .word 0x00000704 _02073888: .word 0x00000724 thumb_func_start FUN_0207388C FUN_0207388C: ; 0x0207388C push {r4-r7, lr} sub sp, #0x14 ldr r1, _020739AC ; =0x000005A8 add r5, r0, #0x0 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] ldr r2, _020739B0 ; =0x020F9914 bl FUN_0200BE38 ldr r1, _020739B4 ; =0x000005C8 ldr r2, _020739B8 ; =0x020F993C str r0, [r5, r1] add r0, r1, #0x0 sub r0, #0x20 sub r1, #0x1c ldr r0, [r5, r0] ldr r1, [r5, r1] bl FUN_0200BE38 ldr r1, _020739BC ; =0x000005CC ldr r2, _020739C0 ; =0x020F9964 str r0, [r5, r1] add r0, r1, #0x0 sub r0, #0x24 sub r1, #0x20 ldr r0, [r5, r0] ldr r1, [r5, r1] bl FUN_0200BE38 mov r1, #0x5d lsl r1, r1, #0x4 str r0, [r5, r1] add r0, r1, #0x0 sub r0, #0x28 sub r1, #0x24 ldr r0, [r5, r0] ldr r1, [r5, r1] ldr r2, _020739C4 ; =0x020F998C bl FUN_0200BE38 ldr r1, _020739C8 ; =0x000005D4 ldr r2, _020739CC ; =0x020F9C84 str r0, [r5, r1] add r0, r1, #0x0 sub r0, #0x2c sub r1, #0x28 ldr r0, [r5, r0] ldr r1, [r5, r1] bl FUN_0200BE38 mov r1, #0x62 lsl r1, r1, #0x4 str r0, [r5, r1] ldr r0, _020739B0 ; =0x020F9914 mov r4, #0x0 str r4, [sp, #0x4] add r6, r5, #0x0 str r0, [sp, #0x0] add r7, r5, #0x0 str r0, [sp, #0x8] str r0, [sp, #0xc] str r0, [sp, #0x10] _0207390A: ldr r0, _020739AC ; =0x000005A8 ldr r1, _020739D0 ; =0x000005AC add r3, r4, #0x0 ldr r2, [sp, #0x8] add r3, #0xa0 ldr r0, [r5, r0] ldr r1, [r5, r1] add r2, r2, r3 bl FUN_0200BE38 ldr r1, _020739D4 ; =0x000005D8 str r0, [r6, r1] ldr r1, [sp, #0x0] mov r0, #0xa4 ldrsh r1, [r1, r0] ldr r0, _020739D8 ; =0x0000071A strh r1, [r7, r0] ldr r1, [sp, #0x0] mov r0, #0xa6 ldrsh r1, [r1, r0] ldr r0, _020739DC ; =0x0000071C strh r1, [r7, r0] ldr r0, _020739D4 ; =0x000005D8 mov r1, #0x0 ldr r0, [r6, r0] bl FUN_020200A0 mov r2, #0x19 ldr r0, _020739AC ; =0x000005A8 ldr r1, _020739D0 ; =0x000005AC lsl r2, r2, #0x4 add r3, r4, r2 ldr r2, [sp, #0xc] ldr r0, [r5, r0] ldr r1, [r5, r1] add r2, r2, r3 bl FUN_0200BE38 mov r1, #0x5f lsl r1, r1, #0x4 mov r2, #0xa str r0, [r6, r1] add r0, r1, #0x0 lsl r2, r2, #0x6 sub r0, #0x48 sub r1, #0x44 add r3, r4, r2 ldr r2, [sp, #0x10] ldr r0, [r5, r0] ldr r1, [r5, r1] add r2, r2, r3 bl FUN_0200BE38 ldr r1, _020739E0 ; =0x00000608 add r4, #0x28 str r0, [r6, r1] ldr r0, [sp, #0x0] add r6, r6, #0x4 add r0, #0x28 str r0, [sp, #0x0] ldr r0, [sp, #0x4] add r7, #0x2c add r0, r0, #0x1 str r0, [sp, #0x4] cmp r0, #0x6 blo _0207390A add r0, r1, #0x0 sub r0, #0x3c ldr r0, [r5, r0] mov r1, #0x0 bl FUN_020200A0 mov r0, #0x62 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_020200A0 add sp, #0x14 pop {r4-r7, pc} nop _020739AC: .word 0x000005A8 _020739B0: .word 0x020F9914 _020739B4: .word 0x000005C8 _020739B8: .word 0x020F993C _020739BC: .word 0x000005CC _020739C0: .word 0x020F9964 _020739C4: .word 0x020F998C _020739C8: .word 0x000005D4 _020739CC: .word 0x020F9C84 _020739D0: .word 0x000005AC _020739D4: .word 0x000005D8 _020739D8: .word 0x0000071A _020739DC: .word 0x0000071C _020739E0: .word 0x00000608 thumb_func_start FUN_020739E4 FUN_020739E4: ; 0x020739E4 push {r3-r5, lr} sub sp, #0x28 add r4, r1, #0x0 mov r1, #0x0 add r5, r0, #0x0 str r1, [sp, #0x0] add r0, sp, #0x0 strh r2, [r0, #0x4] strh r3, [r0, #0x6] strh r1, [r0, #0x8] strh r1, [r0, #0xa] mov r0, #0x1 str r1, [sp, #0x10] str r1, [sp, #0x18] str r1, [sp, #0x1c] str r1, [sp, #0x20] str r1, [sp, #0x24] ldr r1, _02073A28 ; =0x000005A8 str r0, [sp, #0xc] str r0, [sp, #0x14] ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, sp, #0x0 bl FUN_0200BE38 lsl r1, r4, #0x2 add r2, r5, r1 mov r1, #0x5b lsl r1, r1, #0x4 str r0, [r2, r1] add sp, #0x28 pop {r3-r5, pc} nop _02073A28: .word 0x000005A8 thumb_func_start FUN_02073A2C FUN_02073A2C: ; 0x02073A2C push {r4, lr} ldr r1, _02073A48 ; =0x000005A8 add r4, r0, #0x0 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] bl FUN_0200BCE0 ldr r0, _02073A48 ; =0x000005A8 ldr r0, [r4, r0] bl FUN_0200BD04 pop {r4, pc} nop _02073A48: .word 0x000005A8 thumb_func_start FUN_02073A4C FUN_02073A4C: ; 0x02073A4C push {r3-r5, lr} mov r3, #0x5b lsl r3, r3, #0x4 add r1, #0xa add r5, r0, r3 lsl r4, r1, #0x2 cmp r2, #0x7 ldr r0, [r5, r4] bne _02073A66 mov r1, #0x0 bl FUN_020200A0 pop {r3-r5, pc} _02073A66: add r1, r2, #0x0 bl FUN_02020130 ldr r0, [r5, r4] mov r1, #0x1 bl FUN_020200A0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02073A78 FUN_02073A78: ; 0x02073A78 push {r3-r5, lr} mov r3, #0x5b lsl r3, r3, #0x4 add r1, #0x10 add r5, r0, r3 lsl r4, r1, #0x2 cmp r2, #0x0 bne _02073A92 ldr r0, [r5, r4] mov r1, #0x0 bl FUN_020200A0 pop {r3-r5, pc} _02073A92: add r0, r2, #0x0 bl FUN_0206EA98 cmp r0, #0x1 ldr r0, [r5, r4] bne _02073AA6 mov r1, #0x1 bl FUN_02020130 b _02073AAC _02073AA6: mov r1, #0x0 bl FUN_02020130 _02073AAC: ldr r0, [r5, r4] mov r1, #0x1 bl FUN_020200A0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02073AB8 FUN_02073AB8: ; 0x02073AB8 push {r3-r5, lr} mov r2, #0x5b lsl r2, r2, #0x4 add r1, #0x10 lsl r4, r1, #0x2 add r5, r0, r2 ldr r0, [r5, r4] mov r1, #0x1 bl FUN_02020130 ldr r0, [r5, r4] mov r1, #0x1 bl FUN_020200A0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02073AD8 FUN_02073AD8: ; 0x02073AD8 push {r4-r6, lr} ldr r6, _02073B08 ; =0x0000071E add r5, r1, #0x0 mov r4, #0x2c mul r5, r4 add r1, #0x10 lsl r1, r1, #0x2 add r4, r0, r6 add r2, #0x8 strh r2, [r4, r5] add r2, r6, #0x2 add r2, r0, r2 add r3, #0x8 add r1, r0, r1 mov r0, #0x5b strh r3, [r2, r5] lsl r0, r0, #0x4 ldr r0, [r1, r0] ldrsh r1, [r4, r5] ldrsh r2, [r2, r5] bl FUN_0200C6E4 pop {r4-r6, pc} nop _02073B08: .word 0x0000071E thumb_func_start FUN_02073B0C FUN_02073B0C: ; 0x02073B0C add r2, r0, #0x0 add r3, r1, #0x0 mov r0, #0x2c mul r3, r0 add r1, #0x16 lsl r0, r1, #0x2 add r1, r2, r0 mov r0, #0x5b add r3, r2, r3 lsl r0, r0, #0x4 ldr r2, _02073B34 ; =0x0000071E ldr r0, [r1, r0] ldrsh r1, [r3, r2] add r2, r2, #0x2 ldrsh r2, [r3, r2] add r1, #0x8 lsl r1, r1, #0x10 ldr r3, _02073B38 ; =FUN_0200C6E4 asr r1, r1, #0x10 bx r3 .balign 4 _02073B34: .word 0x0000071E _02073B38: .word FUN_0200C6E4 thumb_func_start FUN_02073B3C FUN_02073B3C: ; 0x02073B3C push {r4, lr} mov r2, #0x5b mov r4, #0x2c lsl r2, r2, #0x4 add r3, r0, r2 add r2, r1, #0x0 mul r4, r1 add r1, r0, r4 ldr r0, _02073B6C ; =0x00000712 add r2, #0x16 ldrh r0, [r1, r0] lsl r2, r2, #0x2 cmp r0, #0x0 ldr r0, [r3, r2] bne _02073B62 mov r1, #0x0 bl FUN_020200A0 pop {r4, pc} _02073B62: mov r1, #0x1 bl FUN_020200A0 pop {r4, pc} nop _02073B6C: .word 0x00000712 thumb_func_start FUN_02073B70 FUN_02073B70: ; 0x02073B70 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_020201DC cmp r4, r0 beq _02073B8E add r0, r5, #0x0 mov r1, #0x0 bl FUN_02020208 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02020130 _02073B8E: pop {r3-r5, pc} thumb_func_start FUN_02073B90 FUN_02073B90: ; 0x02073B90 push {r3, lr} add r2, r0, #0x0 ldrh r0, [r2, #0x6] cmp r0, #0x0 bne _02073B9E mov r0, #0x0 pop {r3, pc} _02073B9E: ldrh r1, [r2, #0xe] lsl r1, r1, #0x14 lsr r1, r1, #0x14 cmp r1, #0x7 beq _02073BB4 cmp r1, #0x0 beq _02073BB4 cmp r1, #0x6 beq _02073BB4 mov r0, #0x5 pop {r3, pc} _02073BB4: ldrh r1, [r2, #0x8] mov r2, #0x30 bl FUN_02079A54 cmp r0, #0x4 bhi _02073BE6 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02073BCC: ; jump table (using 16-bit offset) .short _02073BE6 - _02073BCC - 2; case 0 .short _02073BE2 - _02073BCC - 2; case 1 .short _02073BDE - _02073BCC - 2; case 2 .short _02073BDA - _02073BCC - 2; case 3 .short _02073BD6 - _02073BCC - 2; case 4 _02073BD6: mov r0, #0x1 pop {r3, pc} _02073BDA: mov r0, #0x2 pop {r3, pc} _02073BDE: mov r0, #0x3 pop {r3, pc} _02073BE2: mov r0, #0x4 pop {r3, pc} _02073BE6: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_02073BEC FUN_02073BEC: ; 0x02073BEC push {r3-r7, lr} add r6, r0, #0x0 mov r0, #0x7 lsl r0, r0, #0x8 add r0, r6, r0 mov r5, #0x0 str r0, [sp, #0x0] _02073BFA: mov r0, #0x2c add r1, r5, #0x0 mul r1, r0 ldr r0, [sp, #0x0] add r4, r0, r1 add r0, r4, #0x0 add r0, #0x29 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _02073C9A mov r0, #0xb1 lsl r0, r0, #0x4 ldrb r0, [r6, r0] cmp r0, #0x1 bne _02073C2C ldr r0, _02073CA8 ; =0x00000B0C ldrb r0, [r6, r0] cmp r0, r5 beq _02073C28 ldr r0, _02073CAC ; =0x00000B0D ldrb r0, [r6, r0] cmp r0, r5 bne _02073C2C _02073C28: mov r7, #0x0 b _02073C34 _02073C2C: add r0, r4, #0x0 bl FUN_02073B90 add r7, r0, #0x0 _02073C34: lsl r1, r7, #0x18 ldr r0, [r4, #0x24] lsr r1, r1, #0x18 bl FUN_02073B70 mov r1, #0x1 ldr r0, [r4, #0x24] lsl r1, r1, #0xc bl FUN_020201E4 ldr r0, _02073CB0 ; =0x00000B25 ldrb r0, [r6, r0] cmp r0, r5 bne _02073C8C cmp r7, #0x0 beq _02073C8C cmp r7, #0x5 beq _02073C8C ldr r0, [r4, #0x24] bl FUN_0202022C cmp r0, #0x0 ldr r0, [r4, #0x24] bne _02073C78 mov r2, #0x18 ldrsh r2, [r4, r2] mov r1, #0x16 ldrsh r1, [r4, r1] sub r2, r2, #0x3 lsl r2, r2, #0x10 asr r2, r2, #0x10 bl FUN_0200C6E4 b _02073C9A _02073C78: mov r2, #0x18 ldrsh r2, [r4, r2] mov r1, #0x16 ldrsh r1, [r4, r1] add r2, r2, #0x1 lsl r2, r2, #0x10 asr r2, r2, #0x10 bl FUN_0200C6E4 b _02073C9A _02073C8C: mov r1, #0x16 mov r2, #0x18 ldrsh r1, [r4, r1] ldrsh r2, [r4, r2] ldr r0, [r4, #0x24] bl FUN_0200C6E4 _02073C9A: add r0, r5, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0x6 blo _02073BFA pop {r3-r7, pc} nop _02073CA8: .word 0x00000B0C _02073CAC: .word 0x00000B0D _02073CB0: .word 0x00000B25 thumb_func_start FUN_02073CB4 FUN_02073CB4: ; 0x02073CB4 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 ldr r0, _02073D10 ; =0x00000808 add r4, r1, #0x0 ldr r1, [r5, r0] lsl r0, r4, #0x3 add r0, r1, r0 add r1, sp, #0x0 add r6, r2, #0x0 add r1, #0x1 add r2, sp, #0x0 bl FUN_0201C620 ldr r0, _02073D14 ; =0x000005A4 add r1, r4, #0x0 ldr r0, [r5, r0] add r0, #0x21 ldrb r0, [r0, #0x0] bl FUN_020714BC add r1, r0, #0x0 ldr r0, _02073D18 ; =0x000005C8 ldr r0, [r5, r0] bl FUN_02020130 ldr r0, _02073D18 ; =0x000005C8 mov r1, #0x1 ldr r0, [r5, r0] bl FUN_020200A0 ldr r0, _02073D18 ; =0x000005C8 add r2, sp, #0x0 ldrb r1, [r2, #0x1] ldrb r2, [r2, #0x0] ldr r0, [r5, r0] bl FUN_0200C6E4 ldr r0, _02073D18 ; =0x000005C8 add r1, r6, #0x0 ldr r0, [r5, r0] bl FUN_0200C664 add sp, #0x4 pop {r3-r6, pc} nop _02073D10: .word 0x00000808 _02073D14: .word 0x000005A4 _02073D18: .word 0x000005C8 thumb_func_start FUN_02073D1C FUN_02073D1C: ; 0x02073D1C push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 lsl r0, r1, #0xc str r0, [sp, #0x0] mov r0, #0x1 lsl r1, r2, #0xc lsl r0, r0, #0x14 str r1, [sp, #0x4] add r0, r1, r0 str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] mov r0, #0x62 lsl r0, r0, #0x4 ldr r0, [r4, r0] add r1, sp, #0x0 bl FUN_02020044 mov r0, #0x62 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 bl FUN_020200A0 mov r0, #0x62 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_02020208 mov r0, #0x62 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_02020130 add sp, #0xc pop {r3-r4, pc} .balign 4 thumb_func_start FUN_02073D6C FUN_02073D6C: ; 0x02073D6C push {r4, lr} add r4, r0, #0x0 mov r0, #0x62 lsl r0, r0, #0x4 ldr r0, [r4, r0] bl FUN_02020128 cmp r0, #0x1 bne _02073DA6 mov r0, #0x62 lsl r0, r0, #0x4 mov r1, #0x1 ldr r0, [r4, r0] lsl r1, r1, #0xc bl FUN_020201E4 mov r0, #0x62 lsl r0, r0, #0x4 ldr r0, [r4, r0] bl FUN_0202022C cmp r0, #0x2 bne _02073DA6 mov r0, #0x62 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_020200A0 _02073DA6: pop {r4, pc} thumb_func_start FUN_02073DA8 FUN_02073DA8: ; 0x02073DA8 lsl r1, r0, #0x2 ldr r0, _02073DB0 ; =0x020F9CAC ldr r0, [r0, r1] bx lr .balign 4 _02073DB0: .word 0x020F9CAC thumb_func_start FUN_02073DB4 FUN_02073DB4: ; 0x02073DB4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200CCF8 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C ldr r0, _02073DEC ; =0x000006FC mov r1, #0x0 ldr r0, [r4, r0] bl FUN_02001C5C ldr r0, _02073DF0 ; =0x000006F8 ldr r0, [r4, r0] bl FUN_02012870 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019178 pop {r4, pc} .balign 4 _02073DEC: .word 0x000006FC _02073DF0: .word 0x000006F8 thumb_func_start FUN_02073DF4 FUN_02073DF4: ; 0x02073DF4 push {r3-r6, lr} sub sp, #0x14 add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02073DB4 add r0, r5, #0x0 mov r1, #0x26 mov r2, #0x0 bl FUN_020731D4 mov r0, #0x3 mov r1, #0xc bl FUN_02012838 ldr r1, _02073EB0 ; =0x000006F8 str r0, [r5, r1] mov r0, #0x3 bl FUN_02073DA8 ldr r1, _02073EB0 ; =0x000006F8 add r2, r0, #0x0 ldr r0, [r5, r1] sub r1, #0x40 ldr r1, [r5, r1] bl FUN_020128A0 mov r0, #0x4 bl FUN_02073DA8 ldr r1, _02073EB0 ; =0x000006F8 add r2, r0, #0x0 ldr r0, [r5, r1] sub r1, #0x3c ldr r1, [r5, r1] bl FUN_020128A0 mov r0, #0x9 bl FUN_02073DA8 ldr r1, _02073EB0 ; =0x000006F8 add r2, r0, #0x0 ldr r0, [r5, r1] sub r1, #0x28 ldr r1, [r5, r1] bl FUN_020128A0 ldr r0, _02073EB0 ; =0x000006F8 mov r1, #0x0 ldr r0, [r5, r0] add r2, sp, #0x8 str r0, [sp, #0x8] mov r0, #0x8d lsl r0, r0, #0x2 add r0, r5, r0 str r0, [sp, #0xc] strb r1, [r2, #0x8] mov r1, #0x1 strb r1, [r2, #0x9] mov r3, #0x3 strb r3, [r2, #0xa] ldrb r6, [r2, #0xb] mov r3, #0xf bic r6, r3 strb r6, [r2, #0xb] ldrb r6, [r2, #0xb] mov r3, #0x30 bic r6, r3 strb r6, [r2, #0xb] ldrb r6, [r2, #0xb] mov r3, #0xc0 bic r6, r3 strb r6, [r2, #0xb] add r2, r1, #0x0 mov r3, #0xe bl FUN_0200CCA4 mov r0, #0xc str r0, [sp, #0x0] mov r0, #0x2 mov r2, #0x0 str r0, [sp, #0x4] add r0, sp, #0x8 mov r1, #0x8 add r3, r2, #0x0 bl FUN_02001C14 ldr r1, _02073EB4 ; =0x000006FC str r0, [r5, r1] mov r0, #0xd str r0, [r4, #0x0] add sp, #0x14 pop {r3-r6, pc} nop _02073EB0: .word 0x000006F8 _02073EB4: .word 0x000006FC thumb_func_start FUN_02073EB8 FUN_02073EB8: ; 0x02073EB8 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02073EE0 ; =0x000006FC add r4, r1, #0x0 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_02001C5C ldr r0, _02073EE4 ; =0x000006F8 ldr r0, [r5, r0] bl FUN_02012870 ldr r0, _02073EE8 ; =0x000005A4 mov r1, #0x3 ldr r0, [r5, r0] add r0, #0x23 strb r1, [r0, #0x0] mov r0, #0x1b str r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 _02073EE0: .word 0x000006FC _02073EE4: .word 0x000006F8 _02073EE8: .word 0x000005A4 thumb_func_start FUN_02073EEC FUN_02073EEC: ; 0x02073EEC push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 mov r0, #0x8d lsl r0, r0, #0x2 add r4, r1, #0x0 add r0, r5, r0 mov r1, #0x1 bl FUN_0200CCF8 ldr r0, _02074044 ; =0x000006FC mov r1, #0x0 ldr r0, [r5, r0] bl FUN_02001C5C ldr r0, _02074048 ; =0x000006F8 ldr r0, [r5, r0] bl FUN_02012870 ldr r0, _0207404C ; =0x00000B25 ldrb r1, [r5, r0] mov r0, #0x2c mul r0, r1 add r2, r5, r0 ldr r0, _02074050 ; =0x0000070C ldrh r2, [r2, r0] ldr r0, _02074054 ; =0x000005A4 cmp r2, #0x0 bne _02073F66 ldr r0, [r5, r0] ldr r0, [r0, #0x0] bl FUN_0206B9B0 ldr r2, _02074058 ; =0x0000069C add r6, r0, #0x0 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] mov r1, #0x51 bl FUN_0200A8E0 add r0, r6, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_0200ACF8 mov r2, #0x6a lsl r2, r2, #0x4 add r1, r2, #0x4 ldr r0, [r5, r2] add r2, #0x8 ldr r1, [r5, r1] ldr r2, [r5, r2] bl FUN_0200B7B8 b _02074018 _02073F66: ldr r0, [r5, r0] add r1, r2, #0x0 ldr r0, [r0, #0x4] mov r2, #0x1 mov r3, #0xc bl FUN_0206ED38 cmp r0, #0x1 bne _0207400A ldr r0, _02074054 ; =0x000005A4 ldr r1, _0207404C ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 mov r1, #0x0 str r1, [sp, #0x0] add r6, r0, #0x0 mov r1, #0x6 add r2, sp, #0x0 bl FUN_02067830 add r0, r6, #0x0 bl FUN_02069EC4 ldr r2, _02074058 ; =0x0000069C mov r1, #0x52 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl FUN_0200A8E0 add r0, r6, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_0200ACF8 ldr r2, _0207404C ; =0x00000B25 mov r3, #0x6a ldrb r6, [r5, r2] mov r2, #0x2c lsl r3, r3, #0x4 mul r2, r6 ldr r0, [r5, r3] add r2, r5, r2 add r3, #0x6c ldrh r2, [r2, r3] mov r1, #0x1 bl FUN_0200AE38 mov r2, #0x6a lsl r2, r2, #0x4 add r1, r2, #0x4 ldr r0, [r5, r2] add r2, #0x8 ldr r1, [r5, r1] ldr r2, [r5, r2] bl FUN_0200B7B8 ldr r1, _0207404C ; =0x00000B25 mov r2, #0x2c ldrb r3, [r5, r1] mov r0, #0x0 add r6, r3, #0x0 mul r6, r2 ldr r3, _02074050 ; =0x0000070C add r6, r5, r6 strh r0, [r6, r3] ldrb r1, [r5, r1] add r0, r5, #0x0 mul r2, r1 add r2, r5, r2 ldrh r2, [r2, r3] bl FUN_02073A78 b _02074018 _0207400A: ldr r2, _02074058 ; =0x0000069C mov r1, #0x53 ldr r0, [r5, r2] add r2, #0x8 ldr r2, [r5, r2] bl FUN_0200A8E0 _02074018: mov r0, #0x89 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 mov r2, #0xa mov r3, #0xf bl FUN_0200D0BC mov r0, #0x89 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xf bl FUN_02019620 add r0, r5, #0x0 bl FUN_0207322C mov r0, #0xf str r0, [r4, #0x0] add sp, #0x4 pop {r3-r6, pc} nop _02074044: .word 0x000006FC _02074048: .word 0x000006F8 _0207404C: .word 0x00000B25 _02074050: .word 0x0000070C _02074054: .word 0x000005A4 _02074058: .word 0x0000069C thumb_func_start FUN_0207405C FUN_0207405C: ; 0x0207405C push {r4, lr} add r4, r0, #0x0 ldr r0, _020740A0 ; =0x00000B24 ldrb r0, [r4, r0] bl FUN_0201BD70 cmp r0, #0x0 bne _0207409A ldr r0, _020740A4 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _0207409A mov r0, #0x89 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200D0E0 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 bl FUN_020731C0 ldr r0, _020740A8 ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_0200C664 mov r0, #0x1 pop {r4, pc} _0207409A: mov r0, #0xf pop {r4, pc} nop _020740A0: .word 0x00000B24 _020740A4: .word 0x021C48B8 _020740A8: .word 0x000005C8 thumb_func_start FUN_020740AC FUN_020740AC: ; 0x020740AC push {r3-r6, lr} sub sp, #0x14 add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02073DB4 add r0, r5, #0x0 mov r1, #0x27 mov r2, #0x0 bl FUN_020731D4 mov r0, #0x3 mov r1, #0xc bl FUN_02012838 ldr r1, _02074168 ; =0x000006F8 str r0, [r5, r1] mov r0, #0x6 bl FUN_02073DA8 ldr r1, _02074168 ; =0x000006F8 add r2, r0, #0x0 ldr r0, [r5, r1] sub r1, #0x34 ldr r1, [r5, r1] bl FUN_020128A0 mov r0, #0x7 bl FUN_02073DA8 ldr r1, _02074168 ; =0x000006F8 add r2, r0, #0x0 ldr r0, [r5, r1] sub r1, #0x30 ldr r1, [r5, r1] bl FUN_020128A0 mov r0, #0x9 bl FUN_02073DA8 ldr r1, _02074168 ; =0x000006F8 add r2, r0, #0x0 ldr r0, [r5, r1] sub r1, #0x28 ldr r1, [r5, r1] bl FUN_020128A0 ldr r0, _02074168 ; =0x000006F8 mov r1, #0x0 ldr r0, [r5, r0] add r2, sp, #0x8 str r0, [sp, #0x8] mov r0, #0x8d lsl r0, r0, #0x2 add r0, r5, r0 str r0, [sp, #0xc] strb r1, [r2, #0x8] mov r1, #0x1 strb r1, [r2, #0x9] mov r3, #0x3 strb r3, [r2, #0xa] ldrb r6, [r2, #0xb] mov r3, #0xf bic r6, r3 strb r6, [r2, #0xb] ldrb r6, [r2, #0xb] mov r3, #0x30 bic r6, r3 strb r6, [r2, #0xb] ldrb r6, [r2, #0xb] mov r3, #0xc0 bic r6, r3 strb r6, [r2, #0xb] add r2, r1, #0x0 mov r3, #0xe bl FUN_0200CCA4 mov r0, #0xc str r0, [sp, #0x0] mov r0, #0x2 mov r2, #0x0 str r0, [sp, #0x4] add r0, sp, #0x8 mov r1, #0x8 add r3, r2, #0x0 bl FUN_02001C14 ldr r1, _0207416C ; =0x000006FC str r0, [r5, r1] mov r0, #0xd str r0, [r4, #0x0] add sp, #0x14 pop {r3-r6, pc} nop _02074168: .word 0x000006F8 _0207416C: .word 0x000006FC thumb_func_start FUN_02074170 FUN_02074170: ; 0x02074170 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02074198 ; =0x000006FC add r4, r1, #0x0 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_02001C5C ldr r0, _0207419C ; =0x000006F8 ldr r0, [r5, r0] bl FUN_02012870 ldr r0, _020741A0 ; =0x000005A4 mov r1, #0x7 ldr r0, [r5, r0] add r0, #0x23 strb r1, [r0, #0x0] mov r0, #0x1b str r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 _02074198: .word 0x000006FC _0207419C: .word 0x000006F8 _020741A0: .word 0x000005A4 thumb_func_start FUN_020741A4 FUN_020741A4: ; 0x020741A4 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x8d lsl r0, r0, #0x2 add r4, r1, #0x0 add r0, r5, r0 mov r1, #0x1 bl FUN_0200CCF8 ldr r0, _020741EC ; =0x000006FC mov r1, #0x0 ldr r0, [r5, r0] bl FUN_02001C5C ldr r0, _020741F0 ; =0x000006F8 ldr r0, [r5, r0] bl FUN_02012870 add r0, r5, #0x0 mov r1, #0x2b mov r2, #0x1 bl FUN_020731E8 ldr r0, _020741F4 ; =FUN_02074200 ldr r1, _020741F8 ; =0x00000B18 ldr r2, _020741FC ; =FUN_02074278 str r0, [r5, r1] add r0, r1, #0x4 str r2, [r5, r0] mov r0, #0x16 add r1, #0xa strb r0, [r5, r1] mov r0, #0x14 str r0, [r4, #0x0] pop {r3-r5, pc} nop _020741EC: .word 0x000006FC _020741F0: .word 0x000006F8 _020741F4: .word FUN_02074200 _020741F8: .word 0x00000B18 _020741FC: .word FUN_02074278 thumb_func_start FUN_02074200 FUN_02074200: ; 0x02074200 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, _02074268 ; =0x000005A4 ldr r1, _0207426C ; =0x00000B25 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 add r1, r0, #0x0 ldr r0, _02074268 ; =0x000005A4 mov r2, #0xc ldr r0, [r4, r0] ldr r0, [r0, #0x8] bl FUN_02085644 mov r1, #0x0 mvn r1, r1 cmp r0, r1 beq _02074254 ldr r1, _0207426C ; =0x00000B25 mov r2, #0x2c ldrb r3, [r4, r1] mov r0, #0x0 add r5, r3, #0x0 mul r5, r2 ldr r3, _02074270 ; =0x0000070C add r5, r4, r5 strh r0, [r5, r3] ldrb r1, [r4, r1] add r0, r4, #0x0 mul r2, r1 add r2, r4, r2 ldrh r2, [r2, r3] bl FUN_02073A78 add r0, r4, #0x0 mov r1, #0x2e mov r2, #0x0 bl FUN_020731E8 b _0207425E _02074254: add r0, r4, #0x0 mov r1, #0x32 mov r2, #0x0 bl FUN_020731E8 _0207425E: ldr r0, _02074274 ; =0x00000B22 mov r1, #0x10 strb r1, [r4, r0] mov r0, #0x14 pop {r3-r5, pc} .balign 4 _02074268: .word 0x000005A4 _0207426C: .word 0x00000B25 _02074270: .word 0x0000070C _02074274: .word 0x00000B22 thumb_func_start FUN_02074278 FUN_02074278: ; 0x02074278 push {r4, lr} mov r1, #0x2f mov r2, #0x0 add r4, r0, #0x0 bl FUN_020731E8 ldr r0, _0207429C ; =FUN_020742A8 ldr r1, _020742A0 ; =0x00000B18 ldr r2, _020742A4 ; =FUN_02074340 str r0, [r4, r1] add r0, r1, #0x4 str r2, [r4, r0] mov r0, #0x16 add r1, #0xa strb r0, [r4, r1] mov r0, #0x14 pop {r4, pc} nop _0207429C: .word FUN_020742A8 _020742A0: .word 0x00000B18 _020742A4: .word FUN_02074340 thumb_func_start FUN_020742A8 FUN_020742A8: ; 0x020742A8 push {r3-r5, lr} ldr r1, _02074330 ; =0x00000B25 add r4, r0, #0x0 ldrb r2, [r4, r1] mov r1, #0x2c ldr r0, _02074334 ; =0x000005A4 mul r1, r2 add r2, r4, r1 ldr r1, _02074338 ; =0x0000070C ldr r0, [r4, r0] ldrh r1, [r2, r1] ldr r0, [r0, #0x4] mov r2, #0x1 mov r3, #0xc bl FUN_0206ED38 cmp r0, #0x1 bne _0207431A ldr r0, _02074334 ; =0x000005A4 ldr r1, _02074330 ; =0x00000B25 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 mov r1, #0x0 str r1, [sp, #0x0] add r5, r0, #0x0 mov r1, #0x6 add r2, sp, #0x0 bl FUN_02067830 add r0, r5, #0x0 bl FUN_02069EC4 ldr r1, _02074330 ; =0x00000B25 mov r2, #0x2c ldrb r3, [r4, r1] mov r0, #0x0 add r5, r3, #0x0 mul r5, r2 ldr r3, _02074338 ; =0x0000070C add r5, r4, r5 strh r0, [r5, r3] ldrb r1, [r4, r1] add r0, r4, #0x0 mul r2, r1 add r2, r4, r2 ldrh r2, [r2, r3] bl FUN_02073A78 add r0, r4, #0x0 mov r1, #0x33 mov r2, #0x0 bl FUN_020731E8 b _02074324 _0207431A: add r0, r4, #0x0 mov r1, #0x53 mov r2, #0x0 bl FUN_020731E8 _02074324: ldr r0, _0207433C ; =0x00000B22 mov r1, #0x10 strb r1, [r4, r0] mov r0, #0x14 pop {r3-r5, pc} nop _02074330: .word 0x00000B25 _02074334: .word 0x000005A4 _02074338: .word 0x0000070C _0207433C: .word 0x00000B22 thumb_func_start FUN_02074340 FUN_02074340: ; 0x02074340 push {r4, lr} add r4, r0, #0x0 mov r0, #0x89 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200D0E0 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 bl FUN_020731C0 ldr r0, _02074368 ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_0200C664 mov r0, #0x1 pop {r4, pc} .balign 4 _02074368: .word 0x000005C8 thumb_func_start FUN_0207436C FUN_0207436C: ; 0x0207436C push {r4, lr} add r4, r0, #0x0 ldr r0, _020743A4 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _0207439E mov r0, #0x89 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200D0E0 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 bl FUN_020731C0 ldr r0, _020743A8 ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_0200C664 mov r0, #0x1 pop {r4, pc} _0207439E: mov r0, #0x10 pop {r4, pc} nop _020743A4: .word 0x021C48B8 _020743A8: .word 0x000005C8 thumb_func_start FUN_020743AC FUN_020743AC: ; 0x020743AC push {r3-r5, lr} add r4, r1, #0x0 ldr r1, _0207440C ; =0x00000B25 add r5, r0, #0x0 ldrb r2, [r5, r1] mov r1, #0x2c mul r1, r2 add r2, r5, r1 ldr r1, _02074410 ; =0x00000712 ldrh r2, [r2, r1] cmp r2, #0x0 bne _020743E6 sub r1, #0x16 ldr r0, [r5, r1] mov r1, #0x0 bl FUN_02001C5C ldr r0, _02074414 ; =0x000006F8 ldr r0, [r5, r0] bl FUN_02012870 ldr r0, _02074418 ; =0x000005A4 mov r1, #0x0 ldr r0, [r5, r0] add r0, #0x23 strb r1, [r0, #0x0] mov r0, #0x1b str r0, [r4, #0x0] pop {r3-r5, pc} _020743E6: bl FUN_02073DB4 add r0, r5, #0x0 mov r1, #0xc3 mov r2, #0x1 bl FUN_020731E8 ldr r0, _0207441C ; =FUN_02074428 ldr r1, _02074420 ; =0x00000B18 ldr r2, _02074424 ; =FUN_02074454 str r0, [r5, r1] add r0, r1, #0x4 str r2, [r5, r0] mov r0, #0x16 add r1, #0xa strb r0, [r5, r1] mov r0, #0x14 str r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 _0207440C: .word 0x00000B25 _02074410: .word 0x00000712 _02074414: .word 0x000006F8 _02074418: .word 0x000005A4 _0207441C: .word FUN_02074428 _02074420: .word 0x00000B18 _02074424: .word FUN_02074454 thumb_func_start FUN_02074428 FUN_02074428: ; 0x02074428 push {r4, lr} add r4, r0, #0x0 ldr r0, _0207444C ; =0x000005A4 ldr r1, _02074450 ; =0x00000B25 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 bl FUN_0206AA84 ldr r0, _0207444C ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] add r0, #0x23 strb r1, [r0, #0x0] mov r0, #0x1b pop {r4, pc} .balign 4 _0207444C: .word 0x000005A4 _02074450: .word 0x00000B25 thumb_func_start FUN_02074454 FUN_02074454: ; 0x02074454 push {r4, lr} add r4, r0, #0x0 mov r0, #0x89 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200D0E0 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 bl FUN_020731C0 ldr r0, _0207447C ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_0200C664 mov r0, #0x1 pop {r4, pc} .balign 4 _0207447C: .word 0x000005C8 thumb_func_start FUN_02074480 FUN_02074480: ; 0x02074480 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02074528 ; =0x00000B23 add r4, r1, #0x0 ldrb r2, [r5, r0] mov r1, #0x40 orr r1, r2 strb r1, [r5, r0] ldrb r1, [r5, r0] mov r2, #0x3f bic r1, r2 add r2, r0, #0x2 ldrb r3, [r5, r2] mov r2, #0x3f and r2, r3 orr r1, r2 strb r1, [r5, r0] ldr r0, _0207452C ; =0x000005C8 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_0200C664 ldr r0, _0207452C ; =0x000005C8 add r1, sp, #0x0 ldr r0, [r5, r0] add r1, #0x2 add r2, sp, #0x0 bl FUN_0200C75C ldr r0, _02074530 ; =0x000005CC add r3, sp, #0x0 mov r1, #0x2 mov r2, #0x0 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] ldr r0, [r5, r0] bl FUN_0200C6E4 ldr r0, _02074534 ; =0x000005A4 ldr r1, _02074528 ; =0x00000B23 ldr r0, [r5, r0] ldrb r1, [r5, r1] add r0, #0x21 ldrb r0, [r0, #0x0] lsl r1, r1, #0x1a lsr r1, r1, #0x1a bl FUN_020714BC add r1, r0, #0x0 ldr r0, _02074530 ; =0x000005CC add r1, r1, #0x2 ldr r0, [r5, r0] bl FUN_02020130 ldr r0, _02074530 ; =0x000005CC mov r1, #0x1 ldr r0, [r5, r0] bl FUN_020200A0 ldr r1, _02074528 ; =0x00000B23 add r0, r5, #0x0 ldrb r1, [r5, r1] lsl r1, r1, #0x1a lsr r1, r1, #0x1a bl FUN_020709FC mov r0, #0x85 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 bl FUN_0200D0E0 add r0, r5, #0x0 bl FUN_02073DB4 add r0, r5, #0x0 mov r1, #0x1e mov r2, #0x1 bl FUN_020731C0 mov r0, #0x18 str r0, [r4, #0x0] pop {r3-r5, pc} nop _02074528: .word 0x00000B23 _0207452C: .word 0x000005C8 _02074530: .word 0x000005CC _02074534: .word 0x000005A4 thumb_func_start FUN_02074538 FUN_02074538: ; 0x02074538 push {r4, lr} ldr r1, _02074578 ; =0x00000B23 add r4, r0, #0x0 ldrb r2, [r4, r1] mov r0, #0x40 bic r2, r0 strb r2, [r4, r1] ldr r0, _0207457C ; =0x000005CC mov r1, #0x0 ldr r0, [r4, r0] bl FUN_020200A0 ldr r0, _02074580 ; =0x00000B25 ldrb r1, [r4, r0] cmp r1, #0x6 bhs _0207455E add r0, r4, #0x0 bl FUN_020709FC _0207455E: ldr r1, _02074578 ; =0x00000B23 add r0, r4, #0x0 ldrb r1, [r4, r1] lsl r1, r1, #0x1a lsr r1, r1, #0x1a bl FUN_020709FC add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 bl FUN_020731C0 pop {r4, pc} .balign 4 _02074578: .word 0x00000B23 _0207457C: .word 0x000005CC _02074580: .word 0x00000B25 thumb_func_start FUN_02074584 FUN_02074584: ; 0x02074584 push {r3-r7, lr} sub sp, #0x28 ldr r2, _020746AC ; =0x00000B25 add r6, r0, #0x0 ldrb r1, [r6, r2] add r0, r2, #0x0 sub r0, #0x19 strb r1, [r6, r0] sub r0, r2, #0x2 ldrb r0, [r6, r0] add r3, r2, #0x0 sub r3, #0x13 lsl r0, r0, #0x1a lsr r1, r0, #0x1a add r0, r2, #0x0 sub r0, #0x18 strb r1, [r6, r0] add r0, r2, #0x0 mov r1, #0x1 sub r0, #0x15 strb r1, [r6, r0] mov r0, #0x0 strb r0, [r6, r3] add r3, r2, #0x0 sub r3, #0x14 strb r0, [r6, r3] add r3, r2, #0x0 sub r3, #0x19 ldrb r3, [r6, r3] tst r3, r1 beq _020745C8 sub r2, #0x17 strb r1, [r6, r2] b _020745CC _020745C8: sub r2, #0x17 strb r0, [r6, r2] _020745CC: ldr r0, _020746B0 ; =0x00000B0D mov r1, #0x1 ldrb r2, [r6, r0] tst r2, r1 beq _020745D8 b _020745DA _020745D8: mov r1, #0x0 _020745DA: add r0, r0, #0x2 strb r1, [r6, r0] ldr r0, [r6, #0x0] mov r1, #0x2 bl FUN_0201886C str r0, [sp, #0x14] ldr r0, [r6, #0x0] mov r1, #0x1 bl FUN_0201886C ldr r1, _020746B4 ; =0x00000B0C str r0, [sp, #0x10] ldrb r3, [r6, r1] add r1, r1, #0x1 mov r2, #0x2c add r0, r3, #0x0 ldrb r3, [r6, r1] mul r0, r2 mov r4, #0x0 add r1, r3, #0x0 add r3, r6, r0 ldr r0, _020746B8 ; =0x00000715 mul r1, r2 ldrsb r2, [r3, r0] str r2, [sp, #0xc] sub r2, r0, #0x1 ldrsb r2, [r3, r2] str r2, [sp, #0x8] add r2, r6, r1 ldrsb r1, [r2, r0] sub r0, r0, #0x1 ldrsb r0, [r2, r0] str r1, [sp, #0x4] str r0, [sp, #0x0] ldr r0, _020746BC ; =0x0000080C add r0, r6, r0 str r0, [sp, #0x18] ldr r0, _020746C0 ; =0x0000098C add r0, r6, r0 str r0, [sp, #0x1c] ldr r0, _020746C4 ; =0x000008CC add r0, r6, r0 str r0, [sp, #0x20] ldr r0, _020746C8 ; =0x00000A4C add r0, r6, r0 str r0, [sp, #0x24] _02074638: ldr r0, [sp, #0xc] lsl r5, r4, #0x5 add r0, r0, r4 lsl r1, r0, #0x5 ldr r0, [sp, #0x8] mov r2, #0x20 add r0, r0, r1 lsl r7, r0, #0x1 ldr r0, [sp, #0x18] ldr r1, [sp, #0x14] add r0, r0, r5 add r1, r1, r7 blx memcpy ldr r0, [sp, #0x1c] ldr r1, [sp, #0x10] add r0, r0, r5 add r1, r1, r7 mov r2, #0x20 blx memcpy ldr r0, [sp, #0x4] mov r2, #0x20 add r0, r0, r4 lsl r1, r0, #0x5 ldr r0, [sp, #0x0] add r0, r0, r1 lsl r7, r0, #0x1 ldr r0, [sp, #0x20] ldr r1, [sp, #0x14] add r0, r0, r5 add r1, r1, r7 blx memcpy ldr r0, [sp, #0x24] ldr r1, [sp, #0x10] add r0, r0, r5 add r1, r1, r7 mov r2, #0x20 blx memcpy add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x6 blo _02074638 ldr r0, _020746CC ; =0x000005C8 mov r1, #0x0 ldr r0, [r6, r0] bl FUN_020200A0 ldr r0, _020746D0 ; =0x000005CC mov r1, #0x0 ldr r0, [r6, r0] bl FUN_020200A0 add sp, #0x28 pop {r3-r7, pc} .balign 4 _020746AC: .word 0x00000B25 _020746B0: .word 0x00000B0D _020746B4: .word 0x00000B0C _020746B8: .word 0x00000715 _020746BC: .word 0x0000080C _020746C0: .word 0x0000098C _020746C4: .word 0x000008CC _020746C8: .word 0x00000A4C _020746CC: .word 0x000005C8 _020746D0: .word 0x000005CC thumb_func_start FUN_020746D4 FUN_020746D4: ; 0x020746D4 push {r3-r5, lr} ldr r1, _02074828 ; =0x0000080C add r5, r0, #0x0 ldr r2, _0207482C ; =0x00000305 add r4, r5, r1 ldrb r1, [r4, r2] cmp r1, #0x4 bls _020746E6 b _02074822 _020746E6: add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _020746F2: ; jump table (using 16-bit offset) .short _020746FC - _020746F2 - 2; case 0 .short _0207470C - _020746F2 - 2; case 1 .short _0207475C - _020746F2 - 2; case 2 .short _02074770 - _020746F2 - 2; case 3 .short _020747CE - _020746F2 - 2; case 4 _020746FC: mov r0, #0x6a lsl r0, r0, #0x4 bl FUN_020054C8 ldr r0, _0207482C ; =0x00000305 mov r1, #0x1 strb r1, [r4, r0] b _02074822 _0207470C: add r1, r2, #0x1 ldrb r1, [r4, r1] add r3, r1, #0x1 add r1, r2, #0x1 strb r3, [r4, r1] mov r1, #0x0 bl FUN_02074848 add r0, r5, #0x0 mov r1, #0x1 bl FUN_02074848 ldr r2, _02074830 ; =0x00000302 add r0, r5, #0x0 ldrb r2, [r4, r2] mov r1, #0x0 bl FUN_0207499C ldr r2, _02074834 ; =0x00000303 add r0, r5, #0x0 ldrb r2, [r4, r2] mov r1, #0x1 bl FUN_0207499C ldr r0, [r5, #0x0] mov r1, #0x2 bl FUN_0201AC68 ldr r0, [r5, #0x0] mov r1, #0x1 bl FUN_0201AC68 ldr r0, _02074838 ; =0x00000306 ldrb r1, [r4, r0] cmp r1, #0x10 bne _02074822 mov r1, #0x2 sub r0, r0, #0x1 strb r1, [r4, r0] b _02074822 _0207475C: bl FUN_02074AF4 mov r0, #0x6a lsl r0, r0, #0x4 bl FUN_020054C8 ldr r0, _0207482C ; =0x00000305 mov r1, #0x3 strb r1, [r4, r0] b _02074822 _02074770: add r1, r2, #0x1 ldrb r1, [r4, r1] sub r3, r1, #0x1 add r1, r2, #0x1 strb r3, [r4, r1] mov r1, #0x0 bl FUN_02074848 add r0, r5, #0x0 mov r1, #0x1 bl FUN_02074848 ldr r2, _02074830 ; =0x00000302 add r0, r5, #0x0 ldrb r3, [r4, r2] mov r2, #0x1 mov r1, #0x0 eor r2, r3 lsl r2, r2, #0x18 lsr r2, r2, #0x18 bl FUN_0207499C ldr r2, _02074834 ; =0x00000303 mov r1, #0x1 ldrb r2, [r4, r2] add r0, r5, #0x0 eor r2, r1 lsl r2, r2, #0x18 lsr r2, r2, #0x18 bl FUN_0207499C ldr r0, [r5, #0x0] mov r1, #0x2 bl FUN_0201AC68 ldr r0, [r5, #0x0] mov r1, #0x1 bl FUN_0201AC68 ldr r0, _02074838 ; =0x00000306 ldrb r1, [r4, r0] cmp r1, #0x0 bne _02074822 mov r1, #0x4 sub r0, r0, #0x1 strb r1, [r4, r0] b _02074822 _020747CE: ldr r0, _0207483C ; =0x000005A4 sub r1, r2, #0x5 ldr r0, [r5, r0] sub r2, r2, #0x4 ldrb r1, [r4, r1] ldrb r2, [r4, r2] ldr r0, [r0, #0x0] bl FUN_0206BA38 ldr r0, _02074840 ; =0x000005C8 mov r1, #0x1 ldr r0, [r5, r0] bl FUN_020200A0 mov r0, #0xc1 mov r1, #0x0 lsl r0, r0, #0x2 strb r1, [r4, r0] ldr r1, _02074844 ; =0x00000B23 mov r0, #0x40 ldrb r2, [r5, r1] bic r2, r0 strb r2, [r5, r1] add r1, r1, #0x2 ldrb r1, [r5, r1] add r0, r5, #0x0 bl FUN_020709FC ldr r1, _02074844 ; =0x00000B23 add r0, r5, #0x0 ldrb r1, [r5, r1] lsl r1, r1, #0x1a lsr r1, r1, #0x1a bl FUN_020709FC add r0, r5, #0x0 mov r1, #0x1d mov r2, #0x0 bl FUN_020731C0 mov r0, #0x1 pop {r3-r5, pc} _02074822: mov r0, #0x0 pop {r3-r5, pc} nop _02074828: .word 0x0000080C _0207482C: .word 0x00000305 _02074830: .word 0x00000302 _02074834: .word 0x00000303 _02074838: .word 0x00000306 _0207483C: .word 0x000005A4 _02074840: .word 0x000005C8 _02074844: .word 0x00000B23 thumb_func_start FUN_02074848 FUN_02074848: ; 0x02074848 push {r3-r7, lr} sub sp, #0x28 add r5, r0, #0x0 ldr r0, _02074990 ; =0x0000080C str r1, [sp, #0x1c] ldr r1, [sp, #0x1c] add r4, r5, r0 add r2, r4, r1 mov r1, #0x3 lsl r1, r1, #0x8 ldrb r2, [r2, r1] mov r1, #0x2c mul r1, r2 add r2, r5, r1 add r1, r0, #0x0 sub r1, #0xf8 ldrsb r7, [r2, r1] sub r0, #0xf7 ldrb r6, [r2, r0] lsl r0, r7, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x20] str r6, [sp, #0x0] mov r1, #0x10 str r1, [sp, #0x4] mov r0, #0x6 str r0, [sp, #0x8] str r1, [sp, #0xc] ldr r0, [r5, #0x0] ldr r3, [sp, #0x20] mov r1, #0x2 mov r2, #0x0 bl FUN_02018540 str r6, [sp, #0x0] mov r1, #0x10 str r1, [sp, #0x4] mov r0, #0x6 str r0, [sp, #0x8] str r1, [sp, #0xc] ldr r0, [r5, #0x0] ldr r3, [sp, #0x20] mov r1, #0x1 mov r2, #0x0 bl FUN_02018540 ldr r0, [sp, #0x1c] add r1, r4, r0 ldr r0, _02074994 ; =0x00000302 ldrb r1, [r1, r0] cmp r1, #0x0 bne _02074918 add r0, r0, #0x4 ldrb r2, [r4, r0] ldr r0, [sp, #0x1c] mov r3, #0x10 add r7, r0, #0x0 sub r0, r3, r2 lsl r0, r0, #0x18 mov r1, #0xc0 lsr r0, r0, #0x18 mul r7, r1 str r0, [sp, #0x0] mov r1, #0x6 str r1, [sp, #0x4] add r0, r4, r7 str r0, [sp, #0x8] str r2, [sp, #0xc] mov r0, #0x0 str r0, [sp, #0x10] str r3, [sp, #0x14] str r1, [sp, #0x18] ldr r0, [r5, #0x0] ldr r2, [sp, #0x20] mov r1, #0x2 add r3, r6, #0x0 bl FUN_02018170 ldr r0, _02074998 ; =0x00000306 mov r3, #0x10 ldrb r2, [r4, r0] mov r1, #0x6 sub r0, r3, r2 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] lsl r0, r1, #0x6 add r0, r4, r0 str r1, [sp, #0x4] add r0, r0, r7 str r0, [sp, #0x8] str r2, [sp, #0xc] mov r0, #0x0 str r0, [sp, #0x10] str r3, [sp, #0x14] str r1, [sp, #0x18] ldr r0, [r5, #0x0] ldr r2, [sp, #0x20] mov r1, #0x1 add r3, r6, #0x0 bl FUN_02018170 add sp, #0x28 pop {r3-r7, pc} _02074918: ldr r1, [sp, #0x1c] mov r2, #0xc0 mul r2, r1 str r2, [sp, #0x24] add r0, r0, #0x4 ldrb r2, [r4, r0] mov r3, #0x10 ldr r1, [sp, #0x24] sub r0, r3, r2 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] mov r0, #0x6 str r0, [sp, #0x4] add r1, r4, r1 str r1, [sp, #0x8] mov r1, #0x0 str r1, [sp, #0xc] str r1, [sp, #0x10] str r3, [sp, #0x14] add r2, r7, r2 str r0, [sp, #0x18] lsl r2, r2, #0x18 ldr r0, [r5, #0x0] mov r1, #0x2 lsr r2, r2, #0x18 add r3, r6, #0x0 bl FUN_02018170 ldr r0, _02074998 ; =0x00000306 ldrb r2, [r4, r0] mov r0, #0x10 sub r0, r0, r2 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] mov r0, #0x6 lsl r1, r0, #0x6 add r3, r4, r1 ldr r1, [sp, #0x24] add r2, r7, r2 add r1, r3, r1 str r0, [sp, #0x4] str r1, [sp, #0x8] mov r1, #0x0 str r1, [sp, #0xc] str r1, [sp, #0x10] mov r1, #0x10 str r1, [sp, #0x14] str r0, [sp, #0x18] lsl r2, r2, #0x18 ldr r0, [r5, #0x0] mov r1, #0x1 lsr r2, r2, #0x18 add r3, r6, #0x0 bl FUN_02018170 add sp, #0x28 pop {r3-r7, pc} nop _02074990: .word 0x0000080C _02074994: .word 0x00000302 _02074998: .word 0x00000306 thumb_func_start FUN_0207499C FUN_0207499C: ; 0x0207499C push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _02074AE0 ; =0x0000080C add r4, r1, #0x0 add r1, r5, r0 mov r0, #0x3 lsl r0, r0, #0x8 add r6, r1, r0 ldrb r0, [r6, r4] add r7, r2, #0x0 add r2, sp, #0x0 lsl r0, r0, #0x2 add r1, r5, r0 mov r0, #0x5b lsl r0, r0, #0x4 ldr r0, [r1, r0] add r1, sp, #0x0 add r1, #0x2 bl FUN_0200C75C cmp r7, #0x0 ldr r0, _02074AE4 ; =0x00000716 bne _02074A04 ldrb r3, [r6, r4] mov r7, #0x2c add r2, r5, r0 add r1, r3, #0x0 mul r1, r7 ldrsh r3, [r2, r1] sub r3, #0x8 strh r3, [r2, r1] ldrb r3, [r6, r4] add r1, r0, #0x4 add r2, r5, r1 add r1, r3, #0x0 mul r1, r7 ldrsh r3, [r2, r1] add r0, #0x8 add r0, r5, r0 sub r3, #0x8 strh r3, [r2, r1] ldrb r1, [r6, r4] add r2, r1, #0x0 mul r2, r7 ldrsh r1, [r0, r2] sub r1, #0x8 strh r1, [r0, r2] add r1, sp, #0x0 mov r0, #0x2 ldrsh r0, [r1, r0] sub r0, #0x8 b _02074A3C _02074A04: ldrb r3, [r6, r4] mov r7, #0x2c add r2, r5, r0 add r1, r3, #0x0 mul r1, r7 ldrsh r3, [r2, r1] add r3, #0x8 strh r3, [r2, r1] ldrb r3, [r6, r4] add r1, r0, #0x4 add r2, r5, r1 add r1, r3, #0x0 mul r1, r7 ldrsh r3, [r2, r1] add r0, #0x8 add r0, r5, r0 add r3, #0x8 strh r3, [r2, r1] ldrb r1, [r6, r4] add r2, r1, #0x0 mul r2, r7 ldrsh r1, [r0, r2] add r1, #0x8 strh r1, [r0, r2] add r1, sp, #0x0 mov r0, #0x2 ldrsh r0, [r1, r0] add r0, #0x8 _02074A3C: strh r0, [r1, #0x2] ldrb r1, [r6, r4] mov r0, #0x2c ldr r2, _02074AE8 ; =0x00000724 mul r0, r1 add r3, r5, r0 add r1, r2, #0x0 ldr r0, [r3, r2] sub r1, #0xe sub r2, #0xc ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] bl FUN_0200C6E4 ldrb r2, [r6, r4] mov r0, #0x2c ldr r3, _02074AEC ; =0x0000071A add r1, r2, #0x0 add r2, #0xa mul r1, r0 lsl r0, r2, #0x2 add r2, r5, r0 mov r0, #0x5b lsl r0, r0, #0x4 ldr r0, [r2, r0] add r2, r5, r1 ldrsh r1, [r2, r3] add r3, r3, #0x2 ldrsh r2, [r2, r3] bl FUN_0200C6E4 ldrb r2, [r6, r4] mov r0, #0x2c ldr r3, _02074AF0 ; =0x0000071E add r1, r2, #0x0 add r2, #0x10 mul r1, r0 lsl r0, r2, #0x2 add r2, r5, r0 mov r0, #0x5b lsl r0, r0, #0x4 ldr r0, [r2, r0] add r2, r5, r1 ldrsh r1, [r2, r3] add r3, r3, #0x2 ldrsh r2, [r2, r3] bl FUN_0200C6E4 ldrb r2, [r6, r4] mov r0, #0x2c ldr r3, _02074AF0 ; =0x0000071E add r1, r2, #0x0 add r2, #0x16 mul r1, r0 lsl r0, r2, #0x2 add r2, r5, r0 mov r0, #0x5b lsl r0, r0, #0x4 ldr r0, [r2, r0] add r2, r5, r1 ldrsh r1, [r2, r3] add r3, r3, #0x2 ldrsh r2, [r2, r3] add r1, #0x8 lsl r1, r1, #0x10 asr r1, r1, #0x10 bl FUN_0200C6E4 ldrb r0, [r6, r4] add r3, sp, #0x0 mov r2, #0x0 lsl r0, r0, #0x2 add r1, r5, r0 mov r0, #0x5b lsl r0, r0, #0x4 ldr r0, [r1, r0] mov r1, #0x2 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] bl FUN_0200C6E4 pop {r3-r7, pc} .balign 4 _02074AE0: .word 0x0000080C _02074AE4: .word 0x00000716 _02074AE8: .word 0x00000724 _02074AEC: .word 0x0000071A _02074AF0: .word 0x0000071E thumb_func_start FUN_02074AF4 FUN_02074AF4: ; 0x02074AF4 push {r4-r7, lr} sub sp, #0x1c add r5, r0, #0x0 ldr r0, _02074DD0 ; =0x0000080C mov r1, #0x2c add r4, r5, r0 mov r0, #0xc bl FUN_02016998 add r7, r0, #0x0 mov r0, #0x3 lsl r0, r0, #0x8 ldrb r1, [r4, r0] mov r0, #0x2c add r3, r7, #0x0 mul r0, r1 add r1, r5, r0 mov r0, #0x7 lsl r0, r0, #0x8 add r6, r1, r0 mov r2, #0x5 _02074B1E: ldmia r6!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _02074B1E ldr r0, [r6, #0x0] mov r1, #0x3 lsl r1, r1, #0x8 str r0, [r3, #0x0] ldrb r0, [r4, r1] add r1, r1, #0x1 ldrb r1, [r4, r1] mov r2, #0x2c add r3, r0, #0x0 mul r3, r2 mul r2, r1 mov r1, #0x7 add r0, r5, r3 lsl r1, r1, #0x8 add r2, r5, r2 add r6, r2, r1 add r3, r0, r1 mov r2, #0x5 _02074B4A: ldmia r6!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _02074B4A ldr r0, [r6, #0x0] add r6, r7, #0x0 str r0, [r3, #0x0] ldr r0, _02074DD4 ; =0x00000301 mov r2, #0x5 ldrb r1, [r4, r0] mov r0, #0x2c mul r0, r1 add r1, r5, r0 mov r0, #0x7 lsl r0, r0, #0x8 add r3, r1, r0 _02074B6A: ldmia r6!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _02074B6A ldr r0, [r6, #0x0] add r1, r7, #0x0 str r0, [r3, #0x0] mov r0, #0xc bl FUN_02016A8C mov r1, #0x3 lsl r1, r1, #0x8 ldrb r3, [r4, r1] ldr r0, _02074DD8 ; =0x00000716 add r2, r5, r0 mov r0, #0x2c add r7, r3, #0x0 mul r7, r0 ldrsh r3, [r2, r7] str r3, [sp, #0x0] add r3, r1, #0x1 ldrb r3, [r4, r3] add r6, r3, #0x0 mul r6, r0 ldr r3, _02074DD8 ; =0x00000716 add r6, r5, r6 ldrsh r3, [r6, r3] strh r3, [r2, r7] add r2, r1, #0x1 ldrb r2, [r4, r2] add r3, r2, #0x0 mul r3, r0 add r6, r5, r3 ldr r3, [sp, #0x0] ldr r2, _02074DD8 ; =0x00000716 strh r3, [r6, r2] add r2, r2, #0x2 add r3, r5, r2 ldrb r2, [r4, r1] add r7, r2, #0x0 mul r7, r0 ldrsh r2, [r3, r7] str r2, [sp, #0x4] add r2, r1, #0x1 ldrb r2, [r4, r2] add r6, r2, #0x0 mul r6, r0 add r2, r5, r6 ldr r6, _02074DD8 ; =0x00000716 add r6, r6, #0x2 ldrsh r2, [r2, r6] strh r2, [r3, r7] add r2, r1, #0x1 ldrb r2, [r4, r2] add r3, r2, #0x0 mul r3, r0 add r2, r5, r3 ldr r3, _02074DD8 ; =0x00000716 add r6, r3, #0x2 ldr r3, [sp, #0x4] strh r3, [r2, r6] ldr r2, _02074DD8 ; =0x00000716 add r2, r2, #0x4 add r3, r5, r2 ldrb r2, [r4, r1] add r7, r2, #0x0 mul r7, r0 ldrsh r2, [r3, r7] str r2, [sp, #0x8] add r2, r1, #0x1 ldrb r2, [r4, r2] add r6, r2, #0x0 mul r6, r0 add r2, r5, r6 ldr r6, _02074DD8 ; =0x00000716 add r6, r6, #0x4 ldrsh r2, [r2, r6] strh r2, [r3, r7] add r2, r1, #0x1 ldrb r2, [r4, r2] add r3, r2, #0x0 mul r3, r0 add r2, r5, r3 ldr r3, _02074DD8 ; =0x00000716 add r6, r3, #0x4 ldr r3, [sp, #0x8] strh r3, [r2, r6] ldr r2, _02074DD8 ; =0x00000716 add r2, r2, #0x6 add r3, r5, r2 ldrb r2, [r4, r1] add r7, r2, #0x0 mul r7, r0 ldrsh r2, [r3, r7] str r2, [sp, #0xc] add r2, r1, #0x1 ldrb r2, [r4, r2] add r6, r2, #0x0 mul r6, r0 add r2, r5, r6 ldr r6, _02074DD8 ; =0x00000716 add r6, r6, #0x6 ldrsh r2, [r2, r6] strh r2, [r3, r7] add r2, r1, #0x1 ldrb r2, [r4, r2] add r3, r2, #0x0 mul r3, r0 add r2, r5, r3 ldr r3, _02074DD8 ; =0x00000716 add r6, r3, #0x6 ldr r3, [sp, #0xc] strh r3, [r2, r6] ldr r2, _02074DD8 ; =0x00000716 add r2, #0x8 add r6, r5, r2 ldrb r2, [r4, r1] add r7, r2, #0x0 mul r7, r0 ldrsh r2, [r6, r7] str r2, [sp, #0x10] add r2, r1, #0x1 ldrb r2, [r4, r2] add r3, r2, #0x0 mul r3, r0 add r2, r5, r3 ldr r3, _02074DD8 ; =0x00000716 add r3, #0x8 ldrsh r2, [r2, r3] strh r2, [r6, r7] add r2, r1, #0x1 ldrb r2, [r4, r2] add r3, r2, #0x0 mul r3, r0 add r6, r5, r3 ldr r3, _02074DD8 ; =0x00000716 ldr r2, [sp, #0x10] add r3, #0x8 strh r2, [r6, r3] ldr r2, _02074DD8 ; =0x00000716 add r2, #0xa add r6, r5, r2 ldrb r2, [r4, r1] add r7, r2, #0x0 mul r7, r0 ldrsh r2, [r6, r7] str r2, [sp, #0x14] add r2, r1, #0x1 ldrb r2, [r4, r2] add r3, r2, #0x0 mul r3, r0 add r2, r5, r3 ldr r3, _02074DD8 ; =0x00000716 add r3, #0xa ldrsh r2, [r2, r3] strh r2, [r6, r7] add r2, r1, #0x1 ldrb r2, [r4, r2] add r3, r2, #0x0 mul r3, r0 add r6, r5, r3 ldr r3, _02074DD8 ; =0x00000716 ldr r2, [sp, #0x14] add r3, #0xa strh r2, [r6, r3] ldr r2, _02074DD8 ; =0x00000716 sub r2, r2, #0x2 add r3, r5, r2 ldrb r2, [r4, r1] add r7, r2, #0x0 mul r7, r0 ldrsb r2, [r3, r7] str r2, [sp, #0x18] add r2, r1, #0x1 ldrb r2, [r4, r2] add r6, r2, #0x0 mul r6, r0 add r2, r5, r6 ldr r6, _02074DD8 ; =0x00000716 sub r6, r6, #0x2 ldrsb r2, [r2, r6] strb r2, [r3, r7] add r2, r1, #0x1 ldrb r2, [r4, r2] add r3, r2, #0x0 mul r3, r0 add r2, r5, r3 ldr r3, _02074DD8 ; =0x00000716 sub r6, r3, #0x2 ldr r3, [sp, #0x18] strb r3, [r2, r6] ldr r2, _02074DD8 ; =0x00000716 sub r2, r2, #0x1 add r6, r5, r2 ldrb r2, [r4, r1] add r7, r2, #0x0 mul r7, r0 ldrsb r2, [r6, r7] mov r12, r2 add r2, r1, #0x1 ldrb r2, [r4, r2] add r3, r2, #0x0 ldr r2, _02074DD8 ; =0x00000716 mul r3, r0 add r3, r5, r3 sub r2, r2, #0x1 ldrsb r2, [r3, r2] strb r2, [r6, r7] add r2, r1, #0x1 ldrb r2, [r4, r2] mul r0, r2 ldr r2, _02074DD8 ; =0x00000716 add r0, r5, r0 sub r3, r2, #0x1 mov r2, r12 strb r2, [r0, r3] ldrb r1, [r4, r1] add r0, r5, #0x0 bl FUN_02072D1C ldr r1, _02074DD4 ; =0x00000301 add r0, r5, #0x0 ldrb r1, [r4, r1] bl FUN_02072D1C mov r1, #0x3 lsl r1, r1, #0x8 ldrb r1, [r4, r1] add r0, r5, #0x0 bl FUN_02072E14 ldr r1, _02074DD4 ; =0x00000301 add r0, r5, #0x0 ldrb r1, [r4, r1] bl FUN_02072E14 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02074DE4 add r0, r5, #0x0 mov r1, #0x1 bl FUN_02074DE4 mov r0, #0x3 lsl r0, r0, #0x8 ldrb r1, [r4, r0] mov r2, #0x2c add r0, r5, #0x0 mul r2, r1 add r3, r5, r2 ldr r2, _02074DDC ; =0x0000070E ldrh r2, [r3, r2] lsl r2, r2, #0x14 lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 bl FUN_02073A4C ldr r0, _02074DD4 ; =0x00000301 mov r2, #0x2c ldrb r1, [r4, r0] add r0, r5, #0x0 mul r2, r1 add r3, r5, r2 ldr r2, _02074DDC ; =0x0000070E ldrh r2, [r3, r2] lsl r2, r2, #0x14 lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 bl FUN_02073A4C mov r0, #0x3 lsl r0, r0, #0x8 ldrb r1, [r4, r0] mov r2, #0x2c add r0, r5, #0x0 mul r2, r1 add r3, r5, r2 ldr r2, _02074DE0 ; =0x0000070C ldrh r2, [r3, r2] bl FUN_02073A78 ldr r0, _02074DD4 ; =0x00000301 mov r2, #0x2c ldrb r1, [r4, r0] add r0, r5, #0x0 mul r2, r1 add r3, r5, r2 ldr r2, _02074DE0 ; =0x0000070C ldrh r2, [r3, r2] bl FUN_02073A78 mov r1, #0x3 lsl r1, r1, #0x8 ldrb r1, [r4, r1] add r0, r5, #0x0 bl FUN_02073B3C ldr r1, _02074DD4 ; =0x00000301 add r0, r5, #0x0 ldrb r1, [r4, r1] bl FUN_02073B3C add sp, #0x1c pop {r4-r7, pc} .balign 4 _02074DD0: .word 0x0000080C _02074DD4: .word 0x00000301 _02074DD8: .word 0x00000716 _02074DDC: .word 0x0000070E _02074DE0: .word 0x0000070C thumb_func_start FUN_02074DE4 FUN_02074DE4: ; 0x02074DE4 push {r3-r7, lr} add r7, r1, #0x0 ldr r1, _02074E6C ; =0x0000080C add r6, r0, #0x0 add r4, r6, r1 mov r1, #0xc0 mul r1, r7 add r5, r4, r1 bl FUN_020703BC add r3, r0, #0x0 mov r0, #0x3 add r1, r4, r7 lsl r0, r0, #0x8 ldrb r1, [r1, r0] mov r0, #0x2c mul r0, r1 add r1, r6, r0 mov r0, #0x71 lsl r0, r0, #0x4 ldrb r0, [r1, r0] cmp r0, #0x1 bne _02074E3C mov r3, #0xf mov r1, #0x0 lsl r3, r3, #0xc mov r4, #0x17 _02074E1A: lsl r0, r1, #0x1 add r2, r5, r0 add r2, #0x6c ldrh r2, [r2, #0x0] add r0, r5, r0 add r0, #0x6c and r2, r3 lsl r2, r2, #0x10 lsr r2, r2, #0x10 orr r2, r4 strh r2, [r0, #0x0] add r0, r1, #0x1 lsl r0, r0, #0x10 lsr r1, r0, #0x10 cmp r1, #0x9 blo _02074E1A pop {r3-r7, pc} _02074E3C: mov r6, #0xf ldr r0, _02074E70 ; =0x00000FFF mov r4, #0x0 lsl r6, r6, #0xc _02074E44: lsl r2, r4, #0x1 add r1, r5, r2 add r1, #0x6c ldrh r1, [r1, #0x0] ldrh r7, [r3, r2] and r1, r6 lsl r1, r1, #0x10 lsr r1, r1, #0x10 and r7, r0 orr r7, r1 add r1, r5, r2 add r1, #0x6c strh r7, [r1, #0x0] add r1, r4, #0x1 lsl r1, r1, #0x10 lsr r4, r1, #0x10 cmp r4, #0x9 blo _02074E44 pop {r3-r7, pc} nop _02074E6C: .word 0x0000080C _02074E70: .word 0x00000FFF thumb_func_start FUN_02074E74 FUN_02074E74: ; 0x02074E74 push {r4-r6, lr} add r5, r0, #0x0 mov r0, #0x85 lsl r0, r0, #0x2 add r6, r1, #0x0 add r0, r5, r0 mov r1, #0x1 bl FUN_0200D0E0 add r0, r5, #0x0 bl FUN_02073DB4 ldr r0, _02074F5C ; =0x000005A4 mov r4, #0x0 ldr r0, [r5, r0] add r1, r0, #0x0 add r1, #0x32 ldrb r1, [r1, #0x0] lsl r1, r1, #0x18 lsr r1, r1, #0x1c beq _02074EFA _02074E9E: add r2, r0, r4 add r2, #0x2c ldrb r2, [r2, #0x0] cmp r2, #0x0 bne _02074EF0 ldr r1, _02074F60 ; =0x00000B25 add r0, r0, r4 ldrb r2, [r5, r1] add r0, #0x2c add r2, r2, #0x1 strb r2, [r0, #0x0] ldrb r1, [r5, r1] add r0, r5, #0x0 bl FUN_02073024 add r0, r5, #0x0 mov r1, #0x22 mov r2, #0x1 bl FUN_020731C0 ldr r0, _02074F64 ; =0x000005C8 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_0200C664 ldr r0, _02074F5C ; =0x000005A4 ldr r0, [r5, r0] add r0, #0x32 ldrb r0, [r0, #0x0] lsl r0, r0, #0x18 lsr r0, r0, #0x1c sub r0, r0, #0x1 cmp r4, r0 bne _02074EEA add r0, r5, #0x0 mov r1, #0x6 bl FUN_02070E60 _02074EEA: mov r0, #0x1 str r0, [r6, #0x0] pop {r4-r6, pc} _02074EF0: add r2, r4, #0x1 lsl r2, r2, #0x18 lsr r4, r2, #0x18 cmp r4, r1 blo _02074E9E _02074EFA: cmp r1, #0x5 bhi _02074F50 add r0, r1, r1 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02074F0A: ; jump table (using 16-bit offset) .short _02074F50 - _02074F0A - 2; case 0 .short _02074F16 - _02074F0A - 2; case 1 .short _02074F22 - _02074F0A - 2; case 2 .short _02074F2E - _02074F0A - 2; case 3 .short _02074F3A - _02074F0A - 2; case 4 .short _02074F46 - _02074F0A - 2; case 5 _02074F16: add r0, r5, #0x0 mov r1, #0x7b mov r2, #0x1 bl FUN_020731E8 b _02074F50 _02074F22: add r0, r5, #0x0 mov r1, #0x64 mov r2, #0x1 bl FUN_020731E8 b _02074F50 _02074F2E: add r0, r5, #0x0 mov r1, #0x7c mov r2, #0x1 bl FUN_020731E8 b _02074F50 _02074F3A: add r0, r5, #0x0 mov r1, #0x7d mov r2, #0x1 bl FUN_020731E8 b _02074F50 _02074F46: add r0, r5, #0x0 mov r1, #0x7e mov r2, #0x1 bl FUN_020731E8 _02074F50: ldr r0, _02074F68 ; =0x00000B22 mov r1, #0x13 strb r1, [r5, r0] mov r0, #0x14 str r0, [r6, #0x0] pop {r4-r6, pc} .balign 4 _02074F5C: .word 0x000005A4 _02074F60: .word 0x00000B25 _02074F64: .word 0x000005C8 _02074F68: .word 0x00000B22 thumb_func_start FUN_02074F6C FUN_02074F6C: ; 0x02074F6C push {r4, lr} add r4, r0, #0x0 ldr r0, _02074FA4 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _02074F9E mov r0, #0x89 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200D0E0 add r0, r4, #0x0 mov r1, #0x22 mov r2, #0x1 bl FUN_020731C0 ldr r0, _02074FA8 ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_0200C664 mov r0, #0x1 pop {r4, pc} _02074F9E: mov r0, #0x13 pop {r4, pc} nop _02074FA4: .word 0x021C48B8 _02074FA8: .word 0x000005C8 thumb_func_start FUN_02074FAC FUN_02074FAC: ; 0x02074FAC push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _02075080 ; =0x000005A4 str r1, [sp, #0x0] ldr r1, [r5, r0] mov r4, #0x0 add r0, r1, #0x0 add r0, #0x32 ldrb r0, [r0, #0x0] lsl r0, r0, #0x18 lsr r2, r0, #0x1c beq _0207502C ldr r0, _02075084 ; =0x00000B25 ldrb r0, [r5, r0] add r0, r0, #0x1 _02074FCA: add r3, r1, r4 add r3, #0x2c ldrb r3, [r3, #0x0] cmp r0, r3 bne _02075022 add r0, r1, r4 mov r2, #0x0 add r0, #0x2c strb r2, [r0, #0x0] ldr r0, _02075080 ; =0x000005A4 ldr r6, [r5, r0] add r0, r6, #0x0 add r0, #0x32 ldrb r0, [r0, #0x0] lsl r0, r0, #0x18 lsr r0, r0, #0x1c sub r0, r0, #0x1 cmp r4, r0 bge _0207502C ldr r0, _02075080 ; =0x000005A4 add r1, r0, #0x0 _02074FF4: add r3, r6, r4 add r3, #0x2d ldrb r3, [r3, #0x0] add r6, r6, r4 add r6, #0x2c strb r3, [r6, #0x0] ldr r3, [r5, r0] add r3, r3, r4 add r3, #0x2d strb r2, [r3, #0x0] add r3, r4, #0x1 lsl r3, r3, #0x18 ldr r6, [r5, r1] lsr r4, r3, #0x18 add r3, r6, #0x0 add r3, #0x32 ldrb r3, [r3, #0x0] lsl r3, r3, #0x18 lsr r3, r3, #0x1c sub r3, r3, #0x1 cmp r4, r3 blt _02074FF4 b _0207502C _02075022: add r3, r4, #0x1 lsl r3, r3, #0x18 lsr r4, r3, #0x18 cmp r4, r2 blo _02074FCA _0207502C: ldr r6, _02075088 ; =0x00000729 mov r4, #0x0 mov r7, #0x2c _02075032: add r0, r4, #0x0 mul r0, r7 add r0, r5, r0 ldrb r0, [r0, r6] cmp r0, #0x0 beq _02075046 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073024 _02075046: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x6 blo _02075032 mov r0, #0x85 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 bl FUN_0200D0E0 add r0, r5, #0x0 bl FUN_02073DB4 add r0, r5, #0x0 mov r1, #0x1d mov r2, #0x1 bl FUN_020731C0 ldr r0, _0207508C ; =0x000005C8 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_0200C664 ldr r0, [sp, #0x0] mov r1, #0x1 str r1, [r0, #0x0] pop {r3-r7, pc} nop _02075080: .word 0x000005A4 _02075084: .word 0x00000B25 _02075088: .word 0x00000729 _0207508C: .word 0x000005C8 thumb_func_start FUN_02075090 FUN_02075090: ; 0x02075090 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _020750B8 ; =0x000005A4 add r4, r1, #0x0 ldr r0, [r5, r0] mov r1, #0x0 add r0, #0x23 strb r1, [r0, #0x0] ldr r0, _020750BC ; =0x000006FC ldr r0, [r5, r0] bl FUN_02001C5C ldr r0, _020750C0 ; =0x000006F8 ldr r0, [r5, r0] bl FUN_02012870 mov r0, #0x1b str r0, [r4, #0x0] pop {r3-r5, pc} nop _020750B8: .word 0x000005A4 _020750BC: .word 0x000006FC _020750C0: .word 0x000006F8 thumb_func_start FUN_020750C4 FUN_020750C4: ; 0x020750C4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _020750EC ; =0x000005A4 add r4, r1, #0x0 ldr r0, [r5, r0] mov r1, #0x1 add r0, #0x23 strb r1, [r0, #0x0] ldr r0, _020750F0 ; =0x000006FC mov r1, #0x0 ldr r0, [r5, r0] bl FUN_02001C5C ldr r0, _020750F4 ; =0x000006F8 ldr r0, [r5, r0] bl FUN_02012870 mov r0, #0x1b str r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 _020750EC: .word 0x000005A4 _020750F0: .word 0x000006FC _020750F4: .word 0x000006F8 thumb_func_start FUN_020750F8 FUN_020750F8: ; 0x020750F8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02073DB4 mov r0, #0x85 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 bl FUN_0200D0E0 add r0, r5, #0x0 bl FUN_02075118 str r0, [r4, #0x0] pop {r3-r5, pc} thumb_func_start FUN_02075118 FUN_02075118: ; 0x02075118 push {r4, lr} add r4, r0, #0x0 ldr r0, _02075190 ; =0x000005A4 ldr r1, _02075194 ; =0x00000B25 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 mov r1, #0xa1 mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 ldr r2, _02075198 ; =0x0000069C bne _0207515C ldr r0, [r4, r2] add r2, #0x8 ldr r2, [r4, r2] mov r1, #0x81 bl FUN_0200A8E0 ldr r0, _02075194 ; =0x00000B25 ldrb r0, [r4, r0] add r0, #0x16 lsl r0, r0, #0x2 add r1, r4, r0 mov r0, #0x5b lsl r0, r0, #0x4 ldr r0, [r1, r0] mov r1, #0x1 bl FUN_020200A0 b _0207516E _0207515C: ldr r0, [r4, r2] add r2, #0x8 ldr r2, [r4, r2] mov r1, #0x82 bl FUN_0200A8E0 ldr r0, _02075194 ; =0x00000B25 mov r1, #0x7 strb r1, [r4, r0] _0207516E: mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r0, _02075190 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] add r0, #0x23 strb r1, [r0, #0x0] ldr r0, _0207519C ; =0x00000B22 mov r1, #0x15 strb r1, [r4, r0] mov r0, #0x14 pop {r4, pc} nop _02075190: .word 0x000005A4 _02075194: .word 0x00000B25 _02075198: .word 0x0000069C _0207519C: .word 0x00000B22 thumb_func_start FUN_020751A0 FUN_020751A0: ; 0x020751A0 push {r4-r6, lr} add r6, r1, #0x0 add r4, r0, #0x0 ldr r1, _02075234 ; =0x000005A4 mov r0, #0x1 ldr r1, [r4, r1] add r1, #0x23 ldrb r1, [r1, #0x0] sub r1, #0xb lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_02063948 add r1, r0, #0x0 beq _020751C8 ldr r0, _02075234 ; =0x000005A4 ldr r0, [r4, r0] ldr r0, [r0, #0x18] blx r1 b _020751CA _020751C8: mov r0, #0x1 _020751CA: cmp r0, #0x4 bhi _0207520A add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020751DA: ; jump table (using 16-bit offset) .short _020751E4 - _020751DA - 2; case 0 .short _020751FC - _020751DA - 2; case 1 .short _02075200 - _020751DA - 2; case 2 .short _02075204 - _020751DA - 2; case 3 .short _02075208 - _020751DA - 2; case 4 _020751E4: ldr r0, _02075238 ; =0x000006FC mov r1, #0x0 ldr r0, [r4, r0] bl FUN_02001C5C ldr r0, _0207523C ; =0x000006F8 ldr r0, [r4, r0] bl FUN_02012870 mov r0, #0x1b str r0, [r6, #0x0] pop {r4-r6, pc} _020751FC: mov r5, #0x68 b _0207520A _02075200: mov r5, #0x4c b _0207520A _02075204: mov r5, #0xc4 b _0207520A _02075208: mov r5, #0x66 _0207520A: mov r0, #0x85 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200D0E0 add r0, r4, #0x0 bl FUN_02073DB4 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x1 bl FUN_020731E8 ldr r0, _02075240 ; =0x00000B22 mov r1, #0x3 strb r1, [r4, r0] mov r0, #0x14 str r0, [r6, #0x0] pop {r4-r6, pc} nop _02075234: .word 0x000005A4 _02075238: .word 0x000006FC _0207523C: .word 0x000006F8 _02075240: .word 0x00000B22 thumb_func_start FUN_02075244 FUN_02075244: ; 0x02075244 ldr r2, _02075254 ; =0x000005A4 mov r3, #0xb ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] ldr r3, _02075258 ; =FUN_020751A0 bx r3 nop _02075254: .word 0x000005A4 _02075258: .word FUN_020751A0 thumb_func_start FUN_0207525C FUN_0207525C: ; 0x0207525C ldr r2, _0207526C ; =0x000005A4 mov r3, #0x10 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] ldr r3, _02075270 ; =FUN_020751A0 bx r3 nop _0207526C: .word 0x000005A4 _02075270: .word FUN_020751A0 thumb_func_start FUN_02075274 FUN_02075274: ; 0x02075274 ldr r2, _02075284 ; =0x000005A4 mov r3, #0xe ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] ldr r3, _02075288 ; =FUN_020751A0 bx r3 nop _02075284: .word 0x000005A4 _02075288: .word FUN_020751A0 thumb_func_start FUN_0207528C FUN_0207528C: ; 0x0207528C ldr r2, _0207529C ; =0x000005A4 mov r3, #0xd ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] ldr r3, _020752A0 ; =FUN_020751A0 bx r3 nop _0207529C: .word 0x000005A4 _020752A0: .word FUN_020751A0 thumb_func_start FUN_020752A4 FUN_020752A4: ; 0x020752A4 ldr r2, _020752B4 ; =0x000005A4 mov r3, #0xf ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] ldr r3, _020752B8 ; =FUN_020751A0 bx r3 nop _020752B4: .word 0x000005A4 _020752B8: .word FUN_020751A0 thumb_func_start FUN_020752BC FUN_020752BC: ; 0x020752BC ldr r2, _020752CC ; =0x000005A4 mov r3, #0x12 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] ldr r3, _020752D0 ; =FUN_020751A0 bx r3 nop _020752CC: .word 0x000005A4 _020752D0: .word FUN_020751A0 thumb_func_start FUN_020752D4 FUN_020752D4: ; 0x020752D4 ldr r2, _020752E4 ; =0x000005A4 mov r3, #0xc ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] ldr r3, _020752E8 ; =FUN_020751A0 bx r3 nop _020752E4: .word 0x000005A4 _020752E8: .word FUN_020751A0 thumb_func_start FUN_020752EC FUN_020752EC: ; 0x020752EC ldr r2, _020752FC ; =0x000005A4 mov r3, #0x11 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] ldr r3, _02075300 ; =FUN_020751A0 bx r3 nop _020752FC: .word 0x000005A4 _02075300: .word FUN_020751A0 thumb_func_start FUN_02075304 FUN_02075304: ; 0x02075304 ldr r2, _02075314 ; =0x000005A4 mov r3, #0x13 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] ldr r3, _02075318 ; =FUN_020751A0 bx r3 nop _02075314: .word 0x000005A4 _02075318: .word FUN_020751A0 thumb_func_start FUN_0207531C FUN_0207531C: ; 0x0207531C ldr r2, _0207532C ; =0x000005A4 mov r3, #0x14 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] ldr r3, _02075330 ; =FUN_020751A0 bx r3 nop _0207532C: .word 0x000005A4 _02075330: .word FUN_020751A0 thumb_func_start FUN_02075334 FUN_02075334: ; 0x02075334 ldr r2, _02075344 ; =0x000005A4 mov r3, #0x15 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] ldr r3, _02075348 ; =FUN_020751A0 bx r3 nop _02075344: .word 0x000005A4 _02075348: .word FUN_020751A0 thumb_func_start FUN_0207534C FUN_0207534C: ; 0x0207534C ldr r2, _0207535C ; =0x000005A4 mov r3, #0x16 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] ldr r3, _02075360 ; =FUN_020751A0 bx r3 nop _0207535C: .word 0x000005A4 _02075360: .word FUN_020751A0 thumb_func_start FUN_02075364 FUN_02075364: ; 0x02075364 ldr r2, _02075374 ; =0x000005A4 mov r3, #0x17 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] ldr r3, _02075378 ; =FUN_020751A0 bx r3 nop _02075374: .word 0x000005A4 _02075378: .word FUN_020751A0 thumb_func_start FUN_0207537C FUN_0207537C: ; 0x0207537C push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 bl FUN_020753B4 str r0, [r5, #0x0] cmp r0, #0x1a bne _02075392 ldr r0, _02075394 ; =0x00000B2E mov r1, #0xd strh r1, [r4, r0] _02075392: pop {r3-r5, pc} .balign 4 _02075394: .word 0x00000B2E thumb_func_start FUN_02075398 FUN_02075398: ; 0x02075398 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 bl FUN_020753B4 str r0, [r5, #0x0] cmp r0, #0x1a bne _020753AE ldr r0, _020753B0 ; =0x00000B2E mov r1, #0xe strh r1, [r4, r0] _020753AE: pop {r3-r5, pc} .balign 4 _020753B0: .word 0x00000B2E thumb_func_start FUN_020753B4 FUN_020753B4: ; 0x020753B4 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 mov r0, #0x85 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200D0E0 add r0, r4, #0x0 bl FUN_02073DB4 ldr r0, _020754A8 ; =0x00000B25 ldrb r1, [r4, r0] mov r0, #0x2c mul r0, r1 add r1, r4, r0 ldr r0, _020754AC ; =0x00000708 ldrh r0, [r1, r0] mov r1, #0x5 blx _s32_div_f ldr r1, _020754B0 ; =0x00000B28 strh r0, [r4, r1] sub r0, r1, #0x3 ldrb r2, [r4, r0] mov r0, #0x2c mul r0, r2 add r2, r4, r0 ldr r0, _020754B4 ; =0x00000706 ldrh r2, [r2, r0] ldrh r0, [r4, r1] cmp r2, r0 bhi _0207540E add r0, r4, #0x0 mov r1, #0x8a mov r2, #0x1 bl FUN_020731E8 ldr r0, _020754B8 ; =0x00000B22 mov r1, #0x3 strb r1, [r4, r0] add sp, #0x4 mov r0, #0x14 pop {r3-r4, pc} _0207540E: sub r0, r1, #0x5 ldrb r2, [r4, r0] mov r0, #0x40 orr r2, r0 sub r0, r1, #0x5 strb r2, [r4, r0] ldrb r0, [r4, r0] mov r2, #0x3f bic r0, r2 sub r2, r1, #0x3 ldrb r3, [r4, r2] mov r2, #0x3f and r2, r3 orr r2, r0 sub r0, r1, #0x5 strb r2, [r4, r0] ldr r0, _020754BC ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_0200C664 ldr r0, _020754BC ; =0x000005C8 add r1, sp, #0x0 ldr r0, [r4, r0] add r1, #0x2 add r2, sp, #0x0 bl FUN_0200C75C ldr r0, _020754C0 ; =0x000005CC add r3, sp, #0x0 mov r1, #0x2 mov r2, #0x0 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] ldr r0, [r4, r0] bl FUN_0200C6E4 ldr r0, _020754C4 ; =0x000005A4 ldr r1, _020754C8 ; =0x00000B23 ldr r0, [r4, r0] ldrb r1, [r4, r1] add r0, #0x21 ldrb r0, [r0, #0x0] lsl r1, r1, #0x1a lsr r1, r1, #0x1a bl FUN_020714BC add r1, r0, #0x0 ldr r0, _020754C0 ; =0x000005CC add r1, r1, #0x2 ldr r0, [r4, r0] bl FUN_02020130 ldr r0, _020754C0 ; =0x000005CC mov r1, #0x1 ldr r0, [r4, r0] bl FUN_020200A0 ldr r1, _020754C8 ; =0x00000B23 add r0, r4, #0x0 ldrb r1, [r4, r1] lsl r1, r1, #0x1a lsr r1, r1, #0x1a bl FUN_020709FC add r0, r4, #0x0 mov r1, #0x24 mov r2, #0x1 bl FUN_020731C0 ldr r0, _020754CC ; =0x00000B2A mov r1, #0x0 strh r1, [r4, r0] mov r0, #0x1a add sp, #0x4 pop {r3-r4, pc} nop _020754A8: .word 0x00000B25 _020754AC: .word 0x00000708 _020754B0: .word 0x00000B28 _020754B4: .word 0x00000706 _020754B8: .word 0x00000B22 _020754BC: .word 0x000005C8 _020754C0: .word 0x000005CC _020754C4: .word 0x000005A4 _020754C8: .word 0x00000B23 _020754CC: .word 0x00000B2A thumb_func_start FUN_020754D0 FUN_020754D0: ; 0x020754D0 push {r4, lr} add r4, r0, #0x0 ldr r0, _02075504 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r1, r0 beq _02075500 mov r0, #0x89 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200D0E0 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 bl FUN_020731C0 ldr r0, _02075508 ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_0200C664 mov r0, #0x1 _02075500: pop {r4, pc} nop _02075504: .word 0x021C48B8 _02075508: .word 0x000005C8 thumb_func_start FUN_0207550C FUN_0207550C: ; 0x0207550C push {r3-r5, lr} mov r1, #0x0 mov r2, #0xc bl FUN_0206E710 mov r1, #0xe add r4, r0, #0x0 bl FUN_0206E7DC cmp r0, #0x1 beq _0207552C add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1c pop {r3-r5, pc} _0207552C: add r0, r4, #0x0 mov r1, #0x1b bl FUN_0206E7DC cmp r0, #0x0 bne _02075580 add r0, r4, #0x0 mov r1, #0x1c bl FUN_0206E7DC cmp r0, #0x0 bne _02075580 add r0, r4, #0x0 mov r1, #0x1d bl FUN_0206E7DC cmp r0, #0x0 bne _02075580 add r0, r4, #0x0 mov r1, #0x1e bl FUN_0206E7DC cmp r0, #0x0 bne _02075580 add r0, r4, #0x0 mov r1, #0x1f bl FUN_0206E7DC cmp r0, #0x0 bne _02075580 add r0, r4, #0x0 mov r1, #0x20 bl FUN_0206E7DC cmp r0, #0x0 bne _02075580 add r0, r4, #0x0 mov r1, #0x21 bl FUN_0206E7DC cmp r0, #0x0 beq _0207558A _02075580: add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x0 pop {r3-r5, pc} _0207558A: add r0, r4, #0x0 mov r1, #0x18 bl FUN_0206E7DC cmp r0, #0x0 beq _020755A0 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _020755A0: add r0, r4, #0x0 mov r1, #0x19 bl FUN_0206E7DC cmp r0, #0x0 beq _020755B6 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x2 pop {r3-r5, pc} _020755B6: add r0, r4, #0x0 mov r1, #0xf bl FUN_0206E7DC add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0x10 bl FUN_0206E7DC lsl r0, r0, #0x1 add r5, r5, r0 add r0, r4, #0x0 mov r1, #0x11 bl FUN_0206E7DC lsl r0, r0, #0x2 add r5, r5, r0 add r0, r4, #0x0 mov r1, #0x12 bl FUN_0206E7DC lsl r0, r0, #0x3 add r5, r5, r0 add r0, r4, #0x0 mov r1, #0x13 bl FUN_0206E7DC lsl r0, r0, #0x4 add r5, r5, r0 add r0, r4, #0x0 mov r1, #0x14 bl FUN_0206E7DC lsl r0, r0, #0x5 add r5, r5, r0 cmp r5, #0x10 bgt _02075624 bge _0207565A cmp r5, #0x8 bhi _0207568E add r0, r5, r5 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02075612: ; jump table (using 16-bit offset) .short _0207568E - _02075612 - 2; case 0 .short _02075632 - _02075612 - 2; case 1 .short _0207563C - _02075612 - 2; case 2 .short _0207568E - _02075612 - 2; case 3 .short _02075646 - _02075612 - 2; case 4 .short _0207568E - _02075612 - 2; case 5 .short _0207568E - _02075612 - 2; case 6 .short _0207568E - _02075612 - 2; case 7 .short _02075650 - _02075612 - 2; case 8 _02075624: cmp r5, #0x20 bgt _0207562C beq _02075664 b _0207568E _0207562C: cmp r5, #0x3f beq _0207566E b _0207568E _02075632: add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x3 pop {r3-r5, pc} _0207563C: add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x4 pop {r3-r5, pc} _02075646: add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x5 pop {r3-r5, pc} _02075650: add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x6 pop {r3-r5, pc} _0207565A: add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x7 pop {r3-r5, pc} _02075664: add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x8 pop {r3-r5, pc} _0207566E: add r0, r4, #0x0 mov r1, #0x26 bl FUN_0206E7DC cmp r0, #0x0 beq _02075684 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0xb pop {r3-r5, pc} _02075684: add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x9 pop {r3-r5, pc} _0207568E: add r0, r4, #0x0 mov r1, #0x15 bl FUN_0206E7DC cmp r0, #0x0 beq _020756A4 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0xa pop {r3-r5, pc} _020756A4: add r0, r4, #0x0 mov r1, #0x26 bl FUN_0206E7DC cmp r0, #0x0 beq _020756BA add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0xb pop {r3-r5, pc} _020756BA: add r0, r4, #0x0 mov r1, #0x30 bl FUN_0206E7DC cmp r0, #0x0 ble _020756D0 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0xc pop {r3-r5, pc} _020756D0: bge _020756DC add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x12 pop {r3-r5, pc} _020756DC: add r0, r4, #0x0 mov r1, #0x31 bl FUN_0206E7DC cmp r0, #0x0 ble _020756F2 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0xd pop {r3-r5, pc} _020756F2: bge _020756FE add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x13 pop {r3-r5, pc} _020756FE: add r0, r4, #0x0 mov r1, #0x32 bl FUN_0206E7DC cmp r0, #0x0 ble _02075714 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0xe pop {r3-r5, pc} _02075714: bge _02075720 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x14 pop {r3-r5, pc} _02075720: add r0, r4, #0x0 mov r1, #0x33 bl FUN_0206E7DC cmp r0, #0x0 ble _02075736 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0xf pop {r3-r5, pc} _02075736: bge _02075742 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x15 pop {r3-r5, pc} _02075742: add r0, r4, #0x0 mov r1, #0x34 bl FUN_0206E7DC cmp r0, #0x0 ble _02075758 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x10 pop {r3-r5, pc} _02075758: bge _02075764 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x16 pop {r3-r5, pc} _02075764: add r0, r4, #0x0 mov r1, #0x35 bl FUN_0206E7DC cmp r0, #0x0 ble _0207577A add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x11 pop {r3-r5, pc} _0207577A: bge _02075786 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x17 pop {r3-r5, pc} _02075786: add r0, r4, #0x0 mov r1, #0x1a bl FUN_0206E7DC cmp r0, #0x0 beq _0207579C add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x18 pop {r3-r5, pc} _0207579C: add r0, r4, #0x0 mov r1, #0x22 bl FUN_0206E7DC cmp r0, #0x0 beq _020757B2 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x19 pop {r3-r5, pc} _020757B2: add r0, r4, #0x0 mov r1, #0x23 bl FUN_0206E7DC cmp r0, #0x0 beq _020757C8 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1a pop {r3-r5, pc} _020757C8: add r0, r4, #0x0 mov r1, #0x24 bl FUN_0206E7DC cmp r0, #0x0 bne _020757E0 add r0, r4, #0x0 mov r1, #0x25 bl FUN_0206E7DC cmp r0, #0x0 beq _020757EA _020757E0: add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1b pop {r3-r5, pc} _020757EA: add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1c pop {r3-r5, pc} thumb_func_start FUN_020757F4 FUN_020757F4: ; 0x020757F4 push {r4-r6, lr} add r4, r0, #0x0 ldr r0, _02075B8C ; =0x000005A4 add r6, r1, #0x0 ldr r1, _02075B90 ; =0x00000B25 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] add r5, r2, #0x0 bl FUN_0206B9B0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200ACF8 add r0, r6, #0x0 bl FUN_0207550C cmp r0, #0x1b bls _02075828 b _02075C40 _02075828: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02075834: ; jump table (using 16-bit offset) .short _02075C40 - _02075834 - 2; case 0 .short _02075C40 - _02075834 - 2; case 1 .short _02075C40 - _02075834 - 2; case 2 .short _02075890 - _02075834 - 2; case 3 .short _0207586C - _02075834 - 2; case 4 .short _020758B4 - _02075834 - 2; case 5 .short _020758D8 - _02075834 - 2; case 6 .short _020758FC - _02075834 - 2; case 7 .short _02075920 - _02075834 - 2; case 8 .short _02075968 - _02075834 - 2; case 9 .short _02075944 - _02075834 - 2; case 10 .short _02075C40 - _02075834 - 2; case 11 .short _0207598C - _02075834 - 2; case 12 .short _020759BE - _02075834 - 2; case 13 .short _020759F0 - _02075834 - 2; case 14 .short _02075A22 - _02075834 - 2; case 15 .short _02075A54 - _02075834 - 2; case 16 .short _02075A86 - _02075834 - 2; case 17 .short _02075AB8 - _02075834 - 2; case 18 .short _02075AEC - _02075834 - 2; case 19 .short _02075B20 - _02075834 - 2; case 20 .short _02075B54 - _02075834 - 2; case 21 .short _02075B88 - _02075834 - 2; case 22 .short _02075BCA - _02075834 - 2; case 23 .short _02075C40 - _02075834 - 2; case 24 .short _02075BFE - _02075834 - 2; case 25 .short _02075BFE - _02075834 - 2; case 26 .short _02075C30 - _02075834 - 2; case 27 _0207586C: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x41 ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _02075890: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x5b ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _020758B4: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x43 ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _020758D8: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x44 ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _020758FC: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x42 ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _02075920: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x49 ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _02075944: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x4a ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _02075968: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x47 ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _0207598C: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x4b ldr r0, [r4, r0] bl FUN_0200A914 add r5, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 mov r2, #0x0 bl FUN_0200AF50 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _020759BE: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x4b ldr r0, [r4, r0] bl FUN_0200A914 add r5, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 mov r1, #0x1 ldr r0, [r4, r0] add r2, r1, #0x0 bl FUN_0200AF50 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _020759F0: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x4b ldr r0, [r4, r0] bl FUN_0200A914 add r5, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 mov r2, #0x2 bl FUN_0200AF50 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _02075A22: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x4b ldr r0, [r4, r0] bl FUN_0200A914 add r5, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 mov r2, #0x3 bl FUN_0200AF50 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _02075A54: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x4b ldr r0, [r4, r0] bl FUN_0200A914 add r5, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 mov r2, #0x4 bl FUN_0200AF50 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _02075A86: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x4b ldr r0, [r4, r0] bl FUN_0200A914 add r5, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 mov r2, #0x5 bl FUN_0200AF50 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _02075AB8: ldr r0, _02075B94 ; =0x0000069C add r5, #0x6e ldr r0, [r4, r0] add r1, r5, #0x0 bl FUN_0200A914 add r5, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 mov r2, #0x0 bl FUN_0200AF50 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _02075AEC: ldr r0, _02075B94 ; =0x0000069C add r5, #0x6e ldr r0, [r4, r0] add r1, r5, #0x0 bl FUN_0200A914 add r5, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 mov r1, #0x1 ldr r0, [r4, r0] add r2, r1, #0x0 bl FUN_0200AF50 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _02075B20: ldr r0, _02075B94 ; =0x0000069C add r5, #0x6e ldr r0, [r4, r0] add r1, r5, #0x0 bl FUN_0200A914 add r5, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 mov r2, #0x2 bl FUN_0200AF50 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _02075B54: ldr r0, _02075B94 ; =0x0000069C add r5, #0x6e ldr r0, [r4, r0] add r1, r5, #0x0 bl FUN_0200A914 add r5, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 mov r2, #0x3 bl FUN_0200AF50 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _02075B88: ldr r0, _02075B94 ; =0x0000069C b _02075B98 .balign 4 _02075B8C: .word 0x000005A4 _02075B90: .word 0x00000B25 _02075B94: .word 0x0000069C _02075B98: add r5, #0x6e ldr r0, [r4, r0] add r1, r5, #0x0 bl FUN_0200A914 add r5, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 mov r2, #0x4 bl FUN_0200AF50 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _02075BCA: ldr r0, _02075C50 ; =0x0000069C add r5, #0x6e ldr r0, [r4, r0] add r1, r5, #0x0 bl FUN_0200A914 add r5, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 mov r2, #0x5 bl FUN_0200AF50 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _02075BFE: ldr r0, _02075C50 ; =0x0000069C mov r1, #0x48 ldr r0, [r4, r0] bl FUN_0200A914 add r6, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 add r2, r5, #0x0 bl FUN_0200AD5C mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r6, #0x0 bl FUN_0200B7B8 add r0, r6, #0x0 bl FUN_02021A20 pop {r4-r6, pc} _02075C30: ldr r2, _02075C50 ; =0x0000069C mov r1, #0x45 ldr r0, [r4, r2] add r2, #0x8 ldr r2, [r4, r2] bl FUN_0200A8E0 pop {r4-r6, pc} _02075C40: ldr r2, _02075C50 ; =0x0000069C mov r1, #0x69 ldr r0, [r4, r2] add r2, #0x8 ldr r2, [r4, r2] bl FUN_0200A8E0 pop {r4-r6, pc} .balign 4 _02075C50: .word 0x0000069C thumb_func_start FUN_02075C54 FUN_02075C54: ; 0x02075C54 push {r4, lr} add r4, r0, #0x0 ldr r0, _02075CCC ; =0x000005A4 ldr r0, [r4, r0] ldrh r0, [r0, #0x24] bl FUN_0207550C cmp r0, #0x1c bhi _02075CCA add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02075C72: ; jump table (using 16-bit offset) .short _02075CCA - _02075C72 - 2; case 0 .short _02075CCA - _02075C72 - 2; case 1 .short _02075CAC - _02075C72 - 2; case 2 .short _02075CB4 - _02075C72 - 2; case 3 .short _02075CB4 - _02075C72 - 2; case 4 .short _02075CB4 - _02075C72 - 2; case 5 .short _02075CB4 - _02075C72 - 2; case 6 .short _02075CB4 - _02075C72 - 2; case 7 .short _02075CB4 - _02075C72 - 2; case 8 .short _02075CB4 - _02075C72 - 2; case 9 .short _02075CB4 - _02075C72 - 2; case 10 .short _02075CC4 - _02075C72 - 2; case 11 .short _02075CB4 - _02075C72 - 2; case 12 .short _02075CB4 - _02075C72 - 2; case 13 .short _02075CB4 - _02075C72 - 2; case 14 .short _02075CB4 - _02075C72 - 2; case 15 .short _02075CB4 - _02075C72 - 2; case 16 .short _02075CB4 - _02075C72 - 2; case 17 .short _02075CBC - _02075C72 - 2; case 18 .short _02075CBC - _02075C72 - 2; case 19 .short _02075CBC - _02075C72 - 2; case 20 .short _02075CBC - _02075C72 - 2; case 21 .short _02075CBC - _02075C72 - 2; case 22 .short _02075CBC - _02075C72 - 2; case 23 .short _02075CCA - _02075C72 - 2; case 24 .short _02075CB4 - _02075C72 - 2; case 25 .short _02075CB4 - _02075C72 - 2; case 26 .short _02075CB4 - _02075C72 - 2; case 27 .short _02075CCA - _02075C72 - 2; case 28 _02075CAC: ldr r1, _02075CD0 ; =FUN_0207640C ldr r0, _02075CD4 ; =0x00000B14 str r1, [r4, r0] pop {r4, pc} _02075CB4: ldr r1, _02075CD8 ; =FUN_02075D20 ldr r0, _02075CD4 ; =0x00000B14 str r1, [r4, r0] pop {r4, pc} _02075CBC: ldr r1, _02075CDC ; =FUN_02075DC0 ldr r0, _02075CD4 ; =0x00000B14 str r1, [r4, r0] pop {r4, pc} _02075CC4: ldr r1, _02075CE0 ; =FUN_02075F60 ldr r0, _02075CD4 ; =0x00000B14 str r1, [r4, r0] _02075CCA: pop {r4, pc} .balign 4 _02075CCC: .word 0x000005A4 _02075CD0: .word FUN_0207640C _02075CD4: .word 0x00000B14 _02075CD8: .word FUN_02075D20 _02075CDC: .word FUN_02075DC0 _02075CE0: .word FUN_02075F60 thumb_func_start FUN_02075CE4 FUN_02075CE4: ; 0x02075CE4 push {r4, lr} add r4, r0, #0x0 ldr r0, _02075D14 ; =0x00000B24 ldrb r0, [r4, r0] bl FUN_0201BD70 cmp r0, #0x0 beq _02075CF8 mov r0, #0x5 pop {r4, pc} _02075CF8: ldr r0, _02075D18 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _02075D10 ldr r0, _02075D1C ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] add r0, #0x23 strb r1, [r0, #0x0] mov r0, #0x1b pop {r4, pc} _02075D10: mov r0, #0x5 pop {r4, pc} .balign 4 _02075D14: .word 0x00000B24 _02075D18: .word 0x021C48B8 _02075D1C: .word 0x000005A4 thumb_func_start FUN_02075D20 FUN_02075D20: ; 0x02075D20 push {r3-r5, lr} sub sp, #0x8 ldr r1, _02075DA8 ; =0x000005A4 add r5, r0, #0x0 ldr r4, [r5, r1] bl FUN_020772CC str r0, [sp, #0x0] mov r0, #0xc str r0, [sp, #0x4] ldr r2, _02075DAC ; =0x00000B25 ldrh r1, [r4, #0x24] ldrb r2, [r5, r2] ldr r0, [r4, #0x0] mov r3, #0x0 bl FUN_02084DD0 ldr r1, _02075DAC ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] bl FUN_0207008C ldr r1, _02075DAC ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] bl FUN_02072D1C ldr r1, _02075DAC ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] bl FUN_02072DDC ldr r0, _02075DAC ; =0x00000B25 mov r2, #0x2c ldrb r1, [r5, r0] add r0, r5, #0x0 mul r2, r1 add r3, r5, r2 ldr r2, _02075DB0 ; =0x0000070E ldrh r2, [r3, r2] lsl r2, r2, #0x14 lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 bl FUN_02073A4C ldr r1, _02075DA8 ; =0x000005A4 add r0, r5, #0x0 ldr r1, [r5, r1] mov r2, #0x0 ldrh r1, [r1, #0x24] bl FUN_020757F4 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r0, _02075DB4 ; =0x000005EC bl FUN_020054C8 ldr r1, _02075DB8 ; =FUN_02075CE4 ldr r0, _02075DBC ; =0x00000B14 str r1, [r5, r0] mov r0, #0x5 add sp, #0x8 pop {r3-r5, pc} .balign 4 _02075DA8: .word 0x000005A4 _02075DAC: .word 0x00000B25 _02075DB0: .word 0x0000070E _02075DB4: .word 0x000005EC _02075DB8: .word FUN_02075CE4 _02075DBC: .word 0x00000B14 thumb_func_start FUN_02075DC0 FUN_02075DC0: ; 0x02075DC0 push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 ldr r0, _02075F4C ; =0x000005A4 ldr r1, _02075F50 ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 mov r1, #0xd mov r2, #0x0 add r4, r0, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x1c] add r0, r4, #0x0 mov r1, #0xe mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x18] add r0, r4, #0x0 mov r1, #0xf mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x14] add r0, r4, #0x0 mov r1, #0x10 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x10] add r0, r4, #0x0 mov r1, #0x11 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0xc] add r0, r4, #0x0 mov r1, #0x12 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x8] add r0, r4, #0x0 mov r1, #0x9 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r7, r0, #0x18 ldr r0, _02075F4C ; =0x000005A4 ldr r6, [r5, r0] add r0, r5, #0x0 bl FUN_020772CC str r0, [sp, #0x0] mov r0, #0xc str r0, [sp, #0x4] ldr r2, _02075F50 ; =0x00000B25 ldrh r1, [r6, #0x24] ldrb r2, [r5, r2] ldr r0, [r6, #0x0] mov r3, #0x0 bl FUN_02084DD0 ldr r1, _02075F50 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] bl FUN_0207008C ldr r1, _02075F50 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] bl FUN_02072D1C ldr r1, _02075F50 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] bl FUN_02072DDC ldr r0, _02075F50 ; =0x00000B25 mov r2, #0x2c ldrb r1, [r5, r0] add r0, r5, #0x0 mul r2, r1 add r3, r5, r2 ldr r2, _02075F54 ; =0x0000070E ldrh r2, [r3, r2] lsl r2, r2, #0x14 lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 bl FUN_02073A4C add r0, r4, #0x0 mov r1, #0xd mov r2, #0x0 bl FUN_020671BC ldr r1, [sp, #0x1c] cmp r1, r0 bne _02075EFA add r0, r4, #0x0 mov r1, #0xe mov r2, #0x0 bl FUN_020671BC ldr r1, [sp, #0x18] cmp r1, r0 bne _02075EFA add r0, r4, #0x0 mov r1, #0xf mov r2, #0x0 bl FUN_020671BC ldr r1, [sp, #0x14] cmp r1, r0 bne _02075EFA add r0, r4, #0x0 mov r1, #0x10 mov r2, #0x0 bl FUN_020671BC ldr r1, [sp, #0x10] cmp r1, r0 bne _02075EFA add r0, r4, #0x0 mov r1, #0x11 mov r2, #0x0 bl FUN_020671BC ldr r1, [sp, #0xc] cmp r1, r0 bne _02075EFA add r0, r4, #0x0 mov r1, #0x12 mov r2, #0x0 bl FUN_020671BC ldr r1, [sp, #0x8] cmp r1, r0 beq _02075F26 _02075EFA: add r0, r4, #0x0 mov r1, #0x9 mov r2, #0x0 bl FUN_020671BC cmp r7, r0 ldr r1, _02075F4C ; =0x000005A4 beq _02075F18 ldr r1, [r5, r1] add r0, r5, #0x0 ldrh r1, [r1, #0x24] mov r2, #0x0 bl FUN_020757F4 b _02075F34 _02075F18: ldr r1, [r5, r1] add r0, r5, #0x0 ldrh r1, [r1, #0x24] mov r2, #0x1 bl FUN_020757F4 b _02075F34 _02075F26: ldr r1, _02075F4C ; =0x000005A4 add r0, r5, #0x0 ldr r1, [r5, r1] mov r2, #0x2 ldrh r1, [r1, #0x24] bl FUN_020757F4 _02075F34: mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r1, _02075F58 ; =FUN_02075CE4 ldr r0, _02075F5C ; =0x00000B14 str r1, [r5, r0] mov r0, #0x5 add sp, #0x20 pop {r3-r7, pc} .balign 4 _02075F4C: .word 0x000005A4 _02075F50: .word 0x00000B25 _02075F54: .word 0x0000070E _02075F58: .word FUN_02075CE4 _02075F5C: .word 0x00000B14 thumb_func_start FUN_02075F60 FUN_02075F60: ; 0x02075F60 push {r4-r7, lr} sub sp, #0xc ldr r1, _02076080 ; =0x000005A4 add r5, r0, #0x0 ldr r4, [r5, r1] bl FUN_020772CC str r0, [sp, #0x0] mov r0, #0xc str r0, [sp, #0x4] ldr r2, _02076084 ; =0x00000B25 ldrh r1, [r4, #0x24] ldrb r2, [r5, r2] ldr r0, [r4, #0x0] mov r3, #0x0 bl FUN_02084DD0 ldr r0, _02076080 ; =0x000005A4 ldr r1, _02076084 ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 mov r1, #0xa2 mov r2, #0x0 str r0, [sp, #0x8] bl FUN_020671BC add r4, r0, #0x0 ldr r0, _02076084 ; =0x00000B25 ldrb r1, [r5, r0] mov r0, #0x2c mul r0, r1 add r1, r5, r0 ldr r0, _02076088 ; =0x00000706 ldrh r1, [r1, r0] cmp r1, #0x0 bne _02075FBC sub r0, #0x6a ldr r0, [r5, r0] mov r1, #0x46 bl FUN_0200A914 add r7, r0, #0x0 b _02075FDA _02075FBC: cmp r4, r1 bne _02075FCE sub r0, #0x6a ldr r0, [r5, r0] mov r1, #0x47 bl FUN_0200A914 add r7, r0, #0x0 b _02075FDA _02075FCE: sub r0, #0x6a ldr r0, [r5, r0] mov r1, #0x40 bl FUN_0200A914 add r7, r0, #0x0 _02075FDA: ldr r0, [sp, #0x8] bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_0200ACF8 mov r0, #0x0 mov r3, #0x6a str r0, [sp, #0x0] mov r1, #0x1 ldr r2, _02076084 ; =0x00000B25 str r1, [sp, #0x4] ldrb r6, [r5, r2] mov r2, #0x2c lsl r3, r3, #0x4 mul r2, r6 ldr r0, [r5, r3] add r2, r5, r2 add r3, #0x66 ldrh r2, [r2, r3] mov r3, #0x3 sub r2, r4, r2 bl FUN_0200AD38 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r7, #0x0 bl FUN_0200B7B8 add r0, r7, #0x0 bl FUN_02021A20 ldr r0, [sp, #0x8] bl FUN_0207C2D4 add r4, r0, #0x0 ldr r1, _02076084 ; =0x00000B25 lsl r2, r4, #0x18 ldrb r1, [r5, r1] add r0, r5, #0x0 lsr r2, r2, #0x18 bl FUN_02073A4C cmp r4, #0x7 bne _02076062 ldr r1, _02076084 ; =0x00000B25 ldr r0, _0207608C ; =0x0000070E ldrb r3, [r5, r1] add r2, r5, r0 mov r0, #0x2c mul r0, r3 ldrh r4, [r2, r0] ldr r3, _02076090 ; =0xFFFFF000 and r4, r3 mov r3, #0x7 orr r3, r4 strh r3, [r2, r0] ldrb r1, [r5, r1] add r0, r5, #0x0 bl FUN_02072B20 _02076062: ldr r1, _02076084 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] bl FUN_020709FC ldr r1, _02076094 ; =FUN_020760A0 ldr r0, _02076098 ; =0x00000B14 str r1, [r5, r0] ldr r0, _0207609C ; =0x000005EC bl FUN_020054C8 mov r0, #0x5 add sp, #0xc pop {r4-r7, pc} nop _02076080: .word 0x000005A4 _02076084: .word 0x00000B25 _02076088: .word 0x00000706 _0207608C: .word 0x0000070E _02076090: .word 0xFFFFF000 _02076094: .word FUN_020760A0 _02076098: .word 0x00000B14 _0207609C: .word 0x000005EC thumb_func_start FUN_020760A0 FUN_020760A0: ; 0x020760A0 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076130 ; =0x000005A4 ldr r1, _02076134 ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 mov r1, #0xa2 mov r2, #0x0 bl FUN_020671BC ldr r1, _02076134 ; =0x00000B25 add r4, r0, #0x0 ldrb r2, [r5, r1] ldr r0, _02076138 ; =0x00000706 mov r1, #0x2c add r3, r2, #0x0 add r0, r5, r0 mul r3, r1 ldrh r1, [r0, r3] cmp r4, r1 beq _020760D4 add r1, r1, #0x1 strh r1, [r0, r3] _020760D4: ldr r1, _02076134 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] bl FUN_02072BBC ldr r1, _02076134 ; =0x00000B25 add r0, r5, #0x4 ldrb r2, [r5, r1] lsl r1, r2, #0x2 add r1, r2, r1 add r1, r1, #0x3 lsl r1, r1, #0x4 add r0, r0, r1 mov r1, #0x0 bl FUN_02019620 ldr r1, _02076134 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] bl FUN_02072B7C ldr r1, _02076134 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] bl FUN_02072C28 ldr r0, _02076134 ; =0x00000B25 mov r1, #0x2c ldrb r0, [r5, r0] add r2, r0, #0x0 mul r2, r1 ldr r0, _02076138 ; =0x00000706 add r2, r5, r2 ldrh r0, [r2, r0] cmp r4, r0 bne _0207612C add r0, r5, #0x0 sub r1, #0x2d mov r2, #0x1 bl FUN_020731E8 ldr r1, _0207613C ; =FUN_02075CE4 ldr r0, _02076140 ; =0x00000B14 str r1, [r5, r0] _0207612C: mov r0, #0x5 pop {r3-r5, pc} .balign 4 _02076130: .word 0x000005A4 _02076134: .word 0x00000B25 _02076138: .word 0x00000706 _0207613C: .word FUN_02075CE4 _02076140: .word 0x00000B14 thumb_func_start FUN_02076144 FUN_02076144: ; 0x02076144 push {r3, lr} mov r1, #0x18 mov r2, #0xc bl FUN_0206E7B8 cmp r0, #0x0 beq _02076156 mov r0, #0x1 pop {r3, pc} _02076156: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0207615C FUN_0207615C: ; 0x0207615C push {r3-r6} cmp r1, #0x6 blo _02076168 mov r0, #0xff pop {r3-r6} bx lr _02076168: bhs _02076194 ldr r2, _0207619C ; =0x00000706 mov r3, #0x2c add r4, r2, #0x0 add r4, #0x23 _02076172: add r5, r1, #0x0 mul r5, r3 add r6, r0, r5 ldrb r5, [r6, r4] cmp r5, #0x0 beq _0207618A ldrh r5, [r6, r2] cmp r5, #0x0 bne _0207618A add r0, r1, #0x0 pop {r3-r6} bx lr _0207618A: add r1, r1, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, #0x6 blo _02076172 _02076194: mov r0, #0xff pop {r3-r6} bx lr nop _0207619C: .word 0x00000706 thumb_func_start FUN_020761A0 FUN_020761A0: ; 0x020761A0 push {r3-r7, lr} ldr r1, _020763DC ; =0x00000B22 add r4, r0, #0x0 ldrb r2, [r4, r1] cmp r2, #0x3 bls _020761AE b _020763D6 _020761AE: add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _020761BA: ; jump table (using 16-bit offset) .short _020761C2 - _020761BA - 2; case 0 .short _02076212 - _020761BA - 2; case 1 .short _020762DC - _020761BA - 2; case 2 .short _02076360 - _020761BA - 2; case 3 _020761C2: mov r1, #0x0 bl FUN_0207615C ldr r1, _020763E0 ; =0x00000B25 strb r0, [r4, r1] ldrb r0, [r4, r1] cmp r0, #0xff bne _02076206 ldr r2, _020763E4 ; =0x0000069C mov r1, #0x69 ldr r0, [r4, r2] add r2, #0x8 ldr r2, [r4, r2] bl FUN_0200A8E0 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r1, _020763E8 ; =FUN_02075CE4 ldr r0, _020763EC ; =0x00000B14 mov r2, #0x1 str r1, [r4, r0] add r0, r4, #0x0 mov r1, #0x0 bl FUN_02073CB4 ldr r0, _020763E0 ; =0x00000B25 mov r1, #0x7 strb r1, [r4, r0] mov r0, #0x5 pop {r3-r7, pc} _02076206: cmp r0, #0x0 beq _02076212 add r0, r4, #0x0 mov r1, #0x0 bl FUN_020709FC _02076212: ldr r0, _020763F0 ; =0x000005A4 ldr r1, _020763E0 ; =0x00000B25 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_020772CC add r3, r0, #0x0 mov r0, #0xc str r0, [sp, #0x0] ldr r1, _020763F0 ; =0x000005A4 add r0, r5, #0x0 ldr r1, [r4, r1] mov r2, #0x0 ldrh r1, [r1, #0x24] bl FUN_02084810 add r0, r5, #0x0 mov r1, #0xa2 mov r2, #0x0 bl FUN_020671BC ldr r0, _020763E4 ; =0x0000069C mov r1, #0x46 ldr r0, [r4, r0] bl FUN_0200A914 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200ACF8 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r6, #0x0 bl FUN_0200B7B8 add r0, r6, #0x0 bl FUN_02021A20 ldr r7, _020763E0 ; =0x00000B25 ldr r3, _020763F4 ; =0x0000070E ldrb r5, [r4, r7] mov r2, #0x2c add r1, r4, r3 add r0, r5, #0x0 mul r0, r2 ldrh r6, [r1, r0] ldr r5, _020763F8 ; =0xFFFFF000 and r6, r5 mov r5, #0x7 orr r5, r6 strh r5, [r1, r0] ldrb r1, [r4, r7] add r0, r4, #0x0 mul r2, r1 add r2, r4, r2 ldrh r2, [r2, r3] lsl r2, r2, #0x14 lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 bl FUN_02073A4C add r1, r7, #0x0 ldrb r1, [r4, r1] add r0, r4, #0x0 bl FUN_02072B20 add r1, r7, #0x0 ldrb r1, [r4, r1] add r0, r4, #0x0 bl FUN_020709FC add r1, r7, #0x0 ldrb r1, [r4, r1] add r0, r4, #0x0 mov r2, #0x1 bl FUN_02073CB4 ldr r0, _020763FC ; =0x000005EC bl FUN_020054C8 sub r0, r7, #0x3 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] b _020763D6 _020762DC: ldr r0, _020763F0 ; =0x000005A4 add r1, r1, #0x3 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 mov r1, #0xa2 mov r2, #0x0 bl FUN_020671BC ldr r2, _020763E0 ; =0x00000B25 add r5, r0, #0x0 ldr r0, _02076400 ; =0x00000706 ldrb r3, [r4, r2] add r1, r4, r0 mov r0, #0x2c mul r0, r3 ldrh r3, [r1, r0] add r3, r3, #0x1 strh r3, [r1, r0] ldrb r1, [r4, r2] add r0, r4, #0x0 bl FUN_02072BBC ldr r1, _020763E0 ; =0x00000B25 add r0, r4, #0x4 ldrb r2, [r4, r1] lsl r1, r2, #0x2 add r1, r2, r1 add r1, r1, #0x3 lsl r1, r1, #0x4 add r0, r0, r1 mov r1, #0x0 bl FUN_02019620 ldr r1, _020763E0 ; =0x00000B25 add r0, r4, #0x0 ldrb r1, [r4, r1] bl FUN_02072B7C ldr r1, _020763E0 ; =0x00000B25 add r0, r4, #0x0 ldrb r1, [r4, r1] bl FUN_02072C28 ldr r0, _020763E0 ; =0x00000B25 mov r1, #0x2c ldrb r0, [r4, r0] add r2, r0, #0x0 mul r2, r1 ldr r0, _02076400 ; =0x00000706 add r2, r4, r2 ldrh r0, [r2, r0] cmp r5, r0 bne _020763D6 add r0, r4, #0x0 sub r1, #0x2d mov r2, #0x1 bl FUN_020731E8 ldr r0, _020763DC ; =0x00000B22 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] b _020763D6 _02076360: add r0, r1, #0x2 ldrb r0, [r4, r0] bl FUN_0201BD70 cmp r0, #0x0 bne _020763D6 ldr r0, _02076404 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _020763D6 ldr r0, _02076408 ; =0x000005DC bl FUN_020054C8 ldr r0, _020763E0 ; =0x00000B25 ldrb r5, [r4, r0] add r0, r4, #0x0 add r1, r5, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 bl FUN_0207615C ldr r1, _020763E0 ; =0x00000B25 strb r0, [r4, r1] ldrb r0, [r4, r1] cmp r0, #0xff beq _020763B2 mov r0, #0x89 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x0 bl FUN_0200D0E0 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_020709FC ldr r0, _020763DC ; =0x00000B22 mov r1, #0x1 strb r1, [r4, r0] b _020763D6 _020763B2: ldr r0, _020763F0 ; =0x000005A4 mov r2, #0x1 ldr r1, [r4, r0] mov r3, #0xc ldr r0, [r1, #0x4] ldrh r1, [r1, #0x24] bl FUN_0206EDD4 ldr r0, _020763F0 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] add r0, #0x23 strb r1, [r0, #0x0] ldr r0, _020763E0 ; =0x00000B25 mov r1, #0x7 strb r1, [r4, r0] mov r0, #0x1b pop {r3-r7, pc} _020763D6: mov r0, #0x7 pop {r3-r7, pc} nop _020763DC: .word 0x00000B22 _020763E0: .word 0x00000B25 _020763E4: .word 0x0000069C _020763E8: .word FUN_02075CE4 _020763EC: .word 0x00000B14 _020763F0: .word 0x000005A4 _020763F4: .word 0x0000070E _020763F8: .word 0xFFFFF000 _020763FC: .word 0x000005EC _02076400: .word 0x00000706 _02076404: .word 0x021C48B8 _02076408: .word 0x000005DC thumb_func_start FUN_0207640C FUN_0207640C: ; 0x0207640C push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 ldr r0, _020765B0 ; =0x000005A4 ldr r1, _020765B4 ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 mov r1, #0xa3 mov r2, #0x0 add r4, r0, #0x0 bl FUN_020671BC ldr r1, _020765B8 ; =0x00000B28 mov r2, #0x0 strh r0, [r5, r1] add r0, r4, #0x0 mov r1, #0xa4 bl FUN_020671BC ldr r1, _020765BC ; =0x00000B2A mov r2, #0x0 strh r0, [r5, r1] add r0, r4, #0x0 mov r1, #0xa5 bl FUN_020671BC ldr r1, _020765C0 ; =0x00000B2C mov r2, #0x0 strh r0, [r5, r1] add r0, r4, #0x0 mov r1, #0xa7 bl FUN_020671BC ldr r1, _020765C4 ; =0x00000B2E mov r2, #0x0 strh r0, [r5, r1] add r0, r4, #0x0 mov r1, #0xa8 bl FUN_020671BC mov r1, #0xb3 lsl r1, r1, #0x4 strh r0, [r5, r1] add r0, r4, #0x0 mov r1, #0xa6 mov r2, #0x0 bl FUN_020671BC ldr r1, _020765C8 ; =0x00000B32 strh r0, [r5, r1] ldr r0, _020765B0 ; =0x000005A4 ldr r6, [r5, r0] add r0, r5, #0x0 bl FUN_020772CC str r0, [sp, #0x0] mov r0, #0xc str r0, [sp, #0x4] ldr r2, _020765B4 ; =0x00000B25 ldrh r1, [r6, #0x24] ldrb r2, [r5, r2] ldr r0, [r6, #0x0] mov r3, #0x0 bl FUN_02084DD0 add r0, r4, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC ldr r1, _020765B4 ; =0x00000B25 ldrb r2, [r5, r1] mov r1, #0x2c mul r1, r2 add r2, r5, r1 ldr r1, _020765CC ; =0x0000070A strh r0, [r2, r1] add r0, r4, #0x0 mov r1, #0xa2 mov r2, #0x0 bl FUN_020671BC ldr r1, _020765B4 ; =0x00000B25 ldrb r2, [r5, r1] mov r1, #0x2c mul r1, r2 add r2, r5, r1 ldr r1, _020765D0 ; =0x00000706 strh r0, [r2, r1] add r0, r4, #0x0 mov r1, #0xa3 mov r2, #0x0 bl FUN_020671BC ldr r1, _020765B4 ; =0x00000B25 ldrb r2, [r5, r1] mov r1, #0x2c mul r1, r2 add r2, r5, r1 ldr r1, _020765D4 ; =0x00000708 strh r0, [r2, r1] sub r1, #0x6c ldr r0, [r5, r1] mov r1, #0xc1 bl FUN_0200A914 add r7, r0, #0x0 add r0, r4, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_0200ACF8 mov r0, #0x0 mov r3, #0x6a str r0, [sp, #0x0] mov r1, #0x1 ldr r2, _020765B4 ; =0x00000B25 str r1, [sp, #0x4] ldrb r6, [r5, r2] mov r2, #0x2c lsl r3, r3, #0x4 mul r2, r6 ldr r0, [r5, r3] add r2, r5, r2 add r3, #0x6a ldrh r2, [r2, r3] mov r3, #0x3 bl FUN_0200AD38 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r7, #0x0 bl FUN_0200B7B8 add r0, r7, #0x0 bl FUN_02021A20 add r0, r4, #0x0 bl FUN_0207C2D4 add r4, r0, #0x0 ldr r1, _020765B4 ; =0x00000B25 lsl r2, r4, #0x18 ldrb r1, [r5, r1] add r0, r5, #0x0 lsr r2, r2, #0x18 bl FUN_02073A4C cmp r4, #0x7 bne _0207656E ldr r1, _020765B4 ; =0x00000B25 ldr r0, _020765D8 ; =0x0000070E ldrb r3, [r5, r1] add r2, r5, r0 mov r0, #0x2c mul r0, r3 ldrh r4, [r2, r0] ldr r3, _020765DC ; =0xFFFFF000 and r4, r3 mov r3, #0x7 orr r3, r4 strh r3, [r2, r0] ldrb r1, [r5, r1] add r0, r5, #0x0 bl FUN_02072B20 _0207656E: ldr r1, _020765B4 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] bl FUN_020709FC ldr r0, _020765E0 ; =FUN_020760A0 ldr r1, _020765E4 ; =0x00000B14 str r0, [r5, r1] add r1, #0x11 ldrb r1, [r5, r1] add r0, r5, #0x0 bl FUN_02072D1C ldr r1, _020765B4 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] bl FUN_02072DDC mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r1, _020765E8 ; =FUN_020765EC ldr r0, _020765E4 ; =0x00000B14 str r1, [r5, r0] mov r1, #0x0 add r0, #0x13 strb r1, [r5, r0] mov r0, #0x5 add sp, #0x8 pop {r3-r7, pc} .balign 4 _020765B0: .word 0x000005A4 _020765B4: .word 0x00000B25 _020765B8: .word 0x00000B28 _020765BC: .word 0x00000B2A _020765C0: .word 0x00000B2C _020765C4: .word 0x00000B2E _020765C8: .word 0x00000B32 _020765CC: .word 0x0000070A _020765D0: .word 0x00000706 _020765D4: .word 0x00000708 _020765D8: .word 0x0000070E _020765DC: .word 0xFFFFF000 _020765E0: .word FUN_020760A0 _020765E4: .word 0x00000B14 _020765E8: .word FUN_020765EC thumb_func_start FUN_020765EC FUN_020765EC: ; 0x020765EC push {r3-r5, lr} ldr r1, _0207686C ; =0x00000B27 add r4, r0, #0x0 ldrb r0, [r4, r1] cmp r0, #0x6 bhi _020766A8 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02076604: ; jump table (using 16-bit offset) .short _02076612 - _02076604 - 2; case 0 .short _0207663C - _02076604 - 2; case 1 .short _0207665A - _02076604 - 2; case 2 .short _02076680 - _02076604 - 2; case 3 .short _02076780 - _02076604 - 2; case 4 .short _020767A4 - _02076604 - 2; case 5 .short _02076814 - _02076604 - 2; case 6 _02076612: sub r0, r1, #0x3 ldrb r0, [r4, r0] bl FUN_0201BD70 cmp r0, #0x0 bne _020766A8 ldr r0, _02076870 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _020766A8 ldr r0, _02076874 ; =0x000005DC bl FUN_020054C8 add r0, r4, #0x0 bl FUN_020734C0 ldr r0, _0207686C ; =0x00000B27 mov r1, #0x1 strb r1, [r4, r0] b _02076868 _0207663C: ldr r0, _02076870 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _020766A8 ldr r0, _02076874 ; =0x000005DC bl FUN_020054C8 add r0, r4, #0x0 bl FUN_0207363C ldr r0, _0207686C ; =0x00000B27 mov r1, #0x2 strb r1, [r4, r0] b _02076868 _0207665A: ldr r0, _02076870 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _020766A8 ldr r0, _02076874 ; =0x000005DC bl FUN_020054C8 add r0, r4, #0x0 bl FUN_020736F4 ldr r0, _0207686C ; =0x00000B27 mov r1, #0x3 strb r1, [r4, r0] ldr r0, _02076878 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] str r1, [r0, #0x34] b _02076868 _02076680: ldr r0, _02076878 ; =0x000005A4 sub r1, r1, #0x2 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 ldr r1, _02076878 ; =0x000005A4 add r5, r0, #0x0 ldr r2, [r4, r1] add r1, r2, #0x0 add r1, #0x34 add r2, #0x26 bl FUN_02069818 cmp r0, #0x0 beq _020766B2 ldr r1, _0207687C ; =0x0000FFFE cmp r0, r1 bne _020766AA _020766A8: b _02076868 _020766AA: add r1, r1, #0x1 cmp r0, r1 beq _020766BA b _02076724 _020766B2: ldr r0, _0207686C ; =0x00000B27 mov r1, #0x6 strb r1, [r4, r0] b _02076868 _020766BA: add r0, r5, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200ACF8 mov r2, #0x6a lsl r2, r2, #0x4 ldr r0, [r4, r2] sub r2, #0xfc ldr r2, [r4, r2] mov r1, #0x1 ldrh r2, [r2, #0x26] bl FUN_0200AD5C ldr r0, _02076880 ; =0x0000069C mov r1, #0x34 ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x0 bl FUN_020731E8 ldr r0, _02076884 ; =FUN_02076950 ldr r1, _02076888 ; =0x00000B18 ldr r2, _0207688C ; =FUN_020769A4 str r0, [r4, r1] add r0, r1, #0x4 str r2, [r4, r0] mov r0, #0x16 add r1, #0xa strb r0, [r4, r1] mov r0, #0x14 pop {r3-r5, pc} _02076724: add r0, r5, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200ACF8 mov r2, #0x6a lsl r2, r2, #0x4 ldr r0, [r4, r2] sub r2, #0xfc ldr r2, [r4, r2] mov r1, #0x1 ldrh r2, [r2, #0x26] bl FUN_0200AD5C ldr r0, _02076880 ; =0x0000069C mov r1, #0xc2 ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x0 bl FUN_020731E8 ldr r0, _0207686C ; =0x00000B27 mov r1, #0x4 strb r1, [r4, r0] b _02076868 _02076780: sub r0, r1, #0x3 ldrb r0, [r4, r0] bl FUN_0201BD70 cmp r0, #0x0 bne _02076868 ldr r0, _02076870 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _02076868 ldr r0, _02076874 ; =0x000005DC bl FUN_020054C8 ldr r0, _0207686C ; =0x00000B27 mov r1, #0x3 strb r1, [r4, r0] b _02076868 _020767A4: ldr r0, _02076870 ; =0x021C48B8 ldr r2, [r0, #0x48] mov r0, #0x3 tst r0, r2 beq _02076868 ldr r0, _02076878 ; =0x000005A4 sub r1, r1, #0x2 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 ldr r2, _02076878 ; =0x000005A4 add r1, r0, #0x0 ldr r2, [r4, r2] add r0, r4, #0x0 add r2, #0x28 ldrb r2, [r2, #0x0] bl FUN_02076F2C ldr r0, _02076880 ; =0x0000069C mov r1, #0x3d ldr r0, [r4, r0] bl FUN_0200A914 mov r2, #0x6a lsl r2, r2, #0x4 add r5, r0, #0x0 ldr r0, [r4, r2] sub r2, #0xfc ldr r2, [r4, r2] mov r1, #0x1 ldrh r2, [r2, #0x26] bl FUN_0200AD5C mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x0 bl FUN_020731E8 ldr r0, _0207686C ; =0x00000B27 mov r1, #0x4 strb r1, [r4, r0] b _02076868 _02076814: ldr r0, _02076878 ; =0x000005A4 sub r1, r1, #0x2 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 add r5, r0, #0x0 ldr r0, _02076878 ; =0x000005A4 ldr r0, [r4, r0] ldr r0, [r0, #0x1c] ldr r0, [r0, #0x1c] ldr r0, [r0, #0x0] bl FUN_02034A04 add r3, r0, #0x0 ldr r0, _02076878 ; =0x000005A4 lsl r3, r3, #0x10 ldr r1, [r4, r0] mov r2, #0x0 add r0, r1, #0x0 add r0, #0x3c str r0, [sp, #0x0] ldr r0, [r1, #0x0] add r1, r5, #0x0 lsr r3, r3, #0x10 bl FUN_02069168 ldr r1, _02076878 ; =0x000005A4 ldr r2, [r4, r1] strh r0, [r2, #0x38] ldr r1, [r4, r1] ldrh r0, [r1, #0x38] cmp r0, #0x0 beq _0207685E mov r0, #0x9 b _02076860 _0207685E: mov r0, #0x0 _02076860: add r1, #0x23 strb r0, [r1, #0x0] mov r0, #0x1b pop {r3-r5, pc} _02076868: mov r0, #0x5 pop {r3-r5, pc} .balign 4 _0207686C: .word 0x00000B27 _02076870: .word 0x021C48B8 _02076874: .word 0x000005DC _02076878: .word 0x000005A4 _0207687C: .word 0x0000FFFE _02076880: .word 0x0000069C _02076884: .word FUN_02076950 _02076888: .word 0x00000B18 _0207688C: .word FUN_020769A4 thumb_func_start FUN_02076890 FUN_02076890: ; 0x02076890 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, _0207693C ; =FUN_020765EC ldr r1, _02076940 ; =0x00000B14 mov r2, #0x3 str r0, [r4, r1] add r0, r1, #0x0 add r0, #0x13 strb r2, [r4, r0] ldr r0, _02076944 ; =0x000005A4 add r1, #0x11 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 add r5, r0, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200ACF8 ldr r0, _02076944 ; =0x000005A4 ldr r2, [r4, r0] add r1, r2, #0x0 add r1, #0x28 ldrb r1, [r1, #0x0] cmp r1, #0x4 bne _020768E6 add r0, #0xfc ldrh r2, [r2, #0x26] ldr r0, [r4, r0] mov r1, #0x1 bl FUN_0200AD5C add r0, r4, #0x0 bl FUN_020769A4 pop {r3-r5, pc} _020768E6: add r0, r5, #0x0 add r1, #0x36 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 bl FUN_0200AD5C ldr r0, _02076948 ; =0x0000069C mov r1, #0x3c ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r0, _0207694C ; =0x00000B22 mov r1, #0x5 strb r1, [r4, r0] add r0, r0, #0x5 strb r1, [r4, r0] mov r0, #0x14 pop {r3-r5, pc} nop _0207693C: .word FUN_020765EC _02076940: .word 0x00000B14 _02076944: .word 0x000005A4 _02076948: .word 0x0000069C _0207694C: .word 0x00000B22 thumb_func_start FUN_02076950 FUN_02076950: ; 0x02076950 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076998 ; =0x0000069C mov r1, #0x3b ldr r0, [r5, r0] bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x0 bl FUN_020731E8 ldr r0, _0207699C ; =0x000005A4 mov r1, #0x5 ldr r0, [r5, r0] add r0, #0x23 strb r1, [r0, #0x0] ldr r0, _020769A0 ; =0x00000B22 mov r1, #0x15 strb r1, [r5, r0] mov r0, #0x14 pop {r3-r5, pc} nop _02076998: .word 0x0000069C _0207699C: .word 0x000005A4 _020769A0: .word 0x00000B22 thumb_func_start FUN_020769A4 FUN_020769A4: ; 0x020769A4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _020769EC ; =0x0000069C mov r1, #0x37 ldr r0, [r5, r0] bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r0, _020769F0 ; =FUN_020769FC ldr r1, _020769F4 ; =0x00000B18 ldr r2, _020769F8 ; =FUN_02076A48 str r0, [r5, r1] add r0, r1, #0x4 str r2, [r5, r0] mov r0, #0x16 add r1, #0xa strb r0, [r5, r1] mov r0, #0x14 pop {r3-r5, pc} .balign 4 _020769EC: .word 0x0000069C _020769F0: .word FUN_020769FC _020769F4: .word 0x00000B18 _020769F8: .word FUN_02076A48 thumb_func_start FUN_020769FC FUN_020769FC: ; 0x020769FC push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076A40 ; =0x0000069C mov r1, #0x3a ldr r0, [r5, r0] bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x0 bl FUN_020731E8 ldr r0, _02076A44 ; =0x00000B22 mov r1, #0x5 strb r1, [r5, r0] mov r1, #0x4 add r0, r0, #0x5 strb r1, [r5, r0] mov r0, #0x14 pop {r3-r5, pc} nop _02076A40: .word 0x0000069C _02076A44: .word 0x00000B22 thumb_func_start FUN_02076A48 FUN_02076A48: ; 0x02076A48 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076A90 ; =0x0000069C mov r1, #0x34 ldr r0, [r5, r0] bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x0 bl FUN_020731E8 ldr r0, _02076A94 ; =FUN_02076950 ldr r1, _02076A98 ; =0x00000B18 ldr r2, _02076A9C ; =FUN_020769A4 str r0, [r5, r1] add r0, r1, #0x4 str r2, [r5, r0] mov r0, #0x16 add r1, #0xa strb r0, [r5, r1] mov r0, #0x14 pop {r3-r5, pc} .balign 4 _02076A90: .word 0x0000069C _02076A94: .word FUN_02076950 _02076A98: .word 0x00000B18 _02076A9C: .word FUN_020769A4 thumb_func_start FUN_02076AA0 FUN_02076AA0: ; 0x02076AA0 push {r3-r7, lr} ldr r7, _02076AF4 ; =0x000005A4 add r5, r0, #0x0 add r6, r1, #0x0 mov r4, #0x0 _02076AAA: add r1, r4, #0x0 add r0, r6, #0x0 add r1, #0x36 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r2, r0, #0x10 ldr r0, [r5, r7] ldrh r1, [r0, #0x26] cmp r2, r1 bne _02076AC6 mov r0, #0xfd pop {r3-r7, pc} _02076AC6: cmp r2, #0x0 beq _02076AD4 add r1, r4, #0x1 lsl r1, r1, #0x18 lsr r4, r1, #0x18 cmp r4, #0x4 blo _02076AAA _02076AD4: ldrh r0, [r0, #0x24] bl FUN_0206EA7C add r1, r0, #0x0 add r0, r6, #0x0 bl FUN_0206A13C cmp r0, #0x0 bne _02076AEA mov r0, #0xff pop {r3-r7, pc} _02076AEA: cmp r4, #0x4 bne _02076AF0 mov r4, #0xfe _02076AF0: add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 _02076AF4: .word 0x000005A4 thumb_func_start FUN_02076AF8 FUN_02076AF8: ; 0x02076AF8 push {r4-r6, lr} add r4, r0, #0x0 ldr r0, _02076C78 ; =0x000005A4 ldr r1, _02076C7C ; =0x00000B25 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 add r6, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_02076AA0 add r5, r0, #0x0 add r0, r6, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200ACF8 mov r2, #0x6a lsl r2, r2, #0x4 ldr r0, [r4, r2] sub r2, #0xfc ldr r2, [r4, r2] mov r1, #0x1 ldrh r2, [r2, #0x26] bl FUN_0200AD5C cmp r5, #0xfd bhi _02076B5A bhs _02076BB2 cmp r5, #0x3 bhi _02076B60 add r0, r5, r5 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02076B52: ; jump table (using 16-bit offset) .short _02076B68 - _02076B52 - 2; case 0 .short _02076B68 - _02076B52 - 2; case 1 .short _02076B68 - _02076B52 - 2; case 2 .short _02076B68 - _02076B52 - 2; case 3 _02076B5A: cmp r5, #0xfe bhi _02076B62 beq _02076BF2 _02076B60: b _02076C72 _02076B62: cmp r5, #0xff beq _02076C34 b _02076C72 _02076B68: add r0, r4, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 bl FUN_02076F2C ldr r0, _02076C80 ; =0x0000069C mov r1, #0x3d ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r0, _02076C78 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] add r0, #0x23 strb r1, [r0, #0x0] ldr r0, _02076C84 ; =0x00000B22 mov r1, #0x15 strb r1, [r4, r0] b _02076C72 _02076BB2: ldr r0, _02076C80 ; =0x0000069C mov r1, #0x3f ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r0, _02076C78 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] add r0, #0x23 strb r1, [r0, #0x0] ldr r0, _02076C84 ; =0x00000B22 mov r1, #0x15 strb r1, [r4, r0] b _02076C72 _02076BF2: ldr r0, _02076C80 ; =0x0000069C mov r1, #0x34 ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r0, _02076C88 ; =FUN_02076DD4 ldr r1, _02076C8C ; =0x00000B18 ldr r2, _02076C90 ; =FUN_02076E28 str r0, [r4, r1] add r0, r1, #0x4 str r2, [r4, r0] mov r0, #0x16 add r1, #0xa strb r0, [r4, r1] b _02076C72 _02076C34: ldr r0, _02076C80 ; =0x0000069C mov r1, #0x3e ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r0, _02076C78 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] add r0, #0x23 strb r1, [r0, #0x0] ldr r0, _02076C84 ; =0x00000B22 mov r1, #0x15 strb r1, [r4, r0] _02076C72: mov r0, #0x14 pop {r4-r6, pc} nop _02076C78: .word 0x000005A4 _02076C7C: .word 0x00000B25 _02076C80: .word 0x0000069C _02076C84: .word 0x00000B22 _02076C88: .word FUN_02076DD4 _02076C8C: .word 0x00000B18 _02076C90: .word FUN_02076E28 thumb_func_start FUN_02076C94 FUN_02076C94: ; 0x02076C94 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, _02076D2C ; =0x000005A4 ldr r1, _02076D30 ; =0x00000B25 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 add r5, r0, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200ACF8 ldr r0, _02076D2C ; =0x000005A4 ldr r2, [r4, r0] add r1, r2, #0x0 add r1, #0x28 ldrb r1, [r1, #0x0] cmp r1, #0x4 bne _02076CDC add r0, #0xfc ldrh r2, [r2, #0x26] ldr r0, [r4, r0] mov r1, #0x1 bl FUN_0200AD5C add r0, r4, #0x0 bl FUN_02076E28 pop {r3-r5, pc} _02076CDC: add r0, r5, #0x0 add r1, #0x36 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 bl FUN_0200AD5C ldr r0, _02076D34 ; =0x0000069C mov r1, #0x3c ldr r0, [r4, r0] bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r0, _02076D38 ; =0x00000B22 mov r1, #0x12 strb r1, [r4, r0] mov r0, #0x14 pop {r3-r5, pc} .balign 4 _02076D2C: .word 0x000005A4 _02076D30: .word 0x00000B25 _02076D34: .word 0x0000069C _02076D38: .word 0x00000B22 thumb_func_start FUN_02076D3C FUN_02076D3C: ; 0x02076D3C push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076DC0 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _02076DBC ldr r0, _02076DC4 ; =0x000005A4 ldr r1, _02076DC8 ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 ldr r2, _02076DC4 ; =0x000005A4 add r1, r0, #0x0 ldr r2, [r5, r2] add r0, r5, #0x0 add r2, #0x28 ldrb r2, [r2, #0x0] bl FUN_02076F2C ldr r0, _02076DCC ; =0x0000069C mov r1, #0x3d ldr r0, [r5, r0] bl FUN_0200A914 mov r2, #0x6a lsl r2, r2, #0x4 add r4, r0, #0x0 ldr r0, [r5, r2] sub r2, #0xfc ldr r2, [r5, r2] mov r1, #0x1 ldrh r2, [r2, #0x26] bl FUN_0200AD5C mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x0 bl FUN_020731E8 ldr r0, _02076DC4 ; =0x000005A4 mov r1, #0x0 ldr r0, [r5, r0] add r0, #0x23 strb r1, [r0, #0x0] ldr r0, _02076DD0 ; =0x00000B22 mov r1, #0x15 strb r1, [r5, r0] mov r0, #0x14 pop {r3-r5, pc} _02076DBC: mov r0, #0x12 pop {r3-r5, pc} .balign 4 _02076DC0: .word 0x021C48B8 _02076DC4: .word 0x000005A4 _02076DC8: .word 0x00000B25 _02076DCC: .word 0x0000069C _02076DD0: .word 0x00000B22 thumb_func_start FUN_02076DD4 FUN_02076DD4: ; 0x02076DD4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076E1C ; =0x0000069C mov r1, #0x3b ldr r0, [r5, r0] bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x0 bl FUN_020731E8 ldr r0, _02076E20 ; =0x000005A4 mov r1, #0x4 ldr r0, [r5, r0] add r0, #0x23 strb r1, [r0, #0x0] ldr r0, _02076E24 ; =0x00000B22 mov r1, #0x15 strb r1, [r5, r0] mov r0, #0x14 pop {r3-r5, pc} nop _02076E1C: .word 0x0000069C _02076E20: .word 0x000005A4 _02076E24: .word 0x00000B22 thumb_func_start FUN_02076E28 FUN_02076E28: ; 0x02076E28 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076E70 ; =0x0000069C mov r1, #0x37 ldr r0, [r5, r0] bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r0, _02076E74 ; =FUN_02076E80 ldr r1, _02076E78 ; =0x00000B18 ldr r2, _02076E7C ; =FUN_02076ED4 str r0, [r5, r1] add r0, r1, #0x4 str r2, [r5, r0] mov r0, #0x16 add r1, #0xa strb r0, [r5, r1] mov r0, #0x14 pop {r3-r5, pc} .balign 4 _02076E70: .word 0x0000069C _02076E74: .word FUN_02076E80 _02076E78: .word 0x00000B18 _02076E7C: .word FUN_02076ED4 thumb_func_start FUN_02076E80 FUN_02076E80: ; 0x02076E80 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076EC8 ; =0x0000069C mov r1, #0x3a ldr r0, [r5, r0] bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x0 bl FUN_020731E8 ldr r0, _02076ECC ; =0x000005A4 mov r1, #0x0 ldr r0, [r5, r0] add r0, #0x23 strb r1, [r0, #0x0] ldr r0, _02076ED0 ; =0x00000B22 mov r1, #0x15 strb r1, [r5, r0] mov r0, #0x14 pop {r3-r5, pc} nop _02076EC8: .word 0x0000069C _02076ECC: .word 0x000005A4 _02076ED0: .word 0x00000B22 thumb_func_start FUN_02076ED4 FUN_02076ED4: ; 0x02076ED4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076F1C ; =0x0000069C mov r1, #0x34 ldr r0, [r5, r0] bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x0 bl FUN_020731E8 ldr r0, _02076F20 ; =FUN_02076DD4 ldr r1, _02076F24 ; =0x00000B18 ldr r2, _02076F28 ; =FUN_02076E28 str r0, [r5, r1] add r0, r1, #0x4 str r2, [r5, r0] mov r0, #0x16 add r1, #0xa strb r0, [r5, r1] mov r0, #0x14 pop {r3-r5, pc} .balign 4 _02076F1C: .word 0x0000069C _02076F20: .word FUN_02076DD4 _02076F24: .word 0x00000B18 _02076F28: .word FUN_02076E28 thumb_func_start FUN_02076F2C FUN_02076F2C: ; 0x02076F2C push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 ldr r0, _02076FAC ; =0x000005A4 add r6, r2, #0x0 ldr r0, [r5, r0] add r4, r1, #0x0 ldrh r0, [r0, #0x26] add r1, r6, #0x0 add r1, #0x36 str r0, [sp, #0x0] add r0, r4, #0x0 add r2, sp, #0x0 bl FUN_02067830 mov r0, #0x0 add r1, r6, #0x0 str r0, [sp, #0x0] add r0, r4, #0x0 add r1, #0x3e add r2, sp, #0x0 bl FUN_02067830 ldr r0, _02076FAC ; =0x000005A4 mov r1, #0x0 ldr r0, [r5, r0] ldrh r0, [r0, #0x26] bl FUN_0206AB30 add r6, #0x3a str r0, [sp, #0x0] add r0, r4, #0x0 add r1, r6, #0x0 add r2, sp, #0x0 bl FUN_02067830 ldr r0, _02076FAC ; =0x000005A4 ldr r1, [r5, r0] ldrh r0, [r1, #0x24] cmp r0, #0x0 beq _02076FA8 ldrh r0, [r1, #0x26] bl FUN_0206EA54 cmp r0, #0x0 bne _02076F98 ldr r0, _02076FAC ; =0x000005A4 mov r2, #0x1 ldr r1, [r5, r0] mov r3, #0xc ldr r0, [r1, #0x4] ldrh r1, [r1, #0x24] bl FUN_0206EDD4 _02076F98: add r0, r5, #0x0 bl FUN_020772CC add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x4 bl FUN_020688E8 _02076FA8: add sp, #0x4 pop {r3-r6, pc} .balign 4 _02076FAC: .word 0x000005A4 thumb_func_start FUN_02076FB0 FUN_02076FB0: ; 0x02076FB0 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _0207702C ; =0x000005A4 add r6, r1, #0x0 ldr r1, _02077030 ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 add r1, r6, #0x0 add r1, #0x36 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, _02077034 ; =0x0000069C add r1, r6, #0x0 ldr r0, [r5, r0] add r1, #0xa2 bl FUN_0200A914 add r7, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 add r2, r4, #0x0 bl FUN_0200AD5C mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, #0x8 ldr r1, [r5, r1] add r2, r7, #0x0 bl FUN_0200B7B8 add r0, r7, #0x0 bl FUN_02021A20 cmp r4, #0x0 ldr r1, _02077038 ; =0x000006F8 bne _0207701C ldr r0, [r5, r1] sub r1, #0x50 mov r2, #0x2 ldr r1, [r5, r1] mvn r2, r2 bl FUN_020128A0 mov r0, #0x0 pop {r3-r7, pc} _0207701C: ldr r0, [r5, r1] sub r1, #0x50 ldr r1, [r5, r1] add r2, r6, #0x0 bl FUN_020128A0 mov r0, #0x1 pop {r3-r7, pc} .balign 4 _0207702C: .word 0x000005A4 _02077030: .word 0x00000B25 _02077034: .word 0x0000069C _02077038: .word 0x000006F8 thumb_func_start FUN_0207703C FUN_0207703C: ; 0x0207703C push {r4-r5, lr} sub sp, #0x14 add r4, r0, #0x0 cmp r1, #0x0 bne _02077050 mov r1, #0x29 mov r2, #0x1 bl FUN_020731D4 b _02077058 _02077050: mov r1, #0x28 mov r2, #0x1 bl FUN_020731D4 _02077058: mov r0, #0x4 mov r1, #0xc bl FUN_02012838 ldr r1, _02077108 ; =0x000006F8 str r0, [r4, r1] add r0, r4, #0x0 mov r1, #0x0 bl FUN_02076FB0 add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02076FB0 add r0, r5, r0 lsl r0, r0, #0x18 lsr r5, r0, #0x18 add r0, r4, #0x0 mov r1, #0x2 bl FUN_02076FB0 add r0, r5, r0 lsl r0, r0, #0x18 lsr r5, r0, #0x18 add r0, r4, #0x0 mov r1, #0x3 bl FUN_02076FB0 add r0, r5, r0 lsl r0, r0, #0x18 lsr r1, r0, #0x18 ldr r0, _02077108 ; =0x000006F8 mov r2, #0x0 ldr r0, [r4, r0] str r0, [sp, #0x8] mov r0, #0x91 lsl r0, r0, #0x2 add r0, r4, r0 str r0, [sp, #0xc] add r0, sp, #0x8 strb r2, [r0, #0x8] mov r2, #0x1 strb r2, [r0, #0x9] mov r2, #0x4 strb r2, [r0, #0xa] ldrb r3, [r0, #0xb] mov r2, #0xf bic r3, r2 strb r3, [r0, #0xb] ldrb r3, [r0, #0xb] mov r2, #0x30 bic r3, r2 strb r3, [r0, #0xb] cmp r1, #0x4 ldrb r2, [r0, #0xb] bne _020770D6 mov r1, #0xc0 bic r2, r1 mov r1, #0x40 orr r1, r2 strb r1, [r0, #0xb] b _020770DC _020770D6: mov r1, #0xc0 bic r2, r1 strb r2, [r0, #0xb] _020770DC: mov r0, #0x91 lsl r0, r0, #0x2 mov r1, #0x1 add r0, r4, r0 add r2, r1, #0x0 mov r3, #0xe bl FUN_0200CCA4 mov r0, #0xc str r0, [sp, #0x0] mov r0, #0x2 mov r2, #0x0 str r0, [sp, #0x4] add r0, sp, #0x8 mov r1, #0x8 add r3, r2, #0x0 bl FUN_02001C14 ldr r1, _0207710C ; =0x000006FC str r0, [r4, r1] add sp, #0x14 pop {r4-r5, pc} .balign 4 _02077108: .word 0x000006F8 _0207710C: .word 0x000006FC thumb_func_start FUN_02077110 FUN_02077110: ; 0x02077110 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 ldr r0, _0207722C ; =0x000006FC ldr r0, [r5, r0] bl FUN_02001C78 add r4, r0, #0x0 mov r0, #0x1 mvn r0, r0 cmp r4, r0 beq _02077130 add r0, r0, #0x1 cmp r4, r0 beq _02077226 b _0207716A _02077130: mov r0, #0x85 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 bl FUN_0200D0E0 mov r0, #0x91 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 bl FUN_0200CCF8 ldr r0, _0207722C ; =0x000006FC mov r1, #0x0 ldr r0, [r5, r0] bl FUN_02001C5C ldr r0, _02077230 ; =0x000006F8 ldr r0, [r5, r0] bl FUN_02012870 add r0, r5, #0x0 mov r1, #0x20 mov r2, #0x1 bl FUN_020731C0 add sp, #0x8 mov r0, #0x4 pop {r4-r6, pc} _0207716A: mov r0, #0x85 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 bl FUN_0200D0E0 mov r0, #0x91 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 bl FUN_0200CCF8 ldr r0, _0207722C ; =0x000006FC mov r1, #0x0 ldr r0, [r5, r0] bl FUN_02001C5C ldr r0, _02077230 ; =0x000006F8 ldr r0, [r5, r0] bl FUN_02012870 ldr r0, _02077234 ; =0x000005A4 ldr r6, [r5, r0] add r0, r5, #0x0 bl FUN_020772CC str r0, [sp, #0x0] mov r0, #0xc str r0, [sp, #0x4] ldr r2, _02077238 ; =0x00000B25 lsl r3, r4, #0x18 ldrh r1, [r6, #0x24] ldrb r2, [r5, r2] ldr r0, [r6, #0x0] lsr r3, r3, #0x18 bl FUN_02084DD0 cmp r0, #0x1 bne _020771F6 ldr r0, _02077234 ; =0x000005A4 ldr r1, _02077238 ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] bl FUN_0206B9B0 add r4, #0x36 add r1, r4, #0x0 mov r2, #0x0 bl FUN_020671BC ldr r1, _02077234 ; =0x000005A4 add r2, r0, #0x0 ldr r1, [r5, r1] add r0, r5, #0x0 ldrh r1, [r1, #0x24] bl FUN_020757F4 ldr r0, _02077234 ; =0x000005A4 mov r2, #0x1 ldr r1, [r5, r0] mov r3, #0xc ldr r0, [r1, #0x4] ldrh r1, [r1, #0x24] bl FUN_0206EDD4 ldr r0, _0207723C ; =0x000005EC bl FUN_020054C8 b _02077204 _020771F6: ldr r2, _02077240 ; =0x0000069C mov r1, #0x69 ldr r0, [r5, r2] add r2, #0x8 ldr r2, [r5, r2] bl FUN_0200A8E0 _02077204: mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r0, _02077234 ; =0x000005A4 mov r1, #0x0 ldr r0, [r5, r0] add sp, #0x8 add r0, #0x23 strb r1, [r0, #0x0] ldr r0, _02077244 ; =0x00000B22 mov r1, #0x15 strb r1, [r5, r0] mov r0, #0x14 pop {r4-r6, pc} _02077226: mov r0, #0x6 add sp, #0x8 pop {r4-r6, pc} .balign 4 _0207722C: .word 0x000006FC _02077230: .word 0x000006F8 _02077234: .word 0x000005A4 _02077238: .word 0x00000B25 _0207723C: .word 0x000005EC _02077240: .word 0x0000069C _02077244: .word 0x00000B22 thumb_func_start FUN_02077248 FUN_02077248: ; 0x02077248 push {r4, lr} add r4, r0, #0x0 mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_0200D0E0 ldr r0, _020772BC ; =0x00000B25 ldr r2, _020772C0 ; =0x0000070C ldrb r1, [r4, r0] mov r0, #0x2c mul r0, r1 add r0, r4, r0 ldrh r0, [r0, r2] cmp r0, #0x0 bne _02077286 add r0, r2, #0x0 sub r0, #0x70 sub r2, #0x68 ldr r0, [r4, r0] ldr r2, [r4, r2] mov r1, #0x7f bl FUN_0200A8E0 ldr r1, _020772BC ; =0x00000B25 add r0, r4, #0x0 ldrb r1, [r4, r1] bl FUN_02073AB8 b _0207729C _02077286: add r0, r2, #0x0 sub r0, #0x70 sub r2, #0x68 ldr r0, [r4, r0] ldr r2, [r4, r2] mov r1, #0x80 bl FUN_0200A8E0 ldr r0, _020772BC ; =0x00000B25 mov r1, #0x7 strb r1, [r4, r0] _0207729C: mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 bl FUN_020731E8 ldr r0, _020772C4 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] add r0, #0x23 strb r1, [r0, #0x0] ldr r0, _020772C8 ; =0x00000B22 mov r1, #0x15 strb r1, [r4, r0] pop {r4, pc} nop _020772BC: .word 0x00000B25 _020772C0: .word 0x0000070C _020772C4: .word 0x000005A4 _020772C8: .word 0x00000B22 thumb_func_start FUN_020772CC FUN_020772CC: ; 0x020772CC push {r3, lr} ldr r1, _020772E4 ; =0x000005A4 ldr r0, [r0, r1] ldr r0, [r0, #0x1c] ldr r0, [r0, #0x1c] ldr r0, [r0, #0x0] bl FUN_02034824 lsl r0, r0, #0x10 lsr r0, r0, #0x10 pop {r3, pc} nop _020772E4: .word 0x000005A4 thumb_func_start FUN_020772E8 FUN_020772E8: ; 0x020772E8 push {r3-r6, lr} sub sp, #0xc add r5, r1, #0x0 ldr r1, [r5, #0x0] add r6, r0, #0x0 cmp r1, #0x0 beq _020772FE cmp r1, #0x1 bne _020772FC b _02077456 _020772FC: b _02077490 _020772FE: mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F10 bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] ldr r0, _02077498 ; =0xFFFFE0FF and r1, r0 str r1, [r2, #0x0] ldr r2, _0207749C ; =0x04001000 ldr r1, [r2, #0x0] and r0, r1 str r0, [r2, #0x0] mov r2, #0xa mov r0, #0x3 mov r1, #0x12 lsl r2, r2, #0xe bl FUN_0201681C mov r1, #0x5d add r0, r6, #0x0 lsl r1, r1, #0x4 mov r2, #0x12 bl FUN_02006268 mov r2, #0x5d mov r1, #0x0 lsl r2, r2, #0x4 add r4, r0, #0x0 blx Call_FillMemWithValue mov r0, #0x12 bl FUN_02016B94 mov r1, #0x16 lsl r1, r1, #0x4 str r0, [r4, r1] mov r0, #0x12 bl FUN_0200AA80 mov r2, #0x5a lsl r2, r2, #0x2 str r0, [r4, r2] mov r0, #0x0 mov r1, #0x1a add r2, #0xb mov r3, #0x12 bl FUN_0200A86C mov r2, #0x5b lsl r2, r2, #0x2 str r0, [r4, r2] mov r0, #0x1 mov r1, #0x1a add r2, #0xc mov r3, #0x12 bl FUN_0200A86C mov r2, #0x17 lsl r2, r2, #0x4 str r0, [r4, r2] mov r0, #0x1 mov r1, #0x1a sub r2, #0x2c mov r3, #0x12 bl FUN_0200A86C mov r1, #0x5d lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0x4 mov r1, #0x8 bl FUN_0201669C bl FUN_02077B24 mov r0, #0x16 lsl r0, r0, #0x4 ldr r0, [r4, r0] bl FUN_02077B44 add r0, r6, #0x0 bl FUN_0200628C add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02077B08 add r0, r4, #0x0 bl FUN_02077FE8 mov r0, #0x2 mov r1, #0x12 bl FUN_02002C50 ldr r0, _020774A0 ; =FUN_02077AE8 mov r1, #0x0 bl FUN_02015F10 add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_02077CD4 mov r0, #0x0 mov r1, #0x12 bl FUN_02002C84 bl FUN_02078110 add r0, r4, #0x0 bl FUN_02078140 add r0, r4, #0x0 bl FUN_0207835C add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_0207890C ldr r0, _020774A4 ; =0x000004C4 mov r3, #0x5f add r1, r4, r0 lsl r3, r3, #0x2 str r1, [sp, #0x0] ldr r1, [r4, r3] add r2, r3, #0x0 str r1, [sp, #0x4] sub r2, #0x24 sub r0, #0xcc add r1, r4, #0x0 sub r3, #0x22 ldrh r2, [r4, r2] add r0, r4, r0 add r1, #0xd8 add r3, r4, r3 bl FUN_0207907C mov r1, #0x0 mov r0, #0x34 add r2, r1, #0x0 bl FUN_0200433C mov r0, #0x10 str r0, [sp, #0x0] mov r1, #0x1 str r1, [sp, #0x4] mov r0, #0x12 str r0, [sp, #0x8] mov r0, #0x0 add r2, r1, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 mov r0, #0x1 bl FUN_02077C84 ldr r0, _020774A8 ; =0x021C4918 mov r1, #0x1 strb r1, [r0, #0x5] bl FUN_0201E7A0 ldr r0, [r5, #0x0] add r0, r0, #0x1 str r0, [r5, #0x0] b _02077490 _02077456: bl FUN_02006278 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x1 bne _02077472 ldr r1, _020774AC ; =0x000004B8 ldr r2, [r4, #0x4] ldr r0, [r4, r1] add r1, #0x8 ldr r1, [r4, r1] ldr r3, [r4, #0x8] bl FUN_020774B8 _02077472: ldr r0, _020774B0 ; =0x021C5C54 mov r1, #0x1 str r4, [r0, #0x0] mov r0, #0x0 mov r2, #0xc mov r3, #0x12 bl FUN_020142EC ldr r1, _020774B4 ; =0x000005C4 add sp, #0xc str r0, [r4, r1] mov r0, #0x0 str r0, [r5, #0x0] mov r0, #0x1 pop {r3-r6, pc} _02077490: mov r0, #0x0 add sp, #0xc pop {r3-r6, pc} nop _02077498: .word 0xFFFFE0FF _0207749C: .word 0x04001000 _020774A0: .word FUN_02077AE8 _020774A4: .word 0x000004C4 _020774A8: .word 0x021C4918 _020774AC: .word 0x000004B8 _020774B0: .word 0x021C5C54 _020774B4: .word 0x000005C4 thumb_func_start FUN_020774B8 FUN_020774B8: ; 0x020774B8 push {r4-r6, lr} add r4, r1, #0x0 add r5, r2, #0x0 mov r2, #0x2 ldr r0, [r0, #0x14] ldr r1, _020774E8 ; =0x000057E0 add r6, r3, #0x0 lsl r2, r2, #0x8 blx GX_LoadOBJ ldr r4, [r4, #0xc] add r0, r5, #0x0 add r1, r6, #0x0 mov r2, #0x0 bl FUN_0206B7BC lsl r0, r0, #0x5 add r0, r4, r0 mov r1, #0xc0 mov r2, #0x20 blx GX_LoadOBJPltt pop {r4-r6, pc} nop _020774E8: .word 0x000057E0 thumb_func_start FUN_020774EC FUN_020774EC: ; 0x020774EC push {r4-r6, lr} sub sp, #0x10 add r5, r1, #0x0 add r6, r0, #0x0 bl FUN_02006278 ldr r1, [r5, #0x0] add r4, r0, #0x0 cmp r1, #0x3 bhi _02077550 add r2, r1, r1 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0207750C: ; jump table (using 16-bit offset) .short _02077514 - _0207750C - 2; case 0 .short _02077528 - _0207750C - 2; case 1 .short _0207755C - _0207750C - 2; case 2 .short _0207768A - _0207750C - 2; case 3 _02077514: bl FUN_0200E308 cmp r0, #0x0 beq _02077550 mov r0, #0x1 str r0, [r5, #0x0] ldr r0, _020776A8 ; =0x000005CC mov r1, #0x0 str r1, [r4, r0] b _02077698 _02077528: ldr r1, _020776A8 ; =0x000005CC ldr r2, [r4, r1] add r2, r2, #0x1 str r2, [r4, r1] bl FUN_020798C4 mov r2, #0x49 lsl r2, r2, #0x4 add r0, r4, r2 mov r1, #0xcb sub r2, #0x30 lsl r1, r1, #0x2 ldr r2, [r4, r2] add r1, r4, r1 bl FUN_02079834 ldr r0, _020776A8 ; =0x000005CC ldr r1, [r4, r0] cmp r1, #0x5 bgt _02077552 _02077550: b _02077698 _02077552: mov r1, #0x2 str r1, [r5, #0x0] mov r1, #0x0 str r1, [r4, r0] b _02077698 _0207755C: ldr r3, _020776AC ; =0x0000045C ldr r2, [r4, r3] cmp r2, #0x7 bhi _02077636 add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _02077570: ; jump table (using 16-bit offset) .short _02077636 - _02077570 - 2; case 0 .short _02077636 - _02077570 - 2; case 1 .short _02077636 - _02077570 - 2; case 2 .short _02077636 - _02077570 - 2; case 3 .short _02077580 - _02077570 - 2; case 4 .short _02077594 - _02077570 - 2; case 5 .short _020775E0 - _02077570 - 2; case 6 .short _0207760C - _02077570 - 2; case 7 _02077580: ldr r2, [r4, #0x34] cmp r2, #0x0 bne _0207758C bl FUN_020776C4 str r0, [r5, #0x0] _0207758C: add r0, r4, #0x0 bl FUN_020798C4 b _02077636 _02077594: add r1, r6, #0x0 bl FUN_02077E90 ldr r0, _020776B0 ; =0x00000448 mov r1, #0xf add r0, r4, r0 bl FUN_02019620 ldr r0, _020776B0 ; =0x00000448 mov r2, #0x1 add r0, r4, r0 mov r1, #0x0 lsl r2, r2, #0x8 mov r3, #0xa bl FUN_0200D0BC mov r3, #0x0 mov r2, #0x6 ldr r0, _020776B0 ; =0x00000448 str r3, [sp, #0x0] mov r1, #0x1 str r1, [sp, #0x4] str r3, [sp, #0x8] lsl r2, r2, #0x6 ldr r2, [r4, r2] add r0, r4, r0 bl FUN_0201BD84 ldr r1, _020776B4 ; =0x00000458 str r0, [r4, r1] sub r1, #0x10 add r0, r4, r1 bl FUN_020191D0 ldr r0, _020776AC ; =0x0000045C mov r1, #0x6 str r1, [r4, r0] b _02077636 _020775E0: sub r0, r3, #0x4 ldr r0, [r4, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0201BD70 cmp r0, #0x0 bne _02077636 ldr r0, _020776B8 ; =0x000005E2 bl FUN_020054C8 ldr r1, _020776BC ; =0x000004A8 mov r2, #0x0 ldr r0, [r4, r1] add r0, r0, #0x1 str r0, [r4, r1] ldr r0, _020776A8 ; =0x000005CC sub r1, #0x4c str r2, [r4, r0] mov r0, #0x7 str r0, [r4, r1] b _02077636 _0207760C: ldr r0, _020776A8 ; =0x000005CC ldr r1, [r4, r0] add r1, r1, #0x1 str r1, [r4, r0] ldr r0, [r4, r0] cmp r0, #0x1e ble _02077636 mov r0, #0x10 str r0, [sp, #0x0] mov r1, #0x0 mov r0, #0x1 str r0, [sp, #0x4] mov r0, #0x12 str r0, [sp, #0x8] mov r0, #0x2 add r2, r1, #0x0 add r3, r1, #0x0 bl FUN_0200E1D0 mov r0, #0x3 str r0, [r5, #0x0] _02077636: ldr r3, _020776C0 ; =0x00000464 mov r1, #0xcb add r0, r4, r3 str r0, [sp, #0x0] add r0, r3, #0x4 add r0, r4, r0 lsl r1, r1, #0x2 str r0, [sp, #0x4] add r0, r4, r1 str r0, [sp, #0x8] add r0, r3, #0x0 add r0, #0x4c ldr r0, [r4, r0] add r2, r3, #0x0 ldr r0, [r0, #0x14] add r1, #0x8c str r0, [sp, #0xc] mov r0, #0x16 lsl r0, r0, #0x4 sub r3, r3, #0x4 sub r2, #0x8 ldr r0, [r4, r0] ldr r3, [r4, r3] add r1, r4, r1 add r2, r4, r2 bl FUN_020786B0 mov r2, #0x49 lsl r2, r2, #0x4 add r0, r4, r2 mov r1, #0xcb sub r2, #0x30 lsl r1, r1, #0x2 ldr r2, [r4, r2] add r1, r4, r1 bl FUN_02079834 add r0, r4, #0x0 add r0, #0x38 bl FUN_02078E3C b _02077698 _0207768A: bl FUN_0200E308 cmp r0, #0x0 beq _02077698 add sp, #0x10 mov r0, #0x1 pop {r4-r6, pc} _02077698: mov r0, #0x62 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_0201FDEC mov r0, #0x0 add sp, #0x10 pop {r4-r6, pc} .balign 4 _020776A8: .word 0x000005CC _020776AC: .word 0x0000045C _020776B0: .word 0x00000448 _020776B4: .word 0x00000458 _020776B8: .word 0x000005E2 _020776BC: .word 0x000004A8 _020776C0: .word 0x00000464 thumb_func_start FUN_020776C4 FUN_020776C4: ; 0x020776C4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02078C98 ldr r0, _020777BC ; =0x021C48B8 mov r1, #0x4 ldr r0, [r0, #0x48] tst r1, r0 beq _02077746 ldr r0, [r5, #0x0] cmp r0, #0x4 beq _0207771E ldr r1, _020777C0 ; =0x0000045C mov r0, #0x0 str r0, [r5, r1] add r2, r1, #0x4 ldr r2, [r5, r2] add r3, r2, #0x1 add r2, r1, #0x4 str r3, [r5, r2] ldr r2, [r5, r2] cmp r2, #0x3 blt _020776F8 add r1, r1, #0x4 str r0, [r5, r1] _020776F8: mov r2, #0x49 lsl r2, r2, #0x4 add r1, r2, #0x0 sub r1, #0x30 ldr r1, [r5, r1] add r0, r5, r2 lsl r3, r1, #0x2 ldr r1, [r0, r3] sub r2, #0x30 add r1, r1, #0x1 str r1, [r0, r3] add r0, r5, #0x0 ldr r1, [r5, r2] add r0, #0x3a bl FUN_0207916C ldr r0, _020777C4 ; =0x0000069E bl FUN_020054C8 _0207771E: mov r2, #0x49 lsl r2, r2, #0x4 add r1, r2, #0x0 sub r1, #0x30 ldr r1, [r5, r1] add r0, r5, r2 lsl r3, r1, #0x2 ldr r1, [r0, r3] sub r2, #0x30 add r1, r1, #0x1 str r1, [r0, r3] add r0, r5, #0x0 ldr r1, [r5, r2] add r0, #0x3a bl FUN_0207916C ldr r0, _020777C4 ; =0x0000069E bl FUN_020054C8 b _020777B8 _02077746: mov r2, #0x1 add r1, r0, #0x0 tst r1, r2 beq _0207776C ldr r3, [r5, #0x20] mov r1, #0x1a mul r1, r3 add r3, r5, r1 ldr r1, [r5, #0x1c] add r0, r5, #0x0 lsl r1, r1, #0x1 add r1, r3, r1 ldrh r1, [r1, #0x3a] bl FUN_020791C0 add r4, r0, #0x0 mov r0, #0x1 str r0, [r5, #0x30] b _020777B8 _0207776C: ldr r1, _020777C8 ; =0x000005C8 ldr r1, [r5, r1] cmp r1, #0x1 bne _02077794 ldr r2, [r5, #0x20] mov r1, #0x1a mul r1, r2 add r2, r5, r1 ldr r1, [r5, #0x1c] add r0, r5, #0x0 lsl r1, r1, #0x1 add r1, r2, r1 ldrh r1, [r1, #0x3a] mov r2, #0x0 bl FUN_020791C0 add r4, r0, #0x0 mov r0, #0x0 str r0, [r5, #0x30] b _020777B8 _02077794: mov r1, #0x2 add r3, r0, #0x0 tst r3, r1 beq _020777A8 ldr r1, _020777CC ; =0x0000E007 add r0, r5, #0x0 bl FUN_020791C0 add r4, r0, #0x0 b _020777B8 _020777A8: add r1, #0xfe tst r0, r1 beq _020777B8 ldr r1, _020777D0 ; =0x0000E006 add r0, r5, #0x0 bl FUN_020791C0 add r4, r0, #0x0 _020777B8: add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 _020777BC: .word 0x021C48B8 _020777C0: .word 0x0000045C _020777C4: .word 0x0000069E _020777C8: .word 0x000005C8 _020777CC: .word 0x0000E007 _020777D0: .word 0x0000E006 thumb_func_start FUN_020777D4 FUN_020777D4: ; 0x020777D4 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r4, r1, #0x0 cmp r0, #0x0 bne _02077836 ldr r0, [r5, #0x4] cmp r0, #0x0 bne _020777FE bl FUN_0201B9EC mov r1, #0x12 blx _s32_div_f mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r5, r0] bl FUN_0200A914 add r6, r0, #0x0 b _0207781A _020777FE: cmp r0, #0x1 bne _0207781A bl FUN_0201B9EC mov r1, #0x12 blx _s32_div_f mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r5, r0] add r1, #0x12 bl FUN_0200A914 add r6, r0, #0x0 _0207781A: ldr r0, [r4, #0x18] add r1, r6, #0x0 bl FUN_02021A74 add r0, r6, #0x0 bl FUN_02021A20 ldr r0, [r4, #0x18] add r4, #0x1c add r1, r4, #0x0 mov r2, #0xa bl FUN_02021EF0 pop {r4-r6, pc} _02077836: cmp r0, #0x3 bne _02077864 mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x58 bl FUN_0200A914 add r5, r0, #0x0 ldr r0, [r4, #0x18] add r1, r5, #0x0 bl FUN_02021A74 add r0, r5, #0x0 bl FUN_02021A20 ldr r0, [r4, #0x18] add r4, #0x1c add r1, r4, #0x0 mov r2, #0xa bl FUN_02021EF0 pop {r4-r6, pc} _02077864: mov r0, #0x1 str r0, [r4, #0x14] pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0207786C FUN_0207786C: ; 0x0207786C push {r4-r5} ldr r1, _0207788C ; =0x000001DE ldr r2, _02077890 ; =0x0000FFFF mov r5, #0x1 mov r3, #0x0 _02077876: ldrh r4, [r0, #0x0] cmp r4, r2 beq _02077886 cmp r4, r1 beq _02077882 add r5, r3, #0x0 _02077882: add r0, r0, #0x2 b _02077876 _02077886: add r0, r5, #0x0 pop {r4-r5} bx lr .balign 4 _0207788C: .word 0x000001DE _02077890: .word 0x0000FFFF thumb_func_start FUN_02077894 FUN_02077894: ; 0x02077894 push {r4-r7, lr} sub sp, #0x14 str r0, [sp, #0x10] bl FUN_02006278 add r4, r0, #0x0 ldr r0, [sp, #0x10] bl FUN_0200628C add r5, r0, #0x0 mov r0, #0x56 lsl r0, r0, #0x2 ldrh r0, [r4, r0] ldr r1, _02077A6C ; =0x0000FFFF lsl r0, r0, #0x1 add r0, r4, r0 add r0, #0xd8 strh r1, [r0, #0x0] ldr r0, [r4, #0x0] cmp r0, #0x1 bne _020778DE mov r0, #0x12 bl FUN_020669C0 mov r3, #0xa str r3, [sp, #0x0] str r3, [sp, #0x4] str r3, [sp, #0x8] str r3, [sp, #0xc] ldr r1, [r4, #0x4] add r6, r0, #0x0 mov r2, #0x5 bl FUN_02066ACC add r0, r6, #0x0 bl FUN_02016A18 _020778DE: mov r1, #0x56 lsl r1, r1, #0x2 ldrh r0, [r4, r1] cmp r0, #0x0 beq _02077904 add r0, r4, #0x0 sub r1, #0x40 add r0, #0xd8 add r1, r4, r1 bl StringNotEqual cmp r0, #0x0 beq _02077904 add r0, r4, #0x0 add r0, #0xd8 bl FUN_0207786C cmp r0, #0x0 beq _0207790E _02077904: add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_020777D4 b _02077932 _0207790E: mov r0, #0x46 lsl r0, r0, #0x2 add r1, r4, #0x0 add r0, r4, r0 add r1, #0xd8 bl StringCopy add r0, r5, #0x0 add r1, r4, #0x0 add r0, #0x1c add r1, #0xd8 bl StringCopy add r1, r4, #0x0 ldr r0, [r5, #0x18] add r1, #0xd8 bl FUN_02021E28 _02077932: mov r0, #0x61 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02021A20 mov r7, #0xe7 mov r6, #0x0 add r5, r4, #0x0 lsl r7, r7, #0x2 _02077944: ldr r0, [r5, r7] bl FUN_0200621C add r6, r6, #0x1 add r5, r5, #0x4 cmp r6, #0x7 blt _02077944 mov r0, #0xb1 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02009C0C mov r0, #0xb5 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02009C0C mov r0, #0xb2 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02009E04 mov r0, #0xb6 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02009E04 mov r7, #0xad mov r6, #0x0 add r5, r4, #0x0 lsl r7, r7, #0x2 _02077982: ldr r0, [r5, r7] bl FUN_02008E2C add r6, r6, #0x1 add r5, r5, #0x4 cmp r6, #0x4 blt _02077982 mov r0, #0x62 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_0201FD58 bl FUN_02009FA0 ldr r1, _02077A70 ; =0x000004AC mov r0, #0x12 ldr r1, [r4, r1] bl FUN_02016A8C ldr r0, [r4, #0x0] cmp r0, #0x1 bne _020779C2 ldr r1, _02077A74 ; =0x000004B4 mov r0, #0x12 ldr r1, [r4, r1] bl FUN_02016A8C ldr r1, _02077A78 ; =0x000004BC mov r0, #0x12 ldr r1, [r4, r1] bl FUN_02016A8C _020779C2: mov r0, #0x16 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x7 bl FUN_020178A0 bl FUN_0201D12C bl FUN_0201E08C mov r0, #0x16 lsl r0, r0, #0x4 mov r1, #0xee lsl r1, r1, #0x2 ldr r0, [r4, r0] add r1, r4, r1 bl FUN_02077FA8 mov r0, #0x0 bl FUN_02002CC0 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] ldr r0, _02077A7C ; =0xFFFF1FFF and r0, r1 str r0, [r2, #0x0] mov r0, #0x2 bl FUN_02002CF8 mov r0, #0x6 lsl r0, r0, #0x6 ldr r0, [r4, r0] cmp r0, #0x0 beq _02077A0C bl FUN_02021A20 _02077A0C: mov r0, #0x5e lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02021A20 mov r0, #0x5f lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02021A20 mov r0, #0x5d lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_0200A8B8 mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r4, r0] bl FUN_0200A8B8 mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_0200A8B8 mov r0, #0x5a lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_0200AB18 ldr r0, [sp, #0x10] bl FUN_0200627C mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F10 mov r0, #0x12 bl FUN_020168D0 ldr r0, _02077A80 ; =0x021C4918 mov r1, #0x0 strb r1, [r0, #0x5] bl FUN_0201E7A0 mov r0, #0x1 add sp, #0x14 pop {r4-r7, pc} .balign 4 _02077A6C: .word 0x0000FFFF _02077A70: .word 0x000004AC _02077A74: .word 0x000004B4 _02077A78: .word 0x000004BC _02077A7C: .word 0xFFFF1FFF _02077A80: .word 0x021C4918 thumb_func_start FUN_02077A84 FUN_02077A84: ; 0x02077A84 push {r3-r7, lr} add r6, r1, #0x0 mov r1, #0x50 str r0, [sp, #0x0] add r7, r2, #0x0 add r5, r3, #0x0 bl FUN_02016998 add r4, r0, #0x0 str r6, [r4, #0x0] str r7, [r4, #0x4] str r5, [r4, #0xc] mov r0, #0x0 str r0, [r4, #0x14] ldr r0, _02077AC0 ; =0x0000FFFF ldr r1, [sp, #0x0] strh r0, [r4, #0x1c] add r0, r5, #0x1 bl FUN_020219F4 str r0, [r4, #0x18] mov r1, #0x0 str r1, [r4, #0x44] str r1, [r4, #0x48] ldr r0, [sp, #0x18] str r1, [r4, #0x10] str r0, [r4, #0x4c] str r1, [r4, #0x8] add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 _02077AC0: .word 0x0000FFFF thumb_func_start FUN_02077AC4 FUN_02077AC4: ; 0x02077AC4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x18] cmp r0, #0x0 bne _02077AD2 bl ErrorHandling _02077AD2: cmp r4, #0x0 bne _02077ADA bl ErrorHandling _02077ADA: ldr r0, [r4, #0x18] bl FUN_02021A20 add r0, r4, #0x0 bl FUN_02016A18 pop {r4, pc} thumb_func_start FUN_02077AE8 FUN_02077AE8: ; 0x02077AE8 push {r3, lr} bl FUN_0201C30C bl FUN_02009F80 ldr r3, _02077B00 ; =0x027E0000 ldr r1, _02077B04 ; =0x00003FF8 mov r0, #0x1 ldr r2, [r3, r1] orr r0, r2 str r0, [r3, r1] pop {r3, pc} .balign 4 _02077B00: .word 0x027E0000 _02077B04: .word 0x00003FF8 thumb_func_start FUN_02077B08 FUN_02077B08: ; 0x02077B08 ldr r2, [r1, #0x0] str r2, [r0, #0x0] ldr r2, [r1, #0x4] str r2, [r0, #0x4] ldr r2, [r1, #0x8] str r2, [r0, #0x8] ldr r2, [r1, #0xc] str r2, [r0, #0xc] ldr r2, [r1, #0x10] str r2, [r0, #0x10] ldr r1, [r1, #0x4c] str r1, [r0, #0x18] bx lr .balign 4 thumb_func_start FUN_02077B24 FUN_02077B24: ; 0x02077B24 push {r4, lr} sub sp, #0x28 ldr r4, _02077B40 ; =0x020FA12C add r3, sp, #0x0 mov r2, #0x5 _02077B2E: ldmia r4!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _02077B2E add r0, sp, #0x0 bl FUN_0201E66C add sp, #0x28 pop {r4, pc} .balign 4 _02077B40: .word 0x020FA12C thumb_func_start FUN_02077B44 FUN_02077B44: ; 0x02077B44 push {r3-r5, lr} sub sp, #0x80 ldr r5, _02077C68 ; =0x020F9D4C add r3, sp, #0x70 add r4, r0, #0x0 add r2, r3, #0x0 ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 bl FUN_02016BBC ldr r5, _02077C6C ; =0x020F9EC0 add r3, sp, #0x54 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 add r3, r1, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x0 bl FUN_02018744 ldr r5, _02077C70 ; =0x020F9FA0 add r3, sp, #0x38 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x1 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02018744 ldr r5, _02077C74 ; =0x020FA064 add r3, sp, #0x1c ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x2 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x2 bl FUN_02018744 ldr r5, _02077C78 ; =0x020F9DFC add r3, sp, #0x0 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x4 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x4 bl FUN_02018744 mov r0, #0x0 bl FUN_02077C84 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 mov r3, #0x12 bl FUN_02017F18 mov r0, #0x4 mov r1, #0x20 mov r2, #0x0 mov r3, #0x12 bl FUN_02017F18 mov r0, #0x1 lsl r0, r0, #0x1a add r4, r0, #0x0 ldr r2, [r0, #0x0] ldr r1, _02077C7C ; =0xFFFF1FFF add r4, #0x48 and r2, r1 lsr r1, r0, #0xd orr r1, r2 str r1, [r0, #0x0] ldrh r3, [r4, #0x0] mov r2, #0x3f mov r1, #0x14 bic r3, r2 orr r1, r3 mov r3, #0x20 orr r1, r3 strh r1, [r4, #0x0] add r4, r0, #0x0 add r4, #0x4a ldrh r5, [r4, #0x0] mov r1, #0x1f bic r5, r2 orr r1, r5 orr r1, r3 strh r1, [r4, #0x0] add r1, r0, #0x0 mov r2, #0xff add r1, #0x40 strh r2, [r1, #0x0] mov r1, #0x40 add r0, #0x44 strh r1, [r0, #0x0] ldr r0, _02077C80 ; =0x04001050 mov r1, #0x0 strh r1, [r0, #0x0] add sp, #0x80 pop {r3-r5, pc} .balign 4 _02077C68: .word 0x020F9D4C _02077C6C: .word 0x020F9EC0 _02077C70: .word 0x020F9FA0 _02077C74: .word 0x020FA064 _02077C78: .word 0x020F9DFC _02077C7C: .word 0xFFFF1FFF _02077C80: .word 0x04001050 thumb_func_start FUN_02077C84 FUN_02077C84: ; 0x02077C84 push {r4, lr} add r4, r0, #0x0 lsl r1, r4, #0x18 mov r0, #0x1 lsr r1, r1, #0x18 bl FUN_0201E6E4 lsl r1, r4, #0x18 mov r0, #0x2 lsr r1, r1, #0x18 bl FUN_0201E6E4 lsl r1, r4, #0x18 mov r0, #0x4 lsr r1, r1, #0x18 bl FUN_0201E6E4 mov r0, #0x8 mov r1, #0x0 bl FUN_0201E6E4 lsl r1, r4, #0x18 mov r0, #0x10 lsr r1, r1, #0x18 bl FUN_0201E6E4 lsl r1, r4, #0x18 mov r0, #0x1 lsr r1, r1, #0x18 bl FUN_0201E74C mov r0, #0x2 mov r1, #0x0 bl FUN_0201E74C mov r0, #0x10 mov r1, #0x0 bl FUN_0201E74C pop {r4, pc} thumb_func_start FUN_02077CD4 FUN_02077CD4: ; 0x02077CD4 push {r3-r7, lr} sub sp, #0x10 add r4, r0, #0x0 add r0, r1, #0x0 bl FUN_0200628C add r7, r0, #0x0 ldr r0, _02077E7C ; =0x0000045C mov r1, #0x4 str r1, [r4, r0] add r0, #0xc add r0, r4, r0 mov r1, #0x0 bl FUN_02078BA8 ldr r6, _02077E80 ; =0x00000464 mov r0, #0x16 ldr r3, [r4, r6] mov r5, #0xc lsl r0, r0, #0x4 lsl r1, r3, #0x18 mul r5, r3 add r3, r4, r5 add r5, r6, #0x4 ldr r0, [r4, r0] ldr r3, [r3, r5] lsr r1, r1, #0x18 mov r2, #0x0 bl FUN_020179E0 ldr r3, [r4, r6] mov r5, #0xc mov r0, #0x16 lsl r0, r0, #0x4 lsl r1, r3, #0x18 mul r5, r3 add r3, r4, r5 add r6, #0x8 ldr r0, [r4, r0] ldr r3, [r3, r6] lsr r1, r1, #0x18 mov r2, #0x3 bl FUN_020179E0 ldr r6, _02077E80 ; =0x00000464 mov r0, #0x1 ldr r1, [r4, r6] mov r5, #0xc add r3, r1, #0x0 eor r3, r0 mov r0, #0x16 lsl r0, r0, #0x4 lsl r1, r3, #0x18 mul r5, r3 add r3, r4, r5 add r5, r6, #0x4 ldr r0, [r4, r0] ldr r3, [r3, r5] lsr r1, r1, #0x18 mov r2, #0x0 bl FUN_020179E0 ldr r1, [r4, r6] mov r0, #0x1 add r3, r1, #0x0 eor r3, r0 mov r5, #0xc mov r0, #0x16 lsl r0, r0, #0x4 lsl r1, r3, #0x18 mul r5, r3 add r3, r4, r5 add r6, #0x8 ldr r0, [r4, r0] ldr r3, [r3, r6] lsr r1, r1, #0x18 mov r2, #0x3 bl FUN_020179E0 mov r1, #0x46 ldr r0, _02077E84 ; =0x0000FFFF lsl r1, r1, #0x2 strh r0, [r4, r1] ldr r0, [r7, #0x18] cmp r0, #0x0 beq _02077D88 add r1, r4, r1 mov r2, #0x20 bl FUN_02021EF0 _02077D88: add r1, r4, #0x0 mov r0, #0x1 add r1, #0xd8 mov r2, #0x40 blx MIi_CpuClear16 ldr r0, [r4, #0x0] cmp r0, #0x1 bne _02077DCE mov r0, #0x12 bl FUN_020669C0 mov r3, #0xa str r3, [sp, #0x0] str r3, [sp, #0x4] str r3, [sp, #0x8] str r3, [sp, #0xc] ldr r1, [r4, #0x4] add r5, r0, #0x0 mov r2, #0x5 bl FUN_02066ACC add r0, r5, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x5a lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200AC60 add r0, r5, #0x0 bl FUN_02016A18 _02077DCE: ldr r0, [r7, #0x44] cmp r0, #0x0 beq _02077DD8 mov r0, #0x1 str r0, [r4, #0x14] _02077DD8: ldr r2, [r4, #0x0] mov r1, #0x5a lsl r1, r1, #0x2 lsl r3, r2, #0x2 ldr r2, _02077E88 ; =0x020FA0A0 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r2, [r2, r3] ldr r1, [r4, r1] mov r3, #0x12 bl FUN_0200A9C4 mov r1, #0x5e lsl r1, r1, #0x2 str r0, [r4, r1] add r0, r1, #0x0 sub r0, #0x10 sub r1, #0xc ldr r0, [r4, r0] ldr r1, [r4, r1] mov r2, #0x8 mov r3, #0x12 bl FUN_0200A9C4 mov r1, #0x5f lsl r1, r1, #0x2 str r0, [r4, r1] sub r1, #0x10 ldr r0, [r4, r1] mov r1, #0x7 bl FUN_0200A914 mov r1, #0x61 lsl r1, r1, #0x2 str r0, [r4, r1] sub r1, #0x6c add r0, r4, r1 bl StringLength mov r1, #0x56 lsl r1, r1, #0x2 strh r0, [r4, r1] mov r0, #0x0 str r0, [r4, #0x1c] mov r1, #0x1 str r1, [r4, #0x20] sub r1, r1, #0x2 str r1, [r4, #0x24] str r1, [r4, #0x28] str r0, [r4, #0x30] ldr r2, _02077E8C ; =0x00000484 str r0, [r4, #0x34] str r1, [r4, r2] add r1, r2, #0x4 str r0, [r4, r1] add r2, #0x8 str r0, [r4, r2] ldr r1, [r4, #0xc] ldr r2, _02077E84 ; =0x0000FFFF lsl r1, r1, #0x1 add r1, r4, r1 add r1, #0xd8 strh r2, [r1, #0x0] mov r1, #0x49 add r3, r4, #0x0 add r2, r0, #0x0 lsl r1, r1, #0x4 _02077E5E: add r0, r0, #0x1 str r2, [r3, r1] add r3, r3, #0x4 cmp r0, #0x7 blt _02077E5E ldr r0, [r4, #0x0] cmp r0, #0x4 beq _02077E76 mov r0, #0x49 mov r1, #0x1 lsl r0, r0, #0x4 str r1, [r4, r0] _02077E76: add sp, #0x10 pop {r3-r7, pc} nop _02077E7C: .word 0x0000045C _02077E80: .word 0x00000464 _02077E84: .word 0x0000FFFF _02077E88: .word 0x020FA0A0 _02077E8C: .word 0x00000484 thumb_func_start FUN_02077E90 FUN_02077E90: ; 0x02077E90 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 add r0, r1, #0x0 bl FUN_0200628C add r4, r0, #0x0 ldr r0, [r4, #0x44] cmp r0, #0x0 beq _02077FA0 mov r0, #0xc8 mov r1, #0x12 bl FUN_020219F4 add r7, r0, #0x0 mov r0, #0x6 mov r1, #0x0 lsl r0, r0, #0x6 str r1, [r5, r0] ldr r0, [r4, #0x48] bl FUN_0206B330 add r6, r0, #0x0 ldr r0, [r4, #0x48] bl FUN_0206B334 str r0, [sp, #0x10] mov r0, #0x5a lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r2, [r4, #0x48] mov r1, #0x1 add r3, r6, #0x0 bl FUN_0200B410 ldr r0, [sp, #0x10] cmp r6, r0 beq _02077EF4 mov r0, #0x5a lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r2, [r4, #0x48] ldr r3, [sp, #0x10] mov r1, #0x2 bl FUN_0200B410 ldr r0, [r4, #0x44] add r0, r0, #0x2 str r0, [r4, #0x44] b _02077F04 _02077EF4: mov r0, #0x5a lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r2, [r4, #0x48] mov r1, #0x2 add r3, r6, #0x0 bl FUN_0200B410 _02077F04: mov r0, #0x56 lsl r0, r0, #0x2 ldrh r0, [r5, r0] cmp r0, #0x0 beq _02077F1A add r0, r5, #0x0 add r0, #0xd8 bl FUN_0207786C cmp r0, #0x0 beq _02077F50 _02077F1A: mov r0, #0x12 bl FUN_020669C0 mov r3, #0x0 str r3, [sp, #0x0] str r3, [sp, #0x4] str r3, [sp, #0x8] str r3, [sp, #0xc] ldr r1, [r5, #0x4] add r6, r0, #0x0 mov r2, #0x1 bl FUN_02066ACC add r0, r6, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x5a lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_0200AC60 add r0, r6, #0x0 bl FUN_02016A18 b _02077F7E _02077F50: mov r1, #0x56 lsl r1, r1, #0x2 ldrh r1, [r5, r1] ldr r0, _02077FA4 ; =0x0000FFFF lsl r1, r1, #0x1 add r1, r5, r1 add r1, #0xd8 strh r0, [r1, #0x0] add r1, r5, #0x0 add r0, r7, #0x0 add r1, #0xd8 bl FUN_02021E28 mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0x5a str r1, [sp, #0x4] lsl r0, r0, #0x2 ldr r0, [r5, r0] add r2, r7, #0x0 add r3, r1, #0x0 bl FUN_0200ABB4 _02077F7E: mov r1, #0x5a lsl r1, r1, #0x2 ldr r0, [r5, r1] add r1, #0xc ldr r1, [r5, r1] ldr r2, [r4, #0x44] mov r3, #0x12 bl FUN_0200A9C4 mov r1, #0x6 lsl r1, r1, #0x6 str r0, [r5, r1] mov r0, #0x1 str r0, [r5, #0x14] add r0, r7, #0x0 bl FUN_02021A20 _02077FA0: add sp, #0x14 pop {r4-r7, pc} .balign 4 _02077FA4: .word 0x0000FFFF thumb_func_start FUN_02077FA8 FUN_02077FA8: ; 0x02077FA8 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 mov r4, #0x0 _02077FB0: add r0, r5, #0x0 bl FUN_02019178 add r4, r4, #0x1 add r5, #0x10 cmp r4, #0xa blt _02077FB0 add r0, r6, #0x0 mov r1, #0x4 bl FUN_020178A0 add r0, r6, #0x0 mov r1, #0x2 bl FUN_020178A0 add r0, r6, #0x0 mov r1, #0x1 bl FUN_020178A0 add r0, r6, #0x0 mov r1, #0x0 bl FUN_020178A0 mov r0, #0x12 add r1, r6, #0x0 bl FUN_02016A8C pop {r4-r6, pc} thumb_func_start FUN_02077FE8 FUN_02077FE8: ; 0x02077FE8 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 mov r0, #0x16 lsl r0, r0, #0x4 ldr r4, [r5, r0] mov r1, #0x0 mov r0, #0x60 str r0, [sp, #0x0] mov r0, #0x12 str r0, [sp, #0x4] mov r0, #0x1f add r2, r1, #0x0 add r3, r1, #0x0 bl FUN_02006930 mov r0, #0x20 str r0, [sp, #0x0] mov r0, #0x12 str r0, [sp, #0x4] mov r0, #0xc add r1, r0, #0x0 mov r2, #0x4 mov r3, #0x0 bl FUN_02006930 mov r0, #0x4 mov r1, #0x0 bl FUN_02017FE4 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x2 lsl r0, r0, #0xc str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] mov r0, #0x12 mov r1, #0x2 str r0, [sp, #0xc] mov r0, #0x1f add r2, r4, #0x0 add r3, r1, #0x0 bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x6 lsl r0, r0, #0x8 str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] mov r0, #0x12 str r0, [sp, #0xc] mov r0, #0x1f mov r1, #0x4 add r2, r4, #0x0 mov r3, #0x2 bl FUN_020068C8 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x2 lsl r0, r0, #0xc str r0, [sp, #0x4] mov r3, #0x1 str r3, [sp, #0x8] mov r0, #0x12 str r0, [sp, #0xc] mov r0, #0x1f mov r1, #0x2 add r2, r4, #0x0 bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0xe lsl r0, r0, #0x6 str r0, [sp, #0x4] mov r3, #0x1 str r3, [sp, #0x8] mov r0, #0x12 str r0, [sp, #0xc] mov r0, #0x1f mov r1, #0x6 add r2, r4, #0x0 bl FUN_020068C8 mov r3, #0x0 mov r0, #0xe str r3, [sp, #0x0] lsl r0, r0, #0x6 str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] mov r0, #0x12 str r0, [sp, #0xc] mov r0, #0x1f mov r1, #0x7 add r2, r4, #0x0 bl FUN_020068C8 mov r1, #0x6 mov r0, #0x0 lsl r1, r1, #0x6 mov r2, #0x12 bl FUN_02002EEC ldr r0, [r5, #0x18] bl FUN_02025084 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] mov r0, #0x12 str r0, [sp, #0x4] mov r0, #0x16 lsl r0, r0, #0x4 mov r1, #0x4 add r2, r1, #0x0 ldr r0, [r5, r0] add r2, #0xfc mov r3, #0xa bl FUN_0200CD68 mov r1, #0x6 mov r0, #0x4 lsl r1, r1, #0x6 mov r2, #0x12 bl FUN_02002EEC mov r3, #0x4b mov r0, #0x12 lsl r3, r3, #0x4 str r0, [sp, #0x0] mov r0, #0x1f mov r1, #0x10 mov r2, #0x1 add r3, r5, r3 bl FUN_02006BB0 ldr r1, _0207810C ; =0x000004AC str r0, [r5, r1] add sp, #0x10 pop {r3-r5, pc} nop _0207810C: .word 0x000004AC thumb_func_start FUN_02078110 FUN_02078110: ; 0x02078110 push {r4, lr} sub sp, #0x10 ldr r4, _0207813C ; =0x020F9D5C add r3, sp, #0x0 add r2, r3, #0x0 ldmia r4!, {r0-r1} stmia r3!, {r0-r1} ldmia r4!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 bl FUN_0201D040 mov r0, #0x14 mov r1, #0x12 bl FUN_0201E00C bl FUN_0201D168 bl FUN_0201E0BC add sp, #0x10 pop {r4, pc} .balign 4 _0207813C: .word 0x020F9D5C thumb_func_start FUN_02078140 FUN_02078140: ; 0x02078140 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 blx FUN_020B0FC0 mov r0, #0x0 str r0, [sp, #0x0] mov r1, #0x80 str r1, [sp, #0x4] str r0, [sp, #0x8] mov r3, #0x20 str r3, [sp, #0xc] mov r2, #0x12 str r2, [sp, #0x10] add r2, r0, #0x0 bl FUN_02009EAC mov r1, #0x63 lsl r1, r1, #0x2 mov r0, #0x2c add r1, r5, r1 mov r2, #0x12 bl FUN_02008C9C mov r1, #0x62 lsl r1, r1, #0x2 str r0, [r5, r1] add r0, r1, #0x4 mov r2, #0x1 add r0, r5, r0 mov r1, #0x0 lsl r2, r2, #0x14 bl FUN_02008D24 mov r7, #0xad mov r6, #0x0 add r4, r5, #0x0 lsl r7, r7, #0x2 _0207818C: mov r0, #0x2 add r1, r6, #0x0 mov r2, #0x12 bl FUN_02008DEC str r0, [r4, r7] add r6, r6, #0x1 add r4, r4, #0x4 cmp r6, #0x4 blt _0207818C mov r0, #0x0 str r0, [sp, #0x0] mov r3, #0x1 str r3, [sp, #0x4] mov r0, #0x12 str r0, [sp, #0x8] mov r0, #0xad lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x1f mov r2, #0xa bl FUN_02008F34 mov r1, #0xb1 lsl r1, r1, #0x2 str r0, [r5, r1] mov r3, #0x0 str r3, [sp, #0x0] mov r2, #0x1 str r2, [sp, #0x4] mov r0, #0x9 str r0, [sp, #0x8] mov r0, #0x12 sub r1, #0xc str r0, [sp, #0xc] ldr r0, [r5, r1] mov r1, #0x1f bl FUN_02008FEC mov r1, #0xb2 lsl r1, r1, #0x2 str r0, [r5, r1] mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x2 str r0, [sp, #0x4] mov r0, #0x12 sub r1, #0xc str r0, [sp, #0x8] ldr r0, [r5, r1] mov r1, #0x1f mov r2, #0xc mov r3, #0x1 bl FUN_020090AC mov r1, #0xb3 lsl r1, r1, #0x2 str r0, [r5, r1] mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x3 str r0, [sp, #0x4] mov r0, #0x12 sub r1, #0xc str r0, [sp, #0x8] ldr r0, [r5, r1] mov r1, #0x1f mov r2, #0xe mov r3, #0x1 bl FUN_020090AC mov r1, #0x2d lsl r1, r1, #0x4 str r0, [r5, r1] ldr r0, [r5, #0x0] cmp r0, #0x1 bne _02078272 ldr r0, [r5, #0x4] ldr r2, [r5, #0x8] mov r1, #0x0 bl FUN_0206B6D4 ldr r3, _0207831C ; =0x000004B8 add r1, r0, #0x0 mov r0, #0x12 str r0, [sp, #0x0] mov r0, #0x13 mov r2, #0x0 add r3, r5, r3 bl FUN_02006BB0 ldr r1, _02078320 ; =0x000004B4 str r0, [r5, r1] add r0, r1, #0x4 mov r1, #0x2 ldr r0, [r5, r0] lsl r1, r1, #0x8 blx DC_FlushRange bl FUN_0206B888 add r1, r0, #0x0 mov r0, #0x13 lsl r2, r0, #0x6 add r2, r5, r2 mov r3, #0x12 bl FUN_02006C08 ldr r1, _02078324 ; =0x000004BC str r0, [r5, r1] add r0, r1, #0x4 ldr r0, [r5, r0] mov r1, #0x80 blx DC_FlushRange _02078272: mov r3, #0x1 str r3, [sp, #0x0] mov r0, #0x2 str r0, [sp, #0x4] mov r0, #0x12 str r0, [sp, #0x8] mov r0, #0xad lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x1f mov r2, #0xb bl FUN_02008F34 mov r1, #0xb5 lsl r1, r1, #0x2 str r0, [r5, r1] mov r2, #0x1 str r2, [sp, #0x0] mov r0, #0x2 str r0, [sp, #0x4] mov r0, #0x3 str r0, [sp, #0x8] mov r0, #0x12 sub r1, #0x1c str r0, [sp, #0xc] ldr r0, [r5, r1] mov r1, #0x1f mov r3, #0x0 bl FUN_02008FEC mov r1, #0xb6 lsl r1, r1, #0x2 str r0, [r5, r1] mov r3, #0x1 str r3, [sp, #0x0] mov r0, #0x2 str r0, [sp, #0x4] mov r0, #0x12 sub r1, #0x1c str r0, [sp, #0x8] ldr r0, [r5, r1] mov r1, #0x1f mov r2, #0xd bl FUN_020090AC mov r1, #0xb7 lsl r1, r1, #0x2 str r0, [r5, r1] mov r3, #0x1 str r3, [sp, #0x0] mov r0, #0x3 str r0, [sp, #0x4] mov r0, #0x12 sub r1, #0x1c str r0, [sp, #0x8] ldr r0, [r5, r1] mov r1, #0x1f mov r2, #0xf bl FUN_020090AC mov r1, #0x2e lsl r1, r1, #0x4 str r0, [r5, r1] sub r1, #0x1c ldr r0, [r5, r1] bl FUN_02009A50 mov r0, #0xb5 lsl r0, r0, #0x2 ldr r0, [r5, r0] bl FUN_02009A50 mov r0, #0xb2 lsl r0, r0, #0x2 ldr r0, [r5, r0] bl FUN_02009CF0 mov r0, #0xb6 lsl r0, r0, #0x2 ldr r0, [r5, r0] bl FUN_02009CF0 add sp, #0x14 pop {r4-r7, pc} nop _0207831C: .word 0x000004B8 _02078320: .word 0x000004B4 _02078324: .word 0x000004BC thumb_func_start FUN_02078328 FUN_02078328: ; 0x02078328 push {r3-r4, lr} sub sp, #0xc add r4, r1, #0x0 ldr r0, [r4, #0x0] bl FUN_0202011C ldr r1, [r0, #0x0] ldr r0, [r4, #0x8] add r0, r1, r0 str r0, [sp, #0x0] ldr r0, [r4, #0xc] lsl r1, r0, #0x4 ldr r0, _02078358 ; =0x020FA1D8 ldr r0, [r0, r1] add r1, sp, #0x0 lsl r0, r0, #0xc str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] ldr r0, [r4, #0x4] bl FUN_02020044 add sp, #0xc pop {r3-r4, pc} .balign 4 _02078358: .word 0x020FA1D8 thumb_func_start FUN_0207835C FUN_0207835C: ; 0x0207835C push {r4-r7, lr} sub sp, #0x5c mov r1, #0x0 add r6, r0, #0x0 str r1, [sp, #0x0] sub r0, r1, #0x1 str r0, [sp, #0x4] str r0, [sp, #0x8] mov r2, #0xad str r1, [sp, #0xc] mov r0, #0x1 lsl r2, r2, #0x2 str r0, [sp, #0x10] ldr r0, [r6, r2] add r3, r1, #0x0 str r0, [sp, #0x14] add r0, r2, #0x4 ldr r0, [r6, r0] str r0, [sp, #0x18] add r0, r2, #0x0 add r0, #0x8 ldr r0, [r6, r0] str r0, [sp, #0x1c] add r0, r2, #0x0 add r0, #0xc ldr r0, [r6, r0] add r2, #0x30 str r0, [sp, #0x20] str r1, [sp, #0x24] add r0, r6, r2 add r2, r1, #0x0 str r1, [sp, #0x28] bl FUN_02008AA4 mov r1, #0x1 mov r3, #0xad str r1, [sp, #0x0] sub r0, r1, #0x2 str r0, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] str r0, [sp, #0x10] lsl r3, r3, #0x2 ldr r2, [r6, r3] str r2, [sp, #0x14] add r2, r3, #0x4 ldr r2, [r6, r2] str r2, [sp, #0x18] add r2, r3, #0x0 add r2, #0x8 ldr r2, [r6, r2] str r2, [sp, #0x1c] add r2, r3, #0x0 add r2, #0xc ldr r2, [r6, r2] add r3, #0x54 str r2, [sp, #0x20] str r0, [sp, #0x24] str r0, [sp, #0x28] add r0, r6, r3 add r2, r1, #0x0 add r3, r1, #0x0 bl FUN_02008AA4 mov r0, #0x62 lsl r0, r0, #0x2 ldr r0, [r6, r0] mov r1, #0x2 str r0, [sp, #0x2c] mov r0, #0xb9 lsl r0, r0, #0x2 add r0, r6, r0 str r0, [sp, #0x30] mov r0, #0x6 lsl r1, r1, #0x10 lsl r0, r0, #0x10 str r0, [sp, #0x38] lsr r0, r1, #0x5 mov r7, #0x0 str r1, [sp, #0x34] str r7, [sp, #0x3c] str r0, [sp, #0x40] str r0, [sp, #0x44] str r0, [sp, #0x48] add r0, sp, #0x2c strh r7, [r0, #0x20] mov r0, #0x1 str r0, [sp, #0x50] str r0, [sp, #0x54] mov r0, #0x12 ldr r4, _02078528 ; =0x020FA1D4 str r0, [sp, #0x58] add r5, r6, #0x0 _02078418: ldr r0, [r4, #0x0] lsl r0, r0, #0xc str r0, [sp, #0x34] ldr r0, [r4, #0x4] lsl r0, r0, #0xc str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FE94 mov r1, #0xcb lsl r1, r1, #0x2 str r0, [r5, r1] add r0, r1, #0x0 ldr r0, [r5, r0] mov r1, #0x1 bl FUN_020200BC mov r0, #0xcb lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r1, [r4, #0x8] bl FUN_02020130 mov r0, #0xcb lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r1, [r4, #0xc] bl FUN_02020310 add r7, r7, #0x1 add r4, #0x10 add r5, r5, #0x4 cmp r7, #0x9 blt _02078418 mov r0, #0xcf lsl r0, r0, #0x2 ldr r0, [r6, r0] mov r1, #0x0 bl FUN_020200A0 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r6, r0] mov r1, #0x0 bl FUN_020200A0 ldr r7, _02078528 ; =0x020FA1D4 mov r5, #0x0 add r4, r6, #0x0 _0207847A: ldr r0, _0207852C ; =FUN_02078328 mov r1, #0x10 mov r2, #0x5 mov r3, #0x12 bl FUN_020061E8 mov r1, #0xe7 lsl r1, r1, #0x2 str r0, [r4, r1] add r0, r1, #0x0 ldr r0, [r4, r0] bl FUN_0201B6C8 mov r1, #0xd2 lsl r1, r1, #0x2 ldr r1, [r6, r1] str r1, [r0, #0x0] mov r1, #0xcb lsl r1, r1, #0x2 ldr r1, [r4, r1] add r4, r4, #0x4 str r1, [r0, #0x4] ldr r1, [r7, #0x0] add r7, #0x10 lsl r1, r1, #0xc str r1, [r0, #0x8] str r5, [r0, #0xc] add r5, r5, #0x1 cmp r5, #0x7 blt _0207847A ldr r2, [r6, #0xc] mov r7, #0x0 cmp r2, #0x0 ble _020784FA mov r5, #0x50 add r4, r6, #0x0 _020784C2: lsl r0, r5, #0xc str r0, [sp, #0x34] mov r0, #0x27 lsl r0, r0, #0xc str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FE94 mov r1, #0xd9 lsl r1, r1, #0x2 str r0, [r4, r1] add r0, r1, #0x0 ldr r0, [r4, r0] mov r1, #0x1 bl FUN_020200BC mov r0, #0xd9 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x2b bl FUN_02020130 ldr r2, [r6, #0xc] add r7, r7, #0x1 add r5, #0xc add r4, r4, #0x4 cmp r7, r2 blt _020784C2 _020784FA: mov r1, #0x56 lsl r1, r1, #0x2 mov r0, #0xd9 lsl r0, r0, #0x2 ldrh r1, [r6, r1] add r0, r6, r0 bl FUN_02079710 add r0, r6, #0x0 add r1, sp, #0x2c bl FUN_02078530 mov r0, #0x10 mov r1, #0x1 bl FUN_0201E6E4 mov r0, #0x10 mov r1, #0x1 bl FUN_0201E74C add sp, #0x5c pop {r4-r7, pc} nop _02078528: .word 0x020FA1D4 _0207852C: .word FUN_02078328 thumb_func_start FUN_02078530 FUN_02078530: ; 0x02078530 push {r3-r5, lr} add r4, r0, #0x0 mov r0, #0x6 add r5, r1, #0x0 lsl r0, r0, #0xe str r0, [r5, #0x8] mov r0, #0x2 lsl r0, r0, #0xe str r0, [r5, #0xc] add r0, r5, #0x0 bl FUN_0201FE94 mov r1, #0xe5 lsl r1, r1, #0x2 str r0, [r4, r1] ldr r0, [r4, r1] mov r1, #0x1 bl FUN_020200BC ldr r0, [r4, #0x0] cmp r0, #0x7 bhi _02078626 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02078568: ; jump table (using 16-bit offset) .short _02078578 - _02078568 - 2; case 0 .short _020785E0 - _02078568 - 2; case 1 .short _020785D2 - _02078568 - 2; case 2 .short _0207859A - _02078568 - 2; case 3 .short _020785C4 - _02078568 - 2; case 4 .short _020785B6 - _02078568 - 2; case 5 .short _020785A8 - _02078568 - 2; case 6 .short _020785C4 - _02078568 - 2; case 7 _02078578: ldr r0, [r4, #0x4] cmp r0, #0x0 bne _0207858C mov r0, #0xe5 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x30 bl FUN_02020130 pop {r3-r5, pc} _0207858C: mov r0, #0xe5 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x31 bl FUN_02020130 pop {r3-r5, pc} _0207859A: mov r0, #0xe5 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x33 bl FUN_02020130 pop {r3-r5, pc} _020785A8: mov r0, #0xe5 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x37 bl FUN_02020130 pop {r3-r5, pc} _020785B6: mov r0, #0xe5 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x36 bl FUN_02020130 pop {r3-r5, pc} _020785C4: mov r0, #0xe5 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x35 bl FUN_02020130 pop {r3-r5, pc} _020785D2: mov r0, #0xe5 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x2f bl FUN_02020130 pop {r3-r5, pc} _020785E0: mov r0, #0xe5 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x32 bl FUN_02020130 ldr r0, [r4, #0x10] cmp r0, #0x2 beq _02078626 ldr r1, [r4, #0xc] mov r0, #0xd mul r0, r1 add r0, #0x50 lsl r0, r0, #0xc str r0, [r5, #0x8] mov r0, #0x1b lsl r0, r0, #0xc str r0, [r5, #0xc] add r0, r5, #0x0 bl FUN_0201FE94 mov r1, #0xe6 lsl r1, r1, #0x2 str r0, [r4, r1] ldr r0, [r4, #0x10] cmp r0, #0x0 ldr r0, [r4, r1] bne _02078620 mov r1, #0x2d bl FUN_02020130 pop {r3-r5, pc} _02078620: mov r1, #0x2e bl FUN_02020130 _02078626: pop {r3-r5, pc} thumb_func_start FUN_02078628 FUN_02078628: ; 0x02078628 push {r4-r5, lr} sub sp, #0xc add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0xc] str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] ldr r0, [r4, #0x4] cmp r0, #0x6 bhi _020786A6 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0207864A: ; jump table (using 16-bit offset) .short _02078658 - _0207864A - 2; case 0 .short _020786A6 - _0207864A - 2; case 1 .short _0207866C - _0207864A - 2; case 2 .short _020786A6 - _0207864A - 2; case 3 .short _02078680 - _0207864A - 2; case 4 .short _020786A6 - _0207864A - 2; case 5 .short _02078694 - _0207864A - 2; case 6 _02078658: mov r0, #0x1 ldr r1, [r4, #0x8] lsl r0, r0, #0xe add r0, r1, r0 str r0, [sp, #0x0] ldr r0, [r4, #0x0] add r1, sp, #0x0 bl FUN_02020044 b _020786A6 _0207866C: mov r0, #0x3 ldr r1, [r4, #0x8] lsl r0, r0, #0xc sub r0, r1, r0 str r0, [sp, #0x0] ldr r0, [r4, #0x0] add r1, sp, #0x0 bl FUN_02020044 b _020786A6 _02078680: mov r0, #0x2 ldr r1, [r4, #0x8] lsl r0, r0, #0xc add r0, r1, r0 str r0, [sp, #0x0] ldr r0, [r4, #0x0] add r1, sp, #0x0 bl FUN_02020044 b _020786A6 _02078694: ldr r0, [r4, #0x8] add r1, sp, #0x0 str r0, [sp, #0x0] ldr r0, [r4, #0x0] bl FUN_02020044 add r0, r5, #0x0 bl FUN_0200621C _020786A6: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] add sp, #0xc pop {r4-r5, pc} thumb_func_start FUN_020786B0 FUN_020786B0: ; 0x020786B0 push {r3-r7, lr} sub sp, #0x28 str r1, [sp, #0x14] ldr r1, [sp, #0x40] add r5, r2, #0x0 str r1, [sp, #0x40] ldr r1, [sp, #0x48] mov r2, #0x1 str r1, [sp, #0x48] ldr r1, [sp, #0x40] str r0, [sp, #0x10] ldr r6, [r1, #0x0] add r7, r3, #0x0 add r1, r6, #0x0 eor r1, r2 str r1, [sp, #0x18] ldr r1, [r5, #0x0] ldr r4, [sp, #0x44] cmp r1, #0x4 bls _020786DA b _0207887E _020786DA: add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _020786E6: ; jump table (using 16-bit offset) .short _020786F0 - _020786E6 - 2; case 0 .short _0207873C - _020786E6 - 2; case 1 .short _02078762 - _020786E6 - 2; case 2 .short _020787FC - _020786E6 - 2; case 3 .short _0207887E - _020786E6 - 2; case 4 _020786F0: mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0xe lsl r0, r0, #0x6 str r0, [sp, #0x4] str r2, [sp, #0x8] mov r0, #0x12 str r0, [sp, #0xc] ldr r2, [sp, #0x10] mov r0, #0x1f add r1, r7, #0x6 add r3, r6, #0x0 bl FUN_020068C8 add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_02078BA8 ldr r0, _02078884 ; =0x020F9D2C lsl r2, r6, #0x4 ldrb r1, [r0, r7] ldr r0, [sp, #0x4c] ldr r3, _02078888 ; =0x000E0F00 str r0, [sp, #0x0] ldr r0, [sp, #0x14] add r0, r0, r2 lsl r2, r1, #0x4 orr r1, r2 lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r2, r7, #0x0 bl FUN_0207974C ldr r0, [r5, #0x0] add sp, #0x28 add r0, r0, #0x1 str r0, [r5, #0x0] pop {r3-r7, pc} _0207873C: lsl r1, r6, #0x18 lsr r1, r1, #0x18 mov r2, #0x0 mov r3, #0xee bl FUN_020179E0 mov r2, #0x3 lsl r1, r6, #0x18 add r3, r2, #0x0 ldr r0, [sp, #0x10] lsr r1, r1, #0x18 sub r3, #0x53 bl FUN_020179E0 ldr r0, [r5, #0x0] add sp, #0x28 add r0, r0, #0x1 str r0, [r5, #0x0] pop {r3-r7, pc} _02078762: mov r1, #0xc add r0, r6, #0x0 mul r0, r1 ldr r2, [r4, r0] str r0, [sp, #0x1c] sub r2, #0x18 str r2, [r4, r0] ldr r0, [r4, r0] sub r1, #0xd cmp r0, r1 bge _020787BA ldr r0, _0207888C ; =FUN_02078628 mov r1, #0x10 mov r2, #0x0 mov r3, #0x12 bl FUN_020061E8 bl FUN_0201B6C8 add r7, r0, #0x0 ldr r0, [sp, #0x48] ldr r0, [r0, #0x1c] str r0, [r7, #0x0] mov r0, #0x0 str r0, [r7, #0x4] ldr r0, [sp, #0x48] ldr r0, [r0, #0x1c] bl FUN_0202011C ldr r0, [r0, #0x0] str r0, [r7, #0x8] ldr r0, [sp, #0x48] ldr r0, [r0, #0x1c] bl FUN_0202011C ldr r0, [r0, #0x4] mov r1, #0xa str r0, [r7, #0xc] ldr r0, [sp, #0x1c] mvn r1, r1 str r1, [r4, r0] ldr r0, [r5, #0x0] add r0, r0, #0x1 str r0, [r5, #0x0] _020787BA: ldr r0, [sp, #0x18] mov r1, #0xc add r7, r0, #0x0 add r5, r4, #0x4 mul r7, r1 ldr r0, [r5, r7] sub r0, #0xa str r0, [r5, r7] add r0, r1, #0x0 ldr r2, [r5, r7] sub r0, #0xd0 cmp r2, r0 bge _020787D8 sub r1, #0xd0 str r1, [r5, r7] _020787D8: ldr r3, [sp, #0x1c] lsl r1, r6, #0x18 ldr r0, [sp, #0x10] ldr r3, [r4, r3] lsr r1, r1, #0x18 mov r2, #0x0 bl FUN_020179E0 ldr r1, [sp, #0x18] ldr r0, [sp, #0x10] lsl r1, r1, #0x18 ldr r3, [r5, r7] lsr r1, r1, #0x18 mov r2, #0x3 bl FUN_020179E0 add sp, #0x28 pop {r3-r7, pc} _020787FC: ldr r1, [sp, #0x18] mov r0, #0xc add r2, r1, #0x0 mul r2, r0 str r2, [sp, #0x20] add r7, r4, #0x4 ldr r2, [r7, r2] ldr r1, [sp, #0x20] sub r2, #0xa str r2, [r7, r1] ldr r2, [r7, r1] add r1, r0, #0x0 sub r1, #0xd0 cmp r2, r1 bge _02078820 ldr r1, [sp, #0x20] sub r0, #0xd0 str r0, [r7, r1] _02078820: mov r0, #0xc mul r0, r6 str r0, [sp, #0x24] ldr r3, [sp, #0x24] lsl r1, r6, #0x18 ldr r0, [sp, #0x10] ldr r3, [r4, r3] lsr r1, r1, #0x18 mov r2, #0x0 bl FUN_020179E0 ldr r1, [sp, #0x18] ldr r3, [sp, #0x20] lsl r1, r1, #0x18 ldr r0, [sp, #0x10] ldr r3, [r7, r3] lsr r1, r1, #0x18 mov r2, #0x3 bl FUN_020179E0 ldr r0, [sp, #0x24] mov r1, #0xa ldr r0, [r4, r0] mvn r1, r1 cmp r0, r1 bne _0207887E ldr r0, [sp, #0x20] sub r1, #0xb9 ldr r0, [r7, r0] cmp r0, r1 bne _0207887E ldr r0, [r5, #0x0] add r2, r4, #0x0 add r0, r0, #0x1 str r0, [r5, #0x0] ldr r0, [sp, #0x40] ldr r1, [r0, #0x0] mov r0, #0x1 eor r1, r0 ldr r0, [sp, #0x40] str r1, [r0, #0x0] ldr r0, [sp, #0x10] bl FUN_02078B88 ldr r0, _02078890 ; =0x0000069B bl FUN_020054C8 _0207887E: add sp, #0x28 pop {r3-r7, pc} nop _02078884: .word 0x020F9D2C _02078888: .word 0x000E0F00 _0207888C: .word FUN_02078628 _02078890: .word 0x0000069B thumb_func_start FUN_02078894 FUN_02078894: ; 0x02078894 push {r4-r5, lr} sub sp, #0xc add r4, r2, #0x0 mov r2, #0x1 mov r1, #0x0 lsl r2, r2, #0x8 mov r3, #0xa add r5, r0, #0x0 bl FUN_0200D0BC mov r3, #0x0 str r3, [sp, #0x0] str r3, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x1 add r2, r4, #0x0 str r3, [sp, #0x8] bl FUN_0201BD84 add r0, r5, #0x0 bl FUN_020191D0 add sp, #0xc pop {r4-r5, pc} thumb_func_start FUN_020788C4 FUN_020788C4: ; 0x020788C4 push {r4-r6, lr} sub sp, #0x10 add r5, r0, #0x0 add r6, r2, #0x0 mov r0, #0x0 add r1, r6, #0x0 add r2, r0, #0x0 mov r4, #0x10 bl FUN_02002E14 cmp r0, #0x82 ble _020788DE mov r4, #0x0 _020788DE: add r0, r5, #0x0 mov r1, #0x1 bl FUN_02019620 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, _02078908 ; =0x000E0F01 str r1, [sp, #0x4] str r0, [sp, #0x8] add r0, r5, #0x0 add r2, r6, #0x0 add r3, r4, #0x0 str r1, [sp, #0xc] bl FUN_0201BDE0 add r0, r5, #0x0 bl FUN_020191D0 add sp, #0x10 pop {r4-r6, pc} nop _02078908: .word 0x000E0F01 thumb_func_start FUN_0207890C FUN_0207890C: ; 0x0207890C push {r4-r7, lr} sub sp, #0x14 add r6, r1, #0x0 mov r1, #0x1 add r5, r0, #0x0 str r1, [sp, #0x0] mov r0, #0x1a str r0, [sp, #0x4] mov r0, #0xc str r0, [sp, #0x8] str r1, [sp, #0xc] add r0, #0xf4 str r0, [sp, #0x10] mov r0, #0x16 lsl r0, r0, #0x4 mov r1, #0xee lsl r1, r1, #0x2 ldr r0, [r5, r0] add r1, r5, r1 mov r2, #0x0 mov r3, #0x2 bl FUN_02019064 mov r2, #0x1 mov r1, #0xf2 lsl r1, r1, #0x2 str r2, [sp, #0x0] mov r0, #0x1a str r0, [sp, #0x4] mov r0, #0xc str r0, [sp, #0x8] mov r0, #0x8e str r2, [sp, #0xc] lsl r0, r0, #0x2 str r0, [sp, #0x10] sub r0, #0xd8 ldr r0, [r5, r0] add r1, r5, r1 mov r3, #0x2 bl FUN_02019064 ldr r0, [r5, #0x0] cmp r0, #0x4 bne _020789AE mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0xe lsl r0, r0, #0x6 str r0, [sp, #0x4] mov r3, #0x1 mov r2, #0x16 str r3, [sp, #0x8] mov r0, #0x12 str r0, [sp, #0xc] lsl r2, r2, #0x4 ldr r2, [r5, r2] mov r0, #0x1f mov r1, #0x9 bl FUN_020068C8 mov r0, #0x46 mov r1, #0x4 lsl r0, r0, #0x4 str r1, [r5, r0] add r0, r5, #0x0 add r0, #0x3a bl FUN_0207916C mov r0, #0x4b lsl r0, r0, #0x4 ldr r1, [r5, r0] sub r0, #0xe8 ldr r1, [r1, #0x14] ldr r3, _02078B6C ; =0x000E0F00 str r1, [sp, #0x0] ldr r1, _02078B70 ; =0x00000A0A add r0, r5, r0 mov r2, #0x4 bl FUN_0207974C b _020789D8 _020789AE: mov r0, #0x46 mov r1, #0x0 lsl r0, r0, #0x4 str r1, [r5, r0] add r0, r5, #0x0 add r0, #0x3a bl FUN_0207916C mov r1, #0x4b lsl r1, r1, #0x4 ldr r0, [r5, r1] ldr r3, _02078B6C ; =0x000E0F00 ldr r0, [r0, #0x14] mov r2, #0x0 str r0, [sp, #0x0] add r0, r1, #0x0 sub r0, #0xe8 add r0, r5, r0 sub r1, #0xac bl FUN_0207974C _020789D8: mov r2, #0x2 str r2, [sp, #0x0] mov r3, #0x16 str r3, [sp, #0x4] mov r1, #0x37 str r2, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] lsl r1, r1, #0x4 str r1, [sp, #0x10] lsl r0, r3, #0x4 add r1, #0x68 ldr r0, [r5, r0] add r1, r5, r1 mov r3, #0x7 bl FUN_02019064 ldr r1, [r5, #0xc] mov r0, #0xc add r2, r1, #0x0 mul r2, r0 asr r0, r2, #0x2 lsr r0, r0, #0x1d add r0, r2, r0 asr r0, r0, #0x3 add r4, r0, #0x1 mov r0, #0x3 str r0, [sp, #0x0] lsl r0, r4, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x4] mov r2, #0x2 mov r1, #0xe7 str r2, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] lsl r1, r1, #0x2 mov r0, #0x16 str r1, [sp, #0x10] lsl r0, r0, #0x4 add r1, #0x4c ldr r0, [r5, r0] add r1, r5, r1 mov r3, #0xa bl FUN_02019064 mov r0, #0xfa lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 bl FUN_02019620 mov r0, #0x3 str r0, [sp, #0x0] mov r0, #0x7 str r0, [sp, #0x4] mov r2, #0x2 mov r1, #0xf add r4, #0x9 lsl r3, r4, #0x18 str r2, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] lsl r1, r1, #0x6 mov r0, #0x16 str r1, [sp, #0x10] lsl r0, r0, #0x4 add r1, #0x78 ldr r0, [r5, r0] add r1, r5, r1 lsr r3, r3, #0x18 bl FUN_02019064 ldr r0, _02078B74 ; =0x00000438 mov r1, #0x1 add r0, r5, r0 bl FUN_02019620 ldr r1, [r5, #0x0] cmp r1, #0x5 bne _02078A90 mov r2, #0x61 ldr r0, _02078B74 ; =0x00000438 lsl r2, r2, #0x2 ldr r2, [r5, r2] add r0, r5, r0 bl FUN_020788C4 ldr r0, _02078B74 ; =0x00000438 add r0, r5, r0 bl FUN_020191D0 _02078A90: mov r0, #0x13 str r0, [sp, #0x0] mov r0, #0x1b str r0, [sp, #0x4] mov r2, #0x4 ldr r1, _02078B78 ; =0x00000448 str r2, [sp, #0x8] mov r0, #0xc str r0, [sp, #0xc] mov r0, #0x84 str r0, [sp, #0x10] add r0, #0xdc ldr r0, [r5, r0] add r1, r5, r1 mov r3, #0x2 bl FUN_02019064 ldr r0, _02078B78 ; =0x00000448 mov r1, #0xf add r0, r5, r0 bl FUN_02019620 mov r2, #0x5e ldr r0, _02078B78 ; =0x00000448 lsl r2, r2, #0x2 ldr r1, [r5, #0x0] ldr r2, [r5, r2] add r0, r5, r0 bl FUN_02078894 add r0, r6, #0x0 bl FUN_0200628C mov r1, #0x46 lsl r1, r1, #0x2 ldrh r2, [r5, r1] ldr r0, _02078B7C ; =0x0000FFFF cmp r2, r0 beq _02078B06 add r0, r5, #0x0 add r0, #0xd8 add r1, r5, r1 bl StringCopy mov r0, #0xc str r0, [sp, #0x0] mov r2, #0x0 add r1, r5, #0x0 ldr r0, _02078B80 ; =0x000E0F01 str r2, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0xfa lsl r0, r0, #0x2 add r0, r5, r0 add r1, #0xd8 add r3, r2, #0x0 str r2, [sp, #0xc] bl FUN_02078E7C _02078B06: mov r0, #0xee lsl r0, r0, #0x2 mov r4, #0x0 add r7, r5, r0 _02078B0E: add r0, r4, #0x4 lsl r6, r0, #0x4 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x2 str r0, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] mov r0, #0x78 str r0, [sp, #0x10] add r0, #0xe8 ldr r0, [r5, r0] add r1, r7, r6 mov r2, #0x2 mov r3, #0x0 bl FUN_02019064 add r0, r7, r6 mov r1, #0x0 bl FUN_02019620 add r4, r4, #0x1 cmp r4, #0x3 blt _02078B0E mov r3, #0x0 str r3, [sp, #0x0] mov r0, #0x10 str r0, [sp, #0x4] mov r2, #0x2 str r2, [sp, #0x8] ldr r1, _02078B84 ; =0x00000428 str r3, [sp, #0xc] mov r0, #0x84 str r0, [sp, #0x10] add r0, #0xdc ldr r0, [r5, r0] add r1, r5, r1 bl FUN_02019064 ldr r0, _02078B84 ; =0x00000428 mov r1, #0x0 add r0, r5, r0 bl FUN_02019620 add sp, #0x14 pop {r4-r7, pc} .balign 4 _02078B6C: .word 0x000E0F00 _02078B70: .word 0x00000A0A _02078B74: .word 0x00000438 _02078B78: .word 0x00000448 _02078B7C: .word 0x0000FFFF _02078B80: .word 0x000E0F01 _02078B84: .word 0x00000428 thumb_func_start FUN_02078B88 FUN_02078B88: ; 0x02078B88 push {r4, lr} add r4, r1, #0x0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 mov r1, #0x1 bl FUN_020178BC mov r0, #0x1 eor r0, r4 lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r1, #0x2 bl FUN_020178BC pop {r4, pc} .balign 4 thumb_func_start FUN_02078BA8 FUN_02078BA8: ; 0x02078BA8 push {r3-r4} mov r3, #0xc add r4, r1, #0x0 mul r4, r3 mov r2, #0xee str r2, [r0, r4] add r2, r3, #0x0 sub r2, #0x5c add r4, r0, r4 str r2, [r4, #0x4] mov r4, #0x1 eor r1, r4 mul r3, r1 sub r4, #0xc str r4, [r0, r3] add r0, r0, r3 str r2, [r0, #0x4] pop {r3-r4} bx lr .balign 4 thumb_func_start FUN_02078BD0 FUN_02078BD0: ; 0x02078BD0 cmp r0, r2 blt _02078BD6 add r0, r1, #0x0 _02078BD6: cmp r0, r1 bge _02078BDC sub r0, r2, #0x1 _02078BDC: bx lr .balign 4 thumb_func_start FUN_02078BE0 FUN_02078BE0: ; 0x02078BE0 push {r3-r7, lr} add r5, r0, #0x0 cmp r1, #0x0 beq _02078C84 ldr r3, [r5, #0x20] mov r2, #0x1a mul r2, r3 ldr r0, [r5, #0x1c] add r3, r5, r2 lsl r2, r0, #0x1 add r2, r3, r2 ldrh r2, [r2, #0x3a] lsl r6, r1, #0x3 ldr r1, _02078C88 ; =0x020FA154 str r2, [sp, #0x0] ldr r1, [r1, r6] mov r2, #0xd add r0, r0, r1 mov r1, #0x0 bl FUN_02078BD0 add r4, r0, #0x0 ldr r0, _02078C8C ; =0x020FA158 ldr r1, [r5, #0x20] ldr r0, [r0, r6] mov r2, #0x6 add r0, r1, r0 mov r1, #0x0 bl FUN_02078BD0 add r7, r0, #0x0 ldr r0, _02078C88 ; =0x020FA154 add r6, r0, r6 b _02078C62 _02078C24: ldr r1, [r5, #0x28] cmp r1, #0x0 bne _02078C46 ldr r1, _02078C90 ; =0x0000D004 cmp r0, r1 bne _02078C46 ldr r0, [r6, #0x4] cmp r0, #0x0 beq _02078C46 ldr r0, [r5, #0x2c] mov r1, #0x0 add r0, r4, r0 mov r2, #0xd bl FUN_02078BD0 add r4, r0, #0x0 b _02078C62 _02078C46: ldr r0, [r6, #0x0] mov r1, #0x0 add r0, r4, r0 mov r2, #0xd bl FUN_02078BD0 add r4, r0, #0x0 ldr r0, [r6, #0x4] mov r1, #0x0 add r0, r7, r0 mov r2, #0x6 bl FUN_02078BD0 add r7, r0, #0x0 _02078C62: mov r0, #0x1a mul r0, r7 lsl r1, r4, #0x1 add r0, r5, r0 add r0, r1, r0 ldrh r0, [r0, #0x3a] ldr r1, _02078C90 ; =0x0000D004 cmp r0, r1 beq _02078C24 ldr r1, [sp, #0x0] cmp r1, r0 bne _02078C80 ldr r1, _02078C94 ; =0x0000E001 cmp r0, r1 bhi _02078C24 _02078C80: str r4, [r5, #0x1c] str r7, [r5, #0x20] _02078C84: pop {r3-r7, pc} nop _02078C88: .word 0x020FA154 _02078C8C: .word 0x020FA158 _02078C90: .word 0x0000D004 _02078C94: .word 0x0000E001 thumb_func_start FUN_02078C98 FUN_02078C98: ; 0x02078C98 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _02078D70 ; =0x021C48B8 mov r4, #0x0 ldr r1, [r0, #0x4c] mov r0, #0x40 add r6, r4, #0x0 tst r0, r1 beq _02078CC0 ldr r0, _02078D74 ; =0x000005DC bl FUN_020054C8 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x1 bl FUN_020200A0 mov r6, #0x1 add r4, r4, #0x1 _02078CC0: ldr r0, _02078D70 ; =0x021C48B8 ldr r1, [r0, #0x4c] mov r0, #0x80 tst r0, r1 beq _02078CE0 ldr r0, _02078D74 ; =0x000005DC bl FUN_020054C8 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x1 bl FUN_020200A0 mov r6, #0x2 add r4, r4, #0x1 _02078CE0: ldr r0, _02078D70 ; =0x021C48B8 ldr r1, [r0, #0x4c] mov r0, #0x20 tst r0, r1 beq _02078D00 ldr r0, _02078D74 ; =0x000005DC bl FUN_020054C8 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x1 bl FUN_020200A0 mov r6, #0x3 add r4, r4, #0x1 _02078D00: ldr r0, _02078D70 ; =0x021C48B8 ldr r1, [r0, #0x4c] mov r0, #0x10 tst r0, r1 beq _02078D20 ldr r0, _02078D74 ; =0x000005DC bl FUN_020054C8 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x1 bl FUN_020200A0 mov r6, #0x4 add r4, r4, #0x1 _02078D20: ldr r0, _02078D70 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x8 tst r0, r1 beq _02078D46 ldr r0, _02078D74 ; =0x000005DC bl FUN_020054C8 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x1 bl FUN_020200A0 mov r0, #0xc str r0, [r5, #0x1c] mov r0, #0x0 str r0, [r5, #0x20] add r4, r4, #0x1 _02078D46: add r0, r5, #0x0 bl FUN_02079930 ldr r1, _02078D78 ; =0x000005C8 str r0, [r5, r1] ldr r0, [r5, r1] cmp r0, #0x1 bne _02078D5A mov r6, #0x0 add r4, r4, #0x1 _02078D5A: cmp r4, #0x0 beq _02078D6E add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02078BE0 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02078D7C _02078D6E: pop {r4-r6, pc} .balign 4 _02078D70: .word 0x021C48B8 _02078D74: .word 0x000005DC _02078D78: .word 0x000005C8 thumb_func_start FUN_02078D7C FUN_02078D7C: ; 0x02078D7C push {r3-r5, lr} sub sp, #0x18 add r5, r0, #0x0 add r4, r1, #0x0 ldr r1, [r5, #0x20] cmp r1, #0x0 beq _02078DC6 ldr r0, [r5, #0x28] cmp r0, #0x0 bne _02078DA0 cmp r0, r1 beq _02078DA0 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x27 bl FUN_02020130 _02078DA0: ldr r0, [r5, #0x1c] lsl r0, r0, #0x4 add r0, #0x1a lsl r0, r0, #0xc str r0, [sp, #0xc] ldr r0, [r5, #0x20] sub r1, r0, #0x1 mov r0, #0x13 mul r0, r1 add r0, #0x5b lsl r0, r0, #0xc str r0, [sp, #0x10] mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r1, sp, #0xc bl FUN_02020044 b _02078E02 _02078DC6: mov r0, #0x1a mul r0, r1 add r1, r5, r0 ldr r0, [r5, #0x1c] lsl r0, r0, #0x1 add r0, r1, r0 ldrh r1, [r0, #0x3a] ldr r0, _02078E2C ; =0x0000E002 sub r1, r1, r0 ldr r0, _02078E30 ; =0x020F9D6C lsl r2, r1, #0x1 ldrh r0, [r0, r2] ldr r2, _02078E34 ; =0x020F9D38 lsl r0, r0, #0xc str r0, [sp, #0x0] mov r0, #0x11 lsl r0, r0, #0xe str r0, [sp, #0x4] mov r0, #0xd3 lsl r0, r0, #0x2 ldrb r1, [r2, r1] ldr r0, [r5, r0] bl FUN_02020130 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r1, sp, #0x0 bl FUN_02020044 _02078E02: mov r0, #0xb4 strh r0, [r5, #0x38] mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_02020208 ldr r0, [r5, #0x1c] lsl r1, r4, #0x3 str r0, [r5, #0x24] ldr r0, [r5, #0x20] str r0, [r5, #0x28] ldr r0, _02078E38 ; =0x020FA154 ldr r0, [r0, r1] cmp r0, #0x0 beq _02078E26 str r0, [r5, #0x2c] _02078E26: add sp, #0x18 pop {r3-r5, pc} nop _02078E2C: .word 0x0000E002 _02078E30: .word 0x020F9D6C _02078E34: .word 0x020F9D38 _02078E38: .word 0x020FA154 thumb_func_start FUN_02078E3C FUN_02078E3C: ; 0x02078E3C push {r3, lr} ldrh r1, [r0, #0x0] add r1, #0x14 strh r1, [r0, #0x0] ldrh r2, [r0, #0x0] mov r1, #0x5a lsl r1, r1, #0x2 cmp r2, r1 bls _02078E52 mov r1, #0x0 strh r1, [r0, #0x0] _02078E52: ldrh r0, [r0, #0x0] bl FUN_0201B970 mov r1, #0xa mul r1, r0 asr r0, r1, #0xb lsr r0, r0, #0x14 add r0, r1, r0 asr r0, r0, #0xc add r0, #0xf lsl r1, r0, #0x5 mov r0, #0x1d orr r1, r0 add r0, sp, #0x0 strh r1, [r0, #0x0] add r0, sp, #0x0 mov r1, #0x3a mov r2, #0x2 blx GX_LoadOBJPltt pop {r3, pc} thumb_func_start FUN_02078E7C FUN_02078E7C: ; 0x02078E7C push {r4-r7, lr} sub sp, #0x3c str r0, [sp, #0x18] add r7, r1, #0x0 mov r0, #0x2 mov r1, #0x12 str r2, [sp, #0x1c] str r3, [sp, #0x20] mov r4, #0x0 bl FUN_020219F4 str r0, [sp, #0x28] ldrh r1, [r7, #0x0] ldr r0, _02078F6C ; =0x0000FFFF cmp r1, r0 beq _02078F62 ldr r0, [sp, #0x54] ldr r6, [sp, #0x50] str r0, [sp, #0x24] ldr r0, [sp, #0x58] str r0, [sp, #0x34] ldr r0, [sp, #0x20] add r0, r0, #0x2 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x2c] ldr r0, [sp, #0x5c] str r0, [sp, #0x30] _02078EB4: lsl r0, r4, #0x1 ldrh r1, [r7, r0] ldr r0, _02078F70 ; =0x00002FFF add r0, r1, r0 lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, #0x2 bhi _02078F00 mov r0, #0xc str r0, [sp, #0x0] str r0, [sp, #0x4] add r2, r4, #0x0 ldr r0, [sp, #0x1c] mul r2, r6 add r0, r0, r2 ldr r2, _02078F74 ; =0x0000D001 lsl r0, r0, #0x10 sub r1, r1, r2 lsl r1, r1, #0x10 lsr r0, r0, #0x10 lsr r2, r1, #0x8 str r0, [sp, #0x8] ldr r0, [sp, #0x2c] lsr r1, r2, #0x1f add r1, r2, r1 str r0, [sp, #0xc] mov r0, #0xc asr r2, r1, #0x1 ldr r1, [sp, #0x30] str r0, [sp, #0x10] str r0, [sp, #0x14] add r1, r1, r2 mov r2, #0x0 ldr r0, [sp, #0x18] add r3, r2, #0x0 bl FUN_02019658 b _02078F56 _02078F00: ldr r0, _02078F78 ; =0x0000D004 cmp r1, r0 bne _02078F0A add r4, r4, #0x1 b _02078F58 _02078F0A: add r0, sp, #0x38 strh r1, [r0, #0x0] ldr r1, _02078F6C ; =0x0000FFFF strh r1, [r0, #0x2] mov r0, #0x0 add r1, sp, #0x38 add r2, r0, #0x0 bl FUN_02002DE0 add r5, r0, #0x0 ldr r0, [sp, #0x28] add r1, sp, #0x38 bl FUN_02021E28 ldr r0, [sp, #0x20] sub r3, r6, r5 str r0, [sp, #0x0] ldr r0, [sp, #0x24] lsr r5, r3, #0x1f add r5, r3, r5 asr r3, r5, #0x1 str r0, [sp, #0x4] ldr r0, [sp, #0x34] mov r12, r3 add r5, r4, #0x0 str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] ldr r3, [sp, #0x1c] mul r5, r6 add r3, r3, r5 mov r5, r12 ldr r0, [sp, #0x18] ldr r2, [sp, #0x28] mov r1, #0x0 add r3, r5, r3 bl FUN_0201BDE0 _02078F56: add r4, r4, #0x1 _02078F58: lsl r0, r4, #0x1 ldrh r1, [r7, r0] ldr r0, _02078F6C ; =0x0000FFFF cmp r1, r0 bne _02078EB4 _02078F62: ldr r0, [sp, #0x28] bl FUN_02021A20 add sp, #0x3c pop {r4-r7, pc} .balign 4 _02078F6C: .word 0x0000FFFF _02078F70: .word 0x00002FFF _02078F74: .word 0x0000D001 _02078F78: .word 0x0000D004 thumb_func_start FUN_02078F7C FUN_02078F7C: ; 0x02078F7C push {r4-r6, lr} sub sp, #0x10 mov r5, #0x0 add r6, r1, #0x0 str r5, [sp, #0x0] mov r1, #0xff str r1, [sp, #0x4] str r3, [sp, #0x8] add r1, r2, #0x0 add r2, r6, #0x0 add r3, r5, #0x0 add r4, r0, #0x0 str r5, [sp, #0xc] bl FUN_0201BDE0 ldr r0, [r4, #0xc] add sp, #0x10 pop {r4-r6, pc} thumb_func_start FUN_02078FA0 FUN_02078FA0: ; 0x02078FA0 push {r3-r7, lr} sub sp, #0x38 add r6, r0, #0x0 str r1, [sp, #0x8] add r0, #0x30 mov r1, #0x0 add r5, r2, #0x0 add r4, r3, #0x0 bl FUN_02019620 add r0, r6, #0x0 ldr r3, _0207906C ; =0x000D0E0F add r0, #0x30 add r1, r4, #0x0 mov r2, #0x2 bl FUN_02078F7C mov r1, #0x2 lsl r1, r1, #0xa blx DC_FlushRange add r7, r6, #0x0 mov r4, #0x0 add r7, #0x30 _02078FD0: mov r0, #0x0 str r0, [sp, #0x0] add r0, r7, #0x0 mov r1, #0x4 mov r2, #0x2 lsl r3, r4, #0x2 str r5, [sp, #0x4] bl FUN_02011B20 mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0x8 blx DC_FlushRange ldr r1, _02079070 ; =0x020F9D28 mov r2, #0x1 ldrb r1, [r1, r4] add r0, r5, #0x0 lsl r2, r2, #0x8 lsl r1, r1, #0x5 blx GXS_LoadOBJ add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x4 blo _02078FD0 mov r0, #0x15 mov r1, #0x12 bl FUN_020219F4 add r4, r0, #0x0 mov r5, #0x0 _02079012: ldr r0, [sp, #0x8] lsl r1, r5, #0x1 ldrh r1, [r0, r1] add r0, sp, #0xc lsl r7, r5, #0x4 strh r1, [r0, #0x0] ldr r1, _02079074 ; =0x0000FFFF strh r1, [r0, #0x2] add r0, r6, r7 mov r1, #0x0 bl FUN_02019620 add r0, r4, #0x0 add r1, sp, #0xc bl FUN_02021E28 ldr r3, _0207906C ; =0x000D0E0F add r0, r6, r7 add r1, r4, #0x0 mov r2, #0x2 bl FUN_02078F7C mov r1, #0x80 add r7, r0, #0x0 blx DC_FlushRange ldr r1, _02079078 ; =0x020F9D40 lsl r2, r5, #0x2 ldr r1, [r1, r2] add r0, r7, #0x0 lsl r1, r1, #0x5 mov r2, #0x80 blx GXS_LoadOBJ add r0, r5, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0x3 blo _02079012 add r0, r4, #0x0 bl FUN_02021A20 add sp, #0x38 pop {r3-r7, pc} nop _0207906C: .word 0x000D0E0F _02079070: .word 0x020F9D28 _02079074: .word 0x0000FFFF _02079078: .word 0x020F9D40 thumb_func_start FUN_0207907C FUN_0207907C: ; 0x0207907C push {r3-r5, lr} cmp r2, #0x0 bne _02079086 ldr r1, _02079158 ; =0x0000D003 b _0207908C _02079086: sub r2, r2, #0x1 lsl r2, r2, #0x1 ldrh r1, [r1, r2] _0207908C: ldr r4, _0207915C ; =0x0000E003 cmp r1, r4 bgt _020790BC bge _020790E2 ldr r2, _02079160 ; =0x0000D004 cmp r1, r2 bgt _020790B4 sub r2, r2, #0x3 sub r2, r1, r2 bmi _020790E4 add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _020790AC: ; jump table (using 16-bit offset) .short _020790E2 - _020790AC - 2; case 0 .short _020790E2 - _020790AC - 2; case 1 .short _020790E2 - _020790AC - 2; case 2 .short _020790E2 - _020790AC - 2; case 3 _020790B4: ldr r2, _02079164 ; =0x0000E002 cmp r1, r2 beq _020790E2 b _020790E4 _020790BC: add r2, r4, #0x1 cmp r1, r2 bgt _020790C6 beq _020790E2 b _020790E4 _020790C6: add r2, r4, #0x2 sub r2, r1, r2 cmp r2, #0x3 bhi _020790E4 add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _020790DA: ; jump table (using 16-bit offset) .short _020790E2 - _020790DA - 2; case 0 .short _020790E2 - _020790DA - 2; case 1 .short _020790E2 - _020790DA - 2; case 2 .short _020790E2 - _020790DA - 2; case 3 _020790E2: mov r1, #0x1 _020790E4: mov r4, #0x0 add r5, r3, #0x0 mov r2, #0x1 _020790EA: add r4, r4, #0x1 strh r2, [r5, #0x0] add r5, r5, #0x2 cmp r4, #0x3 blt _020790EA strh r1, [r3, #0x0] cmp r1, #0x1 beq _0207914A ldr r5, _02079168 ; =0x020FA40E mov r2, #0x0 _020790FE: ldrh r4, [r5, #0x0] cmp r1, r4 bne _02079120 mov r4, #0x6 ldr r5, _02079168 ; =0x020FA40E mul r4, r2 add r4, r5, r4 mov r1, #0x0 add r5, r3, #0x0 _02079110: ldrh r2, [r4, #0x0] add r1, r1, #0x1 add r4, r4, #0x2 strh r2, [r5, #0x0] add r5, r5, #0x2 cmp r1, #0x3 blt _02079110 b _0207914A _02079120: ldrh r4, [r5, #0x4] cmp r1, r4 bne _02079142 mov r4, #0x6 ldr r5, _02079168 ; =0x020FA40E mul r4, r2 add r4, r5, r4 mov r1, #0x0 add r5, r3, #0x0 _02079132: ldrh r2, [r4, #0x0] add r1, r1, #0x1 add r4, r4, #0x2 strh r2, [r5, #0x0] add r5, r5, #0x2 cmp r1, #0x3 blt _02079132 b _0207914A _02079142: add r2, r2, #0x1 add r5, r5, #0x6 cmp r2, #0x52 blo _020790FE _0207914A: add r1, r3, #0x0 ldr r2, [sp, #0x10] ldr r3, [sp, #0x14] bl FUN_02078FA0 pop {r3-r5, pc} nop _02079158: .word 0x0000D003 _0207915C: .word 0x0000E003 _02079160: .word 0x0000D004 _02079164: .word 0x0000E002 _02079168: .word 0x020FA40E thumb_func_start FUN_0207916C FUN_0207916C: ; 0x0207916C push {r4-r7} mov r4, #0x0 ldr r3, _020791B8 ; =0x02106058 add r5, r4, #0x0 add r6, r0, #0x0 lsl r2, r1, #0x2 _02079178: ldr r7, [r3, r2] add r4, r4, #0x1 ldrh r7, [r7, r5] add r5, r5, #0x2 strh r7, [r6, #0x0] add r6, r6, #0x2 cmp r4, #0xd blt _02079178 mov r3, #0x14 ldr r4, _020791BC ; =0x0210606C mul r3, r1 mov r2, #0x0 add r3, r4, r3 add r1, r2, #0x0 _02079194: add r6, r1, #0x0 add r4, r1, #0x0 add r5, r0, #0x0 _0207919A: ldr r7, [r3, #0x0] add r6, r6, #0x1 ldrh r7, [r7, r4] add r4, r4, #0x2 strh r7, [r5, #0x1a] add r5, r5, #0x2 cmp r6, #0xd blt _0207919A add r2, r2, #0x1 add r3, r3, #0x4 add r0, #0x1a cmp r2, #0x5 blt _02079194 pop {r4-r7} bx lr .balign 4 _020791B8: .word 0x02106058 _020791BC: .word 0x0210606C thumb_func_start FUN_020791C0 FUN_020791C0: ; 0x020791C0 push {r4-r6, lr} sub sp, #0x10 add r4, r0, #0x0 ldr r0, _0207952C ; =0x00002FFD add r6, r2, #0x0 add r0, r1, r0 lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, #0x1 bhi _020791D6 mov r1, #0x1 _020791D6: ldr r0, [r4, #0x0] cmp r0, #0x4 bne _020791EA ldr r0, _02079530 ; =0x00001FFE add r0, r1, r0 lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, #0x3 bhi _020791EA mov r1, #0x1 _020791EA: ldr r0, _02079534 ; =0x0000E002 cmp r1, r0 bgt _02079208 blt _020791F4 b _0207931C _020791F4: ldr r3, _02079538 ; =0x0000D002 cmp r1, r3 bgt _02079206 sub r0, r3, #0x1 cmp r1, r0 blt _02079206 beq _0207922A cmp r1, r3 beq _0207927C _02079206: b _0207945C _02079208: add r0, r0, #0x1 sub r0, r1, r0 cmp r0, #0x5 bls _02079212 b _0207945C _02079212: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0207921E: ; jump table (using 16-bit offset) .short _0207931C - _0207921E - 2; case 0 .short _0207931C - _0207921E - 2; case 1 .short _0207931C - _0207921E - 2; case 2 .short _020792CA - _0207921E - 2; case 3 .short _0207935E - _0207921E - 2; case 4 .short _0207940E - _0207921E - 2; case 5 _0207922A: add r0, r4, #0x0 add r0, #0xd8 str r0, [sp, #0x0] mov r0, #0x56 lsl r0, r0, #0x2 ldrh r0, [r4, r0] ldr r3, _0207953C ; =0x0000D001 mov r1, #0x52 str r0, [sp, #0x4] mov r0, #0x2a mov r2, #0x1 bl FUN_020795FC cmp r0, #0x0 bne _0207924A b _02079526 _0207924A: mov r0, #0xfa lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_02019620 mov r0, #0xc str r0, [sp, #0x0] mov r2, #0x0 ldr r0, _02079540 ; =0x000E0F01 str r2, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0xfa lsl r0, r0, #0x2 add r0, r4, r0 add r4, #0xd8 add r1, r4, #0x0 add r3, r2, #0x0 str r2, [sp, #0xc] bl FUN_02078E7C ldr r0, _02079544 ; =0x000005EB bl FUN_020054C8 b _02079526 _0207927C: add r0, r4, #0x0 add r0, #0xd8 str r0, [sp, #0x0] mov r0, #0x56 lsl r0, r0, #0x2 ldrh r0, [r4, r0] mov r1, #0x52 mov r2, #0x2 str r0, [sp, #0x4] mov r0, #0x48 bl FUN_020795FC cmp r0, #0x0 beq _02079368 mov r0, #0xfa lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_02019620 mov r0, #0xc str r0, [sp, #0x0] mov r2, #0x0 ldr r0, _02079540 ; =0x000E0F01 str r2, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0xfa lsl r0, r0, #0x2 add r0, r4, r0 add r4, #0xd8 add r1, r4, #0x0 add r3, r2, #0x0 str r2, [sp, #0xc] bl FUN_02078E7C ldr r0, _02079544 ; =0x000005EB bl FUN_020054C8 b _02079526 _020792CA: mov r3, #0x56 lsl r3, r3, #0x2 ldrh r3, [r4, r3] add r2, r4, #0x0 mov r0, #0x0 mov r1, #0x52 add r2, #0xd8 bl FUN_02079590 cmp r0, #0x0 beq _02079368 mov r0, #0xfa lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_02019620 mov r0, #0xc str r0, [sp, #0x0] mov r2, #0x0 add r1, r4, #0x0 ldr r0, _02079540 ; =0x000E0F01 str r2, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0xfa lsl r0, r0, #0x2 add r0, r4, r0 add r1, #0xd8 add r3, r2, #0x0 str r2, [sp, #0xc] bl FUN_02078E7C mov r0, #0x4a lsl r0, r0, #0x4 ldr r1, [r4, r0] add r1, r1, #0x1 str r1, [r4, r0] ldr r0, _02079544 ; =0x000005EB bl FUN_020054C8 b _02079526 _0207931C: mov r2, #0x46 lsl r2, r2, #0x4 ldr r0, _02079534 ; =0x0000E002 ldr r3, [r4, r2] sub r5, r1, r0 cmp r3, r5 beq _02079368 mov r1, #0x0 sub r0, r2, #0x4 str r1, [r4, r0] str r5, [r4, r2] add r0, r4, #0x0 ldr r1, [r4, r2] add r0, #0x3a bl FUN_0207916C mov r0, #0x49 lsl r0, r0, #0x4 add r2, r4, r0 lsl r1, r5, #0x2 ldr r0, [r2, r1] add r0, r0, #0x1 str r0, [r2, r1] ldr r0, _02079548 ; =0x0000069E bl FUN_020054C8 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r1, r6, #0x0 bl FUN_020200A0 b _02079526 _0207935E: mov r1, #0x56 lsl r1, r1, #0x2 ldrh r0, [r4, r1] cmp r0, #0x0 bne _0207936A _02079368: b _02079526 _0207936A: sub r0, r0, #0x1 lsl r0, r0, #0x1 add r0, r4, r0 ldr r2, _0207954C ; =0x0000FFFF add r0, #0xd8 strh r2, [r0, #0x0] ldrh r0, [r4, r1] sub r0, r0, #0x1 strh r0, [r4, r1] mov r0, #0xfa lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_02019620 mov r0, #0x56 lsl r0, r0, #0x2 ldrh r0, [r4, r0] cmp r0, #0x0 bne _0207939E mov r0, #0xfa lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_020191D0 b _020793BC _0207939E: mov r0, #0xc str r0, [sp, #0x0] mov r2, #0x0 ldr r0, _02079540 ; =0x000E0F01 str r2, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0xfa lsl r0, r0, #0x2 add r1, r4, #0x0 add r0, r4, r0 add r1, #0xd8 add r3, r2, #0x0 str r2, [sp, #0xc] bl FUN_02078E7C _020793BC: ldr r0, _02079550 ; =0x000004C4 mov r3, #0x5f add r1, r4, r0 lsl r3, r3, #0x2 str r1, [sp, #0x0] ldr r1, [r4, r3] add r2, r3, #0x0 str r1, [sp, #0x4] sub r2, #0x24 sub r0, #0xcc add r1, r4, #0x0 sub r3, #0x22 ldrh r2, [r4, r2] add r0, r4, r0 add r1, #0xd8 add r3, r4, r3 bl FUN_0207907C mov r1, #0x56 lsl r1, r1, #0x2 mov r0, #0xd9 lsl r0, r0, #0x2 ldrh r1, [r4, r1] ldr r2, [r4, #0xc] add r0, r4, r0 bl FUN_02079710 ldr r0, _02079554 ; =0x000004A4 ldr r1, [r4, r0] add r1, r1, #0x1 str r1, [r4, r0] ldr r0, _02079558 ; =0x000005DC bl FUN_020054C8 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r1, r6, #0x0 bl FUN_020200A0 b _02079526 _0207940E: ldr r0, _0207955C ; =0x000005C4 ldr r0, [r4, r0] bl FUN_020143D0 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r1, r6, #0x0 bl FUN_020200A0 ldr r0, [r4, #0x14] cmp r0, #0x0 bne _02079454 ldr r0, _02079560 ; =0x000005E2 bl FUN_020054C8 ldr r0, _02079564 ; =0x000004A8 ldr r1, [r4, r0] add r1, r1, #0x1 str r1, [r4, r0] mov r1, #0x0 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r0, #0x12 str r0, [sp, #0x8] mov r0, #0x2 add r2, r1, #0x0 add r3, r1, #0x0 bl FUN_0200E1D0 add sp, #0x10 mov r0, #0x3 pop {r4-r6, pc} _02079454: ldr r0, _02079568 ; =0x0000045C mov r1, #0x5 str r1, [r4, r0] b _02079526 _0207945C: mov r0, #0x46 lsl r0, r0, #0x4 ldr r0, [r4, r0] cmp r0, #0x4 bne _02079470 cmp r1, #0x1 bne _02079470 add sp, #0x10 mov r0, #0x2 pop {r4-r6, pc} _02079470: mov r0, #0x56 lsl r0, r0, #0x2 ldrh r2, [r4, r0] ldr r0, [r4, #0xc] cmp r2, r0 beq _02079526 lsl r0, r2, #0x1 add r0, r4, r0 add r0, #0xd8 strh r1, [r0, #0x0] mov r0, #0xfa lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 bl FUN_02019620 mov r0, #0xc str r0, [sp, #0x0] mov r2, #0x0 add r1, r4, #0x0 ldr r0, _02079540 ; =0x000E0F01 str r2, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0xfa lsl r0, r0, #0x2 add r0, r4, r0 add r1, #0xd8 add r3, r2, #0x0 str r2, [sp, #0xc] bl FUN_02078E7C mov r1, #0x56 lsl r1, r1, #0x2 ldrh r0, [r4, r1] add r0, r0, #0x1 strh r0, [r4, r1] mov r0, #0xd9 lsl r0, r0, #0x2 ldrh r1, [r4, r1] ldr r2, [r4, #0xc] add r0, r4, r0 bl FUN_02079710 ldr r0, _02079544 ; =0x000005EB bl FUN_020054C8 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 bl FUN_020200A0 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 bl FUN_02020398 mov r3, #0x8 ldr r0, _0207956C ; =0x04000050 mov r1, #0x0 mov r2, #0x7 str r3, [sp, #0x0] blx G2x_SetBlendAlpha_ mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x3c bl FUN_02020130 mov r0, #0x1 str r0, [r4, #0x34] ldr r0, _02079550 ; =0x000004C4 mov r3, #0x5f add r1, r4, r0 lsl r3, r3, #0x2 str r1, [sp, #0x0] ldr r1, [r4, r3] add r2, r3, #0x0 str r1, [sp, #0x4] sub r2, #0x24 sub r0, #0xcc add r1, r4, #0x0 sub r3, #0x22 ldrh r2, [r4, r2] add r0, r4, r0 add r1, #0xd8 add r3, r4, r3 bl FUN_0207907C _02079526: mov r0, #0x2 add sp, #0x10 pop {r4-r6, pc} .balign 4 _0207952C: .word 0x00002FFD _02079530: .word 0x00001FFE _02079534: .word 0x0000E002 _02079538: .word 0x0000D002 _0207953C: .word 0x0000D001 _02079540: .word 0x000E0F01 _02079544: .word 0x000005EB _02079548: .word 0x0000069E _0207954C: .word 0x0000FFFF _02079550: .word 0x000004C4 _02079554: .word 0x000004A4 _02079558: .word 0x000005DC _0207955C: .word 0x000005C4 _02079560: .word 0x000005E2 _02079564: .word 0x000004A8 _02079568: .word 0x0000045C _0207956C: .word 0x04000050 thumb_func_start FUN_02079570 FUN_02079570: ; 0x02079570 push {r4-r6, lr} add r5, r0, #0x0 mov r4, #0x0 mov r6, #0x3 _02079578: add r0, r1, #0x1 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02078BD0 add r1, r0, #0x0 lsl r0, r1, #0x1 ldrh r0, [r5, r0] cmp r0, #0x1 beq _02079578 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02079590 FUN_02079590: ; 0x02079590 push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 add r0, r1, #0x0 str r2, [sp, #0x0] cmp r3, #0x0 bne _020795A4 add sp, #0x8 mov r0, #0x0 pop {r3-r7, pc} _020795A4: sub r1, r3, #0x1 lsl r1, r1, #0x1 str r1, [sp, #0x4] ldrh r3, [r2, r1] cmp r4, r0 bge _020795F2 mov r1, #0x6 ldr r2, _020795F8 ; =0x020FA40E mul r1, r4 add r5, r2, r1 mov r7, #0x0 _020795BA: add r2, r7, #0x0 add r6, r5, #0x0 _020795BE: ldrh r1, [r6, #0x0] cmp r3, r1 bne _020795E2 cmp r3, #0x1 beq _020795E2 mov r0, #0x6 ldr r1, _020795F8 ; =0x020FA40E mul r0, r4 add r0, r1, r0 add r1, r2, #0x0 bl FUN_02079570 ldr r2, [sp, #0x0] ldr r1, [sp, #0x4] add sp, #0x8 strh r0, [r2, r1] mov r0, #0x1 pop {r3-r7, pc} _020795E2: add r2, r2, #0x1 add r6, r6, #0x2 cmp r2, #0x3 blt _020795BE add r4, r4, #0x1 add r5, r5, #0x6 cmp r4, r0 blt _020795BA _020795F2: mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 _020795F8: .word 0x020FA40E thumb_func_start FUN_020795FC FUN_020795FC: ; 0x020795FC push {r3-r7, lr} add r4, r0, #0x0 add r0, r1, #0x0 ldr r1, [sp, #0x1c] mov lr, r2 mov r12, r3 cmp r1, #0x0 beq _02079618 sub r1, r1, #0x1 ldr r6, [sp, #0x18] lsl r7, r1, #0x1 ldrh r5, [r6, r7] cmp r5, #0x1 bne _0207961C _02079618: mov r0, #0x0 pop {r3-r7, pc} _0207961C: add r2, r4, #0x0 cmp r4, r0 bge _0207964E mov r1, #0x6 ldr r3, _020796F4 ; =0x020FA40E mul r1, r4 add r3, r3, r1 _0207962A: ldrh r1, [r3, #0x0] cmp r5, r1 bne _02079646 add r3, r2, #0x0 mov r0, #0x6 mul r3, r0 mov r0, lr ldr r2, _020796F4 ; =0x020FA40E lsl r1, r0, #0x1 add r0, r2, r3 ldrh r0, [r1, r0] strh r0, [r6, r7] mov r0, #0x1 pop {r3-r7, pc} _02079646: add r2, r2, #0x1 add r3, r3, #0x6 cmp r2, r0 blt _0207962A _0207964E: cmp r4, r0 bge _0207967E mov r2, lr ldr r1, _020796F4 ; =0x020FA40E lsl r2, r2, #0x1 add r1, r1, r2 mov r2, #0x6 mul r2, r4 add r2, r1, r2 _02079660: ldrh r1, [r2, #0x0] cmp r5, r1 bne _02079676 mov r0, #0x6 add r1, r4, #0x0 mul r1, r0 ldr r0, _020796F4 ; =0x020FA40E ldrh r0, [r0, r1] strh r0, [r6, r7] mov r0, #0x1 pop {r3-r7, pc} _02079676: add r4, r4, #0x1 add r2, r2, #0x6 cmp r4, r0 blt _02079660 _0207967E: ldr r1, _020796F8 ; =0x0000D001 mov r0, r12 cmp r0, r1 beq _02079698 add r1, r1, #0x1 mov r0, r12 cmp r0, r1 beq _020796B8 ldr r1, _020796FC ; =0x0000E006 mov r0, r12 cmp r0, r1 beq _020796D8 b _020796F0 _02079698: ldr r1, _02079700 ; =0x020FA1A4 mov r2, #0x0 _0207969C: ldrh r0, [r1, #0x0] cmp r5, r0 bne _020796AE ldr r0, _02079704 ; =0x020FA1A6 lsl r1, r2, #0x2 ldrh r0, [r0, r1] strh r0, [r6, r7] mov r0, #0x1 pop {r3-r7, pc} _020796AE: add r2, r2, #0x1 add r1, r1, #0x4 cmp r2, #0xc blo _0207969C b _020796F0 _020796B8: ldr r1, _02079708 ; =0x020FA17C mov r2, #0x0 _020796BC: ldrh r0, [r1, #0x0] cmp r5, r0 bne _020796CE ldr r0, _0207970C ; =0x020FA17E lsl r1, r2, #0x2 ldrh r0, [r0, r1] strh r0, [r6, r7] mov r0, #0x1 pop {r3-r7, pc} _020796CE: add r2, r2, #0x1 add r1, r1, #0x4 cmp r2, #0xa blo _020796BC b _020796F0 _020796D8: cmp r5, #0x26 bne _020796E4 mov r0, #0x24 strh r0, [r6, r7] mov r0, #0x1 pop {r3-r7, pc} _020796E4: cmp r5, #0x76 bne _020796F0 mov r0, #0x74 strh r0, [r6, r7] mov r0, #0x1 pop {r3-r7, pc} _020796F0: mov r0, #0x0 pop {r3-r7, pc} .balign 4 _020796F4: .word 0x020FA40E _020796F8: .word 0x0000D001 _020796FC: .word 0x0000E006 _02079700: .word 0x020FA1A4 _02079704: .word 0x020FA1A6 _02079708: .word 0x020FA17C _0207970C: .word 0x020FA17E thumb_func_start FUN_02079710 FUN_02079710: ; 0x02079710 push {r3-r7, lr} sub sp, #0x8 add r6, r2, #0x0 mov r4, #0x0 str r0, [sp, #0x0] str r1, [sp, #0x4] cmp r6, #0x0 ble _02079734 add r5, r0, #0x0 mov r7, #0x2b _02079724: ldr r0, [r5, #0x0] add r1, r7, #0x0 bl FUN_02020130 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, r6 blt _02079724 _02079734: ldr r0, [sp, #0x4] cmp r0, r6 beq _02079746 lsl r1, r0, #0x2 ldr r0, [sp, #0x0] ldr r0, [r0, r1] mov r1, #0x2c bl FUN_02020130 _02079746: add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0207974C FUN_0207974C: ; 0x0207974C push {r3-r7, lr} sub sp, #0x18 str r2, [sp, #0x10] ldr r2, [sp, #0x30] lsl r1, r1, #0x18 lsr r1, r1, #0x18 add r5, r0, #0x0 str r3, [sp, #0x14] str r2, [sp, #0x30] bl FUN_02019620 ldr r1, _0207982C ; =0x020F9D30 ldr r0, [sp, #0x10] mov r7, #0x0 ldrb r4, [r1, r0] mov r6, #0x10 _0207976C: mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x13 lsl r2, r6, #0x10 str r0, [sp, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 lsr r2, r2, #0x10 mov r3, #0x0 bl FUN_020196F4 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x13 lsl r2, r6, #0x10 str r0, [sp, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 lsr r2, r2, #0x10 mov r3, #0x26 bl FUN_020196F4 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x13 lsl r2, r6, #0x10 str r0, [sp, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 lsr r2, r2, #0x10 mov r3, #0x4c bl FUN_020196F4 add r7, r7, #0x1 add r6, #0x20 cmp r7, #0x6 blt _0207976C mov r7, #0x0 add r6, r7, #0x0 _020797BA: mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x13 lsl r2, r6, #0x10 str r0, [sp, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 lsr r2, r2, #0x10 mov r3, #0x13 bl FUN_020196F4 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x13 lsl r2, r6, #0x10 str r0, [sp, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 lsr r2, r2, #0x10 mov r3, #0x39 bl FUN_020196F4 add r7, r7, #0x1 add r6, #0x20 cmp r7, #0x7 blt _020797BA ldr r0, [sp, #0x10] mov r1, #0x14 ldr r2, _02079830 ; =0x0210606C mul r1, r0 mov r7, #0x0 mov r6, #0x4 add r4, r2, r1 _020797FC: mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, [sp, #0x14] mov r2, #0x0 str r0, [sp, #0x8] ldr r0, [sp, #0x30] add r3, r6, #0x0 str r0, [sp, #0xc] ldr r1, [r4, #0x0] add r0, r5, #0x0 bl FUN_02078E7C add r7, r7, #0x1 add r6, #0x13 add r4, r4, #0x4 cmp r7, #0x5 blt _020797FC add r0, r5, #0x0 bl FUN_020191D0 add sp, #0x18 pop {r3-r7, pc} .balign 4 _0207982C: .word 0x020F9D30 _02079830: .word 0x0210606C thumb_func_start FUN_02079834 FUN_02079834: ; 0x02079834 push {r3-r7, lr} sub sp, #0x8 add r6, r1, #0x0 str r0, [sp, #0x0] mov r7, #0x0 add r1, r0, #0x0 _02079840: ldr r0, [r1, #0x0] cmp r0, #0x0 beq _02079876 mov r0, #0x0 ldr r4, _020798B8 ; =0x020FA1D4 str r0, [sp, #0x4] add r5, r6, #0x0 _0207984E: ldr r0, [r5, #0x0] ldr r1, [r4, #0x8] bl FUN_02020130 ldr r0, [sp, #0x4] add r4, #0x10 add r0, r0, #0x1 add r5, r5, #0x4 str r0, [sp, #0x4] cmp r0, #0x3 blt _0207984E ldr r1, _020798BC ; =0x020FA1DC lsl r2, r7, #0x4 lsl r0, r7, #0x2 ldr r1, [r1, r2] ldr r0, [r6, r0] sub r1, r1, #0x3 bl FUN_02020130 b _0207987E _02079876: add r7, r7, #0x1 add r1, r1, #0x4 cmp r7, #0x3 blt _02079840 _0207987E: ldr r4, [sp, #0x0] ldr r5, _020798C0 ; =0x020FA224 mov r7, #0x5 add r4, #0x14 add r6, #0x14 _02079888: ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02079898 ldr r1, [r5, #0x8] ldr r0, [r6, #0x0] add r1, r1, #0x1 bl FUN_02020130 _02079898: add r7, r7, #0x1 add r4, r4, #0x4 add r5, #0x10 add r6, r6, #0x4 cmp r7, #0x7 blt _02079888 mov r2, #0x0 add r1, r2, #0x0 _020798A8: ldr r0, [sp, #0x0] add r2, r2, #0x1 stmia r0!, {r1} str r0, [sp, #0x0] cmp r2, #0x7 blt _020798A8 add sp, #0x8 pop {r3-r7, pc} .balign 4 _020798B8: .word 0x020FA1D4 _020798BC: .word 0x020FA1DC _020798C0: .word 0x020FA224 thumb_func_start FUN_020798C4 FUN_020798C4: ; 0x020798C4 push {r4, lr} add r4, r0, #0x0 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02020388 cmp r0, #0x0 bne _0207992E mov r0, #0x56 lsl r0, r0, #0x2 ldrh r1, [r4, r0] ldr r0, [r4, #0xc] cmp r1, r0 bne _020798F8 mov r0, #0xc str r0, [r4, #0x1c] mov r0, #0x0 str r0, [r4, #0x20] mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x27 bl FUN_02020130 b _02079904 _020798F8: mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x27 bl FUN_02020130 _02079904: ldr r0, [r4, #0x30] cmp r0, #0x0 bne _02079918 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_020200A0 b _02079920 _02079918: add r0, r4, #0x0 mov r1, #0x0 bl FUN_02078D7C _02079920: mov r1, #0x0 mov r0, #0xd3 str r1, [r4, #0x34] lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02020398 _0207992E: pop {r4, pc} thumb_func_start FUN_02079930 FUN_02079930: ; 0x02079930 push {r3-r7, lr} str r0, [sp, #0x0] mov r0, #0x0 mov r12, r0 ldr r0, [sp, #0x0] ldr r0, [r0, #0x0] cmp r0, #0x4 bne _02079944 mov r0, #0x4 mov r12, r0 _02079944: ldr r2, _020799E0 ; =0x021C48F8 ldrh r0, [r2, #0x20] cmp r0, #0x0 beq _020799DA ldrh r0, [r2, #0x1c] lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov lr, r0 ldrh r0, [r2, #0x1e] lsl r0, r0, #0x18 lsr r7, r0, #0x18 mov r0, r12 cmp r0, #0x47 bhs _020799DA mov r0, #0x6 mov r2, r12 mul r0, r2 ldr r2, _020799E4 ; =0x020FA264 add r2, r2, r0 add r3, r2, #0x0 _0207996C: ldrh r4, [r3, #0x2] ldrb r0, [r2, #0x0] ldrb r6, [r2, #0x1] lsl r4, r4, #0x1e lsr r4, r4, #0x1e beq _02079982 cmp r4, #0x1 beq _02079988 cmp r4, #0x2 beq _0207998E b _02079992 _02079982: mov r5, #0x1f mov r1, #0x16 b _02079992 _02079988: mov r5, #0x20 mov r1, #0x16 b _02079992 _0207998E: mov r5, #0x10 mov r1, #0x13 _02079992: mov r4, lr cmp r4, r0 blo _020799CC cmp r7, r6 blo _020799CC add r4, r0, r5 mov r0, lr cmp r0, r4 bgt _020799CC add r0, r6, r1 cmp r7, r0 bgt _020799CC ldr r2, _020799E4 ; =0x020FA264 mov r1, #0x6 mov r0, r12 mul r1, r0 add r2, r2, r1 ldrb r0, [r2, #0x4] lsl r0, r0, #0x1b lsr r1, r0, #0x1b ldr r0, [sp, #0x0] str r1, [r0, #0x1c] ldrb r0, [r2, #0x5] lsl r0, r0, #0x1b lsr r1, r0, #0x1b ldr r0, [sp, #0x0] str r1, [r0, #0x20] mov r0, #0x1 pop {r3-r7, pc} _020799CC: mov r0, r12 add r0, r0, #0x1 add r2, r2, #0x6 add r3, r3, #0x6 mov r12, r0 cmp r0, #0x47 blo _0207996C _020799DA: mov r0, #0x0 pop {r3-r7, pc} nop _020799E0: .word 0x021C48F8 _020799E4: .word 0x020FA264 thumb_func_start FUN_020799E8 FUN_020799E8: ; 0x020799E8 lsl r1, r0, #0x1 ldr r0, _020799F0 ; =0x020FA60C ldrh r0, [r0, r1] bx lr .balign 4 _020799F0: .word 0x020FA60C thumb_func_start FUN_020799F4 FUN_020799F4: ; 0x020799F4 push {r3, lr} add r2, r0, #0x0 mul r2, r0 add r0, r1, #0x0 mul r0, r1 add r0, r2, r0 lsl r0, r0, #0x4 bl SVC_Sqrt lsr r0, r0, #0x2 pop {r3, pc} .balign 4 thumb_func_start FUN_02079A0C FUN_02079A0C: ; 0x02079A0C push {r4, lr} add r4, r0, #0x0 mul r0, r2 blx _u32_div_f lsl r0, r0, #0x18 lsr r0, r0, #0x18 bne _02079A22 cmp r4, #0x0 beq _02079A22 mov r0, #0x1 _02079A22: pop {r4, pc} thumb_func_start FUN_02079A24 FUN_02079A24: ; 0x02079A24 push {r4, lr} add r4, r0, #0x0 lsl r0, r1, #0x8 lsl r4, r4, #0x8 lsr r1, r0, #0x1 cmp r4, r1 bls _02079A36 mov r0, #0x3 pop {r4, pc} _02079A36: mov r1, #0x5 blx _u32_div_f cmp r4, r0 bls _02079A44 mov r0, #0x2 pop {r4, pc} _02079A44: cmp r4, #0x0 beq _02079A4C mov r0, #0x1 b _02079A4E _02079A4C: mov r0, #0x0 _02079A4E: lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r4, pc} thumb_func_start FUN_02079A54 FUN_02079A54: ; 0x02079A54 push {r4, lr} add r4, r2, #0x0 cmp r0, r1 bne _02079A60 mov r0, #0x4 pop {r4, pc} _02079A60: lsl r2, r4, #0x18 lsr r2, r2, #0x18 bl FUN_02079A0C add r1, r4, #0x0 bl FUN_02079A24 pop {r4, pc} thumb_func_start FUN_02079A70 FUN_02079A70: ; 0x02079A70 push {lr} sub sp, #0xc cmp r0, #0x0 bne _02079A90 mov r0, #0x6 str r0, [sp, #0x0] mov r2, #0x1 str r2, [sp, #0x4] mov r0, #0x0 str r1, [sp, #0x8] add r1, r2, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 add sp, #0xc pop {pc} _02079A90: mov r0, #0x6 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r0, #0x0 str r1, [sp, #0x8] add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 add sp, #0xc pop {pc} .balign 4 thumb_func_start FUN_02079AAC FUN_02079AAC: ; 0x02079AAC push {r4-r5} ldr r3, _02079B5C ; =0x021C48B8 mov r2, #0x0 ldr r3, [r3, #0x4c] mov r5, #0x40 ldrsh r4, [r0, r2] tst r5, r3 beq _02079ADE add r3, r4, #0x1 strh r3, [r0, #0x0] ldrsh r2, [r0, r2] cmp r2, r1 ble _02079ACA mov r1, #0x1 strh r1, [r0, #0x0] _02079ACA: mov r1, #0x0 ldrsh r0, [r0, r1] cmp r0, r4 bne _02079AD8 add r0, r1, #0x0 pop {r4-r5} bx lr _02079AD8: mov r0, #0x1 pop {r4-r5} bx lr _02079ADE: mov r5, #0x80 tst r5, r3 beq _02079B04 sub r3, r4, #0x1 strh r3, [r0, #0x0] ldrsh r2, [r0, r2] cmp r2, #0x0 bgt _02079AF0 strh r1, [r0, #0x0] _02079AF0: mov r1, #0x0 ldrsh r0, [r0, r1] cmp r0, r4 bne _02079AFE add r0, r1, #0x0 pop {r4-r5} bx lr _02079AFE: mov r0, #0x2 pop {r4-r5} bx lr _02079B04: mov r5, #0x20 tst r5, r3 beq _02079B2E add r1, r4, #0x0 sub r1, #0xa strh r1, [r0, #0x0] ldrsh r1, [r0, r2] cmp r1, #0x0 bgt _02079B1A mov r1, #0x1 strh r1, [r0, #0x0] _02079B1A: mov r1, #0x0 ldrsh r0, [r0, r1] cmp r0, r4 bne _02079B28 add r0, r1, #0x0 pop {r4-r5} bx lr _02079B28: mov r0, #0x2 pop {r4-r5} bx lr _02079B2E: mov r5, #0x10 tst r3, r5 beq _02079B56 add r3, r4, #0x0 add r3, #0xa strh r3, [r0, #0x0] ldrsh r2, [r0, r2] cmp r2, r1 ble _02079B42 strh r1, [r0, #0x0] _02079B42: mov r1, #0x0 ldrsh r0, [r0, r1] cmp r0, r4 bne _02079B50 add r0, r1, #0x0 pop {r4-r5} bx lr _02079B50: mov r0, #0x1 pop {r4-r5} bx lr _02079B56: add r0, r2, #0x0 pop {r4-r5} bx lr .balign 4 _02079B5C: .word 0x021C48B8 thumb_func_start FUN_02079B60 FUN_02079B60: ; 0x02079B60 push {r4-r7, lr} sub sp, #0x14 add r7, r1, #0x0 add r6, r0, #0x0 ldr r1, [sp, #0x28] add r0, r3, #0x0 str r2, [sp, #0x4] ldr r5, [sp, #0x2c] ldr r4, [sp, #0x34] bl LoadFromNARC_7 add r1, r0, #0x0 add r0, r7, #0x0 bl FUN_020169D8 add r7, r0, #0x0 ldr r0, [sp, #0x4] ldr r1, [sp, #0x28] add r2, r7, #0x0 bl FUN_02006774 ldr r0, [sp, #0x30] cmp r0, #0x0 beq _02079B9A cmp r0, #0x1 beq _02079BC6 cmp r0, #0x2 beq _02079C10 b _02079C36 _02079B9A: add r0, r7, #0x0 add r1, sp, #0x10 blx FUN_020B0088 cmp r4, #0x0 bne _02079BAE ldr r0, [sp, #0x10] ldr r0, [r0, #0x10] lsl r0, r0, #0x10 lsr r4, r0, #0x10 _02079BAE: add r0, sp, #0x18 ldrh r0, [r0, #0x20] lsl r1, r5, #0x18 lsr r1, r1, #0x18 str r0, [sp, #0x0] ldr r2, [sp, #0x10] add r0, r6, #0x0 ldr r2, [r2, #0x14] add r3, r4, #0x0 bl FUN_02017E14 b _02079C36 _02079BC6: add r0, r7, #0x0 add r1, sp, #0xc blx FUN_020B0180 cmp r4, #0x0 bne _02079BDA ldr r0, [sp, #0xc] ldr r0, [r0, #0x8] lsl r0, r0, #0x10 lsr r4, r0, #0x10 _02079BDA: lsl r1, r5, #0x18 add r0, r6, #0x0 lsr r1, r1, #0x18 bl FUN_0201886C cmp r0, #0x0 beq _02079BF8 ldr r2, [sp, #0xc] lsl r1, r5, #0x18 add r0, r6, #0x0 lsr r1, r1, #0x18 add r2, #0xc add r3, r4, #0x0 bl FUN_02017DFC _02079BF8: add r0, sp, #0x18 ldrh r0, [r0, #0x20] lsl r1, r5, #0x18 lsr r1, r1, #0x18 str r0, [sp, #0x0] ldr r2, [sp, #0xc] add r0, r6, #0x0 add r2, #0xc add r3, r4, #0x0 bl FUN_02017CE8 b _02079C36 _02079C10: add r0, r7, #0x0 add r1, sp, #0x8 blx FUN_020B0138 cmp r4, #0x0 bne _02079C24 ldr r0, [sp, #0x8] ldr r0, [r0, #0x8] lsl r0, r0, #0x10 lsr r4, r0, #0x10 _02079C24: ldr r1, [sp, #0x8] add r3, sp, #0x18 lsl r0, r5, #0x18 ldrh r3, [r3, #0x20] ldr r1, [r1, #0xc] lsr r0, r0, #0x18 add r2, r4, #0x0 bl FUN_02017FB4 _02079C36: add r0, r7, #0x0 bl FUN_02016A18 add sp, #0x14 pop {r4-r7, pc} thumb_func_start FUN_02079C40 FUN_02079C40: ; 0x02079C40 push {r3-r7, lr} add r5, r2, #0x0 add r6, r0, #0x0 add r0, r1, #0x0 add r1, r5, #0x0 add r7, r3, #0x0 bl LoadFromNARC_7 add r1, r0, #0x0 ldr r0, [sp, #0x18] bl FUN_02016998 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 bl FUN_02006774 add r0, r4, #0x0 add r1, r7, #0x0 blx FUN_020B0180 add r0, r4, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02079C70 FUN_02079C70: ; 0x02079C70 push {r3, lr} bl FUN_020462AC bl FUN_0205F184 pop {r3, pc} thumb_func_start FUN_02079C7C FUN_02079C7C: ; 0x02079C7C push {r3-r5, lr} add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F10 bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 mov r1, #0x1 lsl r1, r1, #0x1a ldr r0, [r1, #0x0] ldr r2, _02079DA0 ; =0xFFFFE0FF and r0, r2 str r0, [r1, #0x0] ldr r0, _02079DA4 ; =0x04001000 ldr r3, [r0, #0x0] and r2, r3 str r2, [r0, #0x0] ldr r3, [r1, #0x0] ldr r2, _02079DA8 ; =0xFFFF1FFF and r3, r2 str r3, [r1, #0x0] ldr r3, [r0, #0x0] add r1, #0x50 and r2, r3 str r2, [r0, #0x0] mov r2, #0x0 strh r2, [r1, #0x0] add r0, #0x50 strh r2, [r0, #0x0] mov r0, #0x4 mov r1, #0x8 bl FUN_0201669C mov r2, #0x1 mov r0, #0x3 mov r1, #0x13 lsl r2, r2, #0x12 bl FUN_0201681C ldr r1, _02079DAC ; =0x0000069C add r0, r4, #0x0 mov r2, #0x13 bl FUN_02006268 ldr r2, _02079DAC ; =0x0000069C mov r1, #0x0 add r5, r0, #0x0 blx Call_FillMemWithValue add r0, r4, #0x0 bl FUN_0200628C mov r1, #0x93 lsl r1, r1, #0x2 str r0, [r5, r1] mov r0, #0x13 bl FUN_02016B94 mov r1, #0x1 str r0, [r5, #0x0] mov r0, #0x13 add r2, r1, #0x0 bl FUN_02014BF4 mov r1, #0x2d lsl r1, r1, #0x4 str r0, [r5, r1] mov r0, #0x0 mov r1, #0x13 bl FUN_02002C84 bl FUN_0201CC08 mov r0, #0x4 bl FUN_0201CC24 add r0, r5, #0x0 bl FUN_0207B028 bl FUN_02079F58 ldr r0, [r5, #0x0] bl FUN_02079F78 add r0, r5, #0x0 bl FUN_0207A0CC bl FUN_0207A188 add r0, r5, #0x0 bl FUN_0207EF6C add r0, r5, #0x0 bl FUN_0207A1A0 add r0, r5, #0x0 bl FUN_0207AAB0 add r0, r5, #0x0 bl FUN_0207C328 add r0, r5, #0x0 bl FUN_0207C448 add r0, r5, #0x0 bl FUN_0207F840 add r0, r5, #0x0 bl FUN_0207C71C add r0, r5, #0x0 bl FUN_0207C77C add r0, r5, #0x0 bl FUN_0207D5BC add r0, r5, #0x0 bl FUN_0207AF58 add r0, r5, #0x0 bl FUN_0207F95C add r0, r5, #0x0 bl FUN_0207F098 ldr r0, _02079DB0 ; =FUN_02079F24 add r1, r5, #0x0 bl FUN_02015F10 bl FUN_0201E788 mov r1, #0x0 mov r0, #0x3d add r2, r1, #0x0 bl FUN_0200433C bl FUN_02033F20 mov r0, #0x1 pop {r3-r5, pc} nop _02079DA0: .word 0xFFFFE0FF _02079DA4: .word 0x04001000 _02079DA8: .word 0xFFFF1FFF _02079DAC: .word 0x0000069C _02079DB0: .word FUN_02079F24 thumb_func_start FUN_02079DB4 FUN_02079DB4: ; 0x02079DB4 push {r3-r5, lr} add r4, r1, #0x0 bl FUN_02006278 ldr r1, [r4, #0x0] add r5, r0, #0x0 cmp r1, #0x13 bhi _02079EA2 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02079DD0: ; jump table (using 16-bit offset) .short _02079DF8 - _02079DD0 - 2; case 0 .short _02079E06 - _02079DD0 - 2; case 1 .short _02079E0E - _02079DD0 - 2; case 2 .short _02079E16 - _02079DD0 - 2; case 3 .short _02079E1E - _02079DD0 - 2; case 4 .short _02079E26 - _02079DD0 - 2; case 5 .short _02079E2E - _02079DD0 - 2; case 6 .short _02079E36 - _02079DD0 - 2; case 7 .short _02079E3E - _02079DD0 - 2; case 8 .short _02079E46 - _02079DD0 - 2; case 9 .short _02079E4E - _02079DD0 - 2; case 10 .short _02079E56 - _02079DD0 - 2; case 11 .short _02079E5E - _02079DD0 - 2; case 12 .short _02079E66 - _02079DD0 - 2; case 13 .short _02079E6E - _02079DD0 - 2; case 14 .short _02079E76 - _02079DD0 - 2; case 15 .short _02079E7E - _02079DD0 - 2; case 16 .short _02079E86 - _02079DD0 - 2; case 17 .short _02079E8E - _02079DD0 - 2; case 18 .short _02079E96 - _02079DD0 - 2; case 19 _02079DF8: mov r0, #0x0 mov r1, #0x13 bl FUN_02079A70 mov r0, #0x1 str r0, [r4, #0x0] b _02079EA2 _02079E06: bl FUN_0207A2D8 str r0, [r4, #0x0] b _02079EA2 _02079E0E: bl FUN_0207A310 str r0, [r4, #0x0] b _02079EA2 _02079E16: bl FUN_0207A448 str r0, [r4, #0x0] b _02079EA2 _02079E1E: bl FUN_0207A45C str r0, [r4, #0x0] b _02079EA2 _02079E26: bl FUN_0207A470 str r0, [r4, #0x0] b _02079EA2 _02079E2E: bl FUN_0207A484 str r0, [r4, #0x0] b _02079EA2 _02079E36: bl FUN_0207A498 str r0, [r4, #0x0] b _02079EA2 _02079E3E: bl FUN_0207A57C str r0, [r4, #0x0] b _02079EA2 _02079E46: bl FUN_0207A654 str r0, [r4, #0x0] b _02079EA2 _02079E4E: bl FUN_0207A760 str r0, [r4, #0x0] b _02079EA2 _02079E56: bl FUN_0207A77C str r0, [r4, #0x0] b _02079EA2 _02079E5E: bl FUN_0207A790 str r0, [r4, #0x0] b _02079EA2 _02079E66: bl FUN_0207A7A4 str r0, [r4, #0x0] b _02079EA2 _02079E6E: bl FUN_0207A818 str r0, [r4, #0x0] b _02079EA2 _02079E76: bl FUN_0207A884 str r0, [r4, #0x0] b _02079EA2 _02079E7E: bl FUN_0207AA20 str r0, [r4, #0x0] b _02079EA2 _02079E86: bl FUN_0207AA70 str r0, [r4, #0x0] b _02079EA2 _02079E8E: bl FUN_0207AA88 str r0, [r4, #0x0] b _02079EA2 _02079E96: bl FUN_0207AA98 cmp r0, #0x1 bne _02079EA2 mov r0, #0x1 pop {r3-r5, pc} _02079EA2: add r0, r5, #0x0 bl FUN_0207C3F4 add r0, r5, #0x0 bl FUN_0207CC88 add r0, r5, #0x0 bl FUN_0207D3F4 ldr r0, _02079EC8 ; =0x00000404 ldr r0, [r5, r0] bl FUN_0200BC1C add r0, r5, #0x0 bl FUN_0207F008 mov r0, #0x0 pop {r3-r5, pc} nop _02079EC8: .word 0x00000404 thumb_func_start FUN_02079ECC FUN_02079ECC: ; 0x02079ECC push {r3-r5, lr} add r4, r0, #0x0 bl FUN_02006278 add r5, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F10 add r0, r5, #0x0 bl FUN_0207F068 add r0, r5, #0x0 bl FUN_0207C3D4 add r0, r5, #0x0 bl FUN_0207D74C ldr r0, [r5, #0x0] bl FUN_0207A08C bl FUN_0201CD04 bl FUN_0201C29C add r0, r5, #0x0 bl FUN_0207A264 mov r0, #0x0 bl FUN_02002CC0 ldr r0, _02079F20 ; =0x04000050 mov r1, #0x0 strh r1, [r0, #0x0] add r0, r4, #0x0 bl FUN_0200627C mov r0, #0x13 bl FUN_020168D0 mov r0, #0x1 pop {r3-r5, pc} .balign 4 _02079F20: .word 0x04000050 thumb_func_start FUN_02079F24 FUN_02079F24: ; 0x02079F24 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_0201AB60 mov r0, #0xae lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_020081C4 bl FUN_0201C30C bl FUN_0200BC30 ldr r3, _02079F50 ; =0x027E0000 ldr r1, _02079F54 ; =0x00003FF8 mov r0, #0x1 ldr r2, [r3, r1] orr r0, r2 str r0, [r3, r1] pop {r4, pc} nop _02079F50: .word 0x027E0000 _02079F54: .word 0x00003FF8 thumb_func_start FUN_02079F58 FUN_02079F58: ; 0x02079F58 push {r4, lr} sub sp, #0x28 ldr r4, _02079F74 ; =0x020FA6C0 add r3, sp, #0x0 mov r2, #0x5 _02079F62: ldmia r4!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _02079F62 add r0, sp, #0x0 bl FUN_0201E66C add sp, #0x28 pop {r4, pc} .balign 4 _02079F74: .word 0x020FA6C0 thumb_func_start FUN_02079F78 FUN_02079F78: ; 0x02079F78 push {r4-r5, lr} sub sp, #0x9c ldr r5, _0207A074 ; =0x020FA624 add r3, sp, #0x8c add r4, r0, #0x0 add r2, r3, #0x0 ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 bl FUN_02016BBC ldr r5, _0207A078 ; =0x020FA650 add r3, sp, #0x70 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x1 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02018744 ldr r5, _0207A07C ; =0x020FA66C add r3, sp, #0x54 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x2 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x2 bl FUN_02018744 add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x0 mov r3, #0x88 bl FUN_0201AEE4 ldr r5, _0207A080 ; =0x020FA688 add r3, sp, #0x38 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x3 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 bl FUN_02016C18 ldr r5, _0207A084 ; =0x020FA6A4 add r3, sp, #0x1c ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x4 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x4 bl FUN_02018744 ldr r5, _0207A088 ; =0x020FA634 add r3, sp, #0x0 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x5 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 bl FUN_02016C18 mov r0, #0x1 mov r1, #0x20 mov r2, #0x0 mov r3, #0x13 bl FUN_02017F18 mov r0, #0x4 mov r1, #0x20 mov r2, #0x0 mov r3, #0x13 bl FUN_02017F18 add sp, #0x9c pop {r4-r5, pc} nop _0207A074: .word 0x020FA624 _0207A078: .word 0x020FA650 _0207A07C: .word 0x020FA66C _0207A080: .word 0x020FA688 _0207A084: .word 0x020FA6A4 _0207A088: .word 0x020FA634 thumb_func_start FUN_0207A08C FUN_0207A08C: ; 0x0207A08C push {r4, lr} add r4, r0, #0x0 bl FUN_0201E6D8 bl FUN_0201E740 add r0, r4, #0x0 mov r1, #0x5 bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x4 bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x3 bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x2 bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x1 bl FUN_020178A0 mov r0, #0x13 add r1, r4, #0x0 bl FUN_02016A8C pop {r4, pc} .balign 4 thumb_func_start FUN_0207A0CC FUN_0207A0CC: ; 0x0207A0CC push {r4, lr} sub sp, #0x10 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] add r4, r0, #0x0 str r1, [sp, #0x8] mov r0, #0x13 str r0, [sp, #0xc] ldr r2, [r4, #0x0] mov r0, #0x27 mov r3, #0x3 bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x13 str r0, [sp, #0xc] mov r1, #0x3 ldr r2, [r4, #0x0] mov r0, #0x27 add r3, r1, #0x0 bl FUN_020068C8 mov r2, #0x0 str r2, [sp, #0x0] mov r0, #0x13 str r0, [sp, #0x4] mov r0, #0x27 mov r1, #0x1 add r3, r2, #0x0 bl FUN_02006930 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x13 str r0, [sp, #0xc] ldr r2, [r4, #0x0] mov r0, #0x27 mov r1, #0xb mov r3, #0x2 bl FUN_020068C8 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x13 str r0, [sp, #0xc] ldr r2, [r4, #0x0] mov r0, #0x27 mov r1, #0x2 mov r3, #0x4 bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x13 str r0, [sp, #0xc] ldr r2, [r4, #0x0] mov r0, #0x27 mov r1, #0x10 mov r3, #0x5 bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x13 str r0, [sp, #0xc] ldr r2, [r4, #0x0] mov r0, #0x27 mov r1, #0xf mov r3, #0x5 bl FUN_020068C8 mov r3, #0x0 str r3, [sp, #0x0] mov r0, #0x13 str r0, [sp, #0x4] mov r0, #0x27 mov r1, #0xe mov r2, #0x4 bl FUN_02006930 add sp, #0x10 pop {r4, pc} thumb_func_start FUN_0207A188 FUN_0207A188: ; 0x0207A188 push {r3, lr} mov r0, #0x8 str r0, [sp, #0x0] ldr r0, _0207A19C ; =0x04000050 mov r1, #0x1 mov r2, #0x1e mov r3, #0x17 blx G2x_SetBlendAlpha_ pop {r3, pc} .balign 4 _0207A19C: .word 0x04000050 thumb_func_start FUN_0207A1A0 FUN_0207A1A0: ; 0x0207A1A0 push {r4, lr} mov r2, #0x65 add r4, r0, #0x0 mov r0, #0x0 mov r1, #0x1a lsl r2, r2, #0x2 mov r3, #0x13 bl FUN_0200A86C ldr r1, _0207A250 ; =0x00000674 mov r2, #0x79 str r0, [r4, r1] mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 mov r3, #0x13 bl FUN_0200A86C ldr r1, _0207A254 ; =0x00000678 mov r2, #0x0 str r0, [r4, r1] mov r0, #0x1 mov r1, #0x2 mov r3, #0x13 bl FUN_0200B870 mov r1, #0x67 lsl r1, r1, #0x4 str r0, [r4, r1] mov r0, #0x13 bl FUN_0200AA80 ldr r1, _0207A258 ; =0x0000067C str r0, [r4, r1] mov r0, #0xc mov r1, #0x13 bl FUN_020219F4 mov r1, #0x25 lsl r1, r1, #0x4 str r0, [r4, r1] mov r0, #0xc mov r1, #0x13 bl FUN_020219F4 mov r1, #0x95 lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0x8 mov r1, #0x13 bl FUN_020219F4 mov r1, #0x96 lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0x80 mov r1, #0x13 bl FUN_020219F4 mov r1, #0x1a lsl r1, r1, #0x6 str r0, [r4, r1] mov r2, #0x93 mov r0, #0x0 mov r1, #0x1a lsl r2, r2, #0x2 mov r3, #0x13 bl FUN_0200A86C ldr r1, _0207A25C ; =0x00000688 str r0, [r4, r1] mov r0, #0x8 mov r1, #0x13 bl FUN_020219F4 ldr r2, _0207A260 ; =0x00000684 str r0, [r4, r2] mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldr r1, [r0, #0x8] cmp r1, #0x0 beq _0207A24C ldr r0, [r4, r2] bl FUN_02021E28 _0207A24C: pop {r4, pc} nop _0207A250: .word 0x00000674 _0207A254: .word 0x00000678 _0207A258: .word 0x0000067C _0207A25C: .word 0x00000688 _0207A260: .word 0x00000684 thumb_func_start FUN_0207A264 FUN_0207A264: ; 0x0207A264 push {r4, lr} add r4, r0, #0x0 ldr r0, _0207A2C4 ; =0x00000688 ldr r0, [r4, r0] bl FUN_0200A8B8 ldr r0, _0207A2C8 ; =0x00000678 ldr r0, [r4, r0] bl FUN_0200A8B8 ldr r0, _0207A2CC ; =0x00000674 ldr r0, [r4, r0] bl FUN_0200A8B8 mov r0, #0x67 lsl r0, r0, #0x4 ldr r0, [r4, r0] bl FUN_0200B990 ldr r0, _0207A2D0 ; =0x0000067C ldr r0, [r4, r0] bl FUN_0200AB18 mov r0, #0x25 lsl r0, r0, #0x4 ldr r0, [r4, r0] bl FUN_02021A20 mov r0, #0x95 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02021A20 mov r0, #0x96 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02021A20 mov r0, #0x1a lsl r0, r0, #0x6 ldr r0, [r4, r0] bl FUN_02021A20 ldr r0, _0207A2D4 ; =0x00000684 ldr r0, [r4, r0] bl FUN_02021A20 pop {r4, pc} .balign 4 _0207A2C4: .word 0x00000688 _0207A2C8: .word 0x00000678 _0207A2CC: .word 0x00000674 _0207A2D0: .word 0x0000067C _0207A2D4: .word 0x00000684 thumb_func_start FUN_0207A2D8 FUN_0207A2D8: ; 0x0207A2D8 push {r4, lr} add r4, r0, #0x0 bl FUN_0200E308 cmp r0, #0x1 bne _0207A30C add r0, r4, #0x0 bl FUN_0207F8D0 add r0, r4, #0x0 bl FUN_0207AF20 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldrb r0, [r0, #0x12] cmp r0, #0x2 bne _0207A300 mov r0, #0x9 pop {r4, pc} _0207A300: cmp r0, #0x4 bne _0207A308 mov r0, #0xf pop {r4, pc} _0207A308: mov r0, #0x2 pop {r4, pc} _0207A30C: mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0207A310 FUN_0207A310: ; 0x0207A310 push {r4-r6, lr} ldr r3, _0207A438 ; =0x0000068F add r4, r0, #0x0 ldrb r1, [r4, r3] lsl r1, r1, #0x18 lsr r1, r1, #0x1c cmp r1, #0x1 bne _0207A32E mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 strb r1, [r0, #0x17] mov r0, #0x12 pop {r4-r6, pc} _0207A32E: ldr r2, _0207A43C ; =0x021C48B8 mov r1, #0x20 ldr r5, [r2, #0x4c] add r6, r5, #0x0 tst r6, r1 beq _0207A344 sub r1, #0x21 bl FUN_0207B178 mov r0, #0x2 pop {r4-r6, pc} _0207A344: mov r1, #0x10 tst r1, r5 beq _0207A354 mov r1, #0x1 bl FUN_0207B178 mov r0, #0x2 pop {r4-r6, pc} _0207A354: mov r1, #0x40 add r6, r5, #0x0 tst r6, r1 beq _0207A366 sub r1, #0x41 bl FUN_0207B3F0 mov r0, #0x2 pop {r4-r6, pc} _0207A366: mov r1, #0x80 tst r1, r5 beq _0207A376 mov r1, #0x1 bl FUN_0207B3F0 mov r0, #0x2 pop {r4-r6, pc} _0207A376: ldr r1, [r2, #0x48] mov r0, #0x2 tst r0, r1 beq _0207A394 sub r3, #0xb2 add r0, r3, #0x0 bl FUN_020054C8 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 strb r1, [r0, #0x17] mov r0, #0x12 pop {r4-r6, pc} _0207A394: mov r0, #0x1 tst r0, r1 beq _0207A420 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldrb r0, [r0, #0x12] cmp r0, #0x3 bne _0207A3BE sub r0, r3, #0x3 ldrsb r0, [r4, r0] cmp r0, #0x4 bne _0207A3BE sub r3, #0xb2 add r0, r3, #0x0 bl FUN_020054C8 add r0, r4, #0x0 bl FUN_0207C23C pop {r4-r6, pc} _0207A3BE: ldr r0, _0207A440 ; =0x0000068C ldrsb r1, [r4, r0] cmp r1, #0x3 bne _0207A3D6 add r0, #0x10 bl FUN_020054C8 ldr r0, _0207A444 ; =0x0000068E mov r1, #0x0 strb r1, [r4, r0] mov r0, #0x3 pop {r4-r6, pc} _0207A3D6: cmp r1, #0x5 bne _0207A3EA add r0, #0x10 bl FUN_020054C8 ldr r0, _0207A444 ; =0x0000068E mov r1, #0x0 strb r1, [r4, r0] mov r0, #0x5 pop {r4-r6, pc} _0207A3EA: cmp r1, #0x6 bne _0207A408 add r1, r0, #0x0 add r1, #0xd ldrb r1, [r4, r1] cmp r1, #0x0 beq _0207A420 sub r0, #0xaf bl FUN_020054C8 ldr r0, _0207A444 ; =0x0000068E mov r1, #0x0 strb r1, [r4, r0] mov r0, #0xb pop {r4-r6, pc} _0207A408: cmp r1, #0x7 bne _0207A420 sub r0, #0xaf bl FUN_020054C8 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 strb r1, [r0, #0x17] mov r0, #0x12 pop {r4-r6, pc} _0207A420: add r0, r4, #0x0 bl FUN_0207B200 cmp r0, #0x1 bne _0207A434 ldr r0, _0207A444 ; =0x0000068E mov r1, #0x2 strb r1, [r4, r0] mov r0, #0xe pop {r4-r6, pc} _0207A434: mov r0, #0x2 pop {r4-r6, pc} .balign 4 _0207A438: .word 0x0000068F _0207A43C: .word 0x021C48B8 _0207A440: .word 0x0000068C _0207A444: .word 0x0000068E thumb_func_start FUN_0207A448 FUN_0207A448: ; 0x0207A448 push {r3, lr} bl FUN_0207B66C cmp r0, #0x1 bne _0207A456 mov r0, #0x7 pop {r3, pc} _0207A456: mov r0, #0x3 pop {r3, pc} .balign 4 thumb_func_start FUN_0207A45C FUN_0207A45C: ; 0x0207A45C push {r3, lr} bl FUN_0207B788 cmp r0, #0x1 bne _0207A46A mov r0, #0x2 pop {r3, pc} _0207A46A: mov r0, #0x4 pop {r3, pc} .balign 4 thumb_func_start FUN_0207A470 FUN_0207A470: ; 0x0207A470 push {r3, lr} bl FUN_0207BAEC cmp r0, #0x1 bne _0207A47E mov r0, #0x7 pop {r3, pc} _0207A47E: mov r0, #0x5 pop {r3, pc} .balign 4 thumb_func_start FUN_0207A484 FUN_0207A484: ; 0x0207A484 push {r3, lr} bl FUN_0207BBF0 cmp r0, #0x1 bne _0207A492 mov r0, #0x2 pop {r3, pc} _0207A492: mov r0, #0x6 pop {r3, pc} .balign 4 thumb_func_start FUN_0207A498 FUN_0207A498: ; 0x0207A498 push {r4, lr} ldr r1, _0207A568 ; =0x021C48B8 add r4, r0, #0x0 ldr r2, [r1, #0x48] mov r1, #0x40 add r3, r2, #0x0 tst r3, r1 beq _0207A4C2 sub r1, #0x41 bl FUN_0207B878 cmp r0, #0x1 bne _0207A4BE ldr r0, _0207A56C ; =0x000005DC bl FUN_020054C8 add r0, r4, #0x0 bl FUN_0207B8D8 _0207A4BE: mov r0, #0x7 pop {r4, pc} _0207A4C2: mov r1, #0x80 tst r1, r2 beq _0207A4E2 mov r1, #0x1 bl FUN_0207B878 cmp r0, #0x1 bne _0207A4DE ldr r0, _0207A56C ; =0x000005DC bl FUN_020054C8 add r0, r4, #0x0 bl FUN_0207B8D8 _0207A4DE: mov r0, #0x7 pop {r4, pc} _0207A4E2: mov r0, #0x1 tst r0, r2 beq _0207A542 ldr r0, _0207A570 ; =0x0000068D ldrb r1, [r4, r0] lsl r1, r1, #0x1c lsr r1, r1, #0x1c cmp r1, #0x4 bne _0207A510 add r0, #0xf bl FUN_020054C8 ldr r0, _0207A574 ; =0x0000068E mov r1, #0x0 strb r1, [r4, r0] sub r0, r0, #0x2 ldrsb r0, [r4, r0] cmp r0, #0x3 bne _0207A50C mov r0, #0x4 pop {r4, pc} _0207A50C: mov r0, #0x6 pop {r4, pc} _0207A510: mov r1, #0x93 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldrb r1, [r1, #0x12] cmp r1, #0x1 beq _0207A542 sub r0, #0xb0 bl FUN_020054C8 add r0, r4, #0x0 bl FUN_0207CBE8 ldr r2, _0207A570 ; =0x0000068D mov r1, #0xf0 ldrb r3, [r4, r2] add r0, r3, #0x0 bic r0, r1 lsl r1, r3, #0x1c lsr r1, r1, #0x1c lsl r1, r1, #0x1c lsr r1, r1, #0x18 orr r0, r1 strb r0, [r4, r2] mov r0, #0x8 pop {r4, pc} _0207A542: mov r0, #0x2 tst r0, r2 beq _0207A564 ldr r0, _0207A578 ; =0x0000069C bl FUN_020054C8 ldr r0, _0207A574 ; =0x0000068E mov r1, #0x0 strb r1, [r4, r0] sub r0, r0, #0x2 ldrsb r0, [r4, r0] cmp r0, #0x3 bne _0207A560 mov r0, #0x4 pop {r4, pc} _0207A560: mov r0, #0x6 pop {r4, pc} _0207A564: mov r0, #0x7 pop {r4, pc} .balign 4 _0207A568: .word 0x021C48B8 _0207A56C: .word 0x000005DC _0207A570: .word 0x0000068D _0207A574: .word 0x0000068E _0207A578: .word 0x0000069C thumb_func_start FUN_0207A57C FUN_0207A57C: ; 0x0207A57C push {r4, lr} ldr r1, _0207A644 ; =0x021C48B8 add r4, r0, #0x0 ldr r2, [r1, #0x48] mov r1, #0x40 add r3, r2, #0x0 tst r3, r1 beq _0207A5A6 sub r1, #0x41 bl FUN_0207B878 cmp r0, #0x1 bne _0207A5A2 ldr r0, _0207A648 ; =0x000005DC bl FUN_020054C8 add r0, r4, #0x0 bl FUN_0207B8D8 _0207A5A2: mov r0, #0x8 pop {r4, pc} _0207A5A6: mov r1, #0x80 tst r1, r2 beq _0207A5C6 mov r1, #0x1 bl FUN_0207B878 cmp r0, #0x1 bne _0207A5C2 ldr r0, _0207A648 ; =0x000005DC bl FUN_020054C8 add r0, r4, #0x0 bl FUN_0207B8D8 _0207A5C2: mov r0, #0x8 pop {r4, pc} _0207A5C6: mov r0, #0x1 tst r0, r2 beq _0207A622 mov r0, #0x43 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_020200A0 ldr r0, _0207A64C ; =0x0000068D ldrb r1, [r4, r0] lsl r2, r1, #0x1c lsr r2, r2, #0x1c cmp r2, #0x4 beq _0207A618 lsl r1, r1, #0x18 lsr r1, r1, #0x1c cmp r2, r1 beq _0207A618 sub r0, #0xb0 bl FUN_020054C8 add r0, r4, #0x0 bl FUN_0207B9C0 ldr r1, _0207A64C ; =0x0000068D add r0, r4, #0x0 ldrb r2, [r4, r1] lsl r1, r2, #0x1c lsl r2, r2, #0x18 lsr r1, r1, #0x1c lsr r2, r2, #0x1c bl FUN_0207CB08 add r0, r4, #0x0 bl FUN_0207ED30 add r0, r4, #0x0 bl FUN_0207B8D8 b _0207A61E _0207A618: ldr r0, _0207A650 ; =0x000005DD bl FUN_020054C8 _0207A61E: mov r0, #0x7 pop {r4, pc} _0207A622: mov r0, #0x2 tst r0, r2 beq _0207A63E ldr r0, _0207A650 ; =0x000005DD bl FUN_020054C8 mov r0, #0x43 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_020200A0 mov r0, #0x7 pop {r4, pc} _0207A63E: mov r0, #0x8 pop {r4, pc} nop _0207A644: .word 0x021C48B8 _0207A648: .word 0x000005DC _0207A64C: .word 0x0000068D _0207A650: .word 0x000005DD thumb_func_start FUN_0207A654 FUN_0207A654: ; 0x0207A654 push {r4, lr} ldr r1, _0207A750 ; =0x021C48B8 add r4, r0, #0x0 ldr r2, [r1, #0x48] mov r1, #0x20 add r3, r2, #0x0 tst r3, r1 beq _0207A66E sub r1, #0x21 bl FUN_0207B178 mov r0, #0x9 pop {r4, pc} _0207A66E: mov r1, #0x10 tst r1, r2 beq _0207A67E mov r1, #0x1 bl FUN_0207B178 mov r0, #0x9 pop {r4, pc} _0207A67E: mov r1, #0x40 add r3, r2, #0x0 tst r3, r1 beq _0207A6A0 sub r1, #0x41 bl FUN_0207B878 cmp r0, #0x1 bne _0207A69C ldr r0, _0207A754 ; =0x000005DC bl FUN_020054C8 add r0, r4, #0x0 bl FUN_0207B8D8 _0207A69C: mov r0, #0x9 pop {r4, pc} _0207A6A0: mov r1, #0x80 tst r1, r2 beq _0207A6C0 mov r1, #0x1 bl FUN_0207B878 cmp r0, #0x1 bne _0207A6BC ldr r0, _0207A754 ; =0x000005DC bl FUN_020054C8 add r0, r4, #0x0 bl FUN_0207B8D8 _0207A6BC: mov r0, #0x9 pop {r4, pc} _0207A6C0: mov r0, #0x1 tst r0, r2 beq _0207A72C ldr r0, _0207A758 ; =0x000005DD bl FUN_020054C8 ldr r0, _0207A75C ; =0x0000068D ldrb r0, [r4, r0] lsl r0, r0, #0x1c lsr r0, r0, #0x1c cmp r0, #0x4 beq _0207A712 lsl r0, r0, #0x1 add r1, r4, r0 mov r0, #0xa1 lsl r0, r0, #0x2 ldrh r0, [r1, r0] bl FUN_0206EA54 cmp r0, #0x1 bne _0207A712 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldrh r0, [r0, #0x18] cmp r0, #0x0 beq _0207A712 mov r0, #0x45 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200C63C add r0, r4, #0x0 bl FUN_0207BD58 add r0, r4, #0x0 bl FUN_0207EDB4 mov r0, #0xa pop {r4, pc} _0207A712: ldr r0, _0207A75C ; =0x0000068D ldrb r0, [r4, r0] lsl r0, r0, #0x1c lsr r2, r0, #0x1c mov r0, #0x93 lsl r0, r0, #0x2 ldr r1, [r4, r0] strb r2, [r1, #0x16] ldr r0, [r4, r0] mov r1, #0x0 strb r1, [r0, #0x17] mov r0, #0x12 pop {r4, pc} _0207A72C: mov r0, #0x2 tst r0, r2 beq _0207A74C ldr r0, _0207A758 ; =0x000005DD bl FUN_020054C8 mov r0, #0x93 lsl r0, r0, #0x2 ldr r1, [r4, r0] mov r2, #0x4 strb r2, [r1, #0x16] ldr r0, [r4, r0] mov r1, #0x1 strb r1, [r0, #0x17] mov r0, #0x12 pop {r4, pc} _0207A74C: mov r0, #0x9 pop {r4, pc} .balign 4 _0207A750: .word 0x021C48B8 _0207A754: .word 0x000005DC _0207A758: .word 0x000005DD _0207A75C: .word 0x0000068D thumb_func_start FUN_0207A760 FUN_0207A760: ; 0x0207A760 push {r3, lr} ldr r1, _0207A778 ; =0x021C48B8 ldr r2, [r1, #0x48] mov r1, #0x3 tst r1, r2 beq _0207A774 bl FUN_0207B8D8 mov r0, #0x9 pop {r3, pc} _0207A774: mov r0, #0xa pop {r3, pc} .balign 4 _0207A778: .word 0x021C48B8 thumb_func_start FUN_0207A77C FUN_0207A77C: ; 0x0207A77C push {r3, lr} bl FUN_0207BE68 cmp r0, #0x1 bne _0207A78A mov r0, #0xd pop {r3, pc} _0207A78A: mov r0, #0xb pop {r3, pc} .balign 4 thumb_func_start FUN_0207A790 FUN_0207A790: ; 0x0207A790 push {r3, lr} bl FUN_0207BF90 cmp r0, #0x1 bne _0207A79E mov r0, #0x2 pop {r3, pc} _0207A79E: mov r0, #0xc pop {r3, pc} .balign 4 thumb_func_start FUN_0207A7A4 FUN_0207A7A4: ; 0x0207A7A4 push {r3-r5, lr} ldr r3, _0207A80C ; =0x021C48B8 mov r1, #0x20 ldr r2, [r3, #0x4c] add r4, r0, #0x0 add r5, r2, #0x0 tst r5, r1 beq _0207A7BE sub r1, #0x21 bl FUN_0207C07C mov r0, #0xd pop {r3-r5, pc} _0207A7BE: mov r1, #0x10 tst r1, r2 beq _0207A7CE mov r1, #0x1 bl FUN_0207C07C mov r0, #0xd pop {r3-r5, pc} _0207A7CE: mov r1, #0x40 add r5, r2, #0x0 tst r5, r1 beq _0207A7E0 sub r1, #0x44 bl FUN_0207C07C mov r0, #0xd pop {r3-r5, pc} _0207A7E0: mov r1, #0x80 tst r1, r2 beq _0207A7F0 mov r1, #0x4 bl FUN_0207C07C mov r0, #0xd pop {r3-r5, pc} _0207A7F0: ldr r1, [r3, #0x48] mov r0, #0x3 tst r0, r1 beq _0207A808 ldr r0, _0207A810 ; =0x000005DD bl FUN_020054C8 ldr r0, _0207A814 ; =0x0000068E mov r1, #0x0 strb r1, [r4, r0] mov r0, #0xc pop {r3-r5, pc} _0207A808: mov r0, #0xd pop {r3-r5, pc} .balign 4 _0207A80C: .word 0x021C48B8 _0207A810: .word 0x000005DD _0207A814: .word 0x0000068E thumb_func_start FUN_0207A818 FUN_0207A818: ; 0x0207A818 push {r4, lr} add r4, r0, #0x0 bl FUN_0207FB28 cmp r0, #0x1 bne _0207A82A ldr r0, _0207A878 ; =0x0000068E ldrb r0, [r4, r0] pop {r4, pc} _0207A82A: ldr r1, _0207A87C ; =0x00000695 ldrb r0, [r4, r1] cmp r0, #0x1 bne _0207A874 add r1, r1, #0x1 ldrb r1, [r4, r1] add r0, r4, #0x0 bl FUN_0207FC40 add r1, r0, #0x0 cmp r1, #0x7 bne _0207A850 ldr r2, _0207A880 ; =0x0000068F mov r0, #0xf0 ldrb r3, [r4, r2] bic r3, r0 mov r0, #0x10 orr r0, r3 strb r0, [r4, r2] _0207A850: mov r0, #0x2a lsl r0, r0, #0x4 ldr r0, [r4, r0] lsl r0, r0, #0x3 lsr r0, r0, #0x1f cmp r0, #0x1 bne _0207A86E cmp r1, #0x1 beq _0207A866 cmp r1, #0x7 bne _0207A874 _0207A866: add r0, r4, #0x0 bl FUN_0207B0CC b _0207A874 _0207A86E: add r0, r4, #0x0 bl FUN_0207B0CC _0207A874: mov r0, #0xe pop {r4, pc} .balign 4 _0207A878: .word 0x0000068E _0207A87C: .word 0x00000695 _0207A880: .word 0x0000068F thumb_func_start FUN_0207A884 FUN_0207A884: ; 0x0207A884 push {r4-r6, lr} sub sp, #0x8 ldr r1, _0207AA00 ; =0x021C48B8 add r5, r0, #0x0 ldr r2, [r1, #0x48] mov r1, #0x3 tst r1, r2 bne _0207A896 b _0207A9FA _0207A896: mov r1, #0x93 lsl r1, r1, #0x2 ldr r1, [r5, r1] ldrb r1, [r1, #0x11] cmp r1, #0x2 bne _0207A8BA bl FUN_0207B628 add r6, r0, #0x0 mov r0, #0x13 bl FUN_020669C0 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_02069A64 b _0207A8C0 _0207A8BA: bl FUN_0207B628 add r4, r0, #0x0 _0207A8C0: mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r1, r4, #0x0 ldr r0, [r0, #0x24] bl FUN_0208821C ldr r0, _0207AA04 ; =0x0000068E mov r2, #0x0 strb r2, [r5, r0] ldr r0, _0207AA08 ; =0x00000295 mov r1, #0x13 ldrb r6, [r5, r0] add r0, r4, #0x0 bl FUN_020671BC ldr r1, _0207AA08 ; =0x00000295 strb r0, [r5, r1] ldrb r0, [r5, r1] cmp r6, r0 beq _0207A8F4 ldr r1, _0207AA04 ; =0x0000068E mov r0, #0x1 ldrb r2, [r5, r1] orr r0, r2 strb r0, [r5, r1] _0207A8F4: ldr r0, _0207AA0C ; =0x00000296 mov r1, #0x14 ldrb r6, [r5, r0] add r0, r4, #0x0 mov r2, #0x0 bl FUN_020671BC ldr r1, _0207AA0C ; =0x00000296 strb r0, [r5, r1] ldrb r0, [r5, r1] cmp r6, r0 beq _0207A916 ldr r1, _0207AA04 ; =0x0000068E mov r0, #0x2 ldrb r2, [r5, r1] orr r0, r2 strb r0, [r5, r1] _0207A916: ldr r0, _0207AA10 ; =0x00000297 mov r1, #0x15 ldrb r6, [r5, r0] add r0, r4, #0x0 mov r2, #0x0 bl FUN_020671BC ldr r1, _0207AA10 ; =0x00000297 strb r0, [r5, r1] ldrb r0, [r5, r1] cmp r6, r0 beq _0207A938 ldr r1, _0207AA04 ; =0x0000068E mov r0, #0x4 ldrb r2, [r5, r1] orr r0, r2 strb r0, [r5, r1] _0207A938: mov r0, #0xa6 lsl r0, r0, #0x2 ldrb r6, [r5, r0] add r0, r4, #0x0 mov r1, #0x16 mov r2, #0x0 bl FUN_020671BC mov r1, #0xa6 lsl r1, r1, #0x2 strb r0, [r5, r1] ldrb r0, [r5, r1] cmp r6, r0 beq _0207A95E ldr r1, _0207AA04 ; =0x0000068E mov r0, #0x8 ldrb r2, [r5, r1] orr r0, r2 strb r0, [r5, r1] _0207A95E: ldr r0, _0207AA14 ; =0x00000299 mov r1, #0x17 ldrb r6, [r5, r0] add r0, r4, #0x0 mov r2, #0x0 bl FUN_020671BC ldr r1, _0207AA14 ; =0x00000299 strb r0, [r5, r1] ldrb r0, [r5, r1] cmp r6, r0 beq _0207A980 ldr r1, _0207AA04 ; =0x0000068E mov r0, #0x10 ldrb r2, [r5, r1] orr r0, r2 strb r0, [r5, r1] _0207A980: add r0, r4, #0x0 mov r1, #0x18 mov r2, #0x0 bl FUN_020671BC ldr r1, _0207AA18 ; =0x0000029A strb r0, [r5, r1] sub r1, #0x4e ldr r0, [r5, r1] ldrb r0, [r0, #0x11] cmp r0, #0x2 bne _0207A99E add r0, r4, #0x0 bl FUN_02016A18 _0207A99E: mov r1, #0x7 mov r0, #0x0 lsl r1, r1, #0x6 mov r2, #0x13 bl FUN_02002EEC mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r0, [r0, #0x4] bl FUN_02025084 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] mov r0, #0x13 str r0, [sp, #0x4] ldr r0, [r5, #0x0] ldr r2, _0207AA1C ; =0x000003E2 mov r1, #0x1 mov r3, #0xd bl FUN_0200CD68 ldr r0, _0207AA04 ; =0x0000068E ldrb r0, [r5, r0] cmp r0, #0x0 bne _0207A9E2 add r0, r5, #0x0 mov r1, #0xfe bl FUN_0207EECC add sp, #0x8 mov r0, #0x11 pop {r4-r6, pc} _0207A9E2: add r0, r5, #0x0 bl FUN_0207F608 add r0, r5, #0x0 bl FUN_0207CC24 add r0, r5, #0x0 bl FUN_0207CF78 add sp, #0x8 mov r0, #0x10 pop {r4-r6, pc} _0207A9FA: mov r0, #0xf add sp, #0x8 pop {r4-r6, pc} .balign 4 _0207AA00: .word 0x021C48B8 _0207AA04: .word 0x0000068E _0207AA08: .word 0x00000295 _0207AA0C: .word 0x00000296 _0207AA10: .word 0x00000297 _0207AA14: .word 0x00000299 _0207AA18: .word 0x0000029A _0207AA1C: .word 0x000003E2 thumb_func_start FUN_0207AA20 FUN_0207AA20: ; 0x0207AA20 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0207AA68 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _0207AA62 ldr r0, _0207AA6C ; =0x0000068E mov r1, #0x0 ldrb r2, [r5, r0] mov r0, #0x1 _0207AA36: add r4, r0, #0x0 lsl r4, r1 add r3, r2, #0x0 tst r3, r4 beq _0207AA58 add r0, r5, #0x0 bl FUN_0207EECC ldr r0, _0207AA6C ; =0x0000068E ldrb r1, [r5, r0] eor r1, r4 strb r1, [r5, r0] ldrb r0, [r5, r0] cmp r0, #0x0 bne _0207AA62 mov r0, #0x11 pop {r3-r5, pc} _0207AA58: add r1, r1, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, #0x5 blo _0207AA36 _0207AA62: mov r0, #0x10 pop {r3-r5, pc} nop _0207AA68: .word 0x021C48B8 _0207AA6C: .word 0x0000068E thumb_func_start FUN_0207AA70 FUN_0207AA70: ; 0x0207AA70 ldr r0, _0207AA84 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 tst r0, r1 beq _0207AA7E mov r0, #0x12 bx lr _0207AA7E: mov r0, #0x11 bx lr nop _0207AA84: .word 0x021C48B8 thumb_func_start FUN_0207AA88 FUN_0207AA88: ; 0x0207AA88 push {r3, lr} mov r0, #0x1 mov r1, #0x13 bl FUN_02079A70 mov r0, #0x13 pop {r3, pc} .balign 4 thumb_func_start FUN_0207AA98 FUN_0207AA98: ; 0x0207AA98 push {r3, lr} bl FUN_0200E308 cmp r0, #0x1 bne _0207AAA6 mov r0, #0x1 b _0207AAA8 _0207AAA6: mov r0, #0x0 _0207AAA8: lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3, pc} .balign 4 thumb_func_start FUN_0207AAB0 FUN_0207AAB0: ; 0x0207AAB0 push {r4, lr} add r4, r0, #0x0 bl FUN_0207B628 mov r2, #0x93 lsl r2, r2, #0x2 add r1, r0, #0x0 ldr r0, [r4, r2] ldrb r0, [r0, #0x11] cmp r0, #0x2 bne _0207AAD2 add r2, r2, #0x4 add r0, r4, #0x0 add r2, r4, r2 bl FUN_0207AAE0 pop {r4, pc} _0207AAD2: add r2, r2, #0x4 add r0, r4, #0x0 add r2, r4, r2 bl FUN_0207AB0C pop {r4, pc} .balign 4 thumb_func_start FUN_0207AAE0 FUN_0207AAE0: ; 0x0207AAE0 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x13 add r6, r1, #0x0 add r7, r2, #0x0 bl FUN_020669C0 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_02069A64 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 bl FUN_0207AB0C add r0, r4, #0x0 bl FUN_02016A18 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0207AB0C FUN_0207AB0C: ; 0x0207AB0C push {r3-r7, lr} sub sp, #0x8 add r6, r1, #0x0 add r7, r0, #0x0 add r0, r6, #0x0 add r5, r2, #0x0 bl FUN_020669D4 str r0, [sp, #0x4] add r0, r6, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC strh r0, [r5, #0xc] add r0, r6, #0x0 bl FUN_020690E4 ldr r2, _0207AEAC ; =0x00000674 add r4, r0, #0x0 ldr r0, [r7, r2] add r2, #0xc ldr r2, [r7, r2] mov r1, #0xb bl FUN_0200A8E0 ldr r0, _0207AEB0 ; =0x0000067C mov r1, #0x0 ldr r0, [r7, r0] add r2, r4, #0x0 bl FUN_0200AC60 ldr r2, _0207AEB0 ; =0x0000067C mov r1, #0x25 ldr r0, [r7, r2] lsl r1, r1, #0x4 add r2, r2, #0x4 ldr r1, [r7, r1] ldr r2, [r7, r2] bl FUN_0200B7B8 ldr r2, _0207AEAC ; =0x00000674 mov r1, #0x0 ldr r0, [r7, r2] add r2, #0xc ldr r2, [r7, r2] bl FUN_0200A8E0 ldr r0, _0207AEB0 ; =0x0000067C mov r1, #0x0 ldr r0, [r7, r0] add r2, r4, #0x0 bl FUN_0200ACF8 ldr r2, _0207AEB0 ; =0x0000067C mov r1, #0x95 ldr r0, [r7, r2] lsl r1, r1, #0x2 add r2, r2, #0x4 ldr r1, [r7, r1] ldr r2, [r7, r2] bl FUN_0200B7B8 ldr r2, _0207AEAC ; =0x00000674 mov r1, #0xe ldr r0, [r7, r2] add r2, #0xc ldr r2, [r7, r2] bl FUN_0200A8E0 ldr r0, _0207AEB0 ; =0x0000067C mov r1, #0x0 ldr r0, [r7, r0] add r2, r4, #0x0 bl FUN_0200AD18 ldr r2, _0207AEB0 ; =0x0000067C mov r1, #0x96 ldr r0, [r7, r2] lsl r1, r1, #0x2 add r2, r2, #0x4 ldr r1, [r7, r1] ldr r2, [r7, r2] bl FUN_0200B7B8 add r0, r6, #0x0 mov r1, #0x6 mov r2, #0x0 bl FUN_020671BC strh r0, [r5, #0xe] add r0, r6, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC ldrb r1, [r5, #0x12] mov r2, #0x7f lsl r0, r0, #0x18 bic r1, r2 lsr r2, r0, #0x18 mov r0, #0x7f and r0, r2 orr r0, r1 strb r0, [r5, #0x12] add r0, r6, #0x0 mov r1, #0x4c mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x1f ldr r2, [r5, #0x50] ldr r1, _0207AEB4 ; =0xEFFFFFFF lsr r0, r0, #0x3 and r1, r2 orr r0, r1 str r0, [r5, #0x50] add r0, r6, #0x0 mov r1, #0xaf mov r2, #0x0 bl FUN_020671BC cmp r0, #0x1 bne _0207AC16 ldr r0, [r5, #0x50] lsl r0, r0, #0x3 lsr r0, r0, #0x1f bne _0207AC16 ldrb r1, [r5, #0x12] mov r0, #0x80 bic r1, r0 strb r1, [r5, #0x12] b _0207AC1E _0207AC16: ldrb r1, [r5, #0x12] mov r0, #0x80 orr r0, r1 strb r0, [r5, #0x12] _0207AC1E: add r0, r6, #0x0 bl FUN_020689E0 ldrb r1, [r5, #0x13] mov r2, #0x3 bic r1, r2 mov r2, #0x3 and r0, r2 orr r0, r1 strb r0, [r5, #0x13] add r0, r6, #0x0 mov r1, #0x9a mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1a ldrb r1, [r5, #0x13] mov r2, #0xfc lsr r0, r0, #0x18 bic r1, r2 orr r0, r1 strb r0, [r5, #0x13] add r0, r6, #0x0 mov r1, #0xb0 mov r2, #0x0 bl FUN_020671BC strb r0, [r5, #0x10] add r0, r6, #0x0 mov r1, #0xb1 mov r2, #0x0 bl FUN_020671BC strb r0, [r5, #0x11] add r0, r6, #0x0 mov r1, #0x7 mov r2, #0x0 bl FUN_020671BC str r0, [r5, #0x14] add r0, r6, #0x0 mov r1, #0x8 mov r2, #0x0 bl FUN_020671BC str r0, [r5, #0x18] add r0, r6, #0x0 mov r1, #0x9c mov r2, #0x0 bl FUN_020671BC add r1, r5, #0x0 add r1, #0x44 strb r0, [r1, #0x0] ldrb r1, [r5, #0x12] ldrh r0, [r5, #0xc] lsl r1, r1, #0x19 lsr r1, r1, #0x19 bl FUN_02068758 str r0, [r5, #0x1c] ldrb r0, [r5, #0x12] lsl r0, r0, #0x19 lsr r1, r0, #0x19 cmp r1, #0x64 bne _0207ACAA ldr r0, [r5, #0x1c] b _0207ACB2 _0207ACAA: ldrh r0, [r5, #0xc] add r1, r1, #0x1 bl FUN_02068758 _0207ACB2: str r0, [r5, #0x20] add r0, r6, #0x0 mov r1, #0xa2 mov r2, #0x0 bl FUN_020671BC strh r0, [r5, #0x24] add r0, r6, #0x0 mov r1, #0xa3 mov r2, #0x0 bl FUN_020671BC strh r0, [r5, #0x26] add r0, r6, #0x0 mov r1, #0xa4 mov r2, #0x0 bl FUN_020671BC strh r0, [r5, #0x28] add r0, r6, #0x0 mov r1, #0xa5 mov r2, #0x0 bl FUN_020671BC strh r0, [r5, #0x2a] add r0, r6, #0x0 mov r1, #0xa7 mov r2, #0x0 bl FUN_020671BC strh r0, [r5, #0x2c] add r0, r6, #0x0 mov r1, #0xa8 mov r2, #0x0 bl FUN_020671BC strh r0, [r5, #0x2e] add r0, r6, #0x0 mov r1, #0xa6 mov r2, #0x0 bl FUN_020671BC strh r0, [r5, #0x30] add r0, r6, #0x0 mov r1, #0xa mov r2, #0x0 bl FUN_020671BC add r1, r5, #0x0 add r1, #0x32 strb r0, [r1, #0x0] add r0, r6, #0x0 bl FUN_02068854 add r1, r5, #0x0 add r1, #0x33 strb r0, [r1, #0x0] mov r4, #0x0 _0207AD26: lsl r0, r4, #0x1 add r0, r5, r0 add r1, r4, #0x0 str r0, [sp, #0x0] add r0, r6, #0x0 add r1, #0x36 mov r2, #0x0 bl FUN_020671BC ldr r1, [sp, #0x0] mov r2, #0x0 strh r0, [r1, #0x34] add r1, r4, #0x0 add r0, r6, #0x0 add r1, #0x3a bl FUN_020671BC add r1, r5, r4 add r1, #0x3c strb r0, [r1, #0x0] add r1, r4, #0x0 add r0, r6, #0x0 add r1, #0x3e mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r1, r0, #0x18 ldr r0, [sp, #0x0] ldrh r0, [r0, #0x34] bl FUN_0206AB30 add r1, r5, r4 add r1, #0x40 strb r0, [r1, #0x0] add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x4 blo _0207AD26 add r0, r6, #0x0 mov r1, #0x13 mov r2, #0x0 bl FUN_020671BC add r1, r5, #0x0 add r1, #0x45 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x14 mov r2, #0x0 bl FUN_020671BC add r1, r5, #0x0 add r1, #0x46 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x15 mov r2, #0x0 bl FUN_020671BC add r1, r5, #0x0 add r1, #0x47 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x16 mov r2, #0x0 bl FUN_020671BC add r1, r5, #0x0 add r1, #0x48 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x17 mov r2, #0x0 bl FUN_020671BC add r1, r5, #0x0 add r1, #0x49 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x18 mov r2, #0x0 bl FUN_020671BC add r1, r5, #0x0 add r1, #0x4a strb r0, [r1, #0x0] add r0, r5, #0x0 mov r1, #0x5 add r0, #0x4b strb r1, [r0, #0x0] mov r4, #0x0 _0207ADE0: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_02069BC8 cmp r0, #0x1 bne _0207ADF4 add r0, r5, #0x0 add r0, #0x4b strb r4, [r0, #0x0] b _0207ADFE _0207ADF4: add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x5 blo _0207ADE0 _0207ADFE: add r0, r6, #0x0 mov r1, #0xb mov r2, #0x0 bl FUN_020671BC add r1, r5, #0x0 add r1, #0x4c strh r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x70 mov r2, #0x0 bl FUN_020671BC add r1, r5, #0x0 add r1, #0x4e strh r0, [r1, #0x0] add r0, r6, #0x0 bl FUN_0207C2D4 mov r1, #0xf ldr r2, [r5, #0x50] lsl r1, r1, #0x1c and r2, r1 ldr r1, _0207AEB8 ; =0x0FFFFFFF and r0, r1 orr r0, r2 str r0, [r5, #0x50] add r0, r6, #0x0 bl FUN_02069E94 cmp r0, #0x1 bne _0207AE4E ldr r1, [r5, #0x50] ldr r0, _0207AEBC ; =0x3FFFFFFF and r1, r0 mov r0, #0x2 lsl r0, r0, #0x1e orr r0, r1 str r0, [r5, #0x50] b _0207AE84 _0207AE4E: add r0, r6, #0x0 bl FUN_02069E74 cmp r0, #0x1 bne _0207AE7C ldr r2, [r5, #0x50] ldr r1, _0207AEBC ; =0x3FFFFFFF add r0, r5, #0x0 and r2, r1 add r1, r1, #0x1 orr r1, r2 str r1, [r5, #0x50] lsl r1, r1, #0x4 lsr r1, r1, #0x4 add r0, #0x50 cmp r1, #0x7 bne _0207AE84 mov r1, #0xf ldr r2, [r0, #0x0] lsl r1, r1, #0x1c and r1, r2 str r1, [r0, #0x0] b _0207AE84 _0207AE7C: ldr r1, [r5, #0x50] ldr r0, _0207AEBC ; =0x3FFFFFFF and r0, r1 str r0, [r5, #0x50] _0207AE84: add r0, r6, #0x0 bl FUN_02068A80 cmp r0, #0x1 ldr r1, [r5, #0x50] bne _0207AE98 mov r0, #0x2 lsl r0, r0, #0x1c orr r0, r1 b _0207AE9C _0207AE98: ldr r0, _0207AEC0 ; =0xDFFFFFFF and r0, r1 _0207AE9C: str r0, [r5, #0x50] mov r4, #0x0 str r4, [r5, #0x54] str r4, [r5, #0x58] str r4, [r5, #0x5c] ldr r0, _0207AEC4 ; =0x00000699 b _0207AEC8 nop _0207AEAC: .word 0x00000674 _0207AEB0: .word 0x0000067C _0207AEB4: .word 0xEFFFFFFF _0207AEB8: .word 0x0FFFFFFF _0207AEBC: .word 0x3FFFFFFF _0207AEC0: .word 0xDFFFFFFF _0207AEC4: .word 0x00000699 _0207AEC8: str r4, [r5, #0x60] strb r4, [r7, r0] _0207AECC: lsl r0, r4, #0x18 lsr r0, r0, #0x18 mov r1, #0x0 bl FUN_0207FC5C add r1, r0, #0x0 add r0, r6, #0x0 mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _0207AF04 lsr r0, r4, #0x5 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1f add r2, r4, #0x0 and r2, r1 mov r1, #0x1 ldr r3, [r0, #0x54] lsl r1, r2 orr r1, r3 str r1, [r0, #0x54] ldr r0, _0207AF1C ; =0x00000699 ldrb r0, [r7, r0] add r1, r0, #0x1 ldr r0, _0207AF1C ; =0x00000699 strb r1, [r7, r0] _0207AF04: add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x50 blo _0207AECC ldr r1, [sp, #0x4] add r0, r6, #0x0 bl FUN_02066A20 add sp, #0x8 pop {r3-r7, pc} nop _0207AF1C: .word 0x00000699 thumb_func_start FUN_0207AF20 FUN_0207AF20: ; 0x0207AF20 push {r3, lr} mov r2, #0x2a lsl r2, r2, #0x4 ldr r1, [r0, r2] lsl r1, r1, #0x3 lsr r1, r1, #0x1f bne _0207AF54 add r1, r2, #0x0 sub r1, #0x44 ldrh r3, [r0, r1] add r1, r2, #0x0 sub r1, #0xe7 cmp r3, r1 bne _0207AF4E sub r2, #0x54 ldr r0, [r0, r2] mov r1, #0x0 ldr r0, [r0, #0x28] mov r2, #0x64 add r3, r1, #0x0 bl FUN_02005E90 pop {r3, pc} _0207AF4E: add r0, r3, #0x0 bl FUN_02005578 _0207AF54: pop {r3, pc} .balign 4 thumb_func_start FUN_0207AF58 FUN_0207AF58: ; 0x0207AF58 push {r4, lr} mov r1, #0x93 add r4, r0, #0x0 lsl r1, r1, #0x2 ldr r0, [r4, r1] ldrb r0, [r0, #0x12] cmp r0, #0x4 bhi _0207AFA4 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0207AF74: ; jump table (using 16-bit offset) .short _0207AF7E - _0207AF74 - 2; case 0 .short _0207AF7E - _0207AF74 - 2; case 1 .short _0207AF96 - _0207AF74 - 2; case 2 .short _0207AF9E - _0207AF74 - 2; case 3 .short _0207AF9E - _0207AF74 - 2; case 4 _0207AF7E: add r1, #0x54 ldr r0, [r4, r1] lsl r0, r0, #0x3 lsr r0, r0, #0x1f ldr r0, _0207AFFC ; =0x0000068C bne _0207AF90 mov r1, #0x0 strb r1, [r4, r0] b _0207AFA4 _0207AF90: mov r1, #0x1 strb r1, [r4, r0] b _0207AFA4 _0207AF96: ldr r0, _0207AFFC ; =0x0000068C mov r1, #0x3 strb r1, [r4, r0] b _0207AFA4 _0207AF9E: ldr r0, _0207AFFC ; =0x0000068C mov r1, #0x4 strb r1, [r4, r0] _0207AFA4: add r0, r4, #0x0 mov r1, #0x0 bl FUN_0207CFAC add r0, r4, #0x0 bl FUN_0207C5D4 add r0, r4, #0x0 bl FUN_0207C838 add r0, r4, #0x0 bl FUN_0207D2C8 add r0, r4, #0x0 bl FUN_0207C6A4 add r0, r4, #0x0 bl FUN_0207CE4C add r0, r4, #0x0 bl FUN_0207CC24 add r0, r4, #0x0 bl FUN_0207D604 add r0, r4, #0x0 bl FUN_0207DD88 add r0, r4, #0x0 bl FUN_0207B228 add r0, r4, #0x0 bl FUN_0207F2A0 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldrb r0, [r0, #0x12] cmp r0, #0x2 bne _0207AFFA add r0, r4, #0x0 bl FUN_0207BA74 _0207AFFA: pop {r4, pc} .balign 4 _0207AFFC: .word 0x0000068C thumb_func_start FUN_0207B000 FUN_0207B000: ; 0x0207B000 push {r3-r6} mov r6, #0x0 strb r6, [r0, #0x15] add r0, #0x15 mov r3, #0x1 _0207B00A: ldrb r5, [r1, r6] cmp r5, #0x8 beq _0207B024 add r2, r3, #0x0 ldrb r4, [r0, #0x0] lsl r2, r5 orr r2, r4 strb r2, [r0, #0x0] add r2, r6, #0x1 lsl r2, r2, #0x18 lsr r6, r2, #0x18 cmp r6, #0x8 blo _0207B00A _0207B024: pop {r3-r6} bx lr thumb_func_start FUN_0207B028 FUN_0207B028: ; 0x0207B028 push {r3-r4} mov r1, #0x93 lsl r1, r1, #0x2 ldr r4, [r0, r1] ldr r1, [r4, #0x2c] cmp r1, #0x1 beq _0207B06C ldrb r2, [r4, #0x15] mov r1, #0x10 add r3, r2, #0x0 tst r3, r1 beq _0207B044 eor r1, r2 strb r1, [r4, #0x15] _0207B044: mov r1, #0x93 lsl r1, r1, #0x2 ldr r4, [r0, r1] mov r1, #0x20 ldrb r2, [r4, #0x15] add r3, r2, #0x0 tst r3, r1 beq _0207B058 eor r1, r2 strb r1, [r4, #0x15] _0207B058: mov r1, #0x93 lsl r1, r1, #0x2 ldr r3, [r0, r1] mov r0, #0x40 ldrb r1, [r3, #0x15] add r2, r1, #0x0 tst r2, r0 beq _0207B06C eor r0, r1 strb r0, [r3, #0x15] _0207B06C: pop {r3-r4} bx lr thumb_func_start FUN_0207B070 FUN_0207B070: ; 0x0207B070 mov r2, #0x2a lsl r2, r2, #0x4 ldr r2, [r0, r2] lsl r2, r2, #0x3 lsr r2, r2, #0x1f beq _0207B088 cmp r1, #0x1 beq _0207B088 cmp r1, #0x7 beq _0207B088 mov r0, #0x0 bx lr _0207B088: mov r2, #0x93 lsl r2, r2, #0x2 ldr r0, [r0, r2] ldrb r2, [r0, #0x15] mov r0, #0x1 lsl r0, r1 and r0, r2 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bx lr thumb_func_start FUN_0207B09C FUN_0207B09C: ; 0x0207B09C push {r3-r4} mov r3, #0x93 lsl r3, r3, #0x2 ldr r0, [r0, r3] mov r2, #0x0 ldrb r0, [r0, #0x15] add r1, r2, #0x0 mov r3, #0x1 _0207B0AC: add r4, r3, #0x0 lsl r4, r1 tst r4, r0 beq _0207B0BA add r2, r2, #0x1 lsl r2, r2, #0x18 lsr r2, r2, #0x18 _0207B0BA: add r1, r1, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, #0x8 blo _0207B0AC add r0, r2, #0x0 pop {r3-r4} bx lr .balign 4 thumb_func_start FUN_0207B0CC FUN_0207B0CC: ; 0x0207B0CC push {r3-r5, lr} sub sp, #0x10 add r4, r1, #0x0 ldr r1, _0207B174 ; =0x0000068C add r5, r0, #0x0 ldrsb r1, [r5, r1] cmp r1, r4 beq _0207B170 mov r1, #0x93 lsl r1, r1, #0x2 ldr r1, [r5, r1] ldrb r1, [r1, #0x12] cmp r1, #0x2 bne _0207B0EC bl FUN_0207BDD8 _0207B0EC: add r0, r5, #0x0 bl FUN_0207D6F8 ldr r0, _0207B174 ; =0x0000068C mov r1, #0x0 strb r4, [r5, r0] add r0, r5, #0x0 bl FUN_0207CFAC add r0, r5, #0x0 bl FUN_0207C5D4 add r0, r5, #0x0 bl FUN_0207C6A4 add r0, r5, #0x0 bl FUN_0207C838 add r0, r5, #0x0 bl FUN_0207D2C8 add r0, r5, #0x0 bl FUN_0207CC24 add r0, r5, #0x0 bl FUN_0207D604 add r0, r5, #0x0 mov r1, #0x0 bl FUN_0207D418 mov r0, #0x4 str r0, [sp, #0x0] mov r0, #0x13 str r0, [sp, #0x4] mov r0, #0x14 str r0, [sp, #0x8] mov r2, #0x0 str r2, [sp, #0xc] ldr r0, [r5, #0x0] mov r1, #0x1 mov r3, #0xe bl FUN_02018540 ldr r0, [r5, #0x0] mov r1, #0x1 bl FUN_02017CD0 add r0, r5, #0x0 bl FUN_0207DD88 add r0, r5, #0x0 bl FUN_0207B228 add r0, r5, #0x0 bl FUN_0207F2A0 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r5, r0] ldrb r0, [r0, #0x12] cmp r0, #0x2 bne _0207B170 add r0, r5, #0x0 bl FUN_0207BDF4 _0207B170: add sp, #0x10 pop {r3-r5, pc} .balign 4 _0207B174: .word 0x0000068C thumb_func_start FUN_0207B178 FUN_0207B178: ; 0x0207B178 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _0207B1F8 ; =0x0000068C mov r6, #0x1 ldrsb r4, [r5, r0] mov r0, #0x2a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r12, r4 lsl r0, r0, #0x3 lsr r0, r0, #0x1f add r7, r6, #0x0 _0207B190: add r2, r4, r1 lsl r2, r2, #0x18 asr r4, r2, #0x18 bpl _0207B19C mov r4, #0x7 b _0207B1A2 _0207B19C: cmp r4, #0x7 ble _0207B1A2 mov r4, #0x0 _0207B1A2: cmp r0, #0x0 bne _0207B1B8 mov r2, #0x93 lsl r2, r2, #0x2 ldr r2, [r5, r2] ldrb r3, [r2, #0x15] add r2, r6, #0x0 lsl r2, r4 tst r2, r3 bne _0207B1D0 b _0207B190 _0207B1B8: mov r2, #0x93 lsl r2, r2, #0x2 ldr r2, [r5, r2] ldrb r3, [r2, #0x15] add r2, r7, #0x0 lsl r2, r4 tst r2, r3 beq _0207B190 cmp r4, #0x1 beq _0207B1D0 cmp r4, #0x7 bne _0207B190 _0207B1D0: mov r0, r12 cmp r4, r0 beq _0207B1F4 ldr r0, _0207B1FC ; =0x000005E1 bl FUN_020054C8 add r0, r5, #0x0 bl FUN_0207FA38 add r0, r5, #0x0 mov r1, #0x0 bl FUN_0207D418 lsl r1, r4, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 bl FUN_0207B0CC _0207B1F4: pop {r3-r7, pc} nop _0207B1F8: .word 0x0000068C _0207B1FC: .word 0x000005E1 thumb_func_start FUN_0207B200 FUN_0207B200: ; 0x0207B200 push {r4, lr} add r4, r0, #0x0 bl FUN_0207FA80 cmp r0, #0xff bne _0207B210 mov r0, #0x0 pop {r4, pc} _0207B210: ldr r1, _0207B224 ; =0x00000694 mov r3, #0x0 strb r3, [r4, r1] add r2, r1, #0x2 strb r0, [r4, r2] add r0, r1, #0x1 strb r3, [r4, r0] mov r0, #0x1 pop {r4, pc} nop _0207B224: .word 0x00000694 thumb_func_start FUN_0207B228 FUN_0207B228: ; 0x0207B228 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 mov r0, #0x93 lsl r0, r0, #0x2 ldr r1, [r5, r0] ldrb r0, [r1, #0x12] cmp r0, #0x2 bne _0207B250 ldrh r0, [r1, #0x18] cmp r0, #0x0 beq _0207B250 ldr r0, _0207B2AC ; =0x0000068C ldrsb r0, [r5, r0] cmp r0, #0x3 bne _0207B24C mov r1, #0xc b _0207B256 _0207B24C: mov r1, #0xd b _0207B256 _0207B250: ldr r0, _0207B2AC ; =0x0000068C ldrsb r0, [r5, r0] add r1, r0, #0x3 _0207B256: mov r0, #0x27 mov r2, #0x13 bl LoadFromNarc_2 add r1, sp, #0xc add r4, r0, #0x0 blx FUN_020B0180 mov r3, #0x0 str r3, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] str r0, [sp, #0x8] ldr r2, [sp, #0xc] ldr r0, [r5, #0x0] mov r1, #0x3 add r2, #0xc bl FUN_02018148 ldr r0, [r5, #0x0] mov r1, #0x3 bl FUN_0201AC68 add r0, r4, #0x0 bl FUN_02016A18 ldr r0, _0207B2AC ; =0x0000068C ldrsb r0, [r5, r0] cmp r0, #0x0 bne _0207B29C add r0, r5, #0x0 bl FUN_0207B364 add sp, #0x10 pop {r3-r5, pc} _0207B29C: cmp r0, #0x2 bne _0207B2A6 add r0, r5, #0x0 bl FUN_0207B2B0 _0207B2A6: add sp, #0x10 pop {r3-r5, pc} nop _0207B2AC: .word 0x0000068C thumb_func_start FUN_0207B2B0 FUN_0207B2B0: ; 0x0207B2B0 push {r4-r7, lr} sub sp, #0x14 mov r1, #0x9d add r6, r0, #0x0 lsl r1, r1, #0x2 ldrh r0, [r6, r1] add r1, r1, #0x2 ldrh r1, [r6, r1] mov r2, #0x30 bl FUN_02079A54 cmp r0, #0x4 bhi _0207B2EC add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0207B2D6: ; jump table (using 16-bit offset) .short _0207B2E0 - _0207B2D6 - 2; case 0 .short _0207B2E8 - _0207B2D6 - 2; case 1 .short _0207B2E4 - _0207B2D6 - 2; case 2 .short _0207B2E0 - _0207B2D6 - 2; case 3 .short _0207B2E0 - _0207B2D6 - 2; case 4 _0207B2E0: ldr r7, _0207B35C ; =0x0000A0C0 b _0207B2EC _0207B2E4: ldr r7, _0207B360 ; =0x0000A0E0 b _0207B2EC _0207B2E8: mov r7, #0xa1 lsl r7, r7, #0x8 _0207B2EC: mov r1, #0x9d lsl r1, r1, #0x2 ldrh r0, [r6, r1] add r1, r1, #0x2 ldrh r1, [r6, r1] mov r2, #0x30 bl FUN_02079A0C add r4, r0, #0x0 add r0, r7, #0x0 add r0, #0x8 lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r5, #0x0 str r0, [sp, #0x10] _0207B30A: cmp r4, #0x8 blo _0207B312 ldr r2, [sp, #0x10] b _0207B318 _0207B312: add r0, r7, r4 lsl r0, r0, #0x10 lsr r2, r0, #0x10 _0207B318: mov r0, #0x6 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r3, r5, #0x0 str r0, [sp, #0x8] mov r0, #0x11 add r3, #0x18 str r0, [sp, #0xc] lsl r3, r3, #0x18 ldr r0, [r6, #0x0] mov r1, #0x3 lsr r3, r3, #0x18 bl FUN_02018540 cmp r4, #0x8 bhs _0207B33E mov r4, #0x0 b _0207B344 _0207B33E: sub r4, #0x8 lsl r0, r4, #0x18 lsr r4, r0, #0x18 _0207B344: add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x6 blo _0207B30A ldr r0, [r6, #0x0] mov r1, #0x3 bl FUN_0201AC68 add sp, #0x14 pop {r4-r7, pc} nop _0207B35C: .word 0x0000A0C0 _0207B360: .word 0x0000A0E0 thumb_func_start FUN_0207B364 FUN_0207B364: ; 0x0207B364 push {r3-r7, lr} sub sp, #0x10 ldr r2, _0207B3EC ; =0x00000262 add r6, r0, #0x0 ldrb r0, [r6, r2] lsl r0, r0, #0x19 lsr r0, r0, #0x19 cmp r0, #0x64 bhs _0207B38C add r0, r2, #0x0 add r1, r2, #0x0 add r0, #0xa add r1, #0xe add r2, r2, #0x6 ldr r0, [r6, r0] ldr r1, [r6, r1] ldr r2, [r6, r2] sub r1, r1, r0 sub r0, r2, r0 b _0207B390 _0207B38C: mov r1, #0x0 add r0, r1, #0x0 _0207B390: mov r2, #0x38 bl FUN_02079A0C add r4, r0, #0x0 mov r5, #0x0 mov r7, #0x17 _0207B39C: cmp r4, #0x8 blo _0207B3A4 mov r2, #0xb4 b _0207B3AC _0207B3A4: add r0, r4, #0x0 add r0, #0xac lsl r0, r0, #0x10 lsr r2, r0, #0x10 _0207B3AC: str r7, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r3, r5, #0x0 str r0, [sp, #0x8] mov r0, #0x11 add r3, #0x17 str r0, [sp, #0xc] lsl r3, r3, #0x18 ldr r0, [r6, #0x0] mov r1, #0x3 lsr r3, r3, #0x18 bl FUN_02018540 cmp r4, #0x8 bhs _0207B3D0 mov r4, #0x0 b _0207B3D6 _0207B3D0: sub r4, #0x8 lsl r0, r4, #0x18 lsr r4, r0, #0x18 _0207B3D6: add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x7 blo _0207B39C ldr r0, [r6, #0x0] mov r1, #0x3 bl FUN_0201AC68 add sp, #0x10 pop {r3-r7, pc} .balign 4 _0207B3EC: .word 0x00000262 thumb_func_start FUN_0207B3F0 FUN_0207B3F0: ; 0x0207B3F0 push {r4, lr} add r4, r0, #0x0 bl FUN_0207B4A4 mov r1, #0x0 mvn r1, r1 cmp r0, r1 beq _0207B49C mov r1, #0x93 lsl r1, r1, #0x2 ldr r1, [r4, r1] strb r0, [r1, #0x14] add r0, r4, #0x0 bl FUN_0207AAB0 add r0, r4, #0x0 bl FUN_0207AF20 add r0, r4, #0x0 bl FUN_0207D768 add r0, r4, #0x0 bl FUN_0207D800 add r0, r4, #0x0 bl FUN_0207D8A0 ldr r0, _0207B4A0 ; =0x0000068C ldrsb r0, [r4, r0] cmp r0, #0x0 bne _0207B436 add r0, r4, #0x0 bl FUN_0207B364 b _0207B44C _0207B436: cmp r0, #0x2 bne _0207B442 add r0, r4, #0x0 bl FUN_0207B2B0 b _0207B44C _0207B442: cmp r0, #0x4 bne _0207B44C add r0, r4, #0x0 bl FUN_0207F608 _0207B44C: add r0, r4, #0x0 bl FUN_0207F934 add r0, r4, #0x0 mov r1, #0x0 bl FUN_0207CFAC add r0, r4, #0x0 bl FUN_0207C5D4 add r0, r4, #0x0 bl FUN_0207C6A4 add r0, r4, #0x0 bl FUN_0207CA44 add r0, r4, #0x0 bl FUN_0207C838 add r0, r4, #0x0 bl FUN_0207D2C8 add r0, r4, #0x0 bl FUN_0207CFEC add r0, r4, #0x0 bl FUN_0207C71C add r0, r4, #0x0 bl FUN_0207C77C add r0, r4, #0x0 bl FUN_0207CC24 add r0, r4, #0x0 bl FUN_0207CE4C add r0, r4, #0x0 bl FUN_0207DD88 _0207B49C: pop {r4, pc} nop _0207B4A0: .word 0x0000068C thumb_func_start FUN_0207B4A4 FUN_0207B4A4: ; 0x0207B4A4 push {r3, lr} mov r2, #0x93 lsl r2, r2, #0x2 ldr r2, [r0, r2] ldrb r2, [r2, #0x11] cmp r2, #0x0 beq _0207B4BC cmp r2, #0x1 beq _0207B4C2 cmp r2, #0x2 beq _0207B4C8 b _0207B4CE _0207B4BC: bl FUN_0207B4FC pop {r3, pc} _0207B4C2: bl FUN_0207B564 pop {r3, pc} _0207B4C8: bl FUN_0207B5C0 pop {r3, pc} _0207B4CE: mov r0, #0x0 mvn r0, r0 pop {r3, pc} thumb_func_start FUN_0207B4D4 FUN_0207B4D4: ; 0x0207B4D4 mov r1, #0x93 lsl r1, r1, #0x2 ldr r1, [r0, r1] ldrb r1, [r1, #0x12] cmp r1, #0x3 bne _0207B4E4 mov r0, #0x0 bx lr _0207B4E4: ldr r1, _0207B4F8 ; =0x0000068C ldrsb r0, [r0, r1] cmp r0, #0x1 beq _0207B4F4 cmp r0, #0x7 beq _0207B4F4 mov r0, #0x0 bx lr _0207B4F4: mov r0, #0x1 bx lr .balign 4 _0207B4F8: .word 0x0000068C thumb_func_start FUN_0207B4FC FUN_0207B4FC: ; 0x0207B4FC push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x93 lsl r0, r0, #0x2 str r1, [sp, #0x0] ldr r1, [r5, r0] mov r0, #0x14 ldrsb r4, [r1, r0] _0207B50C: ldr r0, [sp, #0x0] add r0, r4, r0 lsl r0, r0, #0x18 asr r4, r0, #0x18 bmi _0207B522 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r5, r0] ldrb r0, [r0, #0x13] cmp r4, r0 blt _0207B528 _0207B522: mov r0, #0x0 mvn r0, r0 pop {r3-r7, pc} _0207B528: bl FUN_020690C4 mov r1, #0x93 lsl r1, r1, #0x2 ldr r1, [r5, r1] add r7, r4, #0x0 ldr r6, [r1, #0x0] mul r7, r0 add r0, r6, r7 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _0207B50C add r0, r6, r7 mov r1, #0x4c mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _0207B55E add r0, r5, #0x0 bl FUN_0207B4D4 cmp r0, #0x1 bne _0207B50C _0207B55E: add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0207B564 FUN_0207B564: ; 0x0207B564 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x93 lsl r0, r0, #0x2 add r7, r1, #0x0 ldr r1, [r5, r0] mov r0, #0x14 ldrsb r4, [r1, r0] _0207B574: add r0, r4, r7 lsl r0, r0, #0x18 asr r4, r0, #0x18 bmi _0207B588 mov r0, #0x93 lsl r0, r0, #0x2 ldr r1, [r5, r0] ldrb r0, [r1, #0x13] cmp r4, r0 blt _0207B58E _0207B588: mov r0, #0x0 mvn r0, r0 pop {r3-r7, pc} _0207B58E: ldr r0, [r1, #0x0] add r1, r4, #0x0 bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 add r6, r0, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _0207B574 add r0, r6, #0x0 mov r1, #0x4c mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _0207B5BC add r0, r5, #0x0 bl FUN_0207B4D4 cmp r0, #0x1 bne _0207B574 _0207B5BC: add r0, r4, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0207B5C0 FUN_0207B5C0: ; 0x0207B5C0 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x93 lsl r0, r0, #0x2 str r1, [sp, #0x0] ldr r1, [r5, r0] mov r0, #0x14 ldrsb r4, [r1, r0] _0207B5D0: ldr r0, [sp, #0x0] add r0, r4, r0 lsl r0, r0, #0x18 asr r4, r0, #0x18 bmi _0207B5E6 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r5, r0] ldrb r0, [r0, #0x13] cmp r4, r0 blt _0207B5EC _0207B5E6: mov r0, #0x0 mvn r0, r0 pop {r3-r7, pc} _0207B5EC: bl FUN_020690C8 mov r1, #0x93 lsl r1, r1, #0x2 ldr r1, [r5, r1] add r7, r4, #0x0 ldr r6, [r1, #0x0] mul r7, r0 add r0, r6, r7 mov r1, #0x5 mov r2, #0x0 bl FUN_020672BC cmp r0, #0x0 beq _0207B5D0 add r0, r6, r7 mov r1, #0x4c mov r2, #0x0 bl FUN_020672BC cmp r0, #0x0 beq _0207B622 add r0, r5, #0x0 bl FUN_0207B4D4 cmp r0, #0x1 bne _0207B5D0 _0207B622: add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0207B628 FUN_0207B628: ; 0x0207B628 push {r4, lr} mov r1, #0x93 lsl r1, r1, #0x2 ldr r4, [r0, r1] ldrb r0, [r4, #0x11] cmp r0, #0x0 beq _0207B640 cmp r0, #0x1 beq _0207B64E cmp r0, #0x2 beq _0207B658 b _0207B666 _0207B640: bl FUN_020690C4 ldrb r1, [r4, #0x14] ldr r2, [r4, #0x0] mul r0, r1 add r0, r2, r0 pop {r4, pc} _0207B64E: ldrb r1, [r4, #0x14] ldr r0, [r4, #0x0] bl FUN_0206B9B0 pop {r4, pc} _0207B658: bl FUN_020690C8 ldrb r1, [r4, #0x14] ldr r2, [r4, #0x0] mul r0, r1 add r0, r2, r0 pop {r4, pc} _0207B666: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0207B66C FUN_0207B66C: ; 0x0207B66C push {r4, lr} ldr r1, _0207B774 ; =0x0000068E add r4, r0, #0x0 ldrb r1, [r4, r1] cmp r1, #0x0 beq _0207B682 cmp r1, #0x1 beq _0207B6E2 cmp r1, #0x2 beq _0207B70E b _0207B76E _0207B682: ldr r0, [r4, #0x0] mov r1, #0x2 mov r2, #0x0 mov r3, #0x88 bl FUN_0201AEE4 ldr r0, [r4, #0x0] mov r1, #0x2 mov r2, #0x3 mov r3, #0x0 bl FUN_0201AEE4 add r0, r4, #0x0 mov r1, #0x0 bl FUN_0207C6F0 mov r0, #0x85 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C add r0, r4, #0x0 add r0, #0x64 bl FUN_0201958C mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C add r0, r4, #0x0 mov r1, #0x0 bl FUN_0207CFAC ldr r1, _0207B778 ; =0x0000068D mov r0, #0xf ldrb r2, [r4, r1] bic r2, r0 strb r2, [r4, r1] mov r2, #0x1 add r0, r1, #0x1 strb r2, [r4, r0] b _0207B76E _0207B6E2: ldr r0, [r4, #0x0] mov r1, #0x2 bl FUN_02017B48 cmp r0, #0x40 ldr r0, [r4, #0x0] bgt _0207B702 mov r2, #0x0 mov r1, #0x2 add r3, r2, #0x0 bl FUN_0201AEE4 ldr r0, _0207B774 ; =0x0000068E mov r1, #0x2 strb r1, [r4, r0] b _0207B76E _0207B702: mov r1, #0x2 add r2, r1, #0x0 mov r3, #0x40 bl FUN_0201AEE4 b _0207B76E _0207B70E: bl FUN_0207ECDC mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldrb r0, [r0, #0x12] cmp r0, #0x1 beq _0207B732 add r0, r4, #0x0 mov r1, #0x98 bl FUN_0207D924 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 bl FUN_0207CFAC _0207B732: add r0, r4, #0x0 bl FUN_0207B8D8 ldr r0, _0207B77C ; =0x00000434 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_0200C63C add r0, r4, #0x0 bl FUN_0207D06C mov r0, #0x26 lsl r0, r0, #0x4 ldrb r1, [r4, r0] add r0, r0, #0x1 ldrb r0, [r4, r0] cmp r1, r0 beq _0207B760 ldr r0, _0207B780 ; =0x00000438 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_0200C63C _0207B760: ldr r0, _0207B784 ; =0x0000042C mov r1, #0x1 ldr r0, [r4, r0] bl FUN_020200A0 mov r0, #0x1 pop {r4, pc} _0207B76E: mov r0, #0x0 pop {r4, pc} nop _0207B774: .word 0x0000068E _0207B778: .word 0x0000068D _0207B77C: .word 0x00000434 _0207B780: .word 0x00000438 _0207B784: .word 0x0000042C thumb_func_start FUN_0207B788 FUN_0207B788: ; 0x0207B788 push {r4, lr} add r4, r0, #0x0 ldr r0, _0207B864 ; =0x0000068E ldrb r0, [r4, r0] cmp r0, #0x0 beq _0207B79E cmp r0, #0x1 beq _0207B7F8 cmp r0, #0x2 beq _0207B824 b _0207B860 _0207B79E: ldr r0, _0207B868 ; =0x00000434 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_0200C63C ldr r0, _0207B86C ; =0x00000438 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_0200C63C mov r0, #0x45 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200C63C ldr r0, _0207B870 ; =0x00000454 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_0200C63C ldr r0, _0207B874 ; =0x0000042C mov r1, #0x0 ldr r0, [r4, r0] bl FUN_020200A0 mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C add r0, r4, #0x0 mov r1, #0x0 bl FUN_0207CFAC add r0, r4, #0x0 bl FUN_0207ED18 add r0, r4, #0x0 bl FUN_0207EC94 ldr r0, _0207B864 ; =0x0000068E mov r1, #0x1 strb r1, [r4, r0] b _0207B860 _0207B7F8: ldr r0, [r4, #0x0] mov r1, #0x2 bl FUN_02017B48 cmp r0, #0x80 ldr r0, [r4, #0x0] blt _0207B818 mov r1, #0x2 mov r2, #0x0 mov r3, #0x88 bl FUN_0201AEE4 ldr r0, _0207B864 ; =0x0000068E mov r1, #0x2 strb r1, [r4, r0] b _0207B860 _0207B818: mov r1, #0x2 mov r2, #0x1 mov r3, #0x40 bl FUN_0201AEE4 b _0207B860 _0207B824: mov r0, #0x85 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 add r0, r4, #0x0 add r0, #0x64 bl FUN_02019220 mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 add r0, r4, #0x0 mov r1, #0x81 bl FUN_0207D924 add r0, r4, #0x0 mov r1, #0x1 bl FUN_0207C6F0 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 bl FUN_0207CFAC mov r0, #0x1 pop {r4, pc} _0207B860: mov r0, #0x0 pop {r4, pc} .balign 4 _0207B864: .word 0x0000068E _0207B868: .word 0x00000434 _0207B86C: .word 0x00000438 _0207B870: .word 0x00000454 _0207B874: .word 0x0000042C thumb_func_start FUN_0207B878 FUN_0207B878: ; 0x0207B878 push {r4-r7} add r5, r0, #0x0 ldr r0, _0207B8D4 ; =0x0000068D mov r6, #0xa1 ldrb r0, [r5, r0] mov r2, #0x4 lsl r6, r6, #0x2 lsl r0, r0, #0x1c lsr r4, r0, #0x1c add r3, r4, #0x0 mov r0, #0x0 _0207B88E: add r3, r3, r1 lsl r3, r3, #0x18 asr r3, r3, #0x18 bpl _0207B89A add r3, r2, #0x0 b _0207B8A0 _0207B89A: cmp r3, #0x5 bne _0207B8A0 add r3, r0, #0x0 _0207B8A0: lsl r7, r3, #0x1 add r7, r5, r7 ldrh r7, [r7, r6] cmp r7, #0x0 bne _0207B8AE cmp r3, #0x4 bne _0207B88E _0207B8AE: cmp r3, r4 beq _0207B8CC ldr r2, _0207B8D4 ; =0x0000068D mov r1, #0xf ldrb r0, [r5, r2] bic r0, r1 lsl r1, r3, #0x18 lsr r3, r1, #0x18 mov r1, #0xf and r1, r3 orr r0, r1 strb r0, [r5, r2] mov r0, #0x1 pop {r4-r7} bx lr _0207B8CC: mov r0, #0x0 pop {r4-r7} bx lr nop _0207B8D4: .word 0x0000068D thumb_func_start FUN_0207B8D8 FUN_0207B8D8: ; 0x0207B8D8 push {r4, lr} add r4, r0, #0x0 bl FUN_0207CBC0 ldr r2, _0207B95C ; =0x0000068D ldrb r0, [r4, r2] lsl r0, r0, #0x1c lsr r1, r0, #0x1c cmp r1, #0x4 bne _0207B930 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldrh r1, [r0, #0x18] cmp r1, #0x0 beq _0207B910 sub r0, r2, #0x1 ldrsb r0, [r4, r0] cmp r0, #0x3 bne _0207B908 add r0, r4, #0x0 bl FUN_0207B960 pop {r4, pc} _0207B908: add r0, r4, #0x0 bl FUN_0207B99C pop {r4, pc} _0207B910: sub r0, r2, #0x1 ldrsb r0, [r4, r0] cmp r0, #0x3 bne _0207B924 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 bl FUN_0207B960 pop {r4, pc} _0207B924: mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 bl FUN_0207B99C pop {r4, pc} _0207B930: sub r0, r2, #0x1 ldrsb r0, [r4, r0] cmp r0, #0x3 bne _0207B94A lsl r1, r1, #0x1 add r2, r4, r1 mov r1, #0xa1 lsl r1, r1, #0x2 ldrh r1, [r2, r1] add r0, r4, #0x0 bl FUN_0207B960 pop {r4, pc} _0207B94A: lsl r1, r1, #0x1 add r2, r4, r1 mov r1, #0xa1 lsl r1, r1, #0x2 ldrh r1, [r2, r1] add r0, r4, #0x0 bl FUN_0207B99C pop {r4, pc} .balign 4 _0207B95C: .word 0x0000068D thumb_func_start FUN_0207B960 FUN_0207B960: ; 0x0207B960 push {r3-r5, lr} mov r2, #0x0 add r4, r1, #0x0 mvn r2, r2 add r5, r0, #0x0 cmp r4, r2 bne _0207B980 bl FUN_0207EC94 mov r0, #0x45 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_0200C63C pop {r3-r5, pc} _0207B980: bl FUN_0207EB64 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0207CB70 mov r0, #0x45 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x1 bl FUN_0200C63C pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0207B99C FUN_0207B99C: ; 0x0207B99C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_0207BD84 mov r0, #0x0 mvn r0, r0 cmp r4, r0 bne _0207B9B6 add r0, r5, #0x0 bl FUN_0207EEB0 pop {r3-r5, pc} _0207B9B6: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0207EE2C pop {r3-r5, pc} thumb_func_start FUN_0207B9C0 FUN_0207B9C0: ; 0x0207B9C0 push {r3-r7, lr} add r4, r0, #0x0 bl FUN_0207B628 mov r1, #0x93 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldrb r1, [r1, #0x11] cmp r1, #0x2 ldr r1, _0207BA70 ; =0x0000068D bne _0207B9E6 ldrb r2, [r4, r1] lsl r1, r2, #0x1c lsl r2, r2, #0x18 lsr r1, r1, #0x1c lsr r2, r2, #0x1c bl FUN_020698E8 b _0207B9F4 _0207B9E6: ldrb r2, [r4, r1] lsl r1, r2, #0x1c lsl r2, r2, #0x18 lsr r1, r1, #0x1c lsr r2, r2, #0x1c bl FUN_020698E0 _0207B9F4: ldr r0, _0207BA70 ; =0x0000068D mov r1, #0xa1 ldrb r6, [r4, r0] lsl r1, r1, #0x2 add r5, r4, r1 lsl r2, r6, #0x1c lsl r6, r6, #0x18 lsr r6, r6, #0x1c lsl r6, r6, #0x1 lsr r3, r2, #0x1b add r6, r4, r6 ldrh r2, [r5, r3] ldrh r6, [r6, r1] strh r6, [r5, r3] ldrb r3, [r4, r0] lsl r3, r3, #0x18 lsr r3, r3, #0x1c lsl r3, r3, #0x1 add r3, r4, r3 strh r2, [r3, r1] add r2, r1, #0x0 add r2, #0x8 ldrb r6, [r4, r0] add r5, r4, r2 lsl r2, r6, #0x1c lsl r6, r6, #0x18 lsr r6, r6, #0x1c add r7, r4, r6 add r6, r1, #0x0 lsr r3, r2, #0x1c add r6, #0x8 ldrb r2, [r5, r3] ldrb r6, [r7, r6] strb r6, [r5, r3] ldrb r3, [r4, r0] lsl r3, r3, #0x18 lsr r3, r3, #0x1c add r5, r4, r3 add r3, r1, #0x0 add r3, #0x8 strb r2, [r5, r3] add r2, r1, #0x0 add r2, #0xc ldrb r6, [r4, r0] add r5, r4, r2 lsl r2, r6, #0x1c lsl r6, r6, #0x18 lsr r6, r6, #0x1c add r7, r4, r6 add r6, r1, #0x0 lsr r3, r2, #0x1c add r6, #0xc ldrb r2, [r5, r3] ldrb r6, [r7, r6] add r1, #0xc strb r6, [r5, r3] ldrb r0, [r4, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x1c add r0, r4, r0 strb r2, [r0, r1] pop {r3-r7, pc} .balign 4 _0207BA70: .word 0x0000068D thumb_func_start FUN_0207BA74 FUN_0207BA74: ; 0x0207BA74 push {r4, lr} add r4, r0, #0x0 mov r0, #0x85 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C add r0, r4, #0x0 add r0, #0x64 bl FUN_0201958C mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C mov r2, #0x0 ldr r0, [r4, #0x0] mov r1, #0x2 add r3, r2, #0x0 bl FUN_0201AEE4 add r0, r4, #0x0 bl FUN_0207ECDC add r0, r4, #0x0 bl FUN_0207B8D8 ldr r0, _0207BAE0 ; =0x00000434 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_0200C63C add r0, r4, #0x0 bl FUN_0207D06C mov r0, #0x26 lsl r0, r0, #0x4 ldrb r1, [r4, r0] add r0, r0, #0x1 ldrb r0, [r4, r0] cmp r1, r0 beq _0207BAD4 ldr r0, _0207BAE4 ; =0x00000438 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_0200C63C _0207BAD4: ldr r0, _0207BAE8 ; =0x0000042C mov r1, #0x1 ldr r0, [r4, r0] bl FUN_020200A0 pop {r4, pc} .balign 4 _0207BAE0: .word 0x00000434 _0207BAE4: .word 0x00000438 _0207BAE8: .word 0x0000042C thumb_func_start FUN_0207BAEC FUN_0207BAEC: ; 0x0207BAEC push {r4, lr} ldr r1, _0207BBE4 ; =0x0000068E add r4, r0, #0x0 ldrb r1, [r4, r1] cmp r1, #0x0 beq _0207BB02 cmp r1, #0x1 beq _0207BB6E cmp r1, #0x2 beq _0207BB9A b _0207BBDE _0207BB02: ldr r0, [r4, #0x0] mov r1, #0x2 mov r2, #0x0 mov r3, #0x88 bl FUN_0201AEE4 mov r2, #0x3 add r3, r2, #0x0 ldr r0, [r4, #0x0] mov r1, #0x2 add r3, #0xfd bl FUN_0201AEE4 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 bl FUN_0207BD84 add r0, r4, #0x0 mov r1, #0x0 bl FUN_0207C6F0 mov r0, #0x85 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C add r0, r4, #0x0 add r0, #0x64 bl FUN_0201958C mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C add r0, r4, #0x0 mov r1, #0x0 bl FUN_0207CFAC ldr r1, _0207BBE8 ; =0x0000068D mov r0, #0xf ldrb r2, [r4, r1] bic r2, r0 strb r2, [r4, r1] mov r2, #0x1 add r0, r1, #0x1 strb r2, [r4, r0] b _0207BBDE _0207BB6E: ldr r0, [r4, #0x0] mov r1, #0x2 bl FUN_02017B48 cmp r0, #0x40 ldr r0, [r4, #0x0] bgt _0207BB8E mov r2, #0x0 mov r1, #0x2 add r3, r2, #0x0 bl FUN_0201AEE4 ldr r0, _0207BBE4 ; =0x0000068E mov r1, #0x2 strb r1, [r4, r0] b _0207BBDE _0207BB8E: mov r1, #0x2 add r2, r1, #0x0 mov r3, #0x40 bl FUN_0201AEE4 b _0207BBDE _0207BB9A: bl FUN_0207ECDC mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldrb r0, [r0, #0x12] cmp r0, #0x1 beq _0207BBBE add r0, r4, #0x0 mov r1, #0x98 bl FUN_0207D924 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 bl FUN_0207CFAC _0207BBBE: add r0, r4, #0x0 bl FUN_0207B8D8 add r0, r4, #0x0 bl FUN_0207D06C add r0, r4, #0x0 bl FUN_0207D10C ldr r0, _0207BBEC ; =0x0000042C mov r1, #0x1 ldr r0, [r4, r0] bl FUN_020200A0 mov r0, #0x1 pop {r4, pc} _0207BBDE: mov r0, #0x0 pop {r4, pc} nop _0207BBE4: .word 0x0000068E _0207BBE8: .word 0x0000068D _0207BBEC: .word 0x0000042C thumb_func_start FUN_0207BBF0 FUN_0207BBF0: ; 0x0207BBF0 push {r4, lr} ldr r1, _0207BCBC ; =0x0000068E add r4, r0, #0x0 ldrb r1, [r4, r1] cmp r1, #0x0 beq _0207BC06 cmp r1, #0x1 beq _0207BC4E cmp r1, #0x2 beq _0207BC7A b _0207BCB6 _0207BC06: bl FUN_0207D22C ldr r0, _0207BCC0 ; =0x00000454 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_0200C63C mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 bl FUN_0207BD84 ldr r0, _0207BCC4 ; =0x0000042C mov r1, #0x0 ldr r0, [r4, r0] bl FUN_020200A0 mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C add r0, r4, #0x0 mov r1, #0x0 bl FUN_0207CFAC add r0, r4, #0x0 bl FUN_0207ED18 add r0, r4, #0x0 bl FUN_0207EEB0 ldr r0, _0207BCBC ; =0x0000068E mov r1, #0x1 strb r1, [r4, r0] b _0207BCB6 _0207BC4E: ldr r0, [r4, #0x0] mov r1, #0x2 bl FUN_02017B48 cmp r0, #0x80 ldr r0, [r4, #0x0] blt _0207BC6E mov r1, #0x2 mov r2, #0x0 mov r3, #0x88 bl FUN_0201AEE4 ldr r0, _0207BCBC ; =0x0000068E mov r1, #0x2 strb r1, [r4, r0] b _0207BCB6 _0207BC6E: mov r1, #0x2 mov r2, #0x1 mov r3, #0x40 bl FUN_0201AEE4 b _0207BCB6 _0207BC7A: mov r0, #0x85 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 add r0, r4, #0x0 add r0, #0x64 bl FUN_02019220 mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 add r0, r4, #0x0 mov r1, #0x9e bl FUN_0207D924 add r0, r4, #0x0 mov r1, #0x1 bl FUN_0207C6F0 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 bl FUN_0207CFAC mov r0, #0x1 pop {r4, pc} _0207BCB6: mov r0, #0x0 pop {r4, pc} nop _0207BCBC: .word 0x0000068E _0207BCC0: .word 0x00000454 _0207BCC4: .word 0x0000042C thumb_func_start FUN_0207BCC8 FUN_0207BCC8: ; 0x0207BCC8 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 mov r0, #0x2f str r0, [sp, #0x0] mov r0, #0x1 lsl r6, r2, #0x1 add r4, r1, #0x0 str r0, [sp, #0x4] add r7, r6, #0x2 str r0, [sp, #0x8] mov r0, #0x10 str r0, [sp, #0xc] lsl r3, r7, #0x18 ldr r0, [r5, #0x0] mov r1, #0x2 add r2, r4, #0x0 lsr r3, r3, #0x18 bl FUN_02018540 mov r0, #0x2f str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r6, r6, #0x3 str r0, [sp, #0x8] mov r0, #0x10 add r2, r4, #0x1 str r0, [sp, #0xc] lsl r2, r2, #0x10 lsl r3, r6, #0x18 ldr r0, [r5, #0x0] mov r1, #0x2 lsr r2, r2, #0x10 lsr r3, r3, #0x18 bl FUN_02018540 mov r0, #0x30 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r2, r4, #0x0 str r0, [sp, #0x8] mov r0, #0x10 add r2, #0x20 str r0, [sp, #0xc] lsl r2, r2, #0x10 lsl r3, r7, #0x18 ldr r0, [r5, #0x0] mov r1, #0x2 lsr r2, r2, #0x10 lsr r3, r3, #0x18 bl FUN_02018540 mov r0, #0x30 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] str r0, [sp, #0x8] mov r0, #0x10 add r4, #0x21 str r0, [sp, #0xc] lsl r2, r4, #0x10 lsl r3, r6, #0x18 ldr r0, [r5, #0x0] mov r1, #0x2 lsr r2, r2, #0x10 lsr r3, r3, #0x18 bl FUN_02018540 add sp, #0x10 pop {r3-r7, pc} thumb_func_start FUN_0207BD58 FUN_0207BD58: ; 0x0207BD58 push {r4-r6, lr} ldr r6, _0207BD80 ; =0x0000012E add r5, r0, #0x0 mov r4, #0x0 _0207BD60: lsl r2, r4, #0x18 add r0, r5, #0x0 add r1, r6, #0x0 lsr r2, r2, #0x18 bl FUN_0207BCC8 add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x6 blo _0207BD60 ldr r0, [r5, #0x0] mov r1, #0x2 bl FUN_0201AC68 pop {r4-r6, pc} .balign 4 _0207BD80: .word 0x0000012E thumb_func_start FUN_0207BD84 FUN_0207BD84: ; 0x0207BD84 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_0207BD58 mov r0, #0x0 mvn r0, r0 cmp r4, r0 beq _0207BDCC add r0, r4, #0x0 mov r1, #0xa bl FUN_0206AB18 bl FUN_02083114 mov r1, #0xa blx _s32_div_f lsl r0, r0, #0x18 asr r6, r0, #0x18 mov r4, #0x0 cmp r6, #0x0 ble _0207BDCC mov r7, #0x4b lsl r7, r7, #0x2 _0207BDB6: lsl r2, r4, #0x18 add r0, r5, #0x0 add r1, r7, #0x0 lsr r2, r2, #0x18 bl FUN_0207BCC8 add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, r6 blt _0207BDB6 _0207BDCC: ldr r0, [r5, #0x0] mov r1, #0x2 bl FUN_0201AC68 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0207BDD8 FUN_0207BDD8: ; 0x0207BDD8 push {r3, lr} ldr r1, _0207BDF0 ; =0x0000068C ldrsb r1, [r0, r1] cmp r1, #0x3 bne _0207BDE8 bl FUN_0207EC94 pop {r3, pc} _0207BDE8: bl FUN_0207EEB0 pop {r3, pc} nop _0207BDF0: .word 0x0000068C thumb_func_start FUN_0207BDF4 FUN_0207BDF4: ; 0x0207BDF4 push {r4, lr} add r4, r0, #0x0 bl FUN_0207ECDC add r0, r4, #0x0 bl FUN_0207B8D8 add r0, r4, #0x0 bl FUN_0207D06C ldr r0, _0207BE5C ; =0x0000068C ldrsb r0, [r4, r0] cmp r0, #0x3 bne _0207BE46 add r0, r4, #0x0 bl FUN_0207D22C ldr r0, _0207BE60 ; =0x00000434 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_0200C63C mov r0, #0x26 lsl r0, r0, #0x4 ldrb r1, [r4, r0] add r0, r0, #0x1 ldrb r0, [r4, r0] cmp r1, r0 beq _0207BE38 ldr r0, _0207BE64 ; =0x00000438 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_0200C63C _0207BE38: ldr r0, [r4, #0x0] mov r1, #0x2 mov r2, #0x3 mov r3, #0x0 bl FUN_0201AEE4 pop {r4, pc} _0207BE46: add r0, r4, #0x0 bl FUN_0207D10C mov r2, #0x3 add r3, r2, #0x0 ldr r0, [r4, #0x0] mov r1, #0x2 add r3, #0xfd bl FUN_0201AEE4 pop {r4, pc} .balign 4 _0207BE5C: .word 0x0000068C _0207BE60: .word 0x00000434 _0207BE64: .word 0x00000438 thumb_func_start FUN_0207BE68 FUN_0207BE68: ; 0x0207BE68 push {r4, lr} ldr r1, _0207BF78 ; =0x0000068E add r4, r0, #0x0 ldrb r1, [r4, r1] cmp r1, #0x0 beq _0207BE7E cmp r1, #0x1 beq _0207BEEA cmp r1, #0x2 beq _0207BF16 b _0207BF74 _0207BE7E: mov r1, #0x2 add r3, r1, #0x0 ldr r0, [r4, #0x0] mov r2, #0x0 add r3, #0xfe bl FUN_0201AEE4 ldr r0, [r4, #0x0] mov r1, #0x2 mov r2, #0x3 mov r3, #0x0 bl FUN_0201AEE4 add r0, r4, #0x0 mov r1, #0x0 bl FUN_0207C6F0 add r0, r4, #0x0 add r0, #0x64 bl FUN_0201958C mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C mov r0, #0x79 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_0201958C add r0, r4, #0x0 mov r1, #0x0 bl FUN_0207CFAC ldr r1, _0207BF7C ; =0x00000697 mov r2, #0x0 strb r2, [r4, r1] add r0, r1, #0x1 strb r2, [r4, r0] mov r0, #0x1 sub r1, #0x9 strb r0, [r4, r1] b _0207BF74 _0207BEEA: ldr r0, [r4, #0x0] mov r1, #0x2 bl FUN_02017B54 cmp r0, #0x30 ldr r0, [r4, #0x0] blt _0207BF0A mov r1, #0x2 mov r2, #0x3 mov r3, #0x38 bl FUN_0201AEE4 ldr r0, _0207BF78 ; =0x0000068E mov r1, #0x2 strb r1, [r4, r0] b _0207BF74 _0207BF0A: mov r1, #0x2 mov r2, #0x4 mov r3, #0x10 bl FUN_0201AEE4 b _0207BF74 _0207BF16: mov r1, #0xb5 bl FUN_0207D924 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 bl FUN_0207CFAC ldr r0, _0207BF80 ; =0x00000514 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_020200A0 mov r0, #0x52 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 bl FUN_020200A0 ldr r0, _0207BF84 ; =0x00000504 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_020200A0 ldr r0, _0207BF88 ; =0x00000508 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_020200A0 ldr r0, _0207BF8C ; =0x0000050C mov r1, #0x0 ldr r0, [r4, r0] bl FUN_020200A0 mov r0, #0x51 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_020200A0 add r0, r4, #0x0 mov r1, #0x0 bl FUN_0207C07C mov r0, #0x1 pop {r4, pc} _0207BF74: mov r0, #0x0 pop {r4, pc} .balign 4 _0207BF78: .word 0x0000068E _0207BF7C: .word 0x00000697 _0207BF80: .word 0x00000514 _0207BF84: .word 0x00000504 _0207BF88: .word 0x00000508 _0207BF8C: .word 0x0000050C thumb_func_start FUN_0207BF90 FUN_0207BF90: ; 0x0207BF90 push {r4, lr} ldr r1, _0207C078 ; =0x0000068E add r4, r0, #0x0 ldrb r0, [r4, r1] cmp r0, #0x0 beq _0207BFA6 cmp r0, #0x1 beq _0207BFF6 cmp r0, #0x2 beq _0207C022 b _0207C072 _0207BFA6: add r0, r1, #0x0 mov r2, #0x0 add r0, #0x9 strb r2, [r4, r0] add r1, #0xa mov r0, #0x91 strb r2, [r4, r1] lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x10 bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x20 bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x30 bl FUN_0201958C mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C add r0, r4, #0x0 mov r1, #0x0 bl FUN_0207CFAC add r0, r4, #0x0 bl FUN_0207D2C8 ldr r0, _0207C078 ; =0x0000068E mov r1, #0x1 strb r1, [r4, r0] b _0207C072 _0207BFF6: ldr r0, [r4, #0x0] mov r1, #0x2 bl FUN_02017B54 cmp r0, #0x8 ldr r0, [r4, #0x0] bgt _0207C016 mov r1, #0x2 mov r2, #0x3 mov r3, #0x0 bl FUN_0201AEE4 ldr r0, _0207C078 ; =0x0000068E mov r1, #0x2 strb r1, [r4, r0] b _0207C072 _0207C016: mov r1, #0x2 mov r2, #0x5 mov r3, #0x10 bl FUN_0201AEE4 b _0207C072 _0207C022: add r0, r4, #0x0 add r0, #0x64 bl FUN_02019220 mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 mov r0, #0x79 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02019220 add r0, r4, #0x0 mov r1, #0xb4 bl FUN_0207D924 add r0, r4, #0x0 mov r1, #0x1 bl FUN_0207C6F0 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 bl FUN_0207CFAC mov r0, #0x1 pop {r4, pc} _0207C072: mov r0, #0x0 pop {r4, pc} nop _0207C078: .word 0x0000068E thumb_func_start FUN_0207C07C FUN_0207C07C: ; 0x0207C07C push {r4-r6, lr} ldr r2, _0207C1D0 ; =0x00000697 add r5, r0, #0x0 add r3, r2, #0x1 ldrb r0, [r5, r2] ldrb r4, [r5, r3] cmp r1, #0x1 bne _0207C0A8 mov r1, #0x3 and r1, r0 cmp r1, #0x3 beq _0207C0B6 lsl r1, r4, #0x2 add r1, r0, r1 add r3, r1, #0x1 add r1, r2, #0x2 ldrb r1, [r5, r1] cmp r3, r1 bge _0207C14A add r1, r0, #0x1 strb r1, [r5, r2] b _0207C14A _0207C0A8: mov r3, #0x0 mvn r3, r3 cmp r1, r3 bne _0207C0BE mov r1, #0x3 tst r1, r0 bne _0207C0B8 _0207C0B6: b _0207C1CE _0207C0B8: sub r1, r0, #0x1 strb r1, [r5, r2] b _0207C14A _0207C0BE: cmp r1, #0x4 bne _0207C12C cmp r0, #0x4 bhs _0207C0F2 add r1, r2, #0x2 ldrb r3, [r5, r1] lsl r1, r4, #0x2 add r1, r0, r1 add r1, r1, #0x4 cmp r1, r3 blt _0207C0EC cmp r3, #0x4 bls _0207C14A lsr r1, r3, #0x1f lsl r6, r3, #0x1e sub r6, r6, r1 mov r3, #0x1e ror r6, r3 add r1, r1, r6 beq _0207C14A add r1, r1, #0x3 strb r1, [r5, r2] b _0207C14A _0207C0EC: add r1, r0, #0x4 strb r1, [r5, r2] b _0207C14A _0207C0F2: add r1, r2, #0x2 ldrb r1, [r5, r1] lsl r3, r4, #0x2 add r3, #0x8 cmp r3, r1 bge _0207C14A add r1, r2, #0x1 ldrb r1, [r5, r1] add r6, r2, #0x1 add r3, r1, #0x1 add r1, r2, #0x1 strb r3, [r5, r1] add r1, r2, #0x2 ldrb r6, [r5, r6] ldrb r3, [r5, r1] ldrb r1, [r5, r2] lsl r6, r6, #0x2 add r1, r1, r6 cmp r1, r3 blt _0207C14A lsr r1, r3, #0x1f lsl r6, r3, #0x1e sub r6, r6, r1 mov r3, #0x1e ror r6, r3 add r1, r1, r6 add r1, r1, #0x3 strb r1, [r5, r2] b _0207C14A _0207C12C: sub r3, r3, #0x3 cmp r1, r3 bne _0207C14A cmp r0, #0x4 blo _0207C13C sub r1, r0, #0x4 strb r1, [r5, r2] b _0207C14A _0207C13C: cmp r4, #0x0 beq _0207C14A add r1, r2, #0x1 ldrb r1, [r5, r1] sub r3, r1, #0x1 add r1, r2, #0x1 strb r3, [r5, r1] _0207C14A: ldr r1, _0207C1D0 ; =0x00000697 ldrb r2, [r5, r1] cmp r0, r2 bne _0207C15A add r0, r1, #0x1 ldrb r0, [r5, r0] cmp r4, r0 beq _0207C160 _0207C15A: ldr r0, _0207C1D4 ; =0x000005DC bl FUN_020054C8 _0207C160: ldr r1, _0207C1D0 ; =0x00000697 add r0, r5, #0x0 ldrb r1, [r5, r1] bl FUN_0207C1E8 ldr r1, _0207C1D8 ; =0x0000069A strb r0, [r5, r1] add r0, r5, #0x0 bl FUN_0207D3C4 ldr r0, _0207C1DC ; =0x00000698 ldrb r0, [r5, r0] cmp r4, r0 beq _0207C182 add r0, r5, #0x0 bl FUN_0207D364 _0207C182: add r0, r5, #0x0 bl FUN_0207E9A0 add r0, r5, #0x0 bl FUN_0207E840 ldr r0, _0207C1DC ; =0x00000698 ldrb r0, [r5, r0] cmp r0, #0x0 ldr r0, _0207C1E0 ; =0x00000518 beq _0207C1A2 ldr r0, [r5, r0] mov r1, #0x1 bl FUN_020200A0 b _0207C1AA _0207C1A2: ldr r0, [r5, r0] mov r1, #0x0 bl FUN_020200A0 _0207C1AA: ldr r0, _0207C1DC ; =0x00000698 ldrb r1, [r5, r0] add r0, r0, #0x1 ldrb r0, [r5, r0] lsl r1, r1, #0x2 add r1, #0x8 cmp r1, r0 ldr r0, _0207C1E4 ; =0x0000051C bge _0207C1C6 ldr r0, [r5, r0] mov r1, #0x1 bl FUN_020200A0 pop {r4-r6, pc} _0207C1C6: ldr r0, [r5, r0] mov r1, #0x0 bl FUN_020200A0 _0207C1CE: pop {r4-r6, pc} .balign 4 _0207C1D0: .word 0x00000697 _0207C1D4: .word 0x000005DC _0207C1D8: .word 0x0000069A _0207C1DC: .word 0x00000698 _0207C1E0: .word 0x00000518 _0207C1E4: .word 0x0000051C thumb_func_start FUN_0207C1E8 FUN_0207C1E8: ; 0x0207C1E8 push {r4-r7} ldr r2, _0207C238 ; =0x00000698 mov r6, #0x0 ldrb r2, [r0, r2] add r4, r6, #0x0 lsl r2, r2, #0x2 add r1, r1, r2 lsl r1, r1, #0x18 lsr r5, r1, #0x18 mov r1, #0xa9 mov r2, #0x1 lsl r1, r1, #0x2 _0207C200: mov r3, #0x1f add r7, r4, #0x0 and r7, r3 add r3, r2, #0x0 lsl r3, r7 lsr r7, r4, #0x5 lsl r7, r7, #0x2 add r7, r0, r7 ldr r7, [r7, r1] tst r3, r7 beq _0207C228 cmp r5, r6 bne _0207C222 lsl r0, r4, #0x18 lsr r0, r0, #0x18 pop {r4-r7} bx lr _0207C222: add r3, r6, #0x1 lsl r3, r3, #0x18 lsr r6, r3, #0x18 _0207C228: add r3, r4, #0x1 lsl r3, r3, #0x10 lsr r4, r3, #0x10 cmp r4, #0x50 blo _0207C200 mov r0, #0x0 pop {r4-r7} bx lr .balign 4 _0207C238: .word 0x00000698 thumb_func_start FUN_0207C23C FUN_0207C23C: ; 0x0207C23C push {r4, lr} sub sp, #0x8 ldr r1, _0207C29C ; =0x0000029A add r4, r0, #0x0 ldrb r0, [r4, r1] cmp r0, #0xff bne _0207C28E mov r0, #0x0 sub r1, #0xda mov r2, #0x13 bl FUN_02002EEC mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldr r0, [r0, #0x4] bl FUN_02025084 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] mov r0, #0x13 str r0, [sp, #0x4] ldr r0, [r4, #0x0] ldr r2, _0207C2A0 ; =0x000003E2 mov r1, #0x1 mov r3, #0xd bl FUN_0200CD68 add r0, r4, #0x0 mov r1, #0xff bl FUN_0207EECC mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 strb r1, [r0, #0x17] add sp, #0x8 mov r0, #0x11 pop {r4, pc} _0207C28E: sub r1, #0x4e ldr r0, [r4, r1] mov r2, #0x0 strb r2, [r0, #0x17] mov r0, #0x12 add sp, #0x8 pop {r4, pc} .balign 4 _0207C29C: .word 0x0000029A _0207C2A0: .word 0x000003E2 thumb_func_start FUN_0207C2A4 FUN_0207C2A4: ; 0x0207C2A4 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0202398C str r0, [r5, #0x8] add r0, r4, #0x0 bl FUN_020239BC str r0, [r5, #0xc] add r0, r4, #0x0 bl FUN_020239CC strb r0, [r5, #0x10] pop {r3-r5, pc} thumb_func_start FUN_0207C2C4 FUN_0207C2C4: ; 0x0207C2C4 mov r0, #0x40 bx lr thumb_func_start FUN_0207C2C8 FUN_0207C2C8: ; 0x0207C2C8 mov r0, #0x41 bx lr thumb_func_start FUN_0207C2CC FUN_0207C2CC: ; 0x0207C2CC mov r0, #0x3f bx lr thumb_func_start FUN_0207C2D0 FUN_0207C2D0: ; 0x0207C2D0 mov r0, #0x3e bx lr thumb_func_start FUN_0207C2D4 FUN_0207C2D4: ; 0x0207C2D4 push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x9f mov r2, #0x0 bl FUN_020671BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa2 mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 bne _0207C2F4 mov r0, #0x6 pop {r3-r5, pc} _0207C2F4: mov r0, #0x88 tst r0, r4 beq _0207C2FE mov r0, #0x4 pop {r3-r5, pc} _0207C2FE: mov r0, #0x7 add r1, r4, #0x0 tst r1, r0 beq _0207C30A mov r0, #0x3 pop {r3-r5, pc} _0207C30A: mov r1, #0x10 tst r1, r4 beq _0207C314 mov r0, #0x5 pop {r3-r5, pc} _0207C314: mov r1, #0x20 tst r1, r4 beq _0207C31E mov r0, #0x2 pop {r3-r5, pc} _0207C31E: mov r1, #0x40 tst r1, r4 beq _0207C326 mov r0, #0x1 _0207C326: pop {r3-r5, pc} thumb_func_start FUN_0207C328 FUN_0207C328: ; 0x0207C328 push {r3-r7, lr} sub sp, #0x50 add r4, r0, #0x0 mov r0, #0x10 mov r1, #0x1 bl FUN_0201E6E4 mov r0, #0x10 mov r1, #0x1 bl FUN_0201E74C mov r0, #0x20 mov r1, #0x13 bl FUN_0201C24C mov r0, #0x13 bl FUN_0200BB14 mov r1, #0x1 lsl r1, r1, #0xa str r0, [r4, r1] ldr r0, [r4, r1] bl FUN_0200BB34 ldr r7, _0207C3C4 ; =0x00000404 add r2, sp, #0x30 ldr r3, _0207C3C8 ; =0x020FA73C str r0, [r4, r7] ldmia r3!, {r0-r1} add r6, r2, #0x0 stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} ldr r5, _0207C3CC ; =0x020FA70C stmia r2!, {r0-r1} add r3, sp, #0x1c ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] add r1, r6, #0x0 str r0, [r3, #0x0] sub r0, r7, #0x4 ldr r0, [r4, r0] mov r3, #0x20 bl FUN_0200BB6C sub r1, r7, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] mov r2, #0x4d bl FUN_0200BBF0 ldr r5, _0207C3D0 ; =0x020FA720 add r3, sp, #0x0 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] sub r1, r7, #0x4 str r0, [r3, #0x0] ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] bl FUN_0200BD20 add sp, #0x50 pop {r3-r7, pc} .balign 4 _0207C3C4: .word 0x00000404 _0207C3C8: .word 0x020FA73C _0207C3CC: .word 0x020FA70C _0207C3D0: .word 0x020FA720 thumb_func_start FUN_0207C3D4 FUN_0207C3D4: ; 0x0207C3D4 push {r4, lr} mov r1, #0x1 add r4, r0, #0x0 lsl r1, r1, #0xa ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] bl FUN_0200BCE0 mov r0, #0x1 lsl r0, r0, #0xa ldr r0, [r4, r0] bl FUN_0200BD04 pop {r4, pc} .balign 4 thumb_func_start FUN_0207C3F4 FUN_0207C3F4: ; 0x0207C3F4 push {r4, lr} add r4, r0, #0x0 ldr r0, _0207C438 ; =0x0000045C mov r1, #0x1 ldr r0, [r4, r0] lsl r1, r1, #0xc bl FUN_020201E4 mov r0, #0x46 lsl r0, r0, #0x4 mov r1, #0x1 ldr r0, [r4, r0] lsl r1, r1, #0xc bl FUN_020201E4 ldr r0, _0207C43C ; =0x000004AC mov r1, #0x1 ldr r0, [r4, r0] lsl r1, r1, #0xc bl FUN_020201E4 ldr r0, _0207C440 ; =0x00000518 mov r1, #0x1 ldr r0, [r4, r0] lsl r1, r1, #0xc bl FUN_020201E4 ldr r0, _0207C444 ; =0x0000051C mov r1, #0x1 ldr r0, [r4, r0] lsl r1, r1, #0xc bl FUN_020201E4 pop {r4, pc} .balign 4 _0207C438: .word 0x0000045C _0207C43C: .word 0x000004AC _0207C440: .word 0x00000518 _0207C444: .word 0x0000051C thumb_func_start FUN_0207C448 FUN_0207C448: ; 0x0207C448 push {r3-r7, lr} ldr r6, _0207C550 ; =0x020FA784 ldr r7, _0207C554 ; =0x00000408 add r5, r0, #0x0 mov r4, #0x0 _0207C452: mov r0, #0x1 ldr r1, _0207C558 ; =0x00000404 lsl r0, r0, #0xa mov r2, #0x28 mul r2, r4 ldr r0, [r5, r0] ldr r1, [r5, r1] add r2, r6, r2 bl FUN_0200BE38 lsl r1, r4, #0x2 add r1, r5, r1 str r0, [r1, r7] add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x4d blo _0207C452 add r0, r5, #0x0 bl FUN_0207C7EC ldr r0, _0207C55C ; =0x0000042C mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 mov r0, #0x43 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_020200A0 ldr r0, _0207C560 ; =0x000004AC mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 mov r0, #0x4b lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_020200A0 ldr r0, _0207C564 ; =0x000004B4 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 ldr r0, _0207C568 ; =0x000004B8 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 ldr r0, _0207C56C ; =0x000004BC mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 mov r0, #0x13 lsl r0, r0, #0x6 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_020200A0 ldr r0, _0207C570 ; =0x000004C4 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 ldr r0, _0207C574 ; =0x000004C8 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 ldr r0, _0207C578 ; =0x000004CC mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 mov r0, #0x4d lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_020200A0 ldr r0, _0207C57C ; =0x000004D4 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 ldr r0, _0207C580 ; =0x000004D8 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 ldr r0, _0207C584 ; =0x00000524 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 ldr r0, _0207C588 ; =0x00000528 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 ldr r0, _0207C58C ; =0x0000052C mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 mov r0, #0x53 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_020200A0 ldr r0, _0207C590 ; =0x00000534 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 ldr r0, _0207C594 ; =0x00000538 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 pop {r3-r7, pc} .balign 4 _0207C550: .word 0x020FA784 _0207C554: .word 0x00000408 _0207C558: .word 0x00000404 _0207C55C: .word 0x0000042C _0207C560: .word 0x000004AC _0207C564: .word 0x000004B4 _0207C568: .word 0x000004B8 _0207C56C: .word 0x000004BC _0207C570: .word 0x000004C4 _0207C574: .word 0x000004C8 _0207C578: .word 0x000004CC _0207C57C: .word 0x000004D4 _0207C580: .word 0x000004D8 _0207C584: .word 0x00000524 _0207C588: .word 0x00000528 _0207C58C: .word 0x0000052C _0207C590: .word 0x00000534 _0207C594: .word 0x00000538 thumb_func_start FUN_0207C598 FUN_0207C598: ; 0x0207C598 push {r4-r6, lr} mov r5, #0x0 add r6, r0, #0x0 add r4, r5, #0x0 _0207C5A0: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_0207B070 cmp r0, #0x0 beq _0207C5B2 add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 _0207C5B2: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x8 blo _0207C5A0 sub r0, r5, #0x1 lsl r1, r0, #0x4 add r1, #0x18 lsr r0, r1, #0x1f add r0, r1, r0 asr r1, r0, #0x1 mov r0, #0xbc sub r0, r0, r1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0207C5D4 FUN_0207C5D4: ; 0x0207C5D4 push {r3-r7, lr} sub sp, #0x10 add r7, r0, #0x0 bl FUN_0207C598 str r0, [sp, #0x4] ldr r0, _0207C69C ; =0x00000408 mov r5, #0x0 add r4, r7, r0 ldr r0, [sp, #0x4] str r5, [sp, #0x8] str r0, [sp, #0x0] add r0, #0x18 str r0, [sp, #0x0] _0207C5F0: add r0, r7, #0x0 add r1, r5, #0x0 bl FUN_0207B070 cmp r0, #0x0 bne _0207C608 lsl r0, r5, #0x2 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_020200A0 b _0207C68E _0207C608: lsl r6, r5, #0x2 ldr r0, [r4, r6] bl FUN_020201DC lsl r0, r0, #0x10 lsr r1, r0, #0x10 ldr r0, _0207C6A0 ; =0x0000068C ldrsb r0, [r7, r0] cmp r0, r5 bne _0207C62A cmp r1, #0x8 bhs _0207C636 ldr r0, [r4, r6] add r1, #0x8 bl FUN_02020130 b _0207C636 _0207C62A: cmp r1, #0x8 blo _0207C636 ldr r0, [r4, r6] sub r1, #0x8 bl FUN_02020130 _0207C636: add r1, sp, #0xc ldr r0, [r4, r6] add r1, #0x2 add r2, sp, #0xc bl FUN_0200C75C ldr r0, _0207C6A0 ; =0x0000068C ldrsb r0, [r7, r0] cmp r0, r5 blt _0207C652 ldr r0, [sp, #0x8] lsl r1, r0, #0x4 ldr r0, [sp, #0x4] b _0207C65A _0207C652: ldr r0, [sp, #0x8] sub r0, r0, #0x1 lsl r1, r0, #0x4 ldr r0, [sp, #0x0] _0207C65A: add r0, r0, r1 lsl r0, r0, #0x10 asr r1, r0, #0x10 add r0, sp, #0xc strh r1, [r0, #0x2] lsl r0, r5, #0x2 add r1, r7, r0 ldr r0, _0207C69C ; =0x00000408 add r2, sp, #0xc ldr r0, [r1, r0] mov r1, #0x2 ldrsh r1, [r2, r1] add r3, r2, #0x0 mov r2, #0x0 ldrsh r2, [r3, r2] bl FUN_0200C6E4 ldr r0, [r4, r6] mov r1, #0x1 bl FUN_020200A0 ldr r0, [sp, #0x8] add r0, r0, #0x1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x8] _0207C68E: add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x8 blo _0207C5F0 add sp, #0x10 pop {r3-r7, pc} .balign 4 _0207C69C: .word 0x00000408 _0207C6A0: .word 0x0000068C thumb_func_start FUN_0207C6A4 FUN_0207C6A4: ; 0x0207C6A4 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_0207B09C cmp r0, #0x1 bhi _0207C6B8 add r0, r5, #0x0 mov r1, #0x0 bl FUN_0207C6F0 _0207C6B8: add r0, r5, #0x0 bl FUN_0207C598 add r4, r0, #0x0 ldr r0, _0207C6EC ; =0x0000045C add r1, r4, #0x0 sub r1, #0xc lsl r1, r1, #0x10 ldr r0, [r5, r0] asr r1, r1, #0x10 mov r2, #0x18 bl FUN_0200C6E4 mov r1, #0x5d mov r0, #0x46 lsl r1, r1, #0x2 lsl r0, r0, #0x4 sub r1, r1, r4 lsl r1, r1, #0x10 ldr r0, [r5, r0] asr r1, r1, #0x10 mov r2, #0x18 bl FUN_0200C6E4 pop {r3-r5, pc} nop _0207C6EC: .word 0x0000045C thumb_func_start FUN_0207C6F0 FUN_0207C6F0: ; 0x0207C6F0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_0207B09C cmp r0, #0x1 bhi _0207C700 mov r4, #0x0 _0207C700: ldr r0, _0207C718 ; =0x0000045C add r1, r4, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 mov r0, #0x46 lsl r0, r0, #0x4 ldr r0, [r5, r0] add r1, r4, #0x0 bl FUN_020200A0 pop {r3-r5, pc} .balign 4 _0207C718: .word 0x0000045C thumb_func_start FUN_0207C71C FUN_0207C71C: ; 0x0207C71C push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 ldr r0, _0207C774 ; =0x00000263 ldrb r0, [r4, r0] lsl r0, r0, #0x18 lsr r3, r0, #0x1a bne _0207C730 mov r3, #0x15 b _0207C732 _0207C730: add r3, #0x14 _0207C732: mov r0, #0x0 mov r1, #0x1 str r0, [sp, #0x0] lsl r1, r1, #0xa str r0, [sp, #0x4] ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] mov r2, #0x27 bl FUN_0200C9D8 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x6 mov r1, #0x1 ldr r3, _0207C774 ; =0x00000263 str r0, [sp, #0x4] ldrb r3, [r4, r3] lsl r1, r1, #0xa ldr r0, [r4, r1] add r1, r1, #0x4 lsl r3, r3, #0x18 ldr r1, [r4, r1] lsr r4, r3, #0x1a ldr r3, _0207C778 ; =0x020FA6F8 mov r2, #0x27 ldrb r3, [r3, r4] add r3, #0x25 bl FUN_0200CA0C add sp, #0x8 pop {r4, pc} nop _0207C774: .word 0x00000263 _0207C778: .word 0x020FA6F8 thumb_func_start FUN_0207C77C FUN_0207C77C: ; 0x0207C77C push {r4, lr} add r4, r0, #0x0 mov r0, #0x2a lsl r0, r0, #0x4 ldr r0, [r4, r0] lsl r0, r0, #0x4 lsr r0, r0, #0x4 cmp r0, #0x7 bne _0207C7A4 ldr r0, _0207C7E4 ; =0x00000458 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_020200A0 ldr r0, _0207C7E8 ; =0x00000538 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_020200A0 pop {r4, pc} _0207C7A4: cmp r0, #0x0 ldr r0, _0207C7E8 ; =0x00000538 beq _0207C7D0 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_020200A0 ldr r0, _0207C7E4 ; =0x00000458 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_020200A0 mov r1, #0x2a lsl r1, r1, #0x4 ldr r0, _0207C7E4 ; =0x00000458 ldr r1, [r4, r1] ldr r0, [r4, r0] lsl r1, r1, #0x4 lsr r1, r1, #0x4 bl FUN_02020130 pop {r4, pc} _0207C7D0: ldr r0, [r4, r0] mov r1, #0x1 bl FUN_020200A0 ldr r0, _0207C7E4 ; =0x00000458 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_020200A0 pop {r4, pc} .balign 4 _0207C7E4: .word 0x00000458 _0207C7E8: .word 0x00000538 thumb_func_start FUN_0207C7EC FUN_0207C7EC: ; 0x0207C7EC push {r3-r7, lr} add r5, r0, #0x0 bl FUN_0207CA44 mov r6, #0xa1 mov r4, #0x0 mov r7, #0x3 lsl r6, r6, #0x2 _0207C7FC: lsl r0, r4, #0x1 add r0, r5, r0 ldrh r0, [r0, r6] cmp r0, #0x0 beq _0207C826 add r1, r7, #0x0 bl FUN_0206AB18 add r3, r0, #0x0 add r1, r4, #0x0 add r1, #0xd add r2, r4, #0x5 lsl r1, r1, #0x18 lsl r2, r2, #0x18 lsl r3, r3, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_0207CA6C _0207C826: add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x4 blo _0207C7FC add r0, r5, #0x0 bl FUN_0207CFEC pop {r3-r7, pc} thumb_func_start FUN_0207C838 FUN_0207C838: ; 0x0207C838 push {r3-r7, lr} ldr r6, _0207CA2C ; =0x00000408 add r5, r0, #0x0 mov r4, #0xb mov r7, #0x0 _0207C842: lsl r0, r4, #0x2 add r0, r5, r0 ldr r0, [r0, r6] add r1, r7, #0x0 bl FUN_0200C63C add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x13 bls _0207C842 ldr r0, _0207CA30 ; =0x0000068C ldrsb r0, [r5, r0] cmp r0, #0x0 beq _0207C86C cmp r0, #0x3 beq _0207C8B4 cmp r0, #0x5 bne _0207C86A b _0207C96E _0207C86A: pop {r3-r7, pc} _0207C86C: ldr r0, _0207CA34 ; =0x00000434 mov r1, #0x1 ldr r0, [r5, r0] bl FUN_0200C63C mov r0, #0x26 lsl r0, r0, #0x4 ldrb r1, [r5, r0] add r0, r0, #0x1 ldrb r0, [r5, r0] cmp r1, r0 ldr r0, _0207CA34 ; =0x00000434 bne _0207C892 ldr r0, [r5, r0] mov r1, #0xd8 mov r2, #0x50 bl FUN_0200C6E4 pop {r3-r7, pc} _0207C892: ldr r0, [r5, r0] mov r1, #0xc7 mov r2, #0x50 bl FUN_0200C6E4 ldr r0, _0207CA38 ; =0x00000438 mov r1, #0x1 ldr r0, [r5, r0] bl FUN_0200C63C ldr r0, _0207CA38 ; =0x00000438 mov r1, #0xe9 ldr r0, [r5, r0] mov r2, #0x50 bl FUN_0200C6E4 pop {r3-r7, pc} _0207C8B4: mov r7, #0xa1 mov r4, #0x0 lsl r7, r7, #0x2 _0207C8BA: lsl r0, r4, #0x1 add r0, r5, r0 ldrh r0, [r0, r7] cmp r0, #0x0 beq _0207C904 mov r1, #0x3 bl FUN_0206AB18 add r3, r0, #0x0 add r1, r4, #0x0 add r1, #0xd add r2, r4, #0x5 lsl r1, r1, #0x18 lsl r2, r2, #0x18 lsl r3, r3, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_0207CA6C lsl r0, r4, #0x2 add r6, r5, r0 ldr r0, _0207CA3C ; =0x0000043C mov r1, #0x1 ldr r0, [r6, r0] bl FUN_0200C63C ldr r0, _0207CA3C ; =0x0000043C lsl r2, r4, #0x5 add r2, #0x2a lsl r2, r2, #0x10 ldr r0, [r6, r0] mov r1, #0x97 asr r2, r2, #0x10 bl FUN_0200C6E4 _0207C904: add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x4 blo _0207C8BA mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r5, r0] ldrh r0, [r0, #0x18] cmp r0, #0x0 beq _0207C946 mov r1, #0x3 bl FUN_0206AB18 add r3, r0, #0x0 lsl r3, r3, #0x18 add r0, r5, #0x0 mov r1, #0x11 mov r2, #0x9 lsr r3, r3, #0x18 bl FUN_0207CA6C ldr r0, _0207CA40 ; =0x0000044C mov r1, #0x1 ldr r0, [r5, r0] bl FUN_0200C63C ldr r0, _0207CA40 ; =0x0000044C mov r1, #0x97 ldr r0, [r5, r0] mov r2, #0xaa bl FUN_0200C6E4 _0207C946: ldr r0, _0207CA34 ; =0x00000434 mov r1, #0x3f ldr r0, [r5, r0] mov r2, #0x34 bl FUN_0200C6E4 ldr r0, _0207CA38 ; =0x00000438 mov r1, #0x61 ldr r0, [r5, r0] mov r2, #0x34 bl FUN_0200C6E4 mov r0, #0x45 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x6c mov r2, #0x48 bl FUN_0200C6E4 pop {r3-r7, pc} _0207C96E: mov r7, #0xa1 mov r4, #0x0 lsl r7, r7, #0x2 _0207C974: lsl r0, r4, #0x1 add r0, r5, r0 ldrh r0, [r0, r7] cmp r0, #0x0 beq _0207C9C0 mov r1, #0xb bl FUN_0206AB18 add r3, r0, #0x0 add r1, r4, #0x0 add r1, #0xd add r2, r4, #0x5 add r3, #0x12 lsl r1, r1, #0x18 lsl r2, r2, #0x18 lsl r3, r3, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_0207CA6C lsl r0, r4, #0x2 add r6, r5, r0 ldr r0, _0207CA3C ; =0x0000043C mov r1, #0x1 ldr r0, [r6, r0] bl FUN_0200C63C ldr r0, _0207CA3C ; =0x0000043C lsl r2, r4, #0x5 add r2, #0x2a lsl r2, r2, #0x10 ldr r0, [r6, r0] mov r1, #0x97 asr r2, r2, #0x10 bl FUN_0200C6E4 _0207C9C0: add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x4 blo _0207C974 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r5, r0] ldrh r0, [r0, #0x18] cmp r0, #0x0 beq _0207CA04 mov r1, #0xb bl FUN_0206AB18 add r3, r0, #0x0 add r3, #0x12 lsl r3, r3, #0x18 add r0, r5, #0x0 mov r1, #0x11 mov r2, #0x9 lsr r3, r3, #0x18 bl FUN_0207CA6C ldr r0, _0207CA40 ; =0x0000044C mov r1, #0x1 ldr r0, [r5, r0] bl FUN_0200C63C ldr r0, _0207CA40 ; =0x0000044C mov r1, #0x97 ldr r0, [r5, r0] mov r2, #0xaa bl FUN_0200C6E4 _0207CA04: ldr r0, _0207CA34 ; =0x00000434 mov r1, #0x3f ldr r0, [r5, r0] mov r2, #0x34 bl FUN_0200C6E4 ldr r0, _0207CA38 ; =0x00000438 mov r1, #0x61 ldr r0, [r5, r0] mov r2, #0x34 bl FUN_0200C6E4 mov r0, #0x45 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x6c mov r2, #0x48 bl FUN_0200C6E4 pop {r3-r7, pc} .balign 4 _0207CA2C: .word 0x00000408 _0207CA30: .word 0x0000068C _0207CA34: .word 0x00000434 _0207CA38: .word 0x00000438 _0207CA3C: .word 0x0000043C _0207CA40: .word 0x0000044C thumb_func_start FUN_0207CA44 FUN_0207CA44: ; 0x0207CA44 push {r4, lr} mov r3, #0x26 add r4, r0, #0x0 lsl r3, r3, #0x4 ldrb r3, [r4, r3] mov r1, #0xb mov r2, #0x3 bl FUN_0207CA6C ldr r3, _0207CA68 ; =0x00000261 add r0, r4, #0x0 ldrb r3, [r4, r3] mov r1, #0xc mov r2, #0x4 bl FUN_0207CA6C pop {r4, pc} nop _0207CA68: .word 0x00000261 thumb_func_start FUN_0207CA6C FUN_0207CA6C: ; 0x0207CA6C push {r4-r7, lr} sub sp, #0xc add r7, r3, #0x0 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_0206E12C str r0, [sp, #0x8] add r0, r7, #0x0 bl FUN_0206E0F0 add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] ldr r1, _0207CAB4 ; =0x00000404 str r6, [sp, #0x4] lsl r0, r0, #0xa ldr r0, [r5, r0] ldr r1, [r5, r1] ldr r2, [sp, #0x8] bl FUN_0200C9D8 add r0, r7, #0x0 bl FUN_0206E114 add r2, r0, #0x0 lsl r0, r4, #0x2 add r1, r5, r0 ldr r0, _0207CAB8 ; =0x00000408 ldr r0, [r1, r0] add r1, r2, #0x3 bl FUN_0200C664 add sp, #0xc pop {r4-r7, pc} .balign 4 _0207CAB4: .word 0x00000404 _0207CAB8: .word 0x00000408 thumb_func_start FUN_0207CABC FUN_0207CABC: ; 0x0207CABC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, r1, #0x0 ldrb r0, [r0, #0x0] str r1, [sp, #0x0] str r2, [sp, #0x4] lsl r0, r0, #0x5 add r0, #0x2a lsl r0, r0, #0x10 add r4, r3, #0x0 asr r7, r0, #0x10 mov r6, #0x0 _0207CAD6: ldr r0, _0207CB04 ; =0x0000043C ldr r1, [sp, #0x4] ldr r0, [r5, r0] add r2, r4, #0x0 bl FUN_0200C75C mov r0, #0x0 ldrsh r0, [r4, r0] cmp r7, r0 bne _0207CAF2 ldr r0, [sp, #0x0] add sp, #0x8 strb r6, [r0, #0x0] pop {r3-r7, pc} _0207CAF2: add r0, r6, #0x1 lsl r0, r0, #0x10 asr r6, r0, #0x10 add r5, r5, #0x4 cmp r6, #0x4 blt _0207CAD6 add sp, #0x8 pop {r3-r7, pc} nop _0207CB04: .word 0x0000043C thumb_func_start FUN_0207CB08 FUN_0207CB08: ; 0x0207CB08 push {r0-r3} push {r4, lr} sub sp, #0x8 add r2, sp, #0x4 add r1, sp, #0x14 add r2, #0x2 add r3, sp, #0x4 add r4, r0, #0x0 bl FUN_0207CABC add r2, sp, #0x0 add r0, r4, #0x0 add r1, sp, #0x18 add r2, #0x2 add r3, sp, #0x0 bl FUN_0207CABC add r0, sp, #0x10 ldrb r0, [r0, #0x4] add r3, sp, #0x0 mov r2, #0x0 add r0, #0xd lsl r0, r0, #0x2 add r1, r4, r0 ldr r0, _0207CB6C ; =0x00000408 ldrsh r2, [r3, r2] ldr r0, [r1, r0] mov r1, #0x2 ldrsh r1, [r3, r1] bl FUN_0200C6E4 add r0, sp, #0x10 ldrb r0, [r0, #0x8] add r3, sp, #0x0 mov r2, #0x4 add r0, #0xd lsl r0, r0, #0x2 add r1, r4, r0 ldr r0, _0207CB6C ; =0x00000408 ldrsh r2, [r3, r2] ldr r0, [r1, r0] mov r1, #0x6 ldrsh r1, [r3, r1] bl FUN_0200C6E4 add sp, #0x8 pop {r4} pop {r3} add sp, #0x10 bx r3 .balign 4 _0207CB6C: .word 0x00000408 thumb_func_start FUN_0207CB70 FUN_0207CB70: ; 0x0207CB70 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, r1, #0x0 mov r1, #0x1 bl FUN_0206AB18 add r4, r0, #0x0 bl FUN_0206E2A8 add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_0206E278 mov r1, #0x1 add r3, r0, #0x0 str r1, [sp, #0x0] mov r0, #0xa str r0, [sp, #0x4] lsl r0, r1, #0xa ldr r1, _0207CBBC ; =0x00000404 ldr r0, [r5, r0] ldr r1, [r5, r1] add r2, r6, #0x0 bl FUN_0200C9D8 add r0, r4, #0x0 bl FUN_0206E290 add r1, r0, #0x0 mov r0, #0x45 lsl r0, r0, #0x4 ldr r0, [r5, r0] add r1, r1, #0x3 bl FUN_0200C664 add sp, #0x8 pop {r4-r6, pc} .balign 4 _0207CBBC: .word 0x00000404 thumb_func_start FUN_0207CBC0 FUN_0207CBC0: ; 0x0207CBC0 ldr r2, _0207CBDC ; =0x0000068D add r3, r0, #0x0 ldrb r2, [r3, r2] ldr r0, _0207CBE0 ; =0x0000042C mov r1, #0xc2 lsl r2, r2, #0x1c lsr r2, r2, #0x1c lsl r2, r2, #0x5 ldr r0, [r3, r0] add r2, #0x30 lsl r2, r2, #0x10 ldr r3, _0207CBE4 ; =FUN_0200C6E4 asr r2, r2, #0x10 bx r3 .balign 4 _0207CBDC: .word 0x0000068D _0207CBE0: .word 0x0000042C _0207CBE4: .word FUN_0200C6E4 thumb_func_start FUN_0207CBE8 FUN_0207CBE8: ; 0x0207CBE8 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 ldr r0, _0207CC20 ; =0x0000042C add r1, sp, #0x0 ldr r0, [r4, r0] add r1, #0x2 add r2, sp, #0x0 bl FUN_0200C75C mov r0, #0x43 lsl r0, r0, #0x4 add r3, sp, #0x0 mov r1, #0x2 mov r2, #0x0 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] ldr r0, [r4, r0] bl FUN_0200C6E4 mov r0, #0x43 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 bl FUN_020200A0 add sp, #0x4 pop {r3-r4, pc} .balign 4 _0207CC20: .word 0x0000042C thumb_func_start FUN_0207CC24 FUN_0207CC24: ; 0x0207CC24 push {r3-r7, lr} mov r2, #0x69 lsl r2, r2, #0x4 mov r1, #0x0 strb r1, [r0, r2] add r3, r2, #0x3 strb r1, [r0, r3] add r3, r2, #0x2 strb r1, [r0, r3] ldr r3, _0207CC80 ; =0x0000029A ldrb r3, [r0, r3] cmp r3, #0x0 bne _0207CC44 add r2, r2, #0x1 strb r1, [r0, r2] b _0207CC5A _0207CC44: cmp r3, #0xff bne _0207CC50 mov r3, #0xc add r1, r2, #0x1 strb r3, [r0, r1] b _0207CC5A _0207CC50: mov r1, #0xc mul r1, r3 asr r3, r1, #0x8 add r1, r2, #0x1 strb r3, [r0, r1] _0207CC5A: ldr r7, _0207CC84 ; =0x00000408 add r5, r0, #0x0 mov r4, #0x1d add r5, #0x74 add r6, r7, #0x0 _0207CC64: ldr r0, [r5, r7] mov r1, #0x0 bl FUN_020200A0 ldr r0, [r5, r6] mov r1, #0x0 bl FUN_02020208 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x28 bls _0207CC64 pop {r3-r7, pc} nop _0207CC80: .word 0x0000029A _0207CC84: .word 0x00000408 thumb_func_start FUN_0207CC88 FUN_0207CC88: ; 0x0207CC88 push {r3-r7, lr} add r4, r0, #0x0 ldr r0, _0207CE38 ; =0x0000068C ldrsb r1, [r4, r0] cmp r1, #0x4 bne _0207CC9C add r1, r0, #0x5 ldrb r1, [r4, r1] cmp r1, #0x0 bne _0207CC9E _0207CC9C: b _0207CE34 _0207CC9E: add r2, r0, #0x4 ldrb r2, [r4, r2] cmp r2, #0x4 bhi _0207CCCC add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0207CCB2: ; jump table (using 16-bit offset) .short _0207CCBC - _0207CCB2 - 2; case 0 .short _0207CCE0 - _0207CCB2 - 2; case 1 .short _0207CD50 - _0207CCB2 - 2; case 2 .short _0207CD70 - _0207CCB2 - 2; case 3 .short _0207CDCA - _0207CCB2 - 2; case 4 _0207CCBC: add r1, r0, #0x7 ldrb r1, [r4, r1] add r2, r1, #0x1 add r1, r0, #0x7 strb r2, [r4, r1] ldrb r1, [r4, r1] cmp r1, #0x8 beq _0207CCCE _0207CCCC: b _0207CDE8 _0207CCCE: mov r2, #0x1 add r1, r0, #0x4 strb r2, [r4, r1] add r1, r0, #0x7 mov r2, #0x0 strb r2, [r4, r1] add r0, r0, #0x6 strb r2, [r4, r0] b _0207CDE8 _0207CCE0: add r1, r0, #0x7 ldrb r1, [r4, r1] cmp r1, #0x0 bne _0207CD3E add r0, r0, #0x6 ldrb r0, [r4, r0] add r0, #0x1d lsl r0, r0, #0x2 add r1, r4, r0 ldr r0, _0207CE3C ; =0x00000408 ldr r0, [r1, r0] mov r1, #0x1 bl FUN_020200A0 ldr r0, _0207CE40 ; =0x00000692 ldrb r0, [r4, r0] add r0, #0x1d lsl r0, r0, #0x2 add r1, r4, r0 ldr r0, _0207CE3C ; =0x00000408 ldr r0, [r1, r0] mov r1, #0x0 bl FUN_02020208 ldr r0, _0207CE40 ; =0x00000692 ldrb r0, [r4, r0] add r0, #0x1d lsl r0, r0, #0x2 add r1, r4, r0 ldr r0, _0207CE3C ; =0x00000408 ldr r0, [r1, r0] mov r1, #0x0 bl FUN_02020130 ldr r0, _0207CE40 ; =0x00000692 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] sub r1, r0, #0x1 ldrb r2, [r4, r0] ldrb r1, [r4, r1] cmp r2, r1 bne _0207CD3E mov r1, #0x2 sub r0, r0, #0x2 strb r1, [r4, r0] b _0207CDE8 _0207CD3E: ldr r0, _0207CE44 ; =0x00000693 mov r1, #0xa ldrb r0, [r4, r0] add r0, r0, #0x1 blx _s32_div_f ldr r0, _0207CE44 ; =0x00000693 strb r1, [r4, r0] b _0207CDE8 _0207CD50: add r1, #0x1c lsl r0, r1, #0x2 add r1, r4, r0 ldr r0, _0207CE3C ; =0x00000408 ldr r0, [r1, r0] bl FUN_02020128 cmp r0, #0x0 bne _0207CDE8 ldr r0, _0207CE44 ; =0x00000693 mov r1, #0x0 strb r1, [r4, r0] mov r1, #0x3 sub r0, r0, #0x3 strb r1, [r4, r0] b _0207CDE8 _0207CD70: add r1, r0, #0x7 ldrb r1, [r4, r1] add r2, r1, #0x1 add r1, r0, #0x7 strb r2, [r4, r1] ldrb r1, [r4, r1] cmp r1, #0x20 bne _0207CDE8 add r0, r0, #0x5 ldrb r0, [r4, r0] mov r6, #0x1d add r0, #0x1d cmp r0, #0x1d bls _0207CDBC add r5, r4, #0x0 ldr r7, _0207CE48 ; =0x00000691 add r5, #0x74 _0207CD92: ldr r0, _0207CE3C ; =0x00000408 mov r1, #0x1 ldr r0, [r5, r0] bl FUN_020200A0 ldr r0, _0207CE3C ; =0x00000408 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_02020208 ldr r0, _0207CE3C ; =0x00000408 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_02020130 ldrb r0, [r4, r7] add r6, r6, #0x1 add r5, r5, #0x4 add r0, #0x1d cmp r6, r0 blo _0207CD92 _0207CDBC: ldr r0, _0207CE44 ; =0x00000693 mov r1, #0x0 strb r1, [r4, r0] mov r1, #0x4 sub r0, r0, #0x3 strb r1, [r4, r0] b _0207CDE8 _0207CDCA: add r1, r0, #0x7 ldrb r1, [r4, r1] add r2, r1, #0x1 add r1, r0, #0x7 strb r2, [r4, r1] ldrb r1, [r4, r1] cmp r1, #0x20 bne _0207CDE8 mov r2, #0x0 add r1, r0, #0x4 strb r2, [r4, r1] add r1, r0, #0x7 strb r2, [r4, r1] add r0, r0, #0x6 strb r2, [r4, r0] _0207CDE8: ldr r0, _0207CE48 ; =0x00000691 mov r6, #0x1d ldrb r0, [r4, r0] add r0, #0x1d cmp r0, #0x1d bls _0207CE34 add r5, r4, #0x0 ldr r7, _0207CE3C ; =0x00000408 add r5, #0x74 _0207CDFA: ldr r0, [r5, r7] bl FUN_02020128 cmp r0, #0x0 beq _0207CE26 ldr r0, _0207CE3C ; =0x00000408 mov r1, #0x1 ldr r0, [r5, r0] lsl r1, r1, #0xc bl FUN_020201E4 ldr r0, _0207CE3C ; =0x00000408 ldr r0, [r5, r0] bl FUN_0202022C cmp r0, #0x6 bne _0207CE26 ldr r0, _0207CE3C ; =0x00000408 mov r1, #0x0 ldr r0, [r5, r0] bl FUN_020200A0 _0207CE26: ldr r0, _0207CE48 ; =0x00000691 add r6, r6, #0x1 ldrb r0, [r4, r0] add r5, r5, #0x4 add r0, #0x1d cmp r6, r0 blo _0207CDFA _0207CE34: pop {r3-r7, pc} nop _0207CE38: .word 0x0000068C _0207CE3C: .word 0x00000408 _0207CE40: .word 0x00000692 _0207CE44: .word 0x00000693 _0207CE48: .word 0x00000691 thumb_func_start FUN_0207CE4C FUN_0207CE4C: ; 0x0207CE4C push {r3-r7, lr} add r6, r0, #0x0 mov r4, #0x0 add r5, r6, #0x0 mov r7, #0x1 _0207CE56: mov r0, #0xa7 lsl r0, r0, #0x2 ldrh r1, [r6, r0] add r0, r7, #0x0 lsl r0, r4 tst r0, r1 ldr r0, _0207CED4 ; =0x00000464 beq _0207CE70 ldr r0, [r5, r0] add r1, r7, #0x0 bl FUN_02020130 b _0207CE78 _0207CE70: ldr r0, [r5, r0] mov r1, #0x0 bl FUN_02020130 _0207CE78: add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x6 blo _0207CE56 mov r0, #0x2a lsl r0, r0, #0x4 ldr r0, [r6, r0] lsl r1, r0, #0x2 lsr r1, r1, #0x1f cmp r1, #0x1 bne _0207CEA0 lsl r0, r0, #0x3 lsr r0, r0, #0x1f bne _0207CEA0 ldr r0, _0207CED8 ; =0x000004DC mov r1, #0x1 ldr r0, [r6, r0] bl FUN_0200C63C b _0207CEAA _0207CEA0: ldr r0, _0207CED8 ; =0x000004DC mov r1, #0x0 ldr r0, [r6, r0] bl FUN_0200C63C _0207CEAA: mov r0, #0x2a lsl r0, r0, #0x4 ldr r0, [r6, r0] lsr r0, r0, #0x1e cmp r0, #0x2 bne _0207CEC4 mov r0, #0x4e lsl r0, r0, #0x4 ldr r0, [r6, r0] mov r1, #0x1 bl FUN_0200C63C pop {r3-r7, pc} _0207CEC4: mov r0, #0x4e lsl r0, r0, #0x4 ldr r0, [r6, r0] mov r1, #0x0 bl FUN_0200C63C pop {r3-r7, pc} nop _0207CED4: .word 0x00000464 _0207CED8: .word 0x000004DC thumb_func_start FUN_0207CEDC FUN_0207CEDC: ; 0x0207CEDC push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 ldr r0, _0207CF50 ; =0x000004AC mov r1, #0x1 ldr r0, [r4, r0] bl FUN_020200A0 ldr r0, _0207CF50 ; =0x000004AC mov r1, #0x0 ldr r0, [r4, r0] bl FUN_02020208 ldr r0, _0207CF50 ; =0x000004AC mov r1, #0x0 ldr r0, [r4, r0] bl FUN_02020130 add r1, sp, #0x0 add r0, r4, #0x0 add r1, #0x2 add r2, sp, #0x0 bl FUN_0207FC04 ldr r0, _0207CF54 ; =0x0000068F add r3, sp, #0x0 ldrb r0, [r4, r0] lsl r0, r0, #0x1c lsr r0, r0, #0x1c ldr r0, _0207CF50 ; =0x000004AC bne _0207CF32 mov r2, #0x0 ldrsh r2, [r3, r2] mov r1, #0x2 ldrsh r1, [r3, r1] add r2, #0xc0 lsl r2, r2, #0x10 ldr r0, [r4, r0] asr r2, r2, #0x10 bl FUN_0200C6E4 add sp, #0x4 pop {r3-r4, pc} _0207CF32: mov r1, #0x2 mov r2, #0x0 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] ldr r0, [r4, r0] sub r1, r1, #0x4 add r2, #0xc0 lsl r1, r1, #0x10 lsl r2, r2, #0x10 asr r1, r1, #0x10 asr r2, r2, #0x10 bl FUN_0200C6E4 add sp, #0x4 pop {r3-r4, pc} .balign 4 _0207CF50: .word 0x000004AC _0207CF54: .word 0x0000068F thumb_func_start FUN_0207CF58 FUN_0207CF58: ; 0x0207CF58 push {r4, lr} add r4, r0, #0x0 ldr r0, _0207CF74 ; =0x000004AC ldr r0, [r4, r0] bl FUN_0202022C cmp r0, #0x2 bne _0207CF72 ldr r0, _0207CF74 ; =0x000004AC mov r1, #0x0 ldr r0, [r4, r0] bl FUN_020200A0 _0207CF72: pop {r4, pc} .balign 4 _0207CF74: .word 0x000004AC thumb_func_start FUN_0207CF78 FUN_0207CF78: ; 0x0207CF78 push {r3-r7, lr} ldr r7, _0207CFA8 ; =0x0000068E add r5, r0, #0x0 mov r4, #0x0 mov r6, #0x1 _0207CF82: add r0, r6, #0x0 ldrb r1, [r5, r7] lsl r0, r4 tst r0, r1 beq _0207CF9C lsl r0, r4, #0x2 add r1, r5, r0 mov r0, #0x4b lsl r0, r0, #0x4 ldr r0, [r1, r0] add r1, r6, #0x0 bl FUN_020200A0 _0207CF9C: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x5 blo _0207CF82 pop {r3-r7, pc} .balign 4 _0207CFA8: .word 0x0000068E thumb_func_start FUN_0207CFAC FUN_0207CFAC: ; 0x0207CFAC push {r4, lr} add r4, r0, #0x0 cmp r1, #0x0 bne _0207CFC0 ldr r0, _0207CFE8 ; =0x000004C4 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_020200A0 pop {r4, pc} _0207CFC0: add r0, r1, #0x0 bl FUN_0201AB14 add r1, r0, #0x0 ldr r0, _0207CFE8 ; =0x000004C4 lsl r1, r1, #0x3 sub r1, #0xa lsl r1, r1, #0x10 ldr r0, [r4, r0] asr r1, r1, #0x10 mov r2, #0x8 bl FUN_0200C6E4 ldr r0, _0207CFE8 ; =0x000004C4 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_020200A0 pop {r4, pc} nop _0207CFE8: .word 0x000004C4 thumb_func_start FUN_0207CFEC FUN_0207CFEC: ; 0x0207CFEC push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 bl FUN_0207B628 mov r1, #0x93 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldrb r1, [r1, #0x11] cmp r1, #0x2 bne _0207D008 bl FUN_0206B688 b _0207D00C _0207D008: bl FUN_0206B6C8 _0207D00C: add r3, r0, #0x0 mov r0, #0x0 mov r1, #0x1 str r0, [sp, #0x0] mov r0, #0xb lsl r1, r1, #0xa str r0, [sp, #0x4] ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] mov r2, #0x13 bl FUN_0200C9D8 mov r2, #0x97 lsl r2, r2, #0x2 add r1, r2, #0x0 ldrh r0, [r4, r2] add r2, #0x44 add r1, #0x42 ldr r2, [r4, r2] ldrh r1, [r4, r1] lsl r2, r2, #0x3 lsr r2, r2, #0x1f bl FUN_0206B7BC add r1, r0, #0x0 ldr r0, _0207D068 ; =0x00000454 add r1, r1, #0x7 ldr r0, [r4, r0] bl FUN_0200C664 mov r0, #0x97 lsl r0, r0, #0x2 ldrh r0, [r4, r0] mov r1, #0x1c bl FUN_02068678 add r2, r0, #0x0 ldr r0, _0207D068 ; =0x00000454 mov r1, #0x1 ldr r0, [r4, r0] eor r1, r2 bl FUN_02020100 add sp, #0x8 pop {r4, pc} .balign 4 _0207D068: .word 0x00000454 thumb_func_start FUN_0207D06C FUN_0207D06C: ; 0x0207D06C push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 bl FUN_0206B888 add r3, r0, #0x0 mov r0, #0x0 mov r1, #0x1 str r0, [sp, #0x0] mov r0, #0x5 lsl r1, r1, #0xa str r0, [sp, #0x4] ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] mov r2, #0x13 bl FUN_0200CA0C ldr r0, _0207D0C0 ; =0x0000068C ldrsb r0, [r4, r0] cmp r0, #0x3 ldr r0, _0207D0C4 ; =0x00000454 bne _0207D0A6 ldr r0, [r4, r0] mov r1, #0x18 mov r2, #0x30 bl FUN_0200C6E4 b _0207D0B0 _0207D0A6: ldr r0, [r4, r0] mov r1, #0x20 mov r2, #0x44 bl FUN_0200C6E4 _0207D0B0: ldr r0, _0207D0C4 ; =0x00000454 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_0200C63C add sp, #0x8 pop {r4, pc} nop _0207D0C0: .word 0x0000068C _0207D0C4: .word 0x00000454 thumb_func_start FUN_0207D0C8 FUN_0207D0C8: ; 0x0207D0C8 push {r4, lr} add r4, r2, #0x0 cmp r4, r1 ble _0207D0EE add r0, #0x2c sub r1, r4, r1 mul r1, r0 lsl r0, r1, #0x10 mov r1, #0x4b lsl r1, r1, #0x2 blx _u32_div_f lsr r0, r0, #0x10 lsl r0, r0, #0x10 asr r0, r0, #0x10 sub r0, r4, r0 lsl r0, r0, #0x10 asr r0, r0, #0x10 pop {r4, pc} _0207D0EE: add r0, #0x2c sub r1, r1, r4 mul r1, r0 lsl r0, r1, #0x10 mov r1, #0x4b lsl r1, r1, #0x2 blx _u32_div_f lsr r0, r0, #0x10 lsl r0, r0, #0x10 asr r0, r0, #0x10 add r0, r4, r0 lsl r0, r0, #0x10 asr r0, r0, #0x10 pop {r4, pc} thumb_func_start FUN_0207D10C FUN_0207D10C: ; 0x0207D10C push {r3-r5, lr} add r4, r0, #0x0 ldr r0, _0207D20C ; =0x00000295 mov r1, #0x58 ldrb r0, [r4, r0] add r2, r1, #0x0 bl FUN_0207D0C8 add r5, r0, #0x0 ldr r0, _0207D20C ; =0x00000295 mov r1, #0x31 ldrb r0, [r4, r0] mov r2, #0x49 bl FUN_0207D0C8 add r2, r0, #0x0 ldr r0, _0207D210 ; =0x000004C8 add r1, r5, #0x0 ldr r0, [r4, r0] bl FUN_0200C6E4 ldr r0, _0207D214 ; =0x00000296 mov r1, #0x6e ldrb r0, [r4, r0] mov r2, #0x58 bl FUN_0207D0C8 add r5, r0, #0x0 ldr r0, _0207D214 ; =0x00000296 mov r1, #0x41 ldrb r0, [r4, r0] mov r2, #0x49 bl FUN_0207D0C8 add r2, r0, #0x0 ldr r0, _0207D218 ; =0x000004CC add r1, r5, #0x0 ldr r0, [r4, r0] bl FUN_0200C6E4 ldr r0, _0207D21C ; =0x00000297 mov r1, #0x67 ldrb r0, [r4, r0] mov r2, #0x58 bl FUN_0207D0C8 add r5, r0, #0x0 ldr r0, _0207D21C ; =0x00000297 mov r1, #0x5c ldrb r0, [r4, r0] mov r2, #0x49 bl FUN_0207D0C8 add r2, r0, #0x0 mov r0, #0x4d lsl r0, r0, #0x4 ldr r0, [r4, r0] add r1, r5, #0x0 bl FUN_0200C6E4 mov r0, #0xa6 lsl r0, r0, #0x2 ldrb r0, [r4, r0] mov r1, #0x48 mov r2, #0x57 bl FUN_0207D0C8 add r5, r0, #0x0 mov r0, #0xa6 lsl r0, r0, #0x2 ldrb r0, [r4, r0] mov r1, #0x5c mov r2, #0x49 bl FUN_0207D0C8 add r2, r0, #0x0 ldr r0, _0207D220 ; =0x000004D4 add r1, r5, #0x0 ldr r0, [r4, r0] bl FUN_0200C6E4 ldr r0, _0207D224 ; =0x00000299 mov r1, #0x41 ldrb r0, [r4, r0] mov r2, #0x57 bl FUN_0207D0C8 add r5, r0, #0x0 ldr r0, _0207D224 ; =0x00000299 mov r1, #0x41 ldrb r0, [r4, r0] mov r2, #0x49 bl FUN_0207D0C8 add r2, r0, #0x0 ldr r0, _0207D228 ; =0x000004D8 add r1, r5, #0x0 ldr r0, [r4, r0] bl FUN_0200C6E4 ldr r0, _0207D210 ; =0x000004C8 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_020200A0 ldr r0, _0207D218 ; =0x000004CC mov r1, #0x1 ldr r0, [r4, r0] bl FUN_020200A0 mov r0, #0x4d lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 bl FUN_020200A0 ldr r0, _0207D220 ; =0x000004D4 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_020200A0 ldr r0, _0207D228 ; =0x000004D8 mov r1, #0x1 ldr r0, [r4, r0] bl FUN_020200A0 pop {r3-r5, pc} nop _0207D20C: .word 0x00000295 _0207D210: .word 0x000004C8 _0207D214: .word 0x00000296 _0207D218: .word 0x000004CC _0207D21C: .word 0x00000297 _0207D220: .word 0x000004D4 _0207D224: .word 0x00000299 _0207D228: .word 0x000004D8 thumb_func_start FUN_0207D22C FUN_0207D22C: ; 0x0207D22C push {r4, lr} add r4, r0, #0x0 ldr r0, _0207D268 ; =0x000004C8 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_020200A0 ldr r0, _0207D26C ; =0x000004CC mov r1, #0x0 ldr r0, [r4, r0] bl FUN_020200A0 mov r0, #0x4d lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_020200A0 ldr r0, _0207D270 ; =0x000004D4 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_020200A0 ldr r0, _0207D274 ; =0x000004D8 mov r1, #0x0 ldr r0, [r4, r0] bl FUN_020200A0 pop {r4, pc} nop _0207D268: .word 0x000004C8 _0207D26C: .word 0x000004CC _0207D270: .word 0x000004D4 _0207D274: .word 0x000004D8 thumb_func_start FUN_0207D278 FUN_0207D278: ; 0x0207D278 push {r4-r6, lr} sub sp, #0x8 add r6, r1, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 mov r1, #0x1 add r4, r2, #0x0 bl FUN_0207FC5C add r3, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x1 add r0, #0x1a lsl r1, r1, #0xa str r0, [sp, #0x4] ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] mov r2, #0x27 bl FUN_0200C9D8 add r0, r6, #0x0 mov r1, #0x2 bl FUN_0207FC5C add r4, #0x37 add r2, r0, #0x0 lsl r0, r4, #0x2 add r1, r5, r0 ldr r0, _0207D2C4 ; =0x00000408 ldr r0, [r1, r0] add r1, r2, #0x7 bl FUN_0200C664 add sp, #0x8 pop {r4-r6, pc} .balign 4 _0207D2C4: .word 0x00000408 thumb_func_start FUN_0207D2C8 FUN_0207D2C8: ; 0x0207D2C8 push {r3-r7, lr} sub sp, #0x8 ldr r6, _0207D354 ; =0x00000408 add r5, r0, #0x0 mov r4, #0x37 mov r7, #0x0 _0207D2D4: lsl r0, r4, #0x2 add r0, r5, r0 ldr r0, [r0, r6] add r1, r7, #0x0 bl FUN_020200A0 add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x46 bls _0207D2D4 ldr r0, _0207D358 ; =0x0000068C ldrsb r0, [r5, r0] cmp r0, #0x6 bne _0207D350 mov r0, #0x0 mov r1, #0x1 str r0, [sp, #0x0] mov r0, #0x5 lsl r1, r1, #0xa str r0, [sp, #0x4] ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] mov r2, #0x27 mov r3, #0x88 bl FUN_0200CA0C ldr r7, _0207D35C ; =0x000004E4 ldr r6, _0207D360 ; =0x00000699 mov r4, #0x0 _0207D312: ldrb r0, [r5, r6] cmp r4, r0 bge _0207D33A lsl r0, r4, #0x2 add r0, r5, r0 ldr r0, [r0, r7] mov r1, #0x1 bl FUN_020200A0 lsl r1, r4, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 bl FUN_0207C1E8 lsl r2, r4, #0x18 add r1, r0, #0x0 add r0, r5, #0x0 lsr r2, r2, #0x18 bl FUN_0207D278 _0207D33A: add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0xc blo _0207D312 mov r0, #0x52 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_02020130 _0207D350: add sp, #0x8 pop {r3-r7, pc} .balign 4 _0207D354: .word 0x00000408 _0207D358: .word 0x0000068C _0207D35C: .word 0x000004E4 _0207D360: .word 0x00000699 thumb_func_start FUN_0207D364 FUN_0207D364: ; 0x0207D364 push {r3-r7, lr} ldr r7, _0207D3BC ; =0x00000698 add r5, r0, #0x0 mov r4, #0x0 add r6, r7, #0x1 _0207D36E: ldrb r0, [r5, r7] lsl r0, r0, #0x2 add r1, r4, r0 ldrb r0, [r5, r6] cmp r1, r0 bge _0207D3A0 lsl r0, r4, #0x2 add r1, r5, r0 ldr r0, _0207D3C0 ; =0x000004E4 ldr r0, [r1, r0] mov r1, #0x1 bl FUN_020200A0 lsl r1, r4, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 bl FUN_0207C1E8 lsl r2, r4, #0x18 add r1, r0, #0x0 add r0, r5, #0x0 lsr r2, r2, #0x18 bl FUN_0207D278 b _0207D3AE _0207D3A0: lsl r0, r4, #0x2 add r1, r5, r0 ldr r0, _0207D3C0 ; =0x000004E4 ldr r0, [r1, r0] mov r1, #0x0 bl FUN_020200A0 _0207D3AE: add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x8 blo _0207D36E pop {r3-r7, pc} nop _0207D3BC: .word 0x00000698 _0207D3C0: .word 0x000004E4 thumb_func_start FUN_0207D3C4 FUN_0207D3C4: ; 0x0207D3C4 ldr r1, _0207D3E8 ; =0x00000697 ldrb r2, [r0, r1] ldr r1, _0207D3EC ; =0x00000514 ldr r0, [r0, r1] lsl r1, r2, #0x1e lsr r3, r2, #0x2 mov r2, #0x28 mul r2, r3 lsr r1, r1, #0x19 add r1, #0x84 add r2, #0x38 lsl r1, r1, #0x10 lsl r2, r2, #0x10 ldr r3, _0207D3F0 ; =FUN_0200C6E4 asr r1, r1, #0x10 asr r2, r2, #0x10 bx r3 nop _0207D3E8: .word 0x00000697 _0207D3EC: .word 0x00000514 _0207D3F0: .word FUN_0200C6E4 thumb_func_start FUN_0207D3F4 FUN_0207D3F4: ; 0x0207D3F4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x52 lsl r0, r0, #0x4 ldr r0, [r4, r0] bl FUN_02020128 cmp r0, #0x1 bne _0207D414 mov r0, #0x52 lsl r0, r0, #0x4 mov r1, #0x1 ldr r0, [r4, r0] lsl r1, r1, #0xc bl FUN_020201E4 _0207D414: pop {r4, pc} .balign 4 thumb_func_start FUN_0207D418 FUN_0207D418: ; 0x0207D418 push {r3-r7, lr} add r5, r0, #0x0 cmp r1, #0x0 bne _0207D43E mov r4, #0x0 ldr r6, _0207D4C0 ; =0x00000524 add r7, r4, #0x0 _0207D426: lsl r0, r4, #0x2 add r0, r5, r0 ldr r0, [r0, r6] add r1, r7, #0x0 bl FUN_020200A0 add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x5 blo _0207D426 pop {r3-r7, pc} _0207D43E: ldr r0, _0207D4C4 ; =0x00000295 ldrb r1, [r5, r0] add r0, r0, #0x1 ldrb r0, [r5, r0] add r4, r1, #0x0 cmp r1, r0 bge _0207D44E add r4, r0, #0x0 _0207D44E: ldr r0, _0207D4C8 ; =0x00000297 ldrb r0, [r5, r0] cmp r4, r0 bge _0207D458 add r4, r0, #0x0 _0207D458: mov r0, #0xa6 lsl r0, r0, #0x2 ldrb r0, [r5, r0] cmp r4, r0 bge _0207D464 add r4, r0, #0x0 _0207D464: ldr r0, _0207D4CC ; =0x00000299 ldrb r0, [r5, r0] cmp r4, r0 bge _0207D46E add r4, r0, #0x0 _0207D46E: ldr r0, _0207D4C0 ; =0x00000524 ldr r3, _0207D4D0 ; =0x020FA75C ldr r0, [r5, r0] add r2, r4, #0x0 bl FUN_0207D4F4 ldr r1, _0207D4D4 ; =0x00000296 ldr r0, _0207D4D8 ; =0x00000528 ldrb r1, [r5, r1] ldr r0, [r5, r0] ldr r3, _0207D4DC ; =0x020FA764 add r2, r4, #0x0 bl FUN_0207D4F4 ldr r1, _0207D4C8 ; =0x00000297 ldr r0, _0207D4E0 ; =0x0000052C ldrb r1, [r5, r1] ldr r0, [r5, r0] ldr r3, _0207D4E4 ; =0x020FA76C add r2, r4, #0x0 bl FUN_0207D4F4 mov r1, #0x53 lsl r1, r1, #0x4 ldr r0, [r5, r1] lsr r1, r1, #0x1 ldrb r1, [r5, r1] ldr r3, _0207D4E8 ; =0x020FA774 add r2, r4, #0x0 bl FUN_0207D4F4 ldr r1, _0207D4CC ; =0x00000299 ldr r0, _0207D4EC ; =0x00000534 ldrb r1, [r5, r1] ldr r0, [r5, r0] ldr r3, _0207D4F0 ; =0x020FA77C add r2, r4, #0x0 bl FUN_0207D4F4 pop {r3-r7, pc} nop _0207D4C0: .word 0x00000524 _0207D4C4: .word 0x00000295 _0207D4C8: .word 0x00000297 _0207D4CC: .word 0x00000299 _0207D4D0: .word 0x020FA75C _0207D4D4: .word 0x00000296 _0207D4D8: .word 0x00000528 _0207D4DC: .word 0x020FA764 _0207D4E0: .word 0x0000052C _0207D4E4: .word 0x020FA76C _0207D4E8: .word 0x020FA774 _0207D4EC: .word 0x00000534 _0207D4F0: .word 0x020FA77C thumb_func_start FUN_0207D4F4 FUN_0207D4F4: ; 0x0207D4F4 push {r4-r6, lr} add r5, r1, #0x0 add r6, r0, #0x0 add r4, r3, #0x0 cmp r5, #0x0 beq _0207D504 cmp r5, r2 beq _0207D50E _0207D504: add r0, r6, #0x0 mov r1, #0x0 bl FUN_020200A0 pop {r4-r6, pc} _0207D50E: mov r1, #0x1 bl FUN_020200A0 mov r0, #0x0 ldrsh r1, [r4, r0] mov r0, #0x4 ldrsh r0, [r4, r0] cmp r1, r0 blt _0207D534 sub r1, r1, r0 lsl r2, r1, #0x8 asr r1, r2, #0x7 lsr r1, r1, #0x18 add r1, r2, r1 asr r1, r1, #0x8 mul r1, r5 lsr r1, r1, #0x8 add r1, r0, r1 b _0207D546 _0207D534: sub r1, r0, r1 lsl r2, r1, #0x8 asr r1, r2, #0x7 lsr r1, r1, #0x18 add r1, r2, r1 asr r1, r1, #0x8 mul r1, r5 lsr r1, r1, #0x8 sub r1, r0, r1 _0207D546: mov r0, #0x2 ldrsh r2, [r4, r0] mov r0, #0x6 ldrsh r0, [r4, r0] cmp r2, r0 blt _0207D566 sub r2, r2, r0 lsl r3, r2, #0x8 asr r2, r3, #0x7 lsr r2, r2, #0x18 add r2, r3, r2 asr r2, r2, #0x8 mul r2, r5 lsr r2, r2, #0x8 add r2, r0, r2 b _0207D578 _0207D566: sub r2, r0, r2 lsl r3, r2, #0x8 asr r2, r3, #0x7 lsr r2, r2, #0x18 add r2, r3, r2 asr r2, r2, #0x8 mul r2, r5 lsr r2, r2, #0x8 sub r2, r0, r2 _0207D578: lsl r1, r1, #0x10 lsl r2, r2, #0x10 add r0, r6, #0x0 asr r1, r1, #0x10 asr r2, r2, #0x10 bl FUN_0200C6E4 add r0, r6, #0x0 mov r1, #0x0 bl FUN_02020208 add r0, r6, #0x0 mov r1, #0x0 bl FUN_02020130 pop {r4-r6, pc} thumb_func_start FUN_0207D598 FUN_0207D598: ; 0x0207D598 push {r3-r7, lr} mov r7, #0x1 ldr r6, _0207D5B8 ; =0x00000524 add r5, r0, #0x0 mov r4, #0x0 lsl r7, r7, #0xc _0207D5A4: ldr r0, [r5, r6] add r1, r7, #0x0 bl FUN_020201E4 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x5 blo _0207D5A4 pop {r3-r7, pc} nop _0207D5B8: .word 0x00000524 thumb_func_start FUN_0207D5BC FUN_0207D5BC: ; 0x0207D5BC push {r3-r7, lr} add r7, r0, #0x0 mov r5, #0x0 add r4, r7, #0x4 _0207D5C4: ldr r2, _0207D600 ; =0x020FB4AC lsl r6, r5, #0x4 lsl r3, r5, #0x3 ldr r0, [r7, #0x0] add r1, r4, r6 add r2, r2, r3 bl FUN_02019150 add r0, r4, r6 mov r1, #0x0 bl FUN_02019620 add r0, r5, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0x24 blo _0207D5C4 add r0, r7, #0x0 bl FUN_0207DB78 add r0, r7, #0x0 bl FUN_0207D768 add r0, r7, #0x0 bl FUN_0207D800 add r0, r7, #0x0 bl FUN_0207D8A0 pop {r3-r7, pc} .balign 4 _0207D600: .word 0x020FB4AC thumb_func_start FUN_0207D604 FUN_0207D604: ; 0x0207D604 push {r3-r7, lr} add r4, r0, #0x0 ldr r0, _0207D6D8 ; =0x0000068C ldrsb r0, [r4, r0] cmp r0, #0x7 bhi _0207D6D4 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0207D61C: ; jump table (using 16-bit offset) .short _0207D62C - _0207D61C - 2; case 0 .short _0207D638 - _0207D61C - 2; case 1 .short _0207D644 - _0207D61C - 2; case 2 .short _0207D650 - _0207D61C - 2; case 3 .short _0207D674 - _0207D61C - 2; case 4 .short _0207D65C - _0207D61C - 2; case 5 .short _0207D668 - _0207D61C - 2; case 6 .short _0207D674 - _0207D61C - 2; case 7 _0207D62C: mov r0, #0x92 mov r1, #0x6 lsl r0, r0, #0x2 ldr r5, _0207D6DC ; =0x020FB3FC str r1, [r4, r0] b _0207D692 _0207D638: mov r0, #0x92 mov r1, #0x1 lsl r0, r0, #0x2 ldr r5, _0207D6E0 ; =0x020FB38C str r1, [r4, r0] b _0207D692 _0207D644: mov r0, #0x92 mov r1, #0x8 lsl r0, r0, #0x2 ldr r5, _0207D6E4 ; =0x020FB42C str r1, [r4, r0] b _0207D692 _0207D650: mov r0, #0x92 mov r1, #0x8 lsl r0, r0, #0x2 ldr r5, _0207D6E8 ; =0x020FB46C str r1, [r4, r0] b _0207D692 _0207D65C: mov r0, #0x92 mov r1, #0x6 lsl r0, r0, #0x2 ldr r5, _0207D6EC ; =0x020FB3CC str r1, [r4, r0] b _0207D692 _0207D668: mov r0, #0x92 mov r1, #0x4 lsl r0, r0, #0x2 ldr r5, _0207D6F0 ; =0x020FB3AC str r1, [r4, r0] b _0207D692 _0207D674: mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldrb r0, [r0, #0x12] cmp r0, #0x3 beq _0207D684 cmp r0, #0x4 bne _0207D6D4 _0207D684: mov r0, #0x92 mov r1, #0x3 lsl r0, r0, #0x2 ldr r5, _0207D6F4 ; =0x020FB394 str r1, [r4, r0] b _0207D692 _0207D690: pop {r3-r7, pc} _0207D692: mov r1, #0x92 lsl r1, r1, #0x2 ldr r1, [r4, r1] mov r0, #0x13 lsl r1, r1, #0x18 lsr r1, r1, #0x18 bl FUN_02018FF4 mov r1, #0x91 lsl r1, r1, #0x2 str r0, [r4, r1] add r0, r1, #0x4 ldr r0, [r4, r0] mov r6, #0x0 cmp r0, #0x0 bls _0207D6D4 add r7, r6, #0x0 _0207D6B4: mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r0, [r4, #0x0] add r1, r1, r7 add r2, r5, #0x0 bl FUN_02019150 mov r0, #0x92 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r6, r6, #0x1 add r5, #0x8 add r7, #0x10 cmp r6, r0 blo _0207D6B4 _0207D6D4: pop {r3-r7, pc} nop _0207D6D8: .word 0x0000068C _0207D6DC: .word 0x020FB3FC _0207D6E0: .word 0x020FB38C _0207D6E4: .word 0x020FB42C _0207D6E8: .word 0x020FB46C _0207D6EC: .word 0x020FB3CC _0207D6F0: .word 0x020FB3AC _0207D6F4: .word 0x020FB394 thumb_func_start FUN_0207D6F8 FUN_0207D6F8: ; 0x0207D6F8 push {r3, lr} add r1, r0, #0x0 ldr r0, _0207D748 ; =0x0000068C ldrsb r0, [r1, r0] cmp r0, #0x7 bhi _0207D744 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0207D710: ; jump table (using 16-bit offset) .short _0207D732 - _0207D710 - 2; case 0 .short _0207D732 - _0207D710 - 2; case 1 .short _0207D732 - _0207D710 - 2; case 2 .short _0207D732 - _0207D710 - 2; case 3 .short _0207D720 - _0207D710 - 2; case 4 .short _0207D732 - _0207D710 - 2; case 5 .short _0207D732 - _0207D710 - 2; case 6 .short _0207D720 - _0207D710 - 2; case 7 _0207D720: mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r1, r0] ldrb r0, [r0, #0x12] cmp r0, #0x3 beq _0207D732 cmp r0, #0x4 beq _0207D732 pop {r3, pc} _0207D732: mov r2, #0x91 lsl r2, r2, #0x2 ldr r0, [r1, r2] add r2, r2, #0x4 ldr r1, [r1, r2] lsl r1, r1, #0x18 lsr r1, r1, #0x18 bl FUN_020191A4 _0207D744: pop {r3, pc} nop _0207D748: .word 0x0000068C thumb_func_start FUN_0207D74C FUN_0207D74C: ; 0x0207D74C push {r3-r5, lr} add r5, r0, #0x0 bl FUN_0207D6F8 mov r4, #0x0 add r5, r5, #0x4 _0207D758: add r0, r5, #0x0 bl FUN_02019178 add r4, r4, #0x1 add r5, #0x10 cmp r4, #0x24 blo _0207D758 pop {r3-r5, pc} thumb_func_start FUN_0207D768 FUN_0207D768: ; 0x0207D768 push {r3-r5, lr} sub sp, #0x10 mov r4, #0x89 add r5, r0, #0x0 lsl r4, r4, #0x2 add r0, r5, r4 mov r1, #0x0 bl FUN_02019620 mov r1, #0x0 add r2, r4, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207D7F4 ; =0x000F0E00 add r2, #0x30 str r0, [sp, #0x8] str r1, [sp, #0xc] ldr r2, [r5, r2] add r0, r5, r4 add r3, r1, #0x0 bl FUN_0201BDE0 add r0, r4, #0x0 add r0, #0x3e ldrb r1, [r5, r0] lsl r1, r1, #0x18 lsr r1, r1, #0x1f bne _0207D7E8 add r0, r0, #0x1 ldrb r0, [r5, r0] lsl r0, r0, #0x1e lsr r0, r0, #0x1e bne _0207D7CA ldr r2, _0207D7F8 ; =0x00000674 mov r1, #0x1 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl FUN_0200A8E0 mov r2, #0xc1 add r0, r5, #0x0 add r1, r5, r4 lsl r2, r2, #0xa mov r3, #0x1 bl FUN_0207D998 b _0207D7E8 _0207D7CA: cmp r0, #0x1 bne _0207D7E8 ldr r2, _0207D7F8 ; =0x00000674 mov r1, #0x2 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl FUN_0200A8E0 ldr r2, _0207D7FC ; =0x00050600 add r0, r5, #0x0 add r1, r5, r4 mov r3, #0x1 bl FUN_0207D998 _0207D7E8: add r0, r5, r4 bl FUN_02019220 add sp, #0x10 pop {r3-r5, pc} nop _0207D7F4: .word 0x000F0E00 _0207D7F8: .word 0x00000674 _0207D7FC: .word 0x00050600 thumb_func_start FUN_0207D800 FUN_0207D800: ; 0x0207D800 push {r4-r6, lr} sub sp, #0x10 mov r6, #0x85 add r5, r0, #0x0 lsl r6, r6, #0x2 add r0, r5, r6 mov r1, #0x0 bl FUN_02019620 add r0, r6, #0x0 add r0, #0x8c ldr r0, [r5, r0] lsl r0, r0, #0x3 lsr r0, r0, #0x1f bne _0207D88A mov r0, #0x5 str r0, [sp, #0x0] mov r0, #0x67 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x1 add r2, r5, r6 mov r3, #0x0 bl FUN_0200B9A8 ldr r0, _0207D894 ; =0x00000674 mov r1, #0x3 ldr r0, [r5, r0] bl FUN_0200A914 mov r1, #0x0 add r4, r0, #0x0 add r2, r6, #0x0 str r1, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r2, #0x4e ldrb r2, [r5, r2] ldr r0, _0207D898 ; =0x0000067C mov r3, #0x3 lsl r2, r2, #0x19 ldr r0, [r5, r0] lsr r2, r2, #0x19 bl FUN_0200AD38 ldr r1, _0207D898 ; =0x0000067C add r2, r4, #0x0 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 mov r1, #0x0 mov r2, #0x1a str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207D89C ; =0x00010200 lsl r2, r2, #0x6 str r0, [sp, #0x8] str r1, [sp, #0xc] ldr r2, [r5, r2] add r0, r5, r6 mov r3, #0x10 bl FUN_0201BDE0 _0207D88A: add r0, r5, r6 bl FUN_02019220 add sp, #0x10 pop {r4-r6, pc} .balign 4 _0207D894: .word 0x00000674 _0207D898: .word 0x0000067C _0207D89C: .word 0x00010200 thumb_func_start FUN_0207D8A0 FUN_0207D8A0: ; 0x0207D8A0 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x81 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x0 bl FUN_02019620 ldr r0, _0207D918 ; =0x0000025E ldrh r2, [r5, r0] cmp r2, #0x0 beq _0207D8E4 ldr r0, _0207D91C ; =0x0000067C mov r1, #0x0 ldr r0, [r5, r0] bl FUN_0200AE38 ldr r0, _0207D920 ; =0x00000674 mov r1, #0x5 ldr r0, [r5, r0] bl FUN_0200A914 add r4, r0, #0x0 ldr r1, _0207D91C ; =0x0000067C add r2, r4, #0x0 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 b _0207D8F2 _0207D8E4: ldr r2, _0207D920 ; =0x00000674 mov r1, #0x6 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl FUN_0200A8E0 _0207D8F2: mov r2, #0x81 lsl r2, r2, #0x2 add r1, r5, r2 add r0, r5, #0x0 lsl r2, r2, #0x7 mov r3, #0x0 bl FUN_0207D998 add r0, r5, #0x0 add r0, #0x64 bl FUN_02019220 mov r0, #0x81 lsl r0, r0, #0x2 add r0, r5, r0 bl FUN_02019220 pop {r3-r5, pc} nop _0207D918: .word 0x0000025E _0207D91C: .word 0x0000067C _0207D920: .word 0x00000674 thumb_func_start FUN_0207D924 FUN_0207D924: ; 0x0207D924 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x8d lsl r0, r0, #0x2 add r4, r1, #0x0 add r0, r5, r0 mov r1, #0x0 bl FUN_02019620 mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207D954 ; =0x000F0E00 add r0, r5, #0x0 mov r1, #0x23 add r2, r4, #0x0 bl FUN_0207DA1C mov r0, #0x8d lsl r0, r0, #0x2 add r0, r5, r0 bl FUN_02019220 pop {r3-r5, pc} nop _0207D954: .word 0x000F0E00 thumb_func_start FUN_0207D958 FUN_0207D958: ; 0x0207D958 push {r4, lr} mov r3, #0x93 lsl r3, r3, #0x2 add r1, r0, #0x0 add r2, r3, #0x0 add r2, #0x18 ldr r0, [r1, r3] ldr r4, [r1, r2] ldr r2, [r0, #0xc] cmp r4, r2 bne _0207D98E add r2, r3, #0x0 add r2, #0x48 ldrb r2, [r1, r2] ldrb r0, [r0, #0x10] cmp r2, r0 bne _0207D98E ldr r2, _0207D994 ; =0x00000684 add r3, #0xc ldr r0, [r1, r3] ldr r1, [r1, r2] bl FUN_02021CE0 cmp r0, #0x0 bne _0207D98E mov r0, #0x1 pop {r4, pc} _0207D98E: mov r0, #0x0 pop {r4, pc} nop _0207D994: .word 0x00000684 thumb_func_start FUN_0207D998 FUN_0207D998: ; 0x0207D998 push {r3-r7, lr} sub sp, #0x10 add r4, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 cmp r3, #0x0 beq _0207D9B0 cmp r3, #0x1 beq _0207D9B4 cmp r3, #0x2 beq _0207D9D8 b _0207D9FE _0207D9B0: mov r3, #0x0 b _0207D9FE _0207D9B4: mov r1, #0x1a lsl r1, r1, #0x6 mov r0, #0x0 ldr r1, [r4, r1] add r2, r0, #0x0 bl FUN_02002E14 lsl r0, r0, #0x18 lsr r5, r0, #0x18 add r0, r6, #0x0 bl FUN_0201AB0C lsl r0, r0, #0x1b lsr r0, r0, #0x18 sub r0, r0, r5 lsl r0, r0, #0x18 lsr r3, r0, #0x18 b _0207D9FE _0207D9D8: mov r1, #0x1a lsl r1, r1, #0x6 mov r0, #0x0 ldr r1, [r4, r1] add r2, r0, #0x0 bl FUN_02002E14 lsl r0, r0, #0x18 lsr r5, r0, #0x18 add r0, r6, #0x0 bl FUN_0201AB0C lsl r0, r0, #0x1b lsr r0, r0, #0x18 sub r1, r0, r5 lsr r0, r1, #0x1f add r0, r1, r0 lsl r0, r0, #0x17 lsr r3, r0, #0x18 _0207D9FE: mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] str r7, [sp, #0x8] mov r2, #0x1a str r1, [sp, #0xc] lsl r2, r2, #0x6 ldr r2, [r4, r2] add r0, r6, #0x0 bl FUN_0201BDE0 add sp, #0x10 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0207DA1C FUN_0207DA1C: ; 0x0207DA1C push {r4-r6, lr} add r6, r3, #0x0 ldr r3, _0207DA44 ; =0x00000674 add r5, r0, #0x0 ldr r0, [r5, r3] add r4, r1, #0x0 add r3, #0xc add r1, r2, #0x0 ldr r2, [r5, r3] bl FUN_0200A8E0 add r2, r5, #0x4 lsl r1, r4, #0x4 add r1, r2, r1 ldr r3, [sp, #0x10] add r0, r5, #0x0 add r2, r6, #0x0 bl FUN_0207D998 pop {r4-r6, pc} .balign 4 _0207DA44: .word 0x00000674 thumb_func_start FUN_0207DA48 FUN_0207DA48: ; 0x0207DA48 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 ldr r0, _0207DA8C ; =0x00000674 add r6, r2, #0x0 ldr r0, [r5, r0] add r7, r3, #0x0 bl FUN_0200A914 add r4, r0, #0x0 add r0, sp, #0x10 ldrb r0, [r0, #0x10] mov r1, #0x0 add r2, r6, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, _0207DA90 ; =0x0000067C add r3, r7, #0x0 ldr r0, [r5, r0] bl FUN_0200AD38 ldr r1, _0207DA90 ; =0x0000067C add r2, r4, #0x0 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 add sp, #0x8 pop {r3-r7, pc} .balign 4 _0207DA8C: .word 0x00000674 _0207DA90: .word 0x0000067C thumb_func_start FUN_0207DA94 FUN_0207DA94: ; 0x0207DA94 push {r3-r7, lr} sub sp, #0x20 add r4, r0, #0x0 str r3, [sp, #0x10] mov r0, #0x91 lsl r0, r0, #0x2 lsl r7, r1, #0x4 ldr r3, _0207DB70 ; =0x00000674 ldr r5, [r4, r0] ldr r0, [r4, r3] add r3, #0xc add r1, r2, #0x0 ldr r2, [r4, r3] bl FUN_0200A8E0 mov r1, #0x1a lsl r1, r1, #0x6 mov r0, #0x0 ldr r1, [r4, r1] add r2, r0, #0x0 bl FUN_02002E14 add r1, sp, #0x48 ldrb r2, [r1, #0x0] lsr r1, r0, #0x1 sub r1, r2, r1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r0, r1, r0 str r1, [sp, #0x14] lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x18] add r0, sp, #0x4c ldrb r0, [r0, #0x0] mov r2, #0x1a mov r1, #0x0 str r0, [sp, #0x1c] str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207DB74 ; =0x00010200 lsl r2, r2, #0x6 str r0, [sp, #0x8] str r1, [sp, #0xc] ldr r2, [r4, r2] ldr r3, [sp, #0x14] add r0, r5, r7 bl FUN_0201BDE0 mov r0, #0x0 str r0, [sp, #0x0] add r3, sp, #0x28 ldrh r2, [r3, #0x14] ldrb r3, [r3, #0x1c] ldr r1, [sp, #0x10] add r0, r4, #0x0 bl FUN_0207DA48 mov r1, #0x1a lsl r1, r1, #0x6 mov r0, #0x0 ldr r1, [r4, r1] add r2, r0, #0x0 bl FUN_02002E14 mov r12, r0 ldr r0, [sp, #0x1c] mov r2, #0x1a str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207DB74 ; =0x00010200 mov r1, #0x0 str r0, [sp, #0x8] str r1, [sp, #0xc] lsl r2, r2, #0x6 ldr r3, [sp, #0x14] mov r6, r12 ldr r2, [r4, r2] add r0, r5, r7 sub r3, r3, r6 bl FUN_0201BDE0 mov r0, #0x0 str r0, [sp, #0x0] add r3, sp, #0x28 ldrh r2, [r3, #0x18] ldrb r3, [r3, #0x1c] ldr r1, [sp, #0x38] add r0, r4, #0x0 bl FUN_0207DA48 ldr r0, [sp, #0x1c] mov r2, #0x1a str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207DB74 ; =0x00010200 mov r1, #0x0 str r0, [sp, #0x8] str r1, [sp, #0xc] lsl r2, r2, #0x6 ldr r2, [r4, r2] ldr r3, [sp, #0x18] add r0, r5, r7 bl FUN_0201BDE0 add sp, #0x20 pop {r3-r7, pc} .balign 4 _0207DB70: .word 0x00000674 _0207DB74: .word 0x00010200 thumb_func_start FUN_0207DB78 FUN_0207DB78: ; 0x0207DB78 push {r4, lr} sub sp, #0x10 ldr r3, _0207DD7C ; =0x000F0E00 mov r1, #0x0 mov r2, #0x7 add r4, r0, #0x0 str r1, [sp, #0x0] bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x1 mov r2, #0x17 bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x6d bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x3 mov r2, #0x7e bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x4 mov r2, #0x80 bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x5 mov r2, #0x9d bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x6 mov r2, #0x4 bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x7 mov r2, #0x8 bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x8 mov r2, #0xa bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x9 mov r2, #0xc bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0xa mov r2, #0xd bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0xb mov r2, #0xf bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0xc mov r2, #0x11 bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0xd mov r2, #0x13 bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0xf mov r2, #0x6e bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x10 mov r2, #0x6f bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x11 mov r2, #0x70 bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x12 mov r2, #0x71 bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x13 mov r2, #0x72 bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x14 mov r2, #0x73 bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x15 mov r2, #0x74 bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x16 mov r2, #0x7f bl FUN_0207DA1C ldr r2, _0207DD80 ; =0x00000674 mov r1, #0x92 ldr r0, [r4, r2] add r2, #0xc ldr r2, [r4, r2] bl FUN_0200A8E0 mov r0, #0x2 str r0, [sp, #0x0] mov r2, #0xff str r2, [sp, #0x4] ldr r0, _0207DD7C ; =0x000F0E00 mov r1, #0x0 str r0, [sp, #0x8] add r2, #0x85 add r0, r4, r2 mov r2, #0x1a str r1, [sp, #0xc] lsl r2, r2, #0x6 ldr r2, [r4, r2] add r3, r1, #0x0 bl FUN_0201BDE0 mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x19 mov r2, #0x95 bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x1a mov r2, #0x93 bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x1b mov r2, #0x94 bl FUN_0207DA1C mov r0, #0x2 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x1c mov r2, #0xa2 bl FUN_0207DA1C mov r0, #0x2 str r0, [sp, #0x0] ldr r3, _0207DD84 ; =0x00010200 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0xa0 bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD84 ; =0x00010200 add r0, r4, #0x0 mov r1, #0x1e mov r2, #0xb6 bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x1f mov r2, #0xb3 bl FUN_0207DA1C add sp, #0x10 pop {r4, pc} .balign 4 _0207DD7C: .word 0x000F0E00 _0207DD80: .word 0x00000674 _0207DD84: .word 0x00010200 thumb_func_start FUN_0207DD88 FUN_0207DD88: ; 0x0207DD88 push {r4, lr} sub sp, #0x10 mov r2, #0x0 add r4, r0, #0x0 str r2, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] mov r0, #0x2 str r0, [sp, #0x8] mov r0, #0x10 str r0, [sp, #0xc] ldr r0, [r4, #0x0] mov r1, #0x1 add r3, r2, #0x0 bl FUN_02018540 mov r0, #0x2 str r0, [sp, #0x0] mov r0, #0x12 str r0, [sp, #0x4] mov r0, #0x16 str r0, [sp, #0x8] mov r0, #0x10 str r0, [sp, #0xc] ldr r0, [r4, #0x0] mov r1, #0x1 mov r2, #0x0 mov r3, #0xe bl FUN_02018540 ldr r0, _0207DE38 ; =0x0000068C ldrsb r0, [r4, r0] cmp r0, #0x7 bhi _0207DE34 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0207DDD8: ; jump table (using 16-bit offset) .short _0207DDE8 - _0207DDD8 - 2; case 0 .short _0207DDF2 - _0207DDD8 - 2; case 1 .short _0207DDFC - _0207DDD8 - 2; case 2 .short _0207DE10 - _0207DDD8 - 2; case 3 .short _0207DE06 - _0207DDD8 - 2; case 4 .short _0207DE1A - _0207DDD8 - 2; case 5 .short _0207DE24 - _0207DDD8 - 2; case 6 .short _0207DE2E - _0207DDD8 - 2; case 7 _0207DDE8: add r0, r4, #0x0 bl FUN_0207DE3C add sp, #0x10 pop {r4, pc} _0207DDF2: add r0, r4, #0x0 bl FUN_0207E190 add sp, #0x10 pop {r4, pc} _0207DDFC: add r0, r4, #0x0 bl FUN_0207E200 add sp, #0x10 pop {r4, pc} _0207DE06: add r0, r4, #0x0 bl FUN_0207E4A0 add sp, #0x10 pop {r4, pc} _0207DE10: add r0, r4, #0x0 bl FUN_0207E594 add sp, #0x10 pop {r4, pc} _0207DE1A: add r0, r4, #0x0 bl FUN_0207E650 add sp, #0x10 pop {r4, pc} _0207DE24: add r0, r4, #0x0 bl FUN_0207E70C add sp, #0x10 pop {r4, pc} _0207DE2E: add r0, r4, #0x0 bl FUN_0207E788 _0207DE34: add sp, #0x10 pop {r4, pc} .balign 4 _0207DE38: .word 0x0000068C thumb_func_start FUN_0207DE3C FUN_0207DE3C: ; 0x0207DE3C push {r3-r5, lr} sub sp, #0x10 add r4, r0, #0x0 add r0, r4, #0x4 bl FUN_02019220 add r0, r4, #0x0 add r0, #0x74 bl FUN_02019220 add r0, r4, #0x0 add r0, #0x84 bl FUN_02019220 add r0, r4, #0x0 add r0, #0x94 bl FUN_02019220 add r0, r4, #0x0 add r0, #0xa4 bl FUN_02019220 add r0, r4, #0x0 add r0, #0xb4 bl FUN_02019220 add r0, r4, #0x0 add r0, #0xc4 bl FUN_02019220 add r0, r4, #0x0 add r0, #0xd4 bl FUN_02019220 add r0, r4, #0x0 add r0, #0xe4 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x10 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x20 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x30 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x40 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x50 bl FUN_02019620 mov r1, #0x93 lsl r1, r1, #0x2 ldr r0, [r4, r1] add r1, #0x10 ldrh r1, [r4, r1] ldr r0, [r0, #0x1c] bl FUN_0206BB48 add r2, r0, #0x0 beq _0207DEFE mov r0, #0x2 str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x9 mov r3, #0x3 bl FUN_0207DA48 b _0207DF0C _0207DEFE: ldr r2, _0207E0B4 ; =0x00000674 mov r1, #0x16 ldr r0, [r4, r2] add r2, #0xc ldr r2, [r4, r2] bl FUN_0200A8E0 _0207DF0C: mov r1, #0x2a lsl r1, r1, #0x4 ldr r0, [r4, r1] lsl r0, r0, #0x2 lsr r0, r0, #0x1f bne _0207DF28 sub r1, #0x5c ldr r1, [r4, r1] ldr r2, _0207E0B8 ; =0x00010200 add r0, r4, #0x0 mov r3, #0x2 bl FUN_0207D998 b _0207DF36 _0207DF28: sub r1, #0x5c ldr r1, [r4, r1] ldr r2, _0207E0BC ; =0x00050600 add r0, r4, #0x0 mov r3, #0x2 bl FUN_0207D998 _0207DF36: mov r1, #0x25 lsl r1, r1, #0x4 mov r0, #0x0 ldr r1, [r4, r1] add r2, r0, #0x0 bl FUN_02002E14 mov r2, #0x91 lsl r2, r2, #0x2 ldr r3, [r4, r2] mov r1, #0x0 add r5, r0, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207E0B8 ; =0x00010200 add r2, #0xc str r0, [sp, #0x8] str r1, [sp, #0xc] add r0, r3, #0x0 ldrb r3, [r3, #0x17] ldr r2, [r4, r2] add r0, #0x10 lsl r3, r3, #0x3 sub r3, r3, r5 lsr r3, r3, #0x1 bl FUN_0201BDE0 mov r1, #0x96 lsl r1, r1, #0x2 mov r0, #0x0 ldr r1, [r4, r1] add r2, r0, #0x0 bl FUN_02002E14 mov r5, #0x91 lsl r5, r5, #0x2 ldr r2, [r4, r5] add r1, r2, #0x0 add r1, #0x27 ldrb r1, [r1, #0x0] lsl r1, r1, #0x3 sub r0, r1, r0 lsr r3, r0, #0x1 add r0, r5, #0x0 add r0, #0x50 ldrb r0, [r4, r0] cmp r0, #0x0 bne _0207DFB6 mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] mov r0, #0xc1 lsl r0, r0, #0xa str r0, [sp, #0x8] add r2, #0x20 str r1, [sp, #0xc] add r5, #0x14 add r0, r2, #0x0 ldr r2, [r4, r5] bl FUN_0201BDE0 b _0207DFD0 _0207DFB6: mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207E0BC ; =0x00050600 add r2, #0x20 str r0, [sp, #0x8] str r1, [sp, #0xc] add r5, #0x14 add r0, r2, #0x0 ldr r2, [r4, r5] bl FUN_0201BDE0 _0207DFD0: mov r0, #0x2 mov r2, #0x99 str r0, [sp, #0x0] lsl r2, r2, #0x2 ldr r2, [r4, r2] add r0, r4, #0x0 lsl r2, r2, #0x10 mov r1, #0x10 lsr r2, r2, #0x10 mov r3, #0x5 bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E0B8 ; =0x00010200 add r0, r4, #0x0 add r1, #0x30 mov r3, #0x2 bl FUN_0207D998 mov r0, #0x1 mov r2, #0x9a str r0, [sp, #0x0] lsl r2, r2, #0x2 ldr r2, [r4, r2] add r0, r4, #0x0 mov r1, #0x12 mov r3, #0x7 bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E0B8 ; =0x00010200 add r0, r4, #0x0 add r1, #0x40 mov r3, #0x2 bl FUN_0207D998 ldr r3, _0207E0C0 ; =0x00000262 ldrb r0, [r4, r3] lsl r0, r0, #0x19 lsr r0, r0, #0x19 cmp r0, #0x64 bhs _0207E048 mov r0, #0x1 add r2, r3, #0x0 str r0, [sp, #0x0] add r2, #0xe ldr r5, [r4, r2] add r2, r3, #0x6 ldr r2, [r4, r2] add r0, r4, #0x0 mov r1, #0x15 sub r2, r5, r2 mov r3, #0x7 bl FUN_0207DA48 b _0207E058 _0207E048: mov r0, #0x1 str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x15 mov r2, #0x0 mov r3, #0x7 bl FUN_0207DA48 _0207E058: mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E0B8 ; =0x00010200 add r0, r4, #0x0 add r1, #0x50 mov r3, #0x2 bl FUN_0207D998 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x10 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x20 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x30 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x40 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x50 bl FUN_02019220 add sp, #0x10 pop {r3-r5, pc} .balign 4 _0207E0B4: .word 0x00000674 _0207E0B8: .word 0x00010200 _0207E0BC: .word 0x00050600 _0207E0C0: .word 0x00000262 thumb_func_start FUN_0207E0C4 FUN_0207E0C4: ; 0x0207E0C4 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 mov r2, #0x13 bl FUN_0207FD00 add r4, r0, #0x0 ldr r2, [r4, #0x18] cmp r2, #0x0 beq _0207E0F8 ldr r0, [r4, #0x14] mov r1, #0x0 sub r0, r0, #0x1 lsl r0, r0, #0x4 str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207E18C ; =0x00010200 add r3, r1, #0x0 str r0, [sp, #0x8] add r0, r5, #0x0 str r1, [sp, #0xc] bl FUN_0201BDE0 _0207E0F8: ldr r2, [r4, #0x20] cmp r2, #0x0 beq _0207E11A ldr r0, [r4, #0x1c] mov r1, #0x0 sub r0, r0, #0x1 lsl r0, r0, #0x4 str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207E18C ; =0x00010200 add r3, r1, #0x0 str r0, [sp, #0x8] add r0, r5, #0x0 str r1, [sp, #0xc] bl FUN_0201BDE0 _0207E11A: ldr r2, [r4, #0x28] cmp r2, #0x0 beq _0207E13C ldr r0, [r4, #0x24] mov r1, #0x0 sub r0, r0, #0x1 lsl r0, r0, #0x4 str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207E18C ; =0x00010200 add r3, r1, #0x0 str r0, [sp, #0x8] add r0, r5, #0x0 str r1, [sp, #0xc] bl FUN_0201BDE0 _0207E13C: ldr r2, [r4, #0x30] cmp r2, #0x0 beq _0207E15E ldr r0, [r4, #0x2c] mov r1, #0x0 sub r0, r0, #0x1 lsl r0, r0, #0x4 str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207E18C ; =0x00010200 add r3, r1, #0x0 str r0, [sp, #0x8] add r0, r5, #0x0 str r1, [sp, #0xc] bl FUN_0201BDE0 _0207E15E: ldr r2, [r4, #0x38] cmp r2, #0x0 beq _0207E180 ldr r0, [r4, #0x34] mov r1, #0x0 sub r0, r0, #0x1 lsl r0, r0, #0x4 str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207E18C ; =0x00010200 add r3, r1, #0x0 str r0, [sp, #0x8] add r0, r5, #0x0 str r1, [sp, #0xc] bl FUN_0201BDE0 _0207E180: add r0, r4, #0x0 bl FUN_02080094 add sp, #0x10 pop {r3-r5, pc} nop _0207E18C: .word 0x00010200 thumb_func_start FUN_0207E190 FUN_0207E190: ; 0x0207E190 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x14 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x0 bl FUN_02019620 add r0, r5, #0x0 bl FUN_0207B628 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0207D958 add r7, r0, #0x0 mov r0, #0x93 lsl r0, r0, #0x2 ldr r1, [r5, r0] ldrb r1, [r1, #0x11] cmp r1, #0x2 bne _0207E1E8 mov r0, #0x13 bl FUN_020669C0 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_02069A64 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r1, r4, #0x0 add r2, r7, #0x0 bl FUN_0207E0C4 add r0, r4, #0x0 bl FUN_02016A18 b _0207E1F4 _0207E1E8: sub r0, #0x8 ldr r0, [r5, r0] add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_0207E0C4 _0207E1F4: mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] bl FUN_02019220 pop {r3-r7, pc} thumb_func_start FUN_0207E200 FUN_0207E200: ; 0x0207E200 push {r3-r5, lr} sub sp, #0x18 add r4, r0, #0x0 add r0, #0x24 bl FUN_02019220 add r0, r4, #0x0 add r0, #0xf4 bl FUN_02019220 mov r0, #0x41 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 mov r0, #0x45 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 mov r0, #0x49 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 mov r0, #0x4d lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 mov r0, #0x51 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 mov r0, #0x55 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x10 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x20 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x30 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x40 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x50 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x60 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x70 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_0201AB0C mov r1, #0x76 str r1, [sp, #0x0] mov r1, #0x9d lsl r1, r1, #0x2 ldrh r2, [r4, r1] lsl r0, r0, #0x1a add r1, r1, #0x2 str r2, [sp, #0x4] ldrh r1, [r4, r1] lsr r0, r0, #0x18 mov r2, #0x75 str r1, [sp, #0x8] mov r1, #0x3 str r1, [sp, #0xc] str r0, [sp, #0x10] mov r1, #0x0 add r0, r4, #0x0 mov r3, #0x77 str r1, [sp, #0x14] bl FUN_0207DA94 mov r0, #0x0 mov r2, #0x9e str r0, [sp, #0x0] lsl r2, r2, #0x2 ldrh r2, [r4, r2] add r0, r4, #0x0 mov r1, #0x78 mov r3, #0x3 bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E484 ; =0x00010200 add r0, r4, #0x0 add r1, #0x10 mov r3, #0x1 bl FUN_0207D998 mov r0, #0x0 str r0, [sp, #0x0] ldr r2, _0207E488 ; =0x0000027A add r0, r4, #0x0 ldrh r2, [r4, r2] mov r1, #0x79 mov r3, #0x3 bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E484 ; =0x00010200 add r0, r4, #0x0 add r1, #0x20 mov r3, #0x1 bl FUN_0207D998 mov r0, #0x0 mov r2, #0x9f str r0, [sp, #0x0] lsl r2, r2, #0x2 ldrh r2, [r4, r2] add r0, r4, #0x0 mov r1, #0x7a mov r3, #0x3 bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E484 ; =0x00010200 add r0, r4, #0x0 add r1, #0x30 mov r3, #0x1 bl FUN_0207D998 mov r0, #0x0 str r0, [sp, #0x0] ldr r2, _0207E48C ; =0x0000027E add r0, r4, #0x0 ldrh r2, [r4, r2] mov r1, #0x7b mov r3, #0x3 bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E484 ; =0x00010200 add r0, r4, #0x0 add r1, #0x40 mov r3, #0x1 bl FUN_0207D998 mov r0, #0x0 mov r2, #0xa str r0, [sp, #0x0] lsl r2, r2, #0x6 ldrh r2, [r4, r2] add r0, r4, #0x0 mov r1, #0x7c mov r3, #0x3 bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E484 ; =0x00010200 add r0, r4, #0x0 add r1, #0x50 mov r3, #0x1 bl FUN_0207D998 ldr r2, _0207E490 ; =0x00000282 ldr r0, _0207E494 ; =0x0000067C ldrb r2, [r4, r2] ldr r0, [r4, r0] mov r1, #0x0 bl FUN_0200ADCC ldr r0, _0207E498 ; =0x00000674 mov r1, #0x7d ldr r0, [r4, r0] bl FUN_0200A914 add r5, r0, #0x0 ldr r1, _0207E494 ; =0x0000067C add r2, r5, #0x0 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E484 ; =0x00010200 add r0, r4, #0x0 add r1, #0x60 mov r3, #0x0 bl FUN_0207D998 ldr r2, _0207E49C ; =0x0000022A mov r0, #0x1 mov r1, #0x1a mov r3, #0x13 bl FUN_0200A86C ldr r1, _0207E490 ; =0x00000282 mov r2, #0x1a lsl r2, r2, #0x6 ldrb r1, [r4, r1] ldr r2, [r4, r2] add r5, r0, #0x0 bl FUN_0200A8E0 add r0, r5, #0x0 bl FUN_0200A8B8 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E484 ; =0x00010200 add r0, r4, #0x0 add r1, #0x70 mov r3, #0x0 bl FUN_0207D998 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x10 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x20 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x30 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x40 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x50 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x60 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x70 bl FUN_02019220 add sp, #0x18 pop {r3-r5, pc} nop _0207E484: .word 0x00010200 _0207E488: .word 0x0000027A _0207E48C: .word 0x0000027E _0207E490: .word 0x00000282 _0207E494: .word 0x0000067C _0207E498: .word 0x00000674 _0207E49C: .word 0x0000022A thumb_func_start FUN_0207E4A0 FUN_0207E4A0: ; 0x0207E4A0 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 add r0, #0x34 bl FUN_02019220 mov r0, #0x59 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldrb r0, [r0, #0x12] cmp r0, #0x3 beq _0207E4C6 cmp r0, #0x4 bne _0207E580 _0207E4C6: mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x10 bl FUN_02019620 ldr r2, _0207E584 ; =0x00000674 mov r1, #0xa5 ldr r0, [r4, r2] add r2, #0xc ldr r2, [r4, r2] bl FUN_0200A8E0 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E588 ; =0x000F0E00 add r0, r4, #0x0 add r1, #0x10 mov r3, #0x0 bl FUN_0207D998 ldr r1, _0207E58C ; =0x0000029B ldr r2, _0207E584 ; =0x00000674 ldrb r1, [r4, r1] ldr r0, [r4, r2] add r2, #0xc ldr r2, [r4, r2] add r1, #0xa6 bl FUN_0200A8E0 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207E590 ; =0x00010200 mov r1, #0x0 str r0, [sp, #0x8] mov r0, #0x91 mov r2, #0x1a str r1, [sp, #0xc] lsl r0, r0, #0x2 ldr r0, [r4, r0] lsl r2, r2, #0x6 ldr r2, [r4, r2] add r0, #0x10 add r3, r1, #0x0 bl FUN_0201BDE0 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x10 bl FUN_02019220 mov r0, #0x93 lsl r0, r0, #0x2 ldr r1, [r4, r0] ldrb r1, [r1, #0x12] cmp r1, #0x3 bne _0207E580 sub r0, #0x8 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_02019620 ldr r2, _0207E584 ; =0x00000674 mov r1, #0xa3 ldr r0, [r4, r2] add r2, #0xc ldr r2, [r4, r2] bl FUN_0200A8E0 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E588 ; =0x000F0E00 add r0, r4, #0x0 mov r3, #0x0 bl FUN_0207D998 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02019220 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] add r0, r4, #0x0 bl FUN_0207CFAC _0207E580: add sp, #0x10 pop {r4, pc} .balign 4 _0207E584: .word 0x00000674 _0207E588: .word 0x000F0E00 _0207E58C: .word 0x0000029B _0207E590: .word 0x00010200 thumb_func_start FUN_0207E594 FUN_0207E594: ; 0x0207E594 push {r4, lr} add r4, r0, #0x0 add r0, #0x44 bl FUN_02019220 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldrb r0, [r0, #0x12] cmp r0, #0x2 bne _0207E5B4 add r0, r4, #0x0 mov r1, #0x9b bl FUN_0207D924 b _0207E5BC _0207E5B4: add r0, r4, #0x0 mov r1, #0x81 bl FUN_0207D924 _0207E5BC: mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 bl FUN_0207CFAC mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x10 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x20 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x30 bl FUN_02019620 add r0, r4, #0x0 mov r1, #0x0 bl FUN_0207EA44 add r0, r4, #0x0 mov r1, #0x1 bl FUN_0207EA44 add r0, r4, #0x0 mov r1, #0x2 bl FUN_0207EA44 add r0, r4, #0x0 mov r1, #0x3 bl FUN_0207EA44 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x10 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x20 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x30 bl FUN_02019220 pop {r4, pc} .balign 4 thumb_func_start FUN_0207E650 FUN_0207E650: ; 0x0207E650 push {r4, lr} add r4, r0, #0x0 add r0, #0x54 bl FUN_02019220 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldrb r0, [r0, #0x12] cmp r0, #0x2 bne _0207E670 add r0, r4, #0x0 mov r1, #0x9f bl FUN_0207D924 b _0207E678 _0207E670: add r0, r4, #0x0 mov r1, #0x9e bl FUN_0207D924 _0207E678: mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 bl FUN_0207CFAC mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x10 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x20 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x30 bl FUN_02019620 add r0, r4, #0x0 mov r1, #0x0 bl FUN_0207EA44 add r0, r4, #0x0 mov r1, #0x1 bl FUN_0207EA44 add r0, r4, #0x0 mov r1, #0x2 bl FUN_0207EA44 add r0, r4, #0x0 mov r1, #0x3 bl FUN_0207EA44 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x10 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x20 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x30 bl FUN_02019220 pop {r4, pc} .balign 4 thumb_func_start FUN_0207E70C FUN_0207E70C: ; 0x0207E70C push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 mov r0, #0x7d lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 mov r0, #0x79 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_02019620 mov r0, #0x0 str r0, [sp, #0x0] ldr r2, _0207E780 ; =0x00000699 add r0, r4, #0x0 ldrb r2, [r4, r2] mov r1, #0xb7 mov r3, #0x3 bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E784 ; =0x00010200 add r0, r4, #0x0 mov r3, #0x0 bl FUN_0207D998 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02019220 ldr r0, _0207E780 ; =0x00000699 ldrb r0, [r4, r0] cmp r0, #0x0 beq _0207E77A add r0, r4, #0x0 mov r1, #0xb4 bl FUN_0207D924 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 bl FUN_0207CFAC _0207E77A: add sp, #0x4 pop {r3-r4, pc} nop _0207E780: .word 0x00000699 _0207E784: .word 0x00010200 thumb_func_start FUN_0207E788 FUN_0207E788: ; 0x0207E788 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 mov r0, #0x71 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_02019220 add r0, r4, #0x0 mov r1, #0xa1 bl FUN_0207D924 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 bl FUN_0207CFAC mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldrb r0, [r0, #0x12] cmp r0, #0x3 beq _0207E7BC cmp r0, #0x4 bne _0207E82C _0207E7BC: mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x10 bl FUN_02019620 ldr r2, _0207E830 ; =0x00000674 mov r1, #0xa5 ldr r0, [r4, r2] add r2, #0xc ldr r2, [r4, r2] bl FUN_0200A8E0 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E834 ; =0x000F0E00 add r0, r4, #0x0 add r1, #0x10 mov r3, #0x0 bl FUN_0207D998 ldr r1, _0207E838 ; =0x0000029B ldr r2, _0207E830 ; =0x00000674 ldrb r1, [r4, r1] ldr r0, [r4, r2] add r2, #0xc ldr r2, [r4, r2] add r1, #0xa6 bl FUN_0200A8E0 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207E83C ; =0x00010200 mov r1, #0x0 str r0, [sp, #0x8] mov r0, #0x91 mov r2, #0x1a str r1, [sp, #0xc] lsl r0, r0, #0x2 ldr r0, [r4, r0] lsl r2, r2, #0x6 ldr r2, [r4, r2] add r0, #0x10 add r3, r1, #0x0 bl FUN_0201BDE0 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x10 bl FUN_02019220 _0207E82C: add sp, #0x10 pop {r4, pc} .balign 4 _0207E830: .word 0x00000674 _0207E834: .word 0x000F0E00 _0207E838: .word 0x0000029B _0207E83C: .word 0x00010200 thumb_func_start FUN_0207E840 FUN_0207E840: ; 0x0207E840 push {r4-r6, lr} sub sp, #0x10 add r5, r0, #0x0 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x0 add r0, #0x10 bl FUN_02019620 ldr r0, _0207E994 ; =0x00000674 mov r1, #0xba ldr r0, [r5, r0] bl FUN_0200A914 mov r1, #0x0 add r4, r0, #0x0 ldr r2, _0207E998 ; =0x0000067C str r1, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, [r5, r2] add r2, #0x1d ldrb r2, [r5, r2] mov r3, #0x3 bl FUN_0200AD38 ldr r1, _0207E998 ; =0x0000067C add r2, r4, #0x0 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 mov r1, #0x1a lsl r1, r1, #0x6 mov r0, #0x0 ldr r1, [r5, r1] add r2, r0, #0x0 bl FUN_02002E14 lsl r0, r0, #0x18 lsr r1, r0, #0x18 mov r0, #0x38 sub r0, r0, r1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 mov r1, #0x0 mov r2, #0x1a str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207E99C ; =0x00010200 lsl r2, r2, #0x6 str r0, [sp, #0x8] mov r0, #0x91 str r1, [sp, #0xc] lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r2, [r5, r2] add r0, #0x10 add r3, r4, #0x0 bl FUN_0201BDE0 ldr r0, _0207E994 ; =0x00000674 mov r1, #0xb9 ldr r0, [r5, r0] bl FUN_0200A914 add r6, r0, #0x0 mov r0, #0x0 add r1, r6, #0x0 add r2, r0, #0x0 bl FUN_02002E14 lsl r0, r0, #0x18 lsr r0, r0, #0x18 sub r0, r4, r0 lsl r0, r0, #0x18 lsr r4, r0, #0x18 mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207E99C ; =0x00010200 add r2, r6, #0x0 str r0, [sp, #0x8] mov r0, #0x91 str r1, [sp, #0xc] lsl r0, r0, #0x2 ldr r0, [r5, r0] add r3, r4, #0x0 add r0, #0x10 bl FUN_0201BDE0 add r0, r6, #0x0 bl FUN_02021A20 ldr r0, _0207E994 ; =0x00000674 mov r1, #0xb8 ldr r0, [r5, r0] bl FUN_0200A914 mov r1, #0x0 ldr r2, _0207E998 ; =0x0000067C add r6, r0, #0x0 add r3, r2, #0x0 str r1, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, [r5, r2] add r2, #0x1c add r3, #0x1b ldrb r2, [r5, r2] ldrb r3, [r5, r3] lsl r2, r2, #0x2 add r2, r3, r2 add r2, r2, #0x1 mov r3, #0x3 bl FUN_0200AD38 ldr r1, _0207E998 ; =0x0000067C add r2, r6, #0x0 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] bl FUN_0200B7B8 add r0, r6, #0x0 bl FUN_02021A20 mov r1, #0x1a lsl r1, r1, #0x6 mov r0, #0x0 ldr r1, [r5, r1] add r2, r0, #0x0 bl FUN_02002E14 lsl r0, r0, #0x18 lsr r0, r0, #0x18 sub r0, r4, r0 lsl r0, r0, #0x18 mov r1, #0x0 lsr r3, r0, #0x18 mov r2, #0x1a str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207E99C ; =0x00010200 lsl r2, r2, #0x6 str r0, [sp, #0x8] mov r0, #0x91 str r1, [sp, #0xc] lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r2, [r5, r2] add r0, #0x10 bl FUN_0201BDE0 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x10 bl FUN_02019220 add sp, #0x10 pop {r4-r6, pc} .balign 4 _0207E994: .word 0x00000674 _0207E998: .word 0x0000067C _0207E99C: .word 0x00010200 thumb_func_start FUN_0207E9A0 FUN_0207E9A0: ; 0x0207E9A0 push {r4, lr} add r4, r0, #0x0 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x20 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x30 bl FUN_02019620 ldr r0, _0207EA34 ; =0x0000069A mov r1, #0x3 ldrb r0, [r4, r0] bl FUN_0207FC5C ldr r2, _0207EA38 ; =0x00000678 add r1, r0, #0x0 ldr r0, [r4, r2] add r2, #0x8 ldr r2, [r4, r2] bl FUN_0200A8E0 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207EA3C ; =0x000F0E00 add r0, r4, #0x0 add r1, #0x20 mov r3, #0x0 bl FUN_0207D998 mov r0, #0x93 lsl r0, r0, #0x2 ldr r1, _0207EA34 ; =0x0000069A ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x20] bl FUN_0207FCC0 ldr r2, _0207EA38 ; =0x00000678 add r1, r0, #0x0 ldr r0, [r4, r2] add r2, #0x8 ldr r2, [r4, r2] bl FUN_0200A8E0 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207EA40 ; =0x00010200 add r0, r4, #0x0 add r1, #0x30 mov r3, #0x0 bl FUN_0207D998 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x20 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x30 bl FUN_02019220 pop {r4, pc} .balign 4 _0207EA34: .word 0x0000069A _0207EA38: .word 0x00000678 _0207EA3C: .word 0x000F0E00 _0207EA40: .word 0x00010200 thumb_func_start FUN_0207EA44 FUN_0207EA44: ; 0x0207EA44 push {r4-r7, lr} sub sp, #0x24 add r5, r0, #0x0 mov r0, #0x91 add r7, r1, #0x0 lsl r0, r0, #0x2 lsl r6, r7, #0x4 ldr r4, [r5, r0] cmp r7, #0x4 beq _0207EA76 lsl r1, r7, #0x1 add r2, r5, r1 add r1, r0, #0x0 add r1, #0x40 ldrh r1, [r2, r1] add r2, r0, #0x0 add r2, #0x48 str r1, [sp, #0x20] add r1, r5, r7 ldrb r2, [r1, r2] add r0, #0x4c str r2, [sp, #0x1c] ldrb r0, [r1, r0] str r0, [sp, #0x18] b _0207EA88 _0207EA76: add r0, #0x8 ldr r0, [r5, r0] mov r1, #0x0 ldrh r0, [r0, #0x18] str r0, [sp, #0x20] bl FUN_0206AB30 str r0, [sp, #0x1c] str r0, [sp, #0x18] _0207EA88: ldr r2, _0207EB54 ; =0x00000688 ldr r1, [sp, #0x20] ldr r0, [r5, r2] sub r2, #0x8 ldr r2, [r5, r2] bl FUN_0200A8E0 mov r0, #0x2 str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207EB58 ; =0x000F0E00 mov r2, #0x1a str r0, [sp, #0x8] mov r1, #0x0 str r1, [sp, #0xc] lsl r2, r2, #0x6 ldr r2, [r5, r2] add r0, r4, r6 mov r3, #0x1 bl FUN_0201BDE0 ldr r0, [sp, #0x20] ldr r2, _0207EB5C ; =0x00000674 cmp r0, #0x0 beq _0207EB10 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] mov r1, #0x87 bl FUN_0200A8E0 mov r3, #0x10 mov r2, #0x1a str r3, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207EB60 ; =0x00010200 mov r1, #0x0 str r0, [sp, #0x8] str r1, [sp, #0xc] lsl r2, r2, #0x6 ldr r2, [r5, r2] add r0, r4, r6 bl FUN_0201BDE0 add r0, r7, #0x0 add r0, #0x8d str r0, [sp, #0x0] ldr r0, [sp, #0x1c] add r1, r7, #0x0 str r0, [sp, #0x4] ldr r0, [sp, #0x18] add r7, #0x88 str r0, [sp, #0x8] mov r0, #0x2 str r0, [sp, #0xc] mov r0, #0x3c str r0, [sp, #0x10] mov r0, #0x10 str r0, [sp, #0x14] add r0, r5, #0x0 mov r2, #0x75 add r3, r7, #0x0 bl FUN_0207DA94 add sp, #0x24 pop {r4-r7, pc} _0207EB10: ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] mov r1, #0x99 bl FUN_0200A8E0 mov r1, #0x1a lsl r1, r1, #0x6 mov r0, #0x0 ldr r1, [r5, r1] add r2, r0, #0x0 bl FUN_02002E14 add r3, r0, #0x0 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207EB60 ; =0x00010200 mov r2, #0x1a str r0, [sp, #0x8] mov r1, #0x0 add r0, r4, r6 lsr r4, r3, #0x1 mov r3, #0x3c str r1, [sp, #0xc] lsl r2, r2, #0x6 ldr r2, [r5, r2] sub r3, r3, r4 bl FUN_0201BDE0 add sp, #0x24 pop {r4-r7, pc} nop _0207EB54: .word 0x00000688 _0207EB58: .word 0x000F0E00 _0207EB5C: .word 0x00000674 _0207EB60: .word 0x00010200 thumb_func_start FUN_0207EB64 FUN_0207EB64: ; 0x0207EB64 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 mov r0, #0x65 lsl r0, r0, #0x2 add r0, r5, r0 add r4, r1, #0x0 bl FUN_02019220 mov r0, #0x69 lsl r0, r0, #0x2 add r0, r5, r0 bl FUN_02019220 mov r0, #0x6d lsl r0, r0, #0x2 add r0, r5, r0 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x0 add r0, #0x50 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x0 add r0, #0x60 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x0 add r0, #0x70 bl FUN_02019620 add r0, r4, #0x0 mov r1, #0x2 bl FUN_0206AB18 add r2, r0, #0x0 cmp r2, #0x1 bhi _0207EBD2 ldr r2, _0207EC88 ; =0x00000674 mov r1, #0x9a ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl FUN_0200A8E0 b _0207EBE0 _0207EBD2: mov r0, #0x1 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x96 mov r3, #0x3 bl FUN_0207DA48 _0207EBE0: mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r5, r1] ldr r2, _0207EC8C ; =0x00010200 add r0, r5, #0x0 add r1, #0x50 mov r3, #0x2 bl FUN_0207D998 add r0, r4, #0x0 mov r1, #0x4 bl FUN_0206AB18 add r2, r0, #0x0 bne _0207EC0E ldr r2, _0207EC88 ; =0x00000674 mov r1, #0x9a ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl FUN_0200A8E0 b _0207EC1C _0207EC0E: mov r0, #0x1 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x97 mov r3, #0x3 bl FUN_0207DA48 _0207EC1C: mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r5, r1] ldr r2, _0207EC8C ; =0x00010200 add r0, r5, #0x0 add r1, #0x60 mov r3, #0x2 bl FUN_0207D998 ldr r2, _0207EC90 ; =0x0000024B mov r0, #0x1 mov r1, #0x1a mov r3, #0x13 bl FUN_0200A86C mov r2, #0x1a lsl r2, r2, #0x6 ldr r2, [r5, r2] add r1, r4, #0x0 add r6, r0, #0x0 bl FUN_0200A8E0 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r5, r1] ldr r2, _0207EC8C ; =0x00010200 add r0, r5, #0x0 add r1, #0x70 mov r3, #0x0 bl FUN_0207D998 add r0, r6, #0x0 bl FUN_0200A8B8 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x50 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x60 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x70 bl FUN_02019220 add sp, #0x4 pop {r3-r6, pc} .balign 4 _0207EC88: .word 0x00000674 _0207EC8C: .word 0x00010200 _0207EC90: .word 0x0000024B thumb_func_start FUN_0207EC94 FUN_0207EC94: ; 0x0207EC94 push {r4, lr} add r4, r0, #0x0 mov r0, #0x65 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C mov r0, #0x69 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C mov r0, #0x6d lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x50 bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x60 bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x70 bl FUN_0201958C pop {r4, pc} thumb_func_start FUN_0207ECDC FUN_0207ECDC: ; 0x0207ECDC push {r4, lr} add r4, r0, #0x0 mov r0, #0x93 lsl r0, r0, #0x2 ldr r1, [r4, r0] ldrh r1, [r1, #0x18] cmp r1, #0x0 beq _0207ED0E sub r0, #0x8 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x40 bl FUN_02019620 add r0, r4, #0x0 mov r1, #0x4 bl FUN_0207EA44 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x40 bl FUN_02019220 pop {r4, pc} _0207ED0E: sub r0, #0xc8 add r0, r4, r0 bl FUN_02019220 pop {r4, pc} thumb_func_start FUN_0207ED18 FUN_0207ED18: ; 0x0207ED18 push {r4, lr} add r4, r0, #0x0 mov r0, #0x61 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C ldr r0, [r4, #0x0] mov r1, #0x1 bl FUN_0201AC68 pop {r4, pc} thumb_func_start FUN_0207ED30 FUN_0207ED30: ; 0x0207ED30 push {r4, lr} add r4, r0, #0x0 mov r0, #0x91 lsl r0, r0, #0x2 ldr r1, [r4, r0] ldr r0, _0207EDB0 ; =0x0000068D ldrb r0, [r4, r0] lsl r0, r0, #0x1c lsr r0, r0, #0x1c lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r1, [r4, r0] ldr r0, _0207EDB0 ; =0x0000068D ldrb r0, [r4, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x1c lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 bl FUN_02019620 ldr r1, _0207EDB0 ; =0x0000068D add r0, r4, #0x0 ldrb r1, [r4, r1] lsl r1, r1, #0x1c lsr r1, r1, #0x1c bl FUN_0207EA44 ldr r1, _0207EDB0 ; =0x0000068D add r0, r4, #0x0 ldrb r1, [r4, r1] lsl r1, r1, #0x18 lsr r1, r1, #0x1c bl FUN_0207EA44 mov r0, #0x91 lsl r0, r0, #0x2 ldr r1, [r4, r0] ldr r0, _0207EDB0 ; =0x0000068D ldrb r0, [r4, r0] lsl r0, r0, #0x1c lsr r0, r0, #0x1c lsl r0, r0, #0x4 add r0, r1, r0 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r1, [r4, r0] ldr r0, _0207EDB0 ; =0x0000068D ldrb r0, [r4, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x1c lsl r0, r0, #0x4 add r0, r1, r0 bl FUN_02019220 pop {r4, pc} nop _0207EDB0: .word 0x0000068D thumb_func_start FUN_0207EDB4 FUN_0207EDB4: ; 0x0207EDB4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0207EE20 ; =0x0000068C ldrsb r0, [r5, r0] cmp r0, #0x3 bne _0207EDEE mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x50 bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x60 bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x70 bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r4, [r5, r0] add r4, #0x70 b _0207EDF6 _0207EDEE: mov r0, #0x91 lsl r0, r0, #0x2 ldr r4, [r5, r0] add r4, #0x50 _0207EDF6: add r0, r4, #0x0 mov r1, #0x0 bl FUN_02019620 ldr r2, _0207EE24 ; =0x00000674 mov r1, #0x9c ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl FUN_0200A8E0 ldr r2, _0207EE28 ; =0x00010200 add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 bl FUN_0207D998 add r0, r4, #0x0 bl FUN_02019220 pop {r3-r5, pc} .balign 4 _0207EE20: .word 0x0000068C _0207EE24: .word 0x00000674 _0207EE28: .word 0x00010200 thumb_func_start FUN_0207EE2C FUN_0207EE2C: ; 0x0207EE2C push {r4-r6, lr} sub sp, #0x10 add r5, r0, #0x0 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r4, r1, #0x0 add r0, #0x50 mov r1, #0x0 bl FUN_02019620 add r0, r4, #0x0 mov r1, #0xa bl FUN_0206AB18 bl FUN_0208315C add r4, r0, #0x0 mov r0, #0x0 mov r1, #0x1a mov r2, #0xc5 mov r3, #0x13 bl FUN_0200A86C mov r2, #0x1a lsl r2, r2, #0x6 ldr r2, [r5, r2] add r1, r4, #0x0 add r6, r0, #0x0 bl FUN_0200A8E0 mov r1, #0x0 mov r2, #0x1a str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207EEAC ; =0x00010200 lsl r2, r2, #0x6 str r0, [sp, #0x8] mov r0, #0x91 str r1, [sp, #0xc] lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r2, [r5, r2] add r0, #0x50 add r3, r1, #0x0 bl FUN_0201BDE0 add r0, r6, #0x0 bl FUN_0200A8B8 mov r0, #0x75 lsl r0, r0, #0x2 add r0, r5, r0 bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x50 bl FUN_02019220 add sp, #0x10 pop {r4-r6, pc} .balign 4 _0207EEAC: .word 0x00010200 thumb_func_start FUN_0207EEB0 FUN_0207EEB0: ; 0x0207EEB0 push {r4, lr} add r4, r0, #0x0 mov r0, #0x75 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x50 bl FUN_0201958C pop {r4, pc} thumb_func_start FUN_0207EECC FUN_0207EECC: ; 0x0207EECC push {r4-r6, lr} sub sp, #0x10 add r4, r0, #0x0 cmp r1, #0x4 bgt _0207EEF0 cmp r1, #0x0 blt _0207EF0E add r0, r1, r1 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0207EEE6: ; jump table (using 16-bit offset) .short _0207EEF6 - _0207EEE6 - 2; case 0 .short _0207EEFA - _0207EEE6 - 2; case 1 .short _0207EEFE - _0207EEE6 - 2; case 2 .short _0207EF02 - _0207EEE6 - 2; case 3 .short _0207EF06 - _0207EEE6 - 2; case 4 _0207EEF0: cmp r1, #0xfe beq _0207EF0A b _0207EF0E _0207EEF6: mov r5, #0xac b _0207EF10 _0207EEFA: mov r5, #0xae b _0207EF10 _0207EEFE: mov r5, #0xaf b _0207EF10 _0207EF02: mov r5, #0xb0 b _0207EF10 _0207EF06: mov r5, #0xad b _0207EF10 _0207EF0A: mov r5, #0xb1 b _0207EF10 _0207EF0E: mov r5, #0xb2 _0207EF10: mov r0, #0x91 lsl r0, r0, #0x2 ldr r6, [r4, r0] ldr r2, _0207EF60 ; =0x000003E2 add r6, #0x20 add r0, r6, #0x0 mov r1, #0x1 mov r3, #0xd bl FUN_0200D0BC add r0, r6, #0x0 mov r1, #0xf bl FUN_02019620 ldr r2, _0207EF64 ; =0x00000674 add r1, r5, #0x0 ldr r0, [r4, r2] add r2, #0xc ldr r2, [r4, r2] bl FUN_0200A8E0 mov r3, #0x0 mov r2, #0x1a str r3, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _0207EF68 ; =0x0001020F lsl r2, r2, #0x6 str r0, [sp, #0x8] str r3, [sp, #0xc] ldr r2, [r4, r2] add r0, r6, #0x0 mov r1, #0x1 bl FUN_0201BDE0 add r0, r6, #0x0 bl FUN_02019220 add sp, #0x10 pop {r4-r6, pc} .balign 4 _0207EF60: .word 0x000003E2 _0207EF64: .word 0x00000674 _0207EF68: .word 0x0001020F thumb_func_start FUN_0207EF6C FUN_0207EF6C: ; 0x0207EF6C push {r3-r4, lr} sub sp, #0x4 blx FUN_020BB7F4 blx G3X_Init blx G3X_InitMtxStack ldr r0, _0207EFEC ; =0x04000060 ldr r1, _0207EFF0 ; =0xFFFFCFFD ldrh r2, [r0, #0x0] ldr r3, _0207EFF4 ; =0x0000CFFB and r2, r1 strh r2, [r0, #0x0] ldrh r2, [r0, #0x0] and r2, r3 strh r2, [r0, #0x0] add r2, r1, #0x2 ldrh r4, [r0, #0x0] add r1, r1, #0x2 sub r3, #0x1c and r4, r2 mov r2, #0x8 orr r2, r4 strh r2, [r0, #0x0] ldrh r2, [r0, #0x0] and r2, r1 mov r1, #0x10 orr r1, r2 strh r1, [r0, #0x0] ldrh r1, [r0, #0x0] and r1, r3 strh r1, [r0, #0x0] mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 blx G3X_SetFog mov r0, #0x0 ldr r2, _0207EFF8 ; =0x00007FFF add r1, r0, #0x0 mov r3, #0x3f str r0, [sp, #0x0] blx G3X_SetClearColor ldr r1, _0207EFFC ; =0x04000540 mov r0, #0x0 str r0, [r1, #0x0] ldr r0, _0207F000 ; =0xBFFF0000 str r0, [r1, #0x40] mov r0, #0x1 add r1, r0, #0x0 bl FUN_0201E6E4 ldr r1, _0207F004 ; =0x04000008 mov r0, #0x3 ldrh r2, [r1, #0x0] bic r2, r0 mov r0, #0x2 orr r0, r2 strh r0, [r1, #0x0] add sp, #0x4 pop {r3-r4, pc} .balign 4 _0207EFEC: .word 0x04000060 _0207EFF0: .word 0xFFFFCFFD _0207EFF4: .word 0x0000CFFB _0207EFF8: .word 0x00007FFF _0207EFFC: .word 0x04000540 _0207F000: .word 0xBFFF0000 _0207F004: .word 0x04000008 thumb_func_start FUN_0207F008 FUN_0207F008: ; 0x0207F008 push {r4, lr} add r4, r0, #0x0 ldr r0, _0207F05C ; =0x0000068C ldrsb r0, [r4, r0] cmp r0, #0x4 bne _0207F046 bl FUN_020222AC bl FUN_0201EBA4 ldr r2, _0207F060 ; =0x04000440 mov r3, #0x0 add r1, r2, #0x0 str r3, [r2, #0x0] add r1, #0x14 str r3, [r1, #0x0] mov r0, #0x2 str r0, [r2, #0x0] str r3, [r1, #0x0] blx FUN_020B849C mov r0, #0xb7 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_0207F108 blx FUN_020B849C add r0, r4, #0x0 bl FUN_0207F1A4 _0207F046: blx FUN_020B02C8 mov r0, #0xae lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02006ED4 ldr r0, _0207F064 ; =0x04000540 mov r1, #0x1 str r1, [r0, #0x0] pop {r4, pc} .balign 4 _0207F05C: .word 0x0000068C _0207F060: .word 0x04000440 _0207F064: .word 0x04000540 thumb_func_start FUN_0207F068 FUN_0207F068: ; 0x0207F068 push {r4, lr} add r4, r0, #0x0 mov r0, #0xad lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_0201EB70 mov r0, #0x2d lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_02014D9C mov r0, #0x2d lsl r0, r0, #0x4 ldr r0, [r4, r0] bl FUN_02014C28 mov r0, #0xae lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_020072E8 pop {r4, pc} thumb_func_start FUN_0207F098 FUN_0207F098: ; 0x0207F098 push {r3-r4, lr} sub sp, #0x1c ldr r3, _0207F100 ; =0x020FB5CC add r4, r0, #0x0 ldmia r3!, {r0-r1} add r2, sp, #0x10 stmia r2!, {r0-r1} ldr r0, [r3, #0x0] add r1, sp, #0x8 str r0, [r2, #0x0] mov r0, #0x0 strh r0, [r1, #0x0] strh r0, [r1, #0x2] strh r0, [r1, #0x4] strh r0, [r1, #0x6] mov r0, #0x13 bl FUN_0201EB64 mov r1, #0xad lsl r1, r1, #0x2 str r0, [r4, r1] mov r2, #0x1 str r2, [sp, #0x0] ldr r0, [r4, r1] lsl r1, r2, #0x10 str r0, [sp, #0x4] ldr r3, _0207F104 ; =0x000005C1 add r0, sp, #0x10 add r2, sp, #0x8 bl FUN_0201ED10 mov r2, #0xad lsl r2, r2, #0x2 mov r1, #0x19 ldr r2, [r4, r2] mov r0, #0x0 lsl r1, r1, #0xe bl FUN_0201EC94 mov r0, #0xad lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_0201EC88 mov r0, #0xad lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_0201EB8C add sp, #0x1c pop {r3-r4, pc} nop _0207F100: .word 0x020FB5CC _0207F104: .word 0x000005C1 thumb_func_start FUN_0207F108 FUN_0207F108: ; 0x0207F108 push {r4-r7} add r4, r0, #0x0 ldr r0, _0207F170 ; =0x121400C0 ldr r1, _0207F174 ; =0x040004A4 ldr r2, _0207F178 ; =0x00003FE8 str r0, [r1, #0x0] mov r0, #0x1 str r0, [r1, #0x5c] ldr r0, _0207F17C ; =0x0400048C mov r3, #0x0 sub r1, #0x24 _0207F11E: str r2, [r1, #0x0] ldrh r7, [r4, #0x2] ldrh r5, [r4, #0x0] ldrh r6, [r4, #0x4] lsl r7, r7, #0x10 orr r5, r7 str r5, [r0, #0x0] str r6, [r0, #0x0] str r2, [r1, #0x0] ldrh r7, [r4, #0x8] ldrh r5, [r4, #0x6] ldrh r6, [r4, #0xa] lsl r7, r7, #0x10 orr r5, r7 str r5, [r0, #0x0] str r6, [r0, #0x0] str r2, [r1, #0x0] ldrh r7, [r4, #0x14] ldrh r5, [r4, #0x12] ldrh r6, [r4, #0x16] lsl r7, r7, #0x10 orr r5, r7 str r5, [r0, #0x0] str r6, [r0, #0x0] str r2, [r1, #0x0] ldrh r7, [r4, #0xe] ldrh r5, [r4, #0xc] ldrh r6, [r4, #0x10] lsl r7, r7, #0x10 orr r5, r7 str r5, [r0, #0x0] add r3, r3, #0x1 add r4, #0x18 str r6, [r0, #0x0] cmp r3, #0x4 blo _0207F11E ldr r0, _0207F180 ; =0x04000504 mov r1, #0x0 str r1, [r0, #0x0] pop {r4-r7} bx lr .balign 4 _0207F170: .word 0x121400C0 _0207F174: .word 0x040004A4 _0207F178: .word 0x00003FE8 _0207F17C: .word 0x0400048C _0207F180: .word 0x04000504 thumb_func_start FUN_0207F184 FUN_0207F184: ; 0x0207F184 mov r2, #0x0 ldrsh r3, [r0, r2] ldrsh r2, [r1, r2] add r2, r3, r2 strh r2, [r0, #0x0] mov r2, #0x2 ldrsh r3, [r0, r2] ldrsh r2, [r1, r2] add r2, r3, r2 strh r2, [r0, #0x2] mov r2, #0x4 ldrsh r3, [r0, r2] ldrsh r1, [r1, r2] add r1, r3, r1 strh r1, [r0, #0x4] bx lr thumb_func_start FUN_0207F1A4 FUN_0207F1A4: ; 0x0207F1A4 push {r3-r7, lr} sub sp, #0x18 mov r2, #0xff lsl r2, r2, #0x2 add r1, r0, #0x0 ldr r1, [r1, r2] str r0, [sp, #0x0] cmp r1, #0x4 bne _0207F1BE bl FUN_0207D598 add sp, #0x18 pop {r3-r7, pc} _0207F1BE: cmp r1, #0x3 bne _0207F1EA add r6, r0, #0x0 add r7, r2, #0x0 mov r0, #0xb7 mov r5, #0x0 sub r7, #0x60 lsl r0, r0, #0x2 _0207F1CE: add r4, r6, r7 add r3, r6, r0 mov r2, #0xc _0207F1D4: ldrh r1, [r4, #0x0] add r4, r4, #0x2 strh r1, [r3, #0x0] add r3, r3, #0x2 sub r2, r2, #0x1 bne _0207F1D4 add r5, r5, #0x1 add r6, #0x18 cmp r5, #0x4 blo _0207F1CE b _0207F274 _0207F1EA: mov r0, #0x0 str r0, [sp, #0x4] ldr r0, [sp, #0x0] sub r2, #0xc0 add r0, r0, r2 str r0, [sp, #0x14] mov r0, #0xb7 lsl r0, r0, #0x2 ldr r1, [sp, #0x0] add r2, r0, #0x0 add r1, r1, r0 str r1, [sp, #0x10] ldr r1, [sp, #0x0] add r2, #0x66 add r1, r1, r2 str r1, [sp, #0xc] ldr r1, [sp, #0x0] add r2, r0, #0x6 add r1, r1, r2 str r1, [sp, #0x8] add r2, r0, #0x0 ldr r1, [sp, #0x0] add r2, #0x6c add r7, r1, r2 add r2, r0, #0x0 add r2, #0xc add r6, r1, r2 add r2, r0, #0x0 add r2, #0x72 add r0, #0x12 add r4, r1, r2 add r5, r1, r0 _0207F22A: ldr r0, [sp, #0x10] ldr r1, [sp, #0x14] bl FUN_0207F184 ldr r0, [sp, #0x8] ldr r1, [sp, #0xc] bl FUN_0207F184 add r0, r6, #0x0 add r1, r7, #0x0 bl FUN_0207F184 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0207F184 ldr r0, [sp, #0x14] add r7, #0x18 add r0, #0x18 str r0, [sp, #0x14] ldr r0, [sp, #0x10] add r6, #0x18 add r0, #0x18 str r0, [sp, #0x10] ldr r0, [sp, #0xc] add r4, #0x18 add r0, #0x18 str r0, [sp, #0xc] ldr r0, [sp, #0x8] add r5, #0x18 add r0, #0x18 str r0, [sp, #0x8] ldr r0, [sp, #0x4] add r0, r0, #0x1 str r0, [sp, #0x4] cmp r0, #0x4 blo _0207F22A _0207F274: mov r1, #0xff ldr r0, [sp, #0x0] lsl r1, r1, #0x2 ldr r0, [r0, r1] add r2, r0, #0x1 ldr r0, [sp, #0x0] str r2, [r0, r1] ldr r0, [r0, r1] cmp r0, #0x4 bne _0207F294 ldr r0, [sp, #0x0] mov r1, #0x1 bl FUN_0207D418 add sp, #0x18 pop {r3-r7, pc} _0207F294: ldr r0, [sp, #0x0] mov r1, #0x0 bl FUN_0207D418 add sp, #0x18 pop {r3-r7, pc} thumb_func_start FUN_0207F2A0 FUN_0207F2A0: ; 0x0207F2A0 push {r3-r7, lr} sub sp, #0x18 ldr r1, _0207F420 ; =0x0000068C ldrsb r1, [r0, r1] cmp r1, #0x4 beq _0207F2AE b _0207F41A _0207F2AE: ldr r7, _0207F424 ; =0x020FB60C add r3, sp, #0x0 ldrh r1, [r7, #0x8] strh r1, [r3, #0x12] ldrh r1, [r7, #0xa] strh r1, [r3, #0x14] ldrh r1, [r7, #0xc] strh r1, [r3, #0x16] mov r1, #0xb7 lsl r1, r1, #0x2 ldrh r5, [r3, #0x12] add r2, r1, #0x2 strh r5, [r0, r1] ldrh r4, [r3, #0x14] strh r4, [r0, r2] ldrh r6, [r3, #0x16] add r2, r1, #0x4 strh r6, [r0, r2] add r2, r1, #0x6 strh r5, [r0, r2] add r2, r1, #0x0 add r2, #0x8 strh r4, [r0, r2] add r2, r1, #0x0 add r2, #0xa strh r6, [r0, r2] add r2, r1, #0x0 add r2, #0xc strh r5, [r0, r2] add r2, r1, #0x0 add r2, #0xe strh r4, [r0, r2] add r2, r1, #0x0 add r2, #0x10 strh r6, [r0, r2] add r2, r1, #0x0 add r2, #0x12 strh r5, [r0, r2] add r2, r1, #0x0 add r2, #0x14 strh r4, [r0, r2] add r2, r1, #0x0 add r2, #0x16 strh r6, [r0, r2] ldrh r2, [r7, #0x3e] ldr r6, _0207F428 ; =0x020FB64C add r7, r1, #0x0 strh r2, [r3, #0xc] ldrh r2, [r6, #0x0] add r7, #0x1c strh r2, [r3, #0xe] ldrh r2, [r6, #0x2] strh r2, [r3, #0x10] add r2, r1, #0x0 ldrh r5, [r3, #0xc] add r2, #0x18 strh r5, [r0, r2] add r2, r1, #0x0 ldrh r4, [r3, #0xe] add r2, #0x1a strh r4, [r0, r2] ldrh r2, [r3, #0x10] strh r2, [r0, r7] add r7, r1, #0x0 add r7, #0x1e strh r5, [r0, r7] add r7, r1, #0x0 add r7, #0x20 strh r4, [r0, r7] add r7, r1, #0x0 add r7, #0x22 strh r2, [r0, r7] add r7, r1, #0x0 add r7, #0x24 strh r5, [r0, r7] add r7, r1, #0x0 add r7, #0x26 strh r4, [r0, r7] add r7, r1, #0x0 add r7, #0x28 strh r2, [r0, r7] add r7, r1, #0x0 add r7, #0x2a strh r5, [r0, r7] add r5, r1, #0x0 add r5, #0x2c strh r4, [r0, r5] add r4, r1, #0x0 add r4, #0x2e strh r2, [r0, r4] ldrh r2, [r6, #0x34] strh r2, [r3, #0x6] ldrh r2, [r6, #0x36] strh r2, [r3, #0x8] ldrh r2, [r6, #0x38] add r6, r1, #0x0 add r6, #0x34 strh r2, [r3, #0xa] add r2, r1, #0x0 ldrh r5, [r3, #0x6] add r2, #0x30 strh r5, [r0, r2] add r2, r1, #0x0 ldrh r4, [r3, #0x8] add r2, #0x32 strh r4, [r0, r2] ldrh r2, [r3, #0xa] strh r2, [r0, r6] add r6, r1, #0x0 add r6, #0x36 strh r5, [r0, r6] add r6, r1, #0x0 add r6, #0x38 strh r4, [r0, r6] add r6, r1, #0x0 add r6, #0x3a strh r2, [r0, r6] add r6, r1, #0x0 add r6, #0x3c strh r5, [r0, r6] add r6, r1, #0x0 add r6, #0x3e strh r4, [r0, r6] add r6, r1, #0x0 add r6, #0x40 strh r2, [r0, r6] add r6, r1, #0x0 add r6, #0x42 strh r5, [r0, r6] add r5, r1, #0x0 add r5, #0x44 strh r4, [r0, r5] add r4, r1, #0x0 add r4, #0x46 strh r2, [r0, r4] ldr r2, _0207F42C ; =0x020FB68C ldrh r4, [r2, #0x2a] strh r4, [r3, #0x0] ldrh r4, [r2, #0x2c] strh r4, [r3, #0x2] ldrh r2, [r2, #0x2e] strh r2, [r3, #0x4] add r2, r1, #0x0 ldrh r5, [r3, #0x0] add r2, #0x48 strh r5, [r0, r2] add r2, r1, #0x0 ldrh r4, [r3, #0x2] add r2, #0x4a strh r4, [r0, r2] ldrh r2, [r3, #0x4] add r3, r1, #0x0 add r3, #0x4c strh r2, [r0, r3] add r3, r1, #0x0 add r3, #0x4e strh r5, [r0, r3] add r3, r1, #0x0 add r3, #0x50 strh r4, [r0, r3] add r3, r1, #0x0 add r3, #0x52 strh r2, [r0, r3] add r3, r1, #0x0 add r3, #0x54 strh r5, [r0, r3] add r3, r1, #0x0 add r3, #0x56 strh r4, [r0, r3] add r3, r1, #0x0 add r3, #0x58 strh r2, [r0, r3] add r3, r1, #0x0 add r3, #0x5a strh r5, [r0, r3] add r3, r1, #0x0 add r3, #0x5c strh r4, [r0, r3] add r1, #0x5e strh r2, [r0, r1] bl FUN_0207F608 _0207F41A: add sp, #0x18 pop {r3-r7, pc} nop _0207F420: .word 0x0000068C _0207F424: .word 0x020FB60C _0207F428: .word 0x020FB64C _0207F42C: .word 0x020FB68C thumb_func_start FUN_0207F430 FUN_0207F430: ; 0x0207F430 push {r4-r5} cmp r2, #0xff bne _0207F446 ldrh r2, [r0, #0x0] strh r2, [r1, #0x0] ldrh r2, [r0, #0x2] strh r2, [r1, #0x2] ldrh r0, [r0, #0x4] strh r0, [r1, #0x4] pop {r4-r5} bx lr _0207F446: cmp r2, #0x0 bne _0207F45A ldrh r2, [r0, #0x6] strh r2, [r1, #0x0] ldrh r2, [r0, #0x8] strh r2, [r1, #0x2] ldrh r0, [r0, #0xa] strh r0, [r1, #0x4] pop {r4-r5} bx lr _0207F45A: mov r3, #0x6 ldrsh r5, [r0, r3] mov r3, #0xc ldrsh r3, [r0, r3] add r4, r3, #0x0 mul r4, r2 add r3, r5, r4 strh r3, [r1, #0x0] mov r3, #0x8 ldrsh r5, [r0, r3] mov r3, #0xe ldrsh r3, [r0, r3] add r4, r3, #0x0 mul r4, r2 add r3, r5, r4 strh r3, [r1, #0x2] mov r3, #0xa ldrsh r4, [r0, r3] mov r3, #0x10 ldrsh r0, [r0, r3] mul r2, r0 add r0, r4, r2 strh r0, [r1, #0x4] pop {r4-r5} bx lr thumb_func_start FUN_0207F48C FUN_0207F48C: ; 0x0207F48C push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0x0 ldrsh r1, [r4, r0] ldrsh r0, [r5, r0] add r6, r2, #0x0 sub r7, r1, r0 add r0, r7, #0x0 blx _fflt ldr r1, _0207F600 ; =0x45800000 blx _fdiv ldr r1, _0207F604 ; =0x40800000 blx _fdiv mov r1, #0x0 blx _fgr bls _0207F4E0 add r0, r7, #0x0 blx _fflt ldr r1, _0207F600 ; =0x45800000 blx _fdiv ldr r1, _0207F604 ; =0x40800000 blx _fdiv add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 blx _fmul add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 blx _fadd blx _ffix b _0207F506 _0207F4E0: add r0, r7, #0x0 blx _fflt ldr r1, _0207F600 ; =0x45800000 blx _fdiv ldr r1, _0207F604 ; =0x40800000 blx _fdiv add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 blx _fmul mov r1, #0x3f lsl r1, r1, #0x18 blx _fsub blx _ffix _0207F506: lsl r0, r0, #0x10 asr r0, r0, #0x10 strh r0, [r6, #0x0] mov r0, #0x2 ldrsh r1, [r4, r0] ldrsh r0, [r5, r0] sub r7, r1, r0 add r0, r7, #0x0 blx _fflt ldr r1, _0207F600 ; =0x45800000 blx _fdiv ldr r1, _0207F604 ; =0x40800000 blx _fdiv mov r1, #0x0 blx _fgr bls _0207F558 add r0, r7, #0x0 blx _fflt ldr r1, _0207F600 ; =0x45800000 blx _fdiv ldr r1, _0207F604 ; =0x40800000 blx _fdiv add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 blx _fmul add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 blx _fadd blx _ffix b _0207F57E _0207F558: add r0, r7, #0x0 blx _fflt ldr r1, _0207F600 ; =0x45800000 blx _fdiv ldr r1, _0207F604 ; =0x40800000 blx _fdiv add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 blx _fmul mov r1, #0x3f lsl r1, r1, #0x18 blx _fsub blx _ffix _0207F57E: lsl r0, r0, #0x10 asr r0, r0, #0x10 strh r0, [r6, #0x2] mov r0, #0x4 ldrsh r1, [r4, r0] ldrsh r0, [r5, r0] sub r4, r1, r0 add r0, r4, #0x0 blx _fflt ldr r1, _0207F600 ; =0x45800000 blx _fdiv ldr r1, _0207F604 ; =0x40800000 blx _fdiv mov r1, #0x0 blx _fgr bls _0207F5D0 add r0, r4, #0x0 blx _fflt ldr r1, _0207F600 ; =0x45800000 blx _fdiv ldr r1, _0207F604 ; =0x40800000 blx _fdiv add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 blx _fmul add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 blx _fadd blx _ffix b _0207F5F6 _0207F5D0: add r0, r4, #0x0 blx _fflt ldr r1, _0207F600 ; =0x45800000 blx _fdiv ldr r1, _0207F604 ; =0x40800000 blx _fdiv add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 blx _fmul mov r1, #0x3f lsl r1, r1, #0x18 blx _fsub blx _ffix _0207F5F6: lsl r0, r0, #0x10 asr r0, r0, #0x10 strh r0, [r6, #0x4] pop {r3-r7, pc} nop _0207F600: .word 0x45800000 _0207F604: .word 0x40800000 thumb_func_start FUN_0207F608 FUN_0207F608: ; 0x0207F608 push {r3-r7, lr} sub sp, #0x28 ldr r2, _0207F7D0 ; =0x00000295 add r5, r0, #0x0 mov r1, #0xe7 lsl r1, r1, #0x2 ldrb r2, [r5, r2] ldr r0, _0207F7D4 ; =0x020FB5D8 add r1, r5, r1 bl FUN_0207F430 ldr r2, _0207F7D8 ; =0x00000296 ldr r1, _0207F7DC ; =0x000003A2 ldrb r2, [r5, r2] ldr r0, _0207F7E0 ; =0x020FB5EA add r1, r5, r1 bl FUN_0207F430 ldr r2, _0207F7E4 ; =0x00000297 ldr r1, _0207F7E8 ; =0x000003AE ldrb r2, [r5, r2] ldr r0, _0207F7EC ; =0x020FB5FC add r1, r5, r1 bl FUN_0207F430 mov r1, #0xea lsl r1, r1, #0x2 ldr r0, _0207F7F0 ; =0x020FB60E add r1, r5, r1 mov r2, #0x0 bl FUN_0207F430 ldr r2, _0207F7F4 ; =0x00000299 mov r1, #0xed lsl r1, r1, #0x2 ldrb r2, [r5, r2] ldr r0, _0207F7F8 ; =0x020FB620 add r1, r5, r1 bl FUN_0207F430 ldr r2, _0207F7D0 ; =0x00000295 ldr r1, _0207F7FC ; =0x000003BA ldrb r2, [r5, r2] ldr r0, _0207F800 ; =0x020FB632 add r1, r5, r1 bl FUN_0207F430 ldr r1, _0207F804 ; =0x000003C6 ldr r0, _0207F808 ; =0x020FB644 add r1, r5, r1 mov r2, #0x0 bl FUN_0207F430 mov r2, #0xa6 lsl r2, r2, #0x2 mov r1, #0xf lsl r1, r1, #0x6 ldrb r2, [r5, r2] ldr r0, _0207F80C ; =0x020FB656 add r1, r5, r1 bl FUN_0207F430 ldr r2, _0207F7F4 ; =0x00000299 mov r1, #0xf3 lsl r1, r1, #0x2 ldrb r2, [r5, r2] ldr r0, _0207F810 ; =0x020FB668 add r1, r5, r1 bl FUN_0207F430 ldr r1, _0207F814 ; =0x000003D2 ldr r0, _0207F818 ; =0x020FB67A add r1, r5, r1 mov r2, #0x0 bl FUN_0207F430 ldr r2, _0207F7E4 ; =0x00000297 ldr r1, _0207F81C ; =0x000003DE ldrb r2, [r5, r2] ldr r0, _0207F820 ; =0x020FB68C add r1, r5, r1 bl FUN_0207F430 mov r2, #0xa6 lsl r2, r2, #0x2 mov r1, #0xf6 lsl r1, r1, #0x2 ldrb r2, [r5, r2] ldr r0, _0207F824 ; =0x020FB69E add r1, r5, r1 bl FUN_0207F430 mov r1, #0xf9 lsl r1, r1, #0x2 ldr r0, _0207F828 ; =0x020FB6B0 add r1, r5, r1 mov r2, #0x0 bl FUN_0207F430 ldr r2, _0207F7D8 ; =0x00000296 ldr r1, _0207F82C ; =0x000003EA ldrb r2, [r5, r2] ldr r0, _0207F830 ; =0x020FB6C2 add r1, r5, r1 bl FUN_0207F430 ldr r2, _0207F7E4 ; =0x00000297 ldr r1, _0207F834 ; =0x000003F6 ldrb r2, [r5, r2] ldr r0, _0207F838 ; =0x020FB6D4 add r1, r5, r1 bl FUN_0207F430 mov r2, #0xa6 lsl r2, r2, #0x2 mov r1, #0x3f lsl r1, r1, #0x4 ldrb r2, [r5, r2] ldr r0, _0207F83C ; =0x020FB6E6 add r1, r5, r1 bl FUN_0207F430 mov r0, #0x0 str r0, [sp, #0x24] mov r0, #0xcf lsl r0, r0, #0x2 add r1, r5, r0 str r1, [sp, #0x20] add r1, r0, #0x0 add r1, #0x60 add r1, r5, r1 str r1, [sp, #0x1c] add r1, r0, #0x0 sub r1, #0x60 add r1, r5, r1 str r1, [sp, #0x18] add r1, r0, #0x6 add r1, r5, r1 str r1, [sp, #0x14] add r1, r0, #0x0 add r1, #0x66 add r1, r5, r1 str r1, [sp, #0x10] add r1, r0, #0x0 sub r1, #0x5a add r1, r5, r1 str r1, [sp, #0xc] add r1, r0, #0x0 add r1, #0xc add r1, r5, r1 str r1, [sp, #0x8] add r1, r0, #0x0 add r1, #0x6c add r1, r5, r1 str r1, [sp, #0x4] add r1, r0, #0x0 sub r1, #0x54 add r1, r5, r1 str r1, [sp, #0x0] add r1, r0, #0x0 add r1, #0x12 add r7, r5, r1 add r1, r0, #0x0 add r1, #0x72 sub r0, #0x4e add r6, r5, r1 add r4, r5, r0 _0207F756: ldr r0, [sp, #0x18] ldr r1, [sp, #0x1c] ldr r2, [sp, #0x20] bl FUN_0207F48C ldr r0, [sp, #0xc] ldr r1, [sp, #0x10] ldr r2, [sp, #0x14] bl FUN_0207F48C ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] ldr r2, [sp, #0x8] bl FUN_0207F48C add r0, r4, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_0207F48C ldr r0, [sp, #0x20] add r7, #0x18 add r0, #0x18 str r0, [sp, #0x20] ldr r0, [sp, #0x1c] add r6, #0x18 add r0, #0x18 str r0, [sp, #0x1c] ldr r0, [sp, #0x18] add r4, #0x18 add r0, #0x18 str r0, [sp, #0x18] ldr r0, [sp, #0x14] add r0, #0x18 str r0, [sp, #0x14] ldr r0, [sp, #0x10] add r0, #0x18 str r0, [sp, #0x10] ldr r0, [sp, #0xc] add r0, #0x18 str r0, [sp, #0xc] ldr r0, [sp, #0x8] add r0, #0x18 str r0, [sp, #0x8] ldr r0, [sp, #0x4] add r0, #0x18 str r0, [sp, #0x4] ldr r0, [sp, #0x0] add r0, #0x18 str r0, [sp, #0x0] ldr r0, [sp, #0x24] add r0, r0, #0x1 str r0, [sp, #0x24] cmp r0, #0x4 blo _0207F756 mov r0, #0xff mov r1, #0x0 lsl r0, r0, #0x2 str r1, [r5, r0] add sp, #0x28 pop {r3-r7, pc} .balign 4 _0207F7D0: .word 0x00000295 _0207F7D4: .word 0x020FB5D8 _0207F7D8: .word 0x00000296 _0207F7DC: .word 0x000003A2 _0207F7E0: .word 0x020FB5EA _0207F7E4: .word 0x00000297 _0207F7E8: .word 0x000003AE _0207F7EC: .word 0x020FB5FC _0207F7F0: .word 0x020FB60E _0207F7F4: .word 0x00000299 _0207F7F8: .word 0x020FB620 _0207F7FC: .word 0x000003BA _0207F800: .word 0x020FB632 _0207F804: .word 0x000003C6 _0207F808: .word 0x020FB644 _0207F80C: .word 0x020FB656 _0207F810: .word 0x020FB668 _0207F814: .word 0x000003D2 _0207F818: .word 0x020FB67A _0207F81C: .word 0x000003DE _0207F820: .word 0x020FB68C _0207F824: .word 0x020FB69E _0207F828: .word 0x020FB6B0 _0207F82C: .word 0x000003EA _0207F830: .word 0x020FB6C2 _0207F834: .word 0x000003F6 _0207F838: .word 0x020FB6D4 _0207F83C: .word 0x020FB6E6 thumb_func_start FUN_0207F840 FUN_0207F840: ; 0x0207F840 push {r4, lr} sub sp, #0x20 add r4, r0, #0x0 mov r0, #0x13 bl FUN_02006D98 mov r1, #0xae lsl r1, r1, #0x2 str r0, [r4, r1] add r0, r4, #0x0 bl FUN_0207B628 add r1, r0, #0x0 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldrb r0, [r0, #0x11] cmp r0, #0x2 add r0, sp, #0x10 bne _0207F870 mov r2, #0x2 bl FUN_02068B70 b _0207F876 _0207F870: mov r2, #0x2 bl FUN_02068B68 _0207F876: mov r1, #0xaf lsl r1, r1, #0x2 add r0, r4, r1 sub r1, #0x60 ldrh r1, [r4, r1] bl FUN_02069010 mov r0, #0x97 lsl r0, r0, #0x2 ldrh r0, [r4, r0] mov r1, #0x1c bl FUN_02068678 mov r1, #0x1 eor r0, r1 mov r1, #0xb6 lsl r1, r1, #0x2 str r0, [r4, r1] add r0, r1, #0x0 mov r2, #0x0 str r2, [sp, #0x0] sub r0, #0x1c str r2, [sp, #0x4] add r0, r4, r0 str r0, [sp, #0x8] str r2, [sp, #0xc] sub r1, #0x20 ldr r0, [r4, r1] add r1, sp, #0x10 mov r2, #0x34 mov r3, #0x68 bl FUN_020073A0 mov r2, #0xb5 lsl r2, r2, #0x2 str r0, [r4, r2] ldr r0, [r4, r2] add r2, r2, #0x4 ldr r2, [r4, r2] mov r1, #0x23 bl FUN_02007558 add sp, #0x20 pop {r4, pc} .balign 4 thumb_func_start FUN_0207F8D0 FUN_0207F8D0: ; 0x0207F8D0 push {r3-r4, lr} sub sp, #0xc mov r1, #0x2a add r4, r0, #0x0 lsl r1, r1, #0x4 ldr r0, [r4, r1] lsl r0, r0, #0x3 lsr r0, r0, #0x1f beq _0207F904 mov r2, #0x0 add r0, r1, #0x0 str r2, [sp, #0x0] add r0, #0x38 ldr r0, [r4, r0] mov r3, #0x2 str r0, [sp, #0x4] add r0, r1, #0x0 str r2, [sp, #0x8] add r0, #0x30 add r1, #0x34 ldr r0, [r4, r0] ldr r1, [r4, r1] bl FUN_02069038 add sp, #0xc pop {r3-r4, pc} _0207F904: add r1, #0x34 ldr r0, [r4, r1] mov r1, #0x1 bl FUN_02007314 mov r1, #0x0 mov r2, #0xb6 str r1, [sp, #0x0] lsl r2, r2, #0x2 ldr r0, [r4, r2] mov r3, #0x2 str r0, [sp, #0x4] str r1, [sp, #0x8] add r0, r2, #0x0 sub r1, r2, #0x4 sub r2, #0x7c sub r0, #0x8 ldrh r2, [r4, r2] ldr r0, [r4, r0] ldr r1, [r4, r1] bl FUN_02069038 add sp, #0xc pop {r3-r4, pc} thumb_func_start FUN_0207F934 FUN_0207F934: ; 0x0207F934 push {r4, lr} add r4, r0, #0x0 mov r0, #0x2d lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 bl FUN_02014D9C mov r0, #0xae lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_020072E8 add r0, r4, #0x0 bl FUN_0207F840 add r0, r4, #0x0 bl FUN_0207F8D0 pop {r4, pc} thumb_func_start FUN_0207F95C FUN_0207F95C: ; 0x0207F95C push {r4, lr} add r4, r0, #0x0 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldrb r1, [r0, #0x12] cmp r1, #0x3 bhi _0207F9AC add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0207F978: ; jump table (using 16-bit offset) .short _0207F980 - _0207F978 - 2; case 0 .short _0207F980 - _0207F978 - 2; case 1 .short _0207F9AC - _0207F978 - 2; case 2 .short _0207F9AC - _0207F978 - 2; case 3 _0207F980: ldr r0, [r0, #0x2c] ldr r1, _0207F9C4 ; =0x0000068F cmp r0, #0x0 beq _0207F992 ldrb r2, [r4, r1] mov r0, #0xf bic r2, r0 strb r2, [r4, r1] b _0207F9BA _0207F992: ldrb r2, [r4, r1] mov r0, #0xf bic r2, r0 mov r0, #0x1 orr r0, r2 strb r0, [r4, r1] mov r1, #0x4 ldr r0, [r4, #0x0] mov r2, #0x0 add r3, r1, #0x0 bl FUN_0201AEE4 b _0207F9BA _0207F9AC: ldr r1, _0207F9C4 ; =0x0000068F mov r0, #0xf ldrb r2, [r4, r1] bic r2, r0 mov r0, #0xf orr r0, r2 strb r0, [r4, r1] _0207F9BA: add r0, r4, #0x0 bl FUN_0207FA38 pop {r4, pc} nop _0207F9C4: .word 0x0000068F thumb_func_start FUN_0207F9C8 FUN_0207F9C8: ; 0x0207F9C8 push {r3-r7, lr} ldr r0, [r0, #0x0] add r4, r1, #0x0 mov r1, #0x4 add r5, r2, #0x0 bl FUN_0201886C add r7, r0, #0x0 lsl r0, r5, #0x2 add r1, r5, r0 ldrb r2, [r4, #0x0] mov r0, #0x1 mov r3, #0x0 add r5, r2, #0x0 and r5, r0 mov r0, #0xf mul r0, r5 lsr r5, r2, #0x1 mov r2, #0x96 mul r2, r5 add r0, r0, r2 add r0, r1, r0 add r0, #0x1e lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r12, r0 _0207F9FC: mov r0, #0x1e add r1, r3, #0x0 mul r1, r0 mov r0, r12 mov r2, #0x0 add r5, r0, r1 _0207FA08: ldrb r0, [r4, #0x1] ldrb r6, [r4, #0x3] lsl r1, r0, #0xc add r0, r2, r5 add r1, r1, r0 add r6, r3, r6 lsl r6, r6, #0x5 ldrb r0, [r4, #0x2] add r6, r2, r6 add r0, r0, r6 lsl r0, r0, #0x1 strh r1, [r7, r0] add r0, r2, #0x1 lsl r0, r0, #0x18 lsr r2, r0, #0x18 cmp r2, #0x5 blo _0207FA08 add r0, r3, #0x1 lsl r0, r0, #0x18 lsr r3, r0, #0x18 cmp r3, #0x5 blo _0207F9FC pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0207FA38 FUN_0207FA38: ; 0x0207FA38 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, _0207FA78 ; =0x0000068F ldrb r0, [r6, r0] lsl r0, r0, #0x1c lsr r0, r0, #0x1c cmp r0, #0xf beq _0207FA74 lsl r1, r0, #0x2 ldr r0, _0207FA7C ; =0x02106148 mov r5, #0x0 ldr r4, [r0, r1] add r7, r5, #0x0 _0207FA52: lsl r1, r5, #0x2 ldrb r0, [r4, r1] cmp r0, #0xff beq _0207FA6C add r0, r6, #0x0 add r1, r4, r1 add r2, r7, #0x0 bl FUN_0207F9C8 add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 b _0207FA52 _0207FA6C: ldr r0, [r6, #0x0] mov r1, #0x4 bl FUN_0201AC68 _0207FA74: pop {r3-r7, pc} nop _0207FA78: .word 0x0000068F _0207FA7C: .word 0x02106148 thumb_func_start FUN_0207FA80 FUN_0207FA80: ; 0x0207FA80 push {r3, lr} bl FUN_0207FA98 mov r1, #0x0 mvn r1, r1 cmp r0, r1 beq _0207FA94 lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3, pc} _0207FA94: mov r0, #0xff pop {r3, pc} thumb_func_start FUN_0207FA98 FUN_0207FA98: ; 0x0207FA98 push {r3, lr} ldr r1, _0207FAB8 ; =0x0000068F ldrb r0, [r0, r1] lsl r0, r0, #0x1c lsr r0, r0, #0x1c cmp r0, #0xf bne _0207FAAC mov r0, #0x0 mvn r0, r0 pop {r3, pc} _0207FAAC: lsl r1, r0, #0x2 ldr r0, _0207FABC ; =0x0210613C ldr r0, [r0, r1] bl FUN_02020988 pop {r3, pc} .balign 4 _0207FAB8: .word 0x0000068F _0207FABC: .word 0x0210613C thumb_func_start FUN_0207FAC0 FUN_0207FAC0: ; 0x0207FAC0 push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 ldr r0, _0207FB18 ; =0x0000068F ldrb r0, [r5, r0] lsl r0, r0, #0x1c lsr r0, r0, #0x1c cmp r0, #0xf bne _0207FADA mov r0, #0x0 add sp, #0x8 mvn r0, r0 pop {r3-r5, pc} _0207FADA: lsl r1, r0, #0x2 ldr r0, _0207FB1C ; =0x0210613C ldr r0, [r0, r1] bl FUN_02020968 add r4, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r4, r0 beq _0207FB12 ldr r1, _0207FB20 ; =0x0000FFFE add r0, sp, #0x4 strh r1, [r0, #0x0] add r0, sp, #0x4 str r0, [sp, #0x0] ldr r3, _0207FB24 ; =0x021C48F8 ldr r0, [r5, #0x0] ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] mov r1, #0x4 bl FUN_0201AFBC cmp r0, #0x0 bne _0207FB12 mov r0, #0x0 add sp, #0x8 mvn r0, r0 pop {r3-r5, pc} _0207FB12: add r0, r4, #0x0 add sp, #0x8 pop {r3-r5, pc} .balign 4 _0207FB18: .word 0x0000068F _0207FB1C: .word 0x0210613C _0207FB20: .word 0x0000FFFE _0207FB24: .word 0x021C48F8 thumb_func_start FUN_0207FB28 FUN_0207FB28: ; 0x0207FB28 push {r4-r6, lr} ldr r1, _0207FBF4 ; =0x0000068F add r5, r0, #0x0 ldrb r2, [r5, r1] lsl r2, r2, #0x1c lsr r3, r2, #0x1a ldr r2, _0207FBF8 ; =0x02106148 ldr r4, [r2, r3] add r2, r1, #0x6 ldrb r2, [r5, r2] cmp r2, #0x0 beq _0207FB4A cmp r2, #0x1 beq _0207FB84 cmp r2, #0x2 beq _0207FB8C b _0207FBEE _0207FB4A: sub r1, #0xab add r0, r1, #0x0 bl FUN_020054C8 add r0, r5, #0x0 bl FUN_0207FA38 ldr r1, _0207FBFC ; =0x00000696 add r0, r5, #0x0 ldrb r1, [r5, r1] mov r2, #0x2 lsl r1, r1, #0x2 add r1, r4, r1 bl FUN_0207F9C8 ldr r0, [r5, #0x0] mov r1, #0x4 bl FUN_0201AC68 add r0, r5, #0x0 bl FUN_0207CEDC ldr r0, _0207FC00 ; =0x00000694 mov r1, #0x0 strb r1, [r5, r0] mov r1, #0x1 add r0, r0, #0x1 strb r1, [r5, r0] b _0207FBEE _0207FB84: mov r2, #0x2 add r0, r1, #0x6 strb r2, [r5, r0] b _0207FBEE _0207FB8C: add r2, r1, #0x5 ldrb r2, [r5, r2] cmp r2, #0x3 beq _0207FBA0 add r0, r1, #0x5 ldrb r0, [r5, r0] add r2, r0, #0x1 add r0, r1, #0x5 strb r2, [r5, r0] b _0207FBEE _0207FBA0: bl FUN_0207CF58 ldr r0, _0207FBFC ; =0x00000696 ldrb r6, [r5, r0] add r0, r5, #0x0 bl FUN_0207FAC0 cmp r6, r0 beq _0207FBEE mov r0, #0x2a lsl r0, r0, #0x4 ldr r0, [r5, r0] lsl r0, r0, #0x3 lsr r0, r0, #0x1f beq _0207FBD6 lsl r1, r6, #0x2 ldrb r0, [r4, r1] cmp r0, #0x1 beq _0207FBD6 cmp r0, #0x7 beq _0207FBD6 add r0, r5, #0x0 add r1, r4, r1 mov r2, #0x0 bl FUN_0207F9C8 b _0207FBE2 _0207FBD6: lsl r1, r6, #0x2 add r0, r5, #0x0 add r1, r4, r1 mov r2, #0x1 bl FUN_0207F9C8 _0207FBE2: ldr r0, [r5, #0x0] mov r1, #0x4 bl FUN_0201AC68 mov r0, #0x1 pop {r4-r6, pc} _0207FBEE: mov r0, #0x0 pop {r4-r6, pc} nop _0207FBF4: .word 0x0000068F _0207FBF8: .word 0x02106148 _0207FBFC: .word 0x00000696 _0207FC00: .word 0x00000694 thumb_func_start FUN_0207FC04 FUN_0207FC04: ; 0x0207FC04 push {r4-r5} ldr r4, _0207FC38 ; =0x0000068F ldrb r3, [r0, r4] lsl r3, r3, #0x1c lsr r5, r3, #0x1a ldr r3, _0207FC3C ; =0x02106148 ldr r3, [r3, r5] add r5, r4, #0x7 ldrb r5, [r0, r5] lsl r5, r5, #0x2 add r5, r3, r5 ldrb r5, [r5, #0x2] lsl r5, r5, #0x3 add r5, #0x14 strh r5, [r1, #0x0] add r1, r4, #0x7 ldrb r0, [r0, r1] lsl r0, r0, #0x2 add r0, r3, r0 ldrb r0, [r0, #0x3] lsl r0, r0, #0x3 add r0, #0x14 strh r0, [r2, #0x0] pop {r4-r5} bx lr nop _0207FC38: .word 0x0000068F _0207FC3C: .word 0x02106148 thumb_func_start FUN_0207FC40 FUN_0207FC40: ; 0x0207FC40 ldr r2, _0207FC54 ; =0x0000068F ldrb r0, [r0, r2] lsl r0, r0, #0x1c lsr r2, r0, #0x1a ldr r0, _0207FC58 ; =0x02106148 ldr r2, [r0, r2] lsl r0, r1, #0x2 ldrb r0, [r2, r0] bx lr nop _0207FC54: .word 0x0000068F _0207FC58: .word 0x02106148 thumb_func_start FUN_0207FC5C FUN_0207FC5C: ; 0x0207FC5C cmp r1, #0x4 bhi _0207FCA8 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0207FC6C: ; jump table (using 16-bit offset) .short _0207FC76 - _0207FC6C - 2; case 0 .short _0207FC80 - _0207FC6C - 2; case 1 .short _0207FC8A - _0207FC6C - 2; case 2 .short _0207FC94 - _0207FC6C - 2; case 3 .short _0207FC9E - _0207FC6C - 2; case 4 _0207FC76: mov r1, #0xc mul r1, r0 ldr r0, _0207FCAC ; =0x020FB788 ldr r0, [r0, r1] bx lr _0207FC80: mov r1, #0xc mul r1, r0 ldr r0, _0207FCB0 ; =0x020FB78C ldrh r0, [r0, r1] bx lr _0207FC8A: mov r1, #0xc mul r1, r0 ldr r0, _0207FCB4 ; =0x020FB78E ldrh r0, [r0, r1] bx lr _0207FC94: mov r1, #0xc mul r1, r0 ldr r0, _0207FCB8 ; =0x020FB790 ldrh r0, [r0, r1] bx lr _0207FC9E: mov r1, #0xc mul r1, r0 ldr r0, _0207FCBC ; =0x020FB792 ldrh r0, [r0, r1] bx lr _0207FCA8: mov r0, #0x0 bx lr .balign 4 _0207FCAC: .word 0x020FB788 _0207FCB0: .word 0x020FB78C _0207FCB4: .word 0x020FB78E _0207FCB8: .word 0x020FB790 _0207FCBC: .word 0x020FB792 thumb_func_start FUN_0207FCC0 FUN_0207FCC0: ; 0x0207FCC0 mov r2, #0xc mul r2, r1 ldr r1, _0207FCDC ; =0x020FB792 ldrh r2, [r1, r2] mov r1, #0x2 lsl r1, r1, #0xe tst r1, r2 beq _0207FCD8 lsl r1, r2, #0x18 lsr r1, r1, #0x18 ldrb r2, [r0, r1] add r2, #0x92 _0207FCD8: add r0, r2, #0x0 bx lr .balign 4 _0207FCDC: .word 0x020FB792 thumb_func_start FUN_0207FCE0 FUN_0207FCE0: ; 0x0207FCE0 mov r1, #0xc mul r1, r0 ldr r0, _0207FCFC ; =0x020FB792 ldrh r1, [r0, r1] mov r0, #0x2 lsl r0, r0, #0xe tst r0, r1 beq _0207FCF6 lsl r0, r1, #0x18 lsr r0, r0, #0x18 bx lr _0207FCF6: mov r0, #0xff bx lr nop _0207FCFC: .word 0x020FB792 thumb_func_start FUN_0207FD00 FUN_0207FD00: ; 0x0207FD00 push {r3-r7, lr} add r7, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 add r0, r7, #0x0 mov r1, #0x3c bl FUN_02016998 add r4, r0, #0x0 mov r2, #0x65 str r7, [r4, #0x0] mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 add r3, r7, #0x0 bl FUN_0200A86C str r0, [r4, #0x4] ldr r2, [r4, #0x0] mov r0, #0x9 mov r1, #0x20 bl FUN_0200AA90 str r0, [r4, #0x8] str r5, [r4, #0xc] str r6, [r4, #0x10] mov r0, #0x0 str r0, [r4, #0x14] str r0, [r4, #0x18] str r0, [r4, #0x1c] str r0, [r4, #0x20] str r0, [r4, #0x24] str r0, [r4, #0x28] str r0, [r4, #0x2c] str r0, [r4, #0x30] str r0, [r4, #0x34] str r0, [r4, #0x38] ldr r0, [r4, #0xc] ldr r1, [r4, #0x10] ldr r2, [r4, #0x0] bl FUN_020806F4 cmp r0, #0x14 bls _0207FD5A b _02080090 _0207FD5A: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0207FD66: ; jump table (using 16-bit offset) .short _0207FD90 - _0207FD66 - 2; case 0 .short _0207FDBC - _0207FD66 - 2; case 1 .short _0207FDE8 - _0207FD66 - 2; case 2 .short _0207FE14 - _0207FD66 - 2; case 3 .short _0207FE40 - _0207FD66 - 2; case 4 .short _0207FE6C - _0207FD66 - 2; case 5 .short _0207FE98 - _0207FD66 - 2; case 6 .short _0207FEC4 - _0207FD66 - 2; case 7 .short _0207FEF0 - _0207FD66 - 2; case 8 .short _0207FF1C - _0207FD66 - 2; case 9 .short _0207FF3E - _0207FD66 - 2; case 10 .short _0207FF60 - _0207FD66 - 2; case 11 .short _0207FF82 - _0207FD66 - 2; case 12 .short _0207FFA4 - _0207FD66 - 2; case 13 .short _0207FFC6 - _0207FD66 - 2; case 14 .short _0207FFE8 - _0207FD66 - 2; case 15 .short _02080014 - _0207FD66 - 2; case 16 .short _0208002E - _0207FD66 - 2; case 17 .short _02080046 - _0207FD66 - 2; case 18 .short _02080060 - _0207FD66 - 2; case 19 .short _02080078 - _0207FD66 - 2; case 20 _0207FD90: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x31 bl FUN_02080108 mov r0, #0x6 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C mov r0, #0x7 str r0, [r4, #0x2c] add r0, r4, #0x0 bl FUN_02080678 b _02080090 _0207FDBC: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x32 bl FUN_02080108 mov r0, #0x6 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C mov r0, #0x7 str r0, [r4, #0x2c] add r0, r4, #0x0 bl FUN_02080678 b _02080090 _0207FDE8: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x33 bl FUN_02080108 mov r0, #0x6 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C mov r0, #0x7 str r0, [r4, #0x2c] add r0, r4, #0x0 bl FUN_02080678 b _02080090 _0207FE14: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x34 bl FUN_02080108 mov r0, #0x8 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C mov r0, #0x9 str r0, [r4, #0x2c] add r0, r4, #0x0 bl FUN_02080678 b _02080090 _0207FE40: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x35 bl FUN_02080108 mov r0, #0x8 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C mov r0, #0x9 str r0, [r4, #0x2c] add r0, r4, #0x0 bl FUN_02080678 b _02080090 _0207FE6C: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x36 bl FUN_02080108 mov r0, #0x8 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C mov r0, #0x9 str r0, [r4, #0x2c] add r0, r4, #0x0 bl FUN_02080678 b _02080090 _0207FE98: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x37 bl FUN_02080108 mov r0, #0x8 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C mov r0, #0x9 str r0, [r4, #0x2c] add r0, r4, #0x0 bl FUN_02080678 b _02080090 _0207FEC4: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x38 bl FUN_02080108 mov r0, #0x7 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C mov r0, #0x8 str r0, [r4, #0x2c] add r0, r4, #0x0 bl FUN_02080678 b _02080090 _0207FEF0: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x39 bl FUN_02080108 mov r0, #0x7 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C mov r0, #0x8 str r0, [r4, #0x2c] add r0, r4, #0x0 bl FUN_02080678 b _02080090 _0207FF1C: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x3a bl FUN_02080108 mov r0, #0x9 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C b _02080090 _0207FF3E: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x3b bl FUN_02080108 mov r0, #0x9 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C b _02080090 _0207FF60: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x3c bl FUN_02080108 mov r0, #0x9 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C b _02080090 _0207FF82: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x3d bl FUN_02080108 mov r0, #0x9 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C b _02080090 _0207FFA4: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x3e bl FUN_02080108 mov r0, #0x9 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C b _02080090 _0207FFC6: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x3f bl FUN_02080108 mov r0, #0x9 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C b _02080090 _0207FFE8: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x40 bl FUN_02080228 mov r0, #0x6 str r0, [r4, #0x24] add r0, r4, #0x0 bl FUN_0208048C mov r0, #0x7 str r0, [r4, #0x2c] add r0, r4, #0x0 bl FUN_02080678 b _02080090 _02080014: mov r0, #0x1 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x65 mov r2, #0x0 bl FUN_02080384 mov r0, #0x6 str r0, [r4, #0x34] add r0, r4, #0x0 bl FUN_020806B4 b _02080090 _0208002E: mov r2, #0x1 add r0, r4, #0x0 mov r1, #0x66 str r2, [r4, #0x1c] bl FUN_02080384 mov r0, #0x6 str r0, [r4, #0x34] add r0, r4, #0x0 bl FUN_020806B4 b _02080090 _02080046: mov r0, #0x1 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x67 mov r2, #0x0 bl FUN_02080384 mov r0, #0x6 str r0, [r4, #0x34] add r0, r4, #0x0 bl FUN_020806B4 b _02080090 _02080060: mov r2, #0x1 add r0, r4, #0x0 mov r1, #0x67 str r2, [r4, #0x1c] bl FUN_02080384 mov r0, #0x6 str r0, [r4, #0x34] add r0, r4, #0x0 bl FUN_020806B4 b _02080090 _02080078: mov r0, #0x1 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x68 mov r2, #0x0 bl FUN_02080384 mov r0, #0x6 str r0, [r4, #0x34] add r0, r4, #0x0 bl FUN_020806B4 _02080090: add r0, r4, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02080094 FUN_02080094: ; 0x02080094 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x18] cmp r0, #0x0 beq _020800A2 bl FUN_02016A18 _020800A2: ldr r0, [r4, #0x20] cmp r0, #0x0 beq _020800AC bl FUN_02016A18 _020800AC: ldr r0, [r4, #0x28] cmp r0, #0x0 beq _020800B6 bl FUN_02016A18 _020800B6: ldr r0, [r4, #0x30] cmp r0, #0x0 beq _020800C0 bl FUN_02016A18 _020800C0: ldr r0, [r4, #0x38] cmp r0, #0x0 beq _020800CA bl FUN_02016A18 _020800CA: ldr r0, [r4, #0x8] bl FUN_0200AB18 ldr r0, [r4, #0x4] bl FUN_0200A8B8 add r0, r4, #0x0 bl FUN_02016A18 pop {r4, pc} .balign 4 thumb_func_start FUN_020800E0 FUN_020800E0: ; 0x020800E0 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_02068854 add r4, r0, #0x0 cmp r4, #0x18 bgt _02080106 ldr r1, [r5, #0x0] mov r0, #0x48 bl FUN_020219F4 str r0, [r5, #0x18] add r4, #0x18 ldr r0, [r5, #0x4] ldr r2, [r5, #0x18] add r1, r4, #0x0 bl FUN_0200A8E0 _02080106: pop {r3-r5, pc} thumb_func_start FUN_02080108 FUN_02080108: ; 0x02080108 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0x9 ldr r1, [r5, #0x0] lsl r0, r0, #0x6 bl FUN_020219F4 add r4, r0, #0x0 mov r0, #0x9 ldr r1, [r5, #0x0] lsl r0, r0, #0x6 bl FUN_020219F4 str r0, [r5, #0x20] ldr r0, [r5, #0x4] add r1, r6, #0x0 add r2, r4, #0x0 bl FUN_0200A8E0 ldr r0, [r5, #0xc] mov r1, #0x94 mov r2, #0x0 bl FUN_020671BC mov r3, #0x2 add r2, r0, #0x0 str r3, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, [r5, #0x8] mov r1, #0x0 bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x95 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x1 bl FUN_0200B764 ldr r0, [r5, #0xc] mov r1, #0x96 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r1, #0x2 ldr r0, [r5, #0x8] add r3, r1, #0x0 bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x9b mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r1, #0x3 ldr r0, [r5, #0x8] add r3, r1, #0x0 bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x98 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x4 bl FUN_0200B59C ldr r0, [r5, #0xc] mov r1, #0x91 mov r2, #0x0 bl FUN_020671BC mov r3, #0x2 add r2, r0, #0x0 str r3, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, [r5, #0x8] mov r1, #0x5 bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x92 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x6 bl FUN_0200B764 ldr r0, [r5, #0xc] mov r1, #0x93 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, [r5, #0x8] mov r1, #0x7 mov r3, #0x2 bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x97 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x8 bl FUN_0200B59C ldr r0, [r5, #0x8] ldr r1, [r5, #0x20] add r2, r4, #0x0 bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 add sp, #0x8 pop {r4-r6, pc} thumb_func_start FUN_02080228 FUN_02080228: ; 0x02080228 push {r4-r6, lr} sub sp, #0x8 add r4, r0, #0x0 add r6, r1, #0x0 mov r0, #0x12 ldr r1, [r4, #0x0] lsl r0, r0, #0x4 bl FUN_020219F4 add r5, r0, #0x0 mov r0, #0x12 ldr r1, [r4, #0x0] lsl r0, r0, #0x4 bl FUN_020219F4 str r0, [r4, #0x20] ldr r0, [r4, #0x4] add r1, r6, #0x0 add r2, r5, #0x0 bl FUN_0200A8E0 ldr r0, [r4, #0xc] mov r1, #0x94 mov r2, #0x0 bl FUN_020671BC mov r3, #0x2 add r2, r0, #0x0 str r3, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, [r4, #0x8] mov r1, #0x0 bl FUN_0200AD38 ldr r0, [r4, #0xc] mov r1, #0x95 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r4, #0x8] mov r1, #0x1 bl FUN_0200B764 ldr r0, [r4, #0xc] mov r1, #0x96 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r1, #0x2 ldr r0, [r4, #0x8] add r3, r1, #0x0 bl FUN_0200AD38 ldr r0, [r4, #0xc] mov r1, #0x9b mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r1, #0x3 ldr r0, [r4, #0x8] add r3, r1, #0x0 bl FUN_0200AD38 ldr r0, [r4, #0xc] mov r1, #0x79 mov r2, #0x0 bl FUN_020671BC cmp r0, #0xf bhi _020802F8 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020802D8: ; jump table (using 16-bit offset) .short _020802F8 - _020802D8 - 2; case 0 .short _02080334 - _020802D8 - 2; case 1 .short _02080334 - _020802D8 - 2; case 2 .short _02080334 - _020802D8 - 2; case 3 .short _0208030C - _020802D8 - 2; case 4 .short _0208030C - _020802D8 - 2; case 5 .short _020802F8 - _020802D8 - 2; case 6 .short _02080320 - _020802D8 - 2; case 7 .short _02080320 - _020802D8 - 2; case 8 .short _020802F8 - _020802D8 - 2; case 9 .short _0208035C - _020802D8 - 2; case 10 .short _0208035C - _020802D8 - 2; case 11 .short _020802F8 - _020802D8 - 2; case 12 .short _020802F8 - _020802D8 - 2; case 13 .short _020802F8 - _020802D8 - 2; case 14 .short _02080348 - _020802D8 - 2; case 15 _020802F8: mov r0, #0x1 mov r1, #0x7 bl FUN_02015CF8 add r2, r0, #0x0 ldr r0, [r4, #0x8] mov r1, #0x4 bl FUN_0200B59C b _0208036E _0208030C: mov r0, #0x1 mov r1, #0x3 bl FUN_02015CF8 add r2, r0, #0x0 ldr r0, [r4, #0x8] mov r1, #0x4 bl FUN_0200B59C b _0208036E _02080320: mov r0, #0x1 mov r1, #0x4 bl FUN_02015CF8 add r2, r0, #0x0 ldr r0, [r4, #0x8] mov r1, #0x4 bl FUN_0200B59C b _0208036E _02080334: mov r0, #0x1 mov r1, #0x5 bl FUN_02015CF8 add r2, r0, #0x0 ldr r0, [r4, #0x8] mov r1, #0x4 bl FUN_0200B59C b _0208036E _02080348: mov r0, #0x1 mov r1, #0x8 bl FUN_02015CF8 add r2, r0, #0x0 ldr r0, [r4, #0x8] mov r1, #0x4 bl FUN_0200B59C b _0208036E _0208035C: mov r0, #0x1 mov r1, #0x7 bl FUN_02015CF8 add r2, r0, #0x0 ldr r0, [r4, #0x8] mov r1, #0x4 bl FUN_0200B59C _0208036E: ldr r0, [r4, #0x8] ldr r1, [r4, #0x20] add r2, r5, #0x0 bl FUN_0200B7B8 add r0, r5, #0x0 bl FUN_02021A20 add sp, #0x8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02080384 FUN_02080384: ; 0x02080384 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r7, r1, #0x0 mov r0, #0x5a ldr r1, [r5, #0x0] lsl r0, r0, #0x2 add r6, r2, #0x0 bl FUN_020219F4 add r4, r0, #0x0 mov r0, #0x5a ldr r1, [r5, #0x0] lsl r0, r0, #0x2 bl FUN_020219F4 str r0, [r5, #0x20] ldr r0, [r5, #0x4] add r1, r7, #0x0 add r2, r4, #0x0 bl FUN_0200A8E0 cmp r6, #0x0 ldr r0, [r5, #0xc] bne _02080418 mov r1, #0x91 mov r2, #0x0 bl FUN_020671BC mov r3, #0x2 add r2, r0, #0x0 str r3, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, [r5, #0x8] mov r1, #0x5 bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x92 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x6 bl FUN_0200B764 ldr r0, [r5, #0xc] mov r1, #0x93 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, [r5, #0x8] mov r1, #0x7 mov r3, #0x2 bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x97 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x8 bl FUN_0200B59C b _02080478 _02080418: mov r1, #0x94 mov r2, #0x0 bl FUN_020671BC mov r3, #0x2 add r2, r0, #0x0 str r3, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, [r5, #0x8] mov r1, #0x5 bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x95 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x6 bl FUN_0200B764 ldr r0, [r5, #0xc] mov r1, #0x96 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, [r5, #0x8] mov r1, #0x7 mov r3, #0x2 bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x98 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x8 bl FUN_0200B59C _02080478: ldr r0, [r5, #0x8] ldr r1, [r5, #0x20] add r2, r4, #0x0 bl FUN_0200B7B8 add r0, r4, #0x0 bl FUN_02021A20 add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_0208048C FUN_0208048C: ; 0x0208048C push {r3-r7, lr} sub sp, #0x10 add r4, r0, #0x0 ldr r1, [r4, #0x0] mov r0, #0x48 bl FUN_020219F4 str r0, [r4, #0x28] ldr r0, [r4, #0xc] mov r1, #0x46 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0xc] ldr r0, [r4, #0xc] mov r1, #0x47 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x8] ldr r0, [r4, #0xc] mov r1, #0x48 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x4] ldr r0, [r4, #0xc] mov r1, #0x49 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x0] ldr r0, [r4, #0xc] mov r1, #0x4a mov r2, #0x0 bl FUN_020671BC add r7, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x4b mov r2, #0x0 bl FUN_020671BC add r6, r0, #0x0 mov r1, #0x0 ldr r0, [r4, #0xc] add r2, r1, #0x0 bl FUN_020671BC mov r1, #0x6 blx _u32_div_f cmp r1, #0x5 bhi _02080510 add r0, r1, r1 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02080504: ; jump table (using 16-bit offset) .short _02080510 - _02080504 - 2; case 0 .short _02080548 - _02080504 - 2; case 1 .short _0208057E - _02080504 - 2; case 2 .short _020805B4 - _02080504 - 2; case 3 .short _020805EA - _02080504 - 2; case 4 .short _02080620 - _02080504 - 2; case 5 _02080510: ldr r0, [sp, #0xc] ldr r1, [sp, #0x8] add r2, r0, #0x0 mov r5, #0x0 cmp r2, r1 bge _02080520 mov r5, #0x1 add r0, r1, #0x0 _02080520: ldr r1, [sp, #0x4] cmp r0, r1 bge _0208052A mov r5, #0x2 add r0, r1, #0x0 _0208052A: ldr r1, [sp, #0x0] cmp r0, r1 bge _02080534 mov r5, #0x3 add r0, r1, #0x0 _02080534: cmp r0, r7 bge _0208053C mov r5, #0x4 add r0, r7, #0x0 _0208053C: cmp r0, r6 blt _02080542 b _02080654 _02080542: mov r5, #0x5 add r0, r6, #0x0 b _02080654 _02080548: ldr r0, [sp, #0x8] ldr r1, [sp, #0x4] add r2, r0, #0x0 mov r5, #0x1 cmp r2, r1 bge _02080558 mov r5, #0x2 add r0, r1, #0x0 _02080558: ldr r1, [sp, #0x0] cmp r0, r1 bge _02080562 mov r5, #0x3 add r0, r1, #0x0 _02080562: cmp r0, r7 bge _0208056A mov r5, #0x4 add r0, r7, #0x0 _0208056A: cmp r0, r6 bge _02080572 mov r5, #0x5 add r0, r6, #0x0 _02080572: ldr r1, [sp, #0xc] cmp r0, r1 bge _02080654 mov r5, #0x0 add r0, r1, #0x0 b _02080654 _0208057E: ldr r0, [sp, #0x4] ldr r1, [sp, #0x0] add r2, r0, #0x0 mov r5, #0x2 cmp r2, r1 bge _0208058E mov r5, #0x3 add r0, r1, #0x0 _0208058E: cmp r0, r7 bge _02080596 mov r5, #0x4 add r0, r7, #0x0 _02080596: cmp r0, r6 bge _0208059E mov r5, #0x5 add r0, r6, #0x0 _0208059E: ldr r1, [sp, #0xc] cmp r0, r1 bge _020805A8 mov r5, #0x0 add r0, r1, #0x0 _020805A8: ldr r1, [sp, #0x8] cmp r0, r1 bge _02080654 mov r5, #0x1 add r0, r1, #0x0 b _02080654 _020805B4: ldr r0, [sp, #0x0] mov r5, #0x3 add r1, r0, #0x0 cmp r1, r7 bge _020805C2 mov r5, #0x4 add r0, r7, #0x0 _020805C2: cmp r0, r6 bge _020805CA mov r5, #0x5 add r0, r6, #0x0 _020805CA: ldr r1, [sp, #0xc] cmp r0, r1 bge _020805D4 mov r5, #0x0 add r0, r1, #0x0 _020805D4: ldr r1, [sp, #0x8] cmp r0, r1 bge _020805DE mov r5, #0x1 add r0, r1, #0x0 _020805DE: ldr r1, [sp, #0x4] cmp r0, r1 bge _02080654 mov r5, #0x2 add r0, r1, #0x0 b _02080654 _020805EA: mov r5, #0x4 add r0, r7, #0x0 cmp r7, r6 bge _020805F6 mov r5, #0x5 add r0, r6, #0x0 _020805F6: ldr r1, [sp, #0xc] cmp r0, r1 bge _02080600 mov r5, #0x0 add r0, r1, #0x0 _02080600: ldr r1, [sp, #0x8] cmp r0, r1 bge _0208060A mov r5, #0x1 add r0, r1, #0x0 _0208060A: ldr r1, [sp, #0x4] cmp r0, r1 bge _02080614 mov r5, #0x2 add r0, r1, #0x0 _02080614: ldr r1, [sp, #0x0] cmp r0, r1 bge _02080654 mov r5, #0x3 add r0, r1, #0x0 b _02080654 _02080620: ldr r1, [sp, #0xc] mov r5, #0x5 add r0, r6, #0x0 cmp r6, r1 bge _0208062E mov r5, #0x0 add r0, r1, #0x0 _0208062E: ldr r1, [sp, #0x8] cmp r0, r1 bge _02080638 mov r5, #0x1 add r0, r1, #0x0 _02080638: ldr r1, [sp, #0x4] cmp r0, r1 bge _02080642 mov r5, #0x2 add r0, r1, #0x0 _02080642: ldr r1, [sp, #0x0] cmp r0, r1 bge _0208064C mov r5, #0x3 add r0, r1, #0x0 _0208064C: cmp r0, r7 bge _02080654 mov r5, #0x4 add r0, r7, #0x0 _02080654: mov r1, #0x5 blx _s32_div_f mov r2, #0xa add r6, r5, #0x0 mul r6, r2 ldr r3, _02080674 ; =0x020FBB54 lsl r2, r1, #0x1 add r1, r3, r6 ldrh r1, [r2, r1] ldr r0, [r4, #0x4] ldr r2, [r4, #0x28] bl FUN_0200A8E0 add sp, #0x10 pop {r3-r7, pc} .balign 4 _02080674: .word 0x020FBB54 thumb_func_start FUN_02080678 FUN_02080678: ; 0x02080678 push {r4-r6, lr} add r5, r0, #0x0 ldr r1, [r5, #0x0] mov r0, #0x48 bl FUN_020219F4 mov r6, #0x0 str r0, [r5, #0x30] add r4, r6, #0x0 _0208068A: ldr r0, [r5, #0xc] add r1, r4, #0x0 bl FUN_02069BC8 cmp r0, #0x1 bne _02080698 add r6, r4, #0x1 _02080698: add r4, r4, #0x1 cmp r4, #0x5 blt _0208068A ldr r1, _020806B0 ; =0x020FBB48 lsl r2, r6, #0x1 ldrh r1, [r1, r2] ldr r0, [r5, #0x4] ldr r2, [r5, #0x30] bl FUN_0200A8E0 pop {r4-r6, pc} nop _020806B0: .word 0x020FBB48 thumb_func_start FUN_020806B4 FUN_020806B4: ; 0x020806B4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] mov r1, #0x9 mov r2, #0x0 bl FUN_020671BC add r4, r0, #0x0 mov r0, #0x12 ldr r1, [r5, #0x0] lsl r0, r0, #0x4 bl FUN_020219F4 str r0, [r5, #0x38] cmp r4, #0x5 bgt _020806D8 mov r1, #0x69 b _020806EA _020806D8: cmp r4, #0xa bgt _020806E0 mov r1, #0x6a b _020806EA _020806E0: cmp r4, #0x28 bgt _020806E8 mov r1, #0x6b b _020806EA _020806E8: mov r1, #0x6c _020806EA: ldr r0, [r5, #0x4] ldr r2, [r5, #0x38] bl FUN_0200A8E0 pop {r3-r5, pc} thumb_func_start FUN_020806F4 FUN_020806F4: ; 0x020806F4 push {r4-r6, lr} add r4, r1, #0x0 mov r1, #0x4c mov r2, #0x0 add r5, r0, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _02080708 b _0208084E _02080708: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 bne _02080774 add r0, r5, #0x0 mov r1, #0x98 mov r2, #0x0 bl FUN_020671BC add r6, r0, #0x0 mov r0, #0x0 mov r1, #0x37 bl FUN_02015CF8 cmp r6, r0 bne _02080732 mov r0, #0xf pop {r4-r6, pc} _02080732: add r0, r5, #0x0 mov r1, #0x6e mov r2, #0x0 bl FUN_020671BC cmp r0, #0x1 bne _0208074C cmp r4, #0x1 bne _02080748 mov r0, #0x7 pop {r4-r6, pc} _02080748: mov r0, #0x8 pop {r4-r6, pc} _0208074C: add r0, r5, #0x0 mov r1, #0x98 mov r2, #0x0 bl FUN_020671BC add r5, r0, #0x0 mov r0, #0x1 add r1, r0, #0x0 bl FUN_02015CF8 cmp r5, r0 bne _02080768 mov r0, #0x2 pop {r4-r6, pc} _02080768: cmp r4, #0x1 bne _02080770 mov r0, #0x0 pop {r4-r6, pc} _02080770: mov r0, #0x1 pop {r4-r6, pc} _02080774: add r0, r5, #0x0 mov r1, #0x6e mov r2, #0x0 bl FUN_020671BC cmp r0, #0x1 bne _020807D6 add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 bl FUN_020671BC add r6, r0, #0x0 mov r0, #0x1 mov r1, #0x2 bl FUN_02015CF8 cmp r6, r0 bne _020807A6 cmp r4, #0x1 bne _020807A2 mov r0, #0xd pop {r4-r6, pc} _020807A2: mov r0, #0xe pop {r4-r6, pc} _020807A6: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 bl FUN_020671BC add r5, r0, #0x0 mov r0, #0x2 mov r1, #0x1 bl FUN_02015CF8 cmp r5, r0 bne _020807CA cmp r4, #0x1 bne _020807C6 mov r0, #0xb pop {r4-r6, pc} _020807C6: mov r0, #0xc pop {r4-r6, pc} _020807CA: cmp r4, #0x1 bne _020807D2 mov r0, #0x9 pop {r4-r6, pc} _020807D2: mov r0, #0xa pop {r4-r6, pc} _020807D6: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 bl FUN_020671BC add r6, r0, #0x0 mov r0, #0x1 add r1, r0, #0x0 bl FUN_02015CF8 cmp r6, r0 beq _02080836 add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 bl FUN_020671BC add r6, r0, #0x0 mov r0, #0x1 mov r1, #0x0 bl FUN_02015CF8 cmp r6, r0 beq _02080836 add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 bl FUN_020671BC add r6, r0, #0x0 mov r0, #0x1 mov r1, #0x9 bl FUN_02015CF8 cmp r6, r0 beq _02080836 add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 bl FUN_020671BC add r5, r0, #0x0 mov r0, #0x1 mov r1, #0xa bl FUN_02015CF8 cmp r5, r0 bne _02080842 _02080836: cmp r4, #0x1 bne _0208083E mov r0, #0x5 pop {r4-r6, pc} _0208083E: mov r0, #0x6 pop {r4-r6, pc} _02080842: cmp r4, #0x1 bne _0208084A mov r0, #0x3 pop {r4-r6, pc} _0208084A: mov r0, #0x4 pop {r4-r6, pc} _0208084E: cmp r4, #0x1 bne _02080884 add r0, r5, #0x0 mov r1, #0x6e mov r2, #0x0 bl FUN_020671BC cmp r0, #0x1 bne _02080880 add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 bl FUN_020671BC add r4, r0, #0x0 mov r0, #0x2 mov r1, #0x1 bl FUN_02015CF8 cmp r4, r0 bne _0208087C mov r0, #0x14 pop {r4-r6, pc} _0208087C: mov r0, #0x12 pop {r4-r6, pc} _02080880: mov r0, #0x10 pop {r4-r6, pc} _02080884: add r0, r5, #0x0 mov r1, #0x6e mov r2, #0x0 bl FUN_020671BC cmp r0, #0x1 bne _02080896 mov r0, #0x13 pop {r4-r6, pc} _02080896: mov r0, #0x11 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0208089C FUN_0208089C: ; 0x0208089C push {r3-r4, lr} sub sp, #0x4 ldr r4, [sp, #0x10] str r4, [sp, #0x0] bl FUN_020808AC add sp, #0x4 pop {r3-r4, pc} thumb_func_start FUN_020808AC FUN_020808AC: ; 0x020808AC push {r3-r7, lr} add r4, r0, #0x0 add r7, r1, #0x0 add r5, r3, #0x0 ldr r6, [sp, #0x18] cmp r2, #0x6 bls _020808BC b _02080AE0 _020808BC: add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _020808C8: ; jump table (using 16-bit offset) .short _020808D6 - _020808C8 - 2; case 0 .short _0208092A - _020808C8 - 2; case 1 .short _02080974 - _020808C8 - 2; case 2 .short _02080994 - _020808C8 - 2; case 3 .short _020809B0 - _020808C8 - 2; case 4 .short _02080A38 - _020808C8 - 2; case 5 .short _02080A58 - _020808C8 - 2; case 6 _020808D6: mov r0, #0x1 mov r1, #0x0 bl FUN_02015CF8 cmp r5, r0 ble _020808E4 mov r5, #0x0 _020808E4: add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 bl FUN_020672BC cmp r0, #0x0 bne _0208090C add r0, r4, #0x0 mov r1, #0x0 bl FUN_02080BA8 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x1 bl FUN_02080B30 add r0, r4, #0x0 bl FUN_02080C08 b _0208091E _0208090C: add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x0 bl FUN_02080B30 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02080BA8 _0208091E: add r0, r4, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 bl FUN_02080AE4 pop {r3-r7, pc} _0208092A: mov r1, #0x4c mov r2, #0x0 bl FUN_020672BC cmp r0, #0x0 bne _02080958 add r0, r4, #0x0 mov r1, #0x0 bl FUN_02080BA8 mov r0, #0x1 add r1, r0, #0x0 bl FUN_02015CF8 add r1, r0, #0x0 add r0, r4, #0x0 mov r2, #0x1 bl FUN_02080B30 add r0, r4, #0x0 bl FUN_02080C08 pop {r3-r7, pc} _02080958: add r0, r4, #0x0 mov r1, #0x0 bl FUN_02080BA8 mov r0, #0x1 add r1, r0, #0x0 bl FUN_02015CF8 add r1, r0, #0x0 add r0, r4, #0x0 mov r2, #0x1 bl FUN_02080B30 pop {r3-r7, pc} _02080974: mov r1, #0x0 bl FUN_02080BA8 mov r0, #0x0 mov r1, #0x37 bl FUN_02015CF8 add r1, r0, #0x0 add r0, r4, #0x0 mov r2, #0x1 bl FUN_02080B30 add r0, r4, #0x0 bl FUN_02080C08 pop {r3-r7, pc} _02080994: add r1, r5, #0x0 mov r2, #0x0 bl FUN_02080B30 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02080BA8 add r0, r4, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 bl FUN_02080AE4 pop {r3-r7, pc} _020809B0: add r2, r6, #0x0 bl FUN_0206A9AC cmp r0, #0x1 bne _020809F6 add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 bl FUN_020672BC cmp r0, #0x0 bne _020809E2 add r0, r4, #0x0 mov r1, #0x0 bl FUN_02080BA8 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x1 bl FUN_02080B30 add r0, r4, #0x0 bl FUN_02080C08 b _02080A30 _020809E2: add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x0 bl FUN_02080B30 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02080BA8 b _02080A30 _020809F6: add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 bl FUN_020672BC cmp r0, #0x0 bne _02080A1E add r0, r4, #0x0 mov r1, #0x0 bl FUN_02080BA8 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x1 bl FUN_02080B30 add r0, r4, #0x0 bl FUN_02080C08 b _02080A30 _02080A1E: add r0, r4, #0x0 mov r1, #0x0 bl FUN_02080BA8 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x1 bl FUN_02080B30 _02080A30: add r0, r4, #0x0 bl FUN_02080C28 pop {r3-r7, pc} _02080A38: mov r1, #0x4c mov r2, #0x0 bl FUN_020672BC cmp r0, #0x0 beq _02080AE0 mov r0, #0x1 mov r1, #0x2 bl FUN_02015CF8 add r1, r0, #0x0 add r0, r4, #0x0 mov r2, #0x1 bl FUN_02080B30 pop {r3-r7, pc} _02080A58: mov r0, #0x1 mov r1, #0x0 bl FUN_02015CF8 cmp r5, r0 ble _02080A66 mov r5, #0x0 _02080A66: add r0, r4, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 bl FUN_0206A9AC cmp r0, #0x0 bne _02080ACC add r0, r4, #0x0 mov r1, #0x98 mov r2, #0x0 bl FUN_020672BC str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x97 add r2, sp, #0x0 bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x94 mov r2, #0x0 bl FUN_020672BC str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x91 add r2, sp, #0x0 bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x95 mov r2, #0x0 bl FUN_020672BC str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x92 add r2, sp, #0x0 bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x96 mov r2, #0x0 bl FUN_020672BC str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x93 add r2, sp, #0x0 bl FUN_02067960 _02080ACC: add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x1 bl FUN_02080B30 add r0, r4, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 bl FUN_02080AE4 _02080AE0: pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02080AE4 FUN_02080AE4: ; 0x02080AE4 push {r4-r6, lr} sub sp, #0x8 add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 add r6, r2, #0x0 bl FUN_020239BC str r0, [sp, #0x4] add r0, r4, #0x0 bl FUN_020239CC str r0, [sp, #0x0] add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_020239A0 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x7 add r2, sp, #0x4 bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x9c add r2, sp, #0x0 bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x90 add r2, r4, #0x0 bl FUN_02067960 add r0, r4, #0x0 bl FUN_02021A20 add sp, #0x8 pop {r4-r6, pc} thumb_func_start FUN_02080B30 FUN_02080B30: ; 0x02080B30 push {r0-r3} push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 add r0, sp, #0x0 add r4, r2, #0x0 bl FUN_020126B4 cmp r4, #0x0 add r2, sp, #0x24 bne _02080B76 add r0, r5, #0x0 mov r1, #0x97 bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x91 add r2, sp, #0x0 bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x92 add r2, sp, #0x4 bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x93 add r2, sp, #0x8 bl FUN_02067960 add sp, #0x10 pop {r3-r5} pop {r3} add sp, #0x10 bx r3 _02080B76: add r0, r5, #0x0 mov r1, #0x98 bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x94 add r2, sp, #0x0 bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x95 add r2, sp, #0x4 bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x96 add r2, sp, #0x8 bl FUN_02067960 add sp, #0x10 pop {r3-r5} pop {r3} add sp, #0x10 bx r3 .balign 4 thumb_func_start FUN_02080BA8 FUN_02080BA8: ; 0x02080BA8 push {r3-r4, lr} sub sp, #0x4 mov r2, #0x0 add r4, r0, #0x0 str r2, [sp, #0x0] cmp r1, #0x0 add r2, sp, #0x0 bne _02080BE0 mov r1, #0x97 bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x91 add r2, sp, #0x0 bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x92 add r2, sp, #0x0 bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x93 add r2, sp, #0x0 bl FUN_02067960 add sp, #0x4 pop {r3-r4, pc} _02080BE0: mov r1, #0x98 bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x94 add r2, sp, #0x0 bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x95 add r2, sp, #0x0 bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x96 add r2, sp, #0x0 bl FUN_02067960 add sp, #0x4 pop {r3-r4, pc} thumb_func_start FUN_02080C08 FUN_02080C08: ; 0x02080C08 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020672BC str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x9b add r2, sp, #0x0 bl FUN_02067960 add sp, #0x4 pop {r3-r4, pc} .balign 4 thumb_func_start FUN_02080C28 FUN_02080C28: ; 0x02080C28 push {r3, lr} mov r1, #0x1 str r1, [sp, #0x0] mov r1, #0x6e add r2, sp, #0x0 bl FUN_02067960 pop {r3, pc} thumb_func_start FUN_02080C38 FUN_02080C38: ; 0x02080C38 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0xb mov r1, #0x8 bl FUN_020169D8 mov r1, #0x0 mov r2, #0x8 add r4, r0, #0x0 blx MI_CpuFill8 ldr r1, _02080C5C ; =FUN_02080C60 add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_0204640C pop {r3-r5, pc} nop _02080C5C: .word FUN_02080C60 thumb_func_start FUN_02080C60 FUN_02080C60: ; 0x02080C60 push {r3-r7, lr} sub sp, #0x28 add r5, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0xe bls _02080C7C b _02080DE2 _02080C7C: add r1, r0, r0 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02080C88: ; jump table (using 16-bit offset) .short _02080CA6 - _02080C88 - 2; case 0 .short _02080CB4 - _02080C88 - 2; case 1 .short _02080D16 - _02080C88 - 2; case 2 .short _02080D28 - _02080C88 - 2; case 3 .short _02080D36 - _02080C88 - 2; case 4 .short _02080D48 - _02080C88 - 2; case 5 .short _02080D64 - _02080C88 - 2; case 6 .short _02080D78 - _02080C88 - 2; case 7 .short _02080D8A - _02080C88 - 2; case 8 .short _02080D9C - _02080C88 - 2; case 9 .short _02080DAE - _02080C88 - 2; case 10 .short _02080DC0 - _02080C88 - 2; case 11 .short _02080DCE - _02080C88 - 2; case 12 .short _02080DD4 - _02080C88 - 2; case 13 .short _02080DE6 - _02080C88 - 2; case 14 _02080CA6: add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080DF2 _02080CB4: ldr r0, [r6, #0xc] bl FUN_0206BB1C mov r1, #0x0 bl FUN_0206B9B0 add r7, r0, #0x0 add r0, r6, #0x0 bl FUN_020377AC bl FUN_020238F4 mov r1, #0xb str r0, [sp, #0x0] bl FUN_020239A0 add r5, r0, #0x0 mov r1, #0x0 add r0, sp, #0x4 strb r1, [r0, #0x0] strb r1, [r0, #0x1] mov r1, #0x2 strb r1, [r0, #0x2] ldr r0, [sp, #0x0] str r7, [sp, #0xc] str r5, [sp, #0x10] str r0, [sp, #0x14] ldr r0, [r6, #0xc] bl FUN_02027E24 str r0, [sp, #0x18] ldr r0, [r6, #0xc] bl LoadPlayerDataAddress str r0, [sp, #0x1c] add r0, sp, #0x4 bl FUN_02081214 str r0, [r4, #0x0] add r0, r5, #0x0 bl FUN_02021A20 ldr r0, [r4, #0x0] bl FUN_02081DC4 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080DF2 _02080D16: ldr r0, [r4, #0x0] bl FUN_02081EB8 cmp r0, #0x1 bne _02080DF2 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080DF2 _02080D28: mov r0, #0x1 bl FUN_02031588 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080DF2 _02080D36: mov r0, #0x1 bl FUN_020315D8 cmp r0, #0x1 bne _02080DF2 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080DF2 _02080D48: ldr r0, [r4, #0x0] bl FUN_020815D0 ldr r3, [r4, #0x0] ldr r2, _02080DF8 ; =0x000019B8 ldr r1, _02080DFC ; =0x020FBBD8 ldr r2, [r3, r2] add r0, r5, #0x0 bl FUN_02046500 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080DF2 _02080D64: ldr r0, [r4, #0x0] bl FUN_02081668 ldr r0, [r4, #0x0] bl FUN_02081ED4 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080DF2 _02080D78: ldr r0, [r4, #0x0] bl FUN_02081EC0 cmp r0, #0x1 bne _02080DF2 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080DF2 _02080D8A: ldr r1, _02080E00 ; =0x020FBBC8 ldr r2, [r4, #0x0] add r0, r5, #0x0 bl FUN_02046500 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080DF2 _02080D9C: ldr r1, _02080E04 ; =0x020FBBF8 ldr r2, [r4, #0x0] add r0, r5, #0x0 bl FUN_02046500 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080DF2 _02080DAE: ldr r1, _02080E08 ; =0x020FBBE8 ldr r2, [r4, #0x0] add r0, r5, #0x0 bl FUN_02046500 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080DF2 _02080DC0: ldr r0, [r4, #0x0] bl FUN_020814E8 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080DF2 _02080DCE: add r0, r0, #0x1 str r0, [r4, #0x4] b _02080DF2 _02080DD4: add r0, r5, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080DF2 _02080DE2: bl ErrorHandling _02080DE6: add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x28 mov r0, #0x1 pop {r3-r7, pc} _02080DF2: mov r0, #0x0 add sp, #0x28 pop {r3-r7, pc} .balign 4 _02080DF8: .word 0x000019B8 _02080DFC: .word 0x020FBBD8 _02080E00: .word 0x020FBBC8 _02080E04: .word 0x020FBBF8 _02080E08: .word 0x020FBBE8 thumb_func_start FUN_02080E0C FUN_02080E0C: ; 0x02080E0C push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0xb mov r1, #0x8 bl FUN_020169D8 mov r1, #0x0 mov r2, #0x8 add r4, r0, #0x0 blx MI_CpuFill8 ldr r0, _02080E50 ; =0x00000121 str r6, [r4, #0x0] ldrb r0, [r6, r0] cmp r0, #0x0 beq _02080E36 cmp r0, #0x1 beq _02080E36 cmp r0, #0x2 bne _02080E42 _02080E36: ldr r1, _02080E54 ; =FUN_02080E5C add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_0204640C pop {r4-r6, pc} _02080E42: ldr r1, _02080E58 ; =FUN_02081000 add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_0204640C pop {r4-r6, pc} nop _02080E50: .word 0x00000121 _02080E54: .word FUN_02080E5C _02080E58: .word FUN_02081000 thumb_func_start FUN_02080E5C FUN_02080E5C: ; 0x02080E5C push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02046528 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0xd bls _02080E74 b _02080FCE _02080E74: add r1, r0, r0 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02080E80: ; jump table (using 16-bit offset) .short _02080E9C - _02080E80 - 2; case 0 .short _02080EAA - _02080E80 - 2; case 1 .short _02080EC6 - _02080E80 - 2; case 2 .short _02080EDE - _02080E80 - 2; case 3 .short _02080F00 - _02080E80 - 2; case 4 .short _02080F1C - _02080E80 - 2; case 5 .short _02080F3E - _02080E80 - 2; case 6 .short _02080F58 - _02080E80 - 2; case 7 .short _02080F6A - _02080E80 - 2; case 8 .short _02080F8A - _02080E80 - 2; case 9 .short _02080FA8 - _02080E80 - 2; case 10 .short _02080FBA - _02080E80 - 2; case 11 .short _02080FC0 - _02080E80 - 2; case 12 .short _02080FD2 - _02080E80 - 2; case 13 _02080E9C: add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080FDC _02080EAA: ldr r0, [r4, #0x0] ldr r1, _02080FE0 ; =0x00000171 ldrb r1, [r0, r1] cmp r1, #0x0 beq _02080EBE bl FUN_02081EC0 cmp r0, #0x1 beq _02080EBE b _02080FDC _02080EBE: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080FDC _02080EC6: ldr r1, [r4, #0x0] ldr r0, _02080FE0 ; =0x00000171 ldrb r0, [r1, r0] cmp r0, #0x1 bne _02080ED6 mov r0, #0x0 bl FUN_02031588 _02080ED6: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080FDC _02080EDE: ldr r2, [r4, #0x0] ldr r1, _02080FE0 ; =0x00000171 ldrb r1, [r2, r1] cmp r1, #0x1 bne _02080EFA mov r0, #0x0 bl FUN_020315D8 cmp r0, #0x1 bne _02080FDC ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080FDC _02080EFA: add r0, r0, #0x1 str r0, [r4, #0x4] b _02080FDC _02080F00: ldr r0, [r4, #0x0] bl FUN_020815D0 ldr r3, [r4, #0x0] ldr r2, _02080FE4 ; =0x000019B8 ldr r1, _02080FE8 ; =0x020FBBD8 ldr r2, [r3, r2] add r0, r5, #0x0 bl FUN_02046500 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080FDC _02080F1C: ldr r0, [r4, #0x0] bl FUN_02081668 ldr r0, [r4, #0x0] ldr r1, _02080FE0 ; =0x00000171 ldrb r1, [r0, r1] cmp r1, #0x1 bne _02080F38 bl FUN_02081ED4 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080FDC _02080F38: mov r0, #0x6 str r0, [r4, #0x4] b _02080FDC _02080F3E: ldr r0, [r4, #0x0] ldr r1, _02080FE0 ; =0x00000171 ldrb r1, [r0, r1] cmp r1, #0x0 beq _02080F50 bl FUN_02081EC0 cmp r0, #0x1 bne _02080FDC _02080F50: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080FDC _02080F58: ldr r1, _02080FEC ; =0x020FBBC8 ldr r2, [r4, #0x0] add r0, r5, #0x0 bl FUN_02046500 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080FDC _02080F6A: ldr r2, [r4, #0x0] ldr r0, _02080FF0 ; =0x00000121 ldrb r0, [r2, r0] add r0, #0xff lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x1 bhi _02080F82 ldr r1, _02080FF4 ; =0x020FBBF8 add r0, r5, #0x0 bl FUN_02046500 _02080F82: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080FDC _02080F8A: ldr r2, [r4, #0x0] ldr r0, _02080FF0 ; =0x00000121 ldrb r0, [r2, r0] cmp r0, #0x0 beq _02080F98 cmp r0, #0x2 bne _02080FA0 _02080F98: ldr r1, _02080FF8 ; =0x020FBBE8 add r0, r5, #0x0 bl FUN_02046500 _02080FA0: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080FDC _02080FA8: ldr r1, _02080FFC ; =0x020FBBB8 ldr r2, [r4, #0x0] add r0, r5, #0x0 bl FUN_02046500 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080FDC _02080FBA: add r0, r0, #0x1 str r0, [r4, #0x4] b _02080FDC _02080FC0: add r0, r5, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02080FDC _02080FCE: bl ErrorHandling _02080FD2: add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _02080FDC: mov r0, #0x0 pop {r3-r5, pc} .balign 4 _02080FE0: .word 0x00000171 _02080FE4: .word 0x000019B8 _02080FE8: .word 0x020FBBD8 _02080FEC: .word 0x020FBBC8 _02080FF0: .word 0x00000121 _02080FF4: .word 0x020FBBF8 _02080FF8: .word 0x020FBBE8 _02080FFC: .word 0x020FBBB8 thumb_func_start FUN_02081000 FUN_02081000: ; 0x02081000 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 bl FUN_02046528 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x9 bls _0208101A b _020811A4 _0208101A: add r1, r0, r0 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02081026: ; jump table (using 16-bit offset) .short _0208103A - _02081026 - 2; case 0 .short _02081048 - _02081026 - 2; case 1 .short _02081070 - _02081026 - 2; case 2 .short _0208108A - _02081026 - 2; case 3 .short _02081090 - _02081026 - 2; case 4 .short _020810AE - _02081026 - 2; case 5 .short _020810D2 - _02081026 - 2; case 6 .short _020810F0 - _02081026 - 2; case 7 .short _02081196 - _02081026 - 2; case 8 .short _020811A8 - _02081026 - 2; case 9 _0208103A: add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _020811B4 _02081048: ldr r0, [r4, #0x0] ldr r1, _020811BC ; =0x00000121 ldrb r1, [r0, r1] cmp r1, #0x3 beq _02081056 cmp r1, #0x4 bne _02081068 _02081056: bl FUN_020815D0 ldr r3, [r4, #0x0] ldr r2, _020811C0 ; =0x000019B8 ldr r1, _020811C4 ; =0x020FBBD8 ldr r2, [r3, r2] add r0, r5, #0x0 bl FUN_02046500 _02081068: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _020811B4 _02081070: ldr r0, [r4, #0x0] ldr r1, _020811BC ; =0x00000121 ldrb r1, [r0, r1] cmp r1, #0x3 beq _0208107E cmp r1, #0x4 bne _02081082 _0208107E: bl FUN_02081668 _02081082: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _020811B4 _0208108A: add r0, r0, #0x1 str r0, [r4, #0x4] b _020811B4 _02081090: ldr r2, [r4, #0x0] ldr r0, _020811BC ; =0x00000121 ldrb r0, [r2, r0] cmp r0, #0x3 beq _0208109E cmp r0, #0x4 bne _020810A6 _0208109E: ldr r1, _020811C8 ; =0x020FBBC8 add r0, r5, #0x0 bl FUN_02046500 _020810A6: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _020811B4 _020810AE: ldr r0, [r4, #0x0] ldr r1, _020811BC ; =0x00000121 ldrb r1, [r0, r1] cmp r1, #0x5 beq _020810BC cmp r1, #0x6 bne _020810CA _020810BC: bl FUN_02082D18 ldr r1, _020811CC ; =0x020FBBF8 ldr r2, [r4, #0x0] add r0, r5, #0x0 bl FUN_02046500 _020810CA: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _020811B4 _020810D2: ldr r2, [r4, #0x0] ldr r0, _020811BC ; =0x00000121 ldrb r0, [r2, r0] cmp r0, #0x7 beq _020810E0 cmp r0, #0x8 bne _020810E8 _020810E0: ldr r1, _020811D0 ; =0x020FBBE8 add r0, r5, #0x0 bl FUN_02046500 _020810E8: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _020811B4 _020810F0: ldr r1, [r4, #0x0] ldr r0, _020811BC ; =0x00000121 ldrb r0, [r1, r0] cmp r0, #0x8 bhi _0208116E add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02081106: ; jump table (using 16-bit offset) .short _0208116E - _02081106 - 2; case 0 .short _0208116E - _02081106 - 2; case 1 .short _0208116E - _02081106 - 2; case 2 .short _02081118 - _02081106 - 2; case 3 .short _02081118 - _02081106 - 2; case 4 .short _0208113A - _02081106 - 2; case 5 .short _0208113A - _02081106 - 2; case 6 .short _02081156 - _02081106 - 2; case 7 .short _02081156 - _02081106 - 2; case 8 _02081118: mov r5, #0x0 add r6, sp, #0x0 _0208111C: ldr r0, [r4, #0x0] add r1, r5, #0x0 bl FUN_02083308 add r7, r0, #0x0 ldr r0, [r4, #0x0] add r1, r5, #0x0 bl FUN_0208336C add r0, r7, r0 add r5, r5, #0x1 stmia r6!, {r0} cmp r5, #0x4 blt _0208111C b _0208116E _0208113A: mov r2, #0x0 mov r3, #0x4b add r0, r2, #0x0 add r1, sp, #0x0 lsl r3, r3, #0x2 _02081144: ldr r5, [r4, #0x0] add r2, r2, #0x1 add r5, r5, r0 ldrsh r5, [r5, r3] add r0, #0xc cmp r2, #0x4 stmia r1!, {r5} blt _02081144 b _0208116E _02081156: mov r2, #0x0 ldr r3, _020811D4 ; =0x0000012E add r0, r2, #0x0 add r1, sp, #0x0 _0208115E: ldr r5, [r4, #0x0] add r2, r2, #0x1 add r5, r5, r0 ldrsh r5, [r5, r3] add r0, #0xc cmp r2, #0x4 stmia r1!, {r5} blt _0208115E _0208116E: ldr r1, [sp, #0x0] mov r2, #0x0 mov r5, #0x1 add r3, sp, #0x4 _02081176: ldr r0, [r3, #0x0] cmp r1, r0 bge _0208117E add r2, r2, #0x1 _0208117E: add r5, r5, #0x1 add r3, r3, #0x4 cmp r5, #0x4 blt _02081176 mov r0, #0x13 ldr r1, [r4, #0x0] lsl r0, r0, #0x4 strb r2, [r1, r0] ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _020811B4 _02081196: add r0, r5, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _020811B4 _020811A4: bl ErrorHandling _020811A8: add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} _020811B4: mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} nop _020811BC: .word 0x00000121 _020811C0: .word 0x000019B8 _020811C4: .word 0x020FBBD8 _020811C8: .word 0x020FBBC8 _020811CC: .word 0x020FBBF8 _020811D0: .word 0x020FBBE8 _020811D4: .word 0x0000012E thumb_func_start FUN_020811D8 FUN_020811D8: ; 0x020811D8 push {r4, lr} ldr r1, _02081204 ; =0x000019C4 mov r0, #0x14 bl FUN_02016998 ldr r2, _02081204 ; =0x000019C4 mov r1, #0x0 add r4, r0, #0x0 blx MI_CpuFill8 ldr r0, _02081208 ; =0x00000123 mov r1, #0x0 strb r1, [r4, r0] add r1, r0, #0x4 mov r2, #0x1 strb r2, [r4, r1] mov r1, #0x3 add r0, r0, #0x3 strb r1, [r4, r0] add r0, r4, #0x0 pop {r4, pc} nop _02081204: .word 0x000019C4 _02081208: .word 0x00000123 thumb_func_start FUN_0208120C FUN_0208120C: ; 0x0208120C ldr r3, _02081210 ; =FUN_02016A18 bx r3 .balign 4 _02081210: .word FUN_02016A18 thumb_func_start FUN_02081214 FUN_02081214: ; 0x02081214 push {r3-r7, lr} mov r2, #0x1 add r6, r0, #0x0 mov r0, #0xb mov r1, #0x14 lsl r2, r2, #0xe bl FUN_0201681C bl FUN_020811D8 add r4, r0, #0x0 bl FUN_0201B9D4 mov r1, #0x67 lsl r1, r1, #0x6 str r0, [r4, r1] add r0, r4, #0x0 bl FUN_0208285C ldrb r1, [r6, #0x0] ldr r0, _020813E4 ; =0x0000011F strb r1, [r4, r0] add r1, r0, #0x1 ldrb r2, [r6, #0x1] add r0, r0, #0x2 strb r2, [r4, r1] ldrb r1, [r6, #0x2] strb r1, [r4, r0] ldrb r0, [r6, #0x1] mov r1, #0x0 bl FUN_02083454 ldr r1, _020813E8 ; =0x00000122 mov r7, #0x0 strb r0, [r4, r1] add r0, r1, #0x1 ldrb r2, [r4, r0] sub r0, r1, #0x6 add r5, r4, #0x0 strb r2, [r4, r0] mov r0, #0x64 add r1, r0, #0x0 add r1, #0xc1 strb r0, [r4, r1] add r1, r0, #0x0 add r1, #0xc1 ldrb r2, [r4, r1] add r1, r0, #0x0 add r1, #0xb9 strb r2, [r4, r1] mov r1, #0x1 add r0, #0xba strb r1, [r4, r0] ldr r1, [r6, #0x14] ldr r0, _020813EC ; =0x0000199C str r1, [r4, r0] add r1, r0, #0x0 ldr r2, [r6, #0x18] sub r1, #0x14 str r2, [r4, r1] add r1, r0, #0x0 ldr r2, [r6, #0x1c] sub r1, #0x10 str r2, [r4, r1] add r1, r0, #0x0 ldr r2, [r6, #0x8] sub r1, #0xc str r2, [r4, r1] ldrb r2, [r6, #0x5] sub r1, r0, #0x4 strb r2, [r4, r1] add r1, r0, #0x0 ldr r2, [r6, #0x10] sub r1, #0x8 str r2, [r4, r1] sub r1, r0, #0x3 ldrb r2, [r6, #0x3] sub r0, r0, #0x2 strb r2, [r4, r1] ldrb r1, [r6, #0x4] strb r1, [r4, r0] _020812B6: mov r0, #0x14 bl FUN_02026FE8 add r1, r5, #0x0 add r1, #0xf8 add r7, r7, #0x1 add r5, r5, #0x4 str r0, [r1, #0x0] cmp r7, #0x4 blt _020812B6 mov r3, #0x12 lsl r3, r3, #0x4 ldrb r0, [r4, r3] sub r2, r3, #0x2 sub r3, r3, #0x1 str r0, [sp, #0x0] ldrb r2, [r4, r2] ldrb r3, [r4, r3] add r0, r4, #0x0 mov r1, #0xb bl FUN_02082ED0 mov r0, #0x14 bl FUN_0206B8AC mov r1, #0x56 lsl r1, r1, #0x2 str r0, [r4, r1] mov r7, #0x0 add r5, r4, #0x0 _020812F2: mov r0, #0x14 bl FUN_020669C0 add r7, r7, #0x1 stmia r5!, {r0} cmp r7, #0x4 blt _020812F2 mov r7, #0x0 add r5, r4, #0x0 _02081304: mov r0, #0x14 bl FUN_02029EE4 mov r1, #0x57 lsl r1, r1, #0x2 str r0, [r5, r1] add r7, r7, #0x1 add r5, r5, #0x4 cmp r7, #0x4 blt _02081304 add r0, r1, #0x0 ldr r0, [r4, r0] ldr r1, [r6, #0x20] bl FUN_02029F9C ldr r0, [r6, #0x8] ldr r1, [r4, #0x0] bl FUN_02069B88 mov r0, #0x8 mov r1, #0x14 bl FUN_020219F4 add r1, r4, #0x0 add r1, #0xe8 str r0, [r1, #0x0] add r0, r4, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] ldr r1, [r6, #0xc] bl FUN_02021A74 ldr r0, [r6, #0x10] bl FUN_020239CC mov r1, #0x42 lsl r1, r1, #0x2 strb r0, [r4, r1] add r0, r1, #0x4 mov r2, #0x0 strb r2, [r4, r0] add r1, #0x17 ldrb r1, [r4, r1] ldr r0, [r4, #0x0] bl FUN_02081540 mov r1, #0x11 lsl r1, r1, #0x4 strb r0, [r4, r1] add r0, r4, #0x0 bl FUN_020832EC cmp r0, #0x0 ldr r0, [r6, #0x10] bne _0208138E bl FUN_020239CC cmp r0, #0x0 bne _02081384 mov r1, #0xba add r0, r1, #0x0 add r0, #0x5a strh r1, [r4, r0] b _020813A8 _02081384: mov r1, #0xbb add r0, r1, #0x0 add r0, #0x59 strh r1, [r4, r0] b _020813A8 _0208138E: bl FUN_020239CC cmp r0, #0x0 bne _020813A0 mov r0, #0x45 mov r1, #0x0 lsl r0, r0, #0x2 strh r1, [r4, r0] b _020813A8 _020813A0: mov r1, #0x61 add r0, r1, #0x0 add r0, #0xb3 strh r1, [r4, r0] _020813A8: ldrb r1, [r6, #0x3] ldrb r2, [r6, #0x4] add r0, r4, #0x0 bl FUN_020813F4 add r0, r4, #0x0 bl FUN_020832EC cmp r0, #0x1 bne _020813D0 ldr r1, _020813F0 ; =0x00000172 mov r5, #0x0 mov r0, #0x3 _020813C2: sub r3, r0, r5 add r2, r4, r5 add r5, r5, #0x1 strb r3, [r2, r1] cmp r5, #0x4 blt _020813C2 b _020813DE _020813D0: ldr r0, _020813F0 ; =0x00000172 mov r2, #0x0 _020813D4: add r1, r4, r2 strb r2, [r1, r0] add r2, r2, #0x1 cmp r2, #0x4 blt _020813D4 _020813DE: add r0, r4, #0x0 pop {r3-r7, pc} nop _020813E4: .word 0x0000011F _020813E8: .word 0x00000122 _020813EC: .word 0x0000199C _020813F0: .word 0x00000172 thumb_func_start FUN_020813F4 FUN_020813F4: ; 0x020813F4 push {r3-r7, lr} sub sp, #0x10 mov r3, #0x12 add r5, r0, #0x0 lsl r3, r3, #0x4 ldrb r4, [r5, r3] str r4, [sp, #0x0] add r4, r3, #0x1 ldrb r4, [r5, r4] sub r3, r3, #0x1 str r4, [sp, #0x4] str r1, [sp, #0x8] str r2, [sp, #0xc] ldrb r3, [r5, r3] mov r1, #0xb mov r2, #0x3 bl FUN_020828E4 add r4, r5, #0x0 add r4, #0x10 mov r7, #0x1 add r6, r5, #0x4 add r4, #0x30 _02081422: ldr r1, [r6, #0x0] add r0, r4, #0x0 mov r2, #0x14 bl FUN_02082D60 add r7, r7, #0x1 add r6, r6, #0x4 add r4, #0x30 cmp r7, #0x4 blt _02081422 mov r6, #0x1 add r4, r5, #0x4 mov r7, #0x8 _0208143C: add r0, r4, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02081454 add r0, r7, #0x0 mov r1, #0x14 bl FUN_020219F4 add r1, r4, #0x0 add r1, #0xe8 str r0, [r1, #0x0] _02081454: add r2, r4, #0x0 add r2, #0xe8 ldr r0, [r4, #0x0] ldr r2, [r2, #0x0] mov r1, #0x90 bl FUN_020671BC add r6, r6, #0x1 add r4, r4, #0x4 cmp r6, #0x4 blt _0208143C add r0, r5, #0x0 add r0, #0x30 mov r2, #0x42 mov r1, #0x1 add r0, #0x30 lsl r2, r2, #0x2 _02081476: ldrh r3, [r0, #0x0] add r0, #0x30 lsl r3, r3, #0x12 lsr r4, r3, #0x1e add r3, r5, r1 add r1, r1, #0x1 strb r4, [r3, r2] cmp r1, #0x4 blt _02081476 add r0, r5, #0x0 add r0, #0x30 mov r2, #0x43 mov r1, #0x1 add r0, #0x30 lsl r2, r2, #0x2 _02081494: ldrh r3, [r0, #0x0] add r0, #0x30 lsl r3, r3, #0x10 lsr r4, r3, #0x1e add r3, r5, r1 add r1, r1, #0x1 strb r4, [r3, r2] cmp r1, #0x4 blt _02081494 add r3, r5, #0x0 mov r1, #0x11 mov r4, #0x1 add r3, #0x30 lsl r1, r1, #0x4 _020814B0: add r0, r3, #0x0 add r0, #0x3e ldrb r2, [r0, #0x0] add r0, r5, r4 add r4, r4, #0x1 add r3, #0x30 strb r2, [r0, r1] cmp r4, #0x4 blt _020814B0 add r2, r5, #0x0 mov r0, #0x45 mov r4, #0x1 add r2, #0x30 add r3, r5, #0x2 lsl r0, r0, #0x2 _020814CE: ldrh r1, [r2, #0x18] add r4, r4, #0x1 add r2, #0x30 strh r1, [r3, r0] add r3, r3, #0x2 cmp r4, #0x4 blt _020814CE add r0, r5, #0x0 mov r1, #0xb bl FUN_02082B90 add sp, #0x10 pop {r3-r7, pc} thumb_func_start FUN_020814E8 FUN_020814E8: ; 0x020814E8 push {r3-r7, lr} add r7, r0, #0x0 mov r0, #0x56 lsl r0, r0, #0x2 ldr r0, [r7, r0] bl FUN_02016A18 mov r6, #0x57 mov r4, #0x0 add r5, r7, #0x0 lsl r6, r6, #0x2 _020814FE: ldr r0, [r5, #0x0] bl FUN_02016A18 add r0, r5, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] bl FUN_02021A20 add r0, r5, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] bl FUN_02016A18 ldr r0, [r5, r6] bl FUN_02016A18 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 blt _020814FE mov r0, #0x67 lsl r0, r0, #0x6 ldr r0, [r7, r0] bl FUN_0201B9E0 add r0, r7, #0x0 bl FUN_0208120C mov r0, #0x14 bl FUN_020168D0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02081540 FUN_02081540: ; 0x02081540 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x1 add r7, r1, #0x0 str r0, [sp, #0x0] mov r4, #0x0 _0208154C: cmp r7, #0x4 bhi _020815B6 add r0, r7, r7 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0208155C: ; jump table (using 16-bit offset) .short _02081566 - _0208155C - 2; case 0 .short _02081576 - _0208155C - 2; case 1 .short _02081586 - _0208155C - 2; case 2 .short _02081596 - _0208155C - 2; case 3 .short _020815A6 - _0208155C - 2; case 4 _02081566: add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x7a mov r2, #0x0 bl FUN_020671BC add r6, r0, #0x0 b _020815BA _02081576: add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x7e mov r2, #0x0 bl FUN_020671BC add r6, r0, #0x0 b _020815BA _02081586: add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x82 mov r2, #0x0 bl FUN_020671BC add r6, r0, #0x0 b _020815BA _02081596: add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x86 mov r2, #0x0 bl FUN_020671BC add r6, r0, #0x0 b _020815BA _020815A6: add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x8a mov r2, #0x0 bl FUN_020671BC add r6, r0, #0x0 b _020815BA _020815B6: bl ErrorHandling _020815BA: cmp r6, #0x0 beq _020815CA ldr r0, [sp, #0x0] add r4, r4, #0x1 add r0, r0, #0x1 str r0, [sp, #0x0] cmp r4, #0x3 ble _0208154C _020815CA: ldr r0, [sp, #0x0] pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020815D0 FUN_020815D0: ; 0x020815D0 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02081658 ; =0x00000123 ldrb r0, [r5, r0] lsl r0, r0, #0x2 add r0, r5, r0 add r0, #0xf8 ldr r0, [r0, #0x0] bl FUN_02027740 mov r0, #0x14 mov r1, #0x28 bl FUN_02016998 mov r1, #0x0 mov r2, #0x28 add r4, r0, #0x0 blx MI_CpuFill8 ldr r0, _02081658 ; =0x00000123 ldrb r1, [r5, r0] lsl r1, r1, #0x2 ldr r1, [r5, r1] str r1, [r4, #0x0] ldrb r1, [r5, r0] lsl r1, r1, #0x2 add r1, r5, r1 add r1, #0xf8 ldr r1, [r1, #0x0] str r1, [r4, #0x4] sub r1, r0, #0x1 ldrb r1, [r5, r1] str r1, [r4, #0x8] add r1, r0, #0x0 add r1, #0x4e ldrb r1, [r5, r1] cmp r1, #0x1 bne _02081620 mov r0, #0x4 b _02081624 _02081620: sub r0, r0, #0x3 ldrb r0, [r5, r0] _02081624: str r0, [r4, #0xc] ldr r0, _0208165C ; =0x00000121 ldrb r1, [r5, r0] sub r0, r0, #0x2 str r1, [r4, #0x10] ldrb r0, [r5, r0] str r0, [r4, #0x14] ldr r0, _02081660 ; =0x0000199C ldr r0, [r5, r0] bl FUN_0202708C ldr r1, _02081664 ; =0x000019A0 str r0, [r4, #0x18] add r0, r5, r1 str r0, [r4, #0x1c] add r0, r1, #0x0 sub r0, #0x18 ldr r0, [r5, r0] str r0, [r4, #0x20] add r0, r1, #0x0 sub r0, #0xc ldr r0, [r5, r0] add r1, #0x18 str r0, [r4, #0x24] str r4, [r5, r1] pop {r3-r5, pc} .balign 4 _02081658: .word 0x00000123 _0208165C: .word 0x00000121 _02081660: .word 0x0000199C _02081664: .word 0x000019A0 thumb_func_start FUN_02081668 FUN_02081668: ; 0x02081668 push {r4, lr} add r4, r0, #0x0 ldr r0, _0208167C ; =0x000019B8 ldr r0, [r4, r0] bl FUN_02016A18 ldr r0, _0208167C ; =0x000019B8 mov r1, #0x0 str r1, [r4, r0] pop {r4, pc} .balign 4 _0208167C: .word 0x000019B8 thumb_func_start FUN_02081680 FUN_02081680: ; 0x02081680 push {r3-r7, lr} sub sp, #0x10 ldr r2, _020819E8 ; =0x00000176 add r4, r1, #0x0 str r0, [sp, #0x0] ldrb r0, [r4, r2] cmp r0, #0x2f bls _02081692 b _02081D24 _02081692: add r3, r0, r0 add r3, pc ldrh r3, [r3, #0x6] lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 _0208169E: ; jump table (using 16-bit offset) .short _020816FE - _0208169E - 2; case 0 .short _02081716 - _0208169E - 2; case 1 .short _0208172C - _0208169E - 2; case 2 .short _02081742 - _0208169E - 2; case 3 .short _0208175E - _0208169E - 2; case 4 .short _02081776 - _0208169E - 2; case 5 .short _0208178C - _0208169E - 2; case 6 .short _020817A8 - _0208169E - 2; case 7 .short _020817C4 - _0208169E - 2; case 8 .short _020817DC - _0208169E - 2; case 9 .short _020817F2 - _0208169E - 2; case 10 .short _02081822 - _0208169E - 2; case 11 .short _02081838 - _0208169E - 2; case 12 .short _02081850 - _0208169E - 2; case 13 .short _02081866 - _0208169E - 2; case 14 .short _02081884 - _0208169E - 2; case 15 .short _020818A0 - _0208169E - 2; case 16 .short _020818B8 - _0208169E - 2; case 17 .short _020818CE - _0208169E - 2; case 18 .short _0208190A - _0208169E - 2; case 19 .short _02081940 - _0208169E - 2; case 20 .short _02081958 - _0208169E - 2; case 21 .short _0208196E - _0208169E - 2; case 22 .short _0208198E - _0208169E - 2; case 23 .short _020819DE - _0208169E - 2; case 24 .short _02081A04 - _0208169E - 2; case 25 .short _02081A1A - _0208169E - 2; case 26 .short _02081A54 - _0208169E - 2; case 27 .short _02081A8A - _0208169E - 2; case 28 .short _02081AB6 - _0208169E - 2; case 29 .short _02081ACC - _0208169E - 2; case 30 .short _02081AE8 - _0208169E - 2; case 31 .short _02081B04 - _0208169E - 2; case 32 .short _02081B1C - _0208169E - 2; case 33 .short _02081B32 - _0208169E - 2; case 34 .short _02081B6C - _0208169E - 2; case 35 .short _02081BA2 - _0208169E - 2; case 36 .short _02081BBA - _0208169E - 2; case 37 .short _02081BD0 - _0208169E - 2; case 38 .short _02081BFA - _0208169E - 2; case 39 .short _02081C16 - _0208169E - 2; case 40 .short _02081C2E - _0208169E - 2; case 41 .short _02081C44 - _0208169E - 2; case 42 .short _02081C86 - _0208169E - 2; case 43 .short _02081CBC - _0208169E - 2; case 44 .short _02081CD4 - _0208169E - 2; case 45 .short _02081CEA - _0208169E - 2; case 46 .short _02081D08 - _0208169E - 2; case 47 _020816FE: mov r0, #0x5 bl FUN_02031588 ldr r0, _020819EC ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081716: mov r0, #0x5 bl FUN_020315D8 cmp r0, #0x1 bne _0208180C ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _0208172C: add r0, r4, #0x0 bl FUN_02083630 cmp r0, #0x1 bne _0208180C ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081742: ldr r0, _020819EC ; =0x00000584 add r1, r2, #0x0 sub r1, #0x4f ldrb r3, [r4, r0] ldrb r1, [r4, r1] cmp r3, r1 blo _0208180C mov r1, #0x0 strb r1, [r4, r0] ldrb r0, [r4, r2] add sp, #0x10 add r0, r0, #0x1 strb r0, [r4, r2] pop {r3-r7, pc} _0208175E: mov r0, #0x6 bl FUN_02031588 ldr r0, _020819EC ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081776: mov r0, #0x6 bl FUN_020315D8 cmp r0, #0x1 bne _0208180C ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _0208178C: sub r2, #0x53 ldrb r1, [r4, r2] ldr r2, [r4, #0x0] add r0, r4, #0x0 bl FUN_020836BC cmp r0, #0x1 bne _0208180C ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _020817A8: ldr r0, _020819EC ; =0x00000584 add r1, r2, #0x0 sub r1, #0x4f ldrb r3, [r4, r0] ldrb r1, [r4, r1] cmp r3, r1 blo _0208180C mov r1, #0x0 strb r1, [r4, r0] ldrb r0, [r4, r2] add sp, #0x10 add r0, r0, #0x1 strb r0, [r4, r2] pop {r3-r7, pc} _020817C4: mov r0, #0x7 bl FUN_02031588 ldr r0, _020819EC ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _020817DC: mov r0, #0x7 bl FUN_020315D8 cmp r0, #0x1 bne _0208180C ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _020817F2: add r3, r2, #0x0 sub r3, #0x53 ldrb r5, [r4, r3] add r3, r2, #0x0 sub r3, #0x5a ldrb r3, [r4, r3] cmp r5, r3 bne _0208181A add r0, r4, #0x0 bl FUN_0208373C cmp r0, #0x1 beq _0208180E _0208180C: b _02081DBC _0208180E: ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _0208181A: add r0, r0, #0x1 add sp, #0x10 strb r0, [r4, r2] pop {r3-r7, pc} _02081822: ldr r0, _020819EC ; =0x00000584 ldrb r1, [r4, r0] cmp r1, #0x0 beq _02081912 mov r1, #0x0 strb r1, [r4, r0] ldrb r0, [r4, r2] add sp, #0x10 add r0, r0, #0x1 strb r0, [r4, r2] pop {r3-r7, pc} _02081838: mov r0, #0x8 bl FUN_02031588 ldr r0, _020819EC ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081850: mov r0, #0x8 bl FUN_020315D8 cmp r0, #0x1 bne _02081912 ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081866: sub r2, #0x53 ldrb r1, [r4, r2] add r2, r4, #0x0 add r0, r4, #0x0 add r2, #0x10 bl FUN_020837B4 cmp r0, #0x1 bne _02081912 ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081884: ldr r0, _020819EC ; =0x00000584 add r1, r2, #0x0 sub r1, #0x4f ldrb r3, [r4, r0] ldrb r1, [r4, r1] cmp r3, r1 blo _02081912 mov r1, #0x0 strb r1, [r4, r0] ldrb r0, [r4, r2] add sp, #0x10 add r0, r0, #0x1 strb r0, [r4, r2] pop {r3-r7, pc} _020818A0: mov r0, #0x9 bl FUN_02031588 ldr r0, _020819EC ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _020818B8: mov r0, #0x9 bl FUN_020315D8 cmp r0, #0x1 bne _02081912 ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _020818CE: add r1, r2, #0x0 sub r1, #0x53 ldrb r3, [r4, r1] add r1, r2, #0x0 sub r1, #0x5a ldrb r1, [r4, r1] cmp r3, r1 bne _02081902 add r0, r2, #0x2 ldr r1, [r4, r0] add r3, r4, #0x0 mov r2, #0x30 add r3, #0x10 mul r2, r1 add r0, r4, #0x0 add r2, r3, r2 bl FUN_020837B4 cmp r0, #0x1 bne _02081912 ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081902: add r0, r0, #0x1 add sp, #0x10 strb r0, [r4, r2] pop {r3-r7, pc} _0208190A: ldr r1, _020819EC ; =0x00000584 ldrb r0, [r4, r1] cmp r0, #0x0 bne _02081914 _02081912: b _02081DBC _02081914: mov r0, #0x0 strb r0, [r4, r1] add r1, r2, #0x2 ldr r1, [r4, r1] add r3, r1, #0x1 add r1, r2, #0x2 str r3, [r4, r1] ldr r1, [r4, r1] cmp r1, #0x4 bge _02081932 ldrb r0, [r4, r2] add sp, #0x10 sub r0, r0, #0x1 strb r0, [r4, r2] pop {r3-r7, pc} _02081932: add r1, r2, #0x2 str r0, [r4, r1] ldrb r0, [r4, r2] add sp, #0x10 add r0, r0, #0x1 strb r0, [r4, r2] pop {r3-r7, pc} _02081940: mov r0, #0xa bl FUN_02031588 ldr r0, _020819EC ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081958: mov r0, #0xa bl FUN_020315D8 cmp r0, #0x1 bne _02081A5C ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _0208196E: sub r2, #0x53 ldrb r1, [r4, r2] add r2, r4, #0x0 add r2, #0xe8 ldr r2, [r2, #0x0] add r0, r4, #0x0 bl FUN_020838B4 cmp r0, #0x1 bne _02081A5C ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _0208198E: ldr r0, _020819EC ; =0x00000584 sub r2, #0x4f ldrb r1, [r4, r2] ldrb r0, [r4, r0] cmp r0, r1 blo _02081A5C mov r5, #0x0 cmp r1, #0x0 ble _020819CC add r6, r4, #0x0 _020819A2: add r0, r5, #0x0 bl FUN_0202DFA4 add r7, r0, #0x0 add r0, r6, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] bl FUN_02021A4C add r1, r6, #0x0 add r1, #0xe8 ldr r1, [r1, #0x0] add r0, r7, #0x0 bl FUN_02023990 ldr r0, _020819F0 ; =0x00000127 add r5, r5, #0x1 ldrb r0, [r4, r0] add r6, r6, #0x4 cmp r5, r0 blt _020819A2 _020819CC: ldr r0, _020819EC ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] ldr r0, _020819E8 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _020819DE: mov r0, #0xb bl FUN_02031588 ldr r0, _020819EC ; =0x00000584 b _020819F4 .balign 4 _020819E8: .word 0x00000176 _020819EC: .word 0x00000584 _020819F0: .word 0x00000127 _020819F4: mov r1, #0x0 strb r1, [r4, r0] ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081A04: mov r0, #0xb bl FUN_020315D8 cmp r0, #0x1 bne _02081A5C ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081A1A: add r1, r2, #0x0 sub r1, #0x53 ldrb r3, [r4, r1] add r1, r2, #0x0 sub r1, #0x5a ldrb r1, [r4, r1] cmp r3, r1 bne _02081A4C add r0, r2, #0x2 ldr r1, [r4, r0] add r0, r4, #0x0 lsl r2, r1, #0x2 add r2, r4, r2 add r2, #0xe8 ldr r2, [r2, #0x0] bl FUN_020838B4 cmp r0, #0x1 bne _02081A5C ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081A4C: add r0, r0, #0x1 add sp, #0x10 strb r0, [r4, r2] pop {r3-r7, pc} _02081A54: ldr r1, _02081D2C ; =0x00000584 ldrb r0, [r4, r1] cmp r0, #0x0 bne _02081A5E _02081A5C: b _02081DBC _02081A5E: mov r0, #0x0 strb r0, [r4, r1] add r1, r2, #0x2 ldr r1, [r4, r1] add r3, r1, #0x1 add r1, r2, #0x2 str r3, [r4, r1] ldr r1, [r4, r1] cmp r1, #0x4 bge _02081A7C ldrb r0, [r4, r2] add sp, #0x10 sub r0, r0, #0x1 strb r0, [r4, r2] pop {r3-r7, pc} _02081A7C: add r1, r2, #0x2 str r0, [r4, r1] ldrb r0, [r4, r2] add sp, #0x10 add r0, r0, #0x1 strb r0, [r4, r2] pop {r3-r7, pc} _02081A8A: bl FUN_02029EC4 add r2, r0, #0x0 mov r0, #0x57 lsl r0, r0, #0x2 ldr r1, _02081D30 ; =0x00000585 ldr r0, [r4, r0] add r1, r4, r1 blx MI_CpuCopy8 mov r0, #0xc bl FUN_02031588 ldr r0, _02081D2C ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081AB6: mov r0, #0xc bl FUN_020315D8 cmp r0, #0x1 bne _02081B74 ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081ACC: sub r2, #0x53 ldrb r1, [r4, r2] add r0, r4, #0x0 mov r2, #0x0 bl FUN_02083AD4 cmp r0, #0x1 bne _02081B74 ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081AE8: ldr r0, _02081D2C ; =0x00000584 add r1, r2, #0x0 sub r1, #0x4f ldrb r3, [r4, r0] ldrb r1, [r4, r1] cmp r3, r1 blo _02081B74 mov r1, #0x0 strb r1, [r4, r0] ldrb r0, [r4, r2] add sp, #0x10 add r0, r0, #0x1 strb r0, [r4, r2] pop {r3-r7, pc} _02081B04: mov r0, #0xd bl FUN_02031588 ldr r0, _02081D2C ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081B1C: mov r0, #0xd bl FUN_020315D8 cmp r0, #0x1 bne _02081B74 ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081B32: add r1, r2, #0x0 sub r1, #0x53 ldrb r3, [r4, r1] add r1, r2, #0x0 sub r1, #0x5a ldrb r1, [r4, r1] cmp r3, r1 bne _02081B64 add r0, r2, #0x2 ldr r1, [r4, r0] sub r2, #0x1a lsl r3, r1, #0x2 add r3, r4, r3 ldr r2, [r3, r2] add r0, r4, #0x0 bl FUN_02083AD4 cmp r0, #0x1 bne _02081B74 ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081B64: add r0, r0, #0x1 add sp, #0x10 strb r0, [r4, r2] pop {r3-r7, pc} _02081B6C: ldr r1, _02081D2C ; =0x00000584 ldrb r0, [r4, r1] cmp r0, #0x0 bne _02081B76 _02081B74: b _02081DBC _02081B76: mov r0, #0x0 strb r0, [r4, r1] add r1, r2, #0x2 ldr r1, [r4, r1] add r3, r1, #0x1 add r1, r2, #0x2 str r3, [r4, r1] ldr r1, [r4, r1] cmp r1, #0x4 bge _02081B94 ldrb r0, [r4, r2] add sp, #0x10 sub r0, r0, #0x1 strb r0, [r4, r2] pop {r3-r7, pc} _02081B94: add r1, r2, #0x2 str r0, [r4, r1] ldrb r0, [r4, r2] add sp, #0x10 add r0, r0, #0x1 strb r0, [r4, r2] pop {r3-r7, pc} _02081BA2: mov r0, #0xe bl FUN_02031588 ldr r0, _02081D2C ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081BBA: mov r0, #0xe bl FUN_020315D8 cmp r0, #0x1 bne _02081C8E ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081BD0: add r2, sp, #0x8 add r0, r4, #0x0 mov r1, #0x0 add r2, #0x2 bl FUN_02082894 ldr r1, _02081D34 ; =0x00000123 add r2, sp, #0x8 ldrb r1, [r4, r1] add r0, r4, #0x0 add r2, #0x2 bl FUN_02083B48 cmp r0, #0x1 bne _02081C8E ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081BFA: ldr r0, _02081D2C ; =0x00000584 add r1, r2, #0x0 sub r1, #0x4f ldrb r3, [r4, r0] ldrb r1, [r4, r1] cmp r3, r1 blo _02081C8E mov r1, #0x0 strb r1, [r4, r0] ldrb r0, [r4, r2] add sp, #0x10 add r0, r0, #0x1 strb r0, [r4, r2] pop {r3-r7, pc} _02081C16: mov r0, #0xf bl FUN_02031588 ldr r0, _02081D2C ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081C2E: mov r0, #0xf bl FUN_020315D8 cmp r0, #0x1 bne _02081C8E ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081C44: add r1, r2, #0x0 sub r1, #0x53 ldrb r3, [r4, r1] add r1, r2, #0x0 sub r1, #0x5a ldrb r1, [r4, r1] cmp r3, r1 bne _02081C7E add r1, r2, #0x2 ldr r1, [r4, r1] add r0, r4, #0x0 add r2, sp, #0x4 bl FUN_02082894 mov r1, #0x5e lsl r1, r1, #0x2 ldr r1, [r4, r1] add r0, r4, #0x0 add r2, sp, #0x4 bl FUN_02083B48 cmp r0, #0x1 bne _02081C8E ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081C7E: add r0, r0, #0x1 add sp, #0x10 strb r0, [r4, r2] pop {r3-r7, pc} _02081C86: ldr r1, _02081D2C ; =0x00000584 ldrb r0, [r4, r1] cmp r0, #0x0 bne _02081C90 _02081C8E: b _02081DBC _02081C90: mov r0, #0x0 strb r0, [r4, r1] add r1, r2, #0x2 ldr r1, [r4, r1] add r3, r1, #0x1 add r1, r2, #0x2 str r3, [r4, r1] ldr r1, [r4, r1] cmp r1, #0x4 bge _02081CAE ldrb r0, [r4, r2] add sp, #0x10 sub r0, r0, #0x1 strb r0, [r4, r2] pop {r3-r7, pc} _02081CAE: add r1, r2, #0x2 str r0, [r4, r1] ldrb r0, [r4, r2] add sp, #0x10 add r0, r0, #0x1 strb r0, [r4, r2] pop {r3-r7, pc} _02081CBC: mov r0, #0x10 bl FUN_02031588 ldr r0, _02081D2C ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081CD4: mov r0, #0x10 bl FUN_020315D8 cmp r0, #0x1 bne _02081DBC ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081CEA: sub r2, #0x53 ldrb r1, [r4, r2] add r2, r4, #0x0 add r0, r4, #0x0 add r2, #0xd0 bl FUN_02083834 cmp r0, #0x1 bne _02081DBC ldr r0, _02081D28 ; =0x00000176 add sp, #0x10 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r7, pc} _02081D08: ldr r0, _02081D2C ; =0x00000584 add r1, r2, #0x0 sub r1, #0x4f ldrb r3, [r4, r0] ldrb r1, [r4, r1] cmp r3, r1 blo _02081DBC mov r1, #0x0 strb r1, [r4, r0] ldrb r0, [r4, r2] add sp, #0x10 add r0, r0, #0x1 strb r0, [r4, r2] pop {r3-r7, pc} _02081D24: ldr r0, _02081D38 ; =0x00000127 b _02081D3C .balign 4 _02081D28: .word 0x00000176 _02081D2C: .word 0x00000584 _02081D30: .word 0x00000585 _02081D34: .word 0x00000123 _02081D38: .word 0x00000127 _02081D3C: mov r5, #0x0 ldrb r0, [r4, r0] cmp r0, #0x0 ble _02081D62 mov r7, #0x42 lsl r7, r7, #0x2 add r6, r7, #0x0 add r6, #0x1f _02081D4C: add r0, r5, #0x0 bl FUN_0202DFA4 bl FUN_020239CC add r1, r4, r5 strb r0, [r1, r7] ldrb r0, [r4, r6] add r5, r5, #0x1 cmp r5, r0 blt _02081D4C _02081D62: cmp r5, #0x4 bge _02081D86 add r1, r4, #0x0 mov r0, #0x30 add r1, #0x30 mul r0, r5 add r0, r1, r0 mov r1, #0x42 lsl r1, r1, #0x2 _02081D74: ldrh r2, [r0, #0x0] add r0, #0x30 lsl r2, r2, #0x12 lsr r3, r2, #0x1e add r2, r4, r5 add r5, r5, #0x1 strb r3, [r2, r1] cmp r5, #0x4 blt _02081D74 _02081D86: mov r0, #0x47 lsl r0, r0, #0x2 ldrb r2, [r4, r0] ldr r1, _02081DC0 ; =0x000019B4 strb r2, [r4, r1] add r2, r0, #0x0 add r2, #0x8 ldrb r3, [r4, r2] add r2, r1, #0x1 strb r3, [r4, r2] add r2, r1, #0x2 mov r3, #0x1 strb r3, [r4, r2] add r2, r0, #0x0 add r2, #0xb ldrb r2, [r4, r2] add r1, r1, #0x3 strb r2, [r4, r1] add r1, r0, #0x0 mov r2, #0x0 add r1, #0x64 str r2, [r4, r1] add r0, #0x5a strb r2, [r4, r0] ldr r0, [sp, #0x0] bl FUN_0200CAB4 _02081DBC: add sp, #0x10 pop {r3-r7, pc} .balign 4 _02081DC0: .word 0x000019B4 thumb_func_start FUN_02081DC4 FUN_02081DC4: ; 0x02081DC4 push {r3-r7, lr} add r6, r0, #0x0 bl FUN_02030F40 cmp r0, #0x0 bne _02081DD4 mov r0, #0x0 pop {r3-r7, pc} _02081DD4: ldr r0, _02081EA4 ; =0x00000171 mov r1, #0x1 strb r1, [r6, r0] bl FUN_02030F20 add r4, r0, #0x0 bl FUN_02031190 mov r5, #0x0 str r0, [sp, #0x0] cmp r4, #0x0 ble _02081E0A _02081DEC: add r0, r5, #0x0 bl FUN_0202DFA4 add r7, r0, #0x0 bne _02081DFA bl ErrorHandling _02081DFA: add r0, r7, #0x0 bl FUN_02023A88 cmp r0, #0x0 beq _02081E0A add r5, r5, #0x1 cmp r5, r4 blt _02081DEC _02081E0A: cmp r5, r4 beq _02081E12 mov r1, #0x0 b _02081E14 _02081E12: mov r1, #0x1 _02081E14: ldr r0, _02081EA8 ; =0x00001999 mov r5, #0x0 strb r1, [r6, r0] cmp r4, #0x0 ble _02081E3C _02081E1E: add r0, r5, #0x0 bl FUN_0202DFA4 add r7, r0, #0x0 bne _02081E2C bl ErrorHandling _02081E2C: add r0, r7, #0x0 bl FUN_02023A9C cmp r0, #0x0 beq _02081E3C add r5, r5, #0x1 cmp r5, r4 blt _02081E1E _02081E3C: cmp r5, r4 beq _02081E44 mov r1, #0x0 b _02081E46 _02081E44: mov r1, #0x1 _02081E46: ldr r0, _02081EAC ; =0x0000199A ldr r2, _02081EA8 ; =0x00001999 strb r1, [r6, r0] ldrb r1, [r6, r2] add r2, r2, #0x1 ldrb r2, [r6, r2] add r0, r6, #0x0 bl FUN_020813F4 ldr r0, [sp, #0x0] mov r1, #0x49 lsl r0, r0, #0x18 mov r2, #0x4 lsr r0, r0, #0x18 lsl r1, r1, #0x2 sub r3, r2, r4 strb r0, [r6, r1] add r2, r1, #0x2 strb r3, [r6, r2] add r2, r1, #0x3 strb r4, [r6, r2] sub r1, r1, #0x1 strb r0, [r6, r1] mov r1, #0x64 add r0, r1, #0x0 add r0, #0xc1 strb r1, [r6, r0] add r1, #0xbc ldrb r0, [r6, r1] mov r1, #0x1 bl FUN_02083454 ldr r1, _02081EB0 ; =0x00000122 strb r0, [r6, r1] add r0, r6, #0x0 bl FUN_020834D0 ldr r0, _02081EB4 ; =FUN_02081680 add r1, r6, #0x0 mov r2, #0xa bl FUN_0200CA44 mov r1, #0x6 lsl r1, r1, #0x6 str r0, [r6, r1] mov r0, #0x1 pop {r3-r7, pc} .balign 4 _02081EA4: .word 0x00000171 _02081EA8: .word 0x00001999 _02081EAC: .word 0x0000199A _02081EB0: .word 0x00000122 _02081EB4: .word FUN_02081680 thumb_func_start FUN_02081EB8 FUN_02081EB8: ; 0x02081EB8 ldr r3, _02081EBC ; =FUN_02081EC0 bx r3 .balign 4 _02081EBC: .word FUN_02081EC0 thumb_func_start FUN_02081EC0 FUN_02081EC0: ; 0x02081EC0 mov r1, #0x6 lsl r1, r1, #0x6 ldr r0, [r0, r1] cmp r0, #0x0 bne _02081ECE mov r0, #0x1 bx lr _02081ECE: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_02081ED4 FUN_02081ED4: ; 0x02081ED4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x6 lsl r0, r0, #0x6 ldr r0, [r4, r0] cmp r0, #0x0 beq _02081EE6 bl ErrorHandling _02081EE6: ldr r0, _02081F00 ; =0x00000176 mov r1, #0x0 strb r1, [r4, r0] ldr r0, _02081F04 ; =FUN_02081F08 add r1, r4, #0x0 mov r2, #0xa bl FUN_0200CA44 mov r1, #0x6 lsl r1, r1, #0x6 str r0, [r4, r1] pop {r4, pc} nop _02081F00: .word 0x00000176 _02081F04: .word FUN_02081F08 thumb_func_start FUN_02081F08 FUN_02081F08: ; 0x02081F08 push {r4, lr} add r4, r1, #0x0 ldr r1, _02082014 ; =0x00000176 ldrb r2, [r4, r1] cmp r2, #0x7 bhi _02082000 add r3, r2, r2 add r3, pc ldrh r3, [r3, #0x6] lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 _02081F20: ; jump table (using 16-bit offset) .short _02081F30 - _02081F20 - 2; case 0 .short _02081F46 - _02081F20 - 2; case 1 .short _02081F5A - _02081F20 - 2; case 2 .short _02081F7A - _02081F20 - 2; case 3 .short _02081F94 - _02081F20 - 2; case 4 .short _02081FAA - _02081F20 - 2; case 5 .short _02081FBE - _02081F20 - 2; case 6 .short _02081FEC - _02081F20 - 2; case 7 _02081F30: mov r0, #0x11 bl FUN_02031588 ldr r0, _02082018 ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] ldr r0, _02082014 ; =0x00000176 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r4, pc} _02081F46: mov r0, #0x11 bl FUN_020315D8 cmp r0, #0x1 bne _02082010 ldr r0, _02082014 ; =0x00000176 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r4, pc} _02081F5A: sub r1, #0x53 ldrb r1, [r4, r1] add r0, r4, #0x0 lsl r2, r1, #0x2 add r2, r4, r2 add r2, #0xf8 ldr r2, [r2, #0x0] bl FUN_02083930 cmp r0, #0x1 bne _02082010 ldr r0, _02082014 ; =0x00000176 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r4, pc} _02081F7A: ldr r0, _02082018 ; =0x00000584 add r2, r1, #0x0 sub r2, #0x4f ldrb r3, [r4, r0] ldrb r2, [r4, r2] cmp r3, r2 blo _02082010 mov r2, #0x0 strb r2, [r4, r0] ldrb r0, [r4, r1] add r0, r0, #0x1 strb r0, [r4, r1] pop {r4, pc} _02081F94: mov r0, #0x12 bl FUN_02031588 ldr r0, _02082018 ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] ldr r0, _02082014 ; =0x00000176 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r4, pc} _02081FAA: mov r0, #0x12 bl FUN_020315D8 cmp r0, #0x1 bne _02082010 ldr r0, _02082014 ; =0x00000176 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r4, pc} _02081FBE: add r0, r1, #0x0 sub r0, #0x53 ldrb r3, [r4, r0] add r0, r1, #0x0 sub r0, #0x5a ldrb r0, [r4, r0] cmp r3, r0 bne _02081FE6 add r1, r4, #0x0 add r0, r4, #0x0 add r1, #0xf8 bl FUN_020839C0 cmp r0, #0x1 bne _02082010 ldr r0, _02082014 ; =0x00000176 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r4, pc} _02081FE6: add r0, r2, #0x1 strb r0, [r4, r1] pop {r4, pc} _02081FEC: ldr r0, _02082018 ; =0x00000584 ldrb r2, [r4, r0] cmp r2, #0x0 beq _02082010 mov r2, #0x0 strb r2, [r4, r0] ldrb r0, [r4, r1] add r0, r0, #0x1 strb r0, [r4, r1] pop {r4, pc} _02082000: mov r1, #0x6 mov r2, #0x0 lsl r1, r1, #0x6 str r2, [r4, r1] sub r1, #0xa strb r2, [r4, r1] bl FUN_0200CAB4 _02082010: pop {r4, pc} nop _02082014: .word 0x00000176 _02082018: .word 0x00000584 thumb_func_start FUN_0208201C FUN_0208201C: ; 0x0208201C push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r2, #0x0 lsl r2, r4, #0x3 add r2, r5, r2 add r2, #0xd0 ldrh r2, [r2, #0x0] add r1, r3, #0x0 bl FUN_0200B244 pop {r3-r5, pc} thumb_func_start FUN_02082034 FUN_02082034: ; 0x02082034 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 bl FUN_020832E4 add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0x2 str r0, [sp, #0x4] add r0, r4, #0x0 lsl r2, r3, #0x2 add r4, r5, r3 mov r3, #0x42 add r2, r5, r2 lsl r3, r3, #0x2 add r2, #0xe8 ldrb r3, [r4, r3] ldr r2, [r2, #0x0] add r1, r6, #0x0 bl FUN_0200ABB4 add sp, #0x8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0208206C FUN_0208206C: ; 0x0208206C push {r4-r6, lr} add r5, r0, #0x0 add r0, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 bl FUN_020832E4 lsl r0, r0, #0x2 ldr r0, [r5, r0] bl FUN_020690E4 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 bl FUN_0200ACF8 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02082090 FUN_02082090: ; 0x02082090 push {r3-r5, lr} add r4, r2, #0x0 mov r2, #0x12 add r3, r0, #0x0 lsl r2, r2, #0x4 add r5, r1, #0x0 add r1, r2, #0x1 ldrb r0, [r3, r2] add r2, #0x51 ldrb r1, [r3, r1] ldrb r2, [r3, r2] bl FUN_02083228 add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0200B278 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020820B8 FUN_020820B8: ; 0x020820B8 push {r3-r5, lr} add r5, r1, #0x0 ldr r1, _020820D8 ; =0x0000011F add r3, r0, #0x0 ldrb r0, [r3, r1] add r1, r1, #0x2 ldrb r1, [r3, r1] add r4, r2, #0x0 bl FUN_020832A4 add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0200B2AC pop {r3-r5, pc} .balign 4 _020820D8: .word 0x0000011F thumb_func_start FUN_020820DC FUN_020820DC: ; 0x020820DC push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 mov r1, #0x13 add r6, r2, #0x0 mov r0, #0x0 add r3, r5, #0x0 lsl r1, r1, #0x4 _020820EC: ldrb r2, [r3, r1] cmp r2, #0x0 beq _020820FA add r0, r0, #0x1 add r3, #0xc cmp r0, #0x4 blt _020820EC _020820FA: bl FUN_020832DC add r1, r0, #0x0 add r0, r5, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 bl FUN_02082034 pop {r4-r6, pc} thumb_func_start FUN_0208210C FUN_0208210C: ; 0x0208210C push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 mov r1, #0x13 add r6, r2, #0x0 mov r0, #0x0 add r3, r5, #0x0 lsl r1, r1, #0x4 _0208211C: ldrb r2, [r3, r1] cmp r2, #0x0 beq _0208212A add r0, r0, #0x1 add r3, #0xc cmp r0, #0x4 blt _0208211C _0208212A: bl FUN_020832DC add r1, r0, #0x0 add r0, r5, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 bl FUN_0208206C pop {r4-r6, pc} thumb_func_start FUN_0208213C FUN_0208213C: ; 0x0208213C mov r0, #0x1 bx lr thumb_func_start FUN_02082140 FUN_02082140: ; 0x02082140 push {r3, lr} ldr r2, _02082154 ; =0x00000171 ldrb r0, [r0, r2] cmp r0, #0x0 beq _02082150 add r0, r1, #0x0 bl FUN_02031588 _02082150: pop {r3, pc} nop _02082154: .word 0x00000171 thumb_func_start FUN_02082158 FUN_02082158: ; 0x02082158 push {r3, lr} ldr r2, _02082178 ; =0x00000171 ldrb r0, [r0, r2] cmp r0, #0x0 bne _02082166 mov r0, #0x1 pop {r3, pc} _02082166: add r0, r1, #0x0 bl FUN_020315D8 cmp r0, #0x1 bne _02082174 mov r0, #0x1 pop {r3, pc} _02082174: mov r0, #0x0 pop {r3, pc} .balign 4 _02082178: .word 0x00000171 thumb_func_start FUN_0208217C FUN_0208217C: ; 0x0208217C ldr r2, _0208218C ; =0x00000123 mov r1, #0xc ldrb r3, [r0, r2] add r2, #0xd mul r1, r3 add r0, r0, r1 ldrb r0, [r0, r2] bx lr .balign 4 _0208218C: .word 0x00000123 thumb_func_start FUN_02082190 FUN_02082190: ; 0x02082190 push {r3, lr} mov r1, #0x13 mov r3, #0x0 lsl r1, r1, #0x4 _02082198: ldrb r2, [r0, r1] cmp r2, #0x0 bne _020821A6 add r0, r3, #0x0 bl FUN_020832DC pop {r3, pc} _020821A6: add r3, r3, #0x1 add r0, #0xc cmp r3, #0x4 blt _02082198 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_020821B4 FUN_020821B4: ; 0x020821B4 ldr r1, _020821BC ; =0x00000123 ldr r3, _020821C0 ; =FUN_020832DC ldrb r0, [r0, r1] bx r3 .balign 4 _020821BC: .word 0x00000123 _020821C0: .word FUN_020832DC thumb_func_start FUN_020821C4 FUN_020821C4: ; 0x020821C4 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 bl FUN_020832E4 lsl r0, r0, #0x1 add r1, r4, r0 mov r0, #0x45 lsl r0, r0, #0x2 ldrh r0, [r1, r0] pop {r4, pc} .balign 4 thumb_func_start FUN_020821DC FUN_020821DC: ; 0x020821DC push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 bl FUN_020832E4 add r1, r4, r0 mov r0, #0x11 lsl r0, r0, #0x4 ldrb r0, [r1, r0] pop {r4, pc} thumb_func_start FUN_020821F0 FUN_020821F0: ; 0x020821F0 push {r3, lr} ldr r1, _02082210 ; =0x00000171 ldrb r1, [r0, r1] cmp r1, #0x1 bne _020821FE mov r0, #0x1 pop {r3, pc} _020821FE: bl FUN_020832EC cmp r0, #0x1 bne _0208220A mov r0, #0x2 pop {r3, pc} _0208220A: mov r0, #0x0 pop {r3, pc} nop _02082210: .word 0x00000171 thumb_func_start FUN_02082214 FUN_02082214: ; 0x02082214 push {r4-r5} mov r4, #0x12 lsl r4, r4, #0x4 ldrb r5, [r0, r4] strh r5, [r1, #0x0] sub r1, r4, #0x1 ldrb r1, [r0, r1] strh r1, [r2, #0x0] add r1, r4, #0x1 ldrb r1, [r0, r1] strh r1, [r3, #0x0] ldr r1, _02082238 ; =0x00001998 ldrb r1, [r0, r1] ldr r0, [sp, #0x8] strh r1, [r0, #0x0] pop {r4-r5} bx lr nop _02082238: .word 0x00001998 thumb_func_start FUN_0208223C FUN_0208223C: ; 0x0208223C ldr r1, _02082244 ; =0x00000171 ldr r3, _02082248 ; =FUN_020833D4 ldrb r0, [r0, r1] bx r3 .balign 4 _02082244: .word 0x00000171 _02082248: .word FUN_020833D4 thumb_func_start FUN_0208224C FUN_0208224C: ; 0x0208224C ldr r3, _02082250 ; =FUN_02083404 bx r3 .balign 4 _02082250: .word FUN_02083404 thumb_func_start FUN_02082254 FUN_02082254: ; 0x02082254 push {r4, lr} mov r1, #0x12 add r4, r0, #0x0 lsl r1, r1, #0x4 ldrb r0, [r4, r1] sub r1, r1, #0x1 ldrb r1, [r4, r1] bl FUN_0208341C add r1, r0, #0x0 ldr r0, _02082280 ; =0x00001990 mov r2, #0x0 ldr r0, [r4, r0] bl FUN_020671BC cmp r0, #0x0 beq _0208227A mov r0, #0x1 pop {r4, pc} _0208227A: mov r0, #0x0 pop {r4, pc} nop _02082280: .word 0x00001990 thumb_func_start FUN_02082284 FUN_02082284: ; 0x02082284 push {r3-r5, lr} add r4, r1, #0x0 ldr r1, _020822EC ; =0x0000011F add r5, r2, #0x0 ldrb r2, [r0, r1] cmp r2, #0x4 bhi _020822D0 add r2, r2, r2 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0208229E: ; jump table (using 16-bit offset) .short _020822A8 - _0208229E - 2; case 0 .short _020822B0 - _0208229E - 2; case 1 .short _020822B8 - _0208229E - 2; case 2 .short _020822C0 - _0208229E - 2; case 3 .short _020822C8 - _0208229E - 2; case 4 _020822A8: add r1, r1, #0x1 ldrb r0, [r0, r1] add r0, #0x21 b _020822D6 _020822B0: add r1, r1, #0x1 ldrb r0, [r0, r1] add r0, #0x25 b _020822D6 _020822B8: add r1, r1, #0x1 ldrb r0, [r0, r1] add r0, #0x29 b _020822D6 _020822C0: add r1, r1, #0x1 ldrb r0, [r0, r1] add r0, #0x2d b _020822D6 _020822C8: add r1, r1, #0x1 ldrb r0, [r0, r1] add r0, #0x31 b _020822D6 _020822D0: bl ErrorHandling pop {r3-r5, pc} _020822D6: lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r1, #0x3 bl FUN_0207FC5C add r2, r0, #0x0 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_0200AD94 pop {r3-r5, pc} .balign 4 _020822EC: .word 0x0000011F thumb_func_start FUN_020822F0 FUN_020822F0: ; 0x020822F0 push {r3-r5, lr} mov r4, #0x64 add r5, r0, #0x0 add r0, r4, #0x0 add r0, #0xbf ldrb r1, [r5, r0] mov r0, #0xc mul r0, r1 add r1, r5, r0 add r0, r4, #0x0 add r0, #0xcc ldrb r0, [r1, r0] cmp r0, #0x0 beq _02082310 ldr r0, _0208243C ; =0x0000FFFF pop {r3-r5, pc} _02082310: add r0, r4, #0x0 add r0, #0xbb ldrb r0, [r5, r0] cmp r0, #0x4 bhi _02082414 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02082326: ; jump table (using 16-bit offset) .short _02082330 - _02082326 - 2; case 0 .short _0208235E - _02082326 - 2; case 1 .short _0208238C - _02082326 - 2; case 2 .short _020823BA - _02082326 - 2; case 3 .short _020823E8 - _02082326 - 2; case 4 _02082330: add r0, r4, #0x0 add r0, #0xbc ldrb r0, [r5, r0] cmp r0, #0x3 bhi _02082414 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02082346: ; jump table (using 16-bit offset) .short _0208234E - _02082346 - 2; case 0 .short _02082352 - _02082346 - 2; case 1 .short _02082356 - _02082346 - 2; case 2 .short _0208235A - _02082346 - 2; case 3 _0208234E: mov r4, #0x49 b _02082414 _02082352: mov r4, #0x4e b _02082414 _02082356: mov r4, #0x53 b _02082414 _0208235A: mov r4, #0x58 b _02082414 _0208235E: add r0, r4, #0x0 add r0, #0xbc ldrb r0, [r5, r0] cmp r0, #0x3 bhi _02082414 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02082374: ; jump table (using 16-bit offset) .short _0208237C - _02082374 - 2; case 0 .short _02082380 - _02082374 - 2; case 1 .short _02082384 - _02082374 - 2; case 2 .short _02082388 - _02082374 - 2; case 3 _0208237C: mov r4, #0x4a b _02082414 _02082380: mov r4, #0x4f b _02082414 _02082384: mov r4, #0x54 b _02082414 _02082388: mov r4, #0x59 b _02082414 _0208238C: add r0, r4, #0x0 add r0, #0xbc ldrb r0, [r5, r0] cmp r0, #0x3 bhi _02082414 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020823A2: ; jump table (using 16-bit offset) .short _020823AA - _020823A2 - 2; case 0 .short _020823AE - _020823A2 - 2; case 1 .short _020823B2 - _020823A2 - 2; case 2 .short _020823B6 - _020823A2 - 2; case 3 _020823AA: mov r4, #0x48 b _02082414 _020823AE: mov r4, #0x4d b _02082414 _020823B2: mov r4, #0x52 b _02082414 _020823B6: mov r4, #0x57 b _02082414 _020823BA: add r0, r4, #0x0 add r0, #0xbc ldrb r0, [r5, r0] cmp r0, #0x3 bhi _02082414 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020823D0: ; jump table (using 16-bit offset) .short _020823D8 - _020823D0 - 2; case 0 .short _020823DC - _020823D0 - 2; case 1 .short _020823E0 - _020823D0 - 2; case 2 .short _020823E4 - _020823D0 - 2; case 3 _020823D8: mov r4, #0x4c b _02082414 _020823DC: mov r4, #0x51 b _02082414 _020823E0: mov r4, #0x56 b _02082414 _020823E4: mov r4, #0x5b b _02082414 _020823E8: add r0, r4, #0x0 add r0, #0xbc ldrb r0, [r5, r0] cmp r0, #0x3 bhi _02082414 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020823FE: ; jump table (using 16-bit offset) .short _02082406 - _020823FE - 2; case 0 .short _0208240A - _020823FE - 2; case 1 .short _0208240E - _020823FE - 2; case 2 .short _02082412 - _020823FE - 2; case 3 _02082406: mov r4, #0x4b b _02082414 _0208240A: mov r4, #0x50 b _02082414 _0208240E: mov r4, #0x55 b _02082414 _02082412: mov r4, #0x5a _02082414: cmp r4, #0x64 bne _0208241C bl ErrorHandling _0208241C: ldr r0, _02082440 ; =0x0000198C ldr r0, [r5, r0] bl FUN_02027E24 bl FUN_0202708C add r1, r4, #0x0 mov r2, #0x1 bl FUN_020270D8 cmp r0, #0x0 bne _02082438 ldr r0, _0208243C ; =0x0000FFFF pop {r3-r5, pc} _02082438: add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 _0208243C: .word 0x0000FFFF _02082440: .word 0x0000198C thumb_func_start FUN_02082444 FUN_02082444: ; 0x02082444 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _020824F0 ; =0x000019BC add r6, r1, #0x0 ldr r0, [r5, r0] cmp r0, #0x0 beq _02082456 bl ErrorHandling _02082456: mov r0, #0x4 mov r1, #0x10 bl FUN_020169D8 mov r1, #0x0 mov r2, #0x10 add r4, r0, #0x0 blx MI_CpuFill8 add r0, r6, #0x0 bl FUN_020832E4 strb r0, [r4, #0xc] ldrb r0, [r4, #0xc] mov r1, #0x43 lsl r1, r1, #0x2 add r0, r5, r0 ldrb r2, [r0, r1] mov r0, #0x1 and r0, r2 add r2, r1, #0x0 add r2, #0x65 ldrb r2, [r5, r2] cmp r2, #0x1 bne _02082494 mov r1, #0x6 ldr r2, _020824F4 ; =0x020FBBAC mul r1, r0 add r0, r2, r1 str r0, [r4, #0x4] b _020824DC _02082494: add r1, #0x14 ldrb r1, [r5, r1] cmp r1, #0x3 bhi _020824D2 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _020824A8: ; jump table (using 16-bit offset) .short _020824B0 - _020824A8 - 2; case 0 .short _020824BC - _020824A8 - 2; case 1 .short _020824C6 - _020824A8 - 2; case 2 .short _020824D2 - _020824A8 - 2; case 3 _020824B0: lsl r1, r0, #0x1 ldr r2, _020824F8 ; =0x020FBB90 add r0, r0, r1 add r0, r2, r0 str r0, [r4, #0x4] b _020824DC _020824BC: ldr r1, _020824FC ; =0x020FBB98 lsl r0, r0, #0x2 add r0, r1, r0 str r0, [r4, #0x4] b _020824DC _020824C6: lsl r1, r0, #0x2 ldr r2, _02082500 ; =0x020FBBA0 add r0, r0, r1 add r0, r2, r0 str r0, [r4, #0x4] b _020824DC _020824D2: mov r1, #0x6 ldr r2, _020824F4 ; =0x020FBBAC mul r1, r0 add r0, r2, r1 str r0, [r4, #0x4] _020824DC: ldr r0, _02082504 ; =FUN_0208251C add r1, r5, #0x0 mov r2, #0x64 bl FUN_0200CA44 str r0, [r4, #0x0] ldr r0, _020824F0 ; =0x000019BC str r4, [r5, r0] pop {r4-r6, pc} nop _020824F0: .word 0x000019BC _020824F4: .word 0x020FBBAC _020824F8: .word 0x020FBB90 _020824FC: .word 0x020FBB98 _02082500: .word 0x020FBBA0 _02082504: .word FUN_0208251C thumb_func_start FUN_02082508 FUN_02082508: ; 0x02082508 ldr r1, _02082518 ; =0x000019BC ldr r0, [r0, r1] cmp r0, #0x0 bne _02082514 mov r0, #0x1 bx lr _02082514: mov r0, #0x0 bx lr .balign 4 _02082518: .word 0x000019BC thumb_func_start FUN_0208251C FUN_0208251C: ; 0x0208251C push {r3-r6, lr} sub sp, #0x4 add r6, r0, #0x0 ldr r0, _02082598 ; =0x000019BC add r5, r1, #0x0 ldr r4, [r5, r0] mov r0, #0x1 bl FUN_0200A344 cmp r0, #0x0 beq _02082594 ldrb r0, [r4, #0xb] cmp r0, #0x0 bne _02082580 mov r0, #0x8 ldrsh r1, [r4, r0] add r1, r1, #0x1 strh r1, [r4, #0x8] ldrsh r2, [r4, r0] ldrb r0, [r4, #0xa] ldr r1, [r4, #0x4] ldrb r0, [r1, r0] cmp r2, r0 ble _02082594 mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0x6 mov r1, #0x0 mov r2, #0x4 mov r3, #0x3f bl FUN_0200A208 ldr r0, _0208259C ; =0x000005F8 bl FUN_020054C8 ldrb r0, [r4, #0xa] add r0, r0, #0x1 strb r0, [r4, #0xa] mov r0, #0x0 strh r0, [r4, #0x8] ldrb r0, [r4, #0xa] ldr r1, [r4, #0x4] ldrb r0, [r1, r0] cmp r0, #0xff bne _02082594 ldrb r0, [r4, #0xb] add sp, #0x4 add r0, r0, #0x1 strb r0, [r4, #0xb] pop {r3-r6, pc} _02082580: ldr r0, _02082598 ; =0x000019BC ldr r0, [r5, r0] bl FUN_02016A18 ldr r0, _02082598 ; =0x000019BC mov r1, #0x0 str r1, [r5, r0] add r0, r6, #0x0 bl FUN_0200CAB4 _02082594: add sp, #0x4 pop {r3-r6, pc} .balign 4 _02082598: .word 0x000019BC _0208259C: .word 0x000005F8 thumb_func_start FUN_020825A0 FUN_020825A0: ; 0x020825A0 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 mov r0, #0x13 str r2, [sp, #0x4] ldr r6, [sp, #0x20] ldr r7, [sp, #0x24] str r1, [sp, #0x0] str r3, [sp, #0x8] mov r4, #0x0 add r2, r5, #0x0 lsl r0, r0, #0x4 _020825B8: ldrb r1, [r2, r0] cmp r1, #0x0 beq _020825C6 add r4, r4, #0x1 add r2, #0xc cmp r4, #0x4 blt _020825B8 _020825C6: add r0, r4, #0x0 bl FUN_020832DC ldr r1, [sp, #0x0] str r0, [r1, #0x0] ldr r1, _02082628 ; =0x00000171 ldr r0, [sp, #0x4] ldrb r2, [r5, r1] sub r1, #0x4a str r2, [r0, #0x0] ldrb r0, [r5, r1] cmp r4, r0 blt _020825E6 mov r1, #0x1 ldr r0, [sp, #0x8] b _020825EA _020825E6: ldr r0, [sp, #0x8] mov r1, #0x0 _020825EA: str r1, [r0, #0x0] mov r0, #0x0 str r0, [r6, #0x0] str r0, [r7, #0x0] ldr r0, _0208262C ; =0x00000121 ldrb r0, [r5, r0] cmp r0, #0x8 bhi _02082624 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02082606: ; jump table (using 16-bit offset) .short _02082624 - _02082606 - 2; case 0 .short _02082624 - _02082606 - 2; case 1 .short _02082624 - _02082606 - 2; case 2 .short _02082618 - _02082606 - 2; case 3 .short _02082620 - _02082606 - 2; case 4 .short _02082618 - _02082606 - 2; case 5 .short _02082620 - _02082606 - 2; case 6 .short _02082618 - _02082606 - 2; case 7 .short _02082620 - _02082606 - 2; case 8 _02082618: mov r0, #0x1 add sp, #0xc str r0, [r6, #0x0] pop {r4-r7, pc} _02082620: mov r0, #0x1 str r0, [r7, #0x0] _02082624: add sp, #0xc pop {r4-r7, pc} .balign 4 _02082628: .word 0x00000171 _0208262C: .word 0x00000121 thumb_func_start FUN_02082630 FUN_02082630: ; 0x02082630 push {r4-r7, lr} sub sp, #0xc add r4, r0, #0x0 ldr r0, _02082840 ; =0x00000121 str r2, [sp, #0x4] ldrb r0, [r4, r0] add r6, r3, #0x0 mov r5, #0x0 cmp r0, #0x8 bhi _02082666 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02082650: ; jump table (using 16-bit offset) .short _02082666 - _02082650 - 2; case 0 .short _02082666 - _02082650 - 2; case 1 .short _02082666 - _02082650 - 2; case 2 .short _02082662 - _02082650 - 2; case 3 .short _02082662 - _02082650 - 2; case 4 .short _02082662 - _02082650 - 2; case 5 .short _02082662 - _02082650 - 2; case 6 .short _02082662 - _02082650 - 2; case 7 .short _02082662 - _02082650 - 2; case 8 _02082662: add sp, #0xc pop {r4-r7, pc} _02082666: ldr r2, _02082844 ; =0x00000171 ldrb r0, [r4, r2] cmp r0, #0x0 ldr r0, _02082848 ; =0x0000198C beq _02082672 b _02082774 _02082672: ldr r0, [r4, r0] bl FUN_020462AC add r6, r0, #0x0 ldr r0, _02082840 ; =0x00000121 ldrb r1, [r4, r0] cmp r1, #0x2 bne _020826AC sub r0, r0, #0x1 ldrb r0, [r4, r0] cmp r0, #0x3 blo _020826AC add r0, r4, #0x0 bl FUN_0208217C cmp r0, #0x0 bne _020826AC ldr r1, _0208284C ; =0x0000011F add r0, r6, #0x0 ldrb r1, [r4, r1] bl FUN_0205EE60 cmp r0, #0x0 bne _020826AC ldr r1, _0208284C ; =0x0000011F add r0, r6, #0x0 ldrb r1, [r4, r1] bl FUN_0205EE08 _020826AC: add r0, r4, #0x0 bl FUN_0208217C cmp r0, #0x0 bne _020826EA mov r1, #0x1 add r0, sp, #0x8 strb r1, [r0, #0x0] mov r1, #0x12 lsl r1, r1, #0x4 ldrb r0, [r4, r1] sub r1, r1, #0x1 ldrb r1, [r4, r1] bl FUN_0208341C add r6, r0, #0x0 ldr r0, _02082850 ; =0x00001990 add r1, r6, #0x0 ldr r0, [r4, r0] mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 bne _020826DE mov r5, #0x1 _020826DE: ldr r0, _02082850 ; =0x00001990 add r1, r6, #0x0 ldr r0, [r4, r0] add r2, sp, #0x8 bl FUN_02067830 _020826EA: ldr r0, _02082848 ; =0x0000198C ldr r0, [r4, r0] bl FUN_02022504 ldr r3, _02082854 ; =0x00000123 mov r1, #0xc ldrb r2, [r4, r3] mul r1, r2 add r2, r4, r1 add r1, r3, #0x0 add r1, #0xd ldrb r1, [r2, r1] sub r2, r3, #0x4 sub r3, r3, #0x3 add r1, r1, #0x1 str r1, [sp, #0x0] ldr r1, _02082850 ; =0x00001990 ldrb r2, [r4, r2] ldrb r3, [r4, r3] ldr r1, [r4, r1] bl FUN_02060F10 ldr r0, _02082848 ; =0x0000198C ldr r0, [r4, r0] bl FUN_02029FC8 mov r1, #0x3f add r6, r0, #0x0 bl FUN_0202A0E8 add r0, r4, #0x0 bl FUN_0208217C cmp r0, #0x0 bne _02082740 add r0, r6, #0x0 mov r1, #0x41 bl FUN_0202A0E8 add r0, r6, #0x0 mov r1, #0xd bl FUN_0202A170 _02082740: cmp r5, #0x1 bne _0208274C add r0, r6, #0x0 mov r1, #0x43 bl FUN_0202A0E8 _0208274C: ldr r0, _02082848 ; =0x0000198C ldr r0, [r4, r0] bl FUN_02024DA0 add r7, r0, #0x0 ldr r0, _02082858 ; =0x00000127 ldrb r6, [r4, r0] cmp r6, #0x4 bge _020827E8 lsl r0, r6, #0x2 add r5, r4, r0 _02082762: ldr r1, [r5, #0x0] add r0, r7, #0x0 bl FUN_0202498C add r6, r6, #0x1 add r5, r5, #0x4 cmp r6, #0x4 blt _02082762 b _020827E8 _02082774: add r3, r2, #0x0 sub r3, #0x4e ldrb r5, [r4, r3] add r1, r2, #0x0 mov r3, #0xc mul r3, r5 sub r1, #0x52 add r3, r4, r3 sub r2, #0x41 ldrb r1, [r4, r1] ldrb r2, [r3, r2] ldr r0, [r4, r0] bl FUN_0202C108 ldr r0, _02082848 ; =0x0000198C ldr r0, [r4, r0] bl FUN_02029FC8 mov r1, #0x40 add r5, r0, #0x0 bl FUN_0202A0E8 add r0, r4, #0x0 bl FUN_0208217C cmp r0, #0x0 bne _020827BA add r0, r5, #0x0 mov r1, #0x42 bl FUN_0202A0E8 add r0, r5, #0x0 mov r1, #0x13 bl FUN_0202A170 _020827BA: ldr r1, _02082854 ; =0x00000123 mov r0, #0xc ldrb r2, [r4, r1] add r1, #0xd mul r0, r2 add r0, r4, r0 ldrb r0, [r0, r1] mov r1, #0xb add r0, r0, #0x1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_02029500 add r5, r0, #0x0 ldr r0, _02082848 ; =0x0000198C ldr r0, [r4, r0] bl FUN_020289A4 add r0, r6, #0x0 add r1, r5, #0x0 mov r2, #0x4 bl FUN_02028AD4 _020827E8: add r0, r4, #0x0 bl FUN_0208217C cmp r0, #0x0 bne _02082820 ldr r0, _02082848 ; =0x0000198C ldr r0, [r4, r0] bl FUN_02027E24 ldr r1, _0208284C ; =0x0000011F ldrb r1, [r4, r1] bl FUN_02027044 add r5, r0, #0x0 bl FUN_02027740 ldr r1, _02082854 ; =0x00000123 add r0, r5, #0x0 ldrb r1, [r4, r1] lsl r1, r1, #0x2 add r1, r4, r1 add r1, #0xf8 ldr r1, [r1, #0x0] bl FUN_020278DC add r0, r5, #0x0 bl FUN_02027710 _02082820: add r0, r4, #0x0 bl FUN_0208217C cmp r0, #0x0 bne _0208283A ldr r0, _02082850 ; =0x00001990 ldr r2, [sp, #0x4] ldr r0, [r4, r0] lsl r2, r2, #0x10 mov r1, #0x9 lsr r2, r2, #0x10 bl FUN_020688E8 _0208283A: add sp, #0xc pop {r4-r7, pc} nop _02082840: .word 0x00000121 _02082844: .word 0x00000171 _02082848: .word 0x0000198C _0208284C: .word 0x0000011F _02082850: .word 0x00001990 _02082854: .word 0x00000123 _02082858: .word 0x00000127 thumb_func_start FUN_0208285C FUN_0208285C: ; 0x0208285C push {r4, lr} bl FUN_020126D8 add r4, r0, #0x0 bl FUN_0201B9D4 add r0, #0xa mul r0, r4 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_0201B9E0 pop {r4, pc} .balign 4 thumb_func_start FUN_02082878 FUN_02082878: ; 0x02082878 ldr r3, _0208287C ; =FUN_0201B9EC bx r3 .balign 4 _0208287C: .word FUN_0201B9EC thumb_func_start FUN_02082880 FUN_02082880: ; 0x02082880 push {r4, lr} add r4, r1, #0x0 bl FUN_0201BA10 str r0, [r4, #0x0] lsr r0, r0, #0x10 lsl r0, r0, #0x10 lsr r0, r0, #0x10 pop {r4, pc} .balign 4 thumb_func_start FUN_02082894 FUN_02082894: ; 0x02082894 push {r4-r5} mov r5, #0x42 add r3, r0, r1 lsl r5, r5, #0x2 ldrb r4, [r3, r5] lsl r1, r1, #0x1 add r0, r0, r1 strb r4, [r2, #0x0] add r4, r5, #0x4 ldrb r4, [r3, r4] strb r4, [r2, #0x1] add r4, r5, #0x0 add r4, #0x8 ldrb r3, [r3, r4] add r5, #0xc strb r3, [r2, #0x2] ldrh r0, [r0, r5] strh r0, [r2, #0x4] pop {r4-r5} bx lr thumb_func_start FUN_020828BC FUN_020828BC: ; 0x020828BC ldr r2, _020828E0 ; =0x00000171 ldrb r1, [r0, r2] cmp r1, #0x0 beq _020828D6 cmp r1, #0x1 bne _020828DA add r1, r2, #0x0 sub r1, #0x55 sub r2, #0x4e ldrb r1, [r0, r1] ldrb r0, [r0, r2] cmp r1, r0 bne _020828DA _020828D6: mov r0, #0x1 bx lr _020828DA: mov r0, #0x0 bx lr nop _020828E0: .word 0x00000171 thumb_func_start FUN_020828E4 FUN_020828E4: ; 0x020828E4 push {r3-r7, lr} sub sp, #0x58 str r0, [sp, #0x4] ldr r0, [sp, #0x70] mov r6, #0x0 str r0, [sp, #0x70] ldr r0, [sp, #0x74] add r5, r1, #0x0 add r4, r3, #0x0 str r2, [sp, #0x8] str r6, [sp, #0x20] str r6, [sp, #0x18] str r6, [sp, #0x1c] cmp r0, #0x8 bhi _0208292A add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0208290E: ; jump table (using 16-bit offset) .short _0208292A - _0208290E - 2; case 0 .short _0208292A - _0208290E - 2; case 1 .short _0208292A - _0208290E - 2; case 2 .short _02082920 - _0208290E - 2; case 3 .short _02082926 - _0208290E - 2; case 4 .short _02082920 - _0208290E - 2; case 5 .short _02082926 - _0208290E - 2; case 6 .short _02082920 - _0208290E - 2; case 7 .short _02082926 - _0208290E - 2; case 8 _02082920: mov r0, #0x1 str r0, [sp, #0x18] b _0208292A _02082926: mov r0, #0x1 str r0, [sp, #0x1c] _0208292A: mov r0, #0x1 mov r1, #0x0 str r0, [sp, #0x0] mov r0, #0x5a add r2, r1, #0x0 add r3, r5, #0x0 bl FUN_02006C98 str r0, [sp, #0x14] mov r0, #0x5a mov r1, #0x0 bl LoadFromNARC_7 mov r1, #0x30 blx _u32_div_f str r0, [sp, #0x24] ldr r1, [sp, #0x24] add r0, r5, #0x0 add r1, r1, #0x1 bl FUN_020169D8 add r5, r0, #0x0 ldr r0, [sp, #0x78] cmp r0, #0x1 bne _02082968 ldr r0, [sp, #0x7c] cmp r0, #0x1 bne _02082968 mov r0, #0x1 str r0, [sp, #0x20] _02082968: ldr r0, [sp, #0x24] mov r2, #0x0 cmp r0, #0x0 ble _02082A1A ldr r3, [sp, #0x14] _02082972: ldrh r7, [r3, #0x20] lsl r0, r7, #0x1d lsr r1, r0, #0x1d ldr r0, [sp, #0x70] cmp r0, r1 bne _02082A10 ldr r0, [sp, #0x20] cmp r0, #0x1 bne _0208298E lsl r0, r7, #0x14 lsr r0, r0, #0x1e cmp r0, #0x1 beq _02082A10 b _0208299A _0208298E: lsl r0, r7, #0x14 lsr r0, r0, #0x1e cmp r0, #0x2 beq _02082A10 cmp r0, #0x3 beq _02082A10 _0208299A: ldr r0, [sp, #0x18] cmp r0, #0x1 bne _020829AA ldrh r0, [r3, #0x20] lsl r0, r0, #0x16 lsr r0, r0, #0x1f beq _02082A10 b _020829CA _020829AA: ldr r0, [sp, #0x1c] cmp r0, #0x1 ldrh r0, [r3, #0x20] bne _020829BA lsl r0, r0, #0x17 lsr r0, r0, #0x1f beq _02082A10 b _020829CA _020829BA: lsl r1, r0, #0x16 lsr r1, r1, #0x1f cmp r1, #0x1 beq _02082A10 lsl r0, r0, #0x17 lsr r0, r0, #0x1f cmp r0, #0x1 beq _02082A10 _020829CA: cmp r4, #0x0 bne _020829D6 ldrh r0, [r3, #0x20] lsl r0, r0, #0x1c lsr r0, r0, #0x1f bne _02082A06 _020829D6: cmp r4, #0x1 bne _020829E2 ldrh r0, [r3, #0x20] lsl r0, r0, #0x1b lsr r0, r0, #0x1f bne _02082A06 _020829E2: cmp r4, #0x2 bne _020829EE ldrh r0, [r3, #0x20] lsl r0, r0, #0x1a lsr r0, r0, #0x1f bne _02082A06 _020829EE: cmp r4, #0x3 bne _020829FA ldrh r0, [r3, #0x20] lsl r0, r0, #0x19 lsr r0, r0, #0x1f bne _02082A06 _020829FA: cmp r4, #0x4 bne _02082A10 ldrh r0, [r3, #0x20] lsl r0, r0, #0x18 lsr r0, r0, #0x1f beq _02082A10 _02082A06: add r1, r6, #0x1 add r0, r6, #0x0 lsl r1, r1, #0x18 lsr r6, r1, #0x18 strb r2, [r5, r0] _02082A10: ldr r0, [sp, #0x24] add r2, r2, #0x1 add r3, #0x30 cmp r2, r0 blt _02082972 _02082A1A: mov r0, #0xff strb r0, [r5, r6] ldr r0, [sp, #0x1c] cmp r0, #0x0 beq _02082A26 b _02082B4E _02082A26: ldr r0, [sp, #0x8] cmp r6, r0 bge _02082A30 bl ErrorHandling _02082A30: mov r0, #0x0 str r0, [sp, #0x10] cmp r6, #0x0 ble _02082A5A mov r2, #0x30 _02082A3A: ldrb r1, [r5, r0] add r3, r1, #0x0 ldr r1, [sp, #0x14] mul r3, r2 add r1, r1, r3 ldrh r1, [r1, #0x20] lsl r1, r1, #0x14 lsr r1, r1, #0x1e cmp r1, #0x3 bne _02082A54 ldr r1, [sp, #0x10] add r1, r1, #0x1 str r1, [sp, #0x10] _02082A54: add r0, r0, #0x1 cmp r0, r6 blt _02082A3A _02082A5A: ldr r0, [sp, #0x10] cmp r0, #0x0 ble _02082AA2 ldr r0, [sp, #0x4] bl FUN_02082878 ldr r1, [sp, #0x10] blx _s32_div_f mov r3, #0x0 cmp r6, #0x0 ble _02082AA2 mov r0, #0x30 _02082A74: ldrb r4, [r5, r3] add r2, r4, #0x0 ldr r4, [sp, #0x14] mul r2, r0 add r2, r4, r2 ldrh r4, [r2, #0x20] lsl r4, r4, #0x14 lsr r4, r4, #0x1e cmp r4, #0x3 bne _02082A9C cmp r1, #0x0 bne _02082A9A add r4, sp, #0x28 mov r3, #0x6 _02082A90: ldmia r2!, {r0-r1} stmia r4!, {r0-r1} sub r3, r3, #0x1 bne _02082A90 b _02082AA2 _02082A9A: sub r1, r1, #0x1 _02082A9C: add r3, r3, #0x1 cmp r3, r6 blt _02082A74 _02082AA2: ldr r0, [sp, #0x8] mov r1, #0x4 sub r4, r1, r0 add r0, r4, #0x0 str r4, [sp, #0xc] cmp r0, #0x4 bge _02082B16 _02082AB0: ldr r0, [sp, #0x4] bl FUN_02082878 add r1, r6, #0x0 blx _s32_div_f lsl r0, r1, #0x10 lsr r2, r0, #0x10 ldrb r3, [r5, r2] mov r0, #0x30 add r1, r3, #0x0 ldr r3, [sp, #0x14] mul r1, r0 add r7, r3, r1 ldrh r1, [r7, #0x20] lsl r1, r1, #0x14 lsr r1, r1, #0x1e cmp r1, #0x3 bne _02082ADA sub r4, r4, #0x1 b _02082B10 _02082ADA: add r1, r4, #0x0 mul r1, r0 ldr r0, [sp, #0x4] add r3, r0, r1 mov r0, #0x6 add r3, #0x10 mov r12, r0 _02082AE8: ldmia r7!, {r0-r1} stmia r3!, {r0-r1} mov r0, r12 sub r0, r0, #0x1 mov r12, r0 bne _02082AE8 ldrb r1, [r5, r2] add r0, r5, r2 cmp r1, #0xff beq _02082B0A _02082AFC: ldrb r1, [r0, #0x1] add r2, r2, #0x1 strb r1, [r0, #0x0] ldrb r1, [r5, r2] add r0, r5, r2 cmp r1, #0xff bne _02082AFC _02082B0A: sub r0, r6, #0x1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 _02082B10: add r4, r4, #0x1 cmp r4, #0x4 blt _02082AB0 _02082B16: ldr r0, [sp, #0x10] cmp r0, #0x0 ble _02082B7E ldr r0, [sp, #0xc] lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, [sp, #0x4] bl FUN_02082878 ldr r1, [sp, #0x8] blx _s32_div_f add r0, r4, r1 lsl r0, r0, #0x10 lsr r2, r0, #0x10 add r1, r2, #0x0 mov r0, #0x30 mul r1, r0 ldr r0, [sp, #0x4] add r4, sp, #0x28 add r3, r0, r1 add r3, #0x10 mov r2, #0x6 _02082B44: ldmia r4!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _02082B44 b _02082B7E _02082B4E: cmp r6, #0x4 bhs _02082B56 bl ErrorHandling _02082B56: mov r6, #0x0 mov r7, #0x30 _02082B5A: ldrb r0, [r5, r6] ldr r3, [sp, #0x4] mov r2, #0x6 add r1, r0, #0x0 ldr r0, [sp, #0x14] mul r1, r7 add r4, r0, r1 add r3, #0x10 _02082B6A: ldmia r4!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _02082B6A ldr r0, [sp, #0x4] add r6, r6, #0x1 add r0, #0x30 str r0, [sp, #0x4] cmp r6, #0x4 blt _02082B5A _02082B7E: add r0, r5, #0x0 bl FUN_02016A18 ldr r0, [sp, #0x14] bl FUN_02016A18 add sp, #0x58 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02082B90 FUN_02082B90: ; 0x02082B90 push {r3-r7, lr} sub sp, #0x18 str r0, [sp, #0x8] mov r0, #0x1 add r3, r1, #0x0 str r0, [sp, #0x0] mov r0, #0x5a mov r1, #0x2 mov r2, #0x0 bl FUN_02006C98 str r0, [sp, #0x14] ldr r1, _02082D10 ; =0x00000121 ldr r0, [sp, #0x8] ldrb r0, [r0, r1] cmp r0, #0x4 beq _02082BBA cmp r0, #0x6 beq _02082BBA cmp r0, #0x8 bne _02082BC0 _02082BBA: mov r0, #0x0 str r0, [sp, #0xc] b _02082BC8 _02082BC0: ldr r0, [sp, #0x8] add r1, r1, #0x6 ldrb r0, [r0, r1] str r0, [sp, #0xc] _02082BC8: ldr r0, [sp, #0xc] cmp r0, #0x4 blt _02082BD0 b _02082D06 _02082BD0: mov r1, #0x30 mul r1, r0 ldr r0, [sp, #0x8] add r7, r0, r1 ldr r0, [sp, #0xc] lsl r1, r0, #0x2 ldr r0, [sp, #0x8] add r6, r0, r1 _02082BE0: ldr r1, _02082D14 ; =0x00000122 ldr r0, [sp, #0x8] ldrb r0, [r0, r1] cmp r0, #0xb bhi _02082C6E add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02082BF6: ; jump table (using 16-bit offset) .short _02082C0E - _02082BF6 - 2; case 0 .short _02082C16 - _02082BF6 - 2; case 1 .short _02082C1E - _02082BF6 - 2; case 2 .short _02082C26 - _02082BF6 - 2; case 3 .short _02082C2E - _02082BF6 - 2; case 4 .short _02082C36 - _02082BF6 - 2; case 5 .short _02082C3E - _02082BF6 - 2; case 6 .short _02082C46 - _02082BF6 - 2; case 7 .short _02082C4E - _02082BF6 - 2; case 8 .short _02082C56 - _02082BF6 - 2; case 9 .short _02082C5E - _02082BF6 - 2; case 10 .short _02082C66 - _02082BF6 - 2; case 11 _02082C0E: add r0, r7, #0x0 add r0, #0x32 ldrb r2, [r0, #0x0] b _02082C74 _02082C16: add r0, r7, #0x0 add r0, #0x33 ldrb r2, [r0, #0x0] b _02082C74 _02082C1E: add r0, r7, #0x0 add r0, #0x34 ldrb r2, [r0, #0x0] b _02082C74 _02082C26: add r0, r7, #0x0 add r0, #0x35 ldrb r2, [r0, #0x0] b _02082C74 _02082C2E: add r0, r7, #0x0 add r0, #0x36 ldrb r2, [r0, #0x0] b _02082C74 _02082C36: add r0, r7, #0x0 add r0, #0x37 ldrb r2, [r0, #0x0] b _02082C74 _02082C3E: add r0, r7, #0x0 add r0, #0x38 ldrb r2, [r0, #0x0] b _02082C74 _02082C46: add r0, r7, #0x0 add r0, #0x39 ldrb r2, [r0, #0x0] b _02082C74 _02082C4E: add r0, r7, #0x0 add r0, #0x3a ldrb r2, [r0, #0x0] b _02082C74 _02082C56: add r0, r7, #0x0 add r0, #0x3b ldrb r2, [r0, #0x0] b _02082C74 _02082C5E: add r0, r7, #0x0 add r0, #0x3c ldrb r2, [r0, #0x0] b _02082C74 _02082C66: add r0, r7, #0x0 add r0, #0x3d ldrb r2, [r0, #0x0] b _02082C74 _02082C6E: bl ErrorHandling mov r2, #0x0 _02082C74: mov r0, #0x54 add r1, r2, #0x0 mul r1, r0 ldr r0, [sp, #0x14] add r0, r0, r1 str r0, [sp, #0x10] add r0, r6, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] bl FUN_02027740 add r0, r6, #0x0 add r0, #0xf8 ldr r2, [sp, #0x10] mov r3, #0x51 ldrsb r2, [r2, r3] ldr r0, [r0, #0x0] ldr r1, [r6, #0x0] bl FUN_02027914 ldr r0, [sp, #0x10] mov r5, #0x0 add r0, #0x50 ldrb r0, [r0, #0x0] cmp r0, #0x0 ble _02082CD2 ldr r4, [sp, #0x10] _02082CAA: ldrb r0, [r4, #0x2] add r1, r5, #0x0 str r0, [sp, #0x0] mov r0, #0x3 ldrsb r0, [r4, r0] str r0, [sp, #0x4] add r0, r6, #0x0 add r0, #0xf8 ldrb r2, [r4, #0x0] ldrb r3, [r4, #0x1] ldr r0, [r0, #0x0] bl FUN_02027964 ldr r0, [sp, #0x10] add r5, r5, #0x1 add r0, #0x50 ldrb r0, [r0, #0x0] add r4, r4, #0x4 cmp r5, r0 blt _02082CAA _02082CD2: ldr r1, [sp, #0x10] add r0, r6, #0x0 add r1, #0x52 add r0, #0xf8 str r1, [sp, #0x10] ldrb r1, [r1, #0x0] ldr r0, [r0, #0x0] bl FUN_0202787C mov r2, #0x12 add r0, r6, #0x0 add r0, #0xf8 ldr r1, [sp, #0x8] lsl r2, r2, #0x4 ldrb r1, [r1, r2] ldr r0, [r0, #0x0] bl FUN_020278AC ldr r0, [sp, #0xc] add r7, #0x30 add r0, r0, #0x1 add r6, r6, #0x4 str r0, [sp, #0xc] cmp r0, #0x4 bge _02082D06 b _02082BE0 _02082D06: ldr r0, [sp, #0x14] bl FUN_02016A18 add sp, #0x18 pop {r3-r7, pc} .balign 4 _02082D10: .word 0x00000121 _02082D14: .word 0x00000122 thumb_func_start FUN_02082D18 FUN_02082D18: ; 0x02082D18 push {r3-r7, lr} add r6, r0, #0x0 mov r7, #0x12 mov r4, #0x0 add r5, r6, #0x0 lsl r7, r7, #0x4 _02082D24: add r0, r5, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] bl FUN_02027740 add r0, r5, #0x0 add r0, #0xf8 mov r2, #0x0 ldr r0, [r0, #0x0] ldr r1, [r5, #0x0] mvn r2, r2 bl FUN_02027914 add r0, r5, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] mov r1, #0x0 bl FUN_0202787C add r0, r5, #0x0 add r0, #0xf8 ldrb r1, [r6, r7] ldr r0, [r0, #0x0] bl FUN_020278AC add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 blt _02082D24 pop {r3-r7, pc} thumb_func_start FUN_02082D60 FUN_02082D60: ; 0x02082D60 push {r3-r7, lr} sub sp, #0x20 add r7, r0, #0x0 add r6, r1, #0x0 ldrh r1, [r7, #0x20] str r2, [sp, #0x10] ldrh r0, [r7, #0x14] lsl r1, r1, #0x12 lsr r1, r1, #0x1e lsl r1, r1, #0x18 lsr r1, r1, #0x18 mov r2, #0x0 bl FUN_02066E74 mov r1, #0x1 str r1, [sp, #0x0] str r0, [sp, #0x4] mov r0, #0x2 str r0, [sp, #0x8] ldr r0, _02082E60 ; =0x0F0F0F0F mov r2, #0xa str r0, [sp, #0xc] ldrh r1, [r7, #0x14] add r0, r6, #0x0 mov r3, #0x20 bl FUN_02066ACC mov r4, #0x0 add r5, r7, #0x0 _02082D9A: ldrh r1, [r5, #0xc] add r0, sp, #0x18 add r2, sp, #0x1c strh r1, [r0, #0x6] add r1, r4, #0x0 add r0, r6, #0x0 add r1, #0x36 add r2, #0x2 bl FUN_02067830 add r4, r4, #0x1 add r5, r5, #0x2 cmp r4, #0x4 blt _02082D9A ldr r3, [sp, #0x10] mov r0, #0x1 mov r1, #0x1a mov r2, #0xc0 bl FUN_0200A86C ldrh r1, [r7, #0x16] add r4, r0, #0x0 bl FUN_0200A914 add r5, r0, #0x0 ldrh r1, [r7, #0x18] add r0, r4, #0x0 bl FUN_0200A914 str r0, [sp, #0x14] add r0, r6, #0x0 mov r1, #0x76 add r2, r5, #0x0 bl FUN_02067830 ldr r2, [sp, #0x14] add r0, r6, #0x0 mov r1, #0x90 bl FUN_02067830 add r0, r5, #0x0 bl FUN_02021A20 ldr r0, [sp, #0x14] bl FUN_02021A20 add r0, r4, #0x0 bl FUN_0200A8B8 add r2, sp, #0x1c ldrb r1, [r7, #0x1a] add r0, sp, #0x18 add r2, #0x1 strb r1, [r0, #0x5] ldrb r1, [r7, #0x1b] strb r1, [r0, #0x4] ldrb r1, [r7, #0x1c] strb r1, [r0, #0x3] ldrb r1, [r7, #0x1d] strb r1, [r0, #0x2] ldrb r1, [r7, #0x1e] strb r1, [r0, #0x1] ldrb r1, [r7, #0x1f] strb r1, [r0, #0x0] add r0, r6, #0x0 mov r1, #0x13 bl FUN_02067830 add r0, r6, #0x0 mov r1, #0x14 add r2, sp, #0x1c bl FUN_02067830 add r2, sp, #0x18 add r0, r6, #0x0 mov r1, #0x15 add r2, #0x3 bl FUN_02067830 add r2, sp, #0x18 add r0, r6, #0x0 mov r1, #0x16 add r2, #0x2 bl FUN_02067830 add r2, sp, #0x18 add r0, r6, #0x0 mov r1, #0x17 add r2, #0x1 bl FUN_02067830 add r0, r6, #0x0 mov r1, #0x18 add r2, sp, #0x18 bl FUN_02067830 add sp, #0x20 pop {r3-r7, pc} nop _02082E60: .word 0x0F0F0F0F thumb_func_start FUN_02082E64 FUN_02082E64: ; 0x02082E64 push {r4-r7, lr} sub sp, #0x24 add r6, r3, #0x0 add r5, r2, #0x0 lsl r2, r6, #0x18 str r0, [sp, #0x10] add r7, r1, #0x0 add r0, sp, #0x14 add r1, r5, #0x0 lsr r2, r2, #0x18 ldr r4, [sp, #0x38] bl FUN_02068B68 lsl r1, r6, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 bl FUN_02068E14 add r5, r0, #0x0 cmp r4, #0x0 beq _02082EB0 ldr r0, [r4, #0x0] cmp r0, #0x0 bne _02082E98 bl ErrorHandling _02082E98: add r1, sp, #0x14 ldrh r0, [r1, #0x0] ldrh r1, [r1, #0x2] ldr r2, [sp, #0x3c] ldr r3, [r4, #0x0] bl FUN_02012420 add r0, sp, #0x14 ldrh r1, [r0, #0x4] str r1, [r4, #0x8] ldrh r0, [r0, #0x0] str r0, [r4, #0x4] _02082EB0: ldr r0, [sp, #0x48] ldr r3, [sp, #0x44] str r0, [sp, #0x0] str r7, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] str r0, [sp, #0xc] ldr r0, [sp, #0x10] ldr r2, [sp, #0x40] add r1, sp, #0x14 add r3, r3, r5 bl FUN_020073A0 add sp, #0x24 pop {r4-r7, pc} .balign 4 thumb_func_start FUN_02082ED0 FUN_02082ED0: ; 0x02082ED0 push {r4-r7, lr} sub sp, #0x24 str r0, [sp, #0x4] str r1, [sp, #0x8] ldr r0, [sp, #0x38] add r7, r3, #0x0 mov r5, #0x0 str r2, [sp, #0xc] str r0, [sp, #0x38] mov r1, #0x1 ldr r3, [sp, #0x8] mov r0, #0x5a add r2, r5, #0x0 add r4, r5, #0x0 str r1, [sp, #0x0] bl FUN_02006C98 str r0, [sp, #0x14] mov r0, #0x5a mov r1, #0x1 bl LoadFromNARC_7 lsr r0, r0, #0x3 str r0, [sp, #0x18] ldr r1, [sp, #0x18] ldr r0, [sp, #0x8] add r1, r1, #0x1 bl FUN_020169D8 ldr r1, [sp, #0x18] add r6, r0, #0x0 ldr r0, [sp, #0x8] add r1, r1, #0x1 bl FUN_020169D8 str r0, [sp, #0x10] ldr r0, [sp, #0x18] add r2, r5, #0x0 cmp r0, #0x0 ble _0208300A ldr r3, [sp, #0x14] _02082F22: ldrh r0, [r3, #0x4] mov r12, r0 lsl r0, r0, #0x14 lsr r1, r0, #0x1e ldr r0, [sp, #0x38] cmp r0, r1 bne _02083000 cmp r7, #0x0 bne _02082F5A mov r0, r12 lsl r0, r0, #0x1e lsr r0, r0, #0x1e beq _02082F5A cmp r0, #0x1 bls _02082F4E add r0, r4, #0x1 lsl r0, r0, #0x18 add r1, r4, #0x0 lsr r4, r0, #0x18 ldr r0, [sp, #0x10] strb r2, [r0, r1] b _02083000 _02082F4E: add r1, r5, #0x1 add r0, r5, #0x0 lsl r1, r1, #0x18 lsr r5, r1, #0x18 strb r2, [r6, r0] b _02083000 _02082F5A: cmp r7, #0x1 bne _02082F84 ldrh r0, [r3, #0x4] lsl r0, r0, #0x1c lsr r0, r0, #0x1e beq _02082F84 cmp r0, #0x1 bls _02082F78 add r0, r4, #0x1 lsl r0, r0, #0x18 add r1, r4, #0x0 lsr r4, r0, #0x18 ldr r0, [sp, #0x10] strb r2, [r0, r1] b _02083000 _02082F78: add r1, r5, #0x1 add r0, r5, #0x0 lsl r1, r1, #0x18 lsr r5, r1, #0x18 strb r2, [r6, r0] b _02083000 _02082F84: cmp r7, #0x2 bne _02082FAE ldrh r0, [r3, #0x4] lsl r0, r0, #0x1a lsr r0, r0, #0x1e beq _02082FAE cmp r0, #0x1 bls _02082FA2 add r0, r4, #0x1 lsl r0, r0, #0x18 add r1, r4, #0x0 lsr r4, r0, #0x18 ldr r0, [sp, #0x10] strb r2, [r0, r1] b _02083000 _02082FA2: add r1, r5, #0x1 add r0, r5, #0x0 lsl r1, r1, #0x18 lsr r5, r1, #0x18 strb r2, [r6, r0] b _02083000 _02082FAE: cmp r7, #0x3 bne _02082FD8 ldrh r0, [r3, #0x4] lsl r0, r0, #0x18 lsr r0, r0, #0x1e beq _02082FD8 cmp r0, #0x1 bls _02082FCC add r0, r4, #0x1 lsl r0, r0, #0x18 add r1, r4, #0x0 lsr r4, r0, #0x18 ldr r0, [sp, #0x10] strb r2, [r0, r1] b _02083000 _02082FCC: add r1, r5, #0x1 add r0, r5, #0x0 lsl r1, r1, #0x18 lsr r5, r1, #0x18 strb r2, [r6, r0] b _02083000 _02082FD8: cmp r7, #0x4 bne _02083000 ldrh r0, [r3, #0x4] lsl r0, r0, #0x16 lsr r0, r0, #0x1e beq _02083000 cmp r0, #0x1 bls _02082FF6 add r0, r4, #0x1 lsl r0, r0, #0x18 add r1, r4, #0x0 lsr r4, r0, #0x18 ldr r0, [sp, #0x10] strb r2, [r0, r1] b _02083000 _02082FF6: add r1, r5, #0x1 add r0, r5, #0x0 lsl r1, r1, #0x18 lsr r5, r1, #0x18 strb r2, [r6, r0] _02083000: ldr r0, [sp, #0x18] add r2, r2, #0x1 add r3, #0x8 cmp r2, r0 blt _02082F22 _0208300A: mov r1, #0xff ldr r0, [sp, #0x10] strb r1, [r6, r5] strb r1, [r0, r4] cmp r5, #0x2 bhs _0208301A bl ErrorHandling _0208301A: ldr r2, [sp, #0x4] mov r3, #0x0 _0208301E: ldrb r0, [r6, r3] ldr r5, [sp, #0x14] add r3, r3, #0x1 lsl r1, r0, #0x3 ldr r0, [sp, #0x14] ldrh r5, [r5, r1] add r0, r0, r1 add r1, r2, #0x0 add r1, #0xd0 strh r5, [r1, #0x0] add r1, r2, #0x0 ldrh r5, [r0, #0x2] add r1, #0xd2 strh r5, [r1, #0x0] add r1, r2, #0x0 ldrh r5, [r0, #0x4] add r1, #0xd4 strh r5, [r1, #0x0] ldrh r1, [r0, #0x6] add r0, r2, #0x0 add r0, #0xd6 add r2, #0x8 strh r1, [r0, #0x0] cmp r3, #0x2 blt _0208301E cmp r4, #0x1 bhs _02083058 bl ErrorHandling _02083058: ldr r0, [sp, #0x4] bl FUN_02082878 add r1, r4, #0x0 blx _s32_div_f lsl r0, r1, #0x10 lsr r1, r0, #0x10 ldr r0, [sp, #0x10] ldrb r0, [r0, r1] ldr r1, [sp, #0x14] lsl r2, r0, #0x3 ldr r0, [sp, #0x14] add r0, r0, r2 ldrh r2, [r1, r2] ldr r1, [sp, #0x4] add r1, #0xe0 strh r2, [r1, #0x0] ldr r1, [sp, #0x4] ldrh r2, [r0, #0x2] add r1, #0xe2 strh r2, [r1, #0x0] ldr r1, [sp, #0x4] ldrh r2, [r0, #0x4] add r1, #0xe4 strh r2, [r1, #0x0] ldrh r1, [r0, #0x6] ldr r0, [sp, #0x4] ldr r2, _02083110 ; =0x0000011E add r0, #0xe6 strh r1, [r0, #0x0] ldr r1, [sp, #0xc] ldr r0, [sp, #0x4] strb r1, [r0, r2] add r2, r0, #0x0 add r0, r1, #0x0 lsl r1, r0, #0x3 add r2, #0xd0 ldrh r4, [r2, r1] add r0, sp, #0x1c add r3, r2, r1 strh r4, [r0, #0x0] ldrh r4, [r3, #0x2] strh r4, [r0, #0x2] ldrh r4, [r3, #0x4] strh r4, [r0, #0x4] ldrh r4, [r3, #0x6] strh r4, [r0, #0x6] ldr r4, [sp, #0x4] add r4, #0xe0 ldrh r4, [r4, #0x0] strh r4, [r2, r1] ldr r1, [sp, #0x4] add r1, #0xe2 ldrh r1, [r1, #0x0] strh r1, [r3, #0x2] ldr r1, [sp, #0x4] add r1, #0xe4 ldrh r1, [r1, #0x0] strh r1, [r3, #0x4] ldr r1, [sp, #0x4] add r1, #0xe6 ldrh r1, [r1, #0x0] strh r1, [r3, #0x6] ldr r1, [sp, #0x4] ldrh r2, [r0, #0x0] add r1, #0xe0 strh r2, [r1, #0x0] ldr r1, [sp, #0x4] ldrh r2, [r0, #0x2] add r1, #0xe2 strh r2, [r1, #0x0] ldr r1, [sp, #0x4] ldrh r2, [r0, #0x4] add r1, #0xe4 strh r2, [r1, #0x0] ldrh r1, [r0, #0x6] ldr r0, [sp, #0x4] add r0, #0xe6 str r0, [sp, #0x4] strh r1, [r0, #0x0] ldr r0, [sp, #0x10] bl FUN_02016A18 add r0, r6, #0x0 bl FUN_02016A18 ldr r0, [sp, #0x14] bl FUN_02016A18 add sp, #0x24 pop {r4-r7, pc} .balign 4 _02083110: .word 0x0000011E thumb_func_start FUN_02083114 FUN_02083114: ; 0x02083114 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x18 blo _02083120 bl ErrorHandling _02083120: mov r0, #0x1a add r1, r4, #0x0 mul r1, r0 ldr r0, _0208312C ; =0x020FBC6C ldrsb r0, [r0, r1] pop {r4, pc} .balign 4 _0208312C: .word 0x020FBC6C thumb_func_start FUN_02083130 FUN_02083130: ; 0x02083130 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 cmp r5, #0x18 blo _02083140 bl ErrorHandling _02083140: mov r0, #0x1a add r1, r5, #0x0 mul r1, r0 ldr r0, _02083154 ; =0x020FBC68 ldrh r0, [r0, r1] str r0, [r4, #0x0] ldr r0, _02083158 ; =0x020FBC6A ldrh r0, [r0, r1] str r0, [r6, #0x0] pop {r4-r6, pc} .balign 4 _02083154: .word 0x020FBC68 _02083158: .word 0x020FBC6A thumb_func_start FUN_0208315C FUN_0208315C: ; 0x0208315C push {r4, lr} add r4, r0, #0x0 cmp r4, #0x18 blo _02083168 bl ErrorHandling _02083168: add r4, #0x2d add r0, r4, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_02083170 FUN_02083170: ; 0x02083170 push {r3-r7, lr} add r4, r0, #0x0 add r7, r1, #0x0 add r5, r2, #0x0 add r6, r3, #0x0 cmp r4, #0x18 blo _02083182 bl ErrorHandling _02083182: cmp r7, #0x4 bhi _0208319C add r0, r7, r7 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02083192: ; jump table (using 16-bit offset) .short _0208319C - _02083192 - 2; case 0 .short _020831B0 - _02083192 - 2; case 1 .short _020831C4 - _02083192 - 2; case 2 .short _020831D8 - _02083192 - 2; case 3 .short _020831EC - _02083192 - 2; case 4 _0208319C: mov r0, #0x1a add r1, r4, #0x0 mul r1, r0 ldr r0, _02083200 ; =0x020FBC6E ldrh r0, [r0, r1] str r0, [r5, #0x0] ldr r0, _02083204 ; =0x020FBC70 ldrb r0, [r0, r1] str r0, [r6, #0x0] pop {r3-r7, pc} _020831B0: mov r0, #0x1a add r1, r4, #0x0 mul r1, r0 ldr r0, _02083208 ; =0x020FBC72 ldrh r0, [r0, r1] str r0, [r5, #0x0] ldr r0, _0208320C ; =0x020FBC74 ldrb r0, [r0, r1] str r0, [r6, #0x0] pop {r3-r7, pc} _020831C4: mov r0, #0x1a add r1, r4, #0x0 mul r1, r0 ldr r0, _02083210 ; =0x020FBC76 ldrh r0, [r0, r1] str r0, [r5, #0x0] ldr r0, _02083214 ; =0x020FBC78 ldrb r0, [r0, r1] str r0, [r6, #0x0] pop {r3-r7, pc} _020831D8: mov r0, #0x1a add r1, r4, #0x0 mul r1, r0 ldr r0, _02083218 ; =0x020FBC7A ldrh r0, [r0, r1] str r0, [r5, #0x0] ldr r0, _0208321C ; =0x020FBC7C ldrb r0, [r0, r1] str r0, [r6, #0x0] pop {r3-r7, pc} _020831EC: mov r0, #0x1a add r1, r4, #0x0 mul r1, r0 ldr r0, _02083220 ; =0x020FBC7E ldrh r0, [r0, r1] str r0, [r5, #0x0] ldr r0, _02083224 ; =0x020FBC80 ldrb r0, [r0, r1] str r0, [r6, #0x0] pop {r3-r7, pc} .balign 4 _02083200: .word 0x020FBC6E _02083204: .word 0x020FBC70 _02083208: .word 0x020FBC72 _0208320C: .word 0x020FBC74 _02083210: .word 0x020FBC76 _02083214: .word 0x020FBC78 _02083218: .word 0x020FBC7A _0208321C: .word 0x020FBC7C _02083220: .word 0x020FBC7E _02083224: .word 0x020FBC80 thumb_func_start FUN_02083228 FUN_02083228: ; 0x02083228 cmp r2, #0x1 bne _02083230 mov r0, #0x33 bx lr _02083230: cmp r1, #0x3 beq _0208323C cmp r1, #0x5 beq _0208323C cmp r1, #0x7 bne _02083240 _0208323C: mov r0, #0x32 bx lr _02083240: cmp r0, #0x3 bhi _02083264 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02083250: ; jump table (using 16-bit offset) .short _02083258 - _02083250 - 2; case 0 .short _0208325C - _02083250 - 2; case 1 .short _02083260 - _02083250 - 2; case 2 .short _02083264 - _02083250 - 2; case 3 _02083258: mov r0, #0x2e bx lr _0208325C: mov r0, #0x2f bx lr _02083260: mov r0, #0x30 bx lr _02083264: mov r0, #0x31 bx lr thumb_func_start FUN_02083268 FUN_02083268: ; 0x02083268 cmp r0, #0x4 bhi _02083292 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02083278: ; jump table (using 16-bit offset) .short _02083282 - _02083278 - 2; case 0 .short _02083286 - _02083278 - 2; case 1 .short _0208328A - _02083278 - 2; case 2 .short _0208328E - _02083278 - 2; case 3 .short _02083292 - _02083278 - 2; case 4 _02083282: mov r0, #0x2e bx lr _02083286: mov r0, #0x2f bx lr _0208328A: mov r0, #0x30 bx lr _0208328E: mov r0, #0x31 bx lr _02083292: mov r0, #0x33 bx lr .balign 4 thumb_func_start FUN_02083298 FUN_02083298: ; 0x02083298 ldr r3, _020832A0 ; =FUN_020832A4 mov r1, #0x2 bx r3 nop _020832A0: .word FUN_020832A4 thumb_func_start FUN_020832A4 FUN_020832A4: ; 0x020832A4 cmp r1, #0x5 bne _020832AC mov r0, #0x34 bx lr _020832AC: cmp r0, #0x4 bhi _020832D6 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _020832BC: ; jump table (using 16-bit offset) .short _020832C6 - _020832BC - 2; case 0 .short _020832CA - _020832BC - 2; case 1 .short _020832CE - _020832BC - 2; case 2 .short _020832D2 - _020832BC - 2; case 3 .short _020832D6 - _020832BC - 2; case 4 _020832C6: mov r0, #0x29 bx lr _020832CA: mov r0, #0x2a bx lr _020832CE: mov r0, #0x2b bx lr _020832D2: mov r0, #0x2c bx lr _020832D6: mov r0, #0x2d bx lr .balign 4 thumb_func_start FUN_020832DC FUN_020832DC: ; 0x020832DC mov r1, #0x3 sub r0, r1, r0 bx lr .balign 4 thumb_func_start FUN_020832E4 FUN_020832E4: ; 0x020832E4 mov r1, #0x3 sub r0, r1, r0 bx lr .balign 4 thumb_func_start FUN_020832EC FUN_020832EC: ; 0x020832EC ldr r1, _02083304 ; =0x00000121 ldrb r0, [r0, r1] cmp r0, #0x3 beq _020832FC cmp r0, #0x5 beq _020832FC cmp r0, #0x7 bne _02083300 _020832FC: mov r0, #0x1 bx lr _02083300: mov r0, #0x0 bx lr .balign 4 _02083304: .word 0x00000121 thumb_func_start FUN_02083308 FUN_02083308: ; 0x02083308 push {r4-r5} sub sp, #0x50 ldr r5, _02083368 ; =0x020FBC18 add r4, sp, #0x0 mov r3, #0x28 _02083312: ldrh r2, [r5, #0x0] add r5, r5, #0x2 strh r2, [r4, #0x0] add r4, r4, #0x2 sub r3, r3, #0x1 bne _02083312 mov r3, #0xc mul r3, r1 add r1, r0, r3 mov r3, #0x4a lsl r3, r3, #0x2 add r4, r3, #0x0 add r4, #0x49 ldrb r4, [r0, r4] mov r2, #0x0 ldrsh r1, [r1, r3] cmp r4, #0x1 bne _0208333A add r4, sp, #0x40 b _02083344 _0208333A: sub r3, #0x8 ldrb r0, [r0, r3] add r4, sp, #0x0 lsl r0, r0, #0x4 add r4, r4, r0 _02083344: mov r3, #0x0 _02083346: ldrh r0, [r4, #0x0] cmp r1, r0 bge _02083354 add sp, #0x50 add r0, r2, #0x0 pop {r4-r5} bx lr _02083354: add r3, r3, #0x1 add r2, r2, #0x1 add r4, r4, #0x2 cmp r3, #0x8 blt _02083346 add r0, r2, #0x0 add sp, #0x50 pop {r4-r5} bx lr nop _02083368: .word 0x020FBC18 thumb_func_start FUN_0208336C FUN_0208336C: ; 0x0208336C push {r4-r5} sub sp, #0x10 ldr r5, _020833CC ; =0x020FBC08 add r4, sp, #0x0 mov r3, #0xf _02083376: ldrb r2, [r5, #0x0] add r5, r5, #0x1 strb r2, [r4, #0x0] add r4, r4, #0x1 sub r3, r3, #0x1 bne _02083376 mov r2, #0xc mul r2, r1 ldr r3, _020833D0 ; =0x0000012A add r1, r0, r2 ldrsh r1, [r1, r3] cmp r1, #0x0 bne _02083398 add sp, #0x10 mov r0, #0x0 pop {r4-r5} bx lr _02083398: add r2, r3, #0x0 add r2, #0x47 ldrb r2, [r0, r2] cmp r2, #0x1 bne _020833A6 add r4, sp, #0xc b _020833B2 _020833A6: sub r3, #0xa ldrb r2, [r0, r3] add r4, sp, #0x0 lsl r0, r2, #0x1 add r0, r2, r0 add r4, r4, r0 _020833B2: mov r0, #0x1 mov r3, #0x0 _020833B6: ldrb r2, [r4, r3] cmp r1, r2 ble _020833C4 add r3, r3, #0x1 add r0, r0, #0x1 cmp r3, #0x3 blt _020833B6 _020833C4: add sp, #0x10 pop {r4-r5} bx lr nop _020833CC: .word 0x020FBC08 _020833D0: .word 0x0000012A thumb_func_start FUN_020833D4 FUN_020833D4: ; 0x020833D4 push {r3, lr} cmp r0, #0x0 bne _020833EE mov r0, #0x1 bl FUN_02002B60 mov r0, #0x3 bl FUN_02002B7C mov r0, #0x1 bl FUN_02002BB8 pop {r3, pc} _020833EE: mov r0, #0x1 bl FUN_02002B7C mov r0, #0x0 bl FUN_02002B60 mov r0, #0x0 bl FUN_02002BB8 pop {r3, pc} .balign 4 thumb_func_start FUN_02083404 FUN_02083404: ; 0x02083404 push {r3, lr} mov r0, #0x0 bl FUN_02002B60 mov r0, #0x0 bl FUN_02002B7C mov r0, #0x0 bl FUN_02002BB8 pop {r3, pc} .balign 4 thumb_func_start FUN_0208341C FUN_0208341C: ; 0x0208341C push {r3, lr} cmp r1, #0x4 bhi _0208344C add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0208342E: ; jump table (using 16-bit offset) .short _02083438 - _0208342E - 2; case 0 .short _0208343C - _0208342E - 2; case 1 .short _02083440 - _0208342E - 2; case 2 .short _02083444 - _0208342E - 2; case 3 .short _02083448 - _0208342E - 2; case 4 _02083438: add r0, #0x7a pop {r3, pc} _0208343C: add r0, #0x7e pop {r3, pc} _02083440: add r0, #0x82 pop {r3, pc} _02083444: add r0, #0x86 pop {r3, pc} _02083448: add r0, #0x8a pop {r3, pc} _0208344C: bl ErrorHandling mov r0, #0x7a pop {r3, pc} thumb_func_start FUN_02083454 FUN_02083454: ; 0x02083454 push {r4-r5, lr} sub sp, #0xc add r5, r0, #0x0 mov r4, #0x0 cmp r5, #0x3 beq _02083464 cmp r1, #0x1 bne _02083474 _02083464: bl FUN_0201B9EC mov r1, #0xc blx _s32_div_f add sp, #0xc add r0, r1, #0x0 pop {r4-r5, pc} _02083474: add r0, sp, #0x0 add r1, r4, #0x0 mov r2, #0xc blx MI_CpuFill8 mov r1, #0x2 add r0, sp, #0x0 strb r1, [r0, #0x0] mov r1, #0x3 strb r1, [r0, #0x1] mov r1, #0x4 add r4, r4, #0x3 strb r1, [r0, #0x2] cmp r5, #0x1 blt _020834A6 mov r0, #0x0 add r2, sp, #0x0 strb r0, [r2, r4] mov r1, #0x1 add r0, r4, #0x1 strb r1, [r2, r0] add r1, r4, #0x2 mov r0, #0x5 add r4, r4, #0x3 strb r0, [r2, r1] _020834A6: cmp r5, #0x2 blt _020834BE mov r0, #0x6 add r2, sp, #0x0 strb r0, [r2, r4] mov r1, #0x7 add r0, r4, #0x1 strb r1, [r2, r0] add r1, r4, #0x2 mov r0, #0x8 add r4, r4, #0x3 strb r0, [r2, r1] _020834BE: bl FUN_0201B9EC add r1, r4, #0x0 blx _s32_div_f add r0, sp, #0x0 ldrb r0, [r0, r1] add sp, #0xc pop {r4-r5, pc} thumb_func_start FUN_020834D0 FUN_020834D0: ; 0x020834D0 ldr r3, _020834DC ; =FUN_0202D8D0 add r2, r0, #0x0 ldr r0, _020834E0 ; =0x020FBED8 mov r1, #0x10 bx r3 nop _020834DC: .word FUN_0202D8D0 _020834E0: .word 0x020FBED8 thumb_func_start FUN_020834E4 FUN_020834E4: ; 0x020834E4 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x1 lsl r0, r0, #0xa add r4, r1, #0x0 cmp r2, r0 blt _020834F6 bl ErrorHandling _020834F6: ldr r0, _02083500 ; =0x00000985 add r1, r4, r0 lsl r0, r5, #0xa add r0, r1, r0 pop {r3-r5, pc} .balign 4 _02083500: .word 0x00000985 thumb_func_start FUN_02083504 FUN_02083504: ; 0x02083504 mov r0, #0xa bx lr thumb_func_start FUN_02083508 FUN_02083508: ; 0x02083508 mov r0, #0x8 bx lr thumb_func_start FUN_0208350C FUN_0208350C: ; 0x0208350C bx lr .balign 4 thumb_func_start FUN_02083510 FUN_02083510: ; 0x02083510 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x17 lsl r0, r0, #0x4 add r6, r1, #0x0 ldrb r1, [r3, r0] str r2, [sp, #0x0] cmp r1, #0x0 bne _0208352C sub r0, r0, #0x4 ldr r1, [r3, r0] ldr r0, _02083590 ; =0x000004FC add r4, r1, r0 b _0208355E _0208352C: cmp r1, #0x1 bne _0208353A sub r0, r0, #0x4 ldr r1, [r3, r0] ldr r0, _02083594 ; =0x00001158 add r4, r1, r0 b _0208355E _0208353A: cmp r1, #0x2 bne _0208354A sub r0, r0, #0x4 ldr r1, [r3, r0] mov r0, #0xc3 lsl r0, r0, #0x4 add r4, r1, r0 b _0208355E _0208354A: cmp r1, #0x3 bne _02083558 sub r0, r0, #0x4 ldr r1, [r3, r0] ldr r0, _02083598 ; =0x0000085C add r4, r1, r0 b _0208355E _02083558: bl ErrorHandling pop {r3-r7, pc} _0208355E: mov r0, #0x2 lsl r0, r0, #0x8 cmp r6, r0 ble _0208356A bl ErrorHandling _0208356A: ldr r0, _0208359C ; =0x00000A11 add r7, r4, r0 ldrb r0, [r7, r5] cmp r0, #0x0 beq _02083578 bl ErrorHandling _02083578: mov r1, #0x21 lsl r1, r1, #0x4 add r2, r4, r1 lsl r1, r5, #0x9 add r1, r2, r1 ldr r0, [sp, #0x0] add r2, r6, #0x0 blx MI_CpuCopy8 mov r0, #0x1 strb r0, [r7, r5] pop {r3-r7, pc} .balign 4 _02083590: .word 0x000004FC _02083594: .word 0x00001158 _02083598: .word 0x0000085C _0208359C: .word 0x00000A11 thumb_func_start FUN_020835A0 FUN_020835A0: ; 0x020835A0 mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r3, r0] ldr r3, _020835AC ; =0x0223D1CD add r1, r2, #0x0 bx r3 .balign 4 _020835AC: .word 0x0223D1CD thumb_func_start FUN_020835B0 FUN_020835B0: ; 0x020835B0 push {r3-r6, lr} sub sp, #0x14 add r5, r1, #0x0 mov r1, #0x61 add r6, r0, #0x0 add r4, r3, #0x0 lsl r1, r1, #0x2 add r0, r2, #0x0 add r2, r4, r1 lsl r1, r6, #0x8 add r1, r2, r1 add r2, r5, #0x0 blx MI_CpuCopy8 ldr r2, _02083628 ; =0x00000584 ldrb r0, [r4, r2] add r0, r0, #0x1 strb r0, [r4, r2] ldr r0, _0208362C ; =0x00000127 ldrb r2, [r4, r2] ldrb r1, [r4, r0] cmp r2, r1 blo _02083622 mov r3, #0x0 cmp r1, #0x0 ble _020835FE add r0, #0x5d add r5, r4, r0 mov r0, #0x1 lsl r0, r0, #0x8 add r2, r0, #0x0 add r6, sp, #0x4 add r2, #0x27 _020835F2: stmia r6!, {r5} ldrb r1, [r4, r2] add r3, r3, #0x1 add r5, r5, r0 cmp r3, r1 blt _020835F2 _020835FE: add r0, sp, #0x4 add r2, sp, #0x0 bl FUN_02083660 mov r1, #0x47 lsl r1, r1, #0x2 strb r0, [r4, r1] add r0, sp, #0x0 ldrb r2, [r0, #0x0] add r0, r1, #0x1 strb r2, [r4, r0] ldrb r0, [r4, r1] lsl r2, r0, #0x2 add r0, sp, #0x4 ldr r0, [r0, r2] ldrb r2, [r0, #0x2] add r0, r1, #0x6 strb r2, [r4, r0] _02083622: add sp, #0x14 pop {r3-r6, pc} nop _02083628: .word 0x00000584 _0208362C: .word 0x00000127 thumb_func_start FUN_02083630 FUN_02083630: ; 0x02083630 push {r3, lr} ldr r1, _0208365C ; =0x00000125 add r3, sp, #0x0 ldrb r2, [r0, r1] strb r2, [r3, #0x0] sub r2, r1, #0x2 ldrb r2, [r0, r2] sub r1, r1, #0x3 strb r2, [r3, #0x1] ldrb r0, [r0, r1] add r1, sp, #0x0 mov r2, #0x4 strb r0, [r3, #0x2] mov r0, #0x1a bl FUN_02030ADC cmp r0, #0x1 bne _02083658 mov r0, #0x1 pop {r3, pc} _02083658: mov r0, #0x0 pop {r3, pc} .balign 4 _0208365C: .word 0x00000125 thumb_func_start FUN_02083660 FUN_02083660: ; 0x02083660 push {r4-r7} mov r5, #0x0 add r4, r5, #0x0 cmp r1, #0x0 ble _02083684 add r6, r0, #0x0 _0208366C: lsl r3, r5, #0x2 ldr r3, [r0, r3] ldr r7, [r6, #0x0] ldrb r3, [r3, #0x0] ldrb r7, [r7, #0x0] cmp r3, r7 bhs _0208367C add r5, r4, #0x0 _0208367C: add r4, r4, #0x1 add r6, r6, #0x4 cmp r4, r1 blt _0208366C _02083684: lsl r1, r5, #0x2 ldr r0, [r0, r1] ldrb r0, [r0, #0x0] strb r0, [r2, #0x0] add r0, r5, #0x0 pop {r4-r7} bx lr .balign 4 thumb_func_start FUN_02083694 FUN_02083694: ; 0x02083694 push {r3-r5, lr} add r5, r2, #0x0 add r4, r3, #0x0 bl FUN_020669BC add r2, r0, #0x0 ldrb r1, [r5, r2] add r0, r5, #0x0 lsl r1, r1, #0x2 ldr r1, [r4, r1] blx MI_CpuCopy8 ldr r0, _020836B8 ; =0x00000584 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r5, pc} nop _020836B8: .word 0x00000584 thumb_func_start FUN_020836BC FUN_020836BC: ; 0x020836BC push {r3-r7, lr} add r6, r1, #0x0 add r7, r2, #0x0 bl FUN_020669BC add r4, r0, #0x0 mov r0, #0x14 add r1, r4, #0x1 bl FUN_02016998 add r5, r0, #0x0 add r0, r7, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 blx MI_CpuCopy8 mov r0, #0x1b add r1, r5, #0x0 add r2, r4, #0x1 strb r6, [r5, r4] bl FUN_02030ADC cmp r0, #0x1 bne _020836F0 mov r4, #0x1 b _020836F2 _020836F0: mov r4, #0x0 _020836F2: add r0, r5, #0x0 bl FUN_02016A18 add r0, r4, #0x0 pop {r3-r7, pc} thumb_func_start FUN_020836FC FUN_020836FC: ; 0x020836FC push {r3-r7, lr} sub sp, #0x8 str r2, [sp, #0x0] str r3, [sp, #0x4] bl FUN_020669BC mov r7, #0x0 ldr r4, [sp, #0x4] add r6, r0, #0x0 add r5, r7, #0x0 _02083710: ldr r0, [sp, #0x0] ldr r1, [r4, #0x0] add r0, r0, r5 add r2, r6, #0x0 blx MI_CpuCopy8 add r7, r7, #0x1 add r4, r4, #0x4 add r5, r5, r6 cmp r7, #0x4 blt _02083710 ldr r1, _02083738 ; =0x00000584 ldr r0, [sp, #0x4] ldrb r0, [r0, r1] add r2, r0, #0x1 ldr r0, [sp, #0x4] strb r2, [r0, r1] add sp, #0x8 pop {r3-r7, pc} nop _02083738: .word 0x00000584 thumb_func_start FUN_0208373C FUN_0208373C: ; 0x0208373C push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 add r5, r1, #0x0 bl FUN_020669BC add r6, r0, #0x0 lsl r0, r6, #0x2 str r0, [sp, #0x0] ldr r0, _02083788 ; =0x00000585 mov r7, #0x0 add r0, r4, r0 str r0, [sp, #0x4] add r4, r7, #0x0 _02083758: ldr r1, [sp, #0x4] ldr r0, [r5, #0x0] add r1, r1, r4 add r2, r6, #0x0 blx MI_CpuCopy8 add r7, r7, #0x1 add r4, r4, r6 add r5, r5, #0x4 cmp r7, #0x4 blt _02083758 ldr r1, [sp, #0x4] ldr r2, [sp, #0x0] mov r0, #0x1c bl FUN_02030A78 cmp r0, #0x1 bne _02083782 add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _02083782: mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 _02083788: .word 0x00000585 thumb_func_start FUN_0208378C FUN_0208378C: ; 0x0208378C push {r3-r5, lr} add r0, r2, #0x0 add r2, #0x30 ldrb r1, [r2, #0x0] add r4, r3, #0x0 add r5, r4, #0x0 mov r2, #0x30 add r3, r1, #0x0 add r5, #0x10 mul r3, r2 add r1, r5, r3 blx MI_CpuCopy8 ldr r0, _020837B0 ; =0x00000584 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r5, pc} .balign 4 _020837B0: .word 0x00000584 thumb_func_start FUN_020837B4 FUN_020837B4: ; 0x020837B4 push {r4-r6, lr} add r5, r1, #0x0 mov r0, #0x14 mov r1, #0x31 add r6, r2, #0x0 bl FUN_02016998 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 mov r2, #0x30 blx MI_CpuCopy8 add r0, r4, #0x0 add r0, #0x30 strb r5, [r0, #0x0] mov r0, #0x1d add r1, r4, #0x0 mov r2, #0x31 bl FUN_02030ADC cmp r0, #0x1 bne _020837E6 mov r5, #0x1 b _020837E8 _020837E6: mov r5, #0x0 _020837E8: add r0, r4, #0x0 bl FUN_02016A18 add r0, r5, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020837F4 FUN_020837F4: ; 0x020837F4 push {r3-r7, lr} add r5, r3, #0x0 add r6, r2, #0x0 str r3, [sp, #0x0] mov r4, #0x0 add r5, #0xd0 mov r7, #0x8 _02083802: lsl r0, r4, #0x3 add r0, r6, r0 add r1, r5, #0x0 add r2, r7, #0x0 blx MI_CpuCopy8 add r4, r4, #0x1 add r5, #0x8 cmp r4, #0x3 blt _02083802 ldrb r2, [r6, #0x18] ldr r1, _0208382C ; =0x0000011E ldr r0, [sp, #0x0] strb r2, [r0, r1] ldr r1, _02083830 ; =0x00000584 ldrb r0, [r0, r1] add r2, r0, #0x1 ldr r0, [sp, #0x0] strb r2, [r0, r1] pop {r3-r7, pc} nop _0208382C: .word 0x0000011E _02083830: .word 0x00000584 thumb_func_start FUN_02083834 FUN_02083834: ; 0x02083834 push {r3-r7, lr} str r0, [sp, #0x0] mov r0, #0x14 mov r1, #0x19 add r5, r2, #0x0 bl FUN_02016998 add r6, r0, #0x0 mov r4, #0x0 mov r7, #0x8 _02083848: lsl r1, r4, #0x3 add r0, r5, #0x0 add r1, r6, r1 add r2, r7, #0x0 blx MI_CpuCopy8 add r4, r4, #0x1 add r5, #0x8 cmp r4, #0x3 blt _02083848 ldr r1, _02083884 ; =0x0000011E ldr r0, [sp, #0x0] mov r2, #0x19 ldrb r0, [r0, r1] add r1, r6, #0x0 strb r0, [r6, #0x18] mov r0, #0x1e bl FUN_02030ADC cmp r0, #0x1 bne _02083876 mov r4, #0x1 b _02083878 _02083876: mov r4, #0x0 _02083878: add r0, r6, #0x0 bl FUN_02016A18 add r0, r4, #0x0 pop {r3-r7, pc} nop _02083884: .word 0x0000011E thumb_func_start FUN_02083888 FUN_02083888: ; 0x02083888 push {r3-r7, lr} add r5, r2, #0x0 ldrb r0, [r5, #0x0] add r6, r3, #0x0 add r4, r6, #0x0 add r4, #0xe8 lsl r7, r0, #0x2 ldr r0, [r4, r7] bl FUN_02021A4C ldr r0, [r4, r7] add r1, r5, #0x4 bl FUN_02021E28 ldr r0, _020838B0 ; =0x00000584 ldrb r1, [r6, r0] add r1, r1, #0x1 strb r1, [r6, r0] pop {r3-r7, pc} nop _020838B0: .word 0x00000584 thumb_func_start FUN_020838B4 FUN_020838B4: ; 0x020838B4 push {r3-r5, lr} sub sp, #0x10 add r5, r1, #0x0 add r0, r2, #0x0 add r1, sp, #0x0 mov r2, #0x8 bl FUN_02021EF0 mov r0, #0x14 add r1, r0, #0x0 bl FUN_02016998 add r4, r0, #0x0 add r0, sp, #0x0 add r1, r4, #0x4 mov r2, #0x10 blx MI_CpuCopy8 strb r5, [r4, #0x0] mov r0, #0x10 strb r0, [r4, #0x1] mov r0, #0x0 strb r0, [r4, #0x2] strb r0, [r4, #0x3] mov r0, #0x1f add r1, r4, #0x0 mov r2, #0x14 bl FUN_02030ADC cmp r0, #0x1 bne _020838F6 mov r5, #0x1 b _020838F8 _020838F6: mov r5, #0x0 _020838F8: add r0, r4, #0x0 bl FUN_02016A18 add r0, r5, #0x0 add sp, #0x10 pop {r3-r5, pc} thumb_func_start FUN_02083904 FUN_02083904: ; 0x02083904 push {r3-r5, lr} add r5, r2, #0x0 add r4, r3, #0x0 bl FUN_02026FE4 add r2, r0, #0x0 ldrb r1, [r5, r2] add r0, r5, #0x0 lsl r1, r1, #0x2 add r1, r4, r1 add r1, #0xf8 ldr r1, [r1, #0x0] blx MI_CpuCopy8 ldr r0, _0208392C ; =0x00000584 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r5, pc} nop _0208392C: .word 0x00000584 thumb_func_start FUN_02083930 FUN_02083930: ; 0x02083930 push {r3-r7, lr} add r6, r1, #0x0 add r7, r2, #0x0 bl FUN_02026FE4 add r4, r0, #0x0 mov r0, #0x14 add r1, r4, #0x1 bl FUN_02016998 add r5, r0, #0x0 add r0, r7, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 blx MI_CpuCopy8 mov r0, #0x20 add r1, r5, #0x0 add r2, r4, #0x1 strb r6, [r5, r4] bl FUN_02030ADC cmp r0, #0x1 bne _02083964 mov r4, #0x1 b _02083966 _02083964: mov r4, #0x0 _02083966: add r0, r5, #0x0 bl FUN_02016A18 add r0, r4, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02083970 FUN_02083970: ; 0x02083970 push {r3-r7, lr} sub sp, #0x8 str r2, [sp, #0x0] str r3, [sp, #0x4] bl FUN_02026FE4 add r6, r0, #0x0 mov r0, #0x1 lsl r1, r6, #0x2 lsl r0, r0, #0xa cmp r1, r0 blt _0208398C bl ErrorHandling _0208398C: mov r7, #0x0 ldr r4, [sp, #0x4] add r5, r7, #0x0 _02083992: add r1, r4, #0x0 ldr r0, [sp, #0x0] add r1, #0xf8 ldr r1, [r1, #0x0] add r0, r0, r5 add r2, r6, #0x0 blx MI_CpuCopy8 add r7, r7, #0x1 add r4, r4, #0x4 add r5, r5, r6 cmp r7, #0x4 blt _02083992 ldr r1, _020839BC ; =0x00000584 ldr r0, [sp, #0x4] ldrb r0, [r0, r1] add r2, r0, #0x1 ldr r0, [sp, #0x4] strb r2, [r0, r1] add sp, #0x8 pop {r3-r7, pc} .balign 4 _020839BC: .word 0x00000584 thumb_func_start FUN_020839C0 FUN_020839C0: ; 0x020839C0 push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 add r5, r1, #0x0 bl FUN_02026FE4 add r6, r0, #0x0 mov r1, #0x1 lsl r0, r6, #0x2 lsl r1, r1, #0xa str r0, [sp, #0x0] cmp r0, r1 blt _020839DE bl ErrorHandling _020839DE: ldr r0, _02083A18 ; =0x00000585 mov r7, #0x0 add r0, r4, r0 str r0, [sp, #0x4] add r4, r7, #0x0 _020839E8: ldr r1, [sp, #0x4] ldr r0, [r5, #0x0] add r1, r1, r4 add r2, r6, #0x0 blx MI_CpuCopy8 add r7, r7, #0x1 add r4, r4, r6 add r5, r5, #0x4 cmp r7, #0x4 blt _020839E8 ldr r1, [sp, #0x4] ldr r2, [sp, #0x0] mov r0, #0x21 bl FUN_02030A78 cmp r0, #0x1 bne _02083A12 add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _02083A12: mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 _02083A18: .word 0x00000585 thumb_func_start FUN_02083A1C FUN_02083A1C: ; 0x02083A1C push {r4, lr} add r4, r1, #0x0 ldr r1, _02083A30 ; =0x000019A0 add r0, r2, #0x0 add r1, r3, r1 add r2, r4, #0x0 blx MI_CpuCopy8 pop {r4, pc} nop _02083A30: .word 0x000019A0 thumb_func_start FUN_02083A34 FUN_02083A34: ; 0x02083A34 push {r3, lr} add r3, r0, #0x0 ldrb r0, [r3, #0x16] cmp r0, #0x0 bne _02083A44 str r1, [r3, #0x0] mov r0, #0x1 pop {r3, pc} _02083A44: ldrb r2, [r3, #0x14] ldrb r0, [r3, #0x15] cmp r2, r0 beq _02083A50 mov r0, #0x0 pop {r3, pc} _02083A50: str r1, [r3, #0x8] add r3, #0x8 mov r0, #0x22 add r1, r3, #0x0 mov r2, #0x8 bl FUN_02030ADC cmp r0, #0x1 bne _02083A66 mov r0, #0x1 pop {r3, pc} _02083A66: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_02083A6C FUN_02083A6C: ; 0x02083A6C ldrb r2, [r2, #0x4] add r1, r3, r0 ldr r0, _02083A78 ; =0x000019B0 strb r2, [r1, r0] bx lr nop _02083A78: .word 0x000019B0 thumb_func_start FUN_02083A7C FUN_02083A7C: ; 0x02083A7C push {r3, lr} add r2, r0, #0x0 ldrb r0, [r2, #0x16] cmp r0, #0x0 bne _02083A8C strb r1, [r2, #0x10] mov r0, #0x1 pop {r3, pc} _02083A8C: strb r1, [r2, #0xc] add r2, #0x8 add r1, r2, #0x0 mov r0, #0x23 mov r2, #0x8 bl FUN_02030ADC cmp r0, #0x1 bne _02083AA2 mov r0, #0x1 pop {r3, pc} _02083AA2: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_02083AA8 FUN_02083AA8: ; 0x02083AA8 push {r3-r5, lr} add r5, r2, #0x0 add r4, r3, #0x0 bl FUN_02029EC4 add r2, r0, #0x0 ldrb r1, [r5, r2] add r0, r5, #0x0 lsl r1, r1, #0x2 add r3, r4, r1 mov r1, #0x57 lsl r1, r1, #0x2 ldr r1, [r3, r1] blx MI_CpuCopy8 ldr r0, _02083AD0 ; =0x00000584 ldrb r1, [r4, r0] add r1, r1, #0x1 strb r1, [r4, r0] pop {r3-r5, pc} .balign 4 _02083AD0: .word 0x00000584 thumb_func_start FUN_02083AD4 FUN_02083AD4: ; 0x02083AD4 push {r3-r7, lr} add r4, r0, #0x0 add r7, r1, #0x0 add r6, r2, #0x0 bl FUN_02029EC4 add r5, r0, #0x0 ldr r0, _02083B0C ; =0x00000585 add r4, r4, r0 cmp r6, #0x0 beq _02083AF4 add r0, r6, #0x0 add r1, r4, #0x0 add r2, r5, #0x0 blx MI_CpuCopy8 _02083AF4: mov r0, #0x24 add r1, r4, #0x0 add r2, r5, #0x1 strb r7, [r4, r5] bl FUN_02030A78 cmp r0, #0x1 bne _02083B08 mov r0, #0x1 pop {r3-r7, pc} _02083B08: mov r0, #0x0 pop {r3-r7, pc} .balign 4 _02083B0C: .word 0x00000585 thumb_func_start FUN_02083B10 FUN_02083B10: ; 0x02083B10 push {r3-r6} ldrb r1, [r2, #0x6] ldrb r4, [r2, #0x0] mov r5, #0x42 add r0, r3, r1 lsl r5, r5, #0x2 strb r4, [r0, r5] ldrb r6, [r2, #0x1] add r4, r5, #0x4 strb r6, [r0, r4] add r4, r5, #0x0 ldrb r6, [r2, #0x2] add r4, #0x8 add r5, #0xc strb r6, [r0, r4] lsl r0, r1, #0x1 ldrh r2, [r2, #0x4] add r0, r3, r0 strh r2, [r0, r5] ldr r0, _02083B44 ; =0x00000584 ldrb r1, [r3, r0] add r1, r1, #0x1 strb r1, [r3, r0] pop {r3-r6} bx lr nop _02083B44: .word 0x00000584 thumb_func_start FUN_02083B48 FUN_02083B48: ; 0x02083B48 push {r4-r6, lr} add r5, r1, #0x0 mov r0, #0x14 mov r1, #0x7 add r6, r2, #0x0 bl FUN_02016998 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 mov r2, #0x6 blx MI_CpuCopy8 mov r0, #0x25 add r1, r4, #0x0 mov r2, #0x7 strb r5, [r4, #0x6] bl FUN_02030ADC cmp r0, #0x1 bne _02083B76 mov r5, #0x1 b _02083B78 _02083B76: mov r5, #0x0 _02083B78: add r0, r4, #0x0 bl FUN_02016A18 add r0, r5, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02083B84 FUN_02083B84: ; 0x02083B84 ldr r3, _02083B90 ; =FUN_0202D8D0 add r2, r0, #0x0 ldr r0, _02083B94 ; =0x020FBF98 mov r1, #0xb bx r3 nop _02083B90: .word FUN_0202D8D0 _02083B94: .word 0x020FBF98 thumb_func_start FUN_02083B98 FUN_02083B98: ; 0x02083B98 cmp r0, #0xc bne _02083BA0 mov r0, #0xc bx lr _02083BA0: cmp r0, #0x6 bhs _02083BA8 add r0, r0, #0x6 bx lr _02083BA8: sub r0, r0, #0x6 bx lr thumb_func_start FUN_02083BAC FUN_02083BAC: ; 0x02083BAC push {r4-r6, lr} add r3, #0x84 add r5, r0, #0x0 add r6, r2, #0x0 ldr r4, [r3, #0x0] bl FUN_02031190 cmp r5, r0 beq _02083C1A ldr r0, _02083C1C ; =0x0000221C mov r2, #0x59 ldr r0, [r4, r0] add r1, r6, #0x0 lsl r2, r2, #0x4 blx memcpy ldr r0, [r4, #0x58] add r0, r0, #0x1 str r0, [r4, #0x58] bl FUN_0206B8A4 mov r1, #0x59 ldr r2, [r4, #0x58] lsl r1, r1, #0x4 mul r1, r2 cmp r1, r0 blt _02083C06 bl FUN_02031190 cmp r0, #0x1 bne _02083BF6 add r0, r4, #0x0 mov r1, #0x1b mov r2, #0x0 bl FUN_0222F440 b _02083C14 _02083BF6: bl FUN_02031190 ldr r1, _02083C20 ; =0x00002218 ldr r2, [r4, #0x50] ldr r1, [r4, r1] bl FUN_0222F480 b _02083C14 _02083C06: bl FUN_02031190 ldr r1, _02083C20 ; =0x00002218 ldr r2, [r4, #0x50] ldr r1, [r4, r1] bl FUN_0222F480 _02083C14: ldr r0, [r4, #0x50] add r0, r0, #0x1 str r0, [r4, #0x50] _02083C1A: pop {r4-r6, pc} .balign 4 _02083C1C: .word 0x0000221C _02083C20: .word 0x00002218 thumb_func_start FUN_02083C24 FUN_02083C24: ; 0x02083C24 push {r4-r6, lr} add r3, #0x84 add r5, r0, #0x0 add r6, r2, #0x0 ldr r4, [r3, #0x0] bl FUN_02031190 cmp r5, r0 beq _02083C40 ldrb r0, [r6, #0x0] bl FUN_02083B98 add r4, #0x8c str r0, [r4, #0x0] _02083C40: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02083C44 FUN_02083C44: ; 0x02083C44 add r3, #0x84 ldrb r2, [r2, #0x0] ldr r1, [r3, #0x0] lsl r0, r0, #0x2 add r0, r1, r0 str r2, [r0, #0x60] bx lr .balign 4 thumb_func_start FUN_02083C54 FUN_02083C54: ; 0x02083C54 bx lr .balign 4 thumb_func_start FUN_02083C58 FUN_02083C58: ; 0x02083C58 bx lr .balign 4 thumb_func_start FUN_02083C5C FUN_02083C5C: ; 0x02083C5C add r3, #0x84 ldr r0, [r3, #0x0] mov r1, #0x2 str r1, [r0, #0x54] bx lr .balign 4 thumb_func_start FUN_02083C68 FUN_02083C68: ; 0x02083C68 bx lr .balign 4 thumb_func_start FUN_02083C6C FUN_02083C6C: ; 0x02083C6C add r3, #0x84 mov r0, #0x8b ldrb r2, [r2, #0x0] ldr r1, [r3, #0x0] lsl r0, r0, #0x6 str r2, [r1, r0] bx lr .balign 4 thumb_func_start FUN_02083C7C FUN_02083C7C: ; 0x02083C7C push {r4-r6, lr} add r6, r0, #0x0 ldr r0, [r3, #0xc] add r5, r2, #0x0 bl FUN_0202A918 add r4, r0, #0x0 bl FUN_02031190 cmp r6, r0 beq _02083CA8 mov r2, #0x0 _02083C94: ldrb r1, [r5, r2] cmp r1, #0x0 beq _02083CA2 ldrb r0, [r4, r2] cmp r0, r1 beq _02083CA2 strb r1, [r4, r2] _02083CA2: add r2, r2, #0x1 cmp r2, #0xe blt _02083C94 _02083CA8: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02083CAC FUN_02083CAC: ; 0x02083CAC push {r4-r6, lr} add r3, #0x84 add r5, r0, #0x0 add r6, r2, #0x0 ldr r4, [r3, #0x0] bl FUN_02031190 cmp r5, r0 beq _02083CD0 ldr r0, _02083CD4 ; =0x00002224 add r1, r6, #0x0 ldr r0, [r4, r0] mov r2, #0x1 mov r3, #0x1a bl FUN_02025520 mov r0, #0x3 str r0, [r4, #0x54] _02083CD0: pop {r4-r6, pc} nop _02083CD4: .word 0x00002224 thumb_func_start FUN_02083CD8 FUN_02083CD8: ; 0x02083CD8 push {r4-r6, lr} add r3, #0x84 add r5, r0, #0x0 add r6, r2, #0x0 ldr r4, [r3, #0x0] bl FUN_02031190 cmp r5, r0 beq _02083D0A ldr r1, _02083D0C ; =0x00002E14 mov r2, #0xfb add r3, r4, r1 lsl r2, r2, #0x2 add r1, r5, #0x0 mul r1, r2 add r0, r6, #0x0 add r1, r3, r1 sub r2, r2, #0x4 blx MIi_CpuCopyFast mov r0, #0x4 str r0, [r4, #0x54] mov r0, #0x0 bl FUN_02031400 _02083D0A: pop {r4-r6, pc} .balign 4 _02083D0C: .word 0x00002E14 thumb_func_start FUN_02083D10 FUN_02083D10: ; 0x02083D10 add r0, #0x84 str r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02083D18 FUN_02083D18: ; 0x02083D18 mov r0, #0xfb lsl r0, r0, #0x2 bx lr .balign 4 thumb_func_start FUN_02083D20 FUN_02083D20: ; 0x02083D20 mov r0, #0xe bx lr thumb_func_start FUN_02083D24 FUN_02083D24: ; 0x02083D24 mov r0, #0x88 bx lr thumb_func_start FUN_02083D28 FUN_02083D28: ; 0x02083D28 mov r0, #0x59 lsl r0, r0, #0x4 bx lr .balign 4 thumb_func_start FUN_02083D30 FUN_02083D30: ; 0x02083D30 add r1, #0x84 ldr r2, [r1, #0x0] ldr r1, _02083D44 ; =0x000022F4 add r2, r2, r1 mov r1, #0x59 lsl r1, r1, #0x4 mul r1, r0 add r0, r2, r1 bx lr nop _02083D44: .word 0x000022F4 thumb_func_start FUN_02083D48 FUN_02083D48: ; 0x02083D48 ldr r3, _02083D54 ; =FUN_0202D8D0 add r2, r0, #0x0 ldr r0, _02083D58 ; =0x020FC01C mov r1, #0x6c bx r3 nop _02083D54: .word FUN_0202D8D0 _02083D58: .word 0x020FC01C thumb_func_start FUN_02083D5C FUN_02083D5C: ; 0x02083D5C push {r3-r5, lr} add r5, r2, #0x0 add r4, r3, #0x0 bl FUN_02031190 cmp r0, #0x0 beq _02083DBA mov r3, #0xfb lsl r3, r3, #0x2 ldrb r2, [r5, r3] sub r0, r3, #0x4 add r1, r2, #0x0 mul r1, r0 mov r0, #0xe1 lsl r0, r0, #0x6 cmp r1, r0 ldr r2, _02083DE8 ; =0x000043D0 ble _02083D90 add r2, r4, r2 add r1, r2, r1 mov r2, #0x19 add r0, r5, #0x0 lsl r2, r2, #0x4 blx MIi_CpuCopyFast b _02083D9C _02083D90: add r2, r4, r2 add r1, r2, r1 add r0, r5, #0x0 sub r2, r3, #0x4 blx MIi_CpuCopyFast _02083D9C: mov r1, #0xb5 ldr r0, _02083DE8 ; =0x000043D0 lsl r1, r1, #0x2 mov r2, #0xe1 ldr r1, [r4, r1] add r0, r4, r0 lsl r2, r2, #0x6 blx MIi_CpuCopyFast mov r0, #0xb2 lsl r0, r0, #0x2 add r0, r4, r0 bl FUN_020191D0 pop {r3-r5, pc} _02083DBA: ldr r1, _02083DEC ; =0x000043CC mov r0, #0xfa ldr r2, [r4, r1] lsl r0, r0, #0x2 add r3, r2, #0x0 mul r3, r0 mov r0, #0xe1 lsl r0, r0, #0x6 cmp r3, r0 bge _02083DDC add r0, r2, #0x1 str r0, [r4, r1] ldr r1, [r4, r1] add r0, r4, #0x0 bl FUN_0208402C pop {r3-r5, pc} _02083DDC: mov r1, #0x0 mov r0, #0x7c add r2, r1, #0x0 bl FUN_02030BC4 pop {r3-r5, pc} .balign 4 _02083DE8: .word 0x000043D0 _02083DEC: .word 0x000043CC thumb_func_start FUN_02083DF0 FUN_02083DF0: ; 0x02083DF0 push {r3-r4} cmp r0, #0x0 beq _02083E0E add r4, r0, #0x0 mov r1, #0xa mul r4, r1 ldr r0, _02083E14 ; =0x000093BD add r3, r3, r4 add r3, r3, r0 _02083E02: ldrb r0, [r2, #0x0] add r2, r2, #0x1 strb r0, [r3, #0x0] add r3, r3, #0x1 sub r1, r1, #0x1 bne _02083E02 _02083E0E: pop {r3-r4} bx lr nop _02083E14: .word 0x000093BD thumb_func_start FUN_02083E18 FUN_02083E18: ; 0x02083E18 push {r4-r7} cmp r3, #0x0 beq _02083E42 cmp r0, #0x0 bne _02083E42 ldr r0, _02083E48 ; =0x00004382 mov r7, #0x0 _02083E26: add r6, r2, #0x0 add r5, r3, r0 mov r4, #0xa _02083E2C: ldrb r1, [r6, #0x0] add r6, r6, #0x1 strb r1, [r5, #0x0] add r5, r5, #0x1 sub r4, r4, #0x1 bne _02083E2C add r7, r7, #0x1 add r2, #0xa add r3, #0xa cmp r7, #0x5 blt _02083E26 _02083E42: pop {r4-r7} bx lr nop _02083E48: .word 0x00004382 thumb_func_start FUN_02083E4C FUN_02083E4C: ; 0x02083E4C push {r4, lr} add r4, r3, #0x0 add r0, r4, #0x0 mov r1, #0x3 mov r2, #0x0 bl FUN_021D8B64 ldr r1, _02083E8C ; =0x000043D0 mov r2, #0xe1 mov r0, #0x0 add r1, r4, r1 lsl r2, r2, #0x6 blx MIi_CpuClearFast bl FUN_02031190 cmp r0, #0x0 bne _02083E8A bl FUN_02030F20 mov r1, #0xc6 lsl r1, r1, #0x2 str r0, [r4, r1] bl FUN_0202CB8C mov r1, #0xc7 lsl r1, r1, #0x2 str r0, [r4, r1] ldr r0, _02083E90 ; =0x000093F4 mov r1, #0x1 str r1, [r4, r0] _02083E8A: pop {r4, pc} .balign 4 _02083E8C: .word 0x000043D0 _02083E90: .word 0x000093F4 thumb_func_start FUN_02083E94 FUN_02083E94: ; 0x02083E94 push {r3-r6, lr} sub sp, #0x4 add r6, r0, #0x0 add r5, r2, #0x0 add r4, r3, #0x0 cmp r6, #0x0 beq _02083F2E bl FUN_02031190 cmp r0, #0x0 bne _02083F78 ldrb r0, [r5, #0x0] add r1, sp, #0x0 strb r0, [r1, #0x0] ldrb r0, [r5, #0x1] strb r0, [r1, #0x1] ldrb r0, [r5, #0x2] strb r0, [r1, #0x2] ldrb r0, [r5, #0x3] strb r0, [r1, #0x3] mov r0, #0xc6 strb r6, [r1, #0x0] lsl r0, r0, #0x2 ldr r0, [r4, r0] strb r0, [r1, #0x1] ldrb r0, [r5, #0x2] cmp r0, #0x0 beq _02083ED0 cmp r0, #0x1 b _02083F20 _02083ED0: bl FUN_02030F20 mov r1, #0xc6 lsl r1, r1, #0x2 ldr r1, [r4, r1] cmp r1, r0 bne _02083EFE bl FUN_021D917C mov r1, #0xc6 lsl r1, r1, #0x2 ldr r1, [r4, r1] cmp r1, r0 bne _02083EFE bl FUN_0202CB8C blx MATH_CountPopulation mov r1, #0xc6 lsl r1, r1, #0x2 ldr r1, [r4, r1] cmp r1, r0 beq _02083F06 _02083EFE: mov r1, #0x0 add r0, sp, #0x0 strb r1, [r0, #0x3] b _02083F20 _02083F06: ldr r0, _02083F7C ; =0x000093B4 mov r1, #0x1 add r2, r1, #0x0 ldr r3, [r4, r0] lsl r2, r6 orr r2, r3 str r2, [r4, r0] add r0, sp, #0x0 strb r1, [r0, #0x3] bl FUN_02030F20 bl FUN_02032B6C _02083F20: mov r0, #0x7e add r1, sp, #0x0 mov r2, #0x4 bl FUN_02030BC4 add sp, #0x4 pop {r3-r6, pc} _02083F2E: ldrb r0, [r5, #0x2] cmp r0, #0x0 beq _02083F3C cmp r0, #0x1 beq _02083F6E add sp, #0x4 pop {r3-r6, pc} _02083F3C: ldrb r6, [r5, #0x0] bl FUN_02031190 cmp r6, r0 bne _02083F78 ldrb r0, [r5, #0x3] cmp r0, #0x0 bne _02083F5A add r0, r4, #0x0 mov r1, #0x9 add r2, r6, #0x0 bl FUN_021D8B64 add sp, #0x4 pop {r3-r6, pc} _02083F5A: ldrb r1, [r5, #0x1] ldr r0, _02083F80 ; =0x000093B8 strh r1, [r4, r0] ldrb r2, [r5, #0x0] add r0, r4, #0x0 mov r1, #0x8 bl FUN_021D8B64 add sp, #0x4 pop {r3-r6, pc} _02083F6E: ldrb r2, [r5, #0x0] add r0, r4, #0x0 mov r1, #0x15 bl FUN_021D8B64 _02083F78: add sp, #0x4 pop {r3-r6, pc} .balign 4 _02083F7C: .word 0x000093B4 _02083F80: .word 0x000093B8 thumb_func_start FUN_02083F84 FUN_02083F84: ; 0x02083F84 bx lr .balign 4 thumb_func_start FUN_02083F88 FUN_02083F88: ; 0x02083F88 push {r4, lr} ldrb r2, [r2, #0x0] add r4, r3, #0x0 add r0, r4, #0x0 mov r1, #0x1 bl FUN_021D8B64 bl FUN_02031190 cmp r0, #0x0 bne _02083FB6 mov r0, #0x3 lsl r0, r0, #0x8 ldr r0, [r4, r0] cmp r0, #0x1 bne _02083FB6 ldr r1, _02083FB8 ; =0x000043CC mov r0, #0x0 str r0, [r4, r1] ldr r1, [r4, r1] add r0, r4, #0x0 bl FUN_0208402C _02083FB6: pop {r4, pc} .balign 4 _02083FB8: .word 0x000043CC thumb_func_start FUN_02083FBC FUN_02083FBC: ; 0x02083FBC bx lr .balign 4 thumb_func_start FUN_02083FC0 FUN_02083FC0: ; 0x02083FC0 bx lr .balign 4 thumb_func_start FUN_02083FC4 FUN_02083FC4: ; 0x02083FC4 push {r4, lr} add r4, r3, #0x0 bl FUN_02031190 cmp r0, #0x0 beq _02083FDA add r0, r4, #0x0 mov r1, #0xf mov r2, #0x0 bl FUN_021D8B64 _02083FDA: pop {r4, pc} thumb_func_start FUN_02083FDC FUN_02083FDC: ; 0x02083FDC push {r3-r5, lr} add r5, r0, #0x0 add r4, r3, #0x0 bl FUN_02031190 cmp r0, #0x0 beq _02083FEE bl ErrorHandling _02083FEE: bl FUN_02031190 cmp r0, #0x0 bne _02084012 ldr r0, _0208401C ; =0x000093FC ldr r1, [r4, r0] cmp r1, #0x0 beq _0208400E add r0, sp, #0x0 strb r5, [r0, #0x0] mov r0, #0x7b add r1, sp, #0x0 mov r2, #0x1 bl FUN_02030BC4 b _02084012 _0208400E: mov r1, #0x1 str r1, [r4, r0] _02084012: mov r0, #0x0 mov r1, #0x1 bl FUN_020334E8 pop {r3-r5, pc} .balign 4 _0208401C: .word 0x000093FC thumb_func_start FUN_02084020 FUN_02084020: ; 0x02084020 ldr r0, _02084028 ; =0x000093F4 mov r1, #0x1 str r1, [r3, r0] bx lr .balign 4 _02084028: .word 0x000093F4 thumb_func_start FUN_0208402C FUN_0208402C: ; 0x0208402C push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0xb5 mov r2, #0xfa add r4, r1, #0x0 lsl r0, r0, #0x2 ldr r1, [r5, r0] lsl r2, r2, #0x2 add r0, r4, #0x0 mul r0, r2 add r0, r1, r0 ldr r1, _02084078 ; =0x00007C10 add r1, r5, r1 blx MIi_CpuCopyFast ldr r0, _02084078 ; =0x00007C10 mov r2, #0x0 add r1, r2, #0x0 add r3, r5, r0 _02084052: ldr r0, [r3, #0x0] add r1, r1, #0x1 eor r2, r0 add r3, r3, #0x4 cmp r1, #0xfa blt _02084052 ldr r0, _0208407C ; =0x00007FF8 ldr r1, _02084078 ; =0x00007C10 str r2, [r5, r0] add r0, r0, #0x4 mov r2, #0x3f strb r4, [r5, r0] mov r0, #0x76 add r1, r5, r1 lsl r2, r2, #0x4 bl FUN_02030B3C pop {r3-r5, pc} nop _02084078: .word 0x00007C10 _0208407C: .word 0x00007FF8 thumb_func_start FUN_02084080 FUN_02084080: ; 0x02084080 mov r2, #0x2 lsl r2, r2, #0xe add r2, r1, r2 mov r1, #0x3f lsl r1, r1, #0x4 mul r1, r0 add r0, r2, r1 bx lr thumb_func_start FUN_02084090 FUN_02084090: ; 0x02084090 mov r0, #0x4 bx lr thumb_func_start FUN_02084094 FUN_02084094: ; 0x02084094 mov r0, #0x4 bx lr thumb_func_start FUN_02084098 FUN_02084098: ; 0x02084098 ldr r3, _020840A4 ; =FUN_0202D8D0 add r2, r0, #0x0 ldr r0, _020840A8 ; =0x020FC52C mov r1, #0x6c bx r3 nop _020840A4: .word FUN_0202D8D0 _020840A8: .word 0x020FC52C thumb_func_start FUN_020840AC FUN_020840AC: ; 0x020840AC ldr r0, _020840B8 ; =0x00004A34 ldr r1, [r3, r0] add r1, r1, #0x1 str r1, [r3, r0] bx lr nop _020840B8: .word 0x00004A34 thumb_func_start FUN_020840BC FUN_020840BC: ; 0x020840BC cmp r0, #0x0 bne _020840C6 ldrb r1, [r2, #0x0] ldr r0, _020840C8 ; =0x00004A3C str r1, [r3, r0] _020840C6: bx lr .balign 4 _020840C8: .word 0x00004A3C thumb_func_start FUN_020840CC FUN_020840CC: ; 0x020840CC push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0208410C ; =0x00004A34 add r4, r3, #0x0 mov r1, #0x0 str r1, [r4, r0] mov r1, #0x1 add r0, #0xc strb r1, [r4, r0] bl FUN_02031190 add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02084270 add r0, r4, #0x0 bl FUN_021D844C lsl r2, r5, #0x18 add r0, r4, #0x0 mov r1, #0x19 lsr r2, r2, #0x18 bl FUN_021D88E4 mov r0, #0x1 add r1, r0, #0x0 bl FUN_020334E8 ldr r0, _02084110 ; =0x00000658 bl FUN_020054C8 pop {r3-r5, pc} .balign 4 _0208410C: .word 0x00004A34 _02084110: .word 0x00000658 thumb_func_start FUN_02084114 FUN_02084114: ; 0x02084114 add r0, r3, #0x0 ldr r3, _02084120 ; =FUN_021D88E4 mov r1, #0x2 mov r2, #0x0 bx r3 nop _02084120: .word FUN_021D88E4 + 1 thumb_func_start FUN_02084124 FUN_02084124: ; 0x02084124 push {r3-r6, lr} sub sp, #0x4 add r6, r0, #0x0 add r5, r2, #0x0 add r4, r3, #0x0 cmp r6, #0x0 beq _020841BA bl FUN_02031190 cmp r0, #0x0 bne _02084204 ldrb r0, [r5, #0x0] add r1, sp, #0x0 strb r0, [r1, #0x0] ldrb r0, [r5, #0x1] strb r0, [r1, #0x1] ldrb r0, [r5, #0x2] strb r0, [r1, #0x2] ldrb r0, [r5, #0x3] strb r0, [r1, #0x3] ldr r0, _02084208 ; =0x00004A48 strb r6, [r1, #0x0] ldr r0, [r4, r0] strb r0, [r1, #0x1] ldrb r0, [r5, #0x2] cmp r0, #0x0 beq _0208415E cmp r0, #0x1 b _020841AC _0208415E: bl FUN_02030F20 ldr r1, _02084208 ; =0x00004A48 ldr r1, [r4, r1] cmp r1, r0 bne _02084186 bl FUN_021D8C24 ldr r1, _02084208 ; =0x00004A48 ldr r1, [r4, r1] cmp r1, r0 bne _02084186 bl FUN_0202CB8C blx MATH_CountPopulation ldr r1, _02084208 ; =0x00004A48 ldr r2, [r4, r1] cmp r2, r0 beq _0208418E _02084186: mov r1, #0x0 add r0, sp, #0x0 strb r1, [r0, #0x3] b _020841AC _0208418E: add r0, r1, #0x0 add r0, #0x8 mov r2, #0x1 ldr r3, [r4, r0] add r0, r2, #0x0 lsl r0, r6 orr r0, r3 add r1, #0x8 str r0, [r4, r1] add r0, sp, #0x0 strb r2, [r0, #0x3] bl FUN_02030F20 bl FUN_02032B6C _020841AC: mov r0, #0x70 add r1, sp, #0x0 mov r2, #0x4 bl FUN_02030ADC add sp, #0x4 pop {r3-r6, pc} _020841BA: ldrb r0, [r5, #0x2] cmp r0, #0x0 beq _020841C8 cmp r0, #0x1 beq _020841FA add sp, #0x4 pop {r3-r6, pc} _020841C8: ldrb r6, [r5, #0x0] bl FUN_02031190 cmp r6, r0 bne _02084204 ldrb r0, [r5, #0x3] cmp r0, #0x0 bne _020841E6 add r0, r4, #0x0 mov r1, #0x8 add r2, r6, #0x0 bl FUN_021D88E4 add sp, #0x4 pop {r3-r6, pc} _020841E6: ldrb r1, [r5, #0x1] ldr r0, _0208420C ; =0x00004A5C strh r1, [r4, r0] ldrb r2, [r5, #0x0] add r0, r4, #0x0 mov r1, #0x7 bl FUN_021D88E4 add sp, #0x4 pop {r3-r6, pc} _020841FA: ldrb r2, [r5, #0x0] add r0, r4, #0x0 mov r1, #0x13 bl FUN_021D88E4 _02084204: add sp, #0x4 pop {r3-r6, pc} .balign 4 _02084208: .word 0x00004A48 _0208420C: .word 0x00004A5C thumb_func_start FUN_02084210 FUN_02084210: ; 0x02084210 push {r4, lr} ldrb r2, [r2, #0x0] add r4, r3, #0x0 add r0, r4, #0x0 mov r1, #0x1 bl FUN_021D89CC bl FUN_02031190 cmp r0, #0x0 bne _0208422E mov r0, #0x3b mov r1, #0x0 lsl r0, r0, #0x4 str r1, [r4, r0] _0208422E: pop {r4, pc} thumb_func_start FUN_02084230 FUN_02084230: ; 0x02084230 bx lr .balign 4 thumb_func_start FUN_02084234 FUN_02084234: ; 0x02084234 bx lr .balign 4 thumb_func_start FUN_02084238 FUN_02084238: ; 0x02084238 push {r4, lr} add r4, r3, #0x0 bl FUN_02031190 cmp r0, #0x0 beq _0208424E add r0, r4, #0x0 mov r1, #0xd mov r2, #0x0 bl FUN_021D88E4 _0208424E: pop {r4, pc} thumb_func_start FUN_02084250 FUN_02084250: ; 0x02084250 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 bl FUN_02031190 cmp r0, #0x0 bne _0208426C add r0, sp, #0x0 strb r4, [r0, #0x0] mov r0, #0x6e add r1, sp, #0x0 mov r2, #0x1 bl FUN_02030ADC _0208426C: add sp, #0x4 pop {r3-r4, pc} thumb_func_start FUN_02084270 FUN_02084270: ; 0x02084270 push {r3-r5, lr} add r4, r0, #0x0 mov r0, #0xed mov r3, #0x0 lsl r0, r0, #0x2 add r5, r4, r0 add r2, r3, #0x0 sub r0, #0xc6 _02084280: ldr r1, [r5, #0x0] add r2, r2, #0x1 eor r3, r1 add r5, r5, #0x4 cmp r2, r0 blt _02084280 ldr r0, _020842AC ; =0x00000F6C str r3, [r4, r0] bl FUN_0201B9EC mov r1, #0xf7 lsl r1, r1, #0x4 str r0, [r4, r1] mov r1, #0xed lsl r1, r1, #0x2 mov r2, #0x2f mov r0, #0x74 add r1, r4, r1 lsl r2, r2, #0x6 bl FUN_02030A78 pop {r3-r5, pc} .balign 4 _020842AC: .word 0x00000F6C thumb_func_start FUN_020842B0 FUN_020842B0: ; 0x020842B0 mov r0, #0x0 bx lr thumb_func_start FUN_020842B4 FUN_020842B4: ; 0x020842B4 mov r0, #0x1 bx lr thumb_func_start FUN_020842B8 FUN_020842B8: ; 0x020842B8 mov r0, #0x4 bx lr thumb_func_start FUN_020842BC FUN_020842BC: ; 0x020842BC ldr r2, _020842CC ; =0x00000F74 add r2, r1, r2 mov r1, #0x2f lsl r1, r1, #0x6 mul r1, r0 add r0, r2, r1 bx lr nop _020842CC: .word 0x00000F74 thumb_func_start FUN_020842D0 FUN_020842D0: ; 0x020842D0 ldr r0, _020842D4 ; =0x020FCA3C bx lr .balign 4 _020842D4: .word 0x020FCA3C thumb_func_start FUN_020842D8 FUN_020842D8: ; 0x020842D8 mov r0, #0x9 bx lr thumb_func_start FUN_020842DC FUN_020842DC: ; 0x020842DC push {r3-r7, lr} sub sp, #0x18 str r1, [sp, #0x4] add r6, r0, #0x0 add r7, r2, #0x0 ldr r0, [sp, #0x4] mov r1, #0x0 add r2, r3, #0x0 bl FUN_0206E710 mov r1, #0xe add r4, r0, #0x0 bl FUN_0206E7DC cmp r0, #0x1 beq _02084308 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x0 pop {r3-r7, pc} _02084308: add r0, r6, #0x0 mov r1, #0x9f mov r2, #0x0 bl FUN_020671BC add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0xf bl FUN_0206E7DC cmp r0, #0x0 beq _02084332 mov r0, #0x7 tst r0, r5 beq _02084332 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084332: add r0, r4, #0x0 mov r1, #0x10 bl FUN_0206E7DC cmp r0, #0x0 beq _02084350 mov r0, #0x88 tst r0, r5 beq _02084350 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084350: add r0, r4, #0x0 mov r1, #0x11 bl FUN_0206E7DC cmp r0, #0x0 beq _0208436E mov r0, #0x10 tst r0, r5 beq _0208436E add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _0208436E: add r0, r4, #0x0 mov r1, #0x12 bl FUN_0206E7DC cmp r0, #0x0 beq _0208438C mov r0, #0x20 tst r0, r5 beq _0208438C add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _0208438C: add r0, r4, #0x0 mov r1, #0x13 bl FUN_0206E7DC cmp r0, #0x0 beq _020843AA mov r0, #0x40 tst r0, r5 beq _020843AA add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020843AA: add r0, r6, #0x0 mov r1, #0xa2 mov r2, #0x0 bl FUN_020671BC add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0x17 bl FUN_0206E7DC cmp r0, #0x0 bne _020843CE add r0, r4, #0x0 mov r1, #0x18 bl FUN_0206E7DC cmp r0, #0x0 beq _020843EA _020843CE: add r0, r4, #0x0 mov r1, #0x19 bl FUN_0206E7DC cmp r0, #0x0 bne _020843EA cmp r5, #0x0 bne _02084414 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020843EA: add r0, r4, #0x0 mov r1, #0x26 bl FUN_0206E7DC cmp r0, #0x0 beq _02084414 cmp r5, #0x0 beq _02084414 add r0, r6, #0x0 mov r1, #0xa3 mov r2, #0x0 bl FUN_020671BC cmp r5, r0 bhs _02084414 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084414: add r0, r4, #0x0 mov r1, #0x19 bl FUN_0206E7DC cmp r0, #0x0 beq _0208443A add r0, r6, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC cmp r0, #0x64 bhs _0208443A add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _0208443A: add r0, r4, #0x0 mov r1, #0x1a bl FUN_0206E7DC cmp r0, #0x0 beq _02084464 mov r0, #0x0 str r0, [sp, #0x0] ldr r3, [sp, #0x4] add r1, r6, #0x0 mov r2, #0x3 bl FUN_02069168 cmp r0, #0x0 beq _02084464 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084464: add r0, r4, #0x0 mov r1, #0x22 bl FUN_0206E7DC cmp r0, #0x0 bne _0208447C add r0, r4, #0x0 mov r1, #0x23 bl FUN_0206E7DC cmp r0, #0x0 beq _020844B2 _0208447C: add r1, r7, #0x0 add r0, r6, #0x0 add r1, #0x3e mov r2, #0x0 bl FUN_020671BC cmp r0, #0x3 bhs _020844B2 add r1, r7, #0x0 add r0, r6, #0x0 add r1, #0x36 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x0 bl FUN_0206AB30 cmp r0, #0x5 blo _020844B2 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020844B2: add r0, r4, #0x0 mov r1, #0x24 bl FUN_0206E7DC cmp r0, #0x0 beq _020844D6 add r0, r6, #0x0 add r1, r7, #0x0 bl FUN_02084DF0 cmp r0, #0x1 bne _020844D6 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020844D6: add r0, r4, #0x0 mov r1, #0x25 bl FUN_0206E7DC cmp r0, #0x0 beq _02084502 mov r5, #0x0 _020844E4: add r0, r6, #0x0 add r1, r5, #0x0 bl FUN_02084DF0 cmp r0, #0x1 bne _020844FC add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020844FC: add r5, r5, #0x1 cmp r5, #0x4 blt _020844E4 _02084502: add r0, r6, #0x0 mov r1, #0xd mov r2, #0x0 bl FUN_020671BC add r5, r0, #0x0 add r0, r6, #0x0 mov r1, #0xe mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x14] add r0, r6, #0x0 mov r1, #0xf mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x10] add r0, r6, #0x0 mov r1, #0x10 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0xc] add r0, r6, #0x0 mov r1, #0x11 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x8] add r0, r6, #0x0 mov r1, #0x12 mov r2, #0x0 bl FUN_020671BC add r7, r0, #0x0 add r0, r6, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC mov r1, #0x49 lsl r1, r1, #0x2 cmp r0, r1 beq _020845C6 add r0, r4, #0x0 mov r1, #0x27 bl FUN_0206E7DC cmp r0, #0x0 beq _020845C6 add r0, r4, #0x0 mov r1, #0x30 bl FUN_0206E7DC cmp r0, #0x0 ble _0208459C cmp r5, #0x64 bge _020845C6 ldr r0, [sp, #0x14] add r1, r5, r0 ldr r0, [sp, #0x10] add r1, r0, r1 ldr r0, [sp, #0xc] add r1, r0, r1 ldr r0, [sp, #0x8] add r0, r0, r1 add r1, r7, r0 ldr r0, _020847F4 ; =0x000001FE cmp r1, r0 bge _020845C6 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _0208459C: bge _020845C6 cmp r5, #0x0 ble _020845AE add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020845AE: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_02085000 cmp r0, #0x1 bne _020845C6 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020845C6: add r0, r4, #0x0 mov r1, #0x28 bl FUN_0206E7DC cmp r0, #0x0 beq _02084632 add r0, r4, #0x0 mov r1, #0x31 bl FUN_0206E7DC cmp r0, #0x0 ble _02084606 ldr r0, [sp, #0x14] cmp r0, #0x64 bge _02084632 add r1, r5, r0 ldr r0, [sp, #0x10] add r1, r0, r1 ldr r0, [sp, #0xc] add r1, r0, r1 ldr r0, [sp, #0x8] add r0, r0, r1 add r1, r7, r0 ldr r0, _020847F4 ; =0x000001FE cmp r1, r0 bge _02084632 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084606: bge _02084632 ldr r0, [sp, #0x14] cmp r0, #0x0 ble _0208461A add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _0208461A: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_02085000 cmp r0, #0x1 bne _02084632 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084632: add r0, r4, #0x0 mov r1, #0x29 bl FUN_0206E7DC cmp r0, #0x0 beq _020846A0 add r0, r4, #0x0 mov r1, #0x32 bl FUN_0206E7DC cmp r0, #0x0 ble _02084674 ldr r0, [sp, #0x10] cmp r0, #0x64 bge _020846A0 ldr r0, [sp, #0x14] add r1, r5, r0 ldr r0, [sp, #0x10] add r1, r0, r1 ldr r0, [sp, #0xc] add r1, r0, r1 ldr r0, [sp, #0x8] add r0, r0, r1 add r1, r7, r0 ldr r0, _020847F4 ; =0x000001FE cmp r1, r0 bge _020846A0 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084674: bge _020846A0 ldr r0, [sp, #0x10] cmp r0, #0x0 ble _02084688 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084688: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_02085000 cmp r0, #0x1 bne _020846A0 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020846A0: add r0, r4, #0x0 mov r1, #0x2a bl FUN_0206E7DC cmp r0, #0x0 beq _0208470E add r0, r4, #0x0 mov r1, #0x33 bl FUN_0206E7DC cmp r0, #0x0 ble _020846E2 ldr r0, [sp, #0xc] cmp r0, #0x64 bge _0208470E ldr r0, [sp, #0x14] add r1, r5, r0 ldr r0, [sp, #0x10] add r1, r0, r1 ldr r0, [sp, #0xc] add r1, r0, r1 ldr r0, [sp, #0x8] add r0, r0, r1 add r1, r7, r0 ldr r0, _020847F4 ; =0x000001FE cmp r1, r0 bge _0208470E add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020846E2: bge _0208470E ldr r0, [sp, #0xc] cmp r0, #0x0 ble _020846F6 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020846F6: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_02085000 cmp r0, #0x1 bne _0208470E add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _0208470E: add r0, r4, #0x0 mov r1, #0x2b bl FUN_0206E7DC cmp r0, #0x0 beq _0208477C add r0, r4, #0x0 mov r1, #0x34 bl FUN_0206E7DC cmp r0, #0x0 ble _02084750 ldr r0, [sp, #0x8] cmp r0, #0x64 bge _0208477C ldr r0, [sp, #0x14] add r1, r5, r0 ldr r0, [sp, #0x10] add r1, r0, r1 ldr r0, [sp, #0xc] add r1, r0, r1 ldr r0, [sp, #0x8] add r0, r0, r1 add r1, r7, r0 ldr r0, _020847F4 ; =0x000001FE cmp r1, r0 bge _0208477C add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084750: bge _0208477C ldr r0, [sp, #0x8] cmp r0, #0x0 ble _02084764 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084764: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_02085000 cmp r0, #0x1 bne _0208477C add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _0208477C: add r0, r4, #0x0 mov r1, #0x2c bl FUN_0206E7DC cmp r0, #0x0 beq _020847E6 add r0, r4, #0x0 mov r1, #0x35 bl FUN_0206E7DC cmp r0, #0x0 ble _020847BC cmp r7, #0x64 bge _020847E6 ldr r0, [sp, #0x14] add r1, r5, r0 ldr r0, [sp, #0x10] add r1, r0, r1 ldr r0, [sp, #0xc] add r1, r0, r1 ldr r0, [sp, #0x8] add r0, r0, r1 add r1, r7, r0 ldr r0, _020847F4 ; =0x000001FE cmp r1, r0 bge _020847E6 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020847BC: bge _020847E6 cmp r7, #0x0 ble _020847CE add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020847CE: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_02085000 cmp r0, #0x1 bne _020847E6 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020847E6: add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x0 add sp, #0x18 pop {r3-r7, pc} nop _020847F4: .word 0x000001FE thumb_func_start FUN_020847F8 FUN_020847F8: ; 0x020847F8 push {r3-r5, lr} add r5, r1, #0x0 add r1, r2, #0x0 add r4, r3, #0x0 bl FUN_0206B9B0 ldr r3, [sp, #0x10] add r1, r5, #0x0 add r2, r4, #0x0 bl FUN_020842DC pop {r3-r5, pc} thumb_func_start FUN_02084810 FUN_02084810: ; 0x02084810 push {r3-r7, lr} sub sp, #0x70 add r5, r0, #0x0 ldr r0, [sp, #0x88] str r2, [sp, #0x4] str r0, [sp, #0x88] add r0, r1, #0x0 ldr r2, [sp, #0x88] mov r1, #0x0 str r3, [sp, #0x8] bl FUN_0206E710 mov r1, #0xe add r4, r0, #0x0 bl FUN_0206E7DC cmp r0, #0x1 beq _02084840 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x70 mov r0, #0x0 pop {r3-r7, pc} _02084840: mov r6, #0x0 add r0, r5, #0x0 mov r1, #0x9f add r2, r6, #0x0 add r7, r6, #0x0 bl FUN_020671BC str r0, [sp, #0x50] str r0, [sp, #0x54] add r0, r4, #0x0 mov r1, #0xf bl FUN_0206E7DC cmp r0, #0x0 beq _02084868 ldr r1, [sp, #0x54] mov r0, #0x7 bic r1, r0 str r1, [sp, #0x54] mov r7, #0x1 _02084868: add r0, r4, #0x0 mov r1, #0x10 bl FUN_0206E7DC cmp r0, #0x0 beq _0208487E ldr r1, [sp, #0x54] ldr r0, _02084A28 ; =0xFFFFF077 mov r7, #0x1 and r0, r1 str r0, [sp, #0x54] _0208487E: add r0, r4, #0x0 mov r1, #0x11 bl FUN_0206E7DC cmp r0, #0x0 beq _02084894 ldr r1, [sp, #0x54] mov r0, #0x10 bic r1, r0 str r1, [sp, #0x54] mov r7, #0x1 _02084894: add r0, r4, #0x0 mov r1, #0x12 bl FUN_0206E7DC cmp r0, #0x0 beq _020848AA ldr r1, [sp, #0x54] mov r0, #0x20 bic r1, r0 str r1, [sp, #0x54] mov r7, #0x1 _020848AA: add r0, r4, #0x0 mov r1, #0x13 bl FUN_0206E7DC cmp r0, #0x0 beq _020848C0 ldr r1, [sp, #0x54] mov r0, #0x40 bic r1, r0 str r1, [sp, #0x54] mov r7, #0x1 _020848C0: ldr r1, [sp, #0x50] ldr r0, [sp, #0x54] cmp r1, r0 beq _020848D4 add r0, r5, #0x0 mov r1, #0x9f add r2, sp, #0x54 bl FUN_02067830 mov r6, #0x1 _020848D4: add r0, r5, #0x0 mov r1, #0xa2 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x50] add r0, r5, #0x0 mov r1, #0xa3 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x54] add r0, r4, #0x0 mov r1, #0x17 bl FUN_0206E7DC cmp r0, #0x0 bne _02084904 add r0, r4, #0x0 mov r1, #0x18 bl FUN_0206E7DC cmp r0, #0x0 beq _02084930 _02084904: add r0, r4, #0x0 mov r1, #0x19 bl FUN_0206E7DC cmp r0, #0x0 beq _02084930 ldr r0, [sp, #0x50] cmp r0, #0x0 bne _0208492C add r0, r4, #0x0 mov r1, #0x36 bl FUN_0206E7DC add r3, r0, #0x0 ldr r1, [sp, #0x50] ldr r2, [sp, #0x54] add r0, r5, #0x0 bl FUN_02084F68 mov r6, #0x1 _0208492C: mov r7, #0x1 b _0208495C _02084930: add r0, r4, #0x0 mov r1, #0x26 bl FUN_0206E7DC cmp r0, #0x0 beq _0208495C ldr r1, [sp, #0x50] ldr r0, [sp, #0x54] cmp r1, r0 bge _0208495A add r0, r4, #0x0 mov r1, #0x36 bl FUN_0206E7DC add r3, r0, #0x0 ldr r1, [sp, #0x50] ldr r2, [sp, #0x54] add r0, r5, #0x0 bl FUN_02084F68 mov r6, #0x1 _0208495A: mov r7, #0x1 _0208495C: add r0, r5, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x58] add r0, r4, #0x0 mov r1, #0x19 bl FUN_0206E7DC cmp r0, #0x0 beq _020849B4 ldr r0, [sp, #0x58] cmp r0, #0x64 bge _020849B2 add r0, r5, #0x0 bl FUN_020686F8 add r2, r0, #0x0 add r0, r5, #0x0 mov r1, #0x8 bl FUN_02068018 add r0, r5, #0x0 bl FUN_02066ED8 ldr r0, [sp, #0x50] cmp r0, #0x0 bne _020849B0 add r0, r5, #0x0 mov r1, #0xa3 mov r2, #0x0 bl FUN_020671BC add r2, r0, #0x0 ldr r3, [sp, #0x54] ldr r1, [sp, #0x50] add r0, r5, #0x0 sub r3, r2, r3 str r2, [sp, #0x5c] bl FUN_02084F68 _020849B0: mov r6, #0x1 _020849B2: mov r7, #0x1 _020849B4: add r0, r4, #0x0 mov r1, #0x1a bl FUN_0206E7DC cmp r0, #0x0 beq _020849C2 mov r7, #0x1 _020849C2: add r0, r4, #0x0 mov r1, #0x22 bl FUN_0206E7DC cmp r0, #0x0 beq _020849E2 ldr r1, [sp, #0x4] add r0, r5, #0x0 mov r2, #0x1 bl FUN_02084EC0 cmp r0, #0x1 bne _020849DE mov r6, #0x1 _020849DE: mov r7, #0x1 b _02084A00 _020849E2: add r0, r4, #0x0 mov r1, #0x23 bl FUN_0206E7DC cmp r0, #0x0 beq _02084A00 ldr r1, [sp, #0x4] add r0, r5, #0x0 mov r2, #0x3 bl FUN_02084EC0 cmp r0, #0x1 bne _020849FE mov r6, #0x1 _020849FE: mov r7, #0x1 _02084A00: add r0, r4, #0x0 mov r1, #0x24 bl FUN_0206E7DC cmp r0, #0x0 beq _02084A2C add r0, r4, #0x0 mov r1, #0x37 bl FUN_0206E7DC add r2, r0, #0x0 ldr r1, [sp, #0x4] add r0, r5, #0x0 bl FUN_02084E40 cmp r0, #0x1 bne _02084A24 mov r6, #0x1 _02084A24: mov r7, #0x1 b _02084A66 .balign 4 _02084A28: .word 0xFFFFF077 _02084A2C: add r0, r4, #0x0 mov r1, #0x25 bl FUN_0206E7DC cmp r0, #0x0 beq _02084A66 mov r0, #0x0 str r0, [sp, #0x50] cmp r0, #0x4 bge _02084A64 mov r7, #0x37 _02084A42: add r0, r4, #0x0 add r1, r7, #0x0 bl FUN_0206E7DC add r2, r0, #0x0 ldr r1, [sp, #0x50] add r0, r5, #0x0 bl FUN_02084E40 cmp r0, #0x1 bne _02084A5A mov r6, #0x1 _02084A5A: ldr r0, [sp, #0x50] add r0, r0, #0x1 str r0, [sp, #0x50] cmp r0, #0x4 blt _02084A42 _02084A64: mov r7, #0x1 _02084A66: add r0, r5, #0x0 mov r1, #0xd mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x50] add r0, r5, #0x0 mov r1, #0xe mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x54] add r0, r5, #0x0 mov r1, #0xf mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x58] add r0, r5, #0x0 mov r1, #0x10 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x5c] add r0, r5, #0x0 mov r1, #0x11 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x60] add r0, r5, #0x0 mov r1, #0x12 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x64] add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC mov r1, #0x49 lsl r1, r1, #0x2 cmp r0, r1 beq _02084B20 add r0, r4, #0x0 mov r1, #0x27 bl FUN_0206E7DC cmp r0, #0x0 beq _02084B20 add r0, r4, #0x0 mov r1, #0x30 bl FUN_0206E7DC ldr r1, [sp, #0x60] ldr r2, [sp, #0x54] str r1, [sp, #0x10] ldr r1, [sp, #0x5c] str r0, [sp, #0xc] str r1, [sp, #0x14] ldr r1, [sp, #0x58] str r0, [sp, #0x6c] add r2, r2, r1 ldr r1, [sp, #0x14] ldr r3, [sp, #0x64] add r2, r1, r2 ldr r1, [sp, #0x10] ldr r0, [sp, #0x50] add r1, r1, r2 ldr r2, [sp, #0xc] add r1, r3, r1 bl FUN_02084FA8 mov r1, #0x0 mvn r1, r1 str r0, [sp, #0x68] cmp r0, r1 beq _02084B18 str r0, [sp, #0x50] add r0, r5, #0x0 mov r1, #0xd add r2, sp, #0x50 bl FUN_02067830 add r0, r5, #0x0 bl FUN_02066ED8 mov r6, #0x1 _02084B18: ldr r0, [sp, #0x6c] cmp r0, #0x0 ble _02084B20 mov r7, #0x1 _02084B20: add r0, r4, #0x0 mov r1, #0x28 bl FUN_0206E7DC cmp r0, #0x0 beq _02084B80 add r0, r4, #0x0 mov r1, #0x31 bl FUN_0206E7DC ldr r1, [sp, #0x60] ldr r2, [sp, #0x50] str r1, [sp, #0x1c] ldr r1, [sp, #0x5c] str r0, [sp, #0x18] str r1, [sp, #0x20] ldr r1, [sp, #0x58] str r0, [sp, #0x6c] add r2, r2, r1 ldr r1, [sp, #0x20] ldr r3, [sp, #0x64] add r2, r1, r2 ldr r1, [sp, #0x1c] ldr r0, [sp, #0x54] add r1, r1, r2 ldr r2, [sp, #0x18] add r1, r3, r1 bl FUN_02084FA8 mov r1, #0x0 mvn r1, r1 str r0, [sp, #0x68] cmp r0, r1 beq _02084B78 str r0, [sp, #0x54] add r0, r5, #0x0 mov r1, #0xe add r2, sp, #0x54 bl FUN_02067830 add r0, r5, #0x0 bl FUN_02066ED8 mov r6, #0x1 _02084B78: ldr r0, [sp, #0x6c] cmp r0, #0x0 ble _02084B80 mov r7, #0x1 _02084B80: add r0, r4, #0x0 mov r1, #0x29 bl FUN_0206E7DC cmp r0, #0x0 beq _02084BE0 add r0, r4, #0x0 mov r1, #0x32 bl FUN_0206E7DC ldr r1, [sp, #0x60] ldr r2, [sp, #0x50] str r1, [sp, #0x28] ldr r1, [sp, #0x5c] str r0, [sp, #0x24] str r1, [sp, #0x2c] ldr r1, [sp, #0x54] str r0, [sp, #0x6c] add r2, r2, r1 ldr r1, [sp, #0x2c] ldr r3, [sp, #0x64] add r2, r1, r2 ldr r1, [sp, #0x28] ldr r0, [sp, #0x58] add r1, r1, r2 ldr r2, [sp, #0x24] add r1, r3, r1 bl FUN_02084FA8 mov r1, #0x0 mvn r1, r1 str r0, [sp, #0x68] cmp r0, r1 beq _02084BD8 str r0, [sp, #0x58] add r0, r5, #0x0 mov r1, #0xf add r2, sp, #0x58 bl FUN_02067830 add r0, r5, #0x0 bl FUN_02066ED8 mov r6, #0x1 _02084BD8: ldr r0, [sp, #0x6c] cmp r0, #0x0 ble _02084BE0 mov r7, #0x1 _02084BE0: add r0, r4, #0x0 mov r1, #0x2a bl FUN_0206E7DC cmp r0, #0x0 beq _02084C40 add r0, r4, #0x0 mov r1, #0x33 bl FUN_0206E7DC ldr r1, [sp, #0x60] ldr r2, [sp, #0x50] str r1, [sp, #0x34] ldr r1, [sp, #0x58] str r0, [sp, #0x30] str r1, [sp, #0x38] ldr r1, [sp, #0x54] str r0, [sp, #0x6c] add r2, r2, r1 ldr r1, [sp, #0x38] ldr r3, [sp, #0x64] add r2, r1, r2 ldr r1, [sp, #0x34] ldr r0, [sp, #0x5c] add r1, r1, r2 ldr r2, [sp, #0x30] add r1, r3, r1 bl FUN_02084FA8 mov r1, #0x0 mvn r1, r1 str r0, [sp, #0x68] cmp r0, r1 beq _02084C38 str r0, [sp, #0x5c] add r0, r5, #0x0 mov r1, #0x10 add r2, sp, #0x5c bl FUN_02067830 add r0, r5, #0x0 bl FUN_02066ED8 mov r6, #0x1 _02084C38: ldr r0, [sp, #0x6c] cmp r0, #0x0 ble _02084C40 mov r7, #0x1 _02084C40: add r0, r4, #0x0 mov r1, #0x2b bl FUN_0206E7DC cmp r0, #0x0 beq _02084CA0 add r0, r4, #0x0 mov r1, #0x34 bl FUN_0206E7DC ldr r1, [sp, #0x5c] ldr r2, [sp, #0x50] str r1, [sp, #0x40] ldr r1, [sp, #0x58] str r0, [sp, #0x3c] str r1, [sp, #0x44] ldr r1, [sp, #0x54] str r0, [sp, #0x6c] add r2, r2, r1 ldr r1, [sp, #0x44] ldr r3, [sp, #0x64] add r2, r1, r2 ldr r1, [sp, #0x40] ldr r0, [sp, #0x60] add r1, r1, r2 ldr r2, [sp, #0x3c] add r1, r3, r1 bl FUN_02084FA8 mov r1, #0x0 mvn r1, r1 str r0, [sp, #0x68] cmp r0, r1 beq _02084C98 str r0, [sp, #0x60] add r0, r5, #0x0 mov r1, #0x11 add r2, sp, #0x60 bl FUN_02067830 add r0, r5, #0x0 bl FUN_02066ED8 mov r6, #0x1 _02084C98: ldr r0, [sp, #0x6c] cmp r0, #0x0 ble _02084CA0 mov r7, #0x1 _02084CA0: add r0, r4, #0x0 mov r1, #0x2c bl FUN_0206E7DC cmp r0, #0x0 beq _02084D00 add r0, r4, #0x0 mov r1, #0x35 bl FUN_0206E7DC ldr r1, [sp, #0x5c] ldr r2, [sp, #0x50] str r1, [sp, #0x4c] ldr r1, [sp, #0x58] str r0, [sp, #0x48] mov r12, r1 ldr r1, [sp, #0x54] str r0, [sp, #0x6c] add r1, r2, r1 mov r2, r12 add r2, r2, r1 ldr r1, [sp, #0x4c] ldr r3, [sp, #0x60] add r1, r1, r2 ldr r0, [sp, #0x64] ldr r2, [sp, #0x48] add r1, r3, r1 bl FUN_02084FA8 mov r1, #0x0 mvn r1, r1 str r0, [sp, #0x68] cmp r0, r1 beq _02084CF8 str r0, [sp, #0x64] add r0, r5, #0x0 mov r1, #0x12 add r2, sp, #0x64 bl FUN_02067830 add r0, r5, #0x0 bl FUN_02066ED8 mov r6, #0x1 _02084CF8: ldr r0, [sp, #0x6c] cmp r0, #0x0 ble _02084D00 mov r7, #0x1 _02084D00: cmp r6, #0x0 bne _02084D14 cmp r7, #0x1 bne _02084D14 add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x70 mov r0, #0x0 pop {r3-r7, pc} _02084D14: add r0, r5, #0x0 mov r1, #0x9 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x50] cmp r0, #0x64 bge _02084D54 add r0, r4, #0x0 mov r1, #0x2d bl FUN_0206E7DC cmp r0, #0x0 beq _02084DC2 add r0, r4, #0x0 mov r1, #0x38 bl FUN_0206E7DC add r2, r0, #0x0 ldr r0, [sp, #0x88] str r0, [sp, #0x0] ldr r1, [sp, #0x50] ldr r3, [sp, #0x8] add r0, r5, #0x0 bl FUN_0208508C add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x70 add r0, r6, #0x0 pop {r3-r7, pc} _02084D54: blt _02084D8A cmp r0, #0xc8 bge _02084D8A add r0, r4, #0x0 mov r1, #0x2e bl FUN_0206E7DC cmp r0, #0x0 beq _02084DC2 add r0, r4, #0x0 mov r1, #0x39 bl FUN_0206E7DC add r2, r0, #0x0 ldr r0, [sp, #0x88] str r0, [sp, #0x0] ldr r1, [sp, #0x50] ldr r3, [sp, #0x8] add r0, r5, #0x0 bl FUN_0208508C add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x70 add r0, r6, #0x0 pop {r3-r7, pc} _02084D8A: cmp r0, #0xc8 blt _02084DC2 cmp r0, #0xff bgt _02084DC2 add r0, r4, #0x0 mov r1, #0x2f bl FUN_0206E7DC cmp r0, #0x0 beq _02084DC2 add r0, r4, #0x0 mov r1, #0x3a bl FUN_0206E7DC add r2, r0, #0x0 ldr r0, [sp, #0x88] str r0, [sp, #0x0] ldr r1, [sp, #0x50] ldr r3, [sp, #0x8] add r0, r5, #0x0 bl FUN_0208508C add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x70 add r0, r6, #0x0 pop {r3-r7, pc} _02084DC2: add r0, r4, #0x0 bl FUN_02016A18 add r0, r6, #0x0 add sp, #0x70 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02084DD0 FUN_02084DD0: ; 0x02084DD0 push {r3-r5, lr} add r5, r1, #0x0 add r1, r2, #0x0 add r4, r3, #0x0 bl FUN_0206B9B0 ldr r1, [sp, #0x14] add r3, sp, #0x0 str r1, [sp, #0x0] ldrh r3, [r3, #0x10] add r1, r5, #0x0 add r2, r4, #0x0 bl FUN_02084810 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02084DF0 FUN_02084DF0: ; 0x02084DF0 push {r3-r7, lr} add r6, r1, #0x0 add r1, #0x36 mov r2, #0x0 add r5, r0, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r7, r0, #0x10 bne _02084E08 mov r0, #0x0 pop {r3-r7, pc} _02084E08: add r1, r6, #0x0 add r0, r5, #0x0 add r1, #0x3a mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 add r6, #0x3e lsr r4, r0, #0x18 add r0, r5, #0x0 add r1, r6, #0x0 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r1, r0, #0x18 add r0, r7, #0x0 bl FUN_0206AB30 cmp r4, r0 bhs _02084E36 mov r0, #0x1 b _02084E38 _02084E36: mov r0, #0x0 _02084E38: lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02084E40 FUN_02084E40: ; 0x02084E40 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 add r4, r2, #0x0 add r1, #0x36 mov r2, #0x0 add r6, r0, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r7, r0, #0x10 bne _02084E5E add sp, #0x8 mov r0, #0x0 pop {r3-r7, pc} _02084E5E: add r0, r5, #0x0 str r0, [sp, #0x0] add r0, #0x3a str r0, [sp, #0x0] ldr r1, [sp, #0x0] add r0, r6, #0x0 mov r2, #0x0 bl FUN_020671BC add r1, sp, #0x4 strb r0, [r1, #0x0] add r5, #0x3e add r0, r6, #0x0 add r1, r5, #0x0 mov r2, #0x0 bl FUN_020671BC add r1, r0, #0x0 lsl r1, r1, #0x18 add r0, r7, #0x0 lsr r1, r1, #0x18 bl FUN_0206AB30 add r1, sp, #0x4 ldrb r2, [r1, #0x0] cmp r2, r0 bhs _02084EB8 cmp r4, #0x7f bne _02084E9C strb r0, [r1, #0x0] b _02084EA8 _02084E9C: add r2, r2, r4 strb r2, [r1, #0x0] ldrb r2, [r1, #0x0] cmp r2, r0 bls _02084EA8 strb r0, [r1, #0x0] _02084EA8: ldr r1, [sp, #0x0] add r0, r6, #0x0 add r2, sp, #0x4 bl FUN_02067830 add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _02084EB8: mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02084EC0 FUN_02084EC0: ; 0x02084EC0 push {r4-r7, lr} sub sp, #0xc add r6, r2, #0x0 add r4, r1, #0x0 str r1, [sp, #0x0] add r1, #0x3e mov r2, #0x0 add r5, r0, #0x0 str r1, [sp, #0x0] bl FUN_020671BC add r1, sp, #0x8 strb r0, [r1, #0x0] ldrb r0, [r1, #0x0] cmp r0, #0x3 bne _02084EE6 add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _02084EE6: add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x36 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x0 str r0, [sp, #0x4] bl FUN_0206AB30 cmp r0, #0x5 bhs _02084F08 add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _02084F08: add r4, #0x3a add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 bl FUN_020671BC add r1, sp, #0x8 strb r0, [r1, #0x1] ldrb r1, [r1, #0x0] ldr r0, [sp, #0x4] bl FUN_0206AB30 add r7, r0, #0x0 add r0, sp, #0x8 ldrb r0, [r0, #0x0] add r0, r0, r6 cmp r0, #0x3 bls _02084F30 mov r0, #0x3 b _02084F34 _02084F30: lsl r0, r0, #0x18 lsr r0, r0, #0x18 _02084F34: add r1, sp, #0x8 strb r0, [r1, #0x0] ldrb r1, [r1, #0x0] ldr r0, [sp, #0x4] bl FUN_0206AB30 add r1, sp, #0x8 ldrb r2, [r1, #0x1] add r0, r2, r0 sub r0, r0, r7 strb r0, [r1, #0x1] ldr r1, [sp, #0x0] add r0, r5, #0x0 add r2, sp, #0x8 bl FUN_02067830 add r2, sp, #0x8 add r0, r5, #0x0 add r1, r4, #0x0 add r2, #0x1 bl FUN_02067830 mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_02084F68 FUN_02084F68: ; 0x02084F68 push {r0-r3} push {r3, lr} cmp r2, #0x1 bne _02084F74 mov r3, #0x1 b _02084F8A _02084F74: cmp r3, #0xff bne _02084F7C add r3, r2, #0x0 b _02084F8A _02084F7C: cmp r3, #0xfe bne _02084F84 lsr r3, r2, #0x1 b _02084F8A _02084F84: cmp r3, #0xfd bne _02084F8A lsr r3, r2, #0x2 _02084F8A: ldr r1, [sp, #0xc] add r1, r1, r3 cmp r1, r2 bls _02084F96 str r2, [sp, #0xc] b _02084F98 _02084F96: str r1, [sp, #0xc] _02084F98: mov r1, #0xa2 add r2, sp, #0xc bl FUN_02067830 pop {r3} pop {r3} add sp, #0x10 bx r3 thumb_func_start FUN_02084FA8 FUN_02084FA8: ; 0x02084FA8 push {r3-r4} cmp r0, #0x0 bne _02084FBA cmp r2, #0x0 bge _02084FBA mov r0, #0x0 mvn r0, r0 pop {r3-r4} bx lr _02084FBA: cmp r0, #0x64 blt _02084FCA cmp r2, #0x0 ble _02084FCA mov r0, #0x0 mvn r0, r0 pop {r3-r4} bx lr _02084FCA: ldr r3, _02084FFC ; =0x000001FE add r4, r0, r1 cmp r4, r3 blt _02084FDE cmp r2, #0x0 ble _02084FDE mov r0, #0x0 mvn r0, r0 pop {r3-r4} bx lr _02084FDE: add r0, r0, r2 cmp r0, #0x64 ble _02084FE8 mov r0, #0x64 b _02084FEE _02084FE8: cmp r0, #0x0 bge _02084FEE mov r0, #0x0 _02084FEE: ldr r2, _02084FFC ; =0x000001FE add r3, r0, r1 cmp r3, r2 ble _02084FF8 sub r0, r2, r1 _02084FF8: pop {r3-r4} bx lr .balign 4 _02084FFC: .word 0x000001FE thumb_func_start FUN_02085000 FUN_02085000: ; 0x02085000 push {r4, lr} add r4, r1, #0x0 mov r1, #0x9 mov r2, #0x0 bl FUN_020671BC cmp r0, #0xff blt _02085014 mov r0, #0x0 pop {r4, pc} _02085014: cmp r0, #0x64 bge _02085038 add r0, r4, #0x0 mov r1, #0x2d bl FUN_0206E7DC cmp r0, #0x0 beq _02085034 add r0, r4, #0x0 mov r1, #0x38 bl FUN_0206E7DC cmp r0, #0x0 ble _02085034 mov r0, #0x1 pop {r4, pc} _02085034: mov r0, #0x0 pop {r4, pc} _02085038: blt _0208505E cmp r0, #0xc8 bge _0208505E add r0, r4, #0x0 mov r1, #0x2e bl FUN_0206E7DC cmp r0, #0x0 beq _0208505A add r0, r4, #0x0 mov r1, #0x39 bl FUN_0206E7DC cmp r0, #0x0 ble _0208505A mov r0, #0x1 pop {r4, pc} _0208505A: mov r0, #0x0 pop {r4, pc} _0208505E: cmp r0, #0xc8 blt _02085086 cmp r0, #0xff bge _02085086 add r0, r4, #0x0 mov r1, #0x2f bl FUN_0206E7DC cmp r0, #0x0 beq _02085082 add r0, r4, #0x0 mov r1, #0x3a bl FUN_0206E7DC cmp r0, #0x0 ble _02085082 mov r0, #0x1 pop {r4, pc} _02085082: mov r0, #0x0 pop {r4, pc} _02085086: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0208508C FUN_0208508C: ; 0x0208508C push {r0-r3} push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r3, #0x0 cmp r4, #0xff bne _020850AA ldr r0, [sp, #0x18] cmp r0, #0x0 ble _020850AA mov r0, #0x0 pop {r4-r6} pop {r3} add sp, #0x10 bx r3 _020850AA: cmp r4, #0x0 bne _020850BE ldr r0, [sp, #0x18] cmp r0, #0x0 bge _020850BE mov r0, #0x0 pop {r4-r6} pop {r3} add sp, #0x10 bx r3 _020850BE: ldr r0, [sp, #0x18] cmp r0, #0x0 ble _02085114 add r0, r5, #0x0 mov r1, #0x6 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 ldr r2, [sp, #0x20] lsr r0, r0, #0x10 mov r1, #0x1 bl FUN_0206E7B8 cmp r0, #0x34 bne _020850EC ldr r1, [sp, #0x18] mov r0, #0x96 mul r0, r1 mov r1, #0x64 blx _s32_div_f str r0, [sp, #0x18] _020850EC: add r0, r5, #0x0 mov r1, #0x9a mov r2, #0x0 bl FUN_020671BC cmp r0, #0xb bne _02085100 ldr r0, [sp, #0x18] add r0, r0, #0x1 str r0, [sp, #0x18] _02085100: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 bl FUN_020671BC cmp r6, r0 bne _02085114 ldr r0, [sp, #0x18] add r0, r0, #0x1 str r0, [sp, #0x18] _02085114: ldr r0, [sp, #0x18] add r0, r0, r4 str r0, [sp, #0x18] cmp r0, #0xff ble _02085122 mov r0, #0xff str r0, [sp, #0x18] _02085122: ldr r0, [sp, #0x18] cmp r0, #0x0 bge _0208512C mov r0, #0x0 str r0, [sp, #0x18] _0208512C: add r0, r5, #0x0 mov r1, #0x9 add r2, sp, #0x18 bl FUN_02067830 mov r0, #0x1 pop {r4-r6} pop {r3} add sp, #0x10 bx r3 thumb_func_start FUN_02085140 FUN_02085140: ; 0x02085140 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] bl FUN_0206B9AC mov r7, #0x0 str r0, [sp, #0x4] cmp r0, #0x0 ble _020851B4 mov r6, #0x7f _02085154: ldr r0, [sp, #0x0] add r1, r7, #0x0 bl FUN_0206B9B0 mov r1, #0xab mov r2, #0x0 add r5, r0, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _020851AC add r0, r5, #0x0 mov r1, #0xa3 mov r2, #0x0 bl FUN_020671BC str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0xa2 add r2, sp, #0x8 bl FUN_02067830 mov r0, #0x0 str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x9f add r2, sp, #0x8 bl FUN_02067830 mov r4, #0x0 _02085190: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02084DF0 cmp r0, #0x1 bne _020851A6 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02084E40 _020851A6: add r4, r4, #0x1 cmp r4, #0x4 blt _02085190 _020851AC: ldr r0, [sp, #0x4] add r7, r7, #0x1 cmp r7, r0 blt _02085154 _020851B4: add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_020851B8 FUN_020851B8: ; 0x020851B8 push {r3, lr} mov r1, #0xc bl FUN_02016998 mov r1, #0x0 strb r1, [r0, #0x0] strb r1, [r0, #0x1] strb r1, [r0, #0x2] strb r1, [r0, #0x3] strb r1, [r0, #0x4] strb r1, [r0, #0x5] strb r1, [r0, #0x6] strb r1, [r0, #0x7] strb r1, [r0, #0x8] strb r1, [r0, #0x9] strb r1, [r0, #0xa] strb r1, [r0, #0xb] pop {r3, pc} thumb_func_start FUN_020851DC FUN_020851DC: ; 0x020851DC push {r4-r6, lr} sub r1, #0x95 lsl r1, r1, #0x10 lsr r6, r1, #0x10 add r1, r6, #0x0 add r5, r0, #0x0 add r4, r2, #0x0 bl FUN_02085200 cmp r4, #0x1 bne _020851F4 strb r6, [r5, #0x8] _020851F4: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020851F8 FUN_020851F8: ; 0x020851F8 strb r1, [r0, #0x9] strb r2, [r0, #0xa] strb r3, [r0, #0xb] bx lr thumb_func_start FUN_02085200 FUN_02085200: ; 0x02085200 push {r3-r6} lsr r6, r1, #0x1f lsl r5, r1, #0x1b lsr r2, r1, #0x5 lsl r4, r2, #0x2 sub r5, r5, r6 mov r1, #0x1b ror r5, r1 ldr r3, [r0, r4] mov r2, #0x1 add r1, r6, r5 lsl r2, r1 add r1, r3, #0x0 orr r1, r2 str r1, [r0, r4] pop {r3-r6} bx lr .balign 4 thumb_func_start FUN_02085224 FUN_02085224: ; 0x02085224 push {r4-r5} lsr r5, r1, #0x1f lsl r4, r1, #0x1b lsr r1, r1, #0x5 lsl r1, r1, #0x2 sub r4, r4, r5 mov r3, #0x1b ror r4, r3 mov r2, #0x1 add r3, r5, r4 add r4, r2, #0x0 lsl r4, r3 ldr r0, [r0, r1] tst r0, r4 bne _02085244 mov r2, #0x0 _02085244: lsl r0, r2, #0x18 lsr r0, r0, #0x18 pop {r4-r5} bx lr thumb_func_start FUN_0208524C FUN_0208524C: ; 0x0208524C ldrb r3, [r0, #0x9] strb r3, [r1, #0x0] ldrb r0, [r0, #0xa] strb r0, [r2, #0x0] bx lr .balign 4 thumb_func_start FUN_02085258 FUN_02085258: ; 0x02085258 ldr r3, _02085260 ; =FUN_02006670 add r1, r0, #0x0 mov r0, #0x44 bx r3 .balign 4 _02085260: .word FUN_02006670 thumb_func_start FUN_02085264 FUN_02085264: ; 0x02085264 ldr r3, _02085268 ; =FUN_02006704 bx r3 .balign 4 _02085268: .word FUN_02006704 thumb_func_start FUN_0208526C FUN_0208526C: ; 0x0208526C ldr r3, _02085270 ; =FUN_020066F4 bx r3 .balign 4 _02085270: .word FUN_020066F4 thumb_func_start FUN_02085274 FUN_02085274: ; 0x02085274 add r3, r0, #0x0 add r2, r1, #0x0 add r1, r3, #0x0 ldr r3, _02085280 ; =LoadFromNarc_2 mov r0, #0x44 bx r3 .balign 4 _02085280: .word LoadFromNarc_2 thumb_func_start FUN_02085284 FUN_02085284: ; 0x02085284 ldr r3, _0208528C ; =FUN_02085274 sub r0, #0x95 bx r3 nop _0208528C: .word FUN_02085274 thumb_func_start FUN_02085290 FUN_02085290: ; 0x02085290 cmp r1, #0xa bhi _020852E2 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _020852A0: ; jump table (using 16-bit offset) .short _020852B6 - _020852A0 - 2; case 0 .short _020852BA - _020852A0 - 2; case 1 .short _020852BE - _020852A0 - 2; case 2 .short _020852C2 - _020852A0 - 2; case 3 .short _020852C6 - _020852A0 - 2; case 4 .short _020852CA - _020852A0 - 2; case 5 .short _020852CE - _020852A0 - 2; case 6 .short _020852D2 - _020852A0 - 2; case 7 .short _020852D6 - _020852A0 - 2; case 8 .short _020852DA - _020852A0 - 2; case 9 .short _020852DE - _020852A0 - 2; case 10 _020852B6: ldrh r0, [r0, #0x0] bx lr _020852BA: ldrb r0, [r0, #0x2] bx lr _020852BE: ldrb r0, [r0, #0x3] bx lr _020852C2: ldrb r0, [r0, #0x4] bx lr _020852C6: ldrb r0, [r0, #0x5] bx lr _020852CA: ldrb r0, [r0, #0x6] bx lr _020852CE: ldrb r0, [r0, #0x7] bx lr _020852D2: ldrb r0, [r0, #0x8] bx lr _020852D6: ldrb r0, [r0, #0x9] bx lr _020852DA: ldrb r0, [r0, #0xa] bx lr _020852DE: ldrb r0, [r0, #0xb] bx lr _020852E2: mov r0, #0x0 bx lr .balign 4 thumb_func_start FUN_020852E8 FUN_020852E8: ; 0x020852E8 push {r3-r5, lr} ldr r2, _0208530C ; =0x00000175 add r4, r0, #0x0 add r3, r1, #0x0 mov r0, #0x1 mov r1, #0x1a bl FUN_0200A86C add r5, r0, #0x0 add r1, r4, #0x0 bl FUN_0200A914 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0200A8B8 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 _0208530C: .word 0x00000175 thumb_func_start FUN_02085310 FUN_02085310: ; 0x02085310 push {r3-r5, lr} mov r2, #0x5d add r4, r0, #0x0 add r3, r1, #0x0 mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 bl FUN_0200A86C add r5, r0, #0x0 add r1, r4, #0x0 bl FUN_0200A914 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0200A8B8 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02085338 FUN_02085338: ; 0x02085338 push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 add r0, r3, #0x0 mov r1, #0x24 add r6, r2, #0x0 bl FUN_02016998 add r4, r0, #0x0 strb r5, [r4, #0x0] strb r7, [r4, #0x1] add r0, r6, #0x0 bl FUN_02024DA0 str r0, [r4, #0xc] add r0, r6, #0x0 bl FUN_02013B5C str r0, [r4, #0x10] add r0, r6, #0x0 bl FUN_020462AC bl FUN_0205ED0C strb r0, [r4, #0x4] mov r1, #0x0 strb r1, [r4, #0x5] mov r0, #0x1 strb r0, [r4, #0x2] add r0, r6, #0x0 strb r1, [r4, #0x3] bl LoadPlayerDataAddress bl FUN_02025084 str r0, [r4, #0x8] cmp r5, #0x2 bne _02085390 add r0, r4, #0x0 add r0, #0x14 mov r1, #0x3 bl FUN_0201373C b _020853A0 _02085390: ldr r0, _020853A4 ; =0x0000FFFF mov r1, #0x0 add r2, r4, #0x0 _02085396: add r1, r1, #0x1 strh r0, [r2, #0x1c] add r2, r2, #0x2 cmp r1, #0x2 blt _02085396 _020853A0: add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 _020853A4: .word 0x0000FFFF thumb_func_start FUN_020853A8 FUN_020853A8: ; 0x020853A8 ldr r3, _020853AC ; =FUN_02016A18 bx r3 .balign 4 _020853AC: .word FUN_02016A18 thumb_func_start FUN_020853B0 FUN_020853B0: ; 0x020853B0 strh r1, [r0, #0x1c] bx lr thumb_func_start FUN_020853B4 FUN_020853B4: ; 0x020853B4 strh r1, [r0, #0x1c] strh r2, [r0, #0x1e] bx lr .balign 4 thumb_func_start FUN_020853BC FUN_020853BC: ; 0x020853BC ldrh r2, [r1, #0x0] strh r2, [r0, #0x14] ldrh r2, [r1, #0x2] strh r2, [r0, #0x16] ldrh r2, [r1, #0x4] strh r2, [r0, #0x18] ldrh r1, [r1, #0x6] strh r1, [r0, #0x1a] bx lr .balign 4 thumb_func_start FUN_020853D0 FUN_020853D0: ; 0x020853D0 mov r1, #0x1 strb r1, [r0, #0x2] mov r1, #0x0 strb r1, [r0, #0x3] bx lr .balign 4 thumb_func_start FUN_020853DC FUN_020853DC: ; 0x020853DC mov r1, #0x1 strb r1, [r0, #0x5] bx lr .balign 4 thumb_func_start FUN_020853E4 FUN_020853E4: ; 0x020853E4 ldrb r0, [r0, #0x2] bx lr thumb_func_start FUN_020853E8 FUN_020853E8: ; 0x020853E8 ldrb r0, [r0, #0x3] bx lr thumb_func_start FUN_020853EC FUN_020853EC: ; 0x020853EC ldrh r0, [r0, #0x1c] bx lr thumb_func_start FUN_020853F0 FUN_020853F0: ; 0x020853F0 ldrh r2, [r0, #0x1c] strh r2, [r1, #0x0] ldrh r0, [r0, #0x1e] strh r0, [r1, #0x2] bx lr .balign 4 thumb_func_start FUN_020853FC FUN_020853FC: ; 0x020853FC add r2, r0, #0x0 ldr r3, _02085408 ; =FUN_02013960 add r2, #0x14 add r0, r1, #0x0 add r1, r2, #0x0 bx r3 .balign 4 _02085408: .word FUN_02013960 thumb_func_start FUN_0208540C FUN_0208540C: ; 0x0208540C ldrb r0, [r0, #0x0] bx lr thumb_func_start FUN_02085410 FUN_02085410: ; 0x02085410 ldrb r0, [r0, #0x1] bx lr thumb_func_start FUN_02085414 FUN_02085414: ; 0x02085414 ldr r0, [r0, #0x8] bx lr thumb_func_start FUN_02085418 FUN_02085418: ; 0x02085418 ldr r0, [r0, #0xc] bx lr thumb_func_start FUN_0208541C FUN_0208541C: ; 0x0208541C ldr r0, [r0, #0x10] bx lr thumb_func_start FUN_02085420 FUN_02085420: ; 0x02085420 ldrb r0, [r0, #0x4] bx lr thumb_func_start FUN_02085424 FUN_02085424: ; 0x02085424 ldrb r0, [r0, #0x5] bx lr thumb_func_start FUN_02085428 FUN_02085428: ; 0x02085428 ldrb r3, [r0, #0x0] cmp r3, #0x0 beq _02085438 cmp r3, #0x1 beq _0208543E cmp r3, #0x2 beq _02085448 bx lr _02085438: ldrh r0, [r0, #0x1c] strh r0, [r1, #0x0] bx lr _0208543E: ldrh r2, [r0, #0x1c] strh r2, [r1, #0x0] ldrh r0, [r0, #0x1e] strh r0, [r1, #0x2] bx lr _02085448: ldrh r1, [r0, #0x14] strh r1, [r2, #0x0] ldrh r1, [r0, #0x16] strh r1, [r2, #0x2] ldrh r1, [r0, #0x18] strh r1, [r2, #0x4] ldrh r0, [r0, #0x1a] strh r0, [r2, #0x6] bx lr .balign 4 thumb_func_start FUN_0208545C FUN_0208545C: ; 0x0208545C push {r3, lr} ldrb r3, [r0, #0x0] cmp r3, #0x0 beq _0208546C cmp r3, #0x1 beq _0208547C cmp r3, #0x2 b _02085494 _0208546C: ldrh r1, [r1, #0x0] ldrh r0, [r0, #0x1c] cmp r1, r0 bne _02085478 mov r0, #0x1 pop {r3, pc} _02085478: mov r0, #0x0 pop {r3, pc} _0208547C: ldrh r3, [r1, #0x0] ldrh r2, [r0, #0x1c] cmp r3, r2 bne _02085490 ldrh r1, [r1, #0x2] ldrh r0, [r0, #0x1e] cmp r1, r0 bne _02085490 mov r0, #0x1 pop {r3, pc} _02085490: mov r0, #0x0 pop {r3, pc} _02085494: add r0, #0x14 add r1, r2, #0x0 bl FUN_02013928 pop {r3, pc} .balign 4 thumb_func_start FUN_020854A0 FUN_020854A0: ; 0x020854A0 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_0208545C cmp r0, #0x0 bne _020854B4 mov r0, #0x1 b _020854B6 _020854B4: mov r0, #0x0 _020854B6: strb r0, [r5, #0x3] mov r1, #0x0 strb r1, [r5, #0x2] add r2, r5, #0x0 _020854BE: ldrh r0, [r4, #0x0] add r1, r1, #0x1 add r4, r4, #0x2 strh r0, [r2, #0x1c] add r2, r2, #0x2 cmp r1, #0x2 blt _020854BE ldrh r0, [r6, #0x0] strh r0, [r5, #0x14] ldrh r0, [r6, #0x2] strh r0, [r5, #0x16] ldrh r0, [r6, #0x4] strh r0, [r5, #0x18] ldrh r0, [r6, #0x6] strh r0, [r5, #0x1a] pop {r4-r6, pc} .balign 4 thumb_func_start FUN_020854E0 FUN_020854E0: ; 0x020854E0 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r7, r1, #0x0 add r6, r2, #0x0 str r3, [sp, #0x0] bl FUN_02025838 str r0, [sp, #0x4] ldr r0, [sp, #0x20] mov r1, #0x1c bl FUN_020169D8 mov r1, #0x0 mov r2, #0x1c add r4, r0, #0x0 blx MI_CpuFill8 ldr r0, [sp, #0x0] strb r0, [r4, #0xf] ldr r0, [sp, #0x4] strb r6, [r4, #0xe] str r0, [r4, #0x18] mov r0, #0x1 strh r0, [r4, #0x0] str r7, [r4, #0x8] mov r0, #0x0 strh r0, [r4, #0xc] ldr r0, [sp, #0x20] str r5, [r4, #0x10] bl FUN_020256BC str r0, [r4, #0x14] bl FUN_02025658 ldr r0, [r4, #0x14] mov r1, #0xff add r2, r6, #0x0 add r3, r5, #0x0 bl FUN_020256DC add r0, r4, #0x0 add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_02085538 FUN_02085538: ; 0x02085538 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 add r0, r3, #0x0 mov r1, #0x1c add r6, r2, #0x0 str r3, [sp, #0x0] bl FUN_020169D8 mov r1, #0x0 mov r2, #0x1c add r4, r0, #0x0 blx MI_CpuFill8 mov r0, #0x0 strh r0, [r4, #0x0] str r5, [r4, #0x8] strh r6, [r4, #0xc] add r0, r7, #0x0 str r7, [r4, #0x10] bl FUN_02025838 ldr r3, [sp, #0x0] add r1, r5, #0x0 add r2, r6, #0x0 str r0, [r4, #0x18] bl FUN_020258B0 str r0, [r4, #0x14] add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02085578 FUN_02085578: ; 0x02085578 push {r3-r7, lr} add r7, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 add r0, r7, #0x0 mov r1, #0x1c bl FUN_020169D8 mov r1, #0x0 mov r2, #0x1c add r4, r0, #0x0 blx MI_CpuFill8 mov r0, #0x0 strh r0, [r4, #0x0] str r5, [r4, #0x10] add r0, r7, #0x0 bl FUN_020256BC str r0, [r4, #0x14] ldr r2, [r4, #0x14] add r0, r6, #0x0 mov r1, #0xa9 bl FUN_020671BC add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020855B0 FUN_020855B0: ; 0x020855B0 push {r3-r7, lr} add r7, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 add r0, r7, #0x0 mov r1, #0x1c bl FUN_020169D8 mov r1, #0x0 mov r2, #0x1c add r4, r0, #0x0 blx MI_CpuFill8 mov r0, #0x0 strh r0, [r4, #0x0] add r0, r7, #0x0 str r5, [r4, #0x10] bl FUN_020256BC add r1, r6, #0x0 str r0, [r4, #0x14] bl FUN_020257D0 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020855E4 FUN_020855E4: ; 0x020855E4 ldr r0, [r0, #0x4] bx lr thumb_func_start FUN_020855E8 FUN_020855E8: ; 0x020855E8 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_020855E4 cmp r0, #0x0 bne _020855FC mov r0, #0x0 pop {r4-r6, pc} _020855FC: ldr r0, [r5, #0x18] ldr r3, [r5, #0x14] add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02025888 mov r0, #0x1 pop {r4-r6, pc} thumb_func_start FUN_0208560C FUN_0208560C: ; 0x0208560C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_020855E4 cmp r0, #0x0 bne _0208561E mov r0, #0x0 pop {r3-r5, pc} _0208561E: ldr r2, [r5, #0x14] add r0, r4, #0x0 mov r1, #0xa9 bl FUN_02067830 mov r0, #0x1 pop {r3-r5, pc} thumb_func_start FUN_0208562C FUN_0208562C: ; 0x0208562C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x14] cmp r0, #0x0 beq _0208563A bl FUN_02016A18 _0208563A: add r0, r4, #0x0 bl FUN_02016A18 pop {r4, pc} .balign 4 thumb_func_start FUN_02085644 FUN_02085644: ; 0x02085644 push {r3-r7, lr} add r5, r1, #0x0 mov r1, #0x0 add r7, r0, #0x0 add r4, r2, #0x0 str r1, [sp, #0x0] bl FUN_02025864 add r6, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r6, r0 beq _0208569E add r0, r4, #0x0 bl FUN_020256BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa9 add r2, r4, #0x0 bl FUN_020671BC add r0, r7, #0x0 mov r1, #0x0 add r2, r6, #0x0 add r3, r4, #0x0 bl FUN_02025888 add r0, r4, #0x0 bl FUN_02025658 add r0, r5, #0x0 mov r1, #0xa9 add r2, r4, #0x0 bl FUN_02067830 add r0, r5, #0x0 mov r1, #0x6 add r2, sp, #0x0 bl FUN_02067830 add r0, r4, #0x0 bl FUN_02016A18 add r0, r6, #0x0 _0208569E: pop {r3-r7, pc} thumb_func_start FUN_020856A0 FUN_020856A0: ; 0x020856A0 push {r3-r7, lr} add r5, r1, #0x0 add r4, r2, #0x0 mov r1, #0x0 add r2, r5, #0x0 add r7, r0, #0x0 str r1, [sp, #0x0] bl FUN_020258B0 add r6, r0, #0x0 bne _020856BC mov r0, #0x0 mvn r0, r0 pop {r3-r7, pc} _020856BC: bl FUN_020257CC bl FUN_0206EAD8 str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0xa9 add r2, r6, #0x0 bl FUN_02067830 add r0, r4, #0x0 mov r1, #0x6 add r2, sp, #0x0 bl FUN_02067830 add r0, r7, #0x0 mov r1, #0x0 add r2, r5, #0x0 bl FUN_02025878 add r0, r6, #0x0 bl FUN_02016A18 add r0, r5, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020856F0 FUN_020856F0: ; 0x020856F0 push {r3-r7, lr} add r5, r1, #0x0 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x34 bl FUN_02016998 mov r1, #0x0 mov r2, #0x34 add r6, r0, #0x0 blx MI_CpuFill8 mov r0, #0x0 strh r0, [r6, #0x0] add r0, r4, #0x0 bl FUN_020257C0 str r0, [r6, #0x8] mov r0, #0x8 add r1, r5, #0x0 bl FUN_020219F4 str r0, [r6, #0x10] add r0, r4, #0x0 bl FUN_020257C4 add r1, r0, #0x0 ldr r0, [r6, #0x10] bl FUN_02021E28 add r0, r4, #0x0 bl FUN_020257CC strb r0, [r6, #0xf] add r0, r4, #0x0 bl FUN_020257D8 strb r0, [r6, #0xd] add r0, r4, #0x0 bl FUN_020257DC strb r0, [r6, #0xe] mov r5, #0x0 mov r7, #0x2 _02085748: lsl r1, r5, #0x18 add r0, r4, #0x0 lsr r1, r1, #0x18 add r2, r7, #0x0 bl FUN_020257E0 lsl r1, r5, #0x1 add r1, r6, r1 strh r0, [r1, #0x14] add r0, r5, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0x3 blo _02085748 add r7, r6, #0x0 mov r5, #0x0 add r7, #0x1a _0208576A: lsl r1, r5, #0x18 add r0, r4, #0x0 lsr r1, r1, #0x18 bl FUN_02025814 add r1, r0, #0x0 lsl r0, r5, #0x3 add r0, r7, r0 bl FUN_02013960 add r0, r5, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0x3 blo _0208576A add r0, r6, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0208578C FUN_0208578C: ; 0x0208578C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x10] cmp r0, #0x0 beq _0208579A bl FUN_02021A20 _0208579A: add r0, r4, #0x0 bl FUN_02016A18 pop {r4, pc} .balign 4 thumb_func_start FUN_020857A4 FUN_020857A4: ; 0x020857A4 push {r3-r7, lr} add r7, r1, #0x0 add r4, r7, #0x0 add r6, r0, #0x0 mov r5, #0x0 add r4, #0x1a _020857B0: lsl r1, r5, #0x3 lsl r2, r5, #0x18 add r0, r6, #0x0 add r1, r4, r1 lsr r2, r2, #0x18 bl FUN_02025824 add r0, r5, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0x3 blo _020857B0 ldrb r1, [r7, #0xf] add r0, r6, #0x0 bl FUN_020257D0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020857D4 FUN_020857D4: ; 0x020857D4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _020857F4 bl FUN_02006290 cmp r0, #0x0 beq _020857F4 ldr r0, [r4, #0x0] bl FUN_02006260 mov r0, #0x0 str r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} _020857F4: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_020857F8 FUN_020857F8: ; 0x020857F8 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_0200628C mov r2, #0x1 add r5, r0, #0x0 mov r0, #0x3 mov r1, #0x28 lsl r2, r2, #0xc bl FUN_0201681C add r0, r4, #0x0 mov r1, #0x1c mov r2, #0x28 bl FUN_02006268 mov r1, #0x0 mov r2, #0x1c add r4, r0, #0x0 blx MI_CpuFill8 mov r1, #0x28 str r1, [r4, #0x0] ldr r0, [r5, #0x14] bl FUN_020856F0 str r0, [r4, #0x10] ldr r0, [r5, #0x10] bl LoadPlayerDataAddress ldr r1, [r4, #0x10] str r0, [r1, #0x4] ldrh r0, [r5, #0x0] cmp r0, #0x1 bne _02085844 ldrb r1, [r5, #0xf] ldr r0, [r4, #0x10] strb r1, [r0, #0xf] _02085844: ldr r1, [r4, #0x10] ldrb r0, [r1, #0xf] cmp r0, #0xc blo _02085850 mov r0, #0x0 strb r0, [r1, #0xf] _02085850: ldrh r1, [r5, #0x0] ldr r0, [r4, #0x10] strh r1, [r0, #0x0] mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0208585C FUN_0208585C: ; 0x0208585C push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 bl FUN_02006278 add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_0200628C add r6, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, #0x4 bls _02085878 b _02085990 _02085878: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02085884: ; jump table (using 16-bit offset) .short _0208588E - _02085884 - 2; case 0 .short _020858A6 - _02085884 - 2; case 1 .short _020858D2 - _02085884 - 2; case 2 .short _02085900 - _02085884 - 2; case 3 .short _0208595E - _02085884 - 2; case 4 _0208588E: ldrh r1, [r6, #0x0] ldr r0, [r4, #0x10] strh r1, [r0, #0x0] ldr r0, _02085994 ; =0x020FCAA8 ldr r1, [r4, #0x10] ldr r2, [r4, #0x0] bl FUN_02006234 str r0, [r4, #0xc] mov r0, #0x1 str r0, [r5, #0x0] b _02085990 _020858A6: add r0, r4, #0x0 add r0, #0xc bl FUN_020857D4 cmp r0, #0x0 beq _02085990 ldr r0, [r4, #0x10] ldrh r1, [r0, #0x0] cmp r1, #0x3 beq _020858C6 ldr r0, _02085998 ; =0x0000FFFF cmp r1, r0 bne _020858CC mov r0, #0x2 str r0, [r5, #0x0] b _02085990 _020858C6: mov r0, #0x2 str r0, [r5, #0x0] b _02085990 _020858CC: mov r0, #0x3 str r0, [r5, #0x0] b _02085990 _020858D2: ldrh r0, [r6, #0x0] cmp r0, #0x1 bne _020858FC ldr r1, [r4, #0x10] ldrh r0, [r1, #0x0] cmp r0, #0x3 bne _020858F8 ldr r0, [r6, #0x14] bl FUN_020857A4 ldr r0, [r6, #0x10] bl FUN_02029FC8 mov r1, #0x2 bl FUN_0202A170 mov r0, #0x1 str r0, [r6, #0x4] b _020858FC _020858F8: mov r0, #0x0 str r0, [r6, #0x4] _020858FC: mov r0, #0x1 pop {r4-r6, pc} _02085900: ldr r2, [r6, #0x10] ldr r3, [r4, #0x0] mov r0, #0x2 mov r1, #0x0 bl FUN_02085338 str r0, [r4, #0x8] ldr r0, [r4, #0x10] add r1, r0, #0x0 ldrb r0, [r0, #0x2] add r1, #0x1a lsl r0, r0, #0x3 add r0, r1, r0 bl FUN_0201385C cmp r0, #0x0 beq _02085938 ldr r1, [r4, #0x10] add r0, r4, #0x0 add r2, r1, #0x0 ldrb r1, [r1, #0x2] add r2, #0x1a add r0, #0x14 lsl r1, r1, #0x3 add r1, r2, r1 bl FUN_02013960 b _02085942 _02085938: add r0, r4, #0x0 add r0, #0x14 mov r1, #0x3 bl FUN_0201373C _02085942: add r1, r4, #0x0 ldr r0, [r4, #0x8] add r1, #0x14 bl FUN_020853BC ldr r0, _0208599C ; =0x020FCAB8 ldr r1, [r4, #0x8] ldr r2, [r4, #0x0] bl FUN_02006234 str r0, [r4, #0xc] mov r0, #0x4 str r0, [r5, #0x0] b _02085990 _0208595E: add r0, r4, #0x0 add r0, #0xc bl FUN_020857D4 cmp r0, #0x0 beq _02085990 ldr r0, [r4, #0x8] bl FUN_020853E4 cmp r0, #0x0 bne _02085986 ldr r1, [r4, #0x10] ldr r0, [r4, #0x8] add r2, r1, #0x0 ldrb r1, [r1, #0x2] add r2, #0x1a lsl r1, r1, #0x3 add r1, r2, r1 bl FUN_020853FC _02085986: ldr r0, [r4, #0x8] bl FUN_020853A8 mov r0, #0x0 str r0, [r5, #0x0] _02085990: mov r0, #0x0 pop {r4-r6, pc} .balign 4 _02085994: .word 0x020FCAA8 _02085998: .word 0x0000FFFF _0208599C: .word 0x020FCAB8 thumb_func_start FUN_020859A0 FUN_020859A0: ; 0x020859A0 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02006278 add r4, r0, #0x0 ldr r0, [r4, #0x10] bl FUN_0208578C add r0, r5, #0x0 bl FUN_0200627C ldr r0, [r4, #0x0] bl FUN_020168D0 mov r0, #0x1 pop {r3-r5, pc} thumb_func_start FUN_020859C0 FUN_020859C0: ; 0x020859C0 push {r3-r7, lr} mov r2, #0x2 add r5, r0, #0x0 mov r0, #0x3 mov r1, #0x35 lsl r2, r2, #0x12 bl FUN_0201681C mov r0, #0x35 bl FUN_02230F3C bl FUN_0222F7E0 ldr r1, _02085BA0 ; =0x0000042C add r0, r5, #0x0 mov r2, #0x35 bl FUN_02006268 ldr r2, _02085BA0 ; =0x0000042C mov r1, #0x0 add r4, r0, #0x0 blx Call_FillMemWithValue bl FUN_0222E2BC mov r1, #0x23 lsl r1, r1, #0x4 str r0, [r4, r1] add r0, r5, #0x0 bl FUN_0200628C str r0, [r4, #0x0] mov r0, #0x35 bl FUN_020669C0 ldr r1, _02085BA4 ; =0x00000428 mov r2, #0xff str r0, [r4, r1] add r0, r4, #0x0 add r0, #0xd4 str r2, [r0, #0x0] mov r0, #0x0 sub r1, #0x10 str r0, [r4, r1] ldr r0, [r4, #0x0] ldr r0, [r0, #0x20] bl FUN_02029E0C asr r1, r0, #0x2 lsr r1, r1, #0x1d add r1, r0, r1 asr r0, r1, #0x3 add r1, r0, #0x1 ldr r0, _02085BA8 ; =0x0000041C str r1, [r4, r0] ldr r1, [r4, r0] cmp r1, #0xa ble _02085A38 mov r1, #0xa str r1, [r4, r0] _02085A38: ldr r0, [r4, #0x0] bl FUN_02085D84 mov r1, #0xf1 lsl r1, r1, #0x2 str r0, [r4, r1] ldr r0, [r4, #0x0] bl FUN_02085D84 mov r1, #0xf2 lsl r1, r1, #0x2 str r0, [r4, r1] ldr r0, [r4, #0x0] ldr r0, [r0, #0x20] bl FUN_02029CEC str r0, [r4, #0x64] mov r6, #0x0 add r5, r4, #0x0 mov r7, #0xff _02085A60: ldr r0, [r4, #0x0] add r1, r6, #0x0 ldr r0, [r0, #0x20] bl FUN_02029C8C str r7, [r5, #0x4] str r0, [r5, #0x8] add r6, r6, #0x1 add r5, #0x8 cmp r6, #0xc blt _02085A60 mov r5, #0x0 add r6, r5, #0x0 mov r7, #0xa1 _02085A7C: ldr r0, [r4, #0x0] add r0, r0, r6 ldr r0, [r0, #0x4] cmp r0, #0x0 beq _02085A9A add r1, r7, #0x0 mov r2, #0x0 bl FUN_020671BC cmp r0, #0x0 beq _02085A9A lsl r0, r0, #0x3 add r0, r4, r0 sub r0, r0, #0x4 str r5, [r0, #0x0] _02085A9A: add r5, r5, #0x1 add r6, r6, #0x4 cmp r5, #0x6 blt _02085A7C mov r0, #0x35 bl FUN_02016B94 add r1, r4, #0x0 add r1, #0xe4 str r0, [r1, #0x0] mov r0, #0x40 mov r1, #0x35 bl FUN_0201C24C mov r0, #0x35 bl FUN_02002FD0 add r1, r4, #0x0 add r1, #0xe8 str r0, [r1, #0x0] add r0, r4, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] mov r1, #0x1 bl FUN_020038F0 add r0, r4, #0x0 add r0, #0xe8 mov r2, #0x2 ldr r0, [r0, #0x0] mov r1, #0x0 lsl r2, r2, #0x8 mov r3, #0x35 bl FUN_02003008 add r0, r4, #0x0 add r0, #0xe8 mov r1, #0x1 ldr r0, [r0, #0x0] lsl r2, r1, #0x9 mov r3, #0x35 bl FUN_02003008 add r0, r4, #0x0 add r0, #0xe8 mov r1, #0x2 ldr r0, [r0, #0x0] lsl r2, r1, #0x8 mov r3, #0x35 bl FUN_02003008 add r0, r4, #0x0 add r0, #0xe8 mov r2, #0x2 ldr r0, [r0, #0x0] mov r1, #0x3 lsl r2, r2, #0x8 mov r3, #0x35 bl FUN_02003008 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] bl FUN_02230F80 bl FUN_0222E360 mov r0, #0x35 bl FUN_02006D98 mov r1, #0x69 lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0x35 mov r1, #0x1 mov r2, #0x0 bl FUN_02014BF4 mov r1, #0x97 lsl r1, r1, #0x2 str r0, [r4, r1] ldr r0, [r4, #0x0] ldr r0, [r0, #0x24] bl FUN_02025084 add r5, r0, #0x0 add r0, r4, #0x0 add r1, r4, #0x0 add r0, #0xe4 add r1, #0xe8 ldr r0, [r0, #0x0] ldr r1, [r1, #0x0] add r2, r5, #0x0 bl FUN_0222ED34 add r0, r4, #0x0 add r1, r4, #0x0 add r0, #0xe4 add r1, #0xe8 ldr r0, [r0, #0x0] ldr r1, [r1, #0x0] add r2, r5, #0x0 bl FUN_0222EDBC add r0, r4, #0x0 add r0, #0xd4 bl FUN_0222E7E8 bl FUN_0201CC08 mov r0, #0x4 bl FUN_0201CC24 add r0, r4, #0x0 bl FUN_022300E4 ldr r0, _02085BAC ; =0x022310CD add r1, r4, #0x0 bl FUN_02015F10 add r0, r4, #0x0 bl FUN_0222DD1C mov r1, #0x0 mov r0, #0x3b add r2, r1, #0x0 bl FUN_0200433C mov r0, #0x1 pop {r3-r7, pc} nop _02085BA0: .word 0x0000042C _02085BA4: .word 0x00000428 _02085BA8: .word 0x0000041C _02085BAC: .word 0x022310CD thumb_func_start FUN_02085BB0 FUN_02085BB0: ; 0x02085BB0 push {r3-r5, lr} add r5, r1, #0x0 bl FUN_02006278 ldr r1, [r5, #0x0] add r4, r0, #0x0 cmp r1, #0x0 beq _02085BCA cmp r1, #0x1 beq _02085BD8 cmp r1, #0x2 beq _02085BF6 b _02085C02 _02085BCA: bl FUN_0200E308 cmp r0, #0x1 bne _02085C02 mov r0, #0x1 str r0, [r5, #0x0] b _02085C02 _02085BD8: bl FUN_0222F990 cmp r0, #0x0 bne _02085BE6 mov r0, #0x2 str r0, [r5, #0x0] b _02085C02 _02085BE6: mov r0, #0x69 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02006ED4 bl FUN_0222E3A0 b _02085C02 _02085BF6: bl FUN_0200E308 cmp r0, #0x1 bne _02085C02 mov r0, #0x1 pop {r3-r5, pc} _02085C02: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02085C08 FUN_02085C08: ; 0x02085C08 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02006278 add r4, r0, #0x0 mov r0, #0x1 mov r1, #0x0 bl FUN_0201E6E4 mov r0, #0x2 mov r1, #0x0 bl FUN_0201E6E4 mov r0, #0x4 mov r1, #0x0 bl FUN_0201E6E4 mov r0, #0x8 mov r1, #0x0 bl FUN_0201E6E4 mov r0, #0x1 mov r1, #0x0 bl FUN_0201E74C mov r0, #0x2 mov r1, #0x0 bl FUN_0201E74C mov r0, #0x4 mov r1, #0x0 bl FUN_0201E74C mov r0, #0x8 mov r1, #0x0 bl FUN_0201E74C add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] mov r1, #0x1 bl FUN_020178A0 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] mov r1, #0x2 bl FUN_020178A0 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] mov r1, #0x3 bl FUN_020178A0 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] mov r1, #0x4 bl FUN_020178A0 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] mov r1, #0x5 bl FUN_020178A0 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] mov r1, #0x6 bl FUN_020178A0 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] mov r1, #0x7 bl FUN_020178A0 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] bl FUN_02016A18 add r0, r4, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] mov r1, #0x0 bl FUN_02003038 add r0, r4, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] mov r1, #0x1 bl FUN_02003038 add r0, r4, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] mov r1, #0x2 bl FUN_02003038 add r0, r4, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] mov r1, #0x3 bl FUN_02003038 add r0, r4, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] bl FUN_02002FEC mov r1, #0xf1 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r0, [r4, #0x0] lsl r1, r1, #0x18 lsr r1, r1, #0x18 bl FUN_02085D8C ldr r0, _02085D64 ; =0x00000428 ldr r0, [r4, r0] bl FUN_02016A18 add r0, r4, #0x0 bl FUN_0222DAEC mov r0, #0x73 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_0202212C mov r0, #0x69 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_020072E8 mov r0, #0x97 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_02014C28 add r0, r4, #0x0 bl FUN_0222DD38 add r0, r4, #0x0 add r0, #0xd4 bl FUN_0222E874 bl FUN_0201C29C mov r0, #0x23 lsl r0, r0, #0x4 ldr r0, [r4, r0] bl FUN_020223BC mov r0, #0x35 bl FUN_02230F70 add r0, r5, #0x0 bl FUN_0200627C bl FUN_0201CD04 mov r0, #0x35 bl FUN_020168D0 ldr r0, _02085D68 ; =0x00000008 bl FUN_02005F60 mov r0, #0x1 pop {r3-r5, pc} nop _02085D64: .word 0x00000428 _02085D68: .word 0x00000008 thumb_func_start FUN_02085D6C FUN_02085D6C: ; 0x02085D6C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, r1 bge _02085D7C bl ErrorHandling mov r1, #0x0 _02085D7C: lsl r0, r1, #0x2 add r0, r4, r0 ldr r0, [r0, #0x4] pop {r4, pc} thumb_func_start FUN_02085D84 FUN_02085D84: ; 0x02085D84 add r0, #0x2c ldrb r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02085D8C FUN_02085D8C: ; 0x02085D8C add r0, #0x2c strb r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02085D94 FUN_02085D94: ; 0x02085D94 add r0, #0x2d ldrb r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02085D9C FUN_02085D9C: ; 0x02085D9C add r0, #0x2d strb r1, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02085DA4 FUN_02085DA4: ; 0x02085DA4 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 bl FUN_0204652C add r6, r0, #0x0 add r0, r5, #0x0 ldr r7, [r6, #0x8] bl FUN_02046528 str r0, [sp, #0x4] ldr r0, [r6, #0x14] cmp r0, #0x6 bls _02085DC2 b _02085F38 _02085DC2: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02085DCE: ; jump table (using 16-bit offset) .short _02085DDC - _02085DCE - 2; case 0 .short _02085E38 - _02085DCE - 2; case 1 .short _02085E48 - _02085DCE - 2; case 2 .short _02085E66 - _02085DCE - 2; case 3 .short _02085EA6 - _02085DCE - 2; case 4 .short _02085F14 - _02085DCE - 2; case 5 .short _02085F20 - _02085DCE - 2; case 6 _02085DDC: add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r6, #0x10] bl FUN_02029C80 str r0, [r7, #0x20] add r0, r7, #0x0 mov r1, #0x0 bl FUN_02085D8C ldr r0, [r6, #0x10] bl FUN_0206BB1C str r0, [r7, #0x1c] bl FUN_0206B9AC mov r4, #0x0 str r0, [sp, #0x0] str r0, [r7, #0x0] cmp r0, #0x0 ble _02085E1E add r5, r7, #0x0 _02085E0A: ldr r0, [r7, #0x1c] add r1, r4, #0x0 bl FUN_0206B9B0 str r0, [r5, #0x4] ldr r0, [sp, #0x0] add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, r0 blt _02085E0A _02085E1E: cmp r4, #0x6 bge _02085E32 lsl r0, r4, #0x2 add r1, r7, r0 mov r0, #0x0 _02085E28: add r4, r4, #0x1 str r0, [r1, #0x4] add r1, r1, #0x4 cmp r4, #0x6 blt _02085E28 _02085E32: mov r0, #0x1 str r0, [r6, #0x14] b _02085F38 _02085E38: ldr r1, _02085F40 ; =0x020FCAD8 add r0, r5, #0x0 add r2, r7, #0x0 bl FUN_02046500 mov r0, #0x2 str r0, [r6, #0x14] b _02085F38 _02085E48: ldr r0, [r6, #0x8] bl FUN_02085D94 cmp r0, #0x0 beq _02085E5A cmp r0, #0x1 beq _02085E60 bl ErrorHandling _02085E5A: mov r0, #0x5 str r0, [r6, #0x14] b _02085F38 _02085E60: mov r0, #0x3 str r0, [r6, #0x14] b _02085F38 _02085E66: ldr r4, [r6, #0xc] ldr r0, [r7, #0x1c] str r0, [r4, #0x0] ldr r0, [r6, #0x10] bl FUN_0206F158 str r0, [r4, #0x4] ldr r0, [r6, #0x10] bl FUN_02025838 str r0, [r4, #0x8] add r0, r4, #0x0 mov r1, #0x0 add r0, #0x22 strb r1, [r0, #0x0] add r0, r4, #0x0 add r0, #0x21 strb r1, [r0, #0x0] add r0, r4, #0x0 mov r1, #0xf add r0, #0x20 strb r1, [r0, #0x0] ldr r0, [r7, #0x24] ldr r1, _02085F44 ; =0x020F96DC str r0, [r4, #0xc] add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_02046500 mov r0, #0x4 str r0, [r6, #0x14] b _02085F38 _02085EA6: ldr r0, [r6, #0x8] ldr r4, [r6, #0xc] bl FUN_02085D84 add r0, r0, #0x1 str r0, [sp, #0x8] add r4, #0x22 ldrb r1, [r4, #0x0] cmp r1, #0x7 beq _02085F0E ldr r0, [r6, #0x8] bl FUN_02085D6C mov r1, #0xa1 add r2, sp, #0x8 add r5, r0, #0x0 bl FUN_02067830 ldr r1, [sp, #0x8] ldr r0, [r7, #0x20] sub r1, r1, #0x1 bl FUN_02029C8C add r2, r0, #0x0 add r0, r5, #0x0 mov r1, #0xaa bl FUN_02067830 ldr r1, [sp, #0x8] ldr r0, [r7, #0x20] sub r1, r1, #0x1 bl FUN_02029C8C mov r1, #0x0 bl FUN_02029CC8 bl FUN_02029CE0 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_02085FD0 add r4, r0, #0x0 ldr r0, [sp, #0x4] ldr r0, [r0, #0xc] bl FUN_02022504 lsl r2, r4, #0x18 add r1, r5, #0x0 lsr r2, r2, #0x18 bl FUN_02061798 _02085F0E: mov r0, #0x1 str r0, [r6, #0x14] b _02085F38 _02085F14: add r0, r5, #0x0 bl FUN_0204AF84 mov r0, #0x6 str r0, [r6, #0x14] b _02085F38 _02085F20: ldr r0, [r6, #0xc] bl FUN_02016A18 ldr r0, [r6, #0x8] bl FUN_02016A18 add r0, r6, #0x0 bl FUN_02016A18 add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} _02085F38: mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} nop _02085F40: .word 0x020FCAD8 _02085F44: .word 0x020F96DC thumb_func_start FUN_02085F48 FUN_02085F48: ; 0x02085F48 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 mov r0, #0xb mov r1, #0x18 bl FUN_020169D8 add r4, r0, #0x0 add r2, r4, #0x0 mov r1, #0x18 mov r0, #0x0 _02085F5E: strb r0, [r2, #0x0] add r2, r2, #0x1 sub r1, r1, #0x1 bne _02085F5E mov r0, #0xb mov r1, #0x30 str r5, [r4, #0x10] bl FUN_02016998 mov r1, #0x0 mov r2, #0x30 str r0, [r4, #0x8] blx Call_FillMemWithValue add r0, r5, #0x0 bl LoadPlayerDataAddress ldr r1, [r4, #0x8] str r0, [r1, #0x24] ldr r0, [r4, #0x8] mov r1, #0x40 str r5, [r0, #0x28] mov r0, #0xb bl FUN_02016998 mov r1, #0x0 mov r2, #0x40 str r0, [r4, #0xc] blx Call_FillMemWithValue ldr r1, _02085FA8 ; =FUN_02085DA4 add r0, r6, #0x0 add r2, r4, #0x0 bl FUN_0204640C pop {r4-r6, pc} nop _02085FA8: .word FUN_02085DA4 thumb_func_start FUN_02085FAC FUN_02085FAC: ; 0x02085FAC push {r4, lr} add r4, r0, #0x0 ldr r0, _02085FC8 ; =0x0000032A cmp r4, r0 blo _02085FBA bl ErrorHandling _02085FBA: mov r0, #0xa add r1, r4, #0x0 mul r1, r0 ldr r0, _02085FCC ; =0x020FCAE8 ldrh r0, [r0, r1] pop {r4, pc} nop _02085FC8: .word 0x0000032A _02085FCC: .word 0x020FCAE8 thumb_func_start FUN_02085FD0 FUN_02085FD0: ; 0x02085FD0 push {r4, lr} add r4, r0, #0x0 ldr r0, _02085FEC ; =0x0000032A cmp r4, r0 blo _02085FDE bl ErrorHandling _02085FDE: mov r0, #0xa add r1, r4, #0x0 mul r1, r0 ldr r0, _02085FF0 ; =0x020FCAEA ldrb r0, [r0, r1] pop {r4, pc} nop _02085FEC: .word 0x0000032A _02085FF0: .word 0x020FCAEA thumb_func_start FUN_02085FF4 FUN_02085FF4: ; 0x02085FF4 push {r4, lr} add r4, r0, #0x0 ldr r0, _02086010 ; =0x0000032A cmp r4, r0 blo _02086002 bl ErrorHandling _02086002: mov r0, #0xa add r1, r4, #0x0 mul r1, r0 ldr r0, _02086014 ; =0x020FCAEC ldrb r0, [r0, r1] pop {r4, pc} nop _02086010: .word 0x0000032A _02086014: .word 0x020FCAEC thumb_func_start FUN_02086018 FUN_02086018: ; 0x02086018 push {r4, lr} add r4, r0, #0x0 ldr r0, _02086034 ; =0x0000032A cmp r4, r0 blo _02086026 bl ErrorHandling _02086026: mov r0, #0xa add r1, r4, #0x0 mul r1, r0 ldr r0, _02086038 ; =0x020FCAED ldrb r0, [r0, r1] pop {r4, pc} nop _02086034: .word 0x0000032A _02086038: .word 0x020FCAED thumb_func_start FUN_0208603C FUN_0208603C: ; 0x0208603C push {r4, lr} add r4, r0, #0x0 ldr r0, _02086058 ; =0x0000032A cmp r4, r0 blo _0208604A bl ErrorHandling _0208604A: mov r0, #0xa add r1, r4, #0x0 mul r1, r0 ldr r0, _0208605C ; =0x020FCAEE ldrh r0, [r0, r1] pop {r4, pc} nop _02086058: .word 0x0000032A _0208605C: .word 0x020FCAEE thumb_func_start FUN_02086060 FUN_02086060: ; 0x02086060 push {r4, lr} add r4, r0, #0x0 ldr r0, _0208607C ; =0x0000032A cmp r4, r0 blo _0208606E bl ErrorHandling _0208606E: mov r0, #0xa add r1, r4, #0x0 mul r1, r0 ldr r0, _02086080 ; =0x020FCAF0 ldrb r0, [r0, r1] pop {r4, pc} nop _0208607C: .word 0x0000032A _02086080: .word 0x020FCAF0 thumb_func_start FUN_02086084 FUN_02086084: ; 0x02086084 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F10 bl FUN_02015F1C mov r2, #0x1 mov r0, #0x3 mov r1, #0x47 lsl r2, r2, #0x12 bl FUN_0201681C add r0, r5, #0x0 mov r1, #0x80 mov r2, #0x47 bl FUN_02006268 mov r1, #0x0 mov r2, #0x80 add r4, r0, #0x0 blx Call_FillMemWithValue add r0, r5, #0x0 bl FUN_0200628C str r0, [r4, #0x0] ldr r0, [r0, #0x10] bl FUN_02024FF4 str r0, [r4, #0x10] ldr r0, [r4, #0x0] ldr r0, [r0, #0x10] bl FUN_02025084 str r0, [r4, #0x14] bl FUN_02086468 str r0, [r4, #0x38] mov r0, #0x47 bl FUN_02006D98 str r0, [r4, #0x3c] mov r0, #0x47 bl FUN_02016B94 str r0, [r4, #0x4] mov r0, #0x40 mov r1, #0x47 bl FUN_0201C24C mov r0, #0x47 mov r1, #0x1 mov r2, #0x0 bl FUN_02014BF4 str r0, [r4, #0x54] mov r0, #0x47 bl FUN_02002FD0 str r0, [r4, #0x8] mov r1, #0x1 bl FUN_020038F0 mov r2, #0x2 ldr r0, [r4, #0x8] mov r1, #0x0 lsl r2, r2, #0x8 mov r3, #0x47 bl FUN_02003008 mov r1, #0x2 ldr r0, [r4, #0x8] lsl r2, r1, #0x8 mov r3, #0x47 bl FUN_02003008 mov r1, #0x1 ldr r0, [r4, #0x8] lsl r2, r1, #0x9 mov r3, #0x47 bl FUN_02003008 mov r2, #0x2 ldr r0, [r4, #0x8] mov r1, #0x3 lsl r2, r2, #0x8 mov r3, #0x47 bl FUN_02003008 bl FUN_02086414 bl FUN_0208643C bl FUN_0208650C ldr r0, [r4, #0x4] bl FUN_0208654C add r0, r4, #0x4 bl FUN_02086E48 bl FUN_0200541C ldr r0, _02086164 ; =FUN_02086664 add r1, r4, #0x0 bl FUN_02015F10 mov r0, #0x1 pop {r3-r5, pc} nop _02086164: .word FUN_02086664 thumb_func_start FUN_02086168 FUN_02086168: ; 0x02086168 push {r3-r5, lr} add r5, r1, #0x0 bl FUN_02006278 ldr r1, [r5, #0x0] add r4, r0, #0x0 cmp r1, #0x0 beq _0208617E cmp r1, #0x1 beq _020861AA b _020861C6 _0208617E: bl FUN_0200E308 cmp r0, #0x1 bne _0208618C ldr r0, [r5, #0x0] add r0, r0, #0x1 str r0, [r5, #0x0] _0208618C: ldr r0, [r4, #0x0] mov r1, #0x5 ldr r0, [r0, #0xc] mov r2, #0x0 bl FUN_020671BC ldr r1, _020861D8 ; =0x000001EA cmp r0, r1 bne _020861A4 mov r0, #0x1 str r0, [r4, #0x58] b _020861D2 _020861A4: mov r0, #0x0 str r0, [r4, #0x58] b _020861D2 _020861AA: bl FUN_02086FA8 cmp r0, #0x0 bne _020861BA ldr r0, [r5, #0x0] add r0, r0, #0x1 str r0, [r5, #0x0] b _020861D2 _020861BA: ldr r0, [r4, #0x3c] bl FUN_02006ED4 bl FUN_02086698 b _020861D2 _020861C6: bl FUN_0200E308 cmp r0, #0x1 bne _020861D2 mov r0, #0x1 pop {r3-r5, pc} _020861D2: mov r0, #0x0 pop {r3-r5, pc} nop _020861D8: .word 0x000001EA thumb_func_start FUN_020861DC FUN_020861DC: ; 0x020861DC push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02006278 add r4, r0, #0x0 ldr r0, [r4, #0x38] bl FUN_020223BC mov r0, #0x1 mov r1, #0x0 bl FUN_0201E6E4 mov r0, #0x2 mov r1, #0x0 bl FUN_0201E6E4 mov r0, #0x3 mov r1, #0x0 bl FUN_0201E6E4 mov r0, #0x4 mov r1, #0x0 bl FUN_0201E74C ldr r0, [r4, #0x8] mov r1, #0x0 bl FUN_02003038 ldr r0, [r4, #0x8] mov r1, #0x2 bl FUN_02003038 ldr r0, [r4, #0x8] mov r1, #0x1 bl FUN_02003038 ldr r0, [r4, #0x8] mov r1, #0x3 bl FUN_02003038 ldr r0, [r4, #0x8] bl FUN_02002FEC ldr r0, [r4, #0x4] mov r1, #0x1 bl FUN_020178A0 ldr r0, [r4, #0x4] mov r1, #0x2 bl FUN_020178A0 ldr r0, [r4, #0x4] mov r1, #0x3 bl FUN_020178A0 ldr r0, [r4, #0x4] mov r1, #0x4 bl FUN_020178A0 ldr r0, [r4, #0x4] bl FUN_02016A18 bl FUN_0201C29C ldr r0, [r4, #0x3c] bl FUN_020072E8 ldr r0, [r4, #0x54] bl FUN_02014C28 add r0, r4, #0x4 bl FUN_02086ED4 add r0, r5, #0x0 bl FUN_0200627C mov r0, #0x47 bl FUN_020168D0 mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02086280 FUN_02086280: ; 0x02086280 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] cmp r1, #0x6 bls _02086294 b _020863CE _02086294: add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _020862A0: ; jump table (using 16-bit offset) .short _020862AE - _020862A0 - 2; case 0 .short _020862C4 - _020862A0 - 2; case 1 .short _020862D6 - _020862A0 - 2; case 2 .short _0208633A - _020862A0 - 2; case 3 .short _02086396 - _020862A0 - 2; case 4 .short _020863B6 - _020862A0 - 2; case 5 .short _020863C4 - _020862A0 - 2; case 6 _020862AE: ldr r0, [r4, #0xc] mov r1, #0xb bl FUN_021ED940 add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020863CE _020862C4: ldr r1, _020863D4 ; =0x020FCE14 add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_02046500 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020863CE _020862D6: add r0, r5, #0x0 bl FUN_02046528 add r6, r0, #0x0 ldr r5, [r4, #0xc] bl FUN_020377AC bl FUN_020238F4 add r7, r0, #0x0 ldr r0, [r6, #0x1c] ldr r0, [r0, #0x0] bl FUN_02034824 str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x4c add r2, sp, #0x8 bl FUN_02067830 mov r0, #0xb str r0, [sp, #0x0] ldr r3, [sp, #0x4] add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x6 bl FUN_0208089C add r0, r5, #0x0 mov r1, #0xb2 mov r2, #0x0 bl FUN_02067830 add r0, r6, #0x0 bl FUN_020377AC ldr r1, [r4, #0xc] bl FUN_0202C144 ldr r0, [r4, #0x4] cmp r0, #0x1 bne _02086334 mov r0, #0x3 str r0, [r4, #0x0] b _020863CE _02086334: mov r0, #0x5 str r0, [r4, #0x0] b _020863CE _0208633A: add r0, r5, #0x0 bl FUN_02046528 add r6, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC add r7, r0, #0x0 add r0, r6, #0x0 bl FUN_020377AC bl LoadPlayerDataAddress str r0, [sp, #0x0] mov r0, #0xb mov r1, #0x1 add r2, r7, #0x0 mov r3, #0xa bl FUN_02077A84 str r0, [r4, #0x8] ldr r0, [r4, #0xc] mov r1, #0x6f mov r2, #0x0 bl FUN_020671BC ldr r1, [r4, #0x8] mov r2, #0x0 str r0, [r1, #0x10] ldr r0, [r4, #0xc] mov r1, #0x70 bl FUN_020671BC ldr r1, [r4, #0x8] str r0, [r1, #0x8] ldr r1, _020863D8 ; =0x020FA5FC ldr r2, [r4, #0x8] add r0, r5, #0x0 bl FUN_02046500 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020863CE _02086396: ldr r2, [r4, #0x8] ldr r0, [r2, #0x14] cmp r0, #0x0 bne _020863A8 ldr r0, [r4, #0xc] ldr r2, [r2, #0x18] mov r1, #0x77 bl FUN_02067830 _020863A8: ldr r0, [r4, #0x8] bl FUN_02077AC4 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020863CE _020863B6: add r0, r5, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020863CE _020863C4: bl FUN_02016A18 add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} _020863CE: mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 _020863D4: .word 0x020FCE14 _020863D8: .word 0x020FA5FC thumb_func_start FUN_020863DC FUN_020863DC: ; 0x020863DC push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0xb mov r1, #0x1c bl FUN_020169D8 add r2, r0, #0x0 add r3, r2, #0x0 mov r1, #0x1c mov r0, #0x0 _020863F2: strb r0, [r3, #0x0] add r3, r3, #0x1 sub r1, r1, #0x1 bne _020863F2 add r3, r2, #0x0 add r3, #0xc ldmia r4!, {r0-r1} stmia r3!, {r0-r1} ldmia r4!, {r0-r1} stmia r3!, {r0-r1} ldr r1, _02086410 ; =FUN_02086280 add r0, r5, #0x0 bl FUN_0204640C pop {r3-r5, pc} .balign 4 _02086410: .word FUN_02086280 thumb_func_start FUN_02086414 FUN_02086414: ; 0x02086414 push {r3, lr} bl FUN_0201E6D8 bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] ldr r0, _02086434 ; =0xFFFFE0FF and r1, r0 str r1, [r2, #0x0] ldr r2, _02086438 ; =0x04001000 ldr r1, [r2, #0x0] and r0, r1 str r0, [r2, #0x0] pop {r3, pc} .balign 4 _02086434: .word 0xFFFFE0FF _02086438: .word 0x04001000 thumb_func_start FUN_0208643C FUN_0208643C: ; 0x0208643C push {r3, lr} mov r0, #0x7 str r0, [sp, #0x0] ldr r0, _02086460 ; =0x04000050 mov r1, #0x0 mov r2, #0xe mov r3, #0xb blx G2x_SetBlendAlpha_ mov r0, #0x8 str r0, [sp, #0x0] ldr r0, _02086464 ; =0x04001050 mov r1, #0x0 mov r2, #0xe mov r3, #0x7 blx G2x_SetBlendAlpha_ pop {r3, pc} .balign 4 _02086460: .word 0x04000050 _02086464: .word 0x04001050 thumb_func_start FUN_02086468 FUN_02086468: ; 0x02086468 push {r3, lr} sub sp, #0x8 mov r2, #0x2 mov r1, #0x0 ldr r0, _02086484 ; =FUN_02086488 str r2, [sp, #0x0] str r0, [sp, #0x4] mov r0, #0x47 add r3, r1, #0x0 bl FUN_02022318 add sp, #0x8 pop {r3, pc} nop _02086484: .word FUN_02086488 thumb_func_start FUN_02086488 FUN_02086488: ; 0x02086488 push {r3, lr} mov r0, #0x1 add r1, r0, #0x0 bl FUN_0201E6E4 ldr r0, _020864F4 ; =0x04000008 mov r1, #0x3 ldrh r2, [r0, #0x0] bic r2, r1 mov r1, #0x1 orr r1, r2 strh r1, [r0, #0x0] add r0, #0x58 ldrh r2, [r0, #0x0] ldr r1, _020864F8 ; =0xFFFFCFFD and r2, r1 strh r2, [r0, #0x0] add r2, r1, #0x2 ldrh r3, [r0, #0x0] add r1, r1, #0x2 and r3, r2 mov r2, #0x10 orr r2, r3 strh r2, [r0, #0x0] ldrh r3, [r0, #0x0] ldr r2, _020864FC ; =0x0000CFFB and r3, r2 strh r3, [r0, #0x0] ldrh r3, [r0, #0x0] sub r2, #0x1c and r3, r1 mov r1, #0x8 orr r1, r3 strh r1, [r0, #0x0] ldrh r1, [r0, #0x0] and r1, r2 strh r1, [r0, #0x0] mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 blx G3X_SetFog mov r0, #0x0 ldr r2, _02086500 ; =0x00007FFF add r1, r0, #0x0 mov r3, #0x3f str r0, [sp, #0x0] blx G3X_SetClearColor ldr r1, _02086504 ; =0xBFFF0000 ldr r0, _02086508 ; =0x04000580 str r1, [r0, #0x0] pop {r3, pc} .balign 4 _020864F4: .word 0x04000008 _020864F8: .word 0xFFFFCFFD _020864FC: .word 0x0000CFFB _02086500: .word 0x00007FFF _02086504: .word 0xBFFF0000 _02086508: .word 0x04000580 thumb_func_start FUN_0208650C FUN_0208650C: ; 0x0208650C push {r3-r5, lr} ldr r3, _02086544 ; =0x021064B8 mov r0, #0x2 mov r1, #0x0 ldr r3, [r3, #0x0] lsl r0, r0, #0xe add r2, r1, #0x0 blx r3 ldr r3, _02086548 ; =0x021064C0 mov r1, #0x0 add r4, r0, #0x0 ldr r3, [r3, #0x0] mov r0, #0x80 add r2, r1, #0x0 blx r3 add r5, r0, #0x0 cmp r4, #0x0 bne _02086534 bl ErrorHandling _02086534: cmp r5, #0x0 bne _0208653C bl ErrorHandling _0208653C: bl FUN_02012CC8 pop {r3-r5, pc} nop _02086544: .word 0x021064B8 _02086548: .word 0x021064C0 thumb_func_start FUN_0208654C FUN_0208654C: ; 0x0208654C push {r3-r5, lr} sub sp, #0xa8 add r4, r0, #0x0 bl FUN_0201E6D8 ldr r5, _02086650 ; =0x020FCEBC add r3, sp, #0x2c mov r2, #0x5 _0208655C: ldmia r5!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _0208655C add r0, sp, #0x2c bl FUN_0201E66C mov r1, #0x6 mov r2, #0x2 mov r0, #0x0 lsl r1, r1, #0x18 lsl r2, r2, #0x12 blx MIi_CpuClear32 mov r1, #0x62 mov r2, #0x2 mov r0, #0x0 lsl r1, r1, #0x14 lsl r2, r2, #0x10 blx MIi_CpuClear32 mov r1, #0x19 mov r2, #0x1 mov r0, #0x0 lsl r1, r1, #0x16 lsl r2, r2, #0x12 blx MIi_CpuClear32 mov r1, #0x66 mov r2, #0x2 mov r0, #0x0 lsl r1, r1, #0x14 lsl r2, r2, #0x10 blx MIi_CpuClear32 ldr r5, _02086654 ; =0x020FCE24 add r3, sp, #0x1c add r2, r3, #0x0 ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 bl FUN_02016BBC ldr r5, _02086658 ; =0x020FCF84 add r3, sp, #0x54 mov r2, #0xa _020865BC: ldmia r5!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _020865BC ldr r0, [r5, #0x0] mov r1, #0x1 str r0, [r3, #0x0] add r0, r4, #0x0 add r2, sp, #0x54 mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x2 add r2, sp, #0x70 mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x3 add r2, sp, #0x8c mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x1 bl FUN_02018744 add r0, r4, #0x0 mov r1, #0x2 bl FUN_02018744 add r0, r4, #0x0 mov r1, #0x3 bl FUN_02018744 ldr r1, _0208665C ; =0x04000008 mov r0, #0x3 ldrh r2, [r1, #0x0] bic r2, r0 mov r0, #0x1 orr r2, r0 strh r2, [r1, #0x0] add r1, r0, #0x0 bl FUN_0201E6E4 bl FUN_0201E788 mov r0, #0x10 mov r1, #0x1 bl FUN_0201E6E4 ldr r5, _02086660 ; =0x020FCE60 add r3, sp, #0x0 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x4 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x4 bl FUN_02018744 add sp, #0xa8 pop {r3-r5, pc} .balign 4 _02086650: .word 0x020FCEBC _02086654: .word 0x020FCE24 _02086658: .word 0x020FCF84 _0208665C: .word 0x04000008 _02086660: .word 0x020FCE60 thumb_func_start FUN_02086664 FUN_02086664: ; 0x02086664 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x3c] bl FUN_020081C4 bl FUN_0201C30C bl FUN_0200BC30 ldr r0, [r4, #0x8] bl FUN_0200372C ldr r0, [r4, #0x4] bl FUN_0201AB60 ldr r3, _02086690 ; =0x027E0000 ldr r1, _02086694 ; =0x00003FF8 mov r0, #0x1 ldr r2, [r3, r1] orr r0, r2 str r0, [r3, r1] pop {r4, pc} .balign 4 _02086690: .word 0x027E0000 _02086694: .word 0x00003FF8 thumb_func_start FUN_02086698 FUN_02086698: ; 0x02086698 push {r3, lr} bl FUN_020222AC bl FUN_02013364 cmp r0, #0x0 ble _020866AE bl FUN_020222AC blx FUN_020B02C8 _020866AE: bl FUN_02013388 mov r0, #0x1 mov r1, #0x0 bl FUN_020222B4 pop {r3, pc} thumb_func_start FUN_020866BC FUN_020866BC: ; 0x020866BC push {lr} sub sp, #0xc mov r0, #0x6 str r0, [sp, #0x0] mov r1, #0x1 str r1, [sp, #0x4] mov r0, #0x47 str r0, [sp, #0x8] mov r0, #0x0 add r2, r1, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 add sp, #0xc pop {pc} .balign 4 thumb_func_start FUN_020866DC FUN_020866DC: ; 0x020866DC push {lr} sub sp, #0xc mov r0, #0x6 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] mov r0, #0x47 str r0, [sp, #0x8] mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 add sp, #0xc pop {pc} thumb_func_start FUN_020866FC FUN_020866FC: ; 0x020866FC push {r3-r6, lr} sub sp, #0xc add r6, r2, #0x0 add r4, r1, #0x0 lsl r1, r6, #0x18 lsr r1, r1, #0x18 str r1, [sp, #0x0] mov r1, #0x47 str r1, [sp, #0x4] mov r1, #0x1 mov r2, #0x14 mov r3, #0xf add r5, r0, #0x0 bl FUN_0200CD68 add r0, r6, #0x0 bl FUN_0200CD64 add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] mov r0, #0xc0 str r0, [sp, #0x8] add r0, r4, #0x0 mov r1, #0x26 mov r3, #0x47 bl FUN_020030E8 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x47 str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x1 mov r2, #0x32 mov r3, #0xd bl FUN_0200CB00 bl FUN_0200CAFC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] mov r0, #0xd0 str r0, [sp, #0x8] add r0, r4, #0x0 mov r1, #0x26 mov r3, #0x47 bl FUN_020030E8 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] mov r0, #0xe0 str r0, [sp, #0x8] add r0, r4, #0x0 mov r1, #0xe mov r2, #0x7 mov r3, #0x47 bl FUN_020030E8 add sp, #0xc pop {r3-r6, pc} thumb_func_start FUN_02086784 FUN_02086784: ; 0x02086784 push {r4-r7, lr} sub sp, #0x14 add r5, r1, #0x0 add r7, r0, #0x0 add r0, r5, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 bl FUN_0201901C ldr r0, [sp, #0x28] lsl r2, r4, #0x18 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] ldr r0, [sp, #0x2c] lsl r3, r6, #0x18 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x4] ldr r0, [sp, #0x30] add r1, r5, #0x0 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x8] ldr r0, [sp, #0x38] lsr r2, r2, #0x18 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0xc] ldr r0, [sp, #0x34] lsr r3, r3, #0x18 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x10] add r0, r7, #0x0 bl FUN_02019064 add r0, r5, #0x0 mov r1, #0x1 mov r2, #0x14 mov r3, #0xc bl FUN_0200D0BC add r0, r5, #0x0 mov r1, #0xf bl FUN_02019620 add r0, r5, #0x0 bl FUN_020191D0 add sp, #0x14 pop {r4-r7, pc} thumb_func_start FUN_020867EC FUN_020867EC: ; 0x020867EC push {r3-r7, lr} sub sp, #0x18 add r4, r1, #0x0 mov r1, #0xf str r0, [sp, #0xc] str r2, [sp, #0x10] add r6, r3, #0x0 bl FUN_02019620 ldr r2, _02086874 ; =0x0000013F mov r0, #0x0 mov r1, #0x1a mov r3, #0x47 bl FUN_0200A86C add r7, r0, #0x0 mov r0, #0x47 bl FUN_0200AA80 add r5, r0, #0x0 add r0, r7, #0x0 add r1, r4, #0x0 bl FUN_0200A914 str r0, [sp, #0x14] mov r0, #0xff mov r1, #0x47 bl FUN_020219F4 add r4, r0, #0x0 ldr r0, [sp, #0x10] bl FUN_020690E4 add r2, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl FUN_0200AC60 ldr r2, [sp, #0x14] add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0200B7B8 mov r3, #0x0 str r3, [sp, #0x0] str r6, [sp, #0x4] ldr r0, [sp, #0xc] mov r1, #0x1 add r2, r4, #0x0 str r3, [sp, #0x8] bl FUN_0201BD84 add r6, r0, #0x0 add r0, r7, #0x0 bl FUN_0200A8B8 add r0, r4, #0x0 bl FUN_02021A20 ldr r0, [sp, #0x14] bl FUN_02021A20 add r0, r5, #0x0 bl FUN_0200AB18 add r0, r6, #0x0 add sp, #0x18 pop {r3-r7, pc} .balign 4 _02086874: .word 0x0000013F thumb_func_start FUN_02086878 FUN_02086878: ; 0x02086878 push {r4-r7, lr} sub sp, #0x24 add r5, r0, #0x0 add r0, r2, #0x0 add r6, r1, #0x0 str r2, [sp, #0x14] add r4, r3, #0x0 bl FUN_0201901C ldr r0, [sp, #0x3c] ldr r3, [sp, #0x38] lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] ldr r0, [sp, #0x40] lsl r2, r4, #0x18 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x4] ldr r0, [sp, #0x44] lsl r3, r3, #0x18 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x8] ldr r0, [sp, #0x4c] ldr r1, [sp, #0x14] lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0xc] ldr r0, [sp, #0x48] lsr r2, r2, #0x18 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x10] add r0, r6, #0x0 lsr r3, r3, #0x18 bl FUN_02019064 mov r0, #0x2 mov r1, #0x47 bl FUN_02012838 str r0, [r5, #0x44] ldr r2, _0208695C ; =0x0000013F mov r0, #0x0 mov r1, #0x1a mov r3, #0x47 bl FUN_0200A86C add r7, r0, #0x0 mov r4, #0x0 _020868DE: add r0, r7, #0x0 add r1, r4, #0x2 bl FUN_0200A914 add r6, r0, #0x0 ldr r0, [r5, #0x44] add r1, r6, #0x0 add r2, r4, #0x0 bl FUN_020128A0 add r0, r6, #0x0 bl FUN_02021A20 add r4, r4, #0x1 cmp r4, #0x2 blt _020868DE add r0, r7, #0x0 bl FUN_0200A8B8 ldr r0, [r5, #0x44] mov r1, #0x0 str r0, [sp, #0x18] add r0, sp, #0x18 strb r1, [r0, #0x8] ldr r1, [sp, #0x14] mov r2, #0x2 str r1, [sp, #0x1c] mov r1, #0x1 strb r1, [r0, #0x9] strb r2, [r0, #0xa] ldrb r3, [r0, #0xb] mov r2, #0xf bic r3, r2 strb r3, [r0, #0xb] ldrb r3, [r0, #0xb] mov r2, #0x30 bic r3, r2 strb r3, [r0, #0xb] ldrb r3, [r0, #0xb] mov r2, #0xc0 bic r3, r2 mov r2, #0x40 orr r2, r3 strb r2, [r0, #0xb] ldr r0, [sp, #0x14] mov r2, #0x32 mov r3, #0xd bl FUN_0200CCA4 mov r0, #0x47 str r0, [sp, #0x0] mov r0, #0x2 mov r2, #0x0 str r0, [sp, #0x4] add r0, sp, #0x18 mov r1, #0x8 add r3, r2, #0x0 bl FUN_02001C14 str r0, [r5, #0x48] add sp, #0x24 pop {r4-r7, pc} nop _0208695C: .word 0x0000013F thumb_func_start FUN_02086960 FUN_02086960: ; 0x02086960 push {r4, lr} add r4, r0, #0x0 add r0, #0x28 mov r1, #0x1 bl FUN_0200CCF8 add r0, r4, #0x0 add r0, #0x28 bl FUN_02019570 add r0, r4, #0x0 add r0, #0x28 bl FUN_02019178 ldr r0, [r4, #0x48] mov r1, #0x0 bl FUN_02001C5C ldr r0, [r4, #0x44] bl FUN_02012870 pop {r4, pc} thumb_func_start FUN_0208698C FUN_0208698C: ; 0x0208698C push {r4, lr} add r4, r0, #0x0 bl FUN_02019570 add r0, r4, #0x0 bl FUN_02019178 pop {r4, pc} thumb_func_start FUN_0208699C FUN_0208699C: ; 0x0208699C push {r3-r5, lr} sub sp, #0x10 add r4, r1, #0x0 mov r1, #0x0 add r5, r0, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] mov r0, #0x47 str r0, [sp, #0xc] mov r0, #0x76 add r2, r5, #0x0 mov r3, #0x3 bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] mov r1, #0x1 str r1, [sp, #0x8] mov r0, #0x47 str r0, [sp, #0xc] mov r0, #0x76 add r2, r5, #0x0 mov r3, #0x3 bl FUN_020068C8 mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0x40 str r0, [sp, #0x4] str r1, [sp, #0x8] add r0, r4, #0x0 mov r1, #0x76 mov r2, #0x8 mov r3, #0x47 bl FUN_020030E8 add sp, #0x10 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020869F0 FUN_020869F0: ; 0x020869F0 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] mov r0, #0x47 add r4, r1, #0x0 str r0, [sp, #0xc] mov r0, #0xc mov r1, #0xa add r2, r5, #0x0 mov r3, #0x4 bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] mov r0, #0x47 str r0, [sp, #0xc] mov r0, #0xc mov r1, #0xb add r2, r5, #0x0 mov r3, #0x4 bl FUN_020068C8 mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] mov r0, #0x0 mov r1, #0xc str r0, [sp, #0x8] add r0, r4, #0x0 add r2, r1, #0x0 mov r3, #0x47 bl FUN_020030E8 add sp, #0x10 pop {r3-r5, pc} thumb_func_start FUN_02086A48 FUN_02086A48: ; 0x02086A48 push {r4, lr} ldr r3, _02086A60 ; =0x021064B8 mov r2, #0x0 ldr r3, [r3, #0x0] blx r3 add r4, r0, #0x0 bl FUN_0201327C lsl r0, r4, #0x10 lsr r0, r0, #0xd pop {r4, pc} nop _02086A60: .word 0x021064B8 thumb_func_start FUN_02086A64 FUN_02086A64: ; 0x02086A64 push {r4, lr} ldr r3, _02086A7C ; =0x021064C0 mov r2, #0x0 ldr r3, [r3, #0x0] blx r3 add r4, r0, #0x0 bl FUN_020132BC lsl r0, r4, #0x10 lsr r0, r0, #0xd pop {r4, pc} nop _02086A7C: .word 0x021064C0 thumb_func_start FUN_02086A80 FUN_02086A80: ; 0x02086A80 push {r4, lr} sub sp, #0x8 mov r1, #0x12 lsl r1, r1, #0xa add r4, r0, #0x0 bl FUN_02016998 add r2, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] mov r3, #0x12 ldr r0, _02086AC0 ; =FUN_02086A48 ldr r1, _02086AC4 ; =FUN_02086A64 lsl r3, r3, #0xa str r4, [sp, #0x4] bl FUN_02012CDC add r4, r0, #0x0 bl FUN_0201343C add r2, r0, #0x0 beq _02086AB8 mov r0, #0x1 mov r1, #0xe1 lsl r0, r0, #0xc lsl r1, r1, #0xe bl FUN_0201EC94 _02086AB8: add r0, r4, #0x0 add sp, #0x8 pop {r4, pc} nop _02086AC0: .word FUN_02086A48 _02086AC4: .word FUN_02086A64 thumb_func_start FUN_02086AC8 FUN_02086AC8: ; 0x02086AC8 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 bl FUN_02086A80 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r7, #0x0 add r2, r5, #0x0 bl FUN_0201318C add r1, r0, #0x0 add r0, r4, #0x0 mov r2, #0xa mov r3, #0x1 bl FUN_02013194 add r0, r4, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02086AF0 FUN_02086AF0: ; 0x02086AF0 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_020133E8 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02012DE4 add r0, r4, #0x0 bl FUN_02016A18 pop {r3-r5, pc} thumb_func_start FUN_02086B08 FUN_02086B08: ; 0x02086B08 push {r3} sub sp, #0xc add r2, sp, #0x0 mov r1, #0x0 str r1, [r2, #0x0] str r1, [r2, #0x4] str r1, [r2, #0x8] ldr r1, [r0, #0x20] ldr r2, [sp, #0x0] ldr r1, [r1, #0x0] ldr r1, [r1, #0x4] add r1, r2, r1 str r1, [r0, #0x28] ldr r1, [r0, #0x20] ldr r2, [sp, #0x4] ldr r1, [r1, #0x0] ldr r1, [r1, #0x8] add r1, r2, r1 str r1, [r0, #0x2c] ldr r1, [r0, #0x20] ldr r2, [sp, #0x8] ldr r1, [r1, #0x0] ldr r1, [r1, #0xc] add r1, r2, r1 str r1, [r0, #0x30] add sp, #0xc pop {r3} bx lr thumb_func_start FUN_02086B40 FUN_02086B40: ; 0x02086B40 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x10 bl FUN_02016998 add r4, r0, #0x0 bne _02086B54 bl ErrorHandling _02086B54: ldr r0, [r5, #0x0] ldr r2, [r5, #0x4] mov r1, #0x77 str r0, [r4, #0x0] str r2, [r4, #0x4] ldr r0, [r4, #0x0] bl FUN_02086AC8 mov r1, #0x1 str r0, [r4, #0xc] bl FUN_02013440 add r0, r4, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02086B70 FUN_02086B70: ; 0x02086B70 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] ldr r2, _02086B88 ; =FUN_02086B08 add r3, r4, #0x0 bl FUN_020133AC ldr r0, [r4, #0xc] mov r1, #0x1 bl FUN_02013440 pop {r4, pc} .balign 4 _02086B88: .word FUN_02086B08 thumb_func_start FUN_02086B8C FUN_02086B8C: ; 0x02086B8C push {r3, lr} ldr r0, [r0, #0xc] bl FUN_020133C8 cmp r0, #0x0 beq _02086B9C mov r0, #0x1 pop {r3, pc} _02086B9C: mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_02086BA0 FUN_02086BA0: ; 0x02086BA0 ldr r3, _02086BA4 ; =FUN_02016A18 bx r3 .balign 4 _02086BA4: .word FUN_02016A18 thumb_func_start FUN_02086BA8 FUN_02086BA8: ; 0x02086BA8 push {r4-r6, lr} sub sp, #0x38 ldr r3, _02086C8C ; =0x020FCE9C add r2, sp, #0x18 add r6, r0, #0x0 ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r5, [r6, #0x4c] ldr r4, [r6, #0x50] ldr r6, [r6, #0x8] mov r0, #0x1 str r0, [sp, #0x0] str r0, [sp, #0x4] ldr r0, _02086C90 ; =0x00004E20 add r1, r5, #0x0 str r0, [sp, #0x8] ldr r3, [sp, #0x18] add r0, r4, #0x0 mov r2, #0x76 bl FUN_0200C00C mov r0, #0x76 str r0, [sp, #0x0] ldr r0, [sp, #0x1c] mov r1, #0x2 str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] mov r0, #0x1 str r0, [sp, #0xc] str r0, [sp, #0x10] ldr r0, _02086C94 ; =0x00004E21 add r2, r4, #0x0 str r0, [sp, #0x14] add r0, r6, #0x0 add r3, r5, #0x0 bl FUN_0200C0DC mov r0, #0x1 str r0, [sp, #0x0] ldr r0, _02086C98 ; =0x00004E22 add r1, r5, #0x0 str r0, [sp, #0x4] ldr r3, [sp, #0x20] add r0, r4, #0x0 mov r2, #0x76 bl FUN_0200C124 mov r0, #0x1 str r0, [sp, #0x0] ldr r0, _02086C9C ; =0x00004E23 add r1, r5, #0x0 str r0, [sp, #0x4] ldr r3, [sp, #0x24] add r0, r4, #0x0 mov r2, #0x76 bl FUN_0200C13C mov r0, #0x1 str r0, [sp, #0x0] str r0, [sp, #0x4] ldr r0, _02086CA0 ; =0x000061A8 add r1, r5, #0x0 str r0, [sp, #0x8] add r0, r4, #0x0 mov r2, #0x76 mov r3, #0x7 bl FUN_0200C00C mov r0, #0x76 str r0, [sp, #0x0] mov r0, #0xa str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] mov r0, #0x1 str r0, [sp, #0xc] str r0, [sp, #0x10] ldr r0, _02086CA4 ; =0x000061A9 mov r1, #0x2 str r0, [sp, #0x14] add r0, r6, #0x0 add r2, r4, #0x0 add r3, r5, #0x0 bl FUN_0200C0DC mov r0, #0x1 str r0, [sp, #0x0] ldr r0, _02086CA8 ; =0x000061AA add r1, r5, #0x0 str r0, [sp, #0x4] add r0, r4, #0x0 mov r2, #0x76 mov r3, #0x6 bl FUN_0200C124 mov r0, #0x1 str r0, [sp, #0x0] ldr r0, _02086CAC ; =0x000061AB add r1, r5, #0x0 str r0, [sp, #0x4] add r0, r4, #0x0 mov r2, #0x76 mov r3, #0x5 bl FUN_0200C13C add sp, #0x38 pop {r4-r6, pc} .balign 4 _02086C8C: .word 0x020FCE9C _02086C90: .word 0x00004E20 _02086C94: .word 0x00004E21 _02086C98: .word 0x00004E22 _02086C9C: .word 0x00004E23 _02086CA0: .word 0x000061A8 _02086CA4: .word 0x000061A9 _02086CA8: .word 0x000061AA _02086CAC: .word 0x000061AB thumb_func_start FUN_02086CB0 FUN_02086CB0: ; 0x02086CB0 push {r3-r4, lr} sub sp, #0x34 add r4, r0, #0x0 mov r1, #0x80 add r0, sp, #0x0 strh r1, [r0, #0x0] mov r1, #0x78 strh r1, [r0, #0x2] mov r1, #0x0 strh r1, [r0, #0x4] strh r1, [r0, #0x6] mov r0, #0x1 mov r2, #0x2 str r1, [sp, #0x8] str r1, [sp, #0xc] str r1, [sp, #0x30] ldr r1, _02086D4C ; =0x00004E20 str r0, [sp, #0x10] add r0, r1, #0x1 str r0, [sp, #0x18] add r0, r1, #0x2 str r0, [sp, #0x1c] add r0, r1, #0x3 str r0, [sp, #0x20] sub r0, r2, #0x3 str r2, [sp, #0x2c] str r1, [sp, #0x14] str r0, [sp, #0x24] str r0, [sp, #0x28] ldr r0, [r4, #0x50] ldr r1, [r4, #0x4c] add r2, sp, #0x0 bl FUN_0200C154 str r0, [r4, #0x6c] bl FUN_0200C5A8 ldr r0, [r4, #0x6c] mov r1, #0x2 bl FUN_0200C840 mov r2, #0x0 add r0, sp, #0x0 add r1, r2, #0x0 strh r2, [r0, #0x0] sub r1, #0x10 strh r1, [r0, #0x2] ldr r1, _02086D50 ; =0x000061A8 str r2, [sp, #0x2c] add r0, r1, #0x1 str r0, [sp, #0x18] add r0, r1, #0x2 str r0, [sp, #0x1c] add r0, r1, #0x3 str r1, [sp, #0x14] str r0, [sp, #0x20] ldr r0, [r4, #0x50] ldr r1, [r4, #0x4c] add r2, sp, #0x0 bl FUN_0200C154 str r0, [r4, #0x70] bl FUN_0200C5A8 mov r1, #0x90 add r0, sp, #0x0 strh r1, [r0, #0x2] ldr r0, [r4, #0x50] ldr r1, [r4, #0x4c] add r2, sp, #0x0 bl FUN_0200C154 str r0, [r4, #0x74] bl FUN_0200C5A8 add sp, #0x34 pop {r3-r4, pc} nop _02086D4C: .word 0x00004E20 _02086D50: .word 0x000061A8 thumb_func_start FUN_02086D54 FUN_02086D54: ; 0x02086D54 push {r3-r7, lr} add r6, r0, #0x0 add r7, r1, #0x0 add r4, r6, #0x0 ldr r1, [r6, #0x78] add r4, #0x78 cmp r1, #0x0 bne _02086DE6 ldr r0, [r4, #0x4] cmp r0, #0xa blt _02086D74 add r0, r1, #0x1 str r0, [r4, #0x0] mov r0, #0x0 str r0, [r4, #0x4] b _02086DE6 _02086D74: mov r1, #0x14 add r3, r7, #0x0 mul r3, r1 ldr r1, _02086DF4 ; =0x020FCEE4 lsl r2, r0, #0x1 add r1, r1, r3 ldrsh r1, [r2, r1] lsl r0, r0, #0x2 mov r5, #0x0 mov r12, r1 ldr r1, _02086DF8 ; =0x020FCF34 add r1, r1, r3 ldrsh r2, [r2, r1] mov r1, #0x28 add r3, r7, #0x0 mul r3, r1 ldr r1, _02086DFC ; =0x020FCFD8 add r1, r1, r3 ldr r7, [r0, r1] ldr r1, _02086E00 ; =0x020FD078 add r1, r1, r3 ldr r0, [r0, r1] str r0, [sp, #0x0] mov r0, r12 cmp r0, #0xff bne _02086DAC mov r12, r5 add r5, r5, #0x1 _02086DAC: cmp r2, #0xff bne _02086DB4 mov r2, #0x0 add r5, r5, #0x1 _02086DB4: ldr r0, [r6, #0x6c] mov r1, r12 bl FUN_0200C82C mov r0, #0x0 add r1, r7, #0x0 blx _feq beq _02086DD2 ldr r0, [r6, #0x6c] ldr r2, [sp, #0x0] add r1, r7, #0x0 bl FUN_0200C884 b _02086DD4 _02086DD2: add r5, r5, #0x1 _02086DD4: cmp r5, #0x3 beq _02086DE0 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] b _02086DEE _02086DE0: ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] _02086DE6: mov r0, #0x0 str r0, [r4, #0x0] str r0, [r4, #0x4] pop {r3-r7, pc} _02086DEE: mov r0, #0x1 pop {r3-r7, pc} nop _02086DF4: .word 0x020FCEE4 _02086DF8: .word 0x020FCF34 _02086DFC: .word 0x020FCFD8 _02086E00: .word 0x020FD078 thumb_func_start FUN_02086E04 FUN_02086E04: ; 0x02086E04 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02086D54 cmp r0, #0x0 bne _02086E16 mov r0, #0x2 pop {r3-r5, pc} _02086E16: cmp r4, #0x4 ldr r0, [r5, #0x7c] bne _02086E24 cmp r0, #0x6 bne _02086E2C mov r0, #0x1 pop {r3-r5, pc} _02086E24: cmp r0, #0x6 bne _02086E2C mov r0, #0x1 pop {r3-r5, pc} _02086E2C: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_02086E30 FUN_02086E30: ; 0x02086E30 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x6c] bl FUN_0200C3DC ldr r0, [r4, #0x70] bl FUN_0200C3DC ldr r0, [r4, #0x74] bl FUN_0200C3DC pop {r4, pc} thumb_func_start FUN_02086E48 FUN_02086E48: ; 0x02086E48 push {r3-r6, lr} sub sp, #0x4c add r4, r0, #0x0 mov r0, #0x47 bl FUN_0200BB14 add r2, sp, #0x2c ldr r5, _02086EC8 ; =0x020FCE7C str r0, [r4, #0x4c] ldmia r5!, {r0-r1} add r3, r2, #0x0 stmia r2!, {r0-r1} ldmia r5!, {r0-r1} stmia r2!, {r0-r1} ldmia r5!, {r0-r1} stmia r2!, {r0-r1} ldmia r5!, {r0-r1} ldr r6, _02086ECC ; =0x020FCE34 stmia r2!, {r0-r1} add r5, sp, #0x18 ldmia r6!, {r0-r1} add r2, r5, #0x0 stmia r5!, {r0-r1} ldmia r6!, {r0-r1} stmia r5!, {r0-r1} ldr r0, [r6, #0x0] add r1, r3, #0x0 str r0, [r5, #0x0] ldr r0, [r4, #0x4c] mov r3, #0x20 bl FUN_0200BB6C ldr r3, _02086ED0 ; =0x020FCE48 add r2, sp, #0x0 ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r4, #0x4c] bl FUN_0200BB34 str r0, [r4, #0x48] ldr r0, [r4, #0x4c] ldr r1, [r4, #0x48] mov r2, #0xff bl FUN_0200BBF0 cmp r0, #0x0 bne _02086EB2 bl ErrorHandling _02086EB2: ldr r0, [r4, #0x4c] ldr r1, [r4, #0x48] add r2, sp, #0x0 bl FUN_0200BF60 cmp r0, #0x0 bne _02086EC4 bl ErrorHandling _02086EC4: add sp, #0x4c pop {r3-r6, pc} .balign 4 _02086EC8: .word 0x020FCE7C _02086ECC: .word 0x020FCE34 _02086ED0: .word 0x020FCE48 thumb_func_start FUN_02086ED4 FUN_02086ED4: ; 0x02086ED4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4c] ldr r1, [r4, #0x48] bl FUN_0200C398 ldr r0, [r4, #0x4c] bl FUN_0200BD04 pop {r4, pc} thumb_func_start FUN_02086EE8 FUN_02086EE8: ; 0x02086EE8 push {r3-r7, lr} sub sp, #0x38 add r5, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x5 ldr r4, [r0, #0xc] mov r2, #0x0 add r0, r4, #0x0 bl FUN_020671BC add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x2 bl FUN_02068E14 add r7, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x10] add r0, r4, #0x0 mov r1, #0x4c add r2, sp, #0x10 bl FUN_02067830 add r0, sp, #0x28 add r1, r4, #0x0 mov r2, #0x2 bl FUN_02068B68 lsl r1, r6, #0x10 add r0, sp, #0x14 lsr r1, r1, #0x10 bl FUN_02069010 mov r1, #0x0 str r1, [sp, #0x0] add r7, #0x60 str r1, [sp, #0x4] add r0, sp, #0x14 str r0, [sp, #0x8] str r1, [sp, #0xc] ldr r0, [r5, #0x3c] add r1, sp, #0x28 mov r2, #0x80 add r3, r7, #0x0 bl FUN_020073A0 str r0, [r5, #0x68] add sp, #0x38 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02086F4C FUN_02086F4C: ; 0x02086F4C push {r3-r6, lr} sub sp, #0xc add r5, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x5 ldr r0, [r0, #0xc] mov r2, #0x0 bl FUN_020671BC add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02068854 add r6, r0, #0x0 ldr r0, [r5, #0x68] mov r1, #0x1 bl FUN_02007314 lsl r2, r4, #0x10 str r6, [sp, #0x0] mov r0, #0x0 str r0, [sp, #0x4] str r0, [sp, #0x8] ldr r0, [r5, #0x54] ldr r1, [r5, #0x68] lsr r2, r2, #0x10 mov r3, #0x2 bl FUN_02069038 add sp, #0xc pop {r3-r6, pc} thumb_func_start FUN_02086F8C FUN_02086F8C: ; 0x02086F8C ldr r3, _02086F94 ; =FUN_02007534 ldr r0, [r0, #0x68] bx r3 nop _02086F94: .word FUN_02007534 thumb_func_start FUN_02086F98 FUN_02086F98: ; 0x02086F98 ldr r3, _02086FA4 ; =FUN_02007558 add r2, r1, #0x0 ldr r0, [r0, #0x68] mov r1, #0x6 bx r3 nop _02086FA4: .word FUN_02007558 thumb_func_start FUN_02086FA8 FUN_02086FA8: ; 0x02086FA8 push {r3, lr} ldr r1, [r0, #0x58] lsl r2, r1, #0x2 ldr r1, _02086FB8 ; =0x020FD118 ldr r1, [r1, r2] blx r1 pop {r3, pc} nop _02086FB8: .word 0x020FD118 thumb_func_start FUN_02086FBC FUN_02086FBC: ; 0x02086FBC push {r3-r5, lr} sub sp, #0x20 add r4, r0, #0x0 ldr r1, [r4, #0x5c] mov r5, #0x1 cmp r1, #0x11 bls _02086FCC b _0208720E _02086FCC: add r2, r1, r1 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _02086FD8: ; jump table (using 16-bit offset) .short _02086FFC - _02086FD8 - 2; case 0 .short _0208706A - _02086FD8 - 2; case 1 .short _02087074 - _02086FD8 - 2; case 2 .short _02087092 - _02086FD8 - 2; case 3 .short _020870A2 - _02086FD8 - 2; case 4 .short _020870B2 - _02086FD8 - 2; case 5 .short _020870C2 - _02086FD8 - 2; case 6 .short _020870D2 - _02086FD8 - 2; case 7 .short _0208710E - _02086FD8 - 2; case 8 .short _02087122 - _02086FD8 - 2; case 9 .short _02087132 - _02086FD8 - 2; case 10 .short _02087158 - _02086FD8 - 2; case 11 .short _020871AA - _02086FD8 - 2; case 12 .short _020871E2 - _02086FD8 - 2; case 13 .short _020871EE - _02086FD8 - 2; case 14 .short _020871F4 - _02086FD8 - 2; case 15 .short _020871FE - _02086FD8 - 2; case 16 .short _0208720E - _02086FD8 - 2; case 17 _02086FFC: ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] bl FUN_0208699C ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] bl FUN_020869F0 ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] ldr r2, [r4, #0x14] bl FUN_020866FC mov r0, #0x13 str r0, [sp, #0x0] mov r0, #0x1b str r0, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] mov r0, #0x3b str r0, [sp, #0xc] mov r0, #0xe str r0, [sp, #0x10] add r1, r4, #0x0 ldr r0, [r4, #0x4] add r1, #0x18 add r2, r5, #0x0 mov r3, #0x2 bl FUN_02086784 add r0, r4, #0x0 bl FUN_02086BA8 add r0, r4, #0x0 bl FUN_02086CB0 add r0, r4, #0x0 bl FUN_02086EE8 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02086F98 mov r0, #0x47 str r0, [sp, #0x18] mov r0, #0x0 str r0, [sp, #0x1c] add r0, sp, #0x18 bl FUN_02086B40 str r0, [r4, #0x40] ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087232 _0208706A: bl FUN_020866BC ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] _02087074: bl FUN_0200E308 cmp r0, #0x1 bne _0208712A bl FUN_0200541C ldr r1, _02087240 ; =0x00000475 mov r0, #0xd mov r2, #0x1 bl FUN_0200433C ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087232 _02087092: bl FUN_0208749C cmp r0, #0x0 bne _0208712A ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087232 _020870A2: bl FUN_020874E4 cmp r0, #0x0 bne _0208712A ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087232 _020870B2: bl FUN_02087554 cmp r0, #0x0 bne _0208712A ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087232 _020870C2: bl FUN_020875AC cmp r0, #0x0 bne _0208712A ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087232 _020870D2: bl FUN_02087610 cmp r0, #0x0 bne _0208712A add r0, r4, #0x0 bl FUN_02086F4C ldr r0, [r4, #0x0] mov r1, #0x5 ldr r0, [r0, #0xc] mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_02005578 ldr r2, [r4, #0x0] add r0, r4, #0x0 ldr r2, [r2, #0xc] ldr r3, [r4, #0x10] add r0, #0x18 mov r1, #0x0 bl FUN_020867EC str r0, [r4, #0xc] ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087232 _0208710E: bl FUN_02005670 cmp r0, #0x0 bne _0208712A ldr r0, _02087244 ; =0x00000484 bl FUN_02005C28 ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] _02087122: bl FUN_02005CBC cmp r0, #0x0 beq _0208712C _0208712A: b _02087232 _0208712C: ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] _02087132: ldr r0, [r4, #0xc] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0201BD70 cmp r0, #0x0 bne _02087232 ldr r2, [r4, #0x0] add r0, r4, #0x0 ldr r2, [r2, #0xc] ldr r3, [r4, #0x10] add r0, #0x18 mov r1, #0x1 bl FUN_020867EC str r0, [r4, #0xc] ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] _02087158: ldr r0, [r4, #0xc] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0201BD70 cmp r0, #0x0 bne _02087232 ldr r0, [r4, #0x54] mov r1, #0x0 bl FUN_02014D7C cmp r0, #0x1 bne _02087232 ldr r0, [r4, #0x68] bl FUN_02007390 cmp r0, #0x0 bne _02087232 mov r0, #0x19 str r0, [sp, #0x0] mov r0, #0xd str r0, [sp, #0x4] mov r0, #0x6 str r0, [sp, #0x8] mov r0, #0x4 str r0, [sp, #0xc] mov r0, #0xa7 str r0, [sp, #0x10] mov r0, #0xe str r0, [sp, #0x14] add r2, r4, #0x0 ldr r1, [r4, #0x4] add r0, r4, #0x0 add r2, #0x28 mov r3, #0x1 bl FUN_02086878 ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087232 _020871AA: ldr r0, [r4, #0x48] bl FUN_02001C78 sub r1, r5, #0x3 cmp r0, r1 beq _020871BE add r1, r1, #0x1 cmp r0, r1 beq _02087232 b _020871CC _020871BE: ldr r0, [r4, #0x0] mov r1, #0x0 str r1, [r0, #0x4] ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087232 _020871CC: cmp r0, #0x0 bne _020871D4 add r1, r5, #0x0 b _020871D6 _020871D4: mov r1, #0x0 _020871D6: ldr r0, [r4, #0x0] str r1, [r0, #0x4] ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087232 _020871E2: bl FUN_02086960 ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087232 _020871EE: add r0, r1, #0x1 str r0, [r4, #0x5c] b _02087232 _020871F4: bl FUN_020866DC ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] _020871FE: bl FUN_0200E308 cmp r0, #0x1 bne _02087232 ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087232 _0208720E: add r0, r4, #0x0 bl FUN_02086F8C add r0, r4, #0x0 bl FUN_02086E30 add r0, r4, #0x0 add r0, #0x18 bl FUN_0208698C ldr r0, [r4, #0x40] ldr r0, [r0, #0xc] bl FUN_02086AF0 ldr r0, [r4, #0x40] bl FUN_02086BA0 mov r5, #0x0 _02087232: ldr r0, [r4, #0x4c] bl FUN_0200BC1C add r0, r5, #0x0 add sp, #0x20 pop {r3-r5, pc} nop _02087240: .word 0x00000475 _02087244: .word 0x00000484 thumb_func_start FUN_02087248 FUN_02087248: ; 0x02087248 push {r3-r5, lr} sub sp, #0x20 add r4, r0, #0x0 ldr r1, [r4, #0x5c] mov r5, #0x1 cmp r1, #0x11 bls _02087258 b _02087462 _02087258: add r2, r1, r1 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _02087264: ; jump table (using 16-bit offset) .short _02087288 - _02087264 - 2; case 0 .short _020872FE - _02087264 - 2; case 1 .short _02087308 - _02087264 - 2; case 2 .short _02087322 - _02087264 - 2; case 3 .short _0208735C - _02087264 - 2; case 4 .short _0208735C - _02087264 - 2; case 5 .short _0208735C - _02087264 - 2; case 6 .short _0208735C - _02087264 - 2; case 7 .short _02087362 - _02087264 - 2; case 8 .short _02087376 - _02087264 - 2; case 9 .short _02087386 - _02087264 - 2; case 10 .short _020873AC - _02087264 - 2; case 11 .short _020873FE - _02087264 - 2; case 12 .short _02087436 - _02087264 - 2; case 13 .short _02087442 - _02087264 - 2; case 14 .short _02087448 - _02087264 - 2; case 15 .short _02087452 - _02087264 - 2; case 16 .short _02087462 - _02087264 - 2; case 17 _02087288: ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] bl FUN_0208699C ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] bl FUN_020869F0 ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] ldr r2, [r4, #0x14] bl FUN_020866FC mov r0, #0x13 str r0, [sp, #0x0] mov r0, #0x1b str r0, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] mov r0, #0x3b str r0, [sp, #0xc] mov r0, #0xe str r0, [sp, #0x10] add r1, r4, #0x0 ldr r0, [r4, #0x4] add r1, #0x18 add r2, r5, #0x0 mov r3, #0x2 bl FUN_02086784 add r0, r4, #0x0 bl FUN_02086BA8 add r0, r4, #0x0 bl FUN_02086CB0 ldr r0, [r4, #0x6c] mov r1, #0x0 bl FUN_0200C644 add r0, r4, #0x0 bl FUN_02086EE8 add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02086F98 mov r0, #0x47 str r0, [sp, #0x18] add r0, r5, #0x0 str r0, [sp, #0x1c] add r0, sp, #0x18 bl FUN_02086B40 str r0, [r4, #0x40] ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087486 _020872FE: bl FUN_020866BC ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] _02087308: bl FUN_0200E308 cmp r0, #0x1 bne _0208737E ldr r1, _02087494 ; =0x00000475 mov r0, #0xd mov r2, #0x1 bl FUN_0200433C ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087486 _02087322: bl FUN_02087820 cmp r0, #0x0 bne _0208737E add r0, r4, #0x0 bl FUN_02086F4C ldr r0, [r4, #0x0] mov r1, #0x5 ldr r0, [r0, #0xc] mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_02005578 ldr r2, [r4, #0x0] add r0, r4, #0x0 ldr r2, [r2, #0xc] ldr r3, [r4, #0x10] add r0, #0x18 mov r1, #0x0 bl FUN_020867EC str r0, [r4, #0xc] mov r0, #0x8 str r0, [r4, #0x5c] b _02087486 _0208735C: bl ErrorHandling b _02087486 _02087362: bl FUN_02005670 cmp r0, #0x0 bne _0208737E ldr r0, _02087498 ; =0x00000484 bl FUN_02005C28 ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] _02087376: bl FUN_02005CBC cmp r0, #0x0 beq _02087380 _0208737E: b _02087486 _02087380: ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] _02087386: ldr r0, [r4, #0xc] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0201BD70 cmp r0, #0x0 bne _02087486 ldr r2, [r4, #0x0] add r0, r4, #0x0 ldr r2, [r2, #0xc] ldr r3, [r4, #0x10] add r0, #0x18 mov r1, #0x1 bl FUN_020867EC str r0, [r4, #0xc] ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] _020873AC: ldr r0, [r4, #0xc] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0201BD70 cmp r0, #0x0 bne _02087486 ldr r0, [r4, #0x54] mov r1, #0x0 bl FUN_02014D7C cmp r0, #0x1 bne _02087486 ldr r0, [r4, #0x68] bl FUN_02007390 cmp r0, #0x0 bne _02087486 mov r0, #0x19 str r0, [sp, #0x0] mov r0, #0xd str r0, [sp, #0x4] mov r0, #0x6 str r0, [sp, #0x8] mov r0, #0x4 str r0, [sp, #0xc] mov r0, #0xa7 str r0, [sp, #0x10] mov r0, #0xe str r0, [sp, #0x14] add r2, r4, #0x0 ldr r1, [r4, #0x4] add r0, r4, #0x0 add r2, #0x28 mov r3, #0x1 bl FUN_02086878 ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087486 _020873FE: ldr r0, [r4, #0x48] bl FUN_02001C78 sub r1, r5, #0x3 cmp r0, r1 beq _02087412 add r1, r1, #0x1 cmp r0, r1 beq _02087486 b _02087420 _02087412: ldr r0, [r4, #0x0] mov r1, #0x0 str r1, [r0, #0x4] ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087486 _02087420: cmp r0, #0x0 bne _02087428 add r1, r5, #0x0 b _0208742A _02087428: mov r1, #0x0 _0208742A: ldr r0, [r4, #0x0] str r1, [r0, #0x4] ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087486 _02087436: bl FUN_02086960 ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087486 _02087442: add r0, r1, #0x1 str r0, [r4, #0x5c] b _02087486 _02087448: bl FUN_020866DC ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] _02087452: bl FUN_0200E308 cmp r0, #0x1 bne _02087486 ldr r0, [r4, #0x5c] add r0, r0, #0x1 str r0, [r4, #0x5c] b _02087486 _02087462: add r0, r4, #0x0 bl FUN_02086F8C add r0, r4, #0x0 bl FUN_02086E30 add r0, r4, #0x0 add r0, #0x18 bl FUN_0208698C ldr r0, [r4, #0x40] ldr r0, [r0, #0xc] bl FUN_02086AF0 ldr r0, [r4, #0x40] bl FUN_02086BA0 mov r5, #0x0 _02087486: ldr r0, [r4, #0x4c] bl FUN_0200BC1C add r0, r5, #0x0 add sp, #0x20 pop {r3-r5, pc} nop _02087494: .word 0x00000475 _02087498: .word 0x00000484 thumb_func_start FUN_0208749C FUN_0208749C: ; 0x0208749C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x64] cmp r0, #0x0 beq _020874AC cmp r0, #0x1 beq _020874BC b _020874D4 _020874AC: ldr r0, [r4, #0x6c] mov r1, #0x0 bl FUN_0200C61C ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _020874DC _020874BC: ldr r0, [r4, #0x60] add r0, r0, #0x1 str r0, [r4, #0x60] cmp r0, #0x19 blt _020874DC ldr r0, _020874E0 ; =0x00000714 bl FUN_020054C8 ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _020874DC _020874D4: mov r0, #0x0 str r0, [r4, #0x64] str r0, [r4, #0x60] pop {r4, pc} _020874DC: mov r0, #0x1 pop {r4, pc} .balign 4 _020874E0: .word 0x00000714 thumb_func_start FUN_020874E4 FUN_020874E4: ; 0x020874E4 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x64] cmp r1, #0x0 beq _020874F4 cmp r1, #0x1 beq _0208750E b _02087532 _020874F4: ldr r0, [r4, #0x40] bl FUN_02086B8C cmp r0, #0x1 beq _0208754C ldr r0, [r4, #0x6c] mov r1, #0x1 bl FUN_0200C61C ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _0208754C _0208750E: mov r1, #0x0 bl FUN_02086E04 cmp r0, #0x2 bne _0208754C ldr r0, _02087550 ; =0x00000714 bl FUN_020054C8 ldr r0, [r4, #0x6c] mov r1, #0x2 bl FUN_0200C61C ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] mov r0, #0x0 str r0, [r4, #0x60] b _0208754C _02087532: mov r1, #0x0 bl FUN_02086E04 cmp r0, #0x2 bne _0208754C ldr r0, [r4, #0x6c] mov r1, #0x2 bl FUN_0200C61C mov r0, #0x0 str r0, [r4, #0x64] str r0, [r4, #0x60] pop {r4, pc} _0208754C: mov r0, #0x1 pop {r4, pc} .balign 4 _02087550: .word 0x00000714 thumb_func_start FUN_02087554 FUN_02087554: ; 0x02087554 push {r3-r5, lr} add r4, r0, #0x0 ldr r1, [r4, #0x64] cmp r1, #0x0 beq _02087564 cmp r1, #0x1 beq _0208756A b _0208759C _02087564: add r0, r1, #0x1 str r0, [r4, #0x64] b _020875A4 _0208756A: mov r1, #0x1 bl FUN_02086E04 add r5, r0, #0x0 cmp r5, #0x1 bne _0208758C ldr r0, _020875A8 ; =0x00000714 bl FUN_020054C8 ldr r0, [r4, #0x6c] mov r1, #0x3 bl FUN_0200C61C ldr r0, [r4, #0x40] mov r1, #0x0 bl FUN_02086B70 _0208758C: cmp r5, #0x2 bne _020875A4 mov r0, #0x0 str r0, [r4, #0x60] ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _020875A4 _0208759C: mov r0, #0x0 str r0, [r4, #0x64] str r0, [r4, #0x60] pop {r3-r5, pc} _020875A4: mov r0, #0x1 pop {r3-r5, pc} .balign 4 _020875A8: .word 0x00000714 thumb_func_start FUN_020875AC FUN_020875AC: ; 0x020875AC push {r3-r5, lr} add r4, r0, #0x0 ldr r1, [r4, #0x64] cmp r1, #0x0 beq _020875BC cmp r1, #0x1 beq _020875CE b _02087600 _020875BC: ldr r0, [r4, #0x40] bl FUN_02086B8C cmp r0, #0x1 beq _02087608 ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _02087608 _020875CE: mov r1, #0x2 bl FUN_02086E04 add r5, r0, #0x0 cmp r5, #0x1 bne _020875F0 ldr r0, _0208760C ; =0x00000714 bl FUN_020054C8 ldr r0, [r4, #0x6c] mov r1, #0x4 bl FUN_0200C61C ldr r0, [r4, #0x40] mov r1, #0x1 bl FUN_02086B70 _020875F0: cmp r5, #0x2 bne _02087608 mov r0, #0x0 str r0, [r4, #0x60] ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _02087608 _02087600: mov r0, #0x0 str r0, [r4, #0x64] str r0, [r4, #0x60] pop {r3-r5, pc} _02087608: mov r0, #0x1 pop {r3-r5, pc} .balign 4 _0208760C: .word 0x00000714 thumb_func_start FUN_02087610 FUN_02087610: ; 0x02087610 push {r4-r6, lr} sub sp, #0x10 add r4, r0, #0x0 ldr r1, [r4, #0x64] cmp r1, #0x5 bls _0208761E b _020877FC _0208761E: add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0208762A: ; jump table (using 16-bit offset) .short _02087636 - _0208762A - 2; case 0 .short _02087658 - _0208762A - 2; case 1 .short _0208769A - _0208762A - 2; case 2 .short _02087702 - _0208762A - 2; case 3 .short _02087794 - _0208762A - 2; case 4 .short _020877E0 - _0208762A - 2; case 5 _02087636: ldr r0, [r4, #0x40] bl FUN_02086B8C cmp r0, #0x1 beq _020876A4 ldr r0, [r4, #0x6c] mov r1, #0x4 bl FUN_0200C61C mov r0, #0x2 mov r1, #0x0 bl FUN_0201E6E4 ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _02087810 _02087658: mov r1, #0x3 bl FUN_02086E04 add r5, r0, #0x0 cmp r5, #0x1 bne _02087682 ldr r0, [r4, #0x6c] mov r1, #0x5 bl FUN_0200C61C ldr r0, _02087818 ; =0x00000707 bl FUN_020054C8 ldr r0, [r4, #0x40] mov r1, #0x2 bl FUN_02086B70 ldr r0, [r4, #0x40] mov r1, #0x3 bl FUN_02086B70 _02087682: cmp r5, #0x2 bne _020876A4 ldr r0, [r4, #0x6c] mov r1, #0x0 bl FUN_0200C644 mov r0, #0x0 str r0, [r4, #0x60] ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _02087810 _0208769A: ldr r0, [r4, #0x60] add r0, r0, #0x1 str r0, [r4, #0x60] cmp r0, #0xa bge _020876A6 _020876A4: b _02087810 _020876A6: mov r3, #0x0 str r3, [r4, #0x60] str r3, [sp, #0x0] mov r0, #0x10 ldr r2, _0208781C ; =0x0000FFFF str r0, [sp, #0x4] str r2, [sp, #0x8] ldr r0, [r4, #0x8] mov r1, #0x1 bl FUN_02003210 ldr r0, [r4, #0x70] ldr r0, [r0, #0x0] bl FUN_02020354 mov r1, #0x1 bl FUN_0201E28C add r5, r0, #0x0 mov r3, #0x0 mov r6, #0x1 str r3, [sp, #0x0] mov r0, #0x10 ldr r2, _0208781C ; =0x0000FFFF str r0, [sp, #0x4] str r2, [sp, #0x8] lsl r6, r5 eor r2, r6 lsl r2, r2, #0x10 ldr r0, [r4, #0x8] mov r1, #0x4 lsr r2, r2, #0x10 bl FUN_02003210 ldr r0, _0208781C ; =0x0000FFFF mov r1, #0x0 str r0, [sp, #0x0] ldr r0, [r4, #0x68] mov r2, #0x10 add r3, r1, #0x0 bl FUN_02007E68 ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _02087810 _02087702: add r1, sp, #0xc ldr r0, [r4, #0x70] mov r5, #0x0 add r1, #0x2 add r2, sp, #0xc bl FUN_0200C7A0 add r0, sp, #0xc add r1, r5, #0x0 ldrsh r2, [r0, r1] add r0, r1, #0x0 sub r0, #0x30 cmp r2, r0 ble _02087728 ldr r0, [r4, #0x70] sub r2, r1, #0x4 bl FUN_0200C82C b _0208772A _02087728: add r5, r5, #0x1 _0208772A: add r1, sp, #0xc ldr r0, [r4, #0x74] add r1, #0x2 add r2, sp, #0xc bl FUN_0200C7A0 add r0, sp, #0xc mov r1, #0x0 ldrsh r0, [r0, r1] cmp r0, #0xc0 bge _0208774A ldr r0, [r4, #0x74] mov r2, #0x4 bl FUN_0200C82C b _0208774C _0208774A: add r5, r5, #0x1 _0208774C: ldr r0, [r4, #0x8] bl FUN_020038E4 cmp r0, #0x0 bne _02087810 cmp r5, #0x2 bne _02087810 ldr r0, [r4, #0x68] bl FUN_02007F20 cmp r0, #0x0 bne _02087810 mov r0, #0x2 mov r1, #0x1 bl FUN_0201E6E4 add r0, r4, #0x0 mov r1, #0x0 bl FUN_02086F98 ldr r0, [r4, #0x6c] mov r1, #0x0 bl FUN_0200C644 ldr r0, [r4, #0x70] mov r1, #0x0 bl FUN_0200C644 ldr r0, [r4, #0x74] mov r1, #0x0 bl FUN_0200C644 ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _02087810 _02087794: ldr r0, [r4, #0x60] add r0, r0, #0x1 str r0, [r4, #0x60] cmp r0, #0x19 blt _02087810 mov r2, #0x0 ldr r0, _0208781C ; =0x0000FFFF str r2, [r4, #0x60] str r0, [sp, #0x0] ldr r0, [r4, #0x68] mov r1, #0x10 add r3, r2, #0x0 bl FUN_02007E68 mov r0, #0x10 str r0, [sp, #0x0] mov r3, #0x0 ldr r2, _0208781C ; =0x0000FFFF str r3, [sp, #0x4] str r2, [sp, #0x8] ldr r0, [r4, #0x8] mov r1, #0x1 bl FUN_02003210 mov r0, #0x10 str r0, [sp, #0x0] mov r3, #0x0 ldr r2, _0208781C ; =0x0000FFFF str r3, [sp, #0x4] str r2, [sp, #0x8] ldr r0, [r4, #0x8] mov r1, #0x4 bl FUN_02003210 ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _02087810 _020877E0: ldr r0, [r4, #0x8] bl FUN_020038E4 cmp r0, #0x0 bne _02087810 ldr r0, [r4, #0x68] bl FUN_02007F20 cmp r0, #0x0 bne _02087810 ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _02087810 _020877FC: ldr r0, [r4, #0x40] bl FUN_02086B8C cmp r0, #0x1 beq _02087810 mov r0, #0x0 str r0, [r4, #0x64] add sp, #0x10 str r0, [r4, #0x60] pop {r4-r6, pc} _02087810: mov r0, #0x1 add sp, #0x10 pop {r4-r6, pc} nop _02087818: .word 0x00000707 _0208781C: .word 0x0000FFFF thumb_func_start FUN_02087820 FUN_02087820: ; 0x02087820 push {r4-r6, lr} sub sp, #0x10 add r4, r0, #0x0 ldr r0, [r4, #0x64] cmp r0, #0x4 bls _0208782E b _020879FC _0208782E: add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0208783A: ; jump table (using 16-bit offset) .short _02087844 - _0208783A - 2; case 0 .short _02087874 - _0208783A - 2; case 1 .short _02087902 - _0208783A - 2; case 2 .short _02087994 - _0208783A - 2; case 3 .short _020879E0 - _0208783A - 2; case 4 _02087844: ldr r0, [r4, #0x40] mov r1, #0x0 bl FUN_02086B70 ldr r0, [r4, #0x40] mov r1, #0x1 bl FUN_02086B70 ldr r0, [r4, #0x40] mov r1, #0x2 bl FUN_02086B70 ldr r0, [r4, #0x40] mov r1, #0x3 bl FUN_02086B70 mov r0, #0x2 mov r1, #0x0 bl FUN_0201E6E4 ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _02087A06 _02087874: ldr r0, [r4, #0x60] cmp r0, #0x19 beq _02087884 cmp r0, #0x50 beq _0208788C cmp r0, #0x8e beq _02087894 b _0208789A _02087884: ldr r0, _02087A0C ; =0x00000806 bl FUN_020054C8 b _0208789A _0208788C: ldr r0, _02087A10 ; =0x000007AA bl FUN_020054C8 b _0208789A _02087894: ldr r0, _02087A14 ; =0x00000815 bl FUN_020054C8 _0208789A: ldr r0, [r4, #0x60] add r0, r0, #0x1 str r0, [r4, #0x60] cmp r0, #0xa0 bge _020878A6 b _02087A06 _020878A6: mov r3, #0x0 str r3, [r4, #0x60] str r3, [sp, #0x0] mov r0, #0x10 ldr r2, _02087A18 ; =0x0000FFFF str r0, [sp, #0x4] str r2, [sp, #0x8] ldr r0, [r4, #0x8] mov r1, #0x1 bl FUN_02003210 ldr r0, [r4, #0x70] ldr r0, [r0, #0x0] bl FUN_02020354 mov r1, #0x1 bl FUN_0201E28C add r5, r0, #0x0 mov r3, #0x0 mov r6, #0x1 str r3, [sp, #0x0] mov r0, #0x10 ldr r2, _02087A18 ; =0x0000FFFF str r0, [sp, #0x4] str r2, [sp, #0x8] lsl r6, r5 eor r2, r6 lsl r2, r2, #0x10 ldr r0, [r4, #0x8] mov r1, #0x4 lsr r2, r2, #0x10 bl FUN_02003210 ldr r0, _02087A18 ; =0x0000FFFF mov r1, #0x0 str r0, [sp, #0x0] ldr r0, [r4, #0x68] mov r2, #0x10 add r3, r1, #0x0 bl FUN_02007E68 ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _02087A06 _02087902: add r1, sp, #0xc ldr r0, [r4, #0x70] mov r5, #0x0 add r1, #0x2 add r2, sp, #0xc bl FUN_0200C7A0 add r0, sp, #0xc add r1, r5, #0x0 ldrsh r2, [r0, r1] add r0, r1, #0x0 sub r0, #0x30 cmp r2, r0 ble _02087928 ldr r0, [r4, #0x70] sub r2, r1, #0x4 bl FUN_0200C82C b _0208792A _02087928: add r5, r5, #0x1 _0208792A: add r1, sp, #0xc ldr r0, [r4, #0x74] add r1, #0x2 add r2, sp, #0xc bl FUN_0200C7A0 add r0, sp, #0xc mov r1, #0x0 ldrsh r0, [r0, r1] cmp r0, #0xc0 bge _0208794A ldr r0, [r4, #0x74] mov r2, #0x4 bl FUN_0200C82C b _0208794C _0208794A: add r5, r5, #0x1 _0208794C: ldr r0, [r4, #0x8] bl FUN_020038E4 cmp r0, #0x0 bne _02087A06 cmp r5, #0x2 bne _02087A06 ldr r0, [r4, #0x68] bl FUN_02007F20 cmp r0, #0x0 bne _02087A06 add r0, r4, #0x0 mov r1, #0x0 bl FUN_02086F98 mov r0, #0x2 mov r1, #0x1 bl FUN_0201E6E4 ldr r0, [r4, #0x6c] mov r1, #0x0 bl FUN_0200C644 ldr r0, [r4, #0x70] mov r1, #0x0 bl FUN_0200C644 ldr r0, [r4, #0x74] mov r1, #0x0 bl FUN_0200C644 ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _02087A06 _02087994: ldr r0, [r4, #0x60] add r0, r0, #0x1 str r0, [r4, #0x60] cmp r0, #0x19 blt _02087A06 mov r2, #0x0 ldr r0, _02087A18 ; =0x0000FFFF str r2, [r4, #0x60] str r0, [sp, #0x0] ldr r0, [r4, #0x68] mov r1, #0x10 add r3, r2, #0x0 bl FUN_02007E68 mov r0, #0x10 str r0, [sp, #0x0] mov r3, #0x0 ldr r2, _02087A18 ; =0x0000FFFF str r3, [sp, #0x4] str r2, [sp, #0x8] ldr r0, [r4, #0x8] mov r1, #0x1 bl FUN_02003210 mov r0, #0x10 str r0, [sp, #0x0] mov r3, #0x0 ldr r2, _02087A18 ; =0x0000FFFF str r3, [sp, #0x4] str r2, [sp, #0x8] ldr r0, [r4, #0x8] mov r1, #0x4 bl FUN_02003210 ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _02087A06 _020879E0: ldr r0, [r4, #0x8] bl FUN_020038E4 cmp r0, #0x0 bne _02087A06 ldr r0, [r4, #0x68] bl FUN_02007F20 cmp r0, #0x0 bne _02087A06 ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _02087A06 _020879FC: mov r0, #0x0 str r0, [r4, #0x64] add sp, #0x10 str r0, [r4, #0x60] pop {r4-r6, pc} _02087A06: mov r0, #0x1 add sp, #0x10 pop {r4-r6, pc} .balign 4 _02087A0C: .word 0x00000806 _02087A10: .word 0x000007AA _02087A14: .word 0x00000815 _02087A18: .word 0x0000FFFF thumb_func_start FUN_02087A1C FUN_02087A1C: ; 0x02087A1C ldr r3, _02087A34 ; =0x020FD13C mov r2, #0x0 _02087A20: ldrb r1, [r3, #0x0] cmp r0, r1 beq _02087A2E add r2, r2, #0x1 add r3, r3, #0x1 cmp r2, #0x6 blt _02087A20 _02087A2E: add r0, r2, #0x0 bx lr nop _02087A34: .word 0x020FD13C thumb_func_start FUN_02087A38 FUN_02087A38: ; 0x02087A38 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x6 blt _02087A44 bl ErrorHandling _02087A44: ldr r0, _02087A4C ; =0x020FD13C ldrb r0, [r0, r4] pop {r4, pc} nop _02087A4C: .word 0x020FD13C thumb_func_start FUN_02087A50 FUN_02087A50: ; 0x02087A50 ldr r3, _02087A68 ; =0x020FD120 mov r2, #0x0 _02087A54: ldrh r1, [r3, #0x0] cmp r0, r1 beq _02087A62 add r2, r2, #0x1 add r3, r3, #0x2 cmp r2, #0xe blt _02087A54 _02087A62: add r0, r2, #0x0 bx lr nop _02087A68: .word 0x020FD120 thumb_func_start FUN_02087A6C FUN_02087A6C: ; 0x02087A6C push {r3, lr} mov r1, #0x18 bl FUN_02016998 add r3, r0, #0x0 mov r2, #0x18 mov r1, #0x0 _02087A7A: strb r1, [r3, #0x0] add r3, r3, #0x1 sub r2, r2, #0x1 bne _02087A7A pop {r3, pc} thumb_func_start FUN_02087A84 FUN_02087A84: ; 0x02087A84 push {r4, lr} add r4, r0, #0x0 bne _02087A8E bl ErrorHandling _02087A8E: add r0, r4, #0x0 bl FUN_02016A18 pop {r4, pc} .balign 4 thumb_func_start FUN_02087A98 FUN_02087A98: ; 0x02087A98 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r4, r2, #0x0 cmp r5, #0x0 bne _02087AA8 bl ErrorHandling _02087AA8: ldr r0, [r5, #0x0] cmp r0, #0x0 beq _02087AB2 bl ErrorHandling _02087AB2: ldr r0, [r5, #0x4] cmp r0, #0x0 beq _02087ABC bl ErrorHandling _02087ABC: add r0, r4, #0x0 bl FUN_02087C18 str r0, [r5, #0x0] add r0, r4, #0x0 bl FUN_02087C2C str r0, [r5, #0x4] cmp r6, #0x0 bne _02087AEE add r0, r5, #0x0 add r1, r5, #0x0 add r0, #0x8 add r1, #0xc add r2, r4, #0x0 bl FUN_02087C40 add r0, r5, #0x0 add r5, #0x14 add r0, #0x10 add r1, r5, #0x0 add r2, r4, #0x0 bl FUN_02087CA0 pop {r4-r6, pc} _02087AEE: add r0, r5, #0x0 add r1, r5, #0x0 add r0, #0x8 add r1, #0xc add r2, r4, #0x0 bl FUN_02087C70 add r0, r5, #0x0 add r5, #0x14 add r0, #0x10 add r1, r5, #0x0 add r2, r4, #0x0 bl FUN_02087CD0 pop {r4-r6, pc} thumb_func_start FUN_02087B0C FUN_02087B0C: ; 0x02087B0C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 bne _02087B1A bl ErrorHandling _02087B1A: ldr r0, [r4, #0x4] cmp r0, #0x0 bne _02087B24 bl ErrorHandling _02087B24: ldr r0, [r4, #0x0] bl FUN_02016A18 ldr r0, [r4, #0x4] bl FUN_02016A18 ldr r0, [r4, #0x8] bl FUN_02016A18 ldr r0, [r4, #0xc] bl FUN_02016A18 ldr r0, [r4, #0x10] bl FUN_02016A18 ldr r0, [r4, #0x14] bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x0] str r0, [r4, #0x4] str r0, [r4, #0x8] str r0, [r4, #0xc] str r0, [r4, #0x10] str r0, [r4, #0x14] pop {r4, pc} thumb_func_start FUN_02087B58 FUN_02087B58: ; 0x02087B58 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02087B66 bl ErrorHandling _02087B66: ldr r0, [r5, #0x0] cmp r0, #0x0 bne _02087B70 bl ErrorHandling _02087B70: ldr r1, [r5, #0x0] lsl r0, r4, #0x2 ldr r0, [r1, r0] pop {r3-r5, pc} thumb_func_start FUN_02087B78 FUN_02087B78: ; 0x02087B78 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02087B86 bl ErrorHandling _02087B86: ldr r0, [r5, #0x4] cmp r0, #0x0 bne _02087B90 bl ErrorHandling _02087B90: ldr r1, [r5, #0x4] lsl r0, r4, #0x2 ldr r0, [r1, r0] pop {r3-r5, pc} thumb_func_start FUN_02087B98 FUN_02087B98: ; 0x02087B98 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02087BA6 bl ErrorHandling _02087BA6: ldr r0, [r5, #0x8] cmp r0, #0x0 bne _02087BB0 bl ErrorHandling _02087BB0: ldr r1, [r5, #0x8] lsl r0, r4, #0x1 ldrsh r0, [r1, r0] pop {r3-r5, pc} thumb_func_start FUN_02087BB8 FUN_02087BB8: ; 0x02087BB8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02087BC6 bl ErrorHandling _02087BC6: ldr r0, [r5, #0xc] cmp r0, #0x0 bne _02087BD0 bl ErrorHandling _02087BD0: ldr r1, [r5, #0xc] lsl r0, r4, #0x1 ldrsh r0, [r1, r0] pop {r3-r5, pc} thumb_func_start FUN_02087BD8 FUN_02087BD8: ; 0x02087BD8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02087BE6 bl ErrorHandling _02087BE6: ldr r0, [r5, #0x10] cmp r0, #0x0 bne _02087BF0 bl ErrorHandling _02087BF0: ldr r1, [r5, #0x10] lsl r0, r4, #0x1 ldrsh r0, [r1, r0] pop {r3-r5, pc} thumb_func_start FUN_02087BF8 FUN_02087BF8: ; 0x02087BF8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02087C06 bl ErrorHandling _02087C06: ldr r0, [r5, #0x14] cmp r0, #0x0 bne _02087C10 bl ErrorHandling _02087C10: ldr r1, [r5, #0x14] lsl r0, r4, #0x1 ldrsh r0, [r1, r0] pop {r3-r5, pc} thumb_func_start FUN_02087C18 FUN_02087C18: ; 0x02087C18 push {r3, lr} mov r1, #0x0 add r3, r0, #0x0 mov r0, #0x4b add r2, r1, #0x0 str r1, [sp, #0x0] bl FUN_02006C98 pop {r3, pc} .balign 4 thumb_func_start FUN_02087C2C FUN_02087C2C: ; 0x02087C2C push {r3, lr} add r3, r0, #0x0 mov r2, #0x0 mov r0, #0x4b mov r1, #0x1 str r2, [sp, #0x0] bl FUN_02006C98 pop {r3, pc} .balign 4 thumb_func_start FUN_02087C40 FUN_02087C40: ; 0x02087C40 push {r3-r6, lr} sub sp, #0x4 add r6, r2, #0x0 mov r2, #0x0 add r5, r0, #0x0 add r4, r1, #0x0 str r2, [sp, #0x0] mov r0, #0x4b mov r1, #0x9 add r3, r6, #0x0 bl FUN_02006C98 str r0, [r5, #0x0] mov r2, #0x0 mov r0, #0x4b mov r1, #0xa add r3, r6, #0x0 str r2, [sp, #0x0] bl FUN_02006C98 str r0, [r4, #0x0] add sp, #0x4 pop {r3-r6, pc} .balign 4 thumb_func_start FUN_02087C70 FUN_02087C70: ; 0x02087C70 push {r3-r6, lr} sub sp, #0x4 add r6, r2, #0x0 mov r2, #0x0 add r5, r0, #0x0 add r4, r1, #0x0 str r2, [sp, #0x0] mov r0, #0x4b mov r1, #0x7 add r3, r6, #0x0 bl FUN_02006C98 str r0, [r5, #0x0] mov r2, #0x0 mov r0, #0x4b mov r1, #0x8 add r3, r6, #0x0 str r2, [sp, #0x0] bl FUN_02006C98 str r0, [r4, #0x0] add sp, #0x4 pop {r3-r6, pc} .balign 4 thumb_func_start FUN_02087CA0 FUN_02087CA0: ; 0x02087CA0 push {r3-r6, lr} sub sp, #0x4 add r6, r2, #0x0 mov r2, #0x0 add r5, r0, #0x0 add r4, r1, #0x0 str r2, [sp, #0x0] mov r0, #0x4b mov r1, #0x5 add r3, r6, #0x0 bl FUN_02006C98 str r0, [r5, #0x0] mov r2, #0x0 mov r0, #0x4b mov r1, #0x6 add r3, r6, #0x0 str r2, [sp, #0x0] bl FUN_02006C98 str r0, [r4, #0x0] add sp, #0x4 pop {r3-r6, pc} .balign 4 thumb_func_start FUN_02087CD0 FUN_02087CD0: ; 0x02087CD0 push {r3-r6, lr} sub sp, #0x4 add r6, r2, #0x0 mov r2, #0x0 add r5, r0, #0x0 add r4, r1, #0x0 str r2, [sp, #0x0] mov r0, #0x4b mov r1, #0x3 add r3, r6, #0x0 bl FUN_02006C98 str r0, [r5, #0x0] mov r2, #0x0 mov r0, #0x4b mov r1, #0x4 add r3, r6, #0x0 str r2, [sp, #0x0] bl FUN_02006C98 str r0, [r4, #0x0] add sp, #0x4 pop {r3-r6, pc} .balign 4 thumb_func_start FUN_02087D00 FUN_02087D00: ; 0x02087D00 push {r3-r7, lr} sub sp, #0x10 add r4, r0, #0x0 add r5, r1, #0x0 mov r0, #0x0 mov r1, #0xcf str r0, [sp, #0x0] add r0, r5, #0x0 lsl r1, r1, #0x2 bl FUN_02016998 mov r2, #0xcf mov r1, #0x0 lsl r2, r2, #0x2 add r7, r0, #0x0 blx MI_CpuFill8 add r0, r4, #0x0 bl FUN_02028048 str r0, [r7, #0x8] add r0, r4, #0x0 bl FUN_020238F4 str r0, [r7, #0xc] add r0, r4, #0x0 bl FUN_0206BB1C str r0, [r7, #0x10] add r0, r4, #0x0 bl FUN_0206F158 str r0, [r7, #0x14] add r0, r4, #0x0 bl LoadPlayerDataAddress str r0, [r7, #0x18] add r0, r5, #0x0 bl FUN_02027E5C add r4, r0, #0x0 mov r0, #0x1 mov r1, #0x20 add r2, r5, #0x0 bl FUN_0200AA90 str r0, [sp, #0x4] mov r6, #0x0 _02087D60: ldr r0, [r7, #0x8] add r1, r6, #0x0 add r2, r4, #0x0 bl FUN_02028174 add r0, r4, #0x0 bl FUN_02027E34 cmp r0, #0x0 beq _02087DEE add r0, r4, #0x0 add r1, sp, #0x8 bl FUN_02027FBC ldr r0, [sp, #0x0] add r1, r7, #0x0 add r1, #0x1c lsl r0, r0, #0x3 add r5, r1, r0 strb r6, [r1, r0] add r0, r4, #0x0 bl FUN_02027FDC strb r0, [r5, #0x1] add r0, sp, #0x8 ldrb r1, [r0, #0x0] mov r2, #0x1 strb r1, [r5, #0x2] ldrb r0, [r0, #0x6] mov r1, #0x0 strb r0, [r5, #0x3] add r0, sp, #0x8 _02087DA0: add r3, r0, r1 ldrb r3, [r3, #0x1] cmp r3, #0x0 beq _02087DAE ldrb r3, [r5, #0x4] orr r3, r2 strb r3, [r5, #0x4] _02087DAE: add r1, r1, #0x1 lsl r1, r1, #0x18 lsl r2, r2, #0x19 lsr r1, r1, #0x18 lsr r2, r2, #0x18 cmp r1, #0x5 blo _02087DA0 ldrb r1, [r5, #0x4] mov r0, #0x20 orr r0, r1 strb r0, [r5, #0x4] ldrb r2, [r5, #0x4] mov r1, #0x80 add r0, r2, #0x0 bic r0, r1 lsl r1, r2, #0x1a lsr r1, r1, #0x1f lsl r1, r1, #0x1f lsr r1, r1, #0x18 orr r0, r1 strb r0, [r5, #0x4] ldr r0, [sp, #0x0] add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 str r1, [sp, #0x0] strb r0, [r5, #0x5] mov r0, #0xff strb r0, [r5, #0x6] ldrb r0, [r5, #0x6] strb r0, [r5, #0x7] _02087DEE: add r0, r6, #0x1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 cmp r6, #0x64 blo _02087D60 ldr r0, [sp, #0x4] bl FUN_0200AB18 add r0, r4, #0x0 bl FUN_02016A18 ldr r0, [sp, #0x0] strb r0, [r7, #0x0] mov r0, #0x5 strb r0, [r7, #0x3] add r0, r7, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02087E14 FUN_02087E14: ; 0x02087E14 ldr r3, _02087E18 ; =FUN_02016A18 bx r3 .balign 4 _02087E18: .word FUN_02016A18 thumb_func_start FUN_02087E1C FUN_02087E1C: ; 0x02087E1C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02087E3C bl FUN_02006290 cmp r0, #0x0 beq _02087E3C ldr r0, [r4, #0x0] bl FUN_02006260 mov r0, #0x0 str r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} _02087E3C: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_02087E40 FUN_02087E40: ; 0x02087E40 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_0200628C mov r2, #0x1 add r5, r0, #0x0 mov r0, #0x3 mov r1, #0x2c lsl r2, r2, #0xc bl FUN_0201681C add r0, r4, #0x0 mov r1, #0x18 mov r2, #0x2c bl FUN_02006268 mov r1, #0x0 mov r2, #0x18 add r4, r0, #0x0 blx MI_CpuFill8 mov r0, #0x2c str r0, [r4, #0x0] str r5, [r4, #0xc] mov r0, #0x1 pop {r3-r5, pc} thumb_func_start FUN_02087E74 FUN_02087E74: ; 0x02087E74 push {r4, lr} add r4, r1, #0x0 bl FUN_02006278 ldr r1, [r4, #0x0] cmp r1, #0x8 bhi _02087EE4 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02087E8E: ; jump table (using 16-bit offset) .short _02087EA0 - _02087E8E - 2; case 0 .short _02087EA8 - _02087E8E - 2; case 1 .short _02087EB0 - _02087E8E - 2; case 2 .short _02087EB8 - _02087E8E - 2; case 3 .short _02087EC0 - _02087E8E - 2; case 4 .short _02087EC8 - _02087E8E - 2; case 5 .short _02087ED0 - _02087E8E - 2; case 6 .short _02087ED8 - _02087E8E - 2; case 7 .short _02087EE0 - _02087E8E - 2; case 8 _02087EA0: bl FUN_02087F50 str r0, [r4, #0x0] b _02087EE4 _02087EA8: bl FUN_02087F68 str r0, [r4, #0x0] b _02087EE4 _02087EB0: bl FUN_02087FD4 str r0, [r4, #0x0] b _02087EE4 _02087EB8: bl FUN_0208805C str r0, [r4, #0x0] b _02087EE4 _02087EC0: bl FUN_020880A0 str r0, [r4, #0x0] b _02087EE4 _02087EC8: bl FUN_0208810C str r0, [r4, #0x0] b _02087EE4 _02087ED0: bl FUN_02088130 str r0, [r4, #0x0] b _02087EE4 _02087ED8: bl FUN_020881AC str r0, [r4, #0x0] b _02087EE4 _02087EE0: mov r0, #0x1 pop {r4, pc} _02087EE4: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_02087EE8 FUN_02087EE8: ; 0x02087EE8 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02006278 add r4, r0, #0x0 bl FUN_02087F08 add r0, r5, #0x0 bl FUN_0200627C ldr r0, [r4, #0x0] bl FUN_020168D0 mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02087F08 FUN_02087F08: ; 0x02087F08 push {r4-r6, lr} add r5, r0, #0x0 ldr r2, [r5, #0xc] mov r0, #0x0 ldrb r1, [r2, #0x0] add r4, r0, #0x0 cmp r1, #0x0 bls _02087F42 mov r6, #0x1 _02087F1A: add r3, r2, #0x0 add r3, #0x1c lsl r1, r4, #0x3 add r1, r3, r1 ldrb r3, [r1, #0x4] lsl r3, r3, #0x19 lsr r3, r3, #0x1f beq _02087F34 ldrb r1, [r1, #0x0] ldr r0, [r2, #0x8] bl FUN_020280B8 add r0, r6, #0x0 _02087F34: add r1, r4, #0x1 lsl r1, r1, #0x18 ldr r2, [r5, #0xc] lsr r4, r1, #0x18 ldrb r1, [r2, #0x0] cmp r4, r1 blo _02087F1A _02087F42: cmp r0, #0x0 beq _02087F4C ldr r0, [r2, #0x8] bl FUN_020280F4 _02087F4C: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02087F50 FUN_02087F50: ; 0x02087F50 push {r4, lr} add r4, r0, #0x0 ldr r0, _02087F64 ; =0x020FD15C ldr r1, [r4, #0xc] ldr r2, [r4, #0x0] bl FUN_02006234 str r0, [r4, #0x14] mov r0, #0x1 pop {r4, pc} .balign 4 _02087F64: .word 0x020FD15C thumb_func_start FUN_02087F68 FUN_02087F68: ; 0x02087F68 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x14 bl FUN_02087E1C cmp r0, #0x0 bne _02087F7A mov r0, #0x1 pop {r3-r5, pc} _02087F7A: ldr r1, [r5, #0xc] ldrb r0, [r1, #0x2] cmp r0, #0x0 bne _02087F86 mov r0, #0x8 pop {r3-r5, pc} _02087F86: mov r0, #0x0 strb r0, [r1, #0x2] ldr r0, [r5, #0x0] mov r1, #0x40 bl FUN_02016998 mov r1, #0x0 mov r2, #0x40 add r4, r0, #0x0 blx MI_CpuFill8 ldr r0, [r5, #0xc] mov r1, #0x0 ldr r0, [r0, #0x10] str r0, [r4, #0x0] ldr r0, [r5, #0xc] ldr r0, [r0, #0x14] str r0, [r4, #0x4] add r0, r4, #0x0 add r0, #0x21 strb r1, [r0, #0x0] add r0, r4, #0x0 mov r1, #0x14 add r0, #0x20 strb r1, [r0, #0x0] ldr r0, [r5, #0xc] add r1, r4, #0x0 ldr r0, [r0, #0x18] str r0, [r4, #0xc] ldr r0, _02087FD0 ; =0x020F96DC ldr r2, [r5, #0x0] bl FUN_02006234 str r0, [r5, #0x14] str r4, [r5, #0x10] mov r0, #0x2 pop {r3-r5, pc} .balign 4 _02087FD0: .word 0x020F96DC thumb_func_start FUN_02087FD4 FUN_02087FD4: ; 0x02087FD4 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x14 bl FUN_02087E1C cmp r0, #0x0 bne _02087FE6 mov r0, #0x2 pop {r3-r7, pc} _02087FE6: ldr r7, [r5, #0x10] add r0, r7, #0x0 add r0, #0x22 ldrb r6, [r0, #0x0] strb r6, [r5, #0x8] ldr r0, [r5, #0x10] bl FUN_02016A18 cmp r6, #0x7 bne _02087FFE mov r0, #0x0 pop {r3-r7, pc} _02087FFE: ldr r0, [r5, #0x0] mov r1, #0x30 bl FUN_02016998 add r4, r0, #0x0 ldr r0, [r5, #0xc] ldr r0, [r0, #0x10] str r0, [r4, #0x0] ldr r0, [r5, #0xc] ldr r0, [r0, #0x18] str r0, [r4, #0x4] mov r0, #0x1 strb r0, [r4, #0x11] strb r6, [r4, #0x14] ldr r0, [r4, #0x0] bl FUN_0206B9AC strb r0, [r4, #0x13] mov r1, #0x0 strh r1, [r4, #0x18] mov r0, #0x3 strb r0, [r4, #0x12] mov r0, #0x1 str r0, [r4, #0x2c] str r1, [r4, #0x28] ldr r1, _02088054 ; =0x020FD158 add r0, r4, #0x0 bl FUN_0207B000 ldr r1, [r5, #0xc] add r0, r4, #0x0 ldr r1, [r1, #0xc] bl FUN_0207C2A4 ldr r0, _02088058 ; =0x020FA6E8 ldr r2, [r5, #0x0] add r1, r7, #0x0 bl FUN_02006234 str r0, [r5, #0x14] str r4, [r5, #0x10] mov r0, #0x3 pop {r3-r7, pc} .balign 4 _02088054: .word 0x020FD158 _02088058: .word 0x020FA6E8 thumb_func_start FUN_0208805C FUN_0208805C: ; 0x0208805C push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x14 bl FUN_02087E1C cmp r0, #0x0 bne _0208806E mov r0, #0x3 pop {r3-r5, pc} _0208806E: ldr r0, [r5, #0x10] ldrb r4, [r0, #0x17] ldrb r0, [r0, #0x14] strb r0, [r5, #0x8] ldr r0, [r5, #0x10] bl FUN_02016A18 cmp r4, #0x1 bne _02088084 mov r0, #0x0 pop {r3-r5, pc} _02088084: ldr r0, [r5, #0xc] add r3, r0, #0x0 ldrb r0, [r0, #0x1] add r3, #0x20 lsl r2, r0, #0x3 ldrb r1, [r3, r2] mov r0, #0x40 orr r0, r1 strb r0, [r3, r2] ldr r0, [r5, #0xc] mov r1, #0x1 strb r1, [r0, #0x2] mov r0, #0x4 pop {r3-r5, pc} thumb_func_start FUN_020880A0 FUN_020880A0: ; 0x020880A0 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0xc bl FUN_02016998 mov r1, #0x0 mov r2, #0xc add r4, r0, #0x0 blx MI_CpuFill8 ldr r1, [r5, #0xc] ldrb r0, [r1, #0x1] lsl r0, r0, #0x3 add r0, r1, r0 ldrb r0, [r0, #0x1e] strh r0, [r4, #0x8] ldr r2, [r5, #0xc] ldrb r1, [r2, #0x1] ldr r0, [r2, #0x8] lsl r1, r1, #0x3 add r1, r2, r1 ldrb r1, [r1, #0x1c] ldr r2, [r5, #0x0] bl FUN_02028190 str r0, [r4, #0x4] ldr r0, [r5, #0xc] ldrb r1, [r5, #0x8] ldr r0, [r0, #0x10] bl FUN_0206B9B0 str r0, [r4, #0x0] ldr r0, [r5, #0xc] ldr r0, [r0, #0x18] bl FUN_02024FF4 strb r0, [r4, #0xa] ldr r0, [r5, #0xc] ldr r0, [r0, #0x18] bl FUN_02025084 strb r0, [r4, #0xb] ldr r0, _02088108 ; =0x020FD16C ldr r2, [r5, #0x0] add r1, r4, #0x0 bl FUN_02006234 str r0, [r5, #0x14] str r4, [r5, #0x10] mov r0, #0x5 pop {r3-r5, pc} .balign 4 _02088108: .word 0x020FD16C thumb_func_start FUN_0208810C FUN_0208810C: ; 0x0208810C push {r4, lr} add r4, r0, #0x0 add r0, #0x14 bl FUN_02087E1C cmp r0, #0x0 bne _0208811E mov r0, #0x5 pop {r4, pc} _0208811E: ldr r4, [r4, #0x10] ldr r0, [r4, #0x4] bl FUN_02016A18 add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x6 pop {r4, pc} thumb_func_start FUN_02088130 FUN_02088130: ; 0x02088130 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x30 bl FUN_02016998 ldr r2, [r5, #0xc] add r4, r0, #0x0 ldrb r1, [r2, #0x1] ldr r0, [r2, #0x8] lsl r1, r1, #0x3 add r1, r2, r1 ldrb r1, [r1, #0x1c] ldr r2, [r5, #0x0] bl FUN_02028190 add r6, r0, #0x0 ldr r0, [r5, #0xc] ldr r0, [r0, #0x10] str r0, [r4, #0x0] ldr r0, [r5, #0xc] ldr r0, [r0, #0x18] str r0, [r4, #0x4] mov r0, #0x1 strb r0, [r4, #0x11] ldrb r0, [r5, #0x8] strb r0, [r4, #0x14] ldr r0, [r4, #0x0] bl FUN_0206B9AC strb r0, [r4, #0x13] mov r1, #0x0 strh r1, [r4, #0x18] mov r0, #0x4 strb r0, [r4, #0x12] str r6, [r4, #0x24] mov r0, #0x1 str r0, [r4, #0x2c] str r1, [r4, #0x28] ldr r1, _020881A4 ; =0x020FD154 add r0, r4, #0x0 bl FUN_0207B000 ldr r1, [r5, #0xc] add r0, r4, #0x0 ldr r1, [r1, #0xc] bl FUN_0207C2A4 ldr r0, _020881A8 ; =0x020FA6E8 ldr r2, [r5, #0x0] add r1, r4, #0x0 bl FUN_02006234 str r0, [r5, #0x14] str r4, [r5, #0x10] mov r0, #0x7 pop {r4-r6, pc} nop _020881A4: .word 0x020FD154 _020881A8: .word 0x020FA6E8 thumb_func_start FUN_020881AC FUN_020881AC: ; 0x020881AC push {r4, lr} add r4, r0, #0x0 add r0, #0x14 bl FUN_02087E1C cmp r0, #0x0 bne _020881BE mov r0, #0x7 pop {r4, pc} _020881BE: ldr r0, [r4, #0x10] ldr r0, [r0, #0x24] bl FUN_02016A18 ldr r0, [r4, #0x10] bl FUN_02016A18 mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_020881D0 FUN_020881D0: ; 0x020881D0 push {r3-r5, lr} sub sp, #0x8 lsl r2, r1, #0x1 ldr r1, _02088214 ; =0x020FD17C ldrb r4, [r1, r2] ldr r1, _02088218 ; =0x020FD17D ldrb r5, [r1, r2] cmp r4, #0x5 bne _020881E8 add sp, #0x8 mov r0, #0x2 pop {r3-r5, pc} _020881E8: add r1, sp, #0x0 bl FUN_02027FBC add r0, r4, #0x1 add r2, sp, #0x0 ldrb r1, [r2, r0] add r0, r5, #0x1 ldrb r0, [r2, r0] cmp r1, r0 bne _02088202 add sp, #0x8 mov r0, #0x2 pop {r3-r5, pc} _02088202: cmp r1, r0 bls _0208820C add sp, #0x8 mov r0, #0x0 pop {r3-r5, pc} _0208820C: mov r0, #0x1 add sp, #0x8 pop {r3-r5, pc} nop _02088214: .word 0x020FD17C _02088218: .word 0x020FD17D thumb_func_start FUN_0208821C FUN_0208821C: ; 0x0208821C push {r3-r7, lr} sub sp, #0x30 add r6, r1, #0x0 add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_02068854 lsl r1, r0, #0x1 ldr r0, _02088310 ; =0x020FD17C ldrb r0, [r0, r1] str r0, [sp, #0x4] ldr r0, _02088314 ; =0x020FD17D ldrb r0, [r0, r1] add r1, sp, #0x10 str r0, [sp, #0x0] add r0, r4, #0x0 bl FUN_02027FBC mov r4, #0x0 add r7, r4, #0x0 add r5, sp, #0x18 _02088246: add r1, r4, #0x0 add r0, r6, #0x0 add r1, #0x13 add r2, r7, #0x0 bl FUN_020671BC lsl r1, r4, #0x2 str r0, [r5, r1] add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x6 blo _02088246 add r4, sp, #0x8 mov r1, #0x0 mov r3, #0x1 add r0, sp, #0x10 add r4, #0x1 _0208826A: ldrb r5, [r0, r3] add r2, r1, #0x0 add r1, r1, #0x1 strb r5, [r4, r2] add r2, r3, #0x1 lsl r2, r2, #0x18 lsl r1, r1, #0x18 lsr r3, r2, #0x18 lsr r1, r1, #0x18 cmp r3, #0x6 bls _0208826A ldr r0, [sp, #0x4] cmp r0, #0x5 beq _020882B8 ldrb r0, [r4, r0] blx _ffltu add r1, r0, #0x0 ldr r0, _02088318 ; =0x3F8CCCCD blx _fmul blx _ffixu ldr r1, [sp, #0x4] strb r0, [r4, r1] add r4, sp, #0x8 ldr r0, [sp, #0x0] add r4, #0x1 ldrb r0, [r4, r0] blx _ffltu add r1, r0, #0x0 ldr r0, _0208831C ; =0x3F666666 blx _fmul blx _ffixu ldr r1, [sp, #0x0] strb r0, [r4, r1] _020882B8: add r7, sp, #0x8 mov r5, #0x0 add r4, sp, #0x18 add r7, #0x1 _020882C0: lsl r2, r5, #0x2 ldrb r0, [r7, r5] ldr r1, [r4, r2] add r0, r1, r0 str r0, [r4, r2] ldr r0, [r4, r2] cmp r0, #0xff ble _020882D4 mov r0, #0xff str r0, [r4, r2] _020882D4: add r1, r5, #0x0 add r0, r6, #0x0 add r1, #0x13 add r2, r4, r2 bl FUN_02067830 add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x6 blo _020882C0 add r0, r6, #0x0 mov r1, #0x9 mov r2, #0x0 bl FUN_020671BC add r1, sp, #0x8 strb r0, [r1, #0x0] ldrb r0, [r1, #0x0] cmp r0, #0xff bhs _0208830C add r0, r0, #0x1 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x9 add r2, sp, #0x8 bl FUN_02067830 _0208830C: add sp, #0x30 pop {r3-r7, pc} .balign 4 _02088310: .word 0x020FD17C _02088314: .word 0x020FD17D _02088318: .word 0x3F8CCCCD _0208831C: .word 0x3F666666 thumb_func_start FUN_02088320 FUN_02088320: ; 0x02088320 push {r3-r7, lr} add r5, r1, #0x0 mov r1, #0x59 lsl r1, r1, #0x2 add r6, r0, #0x0 add r7, r2, #0x0 str r3, [sp, #0x0] bl FUN_02016998 mov r2, #0x59 mov r1, #0x0 lsl r2, r2, #0x2 add r4, r0, #0x0 blx MI_CpuFill8 str r6, [r4, #0x0] cmp r5, #0x10 bls _0208834A mov r0, #0x10 strh r0, [r4, #0xa] b _0208834C _0208834A: strh r7, [r4, #0xa] _0208834C: strh r5, [r4, #0xc] ldr r0, [sp, #0x0] strh r0, [r4, #0xe] ldr r0, [sp, #0x18] str r0, [r4, #0x4] add r0, r4, #0x0 bl FUN_0208837C add r0, r4, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02088360 FUN_02088360: ; 0x02088360 push {r4, lr} add r4, r0, #0x0 bl FUN_0208843C mov r2, #0x59 add r0, r4, #0x0 mov r1, #0x0 lsl r2, r2, #0x2 blx MI_CpuFill8 add r0, r4, #0x0 bl FUN_02016A18 pop {r4, pc} thumb_func_start FUN_0208837C FUN_0208837C: ; 0x0208837C push {r4-r7, lr} sub sp, #0xc ldr r1, _02088438 ; =0x020FD1C0 str r0, [sp, #0x0] ldrb r2, [r1, #0x0] add r0, sp, #0x8 strb r2, [r0, #0x0] ldrb r2, [r1, #0x1] strb r2, [r0, #0x1] ldrb r2, [r1, #0x2] ldrb r1, [r1, #0x3] strb r2, [r0, #0x2] strb r1, [r0, #0x3] ldr r0, [sp, #0x0] ldr r2, [sp, #0x0] ldr r1, [sp, #0x0] ldrh r0, [r0, #0xc] ldr r2, [r2, #0x0] add r1, #0x14 bl FUN_02008C9C ldr r1, [sp, #0x0] mov r6, #0x15 str r0, [r1, #0x10] add r0, r1, #0x0 ldrh r1, [r0, #0xa] add r0, sp, #0x8 ldr r5, [sp, #0x0] strb r1, [r0, #0x1] mov r0, #0x0 str r0, [sp, #0x4] add r7, sp, #0x8 add r4, r0, #0x0 lsl r6, r6, #0x4 _020883C0: ldr r2, [sp, #0x0] ldrb r0, [r7, #0x0] ldr r1, [sp, #0x4] ldr r2, [r2, #0x0] bl FUN_02008DEC mov r1, #0x5 lsl r1, r1, #0x6 str r0, [r5, r1] ldr r1, [sp, #0x0] ldrb r0, [r7, #0x0] ldr r1, [r1, #0x0] bl FUN_02009424 mov r1, #0x15 lsl r1, r1, #0x4 str r0, [r5, r1] mov r0, #0x15 lsl r0, r0, #0x4 ldr r3, [r5, r0] mov r1, #0x0 ldr r0, [r3, #0x4] cmp r0, #0x0 bls _02088402 add r2, r1, #0x0 _020883F2: ldr r0, [r3, #0x0] add r1, r1, #0x1 str r4, [r0, r2] ldr r3, [r5, r6] add r2, r2, #0x4 ldr r0, [r3, #0x4] cmp r1, r0 blo _020883F2 _02088402: ldr r0, [sp, #0x4] add r7, r7, #0x1 add r0, r0, #0x1 add r5, r5, #0x4 str r0, [sp, #0x4] cmp r0, #0x4 blo _020883C0 ldr r0, [sp, #0x0] bl FUN_020886CC ldr r0, [sp, #0x0] mov r1, #0x4 ldr r0, [r0, #0x0] bl FUN_02016998 mov r2, #0x16 ldr r1, [sp, #0x0] lsl r2, r2, #0x4 str r0, [r1, r2] add r0, r1, #0x0 ldr r0, [r0, r2] mov r1, #0x0 mov r2, #0x4 blx MI_CpuFill8 add sp, #0xc pop {r4-r7, pc} .balign 4 _02088438: .word 0x020FD1C0 thumb_func_start FUN_0208843C FUN_0208843C: ; 0x0208843C push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x16 lsl r0, r0, #0x4 ldr r0, [r5, r0] bl FUN_02016A18 ldr r0, [r5, #0x10] bl FUN_0201FD58 mov r0, #0x15 lsl r0, r0, #0x4 ldr r0, [r5, r0] bl FUN_02009C30 mov r0, #0x55 lsl r0, r0, #0x2 ldr r0, [r5, r0] bl FUN_02009E28 mov r7, #0x15 lsl r7, r7, #0x4 add r6, r7, #0x0 mov r4, #0x0 sub r6, #0x10 _0208846E: ldr r0, [r5, r7] bl FUN_02009448 ldr r0, [r5, r6] bl FUN_02008E2C add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 blo _0208846E pop {r3-r7, pc} thumb_func_start FUN_02088484 FUN_02088484: ; 0x02088484 ldr r3, _0208848C ; =FUN_0201FDEC ldr r0, [r0, #0x10] bx r3 nop _0208848C: .word FUN_0201FDEC thumb_func_start FUN_02088490 FUN_02088490: ; 0x02088490 push {r3-r7, lr} sub sp, #0x70 str r1, [sp, #0x2c] lsl r1, r1, #0x18 lsr r1, r1, #0x18 add r5, r0, #0x0 add r7, r2, #0x0 str r3, [sp, #0x30] bl FUN_020887CC str r0, [sp, #0x3c] cmp r0, #0x0 bge _020884B4 bl ErrorHandling add sp, #0x70 mov r0, #0x0 pop {r3-r7, pc} _020884B4: ldr r0, [r5, #0x0] mov r1, #0x8 bl FUN_02016998 str r0, [sp, #0x38] mov r1, #0x0 mov r2, #0x8 blx MI_CpuFill8 ldr r1, [sp, #0x3c] ldr r0, [sp, #0x38] strh r1, [r0, #0x0] ldr r0, [sp, #0x94] cmp r0, #0x0 bne _020884D6 mov r6, #0x1 b _020884D8 _020884D6: mov r6, #0x2 _020884D8: ldr r0, [sp, #0x3c] mov r1, #0x55 lsl r1, r1, #0x2 lsl r4, r0, #0x2 ldr r0, [r5, r1] ldr r3, [sp, #0x2c] ldr r0, [r0, #0x0] sub r1, #0x10 ldr r0, [r0, r4] mov r2, #0x58 str r0, [sp, #0x34] mov r0, #0x0 str r0, [sp, #0x0] ldr r0, [r5, #0x0] add r3, r3, #0x3 str r0, [sp, #0x4] ldr r0, [r5, r1] ldr r1, [sp, #0x34] bl FUN_02009168 mov r0, #0x55 lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r0, [r0, #0x0] ldr r0, [r0, r4] bl FUN_02009DE0 ldr r0, [r5, #0x0] mov r1, #0x10 bl FUN_02016998 add r4, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x8 bl FUN_02016998 str r0, [r4, #0x8] ldr r0, [r5, #0x0] mov r1, #0x24 bl FUN_02016998 ldr r1, [r4, #0x8] mov r3, #0xe str r0, [r1, #0x0] ldr r0, [r4, #0x8] lsl r3, r3, #0xc ldr r0, [r0, #0x0] mov r1, #0x0 str r0, [r4, #0x4] mov r0, #0x0 str r3, [sp, #0x0] mvn r0, r0 str r0, [sp, #0x4] str r0, [sp, #0x8] str r1, [sp, #0xc] add r0, sp, #0x78 ldrb r0, [r0, #0x14] str r0, [sp, #0x10] mov r0, #0x5 lsl r0, r0, #0x6 ldr r2, [r5, r0] str r2, [sp, #0x14] add r2, r0, #0x4 ldr r2, [r5, r2] str r2, [sp, #0x18] add r2, r0, #0x0 add r2, #0x8 ldr r2, [r5, r2] add r0, #0xc str r2, [sp, #0x1c] ldr r0, [r5, r0] str r0, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] ldr r2, [sp, #0x3c] ldr r0, [r4, #0x4] add r1, r3, #0x0 add r2, r2, r3 bl FUN_02008AA4 ldr r0, [r5, #0x10] cmp r7, #0x0 str r0, [sp, #0x40] ldr r0, [r4, #0x4] str r0, [sp, #0x44] beq _02088596 lsl r0, r7, #0xc blx _fflt add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 blx _fadd b _020885A4 _02088596: lsl r0, r7, #0xc blx _fflt mov r1, #0x3f lsl r1, r1, #0x18 blx _fsub _020885A4: blx _ffix str r0, [sp, #0x48] ldr r0, [sp, #0x30] cmp r0, #0x0 beq _020885C2 lsl r0, r0, #0xc blx _fflt add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 blx _fadd b _020885D0 _020885C2: lsl r0, r0, #0xc blx _fflt mov r1, #0x3f lsl r1, r1, #0x18 blx _fsub _020885D0: blx _ffix str r0, [sp, #0x4c] add r0, sp, #0x78 ldrh r0, [r0, #0x10] cmp r0, #0x0 beq _020885F0 lsl r0, r0, #0xc blx _fflt add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 blx _fadd b _020885FE _020885F0: lsl r0, r0, #0xc blx _fflt mov r1, #0x3f lsl r1, r1, #0x18 blx _fsub _020885FE: blx _ffix str r0, [sp, #0x50] cmp r6, #0x2 bne _02088612 mov r0, #0x3 ldr r1, [sp, #0x4c] lsl r0, r0, #0x12 add r0, r1, r0 str r0, [sp, #0x4c] _02088612: mov r0, #0x1 lsl r0, r0, #0xc str r0, [sp, #0x54] str r0, [sp, #0x58] str r0, [sp, #0x5c] mov r1, #0x0 add r0, sp, #0x40 strh r1, [r0, #0x20] add r0, sp, #0x78 ldrb r0, [r0, #0x18] str r6, [sp, #0x68] str r0, [sp, #0x64] ldr r0, [r5, #0x0] str r0, [sp, #0x6c] add r0, sp, #0x40 bl FUN_0201FE94 str r0, [r4, #0x0] cmp r0, #0x0 beq _02088652 mov r1, #0x0 bl FUN_02020130 ldr r0, [sp, #0x34] add r1, r6, #0x0 bl FUN_02009E88 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_02020248 b _02088656 _02088652: bl ErrorHandling _02088656: ldr r0, [sp, #0x38] str r4, [r0, #0x4] add sp, #0x70 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_02088660 FUN_02088660: ; 0x02088660 push {r4, lr} sub sp, #0x8 add r3, r2, #0x0 mov r2, #0x55 lsl r2, r2, #0x2 ldr r4, [r0, r2] ldrh r1, [r1, #0x0] ldr r4, [r4, #0x0] sub r2, #0x10 lsl r1, r1, #0x2 ldr r4, [r4, r1] mov r1, #0x0 str r1, [sp, #0x0] ldr r1, [r0, #0x0] add r3, r3, #0x3 str r1, [sp, #0x4] ldr r0, [r0, r2] add r1, r4, #0x0 mov r2, #0x58 bl FUN_02009168 add r0, r4, #0x0 bl FUN_02009DE0 add sp, #0x8 pop {r4, pc} thumb_func_start FUN_02088694 FUN_02088694: ; 0x02088694 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0x4] bl FUN_0200C3DC mov r1, #0x16 ldrh r2, [r4, #0x0] lsl r1, r1, #0x4 ldr r3, [r5, r1] mov r0, #0x0 lsl r2, r2, #0x2 strb r0, [r3, r2] ldrh r2, [r4, #0x0] ldr r3, [r5, r1] lsl r2, r2, #0x2 add r2, r3, r2 strh r0, [r2, #0x2] ldr r2, [r5, r1] ldrh r1, [r4, #0x0] lsl r1, r1, #0x2 add r1, r2, r1 strb r0, [r1, #0x1] add r0, r4, #0x0 bl FUN_02016A18 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020886CC FUN_020886CC: ; 0x020886CC push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 mov r0, #0x15 lsl r0, r0, #0x4 ldr r4, [r5, r0] mov r1, #0xe lsl r1, r1, #0xc str r1, [sp, #0x0] ldrh r1, [r5, #0xe] mov r2, #0x0 sub r0, #0x10 str r1, [sp, #0x4] ldr r1, [r5, #0x0] add r3, r2, #0x0 str r1, [sp, #0x8] ldr r0, [r5, r0] mov r1, #0x58 bl FUN_02008F34 ldr r1, [r4, #0x0] str r0, [r1, #0x0] ldr r0, [r4, #0x0] ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02088704 bl ErrorHandling _02088704: ldr r0, [r5, #0x4] cmp r0, #0x0 beq _02088728 cmp r0, #0x1 beq _02088714 cmp r0, #0x2 beq _0208871E b _02088728 _02088714: ldr r0, [r4, #0x0] ldr r0, [r0, #0x0] bl FUN_02009B04 b _02088730 _0208871E: ldr r0, [r4, #0x0] ldr r0, [r0, #0x0] bl FUN_02009B78 b _02088730 _02088728: ldr r0, [r4, #0x0] ldr r0, [r0, #0x0] bl FUN_02009A50 _02088730: mov r4, #0x0 add r6, r5, #0x0 _02088734: mov r0, #0x56 lsl r0, r0, #0x2 ldr r7, [r6, r0] mov r0, #0xe lsl r0, r0, #0xc str r0, [sp, #0x0] add r0, r4, #0x2 str r0, [sp, #0x4] ldr r0, [r5, #0x0] mov r1, #0x58 str r0, [sp, #0x8] mov r0, #0x52 lsl r0, r0, #0x2 ldr r0, [r6, r0] add r2, r4, #0x1 mov r3, #0x0 bl FUN_020090AC ldr r1, [r7, #0x0] str r0, [r1, #0x0] ldr r0, [r7, #0x0] ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02088768 bl ErrorHandling _02088768: add r4, r4, #0x1 add r6, r6, #0x4 cmp r4, #0x2 blt _02088734 mov r0, #0x55 lsl r0, r0, #0x2 ldr r6, [r5, r0] ldrh r0, [r5, #0xa] mov r7, #0x0 cmp r0, #0x0 ble _020887C6 add r4, r7, #0x0 _02088780: mov r0, #0xe lsl r0, r0, #0xc add r0, r7, r0 str r0, [sp, #0x0] ldrh r0, [r5, #0xe] mov r1, #0x58 mov r2, #0x4 str r0, [sp, #0x4] mov r0, #0x1 str r0, [sp, #0x8] ldr r0, [r5, #0x0] mov r3, #0x0 str r0, [sp, #0xc] mov r0, #0x51 lsl r0, r0, #0x2 ldr r0, [r5, r0] bl FUN_02008FEC ldr r1, [r6, #0x0] str r0, [r1, r4] ldr r0, [r6, #0x0] ldr r0, [r0, r4] cmp r0, #0x0 bne _020887B4 bl ErrorHandling _020887B4: ldr r0, [r6, #0x0] ldr r0, [r0, r4] bl FUN_02009CF0 ldrh r0, [r5, #0xa] add r7, r7, #0x1 add r4, r4, #0x4 cmp r7, r0 blt _02088780 _020887C6: add sp, #0x10 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020887CC FUN_020887CC: ; 0x020887CC push {r3-r6} ldrh r5, [r0, #0xa] mov r3, #0x0 cmp r5, #0x0 bls _0208880A mov r2, #0x16 lsl r2, r2, #0x4 ldr r4, [r0, r2] _020887DC: lsl r2, r3, #0x2 ldrb r6, [r4, r2] cmp r6, #0x0 bne _02088800 add r4, r4, r2 strh r3, [r4, #0x2] mov r4, #0x16 lsl r4, r4, #0x4 ldr r5, [r0, r4] add r5, r5, r2 strb r1, [r5, #0x1] ldr r0, [r0, r4] mov r1, #0x1 strb r1, [r0, r2] lsl r0, r3, #0x10 asr r0, r0, #0x10 pop {r3-r6} bx lr _02088800: add r2, r3, #0x1 lsl r2, r2, #0x10 lsr r3, r2, #0x10 cmp r3, r5 blo _020887DC _0208880A: mov r0, #0x0 mvn r0, r0 pop {r3-r6} bx lr .balign 4 thumb_func_start FUN_02088814 FUN_02088814: ; 0x02088814 mov r0, #0x3 bx lr thumb_func_start FUN_02088818 FUN_02088818: ; 0x02088818 bx lr .balign 4 thumb_func_start FUN_0208881C FUN_0208881C: ; 0x0208881C ldr r3, _02088828 ; =FUN_0202D8D0 add r2, r0, #0x0 ldr r0, _0208882C ; =0x020FD1C4 mov r1, #0x6c bx r3 nop _02088828: .word FUN_0202D8D0 _0208882C: .word 0x020FD1C4 thumb_func_start FUN_02088830 FUN_02088830: ; 0x02088830 ldr r0, _02088834 ; =0x0000066C bx lr .balign 4 _02088834: .word 0x0000066C thumb_func_start FUN_02088838 FUN_02088838: ; 0x02088838 mov r0, #0x2f lsl r0, r0, #0x6 bx lr .balign 4 thumb_func_start FUN_02088840 FUN_02088840: ; 0x02088840 mov r0, #0x3f lsl r0, r0, #0x4 bx lr .balign 4 thumb_func_start FUN_02088848 FUN_02088848: ; 0x02088848 mov r0, #0xa bx lr thumb_func_start FUN_0208884C FUN_0208884C: ; 0x0208884C mov r0, #0x32 bx lr thumb_func_start FUN_02088850 FUN_02088850: ; 0x02088850 mov r0, #0x4 bx lr thumb_func_start FUN_02088854 FUN_02088854: ; 0x02088854 mov r0, #0x4 bx lr thumb_func_start FUN_02088858 FUN_02088858: ; 0x02088858 ldr r3, _02088860 ; =FUN_02005FDC ldr r0, _02088864 ; =0x00000004 mov r1, #0x2 bx r3 .balign 4 _02088860: .word FUN_02005FDC _02088864: .word 0x00000004 thumb_func_start FUN_02088868 FUN_02088868: ; 0x02088868 ldr r3, _02088870 ; =FUN_02005F60 ldr r0, _02088874 ; =0x00000004 bx r3 nop _02088870: .word FUN_02005F60 _02088874: .word 0x00000004 thumb_func_start FUN_02088878 FUN_02088878: ; 0x02088878 ldr r3, _02088880 ; =FUN_02005FDC ldr r0, _02088884 ; =0x0000000D mov r1, #0x2 bx r3 .balign 4 _02088880: .word FUN_02005FDC _02088884: .word 0x0000000D thumb_func_start FUN_02088888 FUN_02088888: ; 0x02088888 ldr r3, _02088890 ; =FUN_02005F60 ldr r0, _02088894 ; =0x0000000D bx r3 nop _02088890: .word FUN_02005F60 _02088894: .word 0x0000000D thumb_func_start FUN_02088898 FUN_02088898: ; 0x02088898 push {r4, lr} add r4, r1, #0x0 bl FUN_02088858 bl FUN_02088878 add r0, r4, #0x0 bl FUN_02211E60 bl FUN_02088888 bl FUN_02088868 mov r0, #0x0 blx OS_ResetSystem pop {r4, pc} .balign 4 thumb_func_start FUN_020888BC FUN_020888BC: ; 0x020888BC ldr r3, _020888C4 ; =FUN_02005FDC ldr r0, _020888C8 ; =0x0000004F mov r1, #0x2 bx r3 .balign 4 _020888C4: .word FUN_02005FDC _020888C8: .word 0x0000004F thumb_func_start FUN_020888CC FUN_020888CC: ; 0x020888CC ldr r3, _020888D4 ; =FUN_02005F60 ldr r0, _020888D8 ; =0x0000004F bx r3 nop _020888D4: .word FUN_02005F60 _020888D8: .word 0x0000004F thumb_func_start FUN_020888DC FUN_020888DC: ; 0x020888DC push {r4, lr} mov r2, #0x41 add r4, r0, #0x0 mov r0, #0x3 mov r1, #0x31 lsl r2, r2, #0xc bl FUN_0201681C add r0, r4, #0x0 bl FUN_0200628C ldr r0, [r0, #0x8] mov r1, #0x31 bl FUN_02088898 mov r0, #0x31 bl FUN_020168D0 mov r0, #0x0 blx OS_ResetSystem mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0208890C FUN_0208890C: ; 0x0208890C push {r3-r7, lr} add r6, r0, #0x0 add r5, r1, #0x0 add r0, r2, #0x0 mov r1, #0x20 add r7, r3, #0x0 bl FUN_02016998 add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x20 blx MI_CpuFill8 str r5, [r4, #0xc] add r0, r5, #0x0 bl FUN_02028048 str r0, [r4, #0x8] add r0, r5, #0x0 bl FUN_020238F4 str r0, [r4, #0x10] add r0, r5, #0x0 bl FUN_0206F158 str r0, [r4, #0x14] add r0, r5, #0x0 bl LoadPlayerDataAddress str r0, [r4, #0x18] str r7, [r4, #0x1c] str r6, [r4, #0x4] add r0, r4, #0x0 pop {r3-r7, pc} thumb_func_start FUN_02088950 FUN_02088950: ; 0x02088950 ldr r3, _02088958 ; =FUN_020373D4 add r2, r1, #0x0 ldr r1, _0208895C ; =0x020FD6E4 bx r3 .balign 4 _02088958: .word FUN_020373D4 _0208895C: .word 0x020FD6E4 thumb_func_start FUN_02088960 FUN_02088960: ; 0x02088960 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 bl FUN_020377AC add r3, r5, #0x0 add r3, #0x98 add r1, r0, #0x0 ldr r3, [r3, #0x0] add r0, r4, #0x0 add r2, r6, #0x0 bl FUN_0208890C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02088950 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0208898C FUN_0208898C: ; 0x0208898C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _020889AC bl FUN_02006290 cmp r0, #0x0 beq _020889AC ldr r0, [r4, #0x0] bl FUN_02006260 mov r0, #0x0 str r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} _020889AC: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_020889B0 FUN_020889B0: ; 0x020889B0 push {r3-r5, lr} add r4, r0, #0x0 bl FUN_0200628C mov r2, #0x1 add r5, r0, #0x0 mov r0, #0x3 mov r1, #0x37 lsl r2, r2, #0xe bl FUN_0201681C add r0, r4, #0x0 mov r1, #0x24 mov r2, #0x37 bl FUN_02006268 mov r1, #0x0 mov r2, #0x24 add r4, r0, #0x0 blx MI_CpuFill8 mov r0, #0x37 str r0, [r4, #0x0] str r5, [r4, #0x10] ldr r0, [r4, #0x0] bl FUN_0206F164 str r0, [r4, #0xc] ldr r0, [r5, #0x4] cmp r0, #0x1 bne _020889FA ldrh r1, [r4, #0x6] mov r0, #0xff bic r1, r0 mov r0, #0x1 orr r0, r1 strh r0, [r4, #0x6] _020889FA: mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_02088A00 FUN_02088A00: ; 0x02088A00 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02006278 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0200628C ldr r5, [r4, #0x0] cmp r5, #0x4 bhi _02088A6A add r0, r5, r5 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02088A24: ; jump table (using 16-bit offset) .short _02088A2E - _02088A24 - 2; case 0 .short _02088A3C - _02088A24 - 2; case 1 .short _02088A4A - _02088A24 - 2; case 2 .short _02088A58 - _02088A24 - 2; case 3 .short _02088A66 - _02088A24 - 2; case 4 _02088A2E: add r1, r6, #0x0 add r0, r6, #0x0 add r1, #0x14 bl FUN_02088AAC str r0, [r4, #0x0] b _02088A6A _02088A3C: add r1, r6, #0x0 add r0, r6, #0x0 add r1, #0x14 bl FUN_02088AFC str r0, [r4, #0x0] b _02088A6A _02088A4A: add r1, r6, #0x0 add r0, r6, #0x0 add r1, #0x14 bl FUN_02088B28 str r0, [r4, #0x0] b _02088A6A _02088A58: add r1, r6, #0x0 add r0, r6, #0x0 add r1, #0x14 bl FUN_02088B48 str r0, [r4, #0x0] b _02088A6A _02088A66: mov r0, #0x1 pop {r4-r6, pc} _02088A6A: ldr r0, [r4, #0x0] cmp r5, r0 beq _02088A74 mov r0, #0x0 str r0, [r6, #0x14] _02088A74: mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_02088A78 FUN_02088A78: ; 0x02088A78 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02006278 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0200628C ldr r0, [r4, #0xc] ldr r6, [r4, #0x0] bl FUN_02016A18 add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x24 blx MI_CpuFill8 add r0, r5, #0x0 bl FUN_0200627C add r0, r6, #0x0 bl FUN_020168D0 mov r0, #0x1 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02088AAC FUN_02088AAC: ; 0x02088AAC push {r4, lr} add r4, r1, #0x0 ldr r1, [r4, #0x0] cmp r1, #0x5 bhi _02088AF6 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02088AC2: ; jump table (using 16-bit offset) .short _02088ACE - _02088AC2 - 2; case 0 .short _02088AD6 - _02088AC2 - 2; case 1 .short _02088ADE - _02088AC2 - 2; case 2 .short _02088AE6 - _02088AC2 - 2; case 3 .short _02088AEE - _02088AC2 - 2; case 4 .short _02088AF2 - _02088AC2 - 2; case 5 _02088ACE: bl FUN_02088B4C str r0, [r4, #0x0] b _02088AF6 _02088AD6: bl FUN_02088BA8 str r0, [r4, #0x0] b _02088AF6 _02088ADE: bl FUN_02088C3C str r0, [r4, #0x0] b _02088AF6 _02088AE6: bl FUN_02088CDC str r0, [r4, #0x0] b _02088AF6 _02088AEE: mov r0, #0x1 pop {r4, pc} _02088AF2: mov r0, #0x4 pop {r4, pc} _02088AF6: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_02088AFC FUN_02088AFC: ; 0x02088AFC push {r3-r5, lr} sub sp, #0x10 ldr r5, _02088B24 ; =0x020FD708 add r3, sp, #0x0 add r4, r0, #0x0 add r2, r3, #0x0 ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 ldr r2, [r4, #0x0] add r1, r4, #0x0 bl FUN_02006234 str r0, [r4, #0x1c] mov r0, #0x2 add sp, #0x10 pop {r3-r5, pc} nop _02088B24: .word 0x020FD708 thumb_func_start FUN_02088B28 FUN_02088B28: ; 0x02088B28 push {r4, lr} add r4, r0, #0x0 add r0, #0x1c bl FUN_0208898C cmp r0, #0x0 bne _02088B3A mov r0, #0x2 pop {r4, pc} _02088B3A: ldr r0, [r4, #0x20] cmp r0, #0x1 bne _02088B44 mov r0, #0x0 pop {r4, pc} _02088B44: mov r0, #0x3 pop {r4, pc} thumb_func_start FUN_02088B48 FUN_02088B48: ; 0x02088B48 mov r0, #0x4 bx lr thumb_func_start FUN_02088B4C FUN_02088B4C: ; 0x02088B4C push {r3-r5, lr} sub sp, #0x10 ldr r3, _02088BA0 ; =0x020FD6F8 add r2, sp, #0x0 add r5, r0, #0x0 ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r5, #0x10] ldr r1, _02088BA4 ; =0x020FD6F4 ldr r0, [r0, #0x14] ldr r2, [r5, #0x0] bl FUN_0206EFEC add r4, r0, #0x0 ldrh r0, [r5, #0x6] lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x1 bne _02088B7A mov r2, #0x5 b _02088B7C _02088B7A: mov r2, #0x4 _02088B7C: ldr r1, [r5, #0x10] lsl r2, r2, #0x18 ldr r1, [r1, #0xc] ldr r3, [r5, #0xc] add r0, r4, #0x0 lsr r2, r2, #0x18 bl FUN_0206E314 ldr r2, [r5, #0x0] add r0, sp, #0x0 add r1, r4, #0x0 bl FUN_02006234 str r0, [r5, #0x1c] str r4, [r5, #0x18] mov r0, #0x1 add sp, #0x10 pop {r3-r5, pc} .balign 4 _02088BA0: .word 0x020FD6F8 _02088BA4: .word 0x020FD6F4 thumb_func_start FUN_02088BA8 FUN_02088BA8: ; 0x02088BA8 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x1c bl FUN_0208898C cmp r0, #0x0 bne _02088BBA mov r0, #0x1 pop {r3-r5, pc} _02088BBA: ldr r0, [r4, #0x0] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0206E2F0 add r5, r0, #0x0 bl FUN_0206E308 add r2, r0, #0x0 ldr r1, [r4, #0x18] add r0, r5, #0x0 blx memcpy ldr r0, [r4, #0x18] bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x18] add r0, r5, #0x0 bl FUN_0206E37C str r0, [r4, #0x8] add r0, r5, #0x0 bl FUN_02016A18 add r0, r5, #0x0 bl FUN_0206E384 cmp r0, #0x5 bhi _02088C16 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02088C02: ; jump table (using 16-bit offset) .short _02088C1E - _02088C02 - 2; case 0 .short _02088C0E - _02088C02 - 2; case 1 .short _02088C1E - _02088C02 - 2; case 2 .short _02088C1E - _02088C02 - 2; case 3 .short _02088C1E - _02088C02 - 2; case 4 .short _02088C12 - _02088C02 - 2; case 5 _02088C0E: mov r0, #0x2 pop {r3-r5, pc} _02088C12: mov r0, #0x5 pop {r3-r5, pc} _02088C16: bl ErrorHandling mov r0, #0x95 str r0, [r4, #0x8] _02088C1E: ldr r0, [r4, #0x10] ldr r1, [r4, #0x8] ldr r0, [r0, #0x14] lsl r1, r1, #0x10 ldr r3, [r4, #0x0] lsr r1, r1, #0x10 mov r2, #0x1 bl FUN_0206EDD4 cmp r0, #0x0 bne _02088C38 bl ErrorHandling _02088C38: mov r0, #0x4 pop {r3-r5, pc} thumb_func_start FUN_02088C3C FUN_02088C3C: ; 0x02088C3C push {r3-r7, lr} sub sp, #0x18 add r5, r0, #0x0 ldr r0, [r5, #0x10] ldr r3, _02088CD8 ; =0x020FD718 ldr r0, [r0, #0x14] add r2, sp, #0x8 str r0, [sp, #0x0] ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r5, #0x0] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_020851B8 str r0, [r5, #0x18] ldr r1, [r5, #0x8] mov r2, #0x1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_020851DC mov r6, #0x0 add r4, r6, #0x0 _02088C70: add r0, r4, #0x0 bl FUN_0206EB1C lsl r0, r0, #0x18 lsr r7, r0, #0x18 ldr r0, [sp, #0x0] ldr r3, [r5, #0x0] add r1, r7, #0x0 mov r2, #0x1 bl FUN_0206EE50 cmp r0, #0x1 bne _02088C9A ldr r0, [r5, #0x18] add r1, r7, #0x0 mov r2, #0x0 bl FUN_020851DC add r0, r6, #0x1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 _02088C9A: add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x40 blo _02088C70 add r3, sp, #0x4 ldr r0, [r5, #0xc] mov r1, #0x4 add r2, sp, #0x4 add r3, #0x1 bl FUN_0206F17C add r2, sp, #0x4 ldrb r1, [r2, #0x1] add r3, r6, #0x2 lsl r3, r3, #0x18 ldrb r2, [r2, #0x0] ldr r0, [r5, #0x18] lsr r3, r3, #0x18 bl FUN_020851F8 ldr r1, [r5, #0x18] ldr r2, [r5, #0x0] add r0, sp, #0x8 bl FUN_02006234 str r0, [r5, #0x1c] mov r0, #0x3 add sp, #0x18 pop {r3-r7, pc} nop _02088CD8: .word 0x020FD718 thumb_func_start FUN_02088CDC FUN_02088CDC: ; 0x02088CDC push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 add r0, #0x1c bl FUN_0208898C cmp r0, #0x0 bne _02088CF2 add sp, #0x4 mov r0, #0x3 pop {r3-r4, pc} _02088CF2: add r1, sp, #0x0 ldr r0, [r4, #0x18] add r1, #0x1 add r2, sp, #0x0 bl FUN_0208524C add r3, sp, #0x0 ldrb r2, [r3, #0x0] ldrb r3, [r3, #0x1] ldr r0, [r4, #0xc] mov r1, #0x4 bl FUN_0206F190 ldr r0, [r4, #0x18] bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x18] add sp, #0x4 pop {r3-r4, pc} .balign 4 thumb_func_start FUN_02088D1C FUN_02088D1C: ; 0x02088D1C mov r0, #0x13 bx lr thumb_func_start FUN_02088D20 FUN_02088D20: ; 0x02088D20 ldr r3, _02088D3C ; =0x020FD8C8 mov r2, #0x0 _02088D24: ldrb r1, [r3, #0x0] cmp r0, r1 bne _02088D2E add r0, r2, #0x0 bx lr _02088D2E: add r2, r2, #0x1 add r3, #0xc cmp r2, #0x13 blo _02088D24 mov r0, #0x0 bx lr nop _02088D3C: .word 0x020FD8C8 thumb_func_start FUN_02088D40 FUN_02088D40: ; 0x02088D40 push {r3, lr} bl FUN_02088D20 bl FUN_02088D4C pop {r3, pc} thumb_func_start FUN_02088D4C FUN_02088D4C: ; 0x02088D4C push {r4, lr} add r4, r0, #0x0 cmp r4, #0x13 blo _02088D58 bl ErrorHandling _02088D58: mov r0, #0xc add r1, r4, #0x0 mul r1, r0 ldr r0, _02088D64 ; =0x020FD8CA ldrh r0, [r0, r1] pop {r4, pc} .balign 4 _02088D64: .word 0x020FD8CA thumb_func_start FUN_02088D68 FUN_02088D68: ; 0x02088D68 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x13 blo _02088D74 bl ErrorHandling _02088D74: mov r0, #0xc add r1, r4, #0x0 mul r1, r0 ldr r0, _02088D80 ; =0x020FD8C8 ldrb r0, [r0, r1] pop {r4, pc} .balign 4 _02088D80: .word 0x020FD8C8 thumb_func_start FUN_02088D84 FUN_02088D84: ; 0x02088D84 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x13 blo _02088D90 bl ErrorHandling _02088D90: mov r0, #0xc add r1, r4, #0x0 mul r1, r0 ldr r0, _02088D9C ; =0x020FD8C9 ldrb r0, [r0, r1] pop {r4, pc} .balign 4 _02088D9C: .word 0x020FD8C9 thumb_func_start FUN_02088DA0 FUN_02088DA0: ; 0x02088DA0 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x13 blo _02088DAC bl ErrorHandling _02088DAC: mov r0, #0xc add r1, r4, #0x0 mul r1, r0 ldr r0, _02088DB8 ; =0x020FD8CC ldr r0, [r0, r1] pop {r4, pc} .balign 4 _02088DB8: .word 0x020FD8CC thumb_func_start FUN_02088DBC FUN_02088DBC: ; 0x02088DBC push {r4, lr} add r4, r0, #0x0 cmp r4, #0x13 blo _02088DC8 bl ErrorHandling _02088DC8: mov r0, #0xc add r1, r4, #0x0 mul r1, r0 ldr r0, _02088DD4 ; =0x020FD8D0 ldr r0, [r0, r1] pop {r4, pc} .balign 4 _02088DD4: .word 0x020FD8D0 thumb_func_start FUN_02088DD8 FUN_02088DD8: ; 0x02088DD8 push {r3, lr} mov r1, #0x18 bl FUN_02016998 add r3, r0, #0x0 mov r2, #0x18 mov r1, #0x0 _02088DE6: strb r1, [r3, #0x0] add r3, r3, #0x1 sub r2, r2, #0x1 bne _02088DE6 pop {r3, pc} thumb_func_start FUN_02088DF0 FUN_02088DF0: ; 0x02088DF0 ldr r3, _02088DF4 ; =FUN_02016A18 bx r3 .balign 4 _02088DF4: .word FUN_02016A18 thumb_func_start FUN_02088DF8 FUN_02088DF8: ; 0x02088DF8 push {r3-r7, lr} sub sp, #0x18 str r1, [sp, #0x0] mov r1, #0x5 mov r2, #0x0 add r5, r0, #0x0 bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0xc] add r0, r5, #0x0 mov r1, #0x70 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0xa0 mov r2, #0x0 bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r4, #0x0 str r0, [sp, #0x4] add r7, r4, #0x0 add r6, sp, #0x10 _02088E34: add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x36 add r2, r7, #0x0 bl FUN_020671BC lsl r1, r4, #0x1 strh r0, [r6, r1] add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x4 blo _02088E34 ldr r0, [sp, #0x0] mov r1, #0x2c bl FUN_02016998 add r7, r0, #0x0 ldr r0, [sp, #0x0] mov r1, #0x2c bl FUN_02016998 add r4, r0, #0x0 ldr r0, [sp, #0xc] ldr r1, [sp, #0x8] add r2, r7, #0x0 bl FUN_02069F9C mov r2, #0x0 mov r12, r2 _02088E70: mov r0, r12 lsl r0, r0, #0x1 ldrh r5, [r7, r0] ldr r6, _02088EF4 ; =0x0000FFFF cmp r5, r6 bne _02088E82 lsl r0, r2, #0x1 strh r6, [r4, r0] b _02088EE8 _02088E82: mov r1, #0xfe lsl r1, r1, #0x8 and r1, r5 asr r3, r1, #0x9 ldr r1, [sp, #0x4] cmp r3, r1 bgt _02088EDA lsr r1, r6, #0x7 and r1, r5 strh r1, [r7, r0] ldrh r3, [r7, r0] mov r1, #0x0 add r6, sp, #0x10 _02088E9C: lsl r5, r1, #0x1 ldrh r5, [r6, r5] cmp r3, r5 beq _02088EAE add r1, r1, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, #0x4 blo _02088E9C _02088EAE: cmp r1, #0x4 bne _02088EDA mov r1, #0x0 cmp r2, #0x0 bls _02088ECA _02088EB8: lsl r5, r1, #0x1 ldrh r5, [r4, r5] cmp r5, r3 beq _02088ECA add r1, r1, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, r2 blo _02088EB8 _02088ECA: cmp r1, r2 bne _02088EDA ldrh r1, [r7, r0] lsl r0, r2, #0x1 strh r1, [r4, r0] add r0, r2, #0x1 lsl r0, r0, #0x18 lsr r2, r0, #0x18 _02088EDA: mov r0, r12 add r0, r0, #0x1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r12, r0 cmp r0, #0x16 blo _02088E70 _02088EE8: add r0, r7, #0x0 bl FUN_02016A18 add r0, r4, #0x0 add sp, #0x18 pop {r3-r7, pc} .balign 4 _02088EF4: .word 0x0000FFFF thumb_func_start FUN_02088EF8 FUN_02088EF8: ; 0x02088EF8 ldrh r1, [r0, #0x0] ldr r0, _02088F08 ; =0x0000FFFF cmp r1, r0 beq _02088F04 mov r0, #0x1 bx lr _02088F04: mov r0, #0x0 bx lr .balign 4 _02088F08: .word 0x0000FFFF thumb_func_start FUN_02088F0C FUN_02088F0C: ; 0x02088F0C push {r4-r6, lr} add r5, r1, #0x0 ldr r1, _02088F44 ; =0x0000195C add r6, r0, #0x0 bl FUN_02016998 add r4, r0, #0x0 add r0, r6, #0x0 str r5, [r4, #0x0] bl FUN_020139D8 str r0, [r4, #0x4] mov r3, #0x0 ldr r0, _02088F48 ; =0x0000189E add r2, r3, #0x0 _02088F2A: add r1, r4, r3 add r3, r3, #0x1 strb r2, [r1, r0] cmp r3, #0xbb blt _02088F2A add r0, r4, #0x0 bl FUN_02088F60 add r0, r4, #0x0 bl FUN_020891D0 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 _02088F44: .word 0x0000195C _02088F48: .word 0x0000189E thumb_func_start FUN_02088F4C FUN_02088F4C: ; 0x02088F4C push {r4, lr} add r4, r0, #0x0 beq _02088F5E ldr r0, [r4, #0x4] bl FUN_02013A10 add r0, r4, #0x0 bl FUN_02016A18 _02088F5E: pop {r4, pc} thumb_func_start FUN_02088F60 FUN_02088F60: ; 0x02088F60 push {r4-r7, lr} sub sp, #0xc mov r4, #0x0 str r0, [sp, #0x0] add r7, r0, #0x0 str r0, [sp, #0x8] add r0, #0x68 ldr r5, _02088F9C ; =0x020FE17C str r4, [sp, #0x4] str r0, [sp, #0x8] _02088F74: ldr r3, [sp, #0x8] str r4, [r7, #0x38] lsl r6, r4, #0x1 add r3, r3, r6 ldr r0, [sp, #0x0] ldr r1, [r5, #0x4] ldr r2, [r5, #0x8] ldr r6, [r5, #0x0] blx r6 str r0, [r7, #0x8] add r4, r4, r0 ldr r0, [sp, #0x4] add r7, r7, #0x4 add r0, r0, #0x1 add r5, #0xc str r0, [sp, #0x4] cmp r0, #0xc blt _02088F74 add sp, #0xc pop {r4-r7, pc} .balign 4 _02088F9C: .word 0x020FE17C thumb_func_start FUN_02088FA0 FUN_02088FA0: ; 0x02088FA0 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] ldr r0, [r0, #0x0] str r2, [sp, #0x4] add r5, r1, #0x0 add r4, r3, #0x0 mov r6, #0x0 bl FUN_02085418 str r0, [sp, #0x8] ldr r0, [sp, #0x4] add r7, r6, #0x0 cmp r0, #0x0 bls _02088FF6 _02088FBE: ldrh r1, [r5, #0x0] ldr r0, [sp, #0x8] bl FUN_020245F0 cmp r0, #0x0 beq _02088FEC ldrh r3, [r5, #0x0] ldr r0, [sp, #0x0] mov r2, #0x7 lsr r1, r3, #0x3 add r1, r0, r1 ldr r0, _02088FFC ; =0x0000189E and r3, r2 mov r2, #0x1 ldrb r0, [r1, r0] lsl r2, r3 orr r2, r0 ldr r0, _02088FFC ; =0x0000189E add r6, r6, #0x1 strb r2, [r1, r0] ldrh r0, [r5, #0x0] strh r0, [r4, #0x0] add r4, r4, #0x2 _02088FEC: ldr r0, [sp, #0x4] add r7, r7, #0x1 add r5, r5, #0x2 cmp r7, r0 blo _02088FBE _02088FF6: add r0, r6, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 _02088FFC: .word 0x0000189E thumb_func_start FUN_02089000 FUN_02089000: ; 0x02089000 push {r3-r7, lr} str r0, [sp, #0x0] ldr r0, [r0, #0x0] add r5, r1, #0x0 add r7, r2, #0x0 add r4, r3, #0x0 bl FUN_02085420 cmp r0, #0x0 beq _02089046 mov r2, #0x0 cmp r7, #0x0 bls _02089042 _0208901A: ldrh r6, [r5, #0x0] ldr r0, [sp, #0x0] mov r3, #0x7 lsr r1, r6, #0x3 add r1, r0, r1 ldr r0, _0208904C ; =0x0000189E and r6, r3 mov r3, #0x1 ldrb r0, [r1, r0] lsl r3, r6 orr r3, r0 ldr r0, _0208904C ; =0x0000189E add r2, r2, #0x1 strb r3, [r1, r0] ldrh r0, [r5, #0x0] add r5, r5, #0x2 strh r0, [r4, #0x0] add r4, r4, #0x2 cmp r2, r7 blo _0208901A _02089042: add r0, r7, #0x0 pop {r3-r7, pc} _02089046: mov r0, #0x0 pop {r3-r7, pc} nop _0208904C: .word 0x0000189E thumb_func_start FUN_02089050 FUN_02089050: ; 0x02089050 push {r3-r7, lr} sub sp, #0x10 str r0, [sp, #0x0] ldr r0, [r0, #0x0] add r5, r1, #0x0 str r2, [sp, #0x4] add r4, r3, #0x0 bl FUN_0208541C str r0, [sp, #0xc] ldr r0, _020890BC ; =0x00000189 mov r1, #0x0 bl FUN_02013A9C str r0, [sp, #0x8] mov r7, #0x0 ldr r0, [sp, #0x4] add r6, r7, #0x0 cmp r0, #0x0 bls _020890B4 _02089078: ldrh r2, [r5, #0x0] ldr r1, [sp, #0x8] ldr r0, [sp, #0xc] sub r1, r2, r1 bl FUN_02013B68 cmp r0, #0x0 beq _020890AA ldrh r3, [r5, #0x0] ldr r0, [sp, #0x0] mov r2, #0x7 lsr r1, r3, #0x3 add r1, r0, r1 ldr r0, _020890C0 ; =0x0000189E and r3, r2 mov r2, #0x1 ldrb r0, [r1, r0] lsl r2, r3 orr r2, r0 ldr r0, _020890C0 ; =0x0000189E add r6, r6, #0x1 strb r2, [r1, r0] ldrh r0, [r5, #0x0] strh r0, [r4, #0x0] add r4, r4, #0x2 _020890AA: ldr r0, [sp, #0x4] add r7, r7, #0x1 add r5, r5, #0x2 cmp r7, r0 blo _02089078 _020890B4: add r0, r6, #0x0 add sp, #0x10 pop {r3-r7, pc} nop _020890BC: .word 0x00000189 _020890C0: .word 0x0000189E thumb_func_start FUN_020890C4 FUN_020890C4: ; 0x020890C4 push {r4-r7, lr} sub sp, #0x14 str r0, [sp, #0x0] ldr r0, [r0, #0x0] add r5, r1, #0x0 str r2, [sp, #0x4] add r4, r3, #0x0 bl FUN_0208541C str r0, [sp, #0x10] ldr r0, _02089144 ; =0x00000186 mov r1, #0x0 bl FUN_02013A9C add r6, r0, #0x0 add r0, r6, #0x5 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0xc] mov r7, #0x0 ldr r0, [sp, #0x4] str r7, [sp, #0x8] cmp r0, #0x0 bls _0208913C _020890F4: ldrh r1, [r5, #0x0] cmp r1, r6 blo _0208910C ldr r0, [sp, #0xc] cmp r1, r0 bhi _0208910C ldr r0, [sp, #0x10] sub r1, r1, r6 bl FUN_02013C0C cmp r0, #0x0 beq _0208912E _0208910C: ldrh r3, [r5, #0x0] ldr r0, [sp, #0x0] mov r2, #0x7 lsr r1, r3, #0x3 add r1, r0, r1 ldr r0, _02089148 ; =0x0000189E and r3, r2 mov r2, #0x1 ldrb r0, [r1, r0] lsl r2, r3 orr r2, r0 ldr r0, _02089148 ; =0x0000189E add r7, r7, #0x1 strb r2, [r1, r0] ldrh r0, [r5, #0x0] strh r0, [r4, #0x0] add r4, r4, #0x2 _0208912E: ldr r0, [sp, #0x8] add r5, r5, #0x2 add r1, r0, #0x1 ldr r0, [sp, #0x4] str r1, [sp, #0x8] cmp r1, r0 blo _020890F4 _0208913C: add r0, r7, #0x0 add sp, #0x14 pop {r4-r7, pc} nop _02089144: .word 0x00000186 _02089148: .word 0x0000189E thumb_func_start FUN_0208914C FUN_0208914C: ; 0x0208914C push {r3-r7, lr} add r6, r0, #0x0 mov r0, #0x0 mov lr, r2 mov r12, r0 mov r0, lr add r4, r1, #0x0 add r7, r3, #0x0 cmp r0, #0x0 bls _020891C2 _02089160: ldrh r2, [r4, #0x0] ldr r0, _020891C8 ; =0x0000FFFE cmp r2, r0 bne _02089196 add r0, r4, #0x2 add r4, r4, #0x4 ldrh r2, [r0, #0x0] ldrh r0, [r4, #0x0] cmp r2, #0x0 strh r0, [r7, #0x0] beq _020891B6 _02089176: ldrh r5, [r4, #0x0] mov r3, #0x7 add r4, r4, #0x2 lsr r0, r5, #0x3 add r1, r6, r0 ldr r0, _020891CC ; =0x0000189E and r5, r3 mov r3, #0x1 ldrb r0, [r1, r0] lsl r3, r5 orr r3, r0 ldr r0, _020891CC ; =0x0000189E sub r2, r2, #0x1 strb r3, [r1, r0] bne _02089176 b _020891B6 _02089196: lsr r0, r2, #0x3 ldr r1, _020891CC ; =0x0000189E add r0, r6, r0 ldrb r3, [r0, r1] mov r1, #0x7 mov r5, #0x1 and r1, r2 add r2, r5, #0x0 lsl r2, r1 ldr r1, _020891CC ; =0x0000189E orr r2, r3 strb r2, [r0, r1] ldrh r0, [r4, #0x0] add r4, r4, #0x2 strh r0, [r7, #0x0] add r7, r7, #0x2 _020891B6: mov r0, r12 add r1, r0, #0x1 mov r0, lr mov r12, r1 cmp r1, r0 blo _02089160 _020891C2: mov r0, lr pop {r3-r7, pc} nop _020891C8: .word 0x0000FFFE _020891CC: .word 0x0000189E thumb_func_start FUN_020891D0 FUN_020891D0: ; 0x020891D0 push {r3-r7, lr} add r7, r0, #0x0 mov r4, #0x0 ldr r6, _0208920C ; =0x020FDDF0 str r4, [sp, #0x0] add r5, r7, #0x0 _020891DC: ldr r0, _02089210 ; =0x00000C84 mov r2, #0xcf str r4, [r5, r0] lsl r2, r2, #0x4 ldr r1, [r6, #0x0] add r0, r7, #0x0 add r2, r7, r2 add r3, r4, #0x0 bl FUN_02089218 ldr r1, _02089214 ; =0x00000C18 add r6, r6, #0x4 str r0, [r5, r1] add r0, r1, #0x0 ldr r0, [r5, r0] add r5, r5, #0x4 add r4, r4, r0 ldr r0, [sp, #0x0] add r0, r0, #0x1 str r0, [sp, #0x0] cmp r0, #0x1b blo _020891DC pop {r3-r7, pc} nop _0208920C: .word 0x020FDDF0 _02089210: .word 0x00000C84 _02089214: .word 0x00000C18 thumb_func_start FUN_02089218 FUN_02089218: ; 0x02089218 push {r3-r7, lr} add r7, r1, #0x0 add r6, r0, #0x0 str r2, [sp, #0x0] mov r0, #0x0 mov r12, r0 ldrh r2, [r7, #0x0] ldr r0, _020892B8 ; =0x0000FFFF mov lr, r3 cmp r2, r0 beq _020892B4 _0208922E: ldr r0, _020892BC ; =0x0000FFFE cmp r2, r0 bne _02089280 add r0, r7, #0x2 ldrh r5, [r0, #0x0] add r7, r7, #0x4 mov r3, #0x0 cmp r5, #0x0 bls _0208927A add r4, r7, #0x0 _02089242: ldrh r2, [r4, #0x0] mov r0, #0x7 mov r1, #0x1 and r0, r2 lsl r1, r0 lsr r0, r2, #0x3 add r2, r6, r0 ldr r0, _020892C0 ; =0x0000189E ldrb r0, [r2, r0] tst r0, r1 beq _02089272 lsl r0, r3, #0x1 ldrh r1, [r7, r0] mov r0, lr lsl r2, r0, #0x1 mov r0, lr add r0, r0, #0x1 mov lr, r0 ldr r0, [sp, #0x0] strh r1, [r0, r2] mov r0, r12 add r0, r0, #0x1 mov r12, r0 b _0208927A _02089272: add r3, r3, #0x1 add r4, r4, #0x2 cmp r3, r5 blo _02089242 _0208927A: lsl r0, r5, #0x1 add r7, r7, r0 b _020892AC _02089280: mov r1, #0x1 mov r0, #0x7 and r0, r2 add r3, r1, #0x0 lsl r3, r0 lsr r0, r2, #0x3 add r1, r6, r0 ldr r0, _020892C0 ; =0x0000189E ldrb r0, [r1, r0] tst r0, r3 beq _020892AA mov r1, lr add r1, r1, #0x1 mov r0, lr mov lr, r1 ldr r1, [sp, #0x0] lsl r0, r0, #0x1 strh r2, [r1, r0] mov r0, r12 add r0, r0, #0x1 mov r12, r0 _020892AA: add r7, r7, #0x2 _020892AC: ldrh r2, [r7, #0x0] ldr r0, _020892B8 ; =0x0000FFFF cmp r2, r0 bne _0208922E _020892B4: mov r0, r12 pop {r3-r7, pc} .balign 4 _020892B8: .word 0x0000FFFF _020892BC: .word 0x0000FFFE _020892C0: .word 0x0000189E thumb_func_start FUN_020892C4 FUN_020892C4: ; 0x020892C4 lsl r1, r1, #0x2 add r0, r0, r1 ldr r0, [r0, #0x8] bx lr thumb_func_start FUN_020892CC FUN_020892CC: ; 0x020892CC push {r4, lr} add r4, r0, #0x0 lsl r1, r1, #0x2 add r1, r4, r1 ldr r1, [r1, #0x38] ldr r0, [r4, #0x4] add r1, r1, r2 lsl r1, r1, #0x1 add r1, r4, r1 add r1, #0x68 ldrh r1, [r1, #0x0] add r2, r3, #0x0 bl FUN_02013A30 pop {r4, pc} .balign 4 thumb_func_start FUN_020892EC FUN_020892EC: ; 0x020892EC lsl r1, r1, #0x2 add r1, r0, r1 ldr r1, [r1, #0x38] add r1, r1, r2 lsl r1, r1, #0x1 add r0, r0, r1 add r0, #0x68 ldrh r0, [r0, #0x0] bx lr .balign 4 thumb_func_start FUN_02089300 FUN_02089300: ; 0x02089300 lsl r1, r1, #0x2 add r1, r0, r1 ldr r0, _0208930C ; =0x00000C18 ldr r0, [r1, r0] bx lr nop _0208930C: .word 0x00000C18 thumb_func_start FUN_02089310 FUN_02089310: ; 0x02089310 push {r4-r6, lr} add r4, r3, #0x0 add r5, r0, #0x0 lsl r3, r1, #0x2 add r6, r5, r3 ldr r3, _02089334 ; =0x00000C18 ldr r3, [r6, r3] cmp r3, #0x0 beq _02089330 bl FUN_02089338 add r1, r0, #0x0 ldr r0, [r5, #0x4] add r2, r4, #0x0 bl FUN_02013A30 _02089330: pop {r4-r6, pc} nop _02089334: .word 0x00000C18 thumb_func_start FUN_02089338 FUN_02089338: ; 0x02089338 push {r3-r4} lsl r1, r1, #0x2 ldr r3, _02089360 ; =0x00000C18 add r4, r0, r1 ldr r1, [r4, r3] cmp r1, #0x0 beq _0208935A add r1, r3, #0x0 add r1, #0x6c ldr r1, [r4, r1] add r3, #0xd8 add r1, r2, r1 lsl r1, r1, #0x1 add r0, r0, r1 ldrh r0, [r0, r3] pop {r3-r4} bx lr _0208935A: ldr r0, _02089364 ; =0x0000FFFF pop {r3-r4} bx lr .balign 4 _02089360: .word 0x00000C18 _02089364: .word 0x0000FFFF thumb_func_start FUN_02089368 FUN_02089368: ; 0x02089368 push {r3-r6} mov r1, #0x0 ldr r2, _0208938C ; =0x020FF2FC ldr r5, _02089390 ; =0x020FE17C add r0, r1, #0x0 mov r3, #0xc _02089374: ldrb r4, [r2, #0x0] add r1, r1, #0x1 add r2, r2, #0x1 add r6, r4, #0x0 mul r6, r3 add r4, r5, r6 ldr r4, [r4, #0x8] add r0, r0, r4 cmp r1, #0x5 blo _02089374 pop {r3-r6} bx lr .balign 4 _0208938C: .word 0x020FF2FC _02089390: .word 0x020FE17C thumb_func_start FUN_02089394 FUN_02089394: ; 0x02089394 push {r4-r7} mov r2, #0x0 ldr r3, _020893D8 ; =0x020FF2FC add r1, r2, #0x0 _0208939C: ldrb r5, [r3, #0x0] mov r4, #0xc add r6, r5, #0x0 mul r6, r4 ldr r4, _020893DC ; =0x020FE17C add r5, r4, r6 ldr r7, [r5, #0x8] mov r6, #0x0 ldr r4, [r5, #0x4] cmp r7, #0x0 ble _020893C8 _020893B2: ldrh r5, [r4, #0x0] cmp r0, r5 bne _020893BE add r0, r2, #0x0 pop {r4-r7} bx lr _020893BE: add r6, r6, #0x1 add r2, r2, #0x1 add r4, r4, #0x2 cmp r6, r7 blt _020893B2 _020893C8: add r1, r1, #0x1 add r3, r3, #0x1 cmp r1, #0x5 blo _0208939C mov r0, #0x0 mvn r0, r0 pop {r4-r7} bx lr .balign 4 _020893D8: .word 0x020FF2FC _020893DC: .word 0x020FE17C thumb_func_start FUN_020893E0 FUN_020893E0: ; 0x020893E0 mov r1, #0x0 ldr r0, _020893EC ; =0x02106154 mvn r1, r1 str r1, [r0, #0x0] bx lr nop _020893EC: .word 0x02106154 thumb_func_start FUN_020893F0 FUN_020893F0: ; 0x020893F0 push {r4, lr} add r4, r0, #0x0 mov r0, #0x3 lsl r0, r0, #0xc cmp r2, r0 bhs _0208940A add r0, r1, #0x0 ldr r1, _02089410 ; =0x021C5C58 blx MIi_CpuCopy32 ldr r0, _02089414 ; =0x02106154 str r4, [r0, #0x0] pop {r4, pc} _0208940A: bl ErrorHandling pop {r4, pc} .balign 4 _02089410: .word 0x021C5C58 _02089414: .word 0x02106154 thumb_func_start FUN_02089418 FUN_02089418: ; 0x02089418 push {r3, lr} mov r3, #0x3 lsl r3, r3, #0xc cmp r2, r3 bhs _02089434 ldr r3, _0208943C ; =0x02106154 ldr r3, [r3, #0x0] cmp r0, r3 bne _02089438 ldr r0, _02089440 ; =0x021C5C58 blx MIi_CpuCopy32 mov r0, #0x1 pop {r3, pc} _02089434: bl ErrorHandling _02089438: mov r0, #0x0 pop {r3, pc} .balign 4 _0208943C: .word 0x02106154 _02089440: .word 0x021C5C58 thumb_func_start FUN_02089444 FUN_02089444: ; 0x02089444 push {r4, lr} add r4, r0, #0x0 mov r0, #0x3 lsl r0, r0, #0xc cmp r2, r0 bhs _0208945E add r0, r1, #0x0 ldr r1, _02089464 ; =0x021C5C58 blx MIi_CpuCopyFast ldr r0, _02089468 ; =0x02106154 str r4, [r0, #0x0] pop {r4, pc} _0208945E: bl ErrorHandling pop {r4, pc} .balign 4 _02089464: .word 0x021C5C58 _02089468: .word 0x02106154 thumb_func_start FUN_0208946C FUN_0208946C: ; 0x0208946C push {r3, lr} mov r3, #0x3 lsl r3, r3, #0xc cmp r2, r3 bhs _02089488 ldr r3, _02089490 ; =0x02106154 ldr r3, [r3, #0x0] cmp r0, r3 bne _0208948C ldr r0, _02089494 ; =0x021C5C58 blx MIi_CpuCopyFast mov r0, #0x1 pop {r3, pc} _02089488: bl ErrorHandling _0208948C: mov r0, #0x0 pop {r3, pc} .balign 4 _02089490: .word 0x02106154 _02089494: .word 0x021C5C58 thumb_func_start FUN_02089498 FUN_02089498: ; 0x02089498 push {r3-r5, lr} mov r2, #0x2 add r5, r0, #0x0 mov r0, #0x3 mov r1, #0x58 lsl r2, r2, #0x10 bl FUN_0201681C add r0, r5, #0x0 mov r1, #0x38 mov r2, #0x58 bl FUN_02006268 mov r1, #0x0 mov r2, #0x38 add r4, r0, #0x0 blx Call_FillMemWithValue mov r0, #0x58 str r0, [r4, #0x0] mov r0, #0x0 str r0, [r4, #0x4] add r0, r5, #0x0 bl FUN_0200628C ldr r0, [r0, #0x8] str r0, [r4, #0x30] mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_020894D4 FUN_020894D4: ; 0x020894D4 push {r3-r6, lr} sub sp, #0xc add r5, r1, #0x0 bl FUN_02006278 ldr r1, [r5, #0x0] add r4, r0, #0x0 mov r6, #0x0 cmp r1, #0x3 bhi _020895DA add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _020894F4: ; jump table (using 16-bit offset) .short _020894FC - _020894F4 - 2; case 0 .short _02089588 - _020894F4 - 2; case 1 .short _02089596 - _020894F4 - 2; case 2 .short _020895BC - _020894F4 - 2; case 3 _020894FC: ldr r0, _020895E0 ; =0x00000495 add r1, r6, #0x0 bl FUN_02005350 add r0, r6, #0x0 bl FUN_0200516C add r0, r6, #0x0 bl FUN_0200415C add r0, r6, #0x0 add r1, r0, #0x0 bl FUN_0200E3A0 mov r0, #0x1 add r1, r6, #0x0 bl FUN_0200E3A0 add r0, r6, #0x0 add r1, r0, #0x0 bl FUN_02015F10 add r0, r6, #0x0 add r1, r0, #0x0 bl FUN_02015F34 bl FUN_0201E6D8 bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] ldr r0, _020895E4 ; =0xFFFFE0FF and r1, r0 str r1, [r2, #0x0] ldr r2, _020895E8 ; =0x04001000 ldr r1, [r2, #0x0] and r0, r1 str r0, [r2, #0x0] mov r0, #0x4 mov r1, #0x8 bl FUN_0201669C add r0, r4, #0x0 bl FUN_0208961C add r0, r4, #0x0 bl FUN_02089734 ldr r0, _020895EC ; =FUN_02089610 add r1, r4, #0x0 bl FUN_02015F10 bl FUN_0201E788 mov r0, #0x6 mov r1, #0x1 str r0, [sp, #0x0] str r1, [sp, #0x4] ldr r0, [r4, #0x0] add r2, r1, #0x0 str r0, [sp, #0x8] add r0, r6, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 mov r0, #0x1 str r0, [r5, #0x0] b _020895DA _02089588: bl FUN_0200E308 cmp r0, #0x1 bne _020895DA mov r0, #0x2 str r0, [r5, #0x0] b _020895DA _02089596: bl FUN_02089790 cmp r0, #0x1 bne _020895DA mov r0, #0x6 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, [r4, #0x0] str r0, [sp, #0x8] add r0, r6, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 mov r0, #0x3 str r0, [r5, #0x0] b _020895DA _020895BC: bl FUN_0200E308 cmp r0, #0x1 bne _020895DA add r0, r4, #0x0 bl FUN_0208977C add r0, r4, #0x0 bl FUN_020896E0 add r0, r6, #0x0 add r1, r0, #0x0 bl FUN_02015F10 mov r6, #0x1 _020895DA: add r0, r6, #0x0 add sp, #0xc pop {r3-r6, pc} .balign 4 _020895E0: .word 0x00000495 _020895E4: .word 0xFFFFE0FF _020895E8: .word 0x04001000 _020895EC: .word FUN_02089610 thumb_func_start FUN_020895F0 FUN_020895F0: ; 0x020895F0 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02006278 ldr r4, [r0, #0x0] add r0, r5, #0x0 bl FUN_0200627C add r0, r4, #0x0 bl FUN_020168D0 mov r0, #0x0 blx OS_ResetSystem mov r0, #0x1 pop {r3-r5, pc} thumb_func_start FUN_02089610 FUN_02089610: ; 0x02089610 ldr r3, _02089618 ; =FUN_0201AB60 ldr r0, [r0, #0x14] bx r3 nop _02089618: .word FUN_0201AB60 thumb_func_start FUN_0208961C FUN_0208961C: ; 0x0208961C push {r4-r5, lr} sub sp, #0x5c ldr r5, _020896C8 ; =0x020FF340 add r4, r0, #0x0 add r3, sp, #0x34 mov r2, #0x5 _02089628: ldmia r5!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _02089628 add r0, sp, #0x34 bl FUN_0201E66C ldr r0, [r4, #0x0] bl FUN_02016B94 add r3, sp, #0x24 ldr r5, _020896CC ; =0x020FF314 str r0, [r4, #0x14] add r2, r3, #0x0 ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 bl FUN_02016BBC ldr r5, _020896D0 ; =0x020FF324 add r3, sp, #0x8 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x0 str r0, [r3, #0x0] ldr r0, [r4, #0x14] add r3, r1, #0x0 bl FUN_02016C18 ldr r0, [r4, #0x14] mov r1, #0x0 bl FUN_02018744 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, [r4, #0x0] ldr r2, _020896D4 ; =0x000001E2 str r0, [sp, #0x4] ldr r0, [r4, #0x14] mov r3, #0x2 bl FUN_0200CD68 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, [r4, #0x0] ldr r2, _020896D8 ; =0x000001D9 str r0, [sp, #0x4] ldr r0, [r4, #0x14] mov r3, #0x3 bl FUN_0200CB00 ldr r2, [r4, #0x0] mov r0, #0x0 mov r1, #0x20 bl FUN_02002ED0 mov r0, #0x0 ldr r3, [r4, #0x0] mov r1, #0x20 add r2, r0, #0x0 bl FUN_02017F18 ldr r1, _020896DC ; =0x00006C21 mov r0, #0x0 bl FUN_02017FE4 ldr r1, _020896DC ; =0x00006C21 mov r0, #0x4 bl FUN_02017FE4 add sp, #0x5c pop {r4-r5, pc} .balign 4 _020896C8: .word 0x020FF340 _020896CC: .word 0x020FF314 _020896D0: .word 0x020FF324 _020896D4: .word 0x000001E2 _020896D8: .word 0x000001D9 _020896DC: .word 0x00006C21 thumb_func_start FUN_020896E0 FUN_020896E0: ; 0x020896E0 push {r4, lr} add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 bl FUN_0201797C mov r0, #0x1 mov r1, #0x0 bl FUN_0201797C mov r0, #0x2 mov r1, #0x0 bl FUN_0201797C mov r0, #0x3 mov r1, #0x0 bl FUN_0201797C mov r0, #0x4 mov r1, #0x0 bl FUN_0201797C mov r0, #0x5 mov r1, #0x0 bl FUN_0201797C mov r0, #0x6 mov r1, #0x0 bl FUN_0201797C mov r0, #0x7 mov r1, #0x0 bl FUN_0201797C ldr r0, [r4, #0x14] mov r1, #0x0 bl FUN_020178A0 ldr r0, [r4, #0x14] bl FUN_02016A18 pop {r4, pc} thumb_func_start FUN_02089734 FUN_02089734: ; 0x02089734 push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 ldr r3, [r4, #0x0] mov r0, #0x1 mov r1, #0x1a mov r2, #0x4 bl FUN_0200A86C str r0, [r4, #0x18] bl FUN_0201BD5C mov r0, #0x0 str r0, [r4, #0x8] add r1, r4, #0x0 ldr r0, [r4, #0x14] ldr r2, _02089778 ; =0x020FF304 add r1, #0x1c bl FUN_02019150 mov r0, #0xd8 str r0, [sp, #0x0] mov r0, #0x20 mov r2, #0x0 add r4, #0x1c str r0, [sp, #0x4] add r0, r4, #0x0 mov r1, #0xf add r3, r2, #0x0 bl FUN_020196F4 add sp, #0x8 pop {r4, pc} nop _02089778: .word 0x020FF304 thumb_func_start FUN_0208977C FUN_0208977C: ; 0x0208977C push {r4, lr} add r4, r0, #0x0 add r0, #0x1c bl FUN_02019178 ldr r0, [r4, #0x18] bl FUN_0200A8B8 pop {r4, pc} .balign 4 thumb_func_start FUN_02089790 FUN_02089790: ; 0x02089790 push {r3-r5, lr} sub sp, #0x8 add r4, r0, #0x0 ldr r1, [r4, #0x4] mov r5, #0x0 cmp r1, #0x6 bhi _02089888 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _020897AA: ; jump table (using 16-bit offset) .short _020897B8 - _020897AA - 2; case 0 .short _020897E2 - _020897AA - 2; case 1 .short _02089802 - _020897AA - 2; case 2 .short _0208982C - _020897AA - 2; case 3 .short _0208984C - _020897AA - 2; case 4 .short _0208986C - _020897AA - 2; case 5 .short _0208987E - _020897AA - 2; case 6 _020897B8: add r1, r5, #0x0 mov r2, #0x1 mov r3, #0x4 bl FUN_0208989C cmp r0, #0x1 bne _02089888 mov r0, #0x1 str r0, [sp, #0x0] ldr r0, [r4, #0x0] ldr r1, _02089890 ; =0x020FF30C str r0, [sp, #0x4] ldr r0, [r4, #0x14] ldr r2, _02089894 ; =0x000001D9 mov r3, #0x3 bl FUN_020020EC str r0, [r4, #0x2c] mov r0, #0x1 str r0, [r4, #0x4] b _02089888 _020897E2: ldr r0, [r4, #0x2c] ldr r1, [r4, #0x0] bl FUN_020021AC cmp r0, #0x0 beq _020897F6 sub r1, r5, #0x2 cmp r0, r1 beq _020897FC b _02089888 _020897F6: mov r0, #0x2 str r0, [r4, #0x4] b _02089888 _020897FC: mov r0, #0x6 str r0, [r4, #0x4] b _02089888 _02089802: mov r1, #0x1 add r2, r1, #0x0 mov r3, #0x4 bl FUN_0208989C cmp r0, #0x1 bne _02089888 mov r0, #0x1 str r0, [sp, #0x0] ldr r0, [r4, #0x0] ldr r1, _02089890 ; =0x020FF30C str r0, [sp, #0x4] ldr r0, [r4, #0x14] ldr r2, _02089894 ; =0x000001D9 mov r3, #0x3 bl FUN_020020EC str r0, [r4, #0x2c] mov r0, #0x3 str r0, [r4, #0x4] b _02089888 _0208982C: ldr r0, [r4, #0x2c] ldr r1, [r4, #0x0] bl FUN_020021AC cmp r0, #0x0 beq _02089840 sub r1, r5, #0x2 cmp r0, r1 beq _02089846 b _02089888 _02089840: mov r0, #0x4 str r0, [r4, #0x4] b _02089888 _02089846: mov r0, #0x6 str r0, [r4, #0x4] b _02089888 _0208984C: mov r1, #0x2 mov r2, #0x1 add r3, r5, #0x0 bl FUN_0208989C cmp r0, #0x1 bne _02089888 add r0, r4, #0x0 ldr r1, _02089898 ; =0x000001E2 add r0, #0x1c bl FUN_0200D858 str r0, [r4, #0x34] mov r0, #0x5 str r0, [r4, #0x4] b _02089888 _0208986C: ldr r0, [r4, #0x30] bl FUN_0202263C ldr r0, [r4, #0x34] bl FUN_0200DBFC mov r0, #0x6 str r0, [r4, #0x4] b _02089888 _0208987E: ldr r0, [r4, #0x14] add r1, r5, #0x0 bl FUN_02018744 mov r5, #0x1 _02089888: add r0, r5, #0x0 add sp, #0x8 pop {r3-r5, pc} nop _02089890: .word 0x020FF30C _02089894: .word 0x000001D9 _02089898: .word 0x000001E2 thumb_func_start FUN_0208989C FUN_0208989C: ; 0x0208989C push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 ldr r0, [r5, #0x8] add r7, r1, #0x0 add r4, r3, #0x0 mov r6, #0x0 cmp r0, #0x0 beq _020898B8 cmp r0, #0x1 beq _02089920 cmp r0, #0x2 beq _0208993C b _02089950 _020898B8: mov r0, #0xd8 str r0, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] add r0, r5, #0x0 add r0, #0x1c mov r1, #0xf add r2, r6, #0x0 add r3, r6, #0x0 bl FUN_020196F4 add r0, r5, #0x0 ldr r2, _02089958 ; =0x000001E2 add r0, #0x1c add r1, r6, #0x0 mov r3, #0x2 bl FUN_0200D0BC mov r0, #0x1 ldr r1, [r5, #0x0] lsl r0, r0, #0xa bl FUN_020219F4 str r0, [r5, #0x10] ldr r0, [r5, #0x18] ldr r2, [r5, #0x10] add r1, r7, #0x0 bl FUN_0200A8E0 add r3, r6, #0x0 str r3, [sp, #0x0] str r4, [sp, #0x4] str r3, [sp, #0x8] add r0, r5, #0x0 ldr r2, [r5, #0x10] add r0, #0x1c mov r1, #0x1 bl FUN_0201BD84 str r0, [r5, #0xc] cmp r4, #0x0 bne _02089918 ldr r0, [r5, #0x10] bl FUN_02021A20 ldr r0, [r5, #0x8] add r0, r0, #0x1 str r0, [r5, #0x8] _02089918: ldr r0, [r5, #0x8] add r0, r0, #0x1 str r0, [r5, #0x8] b _02089950 _02089920: ldr r0, [r5, #0xc] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0201BD70 cmp r0, #0x0 bne _02089950 ldr r0, [r5, #0x10] bl FUN_02021A20 ldr r0, [r5, #0x8] add r0, r0, #0x1 str r0, [r5, #0x8] b _02089950 _0208993C: cmp r2, #0x0 bne _0208994A ldr r0, _0208995C ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x1 tst r0, r1 beq _02089950 _0208994A: mov r0, #0x0 str r0, [r5, #0x8] mov r6, #0x1 _02089950: add r0, r6, #0x0 add sp, #0xc pop {r4-r7, pc} nop _02089958: .word 0x000001E2 _0208995C: .word 0x021C48B8 thumb_func_start FUN_02089960 FUN_02089960: ; 0x02089960 push {r3-r5, lr} mov r2, #0x2 add r5, r0, #0x0 mov r0, #0x3 mov r1, #0x58 lsl r2, r2, #0x10 bl FUN_0201681C add r0, r5, #0x0 mov r1, #0x3c mov r2, #0x58 bl FUN_02006268 mov r1, #0x0 mov r2, #0x3c add r4, r0, #0x0 blx Call_FillMemWithValue mov r0, #0x58 str r0, [r4, #0x0] mov r0, #0x0 str r0, [r4, #0x4] add r0, r5, #0x0 bl FUN_0200628C ldr r0, [r0, #0x8] str r0, [r4, #0x34] mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0208999C FUN_0208999C: ; 0x0208999C push {r4-r6, lr} add r5, r1, #0x0 bl FUN_02006278 ldr r1, [r5, #0x0] add r6, r0, #0x0 mov r4, #0x0 cmp r1, #0x0 beq _020899B8 cmp r1, #0x1 beq _02089A12 cmp r1, #0x2 beq _02089A20 b _02089A34 _020899B8: add r0, r4, #0x0 add r1, r4, #0x0 bl FUN_0200E3A0 mov r0, #0x1 add r1, r4, #0x0 bl FUN_0200E3A0 add r0, r4, #0x0 add r1, r0, #0x0 bl FUN_02015F10 add r0, r4, #0x0 add r1, r0, #0x0 bl FUN_02015F34 bl FUN_0201E6D8 bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] ldr r0, _02089A38 ; =0xFFFFE0FF and r1, r0 str r1, [r2, #0x0] ldr r2, _02089A3C ; =0x04001000 ldr r1, [r2, #0x0] and r0, r1 str r0, [r2, #0x0] mov r0, #0x4 mov r1, #0x8 bl FUN_0201669C add r0, r6, #0x0 bl FUN_02089A6C add r0, r6, #0x0 bl FUN_02089B80 bl FUN_0201E788 mov r0, #0x1 str r0, [r5, #0x0] b _02089A34 _02089A12: bl FUN_02089BE0 cmp r0, #0x1 bne _02089A34 mov r0, #0x2 str r0, [r5, #0x0] b _02089A34 _02089A20: bl FUN_02089BCC add r0, r6, #0x0 bl FUN_02089B2C add r0, r4, #0x0 add r1, r0, #0x0 bl FUN_02015F10 mov r4, #0x1 _02089A34: add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 _02089A38: .word 0xFFFFE0FF _02089A3C: .word 0x04001000 thumb_func_start FUN_02089A40 FUN_02089A40: ; 0x02089A40 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02006278 ldr r4, [r0, #0x0] add r0, r5, #0x0 bl FUN_0200627C add r0, r4, #0x0 bl FUN_020168D0 ldr r0, _02089A64 ; =0x00000053 ldr r1, _02089A68 ; =0x0223A360 bl FUN_02000E7C mov r0, #0x1 pop {r3-r5, pc} nop _02089A64: .word 0x00000053 _02089A68: .word 0x0223A360 thumb_func_start FUN_02089A6C FUN_02089A6C: ; 0x02089A6C push {r4-r5, lr} sub sp, #0x5c ldr r5, _02089B18 ; =0x020FF3AC add r4, r0, #0x0 add r3, sp, #0x34 mov r2, #0x5 _02089A78: ldmia r5!, {r0-r1} stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _02089A78 add r0, sp, #0x34 bl FUN_0201E66C ldr r0, [r4, #0x0] bl FUN_02016B94 add r3, sp, #0x24 ldr r5, _02089B1C ; =0x020FF380 str r0, [r4, #0x18] add r2, r3, #0x0 ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 bl FUN_02016BBC ldr r5, _02089B20 ; =0x020FF390 add r3, sp, #0x8 ldmia r5!, {r0-r1} add r2, r3, #0x0 stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] mov r1, #0x0 str r0, [r3, #0x0] ldr r0, [r4, #0x18] add r3, r1, #0x0 bl FUN_02016C18 ldr r0, [r4, #0x18] mov r1, #0x0 bl FUN_02018744 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, [r4, #0x0] ldr r2, _02089B24 ; =0x000001E2 str r0, [sp, #0x4] ldr r0, [r4, #0x18] mov r3, #0x2 bl FUN_0200CD68 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, [r4, #0x0] ldr r2, _02089B28 ; =0x000001D9 str r0, [sp, #0x4] ldr r0, [r4, #0x18] mov r3, #0x3 bl FUN_0200CB00 ldr r2, [r4, #0x0] mov r0, #0x0 mov r1, #0x20 bl FUN_02002ED0 mov r0, #0x0 ldr r3, [r4, #0x0] mov r1, #0x20 add r2, r0, #0x0 bl FUN_02017F18 mov r0, #0x0 add r1, r0, #0x0 bl FUN_02017FE4 mov r0, #0x4 mov r1, #0x0 bl FUN_02017FE4 add sp, #0x5c pop {r4-r5, pc} .balign 4 _02089B18: .word 0x020FF3AC _02089B1C: .word 0x020FF380 _02089B20: .word 0x020FF390 _02089B24: .word 0x000001E2 _02089B28: .word 0x000001D9 thumb_func_start FUN_02089B2C FUN_02089B2C: ; 0x02089B2C push {r4, lr} add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 bl FUN_0201797C mov r0, #0x1 mov r1, #0x0 bl FUN_0201797C mov r0, #0x2 mov r1, #0x0 bl FUN_0201797C mov r0, #0x3 mov r1, #0x0 bl FUN_0201797C mov r0, #0x4 mov r1, #0x0 bl FUN_0201797C mov r0, #0x5 mov r1, #0x0 bl FUN_0201797C mov r0, #0x6 mov r1, #0x0 bl FUN_0201797C mov r0, #0x7 mov r1, #0x0 bl FUN_0201797C ldr r0, [r4, #0x18] mov r1, #0x0 bl FUN_020178A0 ldr r0, [r4, #0x18] bl FUN_02016A18 pop {r4, pc} thumb_func_start FUN_02089B80 FUN_02089B80: ; 0x02089B80 push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 ldr r2, _02089BC4 ; =0x00000167 ldr r3, [r4, #0x0] mov r0, #0x1 mov r1, #0x1a bl FUN_0200A86C str r0, [r4, #0x1c] bl FUN_0201BD5C mov r0, #0x0 str r0, [r4, #0xc] add r1, r4, #0x0 ldr r0, [r4, #0x18] ldr r2, _02089BC8 ; =0x020FF378 add r1, #0x20 bl FUN_02019150 mov r0, #0xd8 str r0, [sp, #0x0] mov r0, #0x20 mov r2, #0x0 add r4, #0x20 str r0, [sp, #0x4] add r0, r4, #0x0 mov r1, #0xf add r3, r2, #0x0 bl FUN_020196F4 add sp, #0x8 pop {r4, pc} nop _02089BC4: .word 0x00000167 _02089BC8: .word 0x020FF378 thumb_func_start FUN_02089BCC FUN_02089BCC: ; 0x02089BCC push {r4, lr} add r4, r0, #0x0 add r0, #0x20 bl FUN_02019178 ldr r0, [r4, #0x1c] bl FUN_0200A8B8 pop {r4, pc} .balign 4 thumb_func_start FUN_02089BE0 FUN_02089BE0: ; 0x02089BE0 push {r4-r5, lr} sub sp, #0xc add r4, r0, #0x0 ldr r1, [r4, #0x4] mov r5, #0x0 cmp r1, #0x5 bhi _02089CC2 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02089BFA: ; jump table (using 16-bit offset) .short _02089C06 - _02089BFA - 2; case 0 .short _02089C3C - _02089BFA - 2; case 1 .short _02089C68 - _02089BFA - 2; case 2 .short _02089C76 - _02089BFA - 2; case 3 .short _02089CA2 - _02089BFA - 2; case 4 .short _02089CC0 - _02089BFA - 2; case 5 _02089C06: ldr r0, [r4, #0x34] bl FUN_02022800 cmp r0, #0x3 bhi _02089CC2 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02089C1C: ; jump table (using 16-bit offset) .short _02089C24 - _02089C1C - 2; case 0 .short _02089C24 - _02089C1C - 2; case 1 .short _02089C2A - _02089C1C - 2; case 2 .short _02089C34 - _02089C1C - 2; case 3 _02089C24: mov r0, #0x5 str r0, [r4, #0x4] b _02089CC2 _02089C2A: add r0, r5, #0x0 str r0, [r4, #0x8] mov r0, #0x1 str r0, [r4, #0x4] b _02089CC2 _02089C34: mov r0, #0x1 str r0, [r4, #0x8] str r0, [r4, #0x4] b _02089CC2 _02089C3C: ldr r1, _02089CC8 ; =0x00006C21 add r0, r5, #0x0 bl FUN_02017FE4 ldr r1, _02089CC8 ; =0x00006C21 mov r0, #0x4 bl FUN_02017FE4 mov r0, #0x6 mov r1, #0x1 str r0, [sp, #0x0] str r1, [sp, #0x4] ldr r0, [r4, #0x0] add r2, r1, #0x0 str r0, [sp, #0x8] add r0, r5, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 mov r0, #0x2 str r0, [r4, #0x4] b _02089CC2 _02089C68: bl FUN_0200E308 cmp r0, #0x1 bne _02089CC2 mov r0, #0x3 str r0, [r4, #0x4] b _02089CC2 _02089C76: ldr r1, [r4, #0x8] add r2, r5, #0x0 mov r3, #0x4 bl FUN_02089CCC cmp r0, #0x1 bne _02089CC2 mov r0, #0x6 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r0, [r4, #0x0] str r0, [sp, #0x8] add r0, r5, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 bl FUN_0200E1D0 mov r0, #0x4 str r0, [r4, #0x4] b _02089CC2 _02089CA2: bl FUN_0200E308 cmp r0, #0x1 bne _02089CC2 add r0, r5, #0x0 add r1, r0, #0x0 bl FUN_02017FE4 mov r0, #0x4 add r1, r5, #0x0 bl FUN_02017FE4 mov r0, #0x5 str r0, [r4, #0x4] b _02089CC2 _02089CC0: mov r5, #0x1 _02089CC2: add r0, r5, #0x0 add sp, #0xc pop {r4-r5, pc} .balign 4 _02089CC8: .word 0x00006C21 thumb_func_start FUN_02089CCC FUN_02089CCC: ; 0x02089CCC push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 ldr r0, [r5, #0xc] add r7, r1, #0x0 add r4, r3, #0x0 mov r6, #0x0 cmp r0, #0x0 beq _02089CE8 cmp r0, #0x1 beq _02089D50 cmp r0, #0x2 beq _02089D6C b _02089D80 _02089CE8: mov r0, #0xd8 str r0, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] add r0, r5, #0x0 add r0, #0x20 mov r1, #0xf add r2, r6, #0x0 add r3, r6, #0x0 bl FUN_020196F4 add r0, r5, #0x0 ldr r2, _02089D88 ; =0x000001E2 add r0, #0x20 add r1, r6, #0x0 mov r3, #0x2 bl FUN_0200D0BC mov r0, #0x1 ldr r1, [r5, #0x0] lsl r0, r0, #0xa bl FUN_020219F4 str r0, [r5, #0x14] ldr r0, [r5, #0x1c] ldr r2, [r5, #0x14] add r1, r7, #0x0 bl FUN_0200A8E0 add r3, r6, #0x0 str r3, [sp, #0x0] str r4, [sp, #0x4] str r3, [sp, #0x8] add r0, r5, #0x0 ldr r2, [r5, #0x14] add r0, #0x20 mov r1, #0x1 bl FUN_0201BD84 str r0, [r5, #0x10] cmp r4, #0x0 bne _02089D48 ldr r0, [r5, #0x14] bl FUN_02021A20 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] _02089D48: ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] b _02089D80 _02089D50: ldr r0, [r5, #0x10] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0201BD70 cmp r0, #0x0 bne _02089D80 ldr r0, [r5, #0x14] bl FUN_02021A20 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] b _02089D80 _02089D6C: cmp r2, #0x0 bne _02089D7A ldr r0, _02089D8C ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x1 tst r0, r1 beq _02089D80 _02089D7A: mov r0, #0x0 str r0, [r5, #0xc] mov r6, #0x1 _02089D80: add r0, r6, #0x0 add sp, #0xc pop {r4-r7, pc} nop _02089D88: .word 0x000001E2 _02089D8C: .word 0x021C48B8 thumb_func_start FUN_02089D90 FUN_02089D90: ; 0x02089D90 push {r3-r6, lr} sub sp, #0x1c add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 bl FUN_0200E3A0 mov r0, #0x1 mov r1, #0x0 bl FUN_0200E3A0 mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F10 mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F34 bl FUN_0201E6D8 bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] ldr r0, _02089EF4 ; =0xFFFFE0FF and r1, r0 str r1, [r2, #0x0] ldr r2, _02089EF8 ; =0x04001000 ldr r1, [r2, #0x0] and r0, r1 str r0, [r2, #0x0] mov r0, #0x4 mov r1, #0x8 bl FUN_0201669C ldr r0, _02089EFC ; =0x021C4918 mov r1, #0x0 strb r1, [r0, #0x5] bl FUN_0201E7A0 ldr r3, _02089F00 ; =0x04000050 mov r0, #0x0 strh r0, [r3, #0x0] ldr r2, _02089F04 ; =0x04001050 sub r3, #0x50 strh r0, [r2, #0x0] ldr r1, [r3, #0x0] ldr r0, _02089F08 ; =0xFFFF1FFF sub r2, #0x50 and r1, r0 str r1, [r3, #0x0] ldr r1, [r2, #0x0] and r0, r1 str r0, [r2, #0x0] ldr r0, _02089F0C ; =0x020FF418 bl FUN_0201E66C add r0, r4, #0x0 bl FUN_02016B94 add r5, r0, #0x0 ldr r0, _02089F10 ; =0x020FF3EC bl FUN_02016BBC mov r1, #0x0 ldr r2, _02089F14 ; =0x020FF3FC add r0, r5, #0x0 add r3, r1, #0x0 bl FUN_02016C18 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02018744 mov r1, #0x0 str r1, [sp, #0x0] ldr r2, _02089F18 ; =0x000001F7 add r0, r5, #0x0 mov r3, #0x2 str r4, [sp, #0x4] bl FUN_0200CB00 mov r0, #0x0 mov r1, #0x20 add r2, r4, #0x0 bl FUN_02002ED0 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 add r3, r4, #0x0 bl FUN_02017F18 ldr r1, _02089F1C ; =0x00006C21 mov r0, #0x0 bl FUN_02017FE4 ldr r1, _02089F1C ; =0x00006C21 mov r0, #0x4 bl FUN_02017FE4 mov r0, #0x1 mov r1, #0x1a mov r2, #0x5 add r3, r4, #0x0 bl FUN_0200A86C add r6, r0, #0x0 mov r0, #0x6 lsl r0, r0, #0x6 add r1, r4, #0x0 bl FUN_020219F4 add r4, r0, #0x0 bl FUN_0201BD5C ldr r2, _02089F20 ; =0x020FF3E4 add r0, r5, #0x0 add r1, sp, #0xc bl FUN_02019150 mov r0, #0xd0 str r0, [sp, #0x0] mov r0, #0x90 mov r2, #0x0 str r0, [sp, #0x4] add r0, sp, #0xc mov r1, #0xf add r3, r2, #0x0 bl FUN_020196F4 ldr r2, _02089F18 ; =0x000001F7 add r0, sp, #0xc mov r1, #0x0 mov r3, #0x2 bl FUN_0200CCA4 add r0, r6, #0x0 mov r1, #0x0 add r2, r4, #0x0 bl FUN_0200A8E0 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] add r0, sp, #0xc add r2, r4, #0x0 add r3, r1, #0x0 str r1, [sp, #0x8] bl FUN_0201BD84 add r0, r4, #0x0 bl FUN_02021A20 bl FUN_0201E788 mov r0, #0x0 bl FUN_0200E394 mov r0, #0x1 bl FUN_0200E394 mov r0, #0x0 mov r1, #0x3f mov r2, #0x3 bl FUN_0200A274 mov r4, #0x1 _02089EE4: bl FUN_02000FE8 add r0, r4, #0x0 add r1, r4, #0x0 blx OS_WaitIrq b _02089EE4 nop _02089EF4: .word 0xFFFFE0FF _02089EF8: .word 0x04001000 _02089EFC: .word 0x021C4918 _02089F00: .word 0x04000050 _02089F04: .word 0x04001050 _02089F08: .word 0xFFFF1FFF _02089F0C: .word 0x020FF418 _02089F10: .word 0x020FF3EC _02089F14: .word 0x020FF3FC _02089F18: .word 0x000001F7 _02089F1C: .word 0x00006C21 _02089F20: .word 0x020FF3E4 thumb_func_start FUN_02089F24 FUN_02089F24: ; 0x02089F24 push {r3-r6, lr} sub sp, #0x1c add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 bl FUN_0200E3A0 mov r0, #0x1 mov r1, #0x0 bl FUN_0200E3A0 mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F10 mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F34 bl FUN_0201E6D8 bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] ldr r0, _0208A088 ; =0xFFFFE0FF and r1, r0 str r1, [r2, #0x0] ldr r2, _0208A08C ; =0x04001000 ldr r1, [r2, #0x0] and r0, r1 str r0, [r2, #0x0] mov r0, #0x4 mov r1, #0x8 bl FUN_0201669C ldr r0, _0208A090 ; =0x021C4918 mov r1, #0x0 strb r1, [r0, #0x5] bl FUN_0201E7A0 ldr r3, _0208A094 ; =0x04000050 mov r0, #0x0 strh r0, [r3, #0x0] ldr r2, _0208A098 ; =0x04001050 sub r3, #0x50 strh r0, [r2, #0x0] ldr r1, [r3, #0x0] ldr r0, _0208A09C ; =0xFFFF1FFF sub r2, #0x50 and r1, r0 str r1, [r3, #0x0] ldr r1, [r2, #0x0] and r0, r1 str r0, [r2, #0x0] ldr r0, _0208A0A0 ; =0x020FF418 bl FUN_0201E66C add r0, r4, #0x0 bl FUN_02016B94 add r5, r0, #0x0 ldr r0, _0208A0A4 ; =0x020FF3EC bl FUN_02016BBC mov r1, #0x0 ldr r2, _0208A0A8 ; =0x020FF3FC add r0, r5, #0x0 add r3, r1, #0x0 bl FUN_02016C18 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02018744 mov r1, #0x0 str r1, [sp, #0x0] ldr r2, _0208A0AC ; =0x000001F7 add r0, r5, #0x0 mov r3, #0x2 str r4, [sp, #0x4] bl FUN_0200CB00 mov r0, #0x0 mov r1, #0x20 add r2, r4, #0x0 bl FUN_02002ED0 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 add r3, r4, #0x0 bl FUN_02017F18 ldr r1, _0208A0B0 ; =0x00006C21 mov r0, #0x0 bl FUN_02017FE4 ldr r1, _0208A0B0 ; =0x00006C21 mov r0, #0x4 bl FUN_02017FE4 mov r0, #0x1 mov r1, #0x1a mov r2, #0x5 add r3, r4, #0x0 bl FUN_0200A86C add r6, r0, #0x0 mov r0, #0x6 lsl r0, r0, #0x6 add r1, r4, #0x0 bl FUN_020219F4 add r4, r0, #0x0 bl FUN_0201BD5C ldr r2, _0208A0B4 ; =0x020FF3E4 add r0, r5, #0x0 add r1, sp, #0xc bl FUN_02019150 mov r0, #0xd0 str r0, [sp, #0x0] mov r0, #0x90 mov r2, #0x0 str r0, [sp, #0x4] add r0, sp, #0xc mov r1, #0xf add r3, r2, #0x0 bl FUN_020196F4 ldr r2, _0208A0AC ; =0x000001F7 add r0, sp, #0xc mov r1, #0x0 mov r3, #0x2 bl FUN_0200CCA4 add r0, r6, #0x0 mov r1, #0x1 add r2, r4, #0x0 bl FUN_0200A8E0 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] add r0, sp, #0xc add r2, r4, #0x0 add r3, r1, #0x0 str r1, [sp, #0x8] bl FUN_0201BD84 add r0, r4, #0x0 bl FUN_02021A20 bl FUN_0201E788 mov r0, #0x0 bl FUN_0200E394 mov r0, #0x1 bl FUN_0200E394 mov r0, #0x0 mov r1, #0x3f mov r2, #0x3 bl FUN_0200A274 mov r4, #0x1 _0208A078: bl FUN_02000FE8 add r0, r4, #0x0 add r1, r4, #0x0 blx OS_WaitIrq b _0208A078 nop _0208A088: .word 0xFFFFE0FF _0208A08C: .word 0x04001000 _0208A090: .word 0x021C4918 _0208A094: .word 0x04000050 _0208A098: .word 0x04001050 _0208A09C: .word 0xFFFF1FFF _0208A0A0: .word 0x020FF418 _0208A0A4: .word 0x020FF3EC _0208A0A8: .word 0x020FF3FC _0208A0AC: .word 0x000001F7 _0208A0B0: .word 0x00006C21 _0208A0B4: .word 0x020FF3E4 thumb_func_start FUN_0208A0B8 FUN_0208A0B8: ; 0x0208A0B8 push {r4-r7, lr} sub sp, #0x1c add r4, r0, #0x0 cmp r1, #0x0 bne _0208A0C6 mov r6, #0x1 b _0208A0C8 _0208A0C6: mov r6, #0x0 _0208A0C8: mov r0, #0x0 add r1, r0, #0x0 bl FUN_0200E3A0 mov r0, #0x1 mov r1, #0x0 bl FUN_0200E3A0 bl FUN_02015EF4 mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F10 mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F34 bl FUN_0201E6D8 bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] ldr r0, _0208A228 ; =0xFFFFE0FF and r1, r0 str r1, [r2, #0x0] ldr r2, _0208A22C ; =0x04001000 ldr r1, [r2, #0x0] and r0, r1 str r0, [r2, #0x0] mov r0, #0x4 mov r1, #0x8 bl FUN_0201669C ldr r0, _0208A230 ; =0x021C4918 mov r1, #0x0 strb r1, [r0, #0x5] bl FUN_0201E7A0 ldr r3, _0208A234 ; =0x04000050 mov r1, #0x0 strh r1, [r3, #0x0] ldr r0, _0208A238 ; =0x04001050 sub r3, #0x50 strh r1, [r0, #0x0] ldr r2, [r3, #0x0] ldr r1, _0208A23C ; =0xFFFF1FFF sub r0, #0x50 and r2, r1 str r2, [r3, #0x0] ldr r2, [r0, #0x0] and r1, r2 str r1, [r0, #0x0] ldr r0, _0208A240 ; =0x020FF474 bl FUN_0201E66C add r0, r4, #0x0 bl FUN_02016B94 add r5, r0, #0x0 ldr r0, _0208A244 ; =0x020FF448 bl FUN_02016BBC mov r1, #0x0 ldr r2, _0208A248 ; =0x020FF458 add r0, r5, #0x0 add r3, r1, #0x0 bl FUN_02016C18 add r0, r5, #0x0 mov r1, #0x0 bl FUN_02018744 mov r1, #0x0 str r1, [sp, #0x0] ldr r2, _0208A24C ; =0x000001F7 add r0, r5, #0x0 mov r3, #0x2 str r4, [sp, #0x4] bl FUN_0200CB00 mov r0, #0x0 mov r1, #0x20 add r2, r4, #0x0 bl FUN_02002ED0 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 add r3, r4, #0x0 bl FUN_02017F18 ldr r1, _0208A250 ; =0x00006C21 mov r0, #0x0 bl FUN_02017FE4 ldr r1, _0208A250 ; =0x00006C21 mov r0, #0x4 bl FUN_02017FE4 mov r0, #0x1 mov r1, #0x1a mov r2, #0x6 add r3, r4, #0x0 bl FUN_0200A86C add r7, r0, #0x0 mov r0, #0x6 lsl r0, r0, #0x6 add r1, r4, #0x0 bl FUN_020219F4 add r4, r0, #0x0 bl FUN_0201BD5C ldr r2, _0208A254 ; =0x020FF440 add r0, r5, #0x0 add r1, sp, #0xc bl FUN_02019150 mov r0, #0xd0 str r0, [sp, #0x0] mov r0, #0x90 mov r2, #0x0 str r0, [sp, #0x4] add r0, sp, #0xc mov r1, #0xf add r3, r2, #0x0 bl FUN_020196F4 ldr r2, _0208A24C ; =0x000001F7 add r0, sp, #0xc mov r1, #0x0 mov r3, #0x2 bl FUN_0200CCA4 add r0, r7, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 bl FUN_0200A8E0 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] add r0, sp, #0xc add r2, r4, #0x0 add r3, r1, #0x0 str r1, [sp, #0x8] bl FUN_0201BD84 add r0, r4, #0x0 bl FUN_02021A20 bl FUN_0201E788 mov r0, #0x0 bl FUN_0200E394 mov r0, #0x1 bl FUN_0200E394 mov r0, #0x0 mov r1, #0x3f mov r2, #0x3 bl FUN_0200A274 mov r4, #0x1 _0208A21A: bl FUN_02000FE8 add r0, r4, #0x0 add r1, r4, #0x0 blx OS_WaitIrq b _0208A21A .balign 4 _0208A228: .word 0xFFFFE0FF _0208A22C: .word 0x04001000 _0208A230: .word 0x021C4918 _0208A234: .word 0x04000050 _0208A238: .word 0x04001050 _0208A23C: .word 0xFFFF1FFF _0208A240: .word 0x020FF474 _0208A244: .word 0x020FF448 _0208A248: .word 0x020FF458 _0208A24C: .word 0x000001F7 _0208A250: .word 0x00006C21 _0208A254: .word 0x020FF440 thumb_func_start FUN_0208A258 FUN_0208A258: ; 0x0208A258 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r0, _0208A290 ; =0x0000022F ldrb r0, [r4, r0] cmp r0, #0x10 beq _0208A278 cmp r0, #0x11 beq _0208A286 b _0208A28C _0208A278: add r0, r6, #0x0 add r1, r4, #0x0 bl FUN_0208A294 ldr r1, _0208A290 ; =0x0000022F strb r0, [r4, r1] b _0208A28C _0208A286: add r0, r5, #0x0 bl FUN_0208A2C4 _0208A28C: mov r0, #0x0 pop {r4-r6, pc} .balign 4 _0208A290: .word 0x0000022F thumb_func_start FUN_0208A294 FUN_0208A294: ; 0x0208A294 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_0204647C cmp r0, #0x0 beq _0208A2A6 mov r0, #0x10 pop {r3-r5, pc} _0208A2A6: ldr r0, [r4, #0x4] bl FUN_0206E394 mov r1, #0x9 lsl r1, r1, #0x6 strb r0, [r4, r1] ldr r0, [r4, #0x4] bl FUN_02016A18 add r0, r5, #0x0 bl FUN_0204649C mov r0, #0x11 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0208A2C4 FUN_0208A2C4: ; 0x0208A2C4 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_020464A4 cmp r0, #0x0 beq _0208A2F6 mov r0, #0x1 bl FUN_021D7CA4 ldr r1, _0208A2F8 ; =0x0223D4AD add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_020463EC ldr r0, _0208A2FC ; =0x0000022F mov r1, #0x12 strb r1, [r4, r0] _0208A2F6: pop {r4-r6, pc} .balign 4 _0208A2F8: .word 0x0223D4AD _0208A2FC: .word 0x0000022F thumb_func_start FUN_0208A300 FUN_0208A300: ; 0x0208A300 push {r3, lr} mov r1, #0x8 bl FUN_02016998 mov r1, #0x0 strb r1, [r0, #0x0] strb r1, [r0, #0x1] strb r1, [r0, #0x2] strb r1, [r0, #0x3] strb r1, [r0, #0x4] strb r1, [r0, #0x5] strb r1, [r0, #0x6] strb r1, [r0, #0x7] mov r1, #0x2 str r1, [r0, #0x4] pop {r3, pc} thumb_func_start FUN_0208A320 FUN_0208A320: ; 0x0208A320 ldr r3, _0208A324 ; =FUN_02016A18 bx r3 .balign 4 _0208A324: .word FUN_02016A18 thumb_func_start FUN_0208A328 FUN_0208A328: ; 0x0208A328 ldr r0, [r0, #0x0] bx lr thumb_func_start FUN_0208A32C FUN_0208A32C: ; 0x0208A32C str r1, [r0, #0x0] bx lr thumb_func_start FUN_0208A330 FUN_0208A330: ; 0x0208A330 ldr r0, [r0, #0x4] bx lr thumb_func_start FUN_0208A334 FUN_0208A334: ; 0x0208A334 str r1, [r0, #0x4] bx lr thumb_func_start FUN_0208A338 FUN_0208A338: ; 0x0208A338 push {r4-r6, lr} add r6, r0, #0x0 bl FUN_02046528 add r5, r0, #0x0 mov r0, #0x20 mov r1, #0x6c bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x19 str r5, [r4, #0x0] lsl r0, r0, #0x4 mov r1, #0x20 bl FUN_020219F4 str r0, [r4, #0x4] mov r0, #0x19 lsl r0, r0, #0x4 mov r1, #0x20 bl FUN_020219F4 str r0, [r4, #0x8] mov r0, #0x20 bl FUN_0200AA80 str r0, [r4, #0xc] ldr r2, _0208A3C0 ; =0x00000171 mov r0, #0x1 mov r1, #0x1a mov r3, #0x20 bl FUN_0200A86C str r0, [r4, #0x10] mov r0, #0x20 bl FUN_02013690 str r0, [r4, #0x14] ldr r2, [r4, #0x0] mov r0, #0x2 ldr r2, [r2, #0xc] mov r1, #0x0 mov r3, #0x20 bl FUN_02085338 str r0, [r4, #0x50] bl FUN_020853DC add r0, r4, #0x0 add r0, #0x18 bl FUN_0201901C add r0, r4, #0x0 add r0, #0x28 bl FUN_0201901C add r0, r4, #0x0 add r0, #0x38 bl FUN_0201901C mov r0, #0x0 str r0, [r4, #0x54] ldr r1, _0208A3C4 ; =FUN_0208A458 add r0, r6, #0x0 add r2, r4, #0x0 bl FUN_0204640C pop {r4-r6, pc} .balign 4 _0208A3C0: .word 0x00000171 _0208A3C4: .word FUN_0208A458 thumb_func_start FUN_0208A3C8 FUN_0208A3C8: ; 0x0208A3C8 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x50] bl FUN_020853A8 ldr r0, [r4, #0x14] bl FUN_020136C0 ldr r0, [r4, #0x4] bl FUN_02021A20 ldr r0, [r4, #0x8] bl FUN_02021A20 ldr r0, [r4, #0xc] bl FUN_0200AB18 ldr r0, [r4, #0x10] bl FUN_0200A8B8 add r0, r4, #0x0 bl FUN_0208A400 add r0, r4, #0x0 bl FUN_02016A18 pop {r4, pc} .balign 4 thumb_func_start FUN_0208A400 FUN_0208A400: ; 0x0208A400 push {r4, lr} add r4, r0, #0x0 add r0, #0x18 bl FUN_02019048 cmp r0, #0x0 beq _0208A41E add r0, r4, #0x0 add r0, #0x18 bl FUN_02019178 add r0, r4, #0x0 add r0, #0x18 bl FUN_0201901C _0208A41E: add r0, r4, #0x0 add r0, #0x28 bl FUN_02019048 cmp r0, #0x0 beq _0208A43A add r0, r4, #0x0 add r0, #0x28 bl FUN_02019178 add r0, r4, #0x0 add r0, #0x28 bl FUN_0201901C _0208A43A: add r0, r4, #0x0 add r0, #0x38 bl FUN_02019048 cmp r0, #0x0 beq _0208A456 add r0, r4, #0x0 add r0, #0x38 bl FUN_02019178 add r4, #0x38 add r0, r4, #0x0 bl FUN_0201901C _0208A456: pop {r4, pc} thumb_func_start FUN_0208A458 FUN_0208A458: ; 0x0208A458 push {r3-r5, lr} bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x54] cmp r1, #0xd bhi _0208A4A4 add r1, r1, r1 add r1, pc ldrh r1, [r1, #0x6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0208A472: ; jump table (using 16-bit offset) .short _0208A48E - _0208A472 - 2; case 0 .short _0208A49C - _0208A472 - 2; case 1 .short _0208A4B8 - _0208A472 - 2; case 2 .short _0208A556 - _0208A472 - 2; case 3 .short _0208A566 - _0208A472 - 2; case 4 .short _0208A57A - _0208A472 - 2; case 5 .short _0208A5A6 - _0208A472 - 2; case 6 .short _0208A5BE - _0208A472 - 2; case 7 .short _0208A5D4 - _0208A472 - 2; case 8 .short _0208A614 - _0208A472 - 2; case 9 .short _0208A628 - _0208A472 - 2; case 10 .short _0208A694 - _0208A472 - 2; case 11 .short _0208A6A2 - _0208A472 - 2; case 12 .short _0208A6C0 - _0208A472 - 2; case 13 _0208A48E: mov r1, #0x0 add r2, r1, #0x0 bl FUN_0208A6D4 mov r0, #0x1 str r0, [r4, #0x54] b _0208A6C8 _0208A49C: bl FUN_0208A750 cmp r0, #0x0 bne _0208A4A6 _0208A4A4: b _0208A6C8 _0208A4A6: add r0, r4, #0x0 bl FUN_0208A760 add r0, r4, #0x0 bl FUN_0208A77C mov r0, #0x2 str r0, [r4, #0x54] b _0208A6C8 _0208A4B8: bl FUN_0208A8DC mov r1, #0x0 mvn r1, r1 str r0, [r4, #0x64] cmp r0, r1 beq _0208A5B0 add r0, r4, #0x0 bl FUN_0208A820 ldr r0, [r4, #0x64] cmp r0, #0x4 bhi _0208A5B0 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0208A4DE: ; jump table (using 16-bit offset) .short _0208A4E8 - _0208A4DE - 2; case 0 .short _0208A502 - _0208A4DE - 2; case 1 .short _0208A51C - _0208A4DE - 2; case 2 .short _0208A536 - _0208A4DE - 2; case 3 .short _0208A550 - _0208A4DE - 2; case 4 _0208A4E8: ldr r0, [r4, #0x0] mov r1, #0x0 ldr r0, [r0, #0xc] bl FUN_0202A5F4 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x48 bl FUN_02013960 mov r0, #0x3 str r0, [r4, #0x54] b _0208A6C8 _0208A502: ldr r0, [r4, #0x0] mov r1, #0x1 ldr r0, [r0, #0xc] bl FUN_0202A5F4 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x48 bl FUN_02013960 mov r0, #0x3 str r0, [r4, #0x54] b _0208A6C8 _0208A51C: ldr r0, [r4, #0x0] mov r1, #0x2 ldr r0, [r0, #0xc] bl FUN_0202A5F4 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x48 bl FUN_02013960 mov r0, #0x3 str r0, [r4, #0x54] b _0208A6C8 _0208A536: ldr r0, [r4, #0x0] mov r1, #0x3 ldr r0, [r0, #0xc] bl FUN_0202A5F4 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x48 bl FUN_02013960 mov r0, #0x3 str r0, [r4, #0x54] b _0208A6C8 _0208A550: mov r0, #0xb str r0, [r4, #0x54] b _0208A6C8 _0208A556: ldr r1, [r4, #0x64] mov r2, #0x0 add r1, r1, #0x1 bl FUN_0208A6D4 mov r0, #0x4 str r0, [r4, #0x54] b _0208A6C8 _0208A566: bl FUN_0208A750 cmp r0, #0x0 beq _0208A5B0 mov r0, #0x0 bl FUN_021D7CA4 mov r0, #0x5 str r0, [r4, #0x54] b _0208A6C8 _0208A57A: bl FUN_0200E308 cmp r0, #0x0 beq _0208A5B0 add r1, r4, #0x0 ldr r0, [r4, #0x50] add r1, #0x48 bl FUN_020853BC ldr r0, [r4, #0x50] bl FUN_020853D0 add r0, r4, #0x0 bl FUN_0208A400 ldr r0, [r4, #0x0] ldr r1, [r4, #0x50] bl FUN_02037E80 mov r0, #0x6 str r0, [r4, #0x54] b _0208A6C8 _0208A5A6: ldr r0, [r4, #0x0] bl FUN_0204647C cmp r0, #0x0 beq _0208A5B2 _0208A5B0: b _0208A6C8 _0208A5B2: ldr r0, [r4, #0x0] bl FUN_0204649C mov r0, #0x7 str r0, [r4, #0x54] b _0208A6C8 _0208A5BE: ldr r0, [r4, #0x0] bl FUN_020464A4 cmp r0, #0x0 beq _0208A6C8 mov r0, #0x1 bl FUN_021D7CA4 mov r0, #0x8 str r0, [r4, #0x54] b _0208A6C8 _0208A5D4: bl FUN_0200E308 cmp r0, #0x0 beq _0208A6C8 ldr r0, [r4, #0x50] bl FUN_020853E4 cmp r0, #0x0 beq _0208A5EC mov r0, #0xb str r0, [r4, #0x54] b _0208A6C8 _0208A5EC: add r1, r4, #0x0 ldr r0, [r4, #0x50] add r1, #0x48 bl FUN_020853FC ldr r0, [r4, #0x0] add r2, r4, #0x0 ldr r0, [r0, #0xc] ldr r1, [r4, #0x64] add r2, #0x48 bl FUN_0202A5D4 add r0, r4, #0x0 mov r1, #0x6 mov r2, #0x0 bl FUN_0208A6D4 mov r0, #0x9 str r0, [r4, #0x54] b _0208A6C8 _0208A614: bl FUN_0208A750 cmp r0, #0x0 beq _0208A6C8 add r0, r4, #0x0 bl FUN_0208A82C mov r0, #0xa str r0, [r4, #0x54] b _0208A6C8 _0208A628: bl FUN_0208A8DC mov r1, #0x0 mvn r1, r1 str r0, [r4, #0x64] cmp r0, r1 beq _0208A6C8 cmp r0, #0x0 beq _0208A63E cmp r0, #0x1 b _0208A656 _0208A63E: add r0, r4, #0x0 bl FUN_0208A8D0 add r0, r4, #0x0 bl FUN_0208A760 add r0, r4, #0x0 bl FUN_0208A77C mov r0, #0x2 str r0, [r4, #0x54] b _0208A6C8 _0208A656: add r0, r4, #0x0 add r0, #0x48 mov r1, #0x0 bl FUN_02013918 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0208A8D0 ldr r0, _0208A6CC ; =0x0000FFFF cmp r5, r0 beq _0208A684 ldr r0, [r4, #0xc] mov r1, #0x0 add r2, r5, #0x0 bl FUN_0200B518 add r0, r4, #0x0 mov r1, #0x8 mov r2, #0x1 bl FUN_0208A6D4 b _0208A68E _0208A684: add r0, r4, #0x0 mov r1, #0x7 mov r2, #0x0 bl FUN_0208A6D4 _0208A68E: mov r0, #0xc str r0, [r4, #0x54] b _0208A6C8 _0208A694: mov r1, #0x5 mov r2, #0x0 bl FUN_0208A6D4 mov r0, #0xc str r0, [r4, #0x54] b _0208A6C8 _0208A6A2: bl FUN_0208A750 cmp r0, #0x0 beq _0208A6C8 ldr r0, _0208A6D0 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0xf3 tst r0, r1 beq _0208A6C8 add r0, r4, #0x0 bl FUN_0208A760 mov r0, #0xd str r0, [r4, #0x54] b _0208A6C8 _0208A6C0: bl FUN_0208A3C8 mov r0, #0x1 pop {r3-r5, pc} _0208A6C8: mov r0, #0x0 pop {r3-r5, pc} .balign 4 _0208A6CC: .word 0x0000FFFF _0208A6D0: .word 0x021C48B8 thumb_func_start FUN_0208A6D4 FUN_0208A6D4: ; 0x0208A6D4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r5, #0x0 add r4, #0x18 cmp r2, #0x0 ldr r0, [r5, #0x10] beq _0208A6F4 ldr r2, [r5, #0x4] bl FUN_0200A8E0 ldr r0, [r5, #0xc] ldr r1, [r5, #0x8] ldr r2, [r5, #0x4] bl FUN_0200B7B8 b _0208A6FA _0208A6F4: ldr r2, [r5, #0x8] bl FUN_0200A8E0 _0208A6FA: add r0, r4, #0x0 bl FUN_02019048 cmp r0, #0x0 bne _0208A722 ldr r0, [r5, #0x0] add r1, r4, #0x0 ldr r0, [r0, #0x8] mov r2, #0x3 bl FUN_020545B8 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl LoadPlayerDataAddress add r1, r0, #0x0 add r0, r4, #0x0 bl FUN_02054608 b _0208A734 _0208A722: add r0, r4, #0x0 bl FUN_0205464C ldr r2, _0208A74C ; =0x000003E2 add r0, r4, #0x0 mov r1, #0x0 mov r3, #0xa bl FUN_0200D0BC _0208A734: ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl LoadPlayerDataAddress add r2, r0, #0x0 ldr r1, [r5, #0x8] add r0, r4, #0x0 mov r3, #0x1 bl FUN_02054658 str r0, [r5, #0x58] pop {r3-r5, pc} .balign 4 _0208A74C: .word 0x000003E2 thumb_func_start FUN_0208A750 FUN_0208A750: ; 0x0208A750 ldr r0, [r0, #0x58] ldr r3, _0208A75C ; =FUN_020546C8 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bx r3 nop _0208A75C: .word FUN_020546C8 thumb_func_start FUN_0208A760 FUN_0208A760: ; 0x0208A760 push {r4, lr} add r4, r0, #0x0 add r4, #0x18 add r0, r4, #0x0 bl FUN_02019048 cmp r0, #0x0 beq _0208A778 add r0, r4, #0x0 mov r1, #0x0 bl FUN_0200D0E0 _0208A778: pop {r4, pc} .balign 4 thumb_func_start FUN_0208A77C FUN_0208A77C: ; 0x0208A77C push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 add r7, r5, #0x0 add r7, #0x28 add r0, r7, #0x0 bl FUN_02019048 cmp r0, #0x0 bne _0208A808 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] ldr r0, [r5, #0x0] mov r1, #0x3 ldr r0, [r0, #0x8] mov r2, #0xa5 mov r3, #0xb bl FUN_0200CB00 mov r1, #0xd str r1, [sp, #0x0] mov r0, #0xe str r0, [sp, #0x4] mov r0, #0xa str r0, [sp, #0x8] str r1, [sp, #0xc] mov r0, #0x1 str r0, [sp, #0x10] ldr r0, [r5, #0x0] add r1, r7, #0x0 ldr r0, [r0, #0x8] mov r2, #0x3 mov r3, #0x11 bl FUN_02019064 add r0, r7, #0x0 mov r1, #0xf bl FUN_02019620 mov r6, #0x0 add r4, r6, #0x0 _0208A7D2: add r1, r6, #0x0 ldr r0, [r5, #0x10] ldr r2, [r5, #0x8] add r1, #0x9 bl FUN_0200A8E0 str r4, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] ldr r2, [r5, #0x8] add r0, r7, #0x0 mov r1, #0x0 mov r3, #0xc bl FUN_0201BD84 add r6, r6, #0x1 add r4, #0x10 cmp r6, #0x5 blt _0208A7D2 mov r2, #0x0 ldr r0, [r5, #0x14] add r1, r7, #0x0 add r3, r2, #0x0 bl FUN_020136F8 _0208A808: str r7, [r5, #0x68] mov r1, #0x0 str r1, [r5, #0x5c] mov r0, #0x5 str r0, [r5, #0x60] add r0, r7, #0x0 mov r2, #0xa5 mov r3, #0xb bl FUN_0200CCA4 add sp, #0x14 pop {r4-r7, pc} thumb_func_start FUN_0208A820 FUN_0208A820: ; 0x0208A820 ldr r3, _0208A828 ; =FUN_0200CCF8 add r0, #0x28 mov r1, #0x1 bx r3 .balign 4 _0208A828: .word FUN_0200CCF8 thumb_func_start FUN_0208A82C FUN_0208A82C: ; 0x0208A82C push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 add r7, r5, #0x0 add r7, #0x38 add r0, r7, #0x0 bl FUN_02019048 cmp r0, #0x0 bne _0208A8B8 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x20 str r0, [sp, #0x4] ldr r0, [r5, #0x0] mov r1, #0x3 ldr r0, [r0, #0x8] mov r2, #0xa5 mov r3, #0xb bl FUN_0200CB00 mov r1, #0xd str r1, [sp, #0x0] mov r0, #0x6 str r0, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] str r1, [sp, #0xc] mov r0, #0x8d str r0, [sp, #0x10] ldr r0, [r5, #0x0] add r1, r7, #0x0 ldr r0, [r0, #0x8] mov r2, #0x3 mov r3, #0x19 bl FUN_02019064 add r0, r7, #0x0 mov r1, #0xf bl FUN_02019620 mov r6, #0x0 add r4, r6, #0x0 _0208A882: add r1, r6, #0x0 ldr r0, [r5, #0x10] ldr r2, [r5, #0x8] add r1, #0xe bl FUN_0200A8E0 str r4, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] ldr r2, [r5, #0x8] add r0, r7, #0x0 mov r1, #0x0 mov r3, #0xc bl FUN_0201BD84 add r6, r6, #0x1 add r4, #0x10 cmp r6, #0x2 blt _0208A882 mov r2, #0x0 ldr r0, [r5, #0x14] add r1, r7, #0x0 add r3, r2, #0x0 bl FUN_020136F8 _0208A8B8: str r7, [r5, #0x68] mov r1, #0x0 str r1, [r5, #0x5c] mov r0, #0x2 str r0, [r5, #0x60] add r0, r7, #0x0 mov r2, #0xa5 mov r3, #0xb bl FUN_0200CCA4 add sp, #0x14 pop {r4-r7, pc} thumb_func_start FUN_0208A8D0 FUN_0208A8D0: ; 0x0208A8D0 ldr r3, _0208A8D8 ; =FUN_0200CCF8 add r0, #0x38 mov r1, #0x1 bx r3 .balign 4 _0208A8D8: .word FUN_0200CCF8 thumb_func_start FUN_0208A8DC FUN_0208A8DC: ; 0x0208A8DC push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 ldr r0, _0208A990 ; =0x021C48B8 mov r1, #0x40 ldr r0, [r0, #0x48] tst r1, r0 beq _0208A906 ldr r0, [r4, #0x5c] sub r0, r0, #0x1 str r0, [r4, #0x5c] bpl _0208A954 ldr r0, [r4, #0x60] cmp r0, #0x2 ble _0208A900 sub r0, r0, #0x1 str r0, [r4, #0x5c] b _0208A954 _0208A900: mov r0, #0x0 str r0, [r4, #0x5c] b _0208A954 _0208A906: mov r1, #0x80 tst r1, r0 beq _0208A928 ldr r0, [r4, #0x5c] add r1, r0, #0x1 str r1, [r4, #0x5c] ldr r0, [r4, #0x60] cmp r1, r0 blt _0208A954 cmp r0, #0x2 ble _0208A922 mov r0, #0x0 str r0, [r4, #0x5c] b _0208A954 _0208A922: sub r0, r0, #0x1 str r0, [r4, #0x5c] b _0208A954 _0208A928: mov r1, #0x1 tst r1, r0 beq _0208A93A ldr r0, _0208A994 ; =0x000005DC bl FUN_020054C8 add sp, #0x8 ldr r0, [r4, #0x5c] pop {r4, pc} _0208A93A: mov r1, #0x2 tst r0, r1 beq _0208A94E ldr r0, _0208A994 ; =0x000005DC bl FUN_020054C8 ldr r0, [r4, #0x60] add sp, #0x8 sub r0, r0, #0x1 pop {r4, pc} _0208A94E: add sp, #0x8 sub r0, r1, #0x3 pop {r4, pc} _0208A954: ldr r0, [r4, #0x68] mov r1, #0xc str r1, [sp, #0x0] ldrb r1, [r0, #0x8] mov r2, #0x0 add r3, r2, #0x0 lsl r1, r1, #0x13 lsr r1, r1, #0x10 str r1, [sp, #0x4] mov r1, #0xf bl FUN_020196F4 ldr r3, [r4, #0x5c] ldr r0, [r4, #0x14] ldr r1, [r4, #0x68] mov r2, #0x0 lsl r3, r3, #0x4 bl FUN_020136F8 ldr r0, [r4, #0x68] bl FUN_02019548 ldr r0, _0208A994 ; =0x000005DC bl FUN_020054C8 mov r0, #0x0 mvn r0, r0 add sp, #0x8 pop {r4, pc} nop _0208A990: .word 0x021C48B8 _0208A994: .word 0x000005DC thumb_func_start FUN_0208A998 FUN_0208A998: ; 0x0208A998 ldr r3, _0208A9AC ; =0x027E0000 ldr r1, _0208A9B0 ; =0x00003FF8 mov r0, #0x1 ldr r2, [r3, r1] orr r0, r2 str r0, [r3, r1] ldr r3, _0208A9B4 ; =MI_WaitDma mov r0, #0x3 bx r3 nop _0208A9AC: .word 0x027E0000 _0208A9B0: .word 0x00003FF8 _0208A9B4: .word MI_WaitDma thumb_func_start FUN_0208A9B8 FUN_0208A9B8: ; 0x0208A9B8 push {r4-r7, lr} sub sp, #0x24 ldr r0, _0208ABC8 ; =0x021C8C58 ldr r1, [r0, #0x0] cmp r1, #0x1 bne _0208A9C6 b _0208ABC4 _0208A9C6: mov r1, #0x1 str r1, [r0, #0x0] mov r0, #0x0 blx OS_GetInitArenaHi add r1, r0, #0x0 mov r0, #0x0 blx OS_SetArenaHi mov r0, #0x0 blx OS_GetInitArenaLo add r1, r0, #0x0 mov r0, #0x0 blx OS_SetArenaLo mov r1, #0x1 ldr r0, _0208ABCC ; =0x020FF4A4 add r2, r1, #0x0 mov r3, #0x0 bl FUN_020166C8 mov r0, #0x0 add r1, r0, #0x0 bl FUN_0200E3A0 mov r0, #0x1 mov r1, #0x0 bl FUN_0200E3A0 mov r0, #0x1 blx OS_DisableIrqMask ldr r1, _0208ABD0 ; =FUN_0208A998 mov r0, #0x1 blx OS_SetIrqFunction mov r0, #0x1 blx OS_EnableIrqMask mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F10 mov r0, #0x0 add r1, r0, #0x0 bl FUN_02015F34 bl FUN_0201E6D8 bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] ldr r0, _0208ABD4 ; =0xFFFFE0FF and r1, r0 str r1, [r2, #0x0] ldr r2, _0208ABD8 ; =0x04001000 ldr r1, [r2, #0x0] and r0, r1 str r0, [r2, #0x0] mov r0, #0x4 mov r1, #0x8 bl FUN_0201669C ldr r0, _0208ABDC ; =0x021C4918 mov r1, #0x0 strb r1, [r0, #0x5] bl FUN_0201E7A0 ldr r3, _0208ABE0 ; =0x04000050 mov r0, #0x0 strh r0, [r3, #0x0] ldr r2, _0208ABE4 ; =0x04001050 sub r3, #0x50 strh r0, [r2, #0x0] ldr r1, [r3, #0x0] ldr r0, _0208ABE8 ; =0xFFFF1FFF sub r2, #0x50 and r1, r0 str r1, [r3, #0x0] ldr r1, [r2, #0x0] and r0, r1 str r0, [r2, #0x0] ldr r0, _0208ABEC ; =0x020FF4D8 bl FUN_0201E66C mov r0, #0x0 bl FUN_02016B94 str r0, [sp, #0x10] ldr r0, _0208ABF0 ; =0x020FF4AC bl FUN_02016BBC mov r1, #0x0 ldr r0, [sp, #0x10] ldr r2, _0208ABF4 ; =0x020FF4BC add r3, r1, #0x0 bl FUN_02016C18 ldr r0, [sp, #0x10] mov r1, #0x0 bl FUN_02018744 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, [sp, #0x10] ldr r2, _0208ABF8 ; =0x000001F7 mov r3, #0x2 str r1, [sp, #0x4] bl FUN_0200CB00 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 bl FUN_02002ED0 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 add r3, r0, #0x0 bl FUN_02017F18 ldr r1, _0208ABFC ; =0x00006C21 mov r0, #0x0 bl FUN_02017FE4 ldr r1, _0208ABFC ; =0x00006C21 mov r0, #0x4 bl FUN_02017FE4 mov r0, #0x1 mov r1, #0x1a mov r2, #0xc8 mov r3, #0x0 bl FUN_0200A86C str r0, [sp, #0xc] mov r0, #0x6 lsl r0, r0, #0x6 mov r1, #0x0 bl FUN_020219F4 add r4, r0, #0x0 bl FUN_0201BD5C ldr r0, [sp, #0x10] ldr r2, _0208AC00 ; =0x020FF49C add r1, sp, #0x14 bl FUN_02019150 mov r0, #0xd0 str r0, [sp, #0x0] mov r0, #0x90 mov r2, #0x0 str r0, [sp, #0x4] add r0, sp, #0x14 mov r1, #0xf add r3, r2, #0x0 bl FUN_020196F4 ldr r2, _0208ABF8 ; =0x000001F7 add r0, sp, #0x14 mov r1, #0x0 mov r3, #0x2 bl FUN_0200CCA4 ldr r0, [sp, #0xc] mov r1, #0x3 add r2, r4, #0x0 bl FUN_0200A8E0 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] add r0, sp, #0x14 add r2, r4, #0x0 add r3, r1, #0x0 str r1, [sp, #0x8] bl FUN_0201BD84 add r0, r4, #0x0 bl FUN_02021A20 bl FUN_0201E788 mov r0, #0x0 bl FUN_0200E394 mov r0, #0x1 bl FUN_0200E394 mov r0, #0x0 mov r1, #0x3f mov r2, #0x3 bl FUN_0200A274 bl FUN_02032DAC mov r4, #0x1 _0208AB58: bl FUN_02000FE8 bl FUN_0202FB80 bl FUN_02033678 cmp r0, #0x0 bne _0208AB72 add r0, r4, #0x0 add r1, r4, #0x0 blx OS_WaitIrq b _0208AB58 _0208AB72: ldr r5, _0208AC04 ; =0x04000130 ldr r4, _0208AC08 ; =0x027FFFA8 ldr r7, _0208AC0C ; =0x00002FFF mov r6, #0x1 _0208AB7A: bl FUN_02000FE8 ldrh r1, [r5, #0x0] ldrh r0, [r4, #0x0] orr r1, r0 ldr r0, _0208AC0C ; =0x00002FFF eor r0, r1 and r0, r7 lsl r0, r0, #0x10 lsr r0, r0, #0x10 tst r0, r6 bne _0208AB9C mov r0, #0x1 add r1, r0, #0x0 blx OS_WaitIrq b _0208AB7A _0208AB9C: ldr r1, _0208AC10 ; =0x00007FFF mov r0, #0x0 bl FUN_0200E3A0 ldr r1, _0208AC10 ; =0x00007FFF mov r0, #0x1 bl FUN_0200E3A0 add r0, sp, #0x14 bl FUN_02019178 ldr r0, [sp, #0xc] bl FUN_0200A8B8 ldr r0, [sp, #0x10] bl FUN_02016A18 mov r0, #0x0 blx OS_ResetSystem _0208ABC4: add sp, #0x24 pop {r4-r7, pc} .balign 4 _0208ABC8: .word 0x021C8C58 _0208ABCC: .word 0x020FF4A4 _0208ABD0: .word FUN_0208A998 _0208ABD4: .word 0xFFFFE0FF _0208ABD8: .word 0x04001000 _0208ABDC: .word 0x021C4918 _0208ABE0: .word 0x04000050 _0208ABE4: .word 0x04001050 _0208ABE8: .word 0xFFFF1FFF _0208ABEC: .word 0x020FF4D8 _0208ABF0: .word 0x020FF4AC _0208ABF4: .word 0x020FF4BC _0208ABF8: .word 0x000001F7 _0208ABFC: .word 0x00006C21 _0208AC00: .word 0x020FF49C _0208AC04: .word 0x04000130 _0208AC08: .word 0x027FFFA8 _0208AC0C: .word 0x00002FFF _0208AC10: .word 0x00007FFF