.include "asm/macros.inc" .include "global.inc" .extern UNK_020F588C .extern UNK_020F5894 .extern UNK_020F589C .extern UNK_020F58A4 .extern UNK_020F58AC .extern UNK_020F58B4 .extern UNK_020F58C4 .extern UNK_020F58D4 .extern UNK_020F58E8 .extern UNK_020F5900 .extern UNK_020F5918 .extern UNK_020F5930 .extern UNK_020F5948 .extern UNK_020F5964 .extern UNK_020F5984 .extern UNK_020F59A4 .extern UNK_020F59C4 .extern UNK_020F59DC .extern UNK_020F5A14 .extern UNK_020F5A44 .extern UNK_020F5A74 .section .bss .global UNK_021C5A70 UNK_021C5A70: ; 0x021C5A70 .space 0xc .global UNK_021C5A7C UNK_021C5A7C: ; 0x021C5A7C .space 0x40 .text 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 bl 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 ; =UNK_021C5A70 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 UNK_021C5A70 _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 ; =UNK_021C5A70 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 UNK_021C5A70 _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 ; =UNK_021C5A7C 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 UNK_021C5A7C 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 ; =UNK_021C5A70 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 UNK_021C5A70 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 ; =UNK_021C5A70 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 UNK_021C5A70 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 ; =UNK_021C5A70 str r1, [r0, #0x8] _020526EA: bx lr .balign 4 _020526EC: .word UNK_021C5A70 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 ; =UNK_020F58D4 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 UNK_020F58D4 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 ; =UNK_020F5894 lsl r1, r4, #0x2 ldr r0, [r0, r1] pop {r4-r6, pc} _020528A4: bl rand_LC 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 ; =UNK_020F58C4 lsl r1, r4, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _020528C0: bl rand_LC 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 ; =UNK_020F5984 lsl r1, r4, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _020528DC: bl rand_LC 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 ; =UNK_020F58B4 lsl r1, r4, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _020528F8: bl rand_LC 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 ; =UNK_020F5964 lsl r1, r4, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _02052914: bl rand_LC 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 ; =UNK_020F59A4 lsl r1, r4, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _02052930: bl rand_LC 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 ; =UNK_020F59C4 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 UNK_020F5894 _02052954: .word UNK_020F58C4 _02052958: .word UNK_020F5984 _0205295C: .word UNK_020F58B4 _02052960: .word UNK_020F5964 _02052964: .word UNK_020F59A4 _02052968: .word UNK_020F59C4 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 ; =UNK_020F5A14 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 UNK_020F5A14 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 ; =UNK_020F58AC 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 ; =UNK_020F59DC lsl r1, r1, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _02052A9C: sub r4, #0x13 ldr r0, _02052B0C ; =UNK_020F58E8 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 ; =UNK_020F5A44 lsl r1, r1, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _02052AB8: sub r4, #0xa ldr r0, _02052B14 ; =UNK_020F5900 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 ; =UNK_020F5918 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 ; =UNK_020F5930 lsl r2, r4, #0x3 lsl r1, r1, #0x2 add r0, r0, r2 ldr r0, [r1, r0] pop {r4-r6, pc} _02052AE2: ldr r0, _02052B20 ; =UNK_020F588C lsl r1, r1, #0x2 ldr r0, [r0, r1] pop {r4-r6, pc} _02052AEA: ldr r0, _02052B24 ; =UNK_020F58A4 lsl r1, r1, #0x2 ldr r0, [r0, r1] pop {r4-r6, pc} _02052AF2: ldr r0, _02052B28 ; =UNK_020F589C 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 UNK_020F58AC _02052B08: .word UNK_020F59DC _02052B0C: .word UNK_020F58E8 _02052B10: .word UNK_020F5A44 _02052B14: .word UNK_020F5900 _02052B18: .word UNK_020F5918 _02052B1C: .word UNK_020F5930 _02052B20: .word UNK_020F588C _02052B24: .word UNK_020F58A4 _02052B28: .word UNK_020F589C 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 bl 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 ; =UNK_020F5A74 lsl r1, r4, #0x2 ldr r0, [r0, r1] pop {r4-r6, pc} nop _02052CB0: .word 0x0000FFFF _02052CB4: .word UNK_020F5A74 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 ; =UNK_020F5948 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 UNK_020F5948 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