.include "asm/macros.inc" .include "global.inc" .section .rodata .global UNK_020F5838 UNK_020F5838: ; 0x020F5838 .word FUN_0205031C, FUN_02050578, FUN_020505E0, FUN_02050610 .global UNK_020F5848 UNK_020F5848: ; 0x020F5848 .word FUN_02050A14, FUN_02050548, FUN_020502AC, FUN_02050350 .word FUN_020503B4, FUN_020503F0, FUN_02050420, FUN_02050578 .word FUN_0205058C, FUN_02050594, FUN_0205031C, FUN_02050330 .word FUN_02050338, 0x00000000 .section .data .global UNK_02105E74 UNK_02105E74: ; 0x02105E74 .byte 0x90, 0x65, 0x8B, 0x40, 0x90, 0xDA, 0x91, 0xB1, 0x00, 0x00, 0x00, 0x00 .global UNK_02105E80 UNK_02105E80: ; 0x02105E80 .byte 0x69, 0x6E, 0x66, 0x6F, 0x83, 0x66, 0x81, 0x5B, 0x83, 0x5E, 0x8E, 0xF3, 0x90, 0x4D, 0x8A, 0xAE .byte 0x97, 0xB9, 0x00, 0x00 .global UNK_02105E94 UNK_02105E94: ; 0x02105E94 .byte 0x90, 0x65, 0x8B, 0x40, 0xE3, 0xA9, 0x83, 0x66, 0x81, 0x5B, 0x83, 0x5E, 0x93, 0xCD, 0x82, 0xA2 .byte 0x82, 0xBD, 0x82, 0xE7, 0x82, 0xB5, 0x82, 0xA2, 0x00, 0x00, 0x00, 0x00 .global UNK_02105EB0 UNK_02105EB0: ; 0x02105EB0 .byte 0x94, 0xE9, 0x96, 0xA7, 0x8A, 0xEE, 0x92, 0x6E, 0x82, 0xCC, 0x88, 0xCA, 0x92, 0x75, 0x82, 0xAA .byte 0x82, 0xAB, 0x82, 0xBD, 0x00, 0x00, 0x00, 0x00 .section .bss .global UNK_021C5A6C UNK_021C5A6C: ; 0x021C5A6C .space 0x4 .text 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 ; =UNK_021C5A6C add r4, r0, #0x0 ldr r1, [r1, #0x0] cmp r1, #0x0 bne _0204FC04 bl FUN_0208881C mov r0, #0xf mov r1, #0x48 bl AllocFromHeap ldr r1, _0204FC08 ; =UNK_021C5A6C mov r2, #0x48 str r0, [r1, #0x0] mov r1, #0x0 bl MI_CpuFill8 ldr r0, _0204FC08 ; =UNK_021C5A6C 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 ; =UNK_021C5A6C 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 ; =UNK_021C5A6C ldr r0, [r0, #0x0] add r0, #0x1c bl FUN_020312BC _0204FC04: pop {r4, pc} nop _0204FC08: .word UNK_021C5A6C _0204FC0C: .word FUN_0205006C thumb_func_start FUN_0204FC10 FUN_0204FC10: ; 0x0204FC10 push {r4-r6, lr} ldr r0, _0204FC58 ; =UNK_021C5A6C ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0204FC56 ldr r0, [r0, #0x38] bl FUN_0200CAB4 mov r4, #0x0 ldr r6, _0204FC58 ; =UNK_021C5A6C add r5, r4, #0x0 _0204FC26: ldr r0, [r6, #0x0] ldr r0, [r0, r5] cmp r0, #0x0 beq _0204FC32 bl FreeToHeap _0204FC32: add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 blt _0204FC26 ldr r0, _0204FC58 ; =UNK_021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x44] cmp r0, #0x0 beq _0204FC48 bl FreeToHeap _0204FC48: ldr r0, _0204FC58 ; =UNK_021C5A6C ldr r0, [r0, #0x0] bl FreeToHeap ldr r0, _0204FC58 ; =UNK_021C5A6C mov r1, #0x0 str r1, [r0, #0x0] _0204FC56: pop {r4-r6, pc} .balign 4 _0204FC58: .word UNK_021C5A6C thumb_func_start FUN_0204FC5C FUN_0204FC5C: ; 0x0204FC5C push {r4, lr} ldr r1, _0204FC9C ; =UNK_021C5A6C add r4, r0, #0x0 ldr r1, [r1, #0x0] cmp r1, #0x0 bne _0204FC9A bl ScriptEnvironment_GetSav2Ptr bl FUN_02031824 add r0, r4, #0x0 bl FUN_0204FBB0 mov r2, #0x3a mov r0, #0x3 mov r1, #0x21 lsl r2, r2, #0xa bl CreateHeap ldr r0, _0204FC9C ; =UNK_021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] ldr r0, [r0, #0xc] bl SavArray_Flags_get bl FUN_0205F194 cmp r0, #0x0 bne _0204FC9A bl FUN_02031924 _0204FC9A: pop {r4, pc} .balign 4 _0204FC9C: .word UNK_021C5A6C thumb_func_start FUN_0204FCA0 FUN_0204FCA0: ; 0x0204FCA0 push {r3, lr} ldr r0, _0204FCD0 ; =UNK_021C5A6C 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 Sav2_GameStats_get mov r1, #0x24 bl GameStats_AddSpecial ldr r0, _0204FCD0 ; =UNK_021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] bl MOD18_0223E060 ldr r0, _0204FCD4 ; =FUN_020500A4 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} .balign 4 _0204FCD0: .word UNK_021C5A6C _0204FCD4: .word FUN_020500A4 thumb_func_start FUN_0204FCD8 FUN_0204FCD8: ; 0x0204FCD8 push {r3, lr} ldr r0, _0204FCEC ; =UNK_021C5A6C 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 UNK_021C5A6C _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 MOD18_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 ; =UNK_021C5A6C add r2, sp, #0x0 ldr r0, [r0, #0x0] ldr r3, _0204FDC0 ; =UNK_020F5838 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 UNK_021C5A6C _0204FDC0: .word UNK_020F5838 _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 ; =UNK_021C5A6C 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 UNK_021C5A6C _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 ; =UNK_020F5848 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 ; =UNK_021C5A6C 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 UNK_020F5848 _0204FEAC: .word UNK_021C5A6C 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 ScriptEnvironment_GetSav2Ptr 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 ScriptEnvironment_GetSav2Ptr 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 ; =UNK_021C5A6C 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 UNK_021C5A6C _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 ; =UNK_021C5A6C ldr r1, [r0, #0x0] cmp r1, #0x0 bne _0204FF9C add r0, r4, #0x0 bl FUN_0204FBB0 ldr r0, _02050018 ; =UNK_021C5A6C 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 ; =UNK_021C5A6C 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 ; =UNK_021C5A6C 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 AllocFromHeap 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 ; =UNK_021C5A6C 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 UNK_021C5A6C _0205001C: .word 0x0000066C _02050020: .word FUN_02050C14 thumb_func_start FUN_02050024 FUN_02050024: ; 0x02050024 push {r3, lr} ldr r0, _02050040 ; =UNK_021C5A6C 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 UNK_021C5A6C _02050044: .word FUN_02050DB0 thumb_func_start FUN_02050048 FUN_02050048: ; 0x02050048 push {r3, lr} ldr r0, _02050064 ; =UNK_021C5A6C 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 UNK_021C5A6C _02050068: .word FUN_02050D88 thumb_func_start FUN_0205006C FUN_0205006C: ; 0x0205006C push {r3, lr} ldr r1, _02050090 ; =UNK_021C5A6C 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 UNK_021C5A6C thumb_func_start FUN_02050094 FUN_02050094: ; 0x02050094 ldr r2, _020500A0 ; =UNK_021C5A6C ldr r3, [r2, #0x0] str r0, [r3, #0x34] ldr r0, [r2, #0x0] strh r1, [r0, #0x3c] bx lr .balign 4 _020500A0: .word UNK_021C5A6C thumb_func_start FUN_020500A4 FUN_020500A4: ; 0x020500A4 push {r3, lr} ldr r0, _02050108 ; =UNK_021C5A6C 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 ; =UNK_021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] bl MOD18_0223E1E0 bl FUN_0202DBE0 mov r0, #0x0 bl FUN_0204D168 bl MOD18_0223EF7C bl MOD18_02245FA0 ldr r0, _02050108 ; =UNK_021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] ldr r0, [r0, #0xc] bl SavArray_Flags_get 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 UNK_021C5A6C _0205010C: .word FUN_02050114 _02050110: .word FUN_02050144 thumb_func_start FUN_02050114 FUN_02050114: ; 0x02050114 push {r3, lr} ldr r0, _0205013C ; =UNK_021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] ldr r0, [r0, #0xc] bl SavArray_Flags_get 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 UNK_021C5A6C _02050140: .word FUN_02050168 thumb_func_start FUN_02050144 FUN_02050144: ; 0x02050144 push {r3, lr} ldr r0, _02050160 ; =UNK_021C5A6C 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 UNK_021C5A6C _02050164: .word FUN_02050168 thumb_func_start FUN_02050168 FUN_02050168: ; 0x02050168 push {r3, lr} bl MOD18_0223DFB4 bl FUN_0204F80C bl FUN_020318C4 cmp r0, #0x0 beq _02050198 bl FUN_02031190 cmp r0, #0x0 bne _02050190 bl MOD18_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 ; =UNK_021C5A6C 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 ; =UNK_021C5A6C 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 ; =UNK_021C5A6C 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 MOD18_0223E6B8 mov r0, #0x0 bl FUN_0204D040 mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 bl MOD18_022408FC mov r0, #0x0 mov r1, #0x1 bl MOD18_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 UNK_021C5A6C _02050244: .word FUN_020504A4 _02050248: .word FUN_02050350 thumb_func_start FUN_0205024C FUN_0205024C: ; 0x0205024C push {r3, lr} bl MOD18_0223DFB4 ldr r0, _020502A0 ; =UNK_021C5A6C 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 ; =UNK_021C5A6C ldr r0, [r0, #0x0] ldrh r0, [r0, #0x3c] cmp r0, #0x0 bne _0205029E _02050272: bl MOD18_0223E6B8 cmp r0, #0x0 beq _0205027E bl FUN_0204F7FC _0205027E: ldr r0, _020502A4 ; =UNK_02105E74 bl FUN_0204FBAC mov r0, #0x0 bl FUN_0204D168 bl FUN_0204F930 bl MOD18_02245FA0 bl MOD18_0223E7FC ldr r0, _020502A8 ; =FUN_020502AC mov r1, #0x0 bl FUN_02050094 _0205029E: pop {r3, pc} .balign 4 _020502A0: .word UNK_021C5A6C _020502A4: .word UNK_02105E74 _020502A8: .word FUN_020502AC thumb_func_start FUN_020502AC FUN_020502AC: ; 0x020502AC push {r3, lr} bl MOD18_0223DFB4 ldr r0, _02050314 ; =UNK_021C5A6C 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 MOD18_02245358 bl FUN_0204F90C bl MOD18_02247808 mov r0, #0x2b bl FUN_020311DC bl FUN_02031190 mov r1, #0x1 bl MOD18_0223FCE8 bl MOD18_0223E6B8 bl FUN_020318B4 ldr r0, _02050318 ; =FUN_02050458 mov r1, #0x0 bl FUN_02050094 _02050310: pop {r3, pc} nop _02050314: .word UNK_021C5A6C _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 ; =MOD18_0223DFB4 bx r3 .balign 4 _02050334: .word MOD18_0223DFB4 thumb_func_start FUN_02050338 FUN_02050338: ; 0x02050338 push {r3, lr} bl MOD18_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 ; =UNK_021C5A6C ldr r0, [r0, #0x0] ldrh r0, [r0, #0x3c] cmp r0, #0x9 bne _02050364 bl FUN_0202DBE0 bl MOD18_0223E7FC _02050364: ldr r0, _020503A8 ; =UNK_021C5A6C ldr r0, [r0, #0x0] ldrh r0, [r0, #0x3c] cmp r0, #0x1 bne _02050374 mov r0, #0x0 bl FUN_0204D198 _02050374: ldr r0, _020503A8 ; =UNK_021C5A6C 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 ; =UNK_02105E80 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 UNK_021C5A6C _020503AC: .word UNK_02105E80 _020503B0: .word FUN_020503B4 thumb_func_start FUN_020503B4 FUN_020503B4: ; 0x020503B4 push {r3, lr} bl FUN_0204FB00 cmp r0, #0x0 beq _020503CC bl MOD18_0223EF7C ldr r0, _020503E8 ; =FUN_020503F0 mov r1, #0x0 bl FUN_02050094 pop {r3, pc} _020503CC: bl FUN_02050548 ldr r0, _020503EC ; =UNK_021C5A6C 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 UNK_021C5A6C thumb_func_start FUN_020503F0 FUN_020503F0: ; 0x020503F0 push {r3, lr} bl MOD18_0223F4D8 cmp r0, #0x0 beq _02050412 ldr r0, _02050418 ; =UNK_02105E94 bl FUN_0204FBAC bl MOD18_0223F4F4 bl MOD18_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 UNK_02105E94 _0205041C: .word FUN_02050420 thumb_func_start FUN_02050420 FUN_02050420: ; 0x02050420 push {r3, lr} bl MOD18_022461A4 cmp r0, #0x0 beq _0205044A ldr r0, _02050450 ; =UNK_02105EB0 bl FUN_0204FBAC bl MOD18_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 UNK_02105EB0 _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 ; =UNK_021C5A6C 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 UNK_021C5A6C _020504A0: .word FUN_020500A4 thumb_func_start FUN_020504A4 FUN_020504A4: ; 0x020504A4 push {r3, lr} ldr r0, _020504C8 ; =UNK_021C5A6C 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 UNK_021C5A6C _020504CC: .word FUN_020500A4 thumb_func_start FUN_020504D0 FUN_020504D0: ; 0x020504D0 ldr r3, _020504D4 ; =MOD18_0223DFB4 bx r3 .balign 4 _020504D4: .word MOD18_0223DFB4 thumb_func_start FUN_020504D8 FUN_020504D8: ; 0x020504D8 push {r3, lr} bl FUN_02031190 cmp r0, #0x0 bne _02050506 ldr r0, _02050508 ; =UNK_021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] bl MOD18_0223E1E0 bl FUN_0202DBE0 mov r0, #0x0 bl FUN_0204D168 bl MOD18_0223EF7C bl MOD18_02245FA0 ldr r0, _0205050C ; =FUN_020504D0 mov r1, #0x0 bl FUN_02050094 _02050506: pop {r3, pc} .balign 4 _02050508: .word UNK_021C5A6C _0205050C: .word FUN_020504D0 thumb_func_start FUN_02050510 FUN_02050510: ; 0x02050510 push {r3, lr} bl FUN_02031190 mov r1, #0x1 bl MOD18_0223FCE8 bl FUN_02031190 mov r1, #0x1 bl MOD18_02247728 bl MOD18_0223CACC bl FUN_0204CEF8 bl MOD18_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 MOD18_0223DFB4 bl FUN_0204F80C ldr r0, _02050574 ; =UNK_021C5A6C 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 UNK_021C5A6C 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 ; =MOD18_02247830 bx r3 .balign 4 _02050590: .word MOD18_02247830 thumb_func_start FUN_02050594 FUN_02050594: ; 0x02050594 push {r3, lr} bl MOD18_02245F1C bl FUN_0204CC9C bl FUN_0202EE44 cmp r0, #0x0 bne _020505AE bl FUN_020311F0 cmp r0, #0x0 beq _020505CC _020505AE: bl MOD18_022452A4 bl FUN_0204CEF8 bl MOD18_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 MOD18_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 MOD18_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 MOD06_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 MOD06_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 ; =UNK_021C5A6C 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 UNK_021C5A6C _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 AllocFromHeap ldr r1, _02050720 ; =UNK_021C5A6C 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 ; =UNK_021C5A6C 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 UNK_021C5A6C _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 ; =UNK_021C5A6C 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 UNK_021C5A6C _020507B0: .word FUN_02050930 thumb_func_start FUN_020507B4 FUN_020507B4: ; 0x020507B4 push {r3, lr} ldr r0, _020507F0 ; =UNK_021C5A6C 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 UNK_021C5A6C _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 AllocFromHeap ldr r1, _0205084C ; =UNK_021C5A6C 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 ; =UNK_021C5A6C 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 UNK_021C5A6C _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 ; =UNK_021C5A6C _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 FreeToHeap 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 ; =UNK_021C5A6C 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 UNK_021C5A6C _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 ; =UNK_021C5A6C 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 UNK_021C5A6C _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 SavArray_Party_alloc ldr r1, _020509AC ; =UNK_021C5A6C ldr r2, [r1, #0x0] str r0, [r2, #0x44] ldr r1, [r1, #0x0] add r0, r4, #0x0 ldr r1, [r1, #0x44] bl CopyPlayerParty _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 UNK_021C5A6C _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 ; =UNK_021C5A6C 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 ; =UNK_021C5A6C 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 UNK_021C5A6C _02050A0C: .word FUN_02050968 _02050A10: .word FUN_020509B8 thumb_func_start FUN_02050A14 FUN_02050A14: ; 0x02050A14 push {r3, lr} ldr r0, _02050A40 ; =UNK_021C5A6C 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 UNK_021C5A6C _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 ; =UNK_021C5A6C mov r1, #0x1 ldr r0, [r0, #0x0] add r0, #0x43 strb r1, [r0, #0x0] _02050A60: pop {r4, pc} nop _02050A64: .word UNK_021C5A6C thumb_func_start FUN_02050A68 FUN_02050A68: ; 0x02050A68 ldr r0, _02050A88 ; =UNK_021C5A6C 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 UNK_021C5A6C _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 ; =UNK_021C5A6C 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 ; =UNK_021C5A6C 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 ; =UNK_021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x44] bl FreeToHeap ldr r0, _02050B00 ; =UNK_021C5A6C mov r1, #0x0 ldr r0, [r0, #0x0] str r1, [r0, #0x44] _02050AF6: bl FUN_0204FC10 add sp, #0x8 pop {r4, pc} nop _02050B00: .word UNK_021C5A6C thumb_func_start FUN_02050B04 FUN_02050B04: ; 0x02050B04 push {r3, lr} bl FUN_0202FA48 cmp r0, #0x0 beq _02050B3E ldr r0, _02050B40 ; =UNK_021C5A6C 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 ; =UNK_021C5A6C 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 UNK_021C5A6C _02050B44: .word FUN_02050A94 thumb_func_start FUN_02050B48 FUN_02050B48: ; 0x02050B48 push {r3, lr} ldr r0, _02050B68 ; =UNK_021C5A6C 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 UNK_021C5A6C _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 ; =UNK_021C5A6C 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 UNK_021C5A6C _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 ; =UNK_021C5A6C mov r2, #0x1 ldr r1, [r1, #0x0] add r0, r1, r0 strb r2, [r0, #0x10] bx lr .balign 4 _02050BF4: .word UNK_021C5A6C thumb_func_start FUN_02050BF8 FUN_02050BF8: ; 0x02050BF8 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x4 blt _02050C04 bl GF_AssertFail _02050C04: ldr r0, _02050C10 ; =UNK_021C5A6C ldr r1, [r0, #0x0] lsl r0, r4, #0x2 ldr r0, [r1, r0] pop {r4, pc} nop _02050C10: .word UNK_021C5A6C 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 ; =UNK_021C5A6C 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 UNK_021C5A6C _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 ; =UNK_021C5A6C _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 UNK_021C5A6C _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 ; =UNK_021C5A6C 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 ; =UNK_021C5A6C 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 UNK_021C5A6C _02050CC8: .word FUN_02050D10 thumb_func_start FUN_02050CCC FUN_02050CCC: ; 0x02050CCC push {r3, lr} ldr r0, _02050CEC ; =UNK_021C5A6C 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 UNK_021C5A6C _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 ; =UNK_021C5A6C 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 ; =UNK_021C5A6C 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 UNK_021C5A6C _02050D4C: .word FUN_020506C8 _02050D50: .word FUN_020507F8 thumb_func_start FUN_02050D54 FUN_02050D54: ; 0x02050D54 push {r3, lr} ldr r0, _02050D84 ; =UNK_021C5A6C 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 MOD18_0223E1A4 bl FUN_02031860 mov r0, #0x21 bl DestroyHeap ldr r0, _02050D84 ; =UNK_021C5A6C mov r1, #0x0 ldr r0, [r0, #0x0] add r0, #0x41 strb r1, [r0, #0x0] bl FUN_0204FC10 pop {r3, pc} .balign 4 _02050D84: .word UNK_021C5A6C 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 ; =UNK_021C5A6C 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 UNK_021C5A6C _02050DEC: .word FUN_0204FC10 thumb_func_start FUN_02050DF0 FUN_02050DF0: ; 0x02050DF0 push {r3, lr} ldr r1, _02050E0C ; =UNK_021C5A6C 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 MOD18_0223E2AC pop {r3, pc} .balign 4 _02050E0C: .word UNK_021C5A6C thumb_func_start FUN_02050E10 FUN_02050E10: ; 0x02050E10 push {r3, lr} ldr r0, _02050E28 ; =UNK_021C5A6C ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02050E26 add r0, #0x41 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _02050E26 bl MOD18_0223E118 _02050E26: pop {r3, pc} .balign 4 _02050E28: .word UNK_021C5A6C thumb_func_start FUN_02050E2C FUN_02050E2C: ; 0x02050E2C push {r3, lr} ldr r0, _02050E44 ; =UNK_021C5A6C ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02050E42 add r0, #0x41 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _02050E42 bl MOD18_0223E154 _02050E42: pop {r3, pc} .balign 4 _02050E44: .word UNK_021C5A6C