.include "asm/macros.inc" .include "global.inc" .extern UNK_020F34FC .extern UNK_020F3538 .extern gMain .extern FUN_0203A2F0 .section .bss .global UNK_021C5A0C UNK_021C5A0C: ; 0x021C5A0C .space 0x4 .text thumb_func_start FUN_0203B024 FUN_0203B024: ; 0x0203B024 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x0] add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r4, #0x0 bl FUN_0203B120 str r0, [sp, #0x4] cmp r0, #0x0 bne _0203B07A bl GF_AssertFail _0203B07A: mov r0, #0x4 add r1, r0, #0x0 add r1, #0xfc bl AllocFromHeap add r4, r0, #0x0 ldr r0, [sp, #0x4] bl FUN_02058B2C lsl r0, r0, #0x10 lsr r6, r0, #0x10 ldr r0, [sp, #0x4] bl FUN_02058B4C lsl r0, r0, #0x10 ldr r2, [sp, #0x0] lsr r0, r0, #0x10 mov r1, #0x0 cmp r6, r2 bhs _0203B0B0 mov r2, #0xf strh r2, [r4, #0x0] ldr r2, [sp, #0x0] add r1, r1, #0x1 sub r2, r2, r6 strh r2, [r4, #0x2] b _0203B0C0 _0203B0B0: cmp r6, r2 bls _0203B0C0 mov r2, #0xe strh r2, [r4, #0x0] ldr r2, [sp, #0x0] add r1, r1, #0x1 sub r2, r6, r2 strh r2, [r4, #0x2] _0203B0C0: cmp r0, r7 bhs _0203B0D4 lsl r2, r1, #0x2 mov r3, #0xc strh r3, [r4, r2] sub r3, r7, r0 add r0, r4, r2 strh r3, [r0, #0x2] add r1, r1, #0x1 b _0203B0E6 _0203B0D4: cmp r0, r7 bls _0203B0E6 lsl r2, r1, #0x2 mov r3, #0xd strh r3, [r4, r2] sub r3, r0, r7 add r0, r4, r2 strh r3, [r0, #0x2] add r1, r1, #0x1 _0203B0E6: lsl r2, r1, #0x2 mov r0, #0xfe strh r0, [r4, r2] mov r1, #0x0 add r0, r4, r2 strh r1, [r0, #0x2] ldr r0, [sp, #0x4] add r1, r4, #0x0 bl FUN_0205AEA4 add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x4 bl FUN_02039438 ldrb r1, [r0, #0x0] add r5, #0x80 add r2, r4, #0x0 add r1, r1, #0x1 strb r1, [r0, #0x0] ldr r0, [r5, #0x0] add r1, r6, #0x0 bl FUN_0203B174 mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_0203B120 FUN_0203B120: ; 0x0203B120 push {r3, lr} cmp r1, #0xf2 bne _0203B130 ldr r0, [r0, #0x34] mov r1, #0x30 bl FUN_020580B4 pop {r3, pc} _0203B130: cmp r1, #0xf1 bne _0203B13E mov r1, #0xb bl FUN_02039438 ldr r0, [r0, #0x0] pop {r3, pc} _0203B13E: ldr r0, [r0, #0x34] bl FUN_02058060 pop {r3, pc} .balign 4 thumb_func_start FUN_0203B148 FUN_0203B148: ; 0x0203B148 push {r3, lr} ldr r1, _0203B154 ; =FUN_0203B158 bl SetupNativeScript mov r0, #0x1 pop {r3, pc} .balign 4 _0203B154: .word FUN_0203B158 thumb_func_start FUN_0203B158 FUN_0203B158: ; 0x0203B158 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x4 bl FUN_02039438 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0203B16E mov r0, #0x1 pop {r3, pc} _0203B16E: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203B174 FUN_0203B174: ; 0x0203B174 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0x4 mov r1, #0x10 add r7, r2, #0x0 bl AllocFromHeap add r4, r0, #0x0 bne _0203B18E bl GF_AssertFail pop {r3-r7, pc} _0203B18E: str r5, [r4, #0xc] str r6, [r4, #0x4] ldr r0, _0203B1A4 ; =FUN_0203B1A8 add r1, r4, #0x0 mov r2, #0x0 str r7, [r4, #0x8] bl FUN_0200CA44 str r0, [r4, #0x0] pop {r3-r7, pc} nop _0203B1A4: .word FUN_0203B1A8 thumb_func_start FUN_0203B1A8 FUN_0203B1A8: ; 0x0203B1A8 push {r3-r5, lr} add r5, r1, #0x0 ldr r0, [r5, #0xc] mov r1, #0x4 bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r5, #0x4] bl FUN_0205AEF0 cmp r0, #0x1 bne _0203B1EC ldr r0, [r5, #0x4] bl FUN_0205AEFC ldr r0, [r5, #0x0] bl FUN_0200CAB4 ldr r0, [r5, #0x8] cmp r0, #0x0 beq _0203B1D6 bl FreeToHeap _0203B1D6: add r0, r5, #0x0 bl FreeToHeap ldrb r0, [r4, #0x0] cmp r0, #0x0 bne _0203B1E8 bl GF_AssertFail pop {r3-r5, pc} _0203B1E8: sub r0, r0, #0x1 strb r0, [r4, #0x0] _0203B1EC: pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203B1F0 FUN_0203B1F0: ; 0x0203B1F0 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r4, [r0, #0x0] mov r1, #0xa add r0, r4, #0x0 bl FUN_02039438 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0203B20E ldr r0, [r4, #0x34] bl FUN_02058780 b _0203B214 _0203B20E: add r0, r5, #0x0 bl FUN_0203B2E0 _0203B214: mov r0, #0x1 pop {r3-r5, pc} thumb_func_start FUN_0203B218 FUN_0203B218: ; 0x0203B218 push {r4-r6, lr} add r0, #0x80 ldr r4, [r0, #0x0] mov r1, #0xa add r0, r4, #0x0 bl FUN_02039438 add r5, r0, #0x0 ldr r0, [r4, #0x38] bl FUN_020553A0 ldr r1, _0203B2DC ; =UNK_021C5A0C add r6, r0, #0x0 ldrb r2, [r1, #0x0] mov r1, #0x1 tst r1, r2 beq _0203B252 bl FUN_0205AE28 cmp r0, #0x1 bne _0203B252 add r0, r6, #0x0 bl FUN_02058908 ldr r1, _0203B2DC ; =UNK_021C5A0C mov r0, #0xfe ldrb r2, [r1, #0x0] and r0, r2 strb r0, [r1, #0x0] _0203B252: ldr r0, _0203B2DC ; =UNK_021C5A0C ldrb r1, [r0, #0x0] mov r0, #0x4 tst r0, r1 beq _0203B276 ldr r0, [r5, #0x0] bl FUN_02058854 cmp r0, #0x0 bne _0203B276 ldr r0, [r5, #0x0] bl FUN_02058908 ldr r1, _0203B2DC ; =UNK_021C5A0C mov r0, #0xfb ldrb r2, [r1, #0x0] and r0, r2 strb r0, [r1, #0x0] _0203B276: ldr r0, _0203B2DC ; =UNK_021C5A0C ldrb r1, [r0, #0x0] mov r0, #0x2 tst r0, r1 beq _0203B2A2 ldr r0, [r4, #0x34] mov r1, #0x30 bl FUN_020580B4 add r4, r0, #0x0 bl FUN_02058854 cmp r0, #0x0 bne _0203B2A2 add r0, r4, #0x0 bl FUN_02058908 ldr r1, _0203B2DC ; =UNK_021C5A0C mov r0, #0xfd ldrb r2, [r1, #0x0] and r0, r2 strb r0, [r1, #0x0] _0203B2A2: ldr r0, _0203B2DC ; =UNK_021C5A0C ldrb r1, [r0, #0x0] mov r0, #0x8 tst r0, r1 beq _0203B2CC ldr r0, [r5, #0x0] bl FUN_0205E7C4 add r4, r0, #0x0 bl FUN_02058854 cmp r0, #0x0 bne _0203B2CC add r0, r4, #0x0 bl FUN_02058908 ldr r1, _0203B2DC ; =UNK_021C5A0C mov r0, #0xf7 ldrb r2, [r1, #0x0] and r0, r2 strb r0, [r1, #0x0] _0203B2CC: ldr r0, _0203B2DC ; =UNK_021C5A0C ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0203B2D8 mov r0, #0x1 pop {r4-r6, pc} _0203B2D8: mov r0, #0x0 pop {r4-r6, pc} .balign 4 _0203B2DC: .word UNK_021C5A0C thumb_func_start FUN_0203B2E0 FUN_0203B2E0: ; 0x0203B2E0 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] add r0, #0x80 ldr r4, [r0, #0x0] mov r1, #0xa add r0, r4, #0x0 bl FUN_02039438 add r5, r0, #0x0 ldr r0, [r4, #0x38] bl FUN_020553A0 str r0, [sp, #0x4] ldr r0, [r4, #0x34] mov r1, #0x30 bl FUN_020580B4 add r7, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_0205E7C4 add r6, r0, #0x0 ldr r0, [r4, #0x34] ldr r1, _0203B3A8 ; =UNK_021C5A0C mov r2, #0x0 strb r2, [r1, #0x0] bl FUN_02058780 ldr r0, [sp, #0x4] bl FUN_0205AE28 cmp r0, #0x0 bne _0203B334 ldr r1, _0203B3A8 ; =UNK_021C5A0C mov r0, #0x1 ldrb r2, [r1, #0x0] orr r0, r2 strb r0, [r1, #0x0] ldr r0, [sp, #0x4] bl FUN_02058914 _0203B334: ldr r0, [r5, #0x0] bl FUN_02058854 cmp r0, #0x0 beq _0203B34E ldr r1, _0203B3A8 ; =UNK_021C5A0C mov r0, #0x4 ldrb r2, [r1, #0x0] orr r0, r2 strb r0, [r1, #0x0] ldr r0, [r5, #0x0] bl FUN_02058914 _0203B34E: cmp r7, #0x0 beq _0203B37A ldr r0, [r4, #0xc] bl SavArray_Flags_get bl FUN_0205ED3C cmp r0, #0x1 bne _0203B37A add r0, r7, #0x0 bl FUN_02058854 cmp r0, #0x0 beq _0203B37A ldr r1, _0203B3A8 ; =UNK_021C5A0C mov r0, #0x2 ldrb r2, [r1, #0x0] orr r0, r2 strb r0, [r1, #0x0] add r0, r7, #0x0 bl FUN_02058914 _0203B37A: cmp r6, #0x0 beq _0203B398 add r0, r6, #0x0 bl FUN_02058854 cmp r0, #0x0 beq _0203B398 ldr r1, _0203B3A8 ; =UNK_021C5A0C mov r0, #0x8 ldrb r2, [r1, #0x0] orr r0, r2 strb r0, [r1, #0x0] add r0, r6, #0x0 bl FUN_02058914 _0203B398: ldr r0, [sp, #0x0] ldr r1, _0203B3AC ; =FUN_0203B218 bl SetupNativeScript mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} nop _0203B3A8: .word UNK_021C5A0C _0203B3AC: .word FUN_0203B218 thumb_func_start FUN_0203B3B0 FUN_0203B3B0: ; 0x0203B3B0 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x34] bl FUN_020587B0 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203B3C0 FUN_0203B3C0: ; 0x0203B3C0 push {r4, lr} add r1, r0, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 ldr r0, [r4, #0x34] bl FUN_02058060 bl FUN_02058908 mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_0203B3DC FUN_0203B3DC: ; 0x0203B3DC push {r4, lr} add r1, r0, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 ldr r0, [r4, #0x34] bl FUN_02058060 bl FUN_02058914 mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_0203B3F8 FUN_0203B3F8: ; 0x0203B3F8 push {r3-r6, lr} sub sp, #0x4 add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02034B64 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02034B6C str r0, [sp, #0x0] ldr r3, [r5, #0x1c] ldr r0, [r5, #0x34] ldr r3, [r3, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_020575D4 cmp r0, #0x0 bne _0203B43A bl GF_AssertFail _0203B43A: mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} thumb_func_start FUN_0203B440 FUN_0203B440: ; 0x0203B440 push {r3-r5, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl VarGet add r1, r0, #0x0 ldr r0, [r5, #0x34] bl FUN_02058060 bl FUN_02057688 mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203B468 FUN_0203B468: ; 0x0203B468 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xb bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 mov r1, #0x2 ldr r0, [r0, #0x0] lsl r1, r1, #0xc str r1, [sp, #0x0] mov r3, #0x0 str r3, [sp, #0x4] ldr r1, [r0, #0x1c] add r2, r7, #0x0 ldr r1, [r1, #0x0] str r1, [sp, #0x8] ldr r0, [r0, #0x34] add r1, r6, #0x0 bl FUN_0205753C str r0, [r4, #0x0] bl FUN_02059D1C ldr r0, [r4, #0x0] mov r1, #0x1 bl FUN_0205889C ldr r0, [r4, #0x0] mov r1, #0x0 bl FUN_020588B8 ldr r0, [r4, #0x0] bl FUN_02058B7C add r1, r5, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] add r4, r0, #0x0 ldr r1, [r1, #0x24] bl MOD05_021EF5E0 add r5, #0x80 ldr r1, [r5, #0x0] add r0, r4, #0x0 ldr r1, [r1, #0x20] bl FUN_0201EC68 mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0203B500 FUN_0203B500: ; 0x0203B500 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xb bl FUN_02039438 ldr r0, [r0, #0x0] bl FUN_02057654 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xff ldr r0, [r0, #0x34] bl FUN_02058060 bl FUN_02058B7C add r1, r5, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] add r4, r0, #0x0 ldr r1, [r1, #0x24] bl MOD05_021EF5E0 add r5, #0x80 ldr r1, [r5, #0x0] add r0, r4, #0x0 ldr r1, [r1, #0x20] bl FUN_0201EC68 mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203B544 FUN_0203B544: ; 0x0203B544 push {r3-r5, lr} add r0, #0x80 ldr r5, [r0, #0x0] ldr r0, [r5, #0x38] bl FUN_020552F8 bl FUN_02059E74 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa bl FUN_02039438 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0203B568 mov r0, #0x0 pop {r3-r5, pc} _0203B568: add r1, r4, #0x0 bl MOD05_021F1EC0 mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203B574 FUN_0203B574: ; 0x0203B574 push {r4-r6, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r6, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer add r4, r0, #0x0 ldr r0, [r5, #0x38] bl FUN_02055320 strh r0, [r6, #0x0] ldr r0, [r5, #0x38] bl FUN_0205532C strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203B5B8 FUN_0203B5B8: ; 0x0203B5B8 push {r4-r6, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r1, r0, #0x0 ldr r0, [r5, #0x34] bl FUN_02058060 add r5, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r6, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02058B2C strh r0, [r6, #0x0] add r0, r5, #0x0 bl FUN_02058B4C strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203B618 FUN_0203B618: ; 0x0203B618 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0x38] bl FUN_020552F8 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203B640 FUN_0203B640: ; 0x0203B640 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 cmp r7, #0x0 beq _0203B696 lsl r0, r7, #0xc bl _fflt add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 bl _fadd b _0203B6A4 _0203B696: lsl r0, r7, #0xc bl _fflt mov r1, #0x3f lsl r1, r1, #0x18 bl _fsub _0203B6A4: bl _ffix str r0, [sp, #0x0] cmp r6, #0x0 beq _0203B6C0 lsl r0, r6, #0xc bl _fflt add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 bl _fadd b _0203B6CE _0203B6C0: lsl r0, r6, #0xc bl _fflt mov r1, #0x3f lsl r1, r1, #0x18 bl _fsub _0203B6CE: bl _ffix str r0, [sp, #0x4] cmp r4, #0x0 beq _0203B6EA lsl r0, r4, #0xc bl _fflt add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 bl _fadd b _0203B6F8 _0203B6EA: lsl r0, r4, #0xc bl _fflt mov r1, #0x3f lsl r1, r1, #0x18 bl _fsub _0203B6F8: bl _ffix str r0, [sp, #0x8] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] bl FUN_020553A0 add r1, sp, #0x0 bl FUN_02058BB4 add r5, #0x80 ldr r1, [r5, #0x0] add r0, sp, #0x0 ldr r1, [r1, #0x20] bl FUN_0201EF70 mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0203B724 FUN_0203B724: ; 0x0203B724 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x34] bl FUN_02058060 ldr r2, [r4, #0x8] add r1, r2, #0x1 str r1, [r4, #0x8] ldrb r1, [r2, #0x0] bl FUN_02058994 mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0203B758 FUN_0203B758: ; 0x0203B758 push {r3-r5, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x34] bl FUN_02058060 add r5, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02058E90 mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203B790 FUN_0203B790: ; 0x0203B790 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 mov r0, #0x0 strh r0, [r4, #0x0] add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0x34] bl FUN_02058060 cmp r0, #0x0 beq _0203B7D2 bl FUN_02058480 strh r0, [r4, #0x0] _0203B7D2: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203B7D8 FUN_0203B7D8: ; 0x0203B7D8 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x30 ldr r0, [r0, #0x34] bl FUN_020580B4 mov r1, #0xfe bl FUN_02058EB0 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0203B7F0 FUN_0203B7F0: ; 0x0203B7F0 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl Sav2_SealCase_get bl FUN_02029E0C strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203B81C FUN_0203B81C: ; 0x0203B81C push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl Sav2_SealCase_get add r1, r6, #0x0 bl FUN_02029E2C strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0203B85C FUN_0203B85C: ; 0x0203B85C push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl Sav2_SealCase_get lsl r2, r4, #0x10 add r1, r6, #0x0 asr r2, r2, #0x10 bl FUN_02029D44 mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203B8A0 FUN_0203B8A0: ; 0x0203B8A0 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl SavArray_PlayerParty_get add r1, r6, #0x0 bl GetPartyMonByIndex bl GetMonUnownLetter strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0203B8E4 FUN_0203B8E4: ; 0x0203B8E4 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r1, r5, #0x0 add r1, #0x80 add r4, r0, #0x0 ldr r1, [r1, #0x0] mov r0, #0x20 bl FUN_020379F8 str r0, [r4, #0x0] ldr r1, _0203B910 ; =FUN_0203BC04 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r5, pc} nop _0203B910: .word FUN_0203BC04 thumb_func_start FUN_0203B914 FUN_0203B914: ; 0x0203B914 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r1, r5, #0x0 add r1, #0x80 add r4, r0, #0x0 ldr r1, [r1, #0x0] mov r0, #0x20 bl FUN_02037A1C str r0, [r4, #0x0] ldr r1, _0203B940 ; =FUN_0203BC04 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r5, pc} nop _0203B940: .word FUN_0203BC04 thumb_func_start FUN_0203B944 FUN_0203B944: ; 0x0203B944 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x20 ldr r0, [r0, #0x10] bl FUN_02037B44 str r0, [r4, #0x0] mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203B968 FUN_0203B968: ; 0x0203B968 push {r3-r5, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 bne _0203B994 bl GF_AssertFail _0203B994: ldr r0, [r4, #0x0] bl FUN_02037A40 strh r0, [r5, #0x0] ldrh r0, [r5, #0x0] cmp r0, #0x7 bne _0203B9A6 mov r0, #0xff strh r0, [r5, #0x0] _0203B9A6: ldr r0, [r4, #0x0] bl FreeToHeap mov r0, #0x0 str r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203B9B4 FUN_0203B9B4: ; 0x0203B9B4 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x8] add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x0] add r1, r5, #0x0 str r6, [sp, #0x4] add r1, #0x80 ldr r1, [r1, #0x0] ldr r2, [sp, #0x8] mov r0, #0x20 add r3, r7, #0x0 bl FUN_02037BB0 str r0, [r4, #0x0] ldr r1, _0203BA38 ; =FUN_0203BC04 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} .balign 4 _0203BA38: .word FUN_0203BC04 thumb_func_start FUN_0203BA3C FUN_0203BA3C: ; 0x0203BA3C push {r4-r6, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r6, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 bne _0203BA7C bl GF_AssertFail _0203BA7C: ldr r0, [r4, #0x0] bl FUN_02037A40 strh r0, [r6, #0x0] ldrh r0, [r6, #0x0] cmp r0, #0x7 bne _0203BA8E mov r0, #0xff strh r0, [r6, #0x0] _0203BA8E: ldr r0, [r4, #0x0] bl FUN_02037A70 strh r0, [r5, #0x0] ldrh r0, [r5, #0x0] cmp r0, #0x1 bne _0203BAA0 mov r0, #0x1 b _0203BAA2 _0203BAA0: mov r0, #0x0 _0203BAA2: strh r0, [r5, #0x0] ldr r0, [r4, #0x0] bl FreeToHeap mov r0, #0x0 str r0, [r4, #0x0] pop {r4-r6, pc} thumb_func_start FUN_0203BAB0 FUN_0203BAB0: ; 0x0203BAB0 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r1, r5, #0x0 add r1, #0x80 add r2, r0, #0x0 ldr r1, [r1, #0x0] mov r0, #0x20 bl FUN_02037C00 str r0, [r4, #0x0] ldr r1, _0203BAF0 ; =FUN_0203BC04 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r5, pc} nop _0203BAF0: .word FUN_0203BC04 thumb_func_start FUN_0203BAF4 FUN_0203BAF4: ; 0x0203BAF4 push {r3-r5, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 bne _0203BB20 bl GF_AssertFail _0203BB20: ldr r0, [r4, #0x0] bl FUN_02037A78 strh r0, [r5, #0x0] ldr r0, [r4, #0x0] bl FreeToHeap mov r0, #0x0 str r0, [r4, #0x0] pop {r3-r5, pc} thumb_func_start FUN_0203BB34 FUN_0203BB34: ; 0x0203BB34 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xa bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r1, [r4, #0x0] add r2, r7, #0x0 bl MOD05_021E1858 strh r0, [r6, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0203BB80 FUN_0203BB80: ; 0x0203BB80 mov r0, #0x0 bx lr thumb_func_start FUN_0203BB84 FUN_0203BB84: ; 0x0203BB84 mov r0, #0x0 bx lr thumb_func_start FUN_0203BB88 FUN_0203BB88: ; 0x0203BB88 mov r0, #0x1 bx lr thumb_func_start FUN_0203BB8C FUN_0203BB8C: ; 0x0203BB8C mov r0, #0x0 bx lr thumb_func_start FUN_0203BB90 FUN_0203BB90: ; 0x0203BB90 push {r3-r5, lr} add r0, #0x80 ldr r5, [r0, #0x0] mov r1, #0x13 add r0, r5, #0x0 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0204647C cmp r0, #0x0 beq _0203BBAE mov r0, #0x0 pop {r3-r5, pc} _0203BBAE: ldr r0, [r4, #0x0] bl FreeToHeap mov r0, #0x0 str r0, [r4, #0x0] mov r0, #0x1 pop {r3-r5, pc} thumb_func_start FUN_0203BBBC FUN_0203BBBC: ; 0x0203BBBC push {r4-r6, lr} add r0, #0x80 ldr r5, [r0, #0x0] mov r1, #0x13 add r0, r5, #0x0 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 ldr r6, [r4, #0x0] bl FUN_0204647C cmp r0, #0x0 beq _0203BBDC mov r0, #0x0 pop {r4-r6, pc} _0203BBDC: ldr r0, [r6, #0x8] cmp r0, #0x1 bne _0203BBF4 mov r0, #0xb bl FUN_02029048 add r5, #0x98 add r1, r0, #0x0 ldr r0, [r5, #0x0] mov r2, #0x1 bl FUN_02028AD4 _0203BBF4: ldr r0, [r4, #0x0] bl FreeToHeap mov r0, #0x0 str r0, [r4, #0x0] mov r0, #0x1 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203BC04 FUN_0203BC04: ; 0x0203BC04 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_0204647C cmp r0, #0x0 bne _0203BC16 mov r0, #0x1 pop {r3, pc} _0203BC16: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203BC1C FUN_0203BC1C: ; 0x0203BC1C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x10] bl FUN_0204AF84 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203BC2C FUN_0203BC2C: ; 0x0203BC2C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x10] bl FUN_0204AF3C mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203BC3C FUN_0203BC3C: ; 0x0203BC3C push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 add r4, r2, #0x0 bl FUN_02027E24 cmp r5, #0x0 bne _0203BC5A add r1, r4, #0x0 bl FUN_02027098 cmp r0, #0x0 bne _0203BC68 mov r0, #0x0 pop {r3-r5, pc} _0203BC5A: add r1, r4, #0x0 bl FUN_020270B4 cmp r0, #0x0 bne _0203BC68 mov r0, #0x0 pop {r3-r5, pc} _0203BC68: mov r0, #0x1 pop {r3-r5, pc} thumb_func_start FUN_0203BC6C FUN_0203BC6C: ; 0x0203BC6C push {r3-r7, lr} add r5, r1, #0x0 str r0, [sp, #0x0] ldr r0, [r5, #0xc] add r4, r2, #0x0 add r6, r3, #0x0 bl FUN_02027E24 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_0203BC3C cmp r0, #0x0 bne _0203BC90 mov r0, #0x0 pop {r3-r7, pc} _0203BC90: ldr r0, [sp, #0x0] mov r1, #0xc bl AllocFromHeap 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] str r7, [r0, #0x0] str r4, [r0, #0x8] str r6, [r0, #0x4] pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0203BCBC FUN_0203BCBC: ; 0x0203BCBC push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl MOD05_021F02C4 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0203BCCC FUN_0203BCCC: ; 0x0203BCCC push {r3, lr} ldr r0, [r0, #0x74] bl FUN_0206F3B8 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203BCD8 FUN_0203BCD8: ; 0x0203BCD8 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer ldr r1, [r4, #0x0] ldr r1, [r1, #0x4] strh r1, [r0, #0x0] ldr r0, [r4, #0x0] bl FreeToHeap mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203BD08 FUN_0203BD08: ; 0x0203BD08 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer add r4, r0, #0x0 bl FUN_02031190 strh r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0203BD28 FUN_0203BD28: ; 0x0203BD28 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x4 str r0, [sp, #0x4] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r2, _0203BDB4 ; =0x000003D9 ldr r0, [r0, #0x8] mov r1, #0x3 mov r3, #0xb bl FUN_0200CB00 mov r0, #0xb str r0, [sp, #0x0] ldr r0, _0203BDB4 ; =0x000003D9 mov r1, #0x3 str r0, [sp, #0x4] lsl r0, r7, #0x18 str r4, [sp, #0x8] lsr r0, r0, #0x18 str r0, [sp, #0xc] mov r0, #0x4 str r0, [sp, #0x10] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r2, #0xa ldr r0, [r0, #0x8] mov r3, #0x5 bl FUN_0200DC4C add r5, #0x80 str r0, [r6, #0x0] ldr r0, [r5, #0x0] add r1, r4, #0x0 bl FUN_0203ED2C mov r0, #0x0 add sp, #0x14 pop {r4-r7, pc} .balign 4 _0203BDB4: .word 0x000003D9 thumb_func_start FUN_0203BDB8 FUN_0203BDB8: ; 0x0203BDB8 push {r4-r6, lr} sub sp, #0x10 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl SavArray_PlayerParty_get add r1, r4, #0x0 bl GetPartyMonByIndex add r4, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x4 str r0, [sp, #0x4] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r2, _0203BE4C ; =0x000003D9 ldr r0, [r0, #0x8] mov r1, #0x3 mov r3, #0xb bl FUN_0200CB00 mov r0, #0xb str r0, [sp, #0x0] ldr r0, _0203BE4C ; =0x000003D9 mov r1, #0x3 str r0, [sp, #0x4] str r4, [sp, #0x8] mov r0, #0x4 str r0, [sp, #0xc] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r2, #0xa ldr r0, [r0, #0x8] mov r3, #0x5 bl FUN_0200DCA4 str r0, [r6, #0x0] add r0, r4, #0x0 mov r1, #0x5 mov r2, #0x0 bl GetMonData add r1, r0, #0x0 add r5, #0x80 lsl r1, r1, #0x10 ldr r0, [r5, #0x0] lsr r1, r1, #0x10 bl FUN_0203ED2C mov r0, #0x0 add sp, #0x10 pop {r4-r6, pc} .balign 4 _0203BE4C: .word 0x000003D9 thumb_func_start FUN_0203BE50 FUN_0203BE50: ; 0x0203BE50 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 ldr r0, [r0, #0x0] mov r1, #0x1 strb r1, [r0, #0x0] add r0, r1, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203BE68 FUN_0203BE68: ; 0x0203BE68 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 ldr r0, [r0, #0x0] mov r1, #0x2 strb r1, [r0, #0x0] mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0203BE80 FUN_0203BE80: ; 0x0203BE80 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword str r0, [r4, #0x64] ldr r1, _0203BE98 ; =FUN_0203BE9C add r0, r4, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r4, pc} nop _0203BE98: .word FUN_0203BE9C thumb_func_start FUN_0203BE9C FUN_0203BE9C: ; 0x0203BE9C push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 ldr r1, [r5, #0x64] add r0, #0x80 lsl r1, r1, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 bl GetVarPointer ldr r0, [r4, #0x0] ldrb r0, [r0, #0x0] cmp r0, #0x3 beq _0203BEC8 mov r0, #0x1 pop {r3-r5, pc} _0203BEC8: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203BECC FUN_0203BECC: ; 0x0203BECC push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r6, #0x0 bl GetVarPointer add r2, r0, #0x0 ldr r0, [r5, #0x74] ldr r1, [r4, #0x0] bl MOD05_021E1374 mov r0, #0x1 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203BF00 FUN_0203BF00: ; 0x0203BF00 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xa bl FUN_02039438 ldr r1, [r0, #0x0] cmp r1, #0x0 beq _0203BF1C add r4, #0x80 ldr r0, [r4, #0x0] bl MOD05_021E1994 _0203BF1C: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_0203BF20 FUN_0203BF20: ; 0x0203BF20 push {r3, lr} ldr r0, [r0, #0x74] bl FUN_0208A338 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203BF2C FUN_0203BF2C: ; 0x0203BF2C push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 ldr r2, [r5, #0x0] add r1, r6, #0x0 str r0, [sp, #0x0] ldr r0, [r2, #0x10] ldr r2, [r2, #0xc] add r3, r4, #0x0 bl FUN_020380CC mov r0, #0x1 add sp, #0x4 pop {r3-r6, pc} .balign 4 thumb_func_start FUN_0203BF84 FUN_0203BF84: ; 0x0203BF84 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r1, r5, #0x0 add r1, #0x80 add r6, r0, #0x0 ldr r1, [r1, #0x0] mov r0, #0xb mov r2, #0x0 add r3, r7, #0x0 bl FUN_0203BC6C str r0, [r4, #0x0] cmp r0, #0x0 bne _0203BFCC mov r0, #0x1 strh r0, [r6, #0x0] pop {r3-r7, pc} _0203BFCC: mov r0, #0x0 strh r0, [r6, #0x0] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r4, #0x0] bl FUN_02038130 ldr r1, _0203BFE8 ; =FUN_0203BB90 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r7, pc} .balign 4 _0203BFE8: .word FUN_0203BB90 thumb_func_start FUN_0203BFEC FUN_0203BFEC: ; 0x0203BFEC push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r1, r5, #0x0 add r1, #0x80 add r6, r0, #0x0 ldr r1, [r1, #0x0] mov r0, #0xb mov r2, #0x1 add r3, r7, #0x0 bl FUN_0203BC6C str r0, [r4, #0x0] cmp r0, #0x0 bne _0203C034 mov r0, #0x1 strh r0, [r6, #0x0] pop {r3-r7, pc} _0203C034: mov r0, #0x0 strh r0, [r6, #0x0] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r4, #0x0] bl FUN_02038130 ldr r1, _0203C050 ; =FUN_0203BB90 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r7, pc} .balign 4 _0203C050: .word FUN_0203BB90 thumb_func_start FUN_0203C054 FUN_0203C054: ; 0x0203C054 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x0 add r2, r6, #0x0 bl FUN_0203BC3C cmp r0, #0x1 bne _0203C088 mov r0, #0x1 strh r0, [r4, #0x0] pop {r4-r6, pc} _0203C088: mov r0, #0x0 strh r0, [r4, #0x0] mov r0, #0x1 pop {r4-r6, pc} thumb_func_start FUN_0203C090 FUN_0203C090: ; 0x0203C090 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x1 add r2, r6, #0x0 bl FUN_0203BC3C cmp r0, #0x1 bne _0203C0C4 mov r0, #0x1 strh r0, [r4, #0x0] pop {r4-r6, pc} _0203C0C4: mov r0, #0x0 strh r0, [r4, #0x0] mov r0, #0x1 pop {r4-r6, pc} thumb_func_start FUN_0203C0CC FUN_0203C0CC: ; 0x0203C0CC push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02027E24 mov r1, #0x0 bl FUN_02027008 add r1, r4, #0x0 bl FUN_02027478 mov r0, #0x1 pop {r3-r5, pc} thumb_func_start FUN_0203C0FC FUN_0203C0FC: ; 0x0203C0FC push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_02038804 ldr r1, _0203C114 ; =FUN_0203BC04 add r0, r4, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r4, pc} .balign 4 _0203C114: .word FUN_0203BC04 thumb_func_start FUN_0203C118 FUN_0203C118: ; 0x0203C118 push {r3, lr} add r1, r0, #0x0 ldr r0, [r1, #0x74] add r1, #0x80 ldr r1, [r1, #0x0] ldr r1, [r1, #0xc] bl FUN_02085F48 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203C12C FUN_0203C12C: ; 0x0203C12C push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 mov r1, #0x5 add r4, r0, #0x0 mov r0, #0xb lsl r1, r1, #0x6 bl AllocFromHeap str r0, [r4, #0x0] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r4, #0x0] mov r2, #0x2 bl FUN_0205F7A0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r4, #0x0] bl FUN_02037E90 ldr r1, _0203C170 ; =FUN_0203BB90 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r5, pc} nop _0203C170: .word FUN_0203BB90 thumb_func_start FUN_0203C174 FUN_0203C174: ; 0x0203C174 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword lsl r0, r0, #0x18 lsr r1, r0, #0x18 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r2, #0xb bl FUN_02088960 str r0, [r4, #0x0] ldr r1, _0203C1A8 ; =FUN_0203BB90 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r5, pc} .balign 4 _0203C1A8: .word FUN_0203BB90 thumb_func_start FUN_0203C1AC FUN_0203C1AC: ; 0x0203C1AC push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_Bag_get mov r1, #0x4 bl Bag_PocketNotEmpty cmp r0, #0x0 bne _0203C1E0 mov r0, #0x1 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} _0203C1E0: add r5, #0x80 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02028048 bl FUN_020281B8 cmp r0, #0x64 blo _0203C1FA mov r0, #0x2 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} _0203C1FA: mov r0, #0x0 strh r0, [r4, #0x0] pop {r3-r5, pc} thumb_func_start FUN_0203C200 FUN_0203C200: ; 0x0203C200 push {r3-r7, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x0] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r6, r0, #0x0 mov r0, #0xb mov r1, #0x8 bl AllocFromHeap mov r1, #0x0 mov r2, #0x8 str r0, [r6, #0x0] add r4, r0, #0x0 bl MI_CpuFill8 ldr r0, [sp, #0x0] strh r7, [r4, #0x4] strh r0, [r4, #0x6] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] str r0, [r4, #0x0] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r6, #0x0] bl FUN_02037FE4 ldr r1, _0203C274 ; =FUN_0203BB90 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r7, pc} .balign 4 _0203C274: .word FUN_0203BB90 thumb_func_start ScrCmd_monstoragepc ScrCmd_monstoragepc: ; 0x0203C278 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 mov r0, #0xb mov r1, #0xc bl AllocFromHeap add r1, r5, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] ldr r1, [r1, #0xc] str r1, [r0, #0x0] ldr r2, [r5, #0x8] add r1, r2, #0x1 str r1, [r5, #0x8] ldrb r1, [r2, #0x0] str r1, [r0, #0x4] str r0, [r4, #0x0] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r4, #0x0] bl LaunchStoragePCInterface ldr r1, _0203C2C0 ; =FUN_0203BBBC add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r5, pc} nop _0203C2C0: .word FUN_0203BBBC thumb_func_start FUN_0203C2C4 FUN_0203C2C4: ; 0x0203C2C4 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020383F8 ldr r1, _0203C2DC ; =FUN_0203BC04 add r0, r4, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r4, pc} .balign 4 _0203C2DC: .word FUN_0203BC04 thumb_func_start FUN_0203C2E0 FUN_0203C2E0: ; 0x0203C2E0 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_02065344 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0203C2F0 FUN_0203C2F0: ; 0x0203C2F0 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x10] bl FUN_020383D8 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203C300 FUN_0203C300: ; 0x0203C300 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_0203842C str r0, [r4, #0x0] ldr r1, _0203C328 ; =FUN_0203BB90 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r5, pc} .balign 4 _0203C328: .word FUN_0203BB90 thumb_func_start ScrCmd_halloffame ScrCmd_halloffame: ; 0x0203C32C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x10] bl Special_EnterHallOfFame mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203C33C FUN_0203C33C: ; 0x0203C33C push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_02038824 str r0, [r4, #0x0] ldr r1, _0203C364 ; =FUN_0203BB90 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r5, pc} .balign 4 _0203C364: .word FUN_0203BB90 thumb_func_start FUN_0203C368 FUN_0203C368: ; 0x0203C368 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl FUN_0203384C cmp r0, #0x0 beq _0203C3BC mov r0, #0x1 strh r0, [r4, #0x0] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r6, #0x0 bl FUN_020386E0 ldr r1, _0203C3C4 ; =FUN_0203BC04 add r0, r5, #0x0 bl SetupNativeScript b _0203C3C0 _0203C3BC: mov r0, #0x0 strh r0, [r4, #0x0] _0203C3C0: mov r0, #0x1 pop {r4-r6, pc} .balign 4 _0203C3C4: .word FUN_0203BC04 thumb_func_start FUN_0203C3C8 FUN_0203C3C8: ; 0x0203C3C8 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r1, r0, #0x0 ldr r0, [r4, #0x74] bl FUN_0206F3D8 mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0203C3E8 FUN_0203C3E8: ; 0x0203C3E8 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 add r4, r0, #0x0 mov r0, #0xb mov r1, #0x8 bl AllocFromHeap str r0, [r4, #0x0] add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_PlayerData_GetOptionsAddr str r0, [r6, #0x4] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r4, #0x0] bl FUN_020386A4 ldr r1, _0203C42C ; =FUN_0203BC04 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r4-r6, pc} nop _0203C42C: .word FUN_0203BC04 thumb_func_start FUN_0203C430 FUN_0203C430: ; 0x0203C430 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get ldr r1, [r4, #0x0] ldr r1, [r1, #0x0] lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_0205F378 ldr r0, [r4, #0x0] bl FreeToHeap mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203C460 FUN_0203C460: ; 0x0203C460 push {r4-r6, lr} add r5, r0, #0x0 ldr r1, [r5, #0x8] add r0, r1, #0x1 str r0, [r5, #0x8] ldrb r0, [r1, #0x0] cmp r0, #0x0 beq _0203C474 mov r0, #0x1 b _0203C476 _0203C474: mov r0, #0x0 _0203C476: lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r6, r0, #0x0 ldr r0, [r6, #0x0] cmp r0, #0x0 beq _0203C492 bl GF_AssertFail _0203C492: add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r4, #0x0 bl FUN_0203789C str r0, [r6, #0x0] ldr r1, _0203C4AC ; =FUN_0203BC04 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r4-r6, pc} .balign 4 _0203C4AC: .word FUN_0203BC04 thumb_func_start FUN_0203C4B0 FUN_0203C4B0: ; 0x0203C4B0 push {r3-r5, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 bne _0203C4DC bl GF_AssertFail _0203C4DC: ldr r0, [r4, #0x0] bl FUN_020378FC strh r0, [r5, #0x0] ldr r0, [r4, #0x0] bl FreeToHeap mov r0, #0x0 str r0, [r4, #0x0] pop {r3-r5, pc} thumb_func_start FUN_0203C4F0 FUN_0203C4F0: ; 0x0203C4F0 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] str r0, [sp, #0x8] ldr r0, [r4, #0x74] add r2, r1, #0x0 mov r3, #0x7 bl FUN_020385CC mov r0, #0x1 add sp, #0xc pop {r3-r4, pc} .balign 4 thumb_func_start FUN_0203C520 FUN_0203C520: ; 0x0203C520 push {r4-r7, lr} sub sp, #0x34 add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 ldr r0, [r4, #0xc] bl SavArray_PlayerParty_get add r1, r6, #0x0 bl GetPartyMonByIndex mov r1, #0x74 add r2, sp, #0xc add r7, r0, #0x0 bl GetMonData add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r7, #0x0 mov r1, #0x5 mov r2, #0x0 bl GetMonData add r2, r0, #0x0 str r6, [sp, #0x0] add r0, sp, #0xc str r0, [sp, #0x4] str r4, [sp, #0x8] ldr r0, [r5, #0x74] mov r1, #0x1 mov r3, #0xa bl FUN_020385CC mov r0, #0x1 add sp, #0x34 pop {r4-r7, pc} thumb_func_start FUN_0203C58C FUN_0203C58C: ; 0x0203C58C push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer mov r2, #0x0 str r2, [sp, #0x0] str r2, [sp, #0x4] str r0, [sp, #0x8] ldr r0, [r4, #0x74] mov r1, #0x6 mov r3, #0xa bl FUN_020385CC mov r0, #0x1 add sp, #0xc pop {r3-r4, pc} .balign 4 thumb_func_start FUN_0203C5BC FUN_0203C5BC: ; 0x0203C5BC push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r2, r0, #0x0 ldr r0, _0203C610 ; =0x0000FFFF add r5, #0x80 strh r0, [r2, #0x0] ldr r0, [r5, #0x0] add r1, r4, #0x0 ldr r0, [r0, #0x10] mov r3, #0x0 bl FUN_02037E18 mov r0, #0x1 pop {r3-r5, pc} nop _0203C610: .word 0x0000FFFF thumb_func_start FUN_0203C614 FUN_0203C614: ; 0x0203C614 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r3, r0, #0x0 ldr r0, _0203C67C ; =0x0000FFFF add r5, #0x80 strh r0, [r4, #0x0] strh r0, [r3, #0x0] ldr r0, [r5, #0x0] add r1, r6, #0x0 ldr r0, [r0, #0x10] add r2, r4, #0x0 bl FUN_02037E18 mov r0, #0x1 pop {r4-r6, pc} .balign 4 _0203C67C: .word 0x0000FFFF thumb_func_start FUN_0203C680 FUN_0203C680: ; 0x0203C680 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl VarGet add r2, r0, #0x0 ldr r0, [r4, #0x0] add r1, r6, #0x0 bl FUN_0200B518 mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203C6C4 FUN_0203C6C4: ; 0x0203C6C4 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 bl ScriptReadHalfword add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword str r4, [sp, #0x0] add r3, r0, #0x0 str r6, [sp, #0x4] mov r0, #0x4 str r0, [sp, #0x8] mov r0, #0x0 add r1, r7, #0x0 add r2, r7, #0x0 bl FUN_0200E1D0 mov r0, #0x0 bl FUN_0200E388 mov r0, #0x1 bl FUN_0200E388 mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} thumb_func_start FUN_0203C70C FUN_0203C70C: ; 0x0203C70C push {r3, lr} ldr r1, _0203C718 ; =FUN_0203C71C bl SetupNativeScript mov r0, #0x1 pop {r3, pc} .balign 4 _0203C718: .word FUN_0203C71C thumb_func_start FUN_0203C71C FUN_0203C71C: ; 0x0203C71C push {r3, lr} bl FUN_0200E308 cmp r0, #0x1 bne _0203C72A mov r0, #0x1 pop {r3, pc} _0203C72A: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203C730 FUN_0203C730: ; 0x0203C730 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 bl ScriptReadHalfword add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword str r4, [sp, #0x0] str r0, [sp, #0x4] mov r2, #0x0 ldr r0, [r5, #0x74] add r1, r6, #0x0 mvn r2, r2 add r3, r7, #0x0 bl FUN_02049240 mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_0203C788 FUN_0203C788: ; 0x0203C788 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 bl ScriptReadHalfword add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword str r4, [sp, #0x0] mov r2, #0x0 add r5, #0x80 str r0, [sp, #0x4] ldr r0, [r5, #0x0] add r1, r6, #0x0 ldr r0, [r0, #0x10] mvn r2, r2 add r3, r7, #0x0 bl FUN_02049F98 mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_0203C7E4 FUN_0203C7E4: ; 0x0203C7E4 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x10] bl FUN_02049FFC mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203C7F4 FUN_0203C7F4: ; 0x0203C7F4 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl FUN_02034E30 bl FUN_02034DC8 add r5, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer ldr r1, [r5, #0x0] strh r1, [r0, #0x0] mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203C820 FUN_0203C820: ; 0x0203C820 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, #0x80 ldr r1, [r4, #0x0] ldr r1, [r1, #0x1c] ldr r1, [r1, #0x0] strh r1, [r0, #0x0] mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0203C844 FUN_0203C844: ; 0x0203C844 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] bl FUN_020552F8 add r1, r0, #0x0 ldr r0, [r5, #0x74] add r2, r4, #0x0 bl MOD05_021E6990 mov r0, #0x1 pop {r3-r5, pc} thumb_func_start FUN_0203C874 FUN_0203C874: ; 0x0203C874 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r0, #0x90 ldr r0, [r0, #0x0] bl FUN_0205DD40 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] bl FUN_020552F8 add r1, r0, #0x0 ldr r0, [r5, #0x74] add r2, r4, #0x0 bl MOD05_021E6410 mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203C8B4 FUN_0203C8B4: ; 0x0203C8B4 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] bl FUN_020552F8 add r1, r0, #0x0 ldr r0, [r5, #0x74] add r2, r4, #0x0 bl MOD05_021E6BF4 mov r0, #0x1 pop {r3-r5, pc} thumb_func_start FUN_0203C8E4 FUN_0203C8E4: ; 0x0203C8E4 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 bl ScriptReadHalfword add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x0] mov r2, #0x1 str r2, [sp, #0x4] add r5, #0x80 ldr r0, [r5, #0x0] add r1, r4, #0x0 sub r2, r2, #0x2 add r3, r6, #0x0 bl FUN_02049274 mov r0, #0x1 add sp, #0x8 pop {r4-r6, pc} thumb_func_start FUN_0203C930 FUN_0203C930: ; 0x0203C930 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl FUN_02034E30 add r5, r0, #0x0 mov r1, #0x0 bl FUN_02034DF4 add r0, r5, #0x0 bl FUN_02034DEC add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] ldr r0, [r0, #0x4] ldr r0, [r0, #0xc] bl MOD05_021DC174 mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203C960 FUN_0203C960: ; 0x0203C960 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl FUN_02034E30 add r5, r0, #0x0 mov r1, #0x0 bl FUN_02034DF4 add r0, r5, #0x0 bl FUN_02034DEC add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] ldr r0, [r0, #0x4] ldr r0, [r0, #0xc] bl MOD05_021DC174 mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203C990 FUN_0203C990: ; 0x0203C990 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl SavArray_PlayerParty_get add r1, r6, #0x0 bl GetPartyMonByIndex add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] bl FUN_020553E8 add r3, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x0 add r2, r6, #0x0 bl MOD06_0224666C str r0, [r4, #0x0] ldr r1, _0203C9F4 ; =FUN_0203C9F8 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r4-r6, pc} nop _0203C9F4: .word FUN_0203C9F8 thumb_func_start FUN_0203C9F8 FUN_0203C9F8: ; 0x0203C9F8 push {r4, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r4, #0x0] bl MOD06_022466A0 cmp r0, #0x1 bne _0203CA1A ldr r0, [r4, #0x0] bl MOD06_022466AC mov r0, #0x1 pop {r4, pc} _0203CA1A: mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0203CA20 FUN_0203CA20: ; 0x0203CA20 push {r3, lr} ldr r0, [r0, #0x74] bl MOD05_021E7030 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203CA2C FUN_0203CA2C: ; 0x0203CA2C push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0x38] bl FUN_020553C4 cmp r0, #0x1 bne _0203CA54 mov r0, #0x1 b _0203CA56 _0203CA54: mov r0, #0x0 _0203CA56: strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203CA5C FUN_0203CA5C: ; 0x0203CA5C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x8] add r0, r1, #0x1 str r0, [r4, #0x8] ldrb r0, [r1, #0x0] cmp r0, #0x1 bne _0203CAA4 add r0, r4, #0x0 add r0, #0x80 mov r1, #0x12 ldr r0, [r0, #0x0] lsl r1, r1, #0x6 bl FUN_0204AB20 add r0, r4, #0x0 add r0, #0x80 mov r1, #0x12 ldr r0, [r0, #0x0] lsl r1, r1, #0x6 mov r2, #0x1 bl FUN_0204ABDC add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x2 ldr r0, [r0, #0x38] bl MOD05_021E5FD8 add r4, #0x80 ldr r0, [r4, #0x0] ldr r0, [r0, #0x38] bl MOD05_021E5FE0 b _0203CAE4 _0203CAA4: add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x1 ldr r0, [r0, #0x38] bl MOD05_021E5FD8 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] bl MOD05_021E5FE0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x0 bl FUN_0204AB20 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r0, #0x1c] ldr r1, [r1, #0x0] bl FUN_0204AB58 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] mov r2, #0x1 bl FUN_0204ABDC _0203CAE4: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_0203CAE8 FUN_0203CAE8: ; 0x0203CAE8 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x2 ldr r0, [r0, #0x38] bl MOD05_021E5FD8 add r4, #0x80 mov r1, #0x12 ldr r0, [r4, #0x0] lsl r1, r1, #0x6 bl FUN_0204AB20 mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_0203CB08 FUN_0203CB08: ; 0x0203CB08 push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 str r1, [r0, #0x8] add r0, #0x80 ldr r0, [r0, #0x0] ldrb r1, [r2, #0x0] ldr r0, [r0, #0x38] bl FUN_02055720 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0203CB20 FUN_0203CB20: ; 0x0203CB20 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0x38] bl FUN_020553C4 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203CB48 FUN_0203CB48: ; 0x0203CB48 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] ldr r0, [r0, #0x38] bl FUN_020553D4 mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0203CB60 FUN_0203CB60: ; 0x0203CB60 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] bl MOD05_021E5FE0 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0203CB70 FUN_0203CB70: ; 0x0203CB70 push {r4-r6, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl FUN_0202A9B0 add r5, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r6, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x2 bl FUN_0202A990 add r1, r6, #0x0 add r2, r4, #0x0 bl MOD06_02245910 mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203CBBC FUN_0203CBBC: ; 0x0203CBBC push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get bl FUN_0205F388 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203CBE8 FUN_0203CBE8: ; 0x0203CBE8 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r4, [r0, #0x0] mov r1, #0x8 add r0, r4, #0x0 bl FUN_02039438 add r0, r4, #0x0 mov r1, #0x10 bl FUN_02039438 add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x6 bl FUN_02039438 add r0, r4, #0x0 mov r1, #0x3 bl FUN_02039438 add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x0] add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r1, r0, #0x0 ldr r0, [sp, #0x0] ldr r2, [r6, #0x0] mov r3, #0xb bl GetTrainerMessageByIdPair add r0, r4, #0x0 mov r1, #0x1 bl FUN_02039438 mov r1, #0xf bl FillWindowPixelBuffer add r0, r4, #0x0 mov r1, #0x1 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_PlayerData_GetOptionsAddr add r2, r0, #0x0 ldr r1, [r6, #0x0] add r0, r4, #0x0 mov r3, #0x1 bl FUN_02054658 strb r0, [r7, #0x0] ldr r1, _0203CC84 ; =FUN_0203A2F0 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r7, pc} .balign 4 _0203CC84: .word FUN_0203A2F0 thumb_func_start FUN_0203CC88 FUN_0203CC88: ; 0x0203CC88 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x0] add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x4] add r0, r5, #0x0 bl ScriptReadHalfword add r6, r0, #0x0 ldr r2, [sp, #0x0] ldr r3, [sp, #0x4] add r0, r4, #0x0 add r1, r7, #0x0 bl MOD06_02240790 ldr r1, _0203CCF4 ; =FUN_0203CCF8 add r0, r5, #0x0 str r6, [r5, #0x64] bl SetupNativeScript mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} nop _0203CCF4: .word FUN_0203CCF8 thumb_func_start FUN_0203CCF8 FUN_0203CCF8: ; 0x0203CCF8 push {r4, lr} add r1, r0, #0x0 ldr r1, [r1, #0x64] add r0, #0x80 lsl r1, r1, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 bl GetVarPointer add r4, r0, #0x0 bl MOD06_022407DC cmp r0, #0x0 bne _0203CD18 mov r0, #0x0 pop {r4, pc} _0203CD18: strh r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0203CD20 FUN_0203CD20: ; 0x0203CD20 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x0] add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x4] add r0, r5, #0x0 bl ScriptReadHalfword add r6, r0, #0x0 ldr r2, [sp, #0x0] ldr r3, [sp, #0x4] add r0, r4, #0x0 add r1, r7, #0x0 bl MOD06_022407F8 ldr r1, _0203CD8C ; =FUN_0203CD90 add r0, r5, #0x0 str r6, [r5, #0x64] bl SetupNativeScript mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} nop _0203CD8C: .word FUN_0203CD90 thumb_func_start FUN_0203CD90 FUN_0203CD90: ; 0x0203CD90 push {r4, lr} add r1, r0, #0x0 ldr r1, [r1, #0x64] add r0, #0x80 lsl r1, r1, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 bl GetVarPointer add r4, r0, #0x0 bl MOD06_02240844 cmp r0, #0x0 bne _0203CDB0 mov r0, #0x0 pop {r4, pc} _0203CDB0: strh r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0203CDB8 FUN_0203CDB8: ; 0x0203CDB8 push {r3, lr} bl ScriptReadHalfword mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0203CDC4 FUN_0203CDC4: ; 0x0203CDC4 push {r3, lr} bl ScriptReadHalfword mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0203CDD0 FUN_0203CDD0: ; 0x0203CDD0 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r6, r0, #0x0 add r5, #0x80 ldr r4, [r6, #0x0] ldr r0, [r5, #0x0] add r1, r4, #0x0 ldr r0, [r0, #0x10] add r1, #0x2c mov r2, #0x5 bl FUN_02047174 add r0, r4, #0x0 bl FreeToHeap mov r0, #0x0 str r0, [r6, #0x0] mov r0, #0x1 pop {r4-r6, pc} thumb_func_start FUN_0203CE00 FUN_0203CE00: ; 0x0203CE00 push {r3, lr} ldr r0, [r0, #0x74] bl FUN_02080C38 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203CE0C FUN_0203CE0C: ; 0x0203CE0C push {r3-r4, lr} sub sp, #0x14 add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x0] add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x4] add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x8] add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0xc] add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, #0x80 str r0, [sp, #0x10] ldr r0, [r4, #0x0] ldr r0, [r0, #0xc] bl FUN_02034E30 add r1, sp, #0x0 bl FUN_02034DD4 mov r0, #0x0 add sp, #0x14 pop {r3-r4, pc} .balign 4 thumb_func_start FUN_0203CE8C FUN_0203CE8C: ; 0x0203CE8C push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02034E30 bl FUN_02034DD0 ldr r0, [r0, #0x0] bl MOD05_021E2608 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203CEBC FUN_0203CEBC: ; 0x0203CEBC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf str r0, [sp, #0x4] bl FUN_02039438 add r7, r0, #0x0 ldr r0, [r5, #0x8] add r1, r0, #0x1 str r1, [r5, #0x8] ldrb r6, [r0, #0x0] add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r3, r0, #0x0 ldr r0, [r7, #0x0] add r1, r6, #0x0 str r0, [sp, #0x0] ldr r0, [sp, #0x4] add r2, r4, #0x0 bl MOD05_021E2464 mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_0203CF04 FUN_0203CF04: ; 0x0203CF04 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_Pokedex_get add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl Pokedex_CountSinnohDexSeenMons strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203CF34 FUN_0203CF34: ; 0x0203CF34 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_Pokedex_get add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl Pokedex_CountSinnohDexCaughtMons strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203CF64 FUN_0203CF64: ; 0x0203CF64 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_Pokedex_get add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl Pokedex_CountNationalDexSeenMons strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203CF94 FUN_0203CF94: ; 0x0203CF94 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_Pokedex_get add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl Pokedex_CountNationalDexCaughtMons strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203CFC4 FUN_0203CFC4: ; 0x0203CFC4 mov r0, #0x0 bx lr thumb_func_start FUN_0203CFC8 FUN_0203CFC8: ; 0x0203CFC8 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_Pokedex_get add r7, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_PlayerData_GetProfileAddr ldr r1, [r5, #0x8] str r0, [sp, #0x0] add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r6, [r1, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 cmp r6, #0x0 bne _0203D02E add r0, r7, #0x0 bl Pokedex_CountSinnohDexSeenMons_OmitMythicals add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get mov r1, #0x2 mov r2, #0xa bl FUN_0205F2E4 add r1, r0, #0x0 lsl r1, r1, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 bl FUN_02054CC8 b _0203D048 _0203D02E: add r0, r7, #0x0 bl Pokedex_CountNationalDexCaughtMons_OmitMythicals add r5, r0, #0x0 ldr r0, [sp, #0x0] bl PlayerProfile_GetTrainerGender add r1, r0, #0x0 lsl r1, r1, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 bl FUN_02054D1C _0203D048: strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0203D050 FUN_0203D050: ; 0x0203D050 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x17 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] lsl r2, r2, #0x18 ldr r0, [r5, #0x74] add r1, r6, #0x0 lsr r2, r2, #0x18 add r3, r4, #0x0 bl FUN_02046E18 mov r0, #0x1 add sp, #0x4 pop {r3-r6, pc} .balign 4 thumb_func_start FUN_0203D0A4 FUN_0203D0A4: ; 0x0203D0A4 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x17 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r2, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] lsl r2, r2, #0x18 ldr r0, [r5, #0x74] add r1, r6, #0x0 lsr r2, r2, #0x18 add r3, r4, #0x0 bl FUN_02046E18 mov r0, #0x1 add sp, #0x4 pop {r3-r6, pc} .balign 4 thumb_func_start FUN_0203D0F8 FUN_0203D0F8: ; 0x0203D0F8 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r2, r0, #0x0 lsl r2, r2, #0x18 ldr r0, [r5, #0x74] add r1, r4, #0x0 lsr r2, r2, #0x18 bl FUN_02046FA0 mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203D134 FUN_0203D134: ; 0x0203D134 push {r3, lr} ldr r0, [r0, #0x74] bl FUN_020470AC mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203D140 FUN_0203D140: ; 0x0203D140 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl MOD05_021F4DC8 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203D150 FUN_0203D150: ; 0x0203D150 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl MOD05_021F4D80 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203D178 FUN_0203D178: ; 0x0203D178 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x17 bl FUN_02039438 add r1, r0, #0x0 ldr r0, [r4, #0x74] bl FUN_02046DB4 mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0203D194 FUN_0203D194: ; 0x0203D194 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl MOD05_021F4E7C mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203D1A4 FUN_0203D1A4: ; 0x0203D1A4 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020386B4 ldr r1, _0203D1BC ; =FUN_0203BC04 add r0, r4, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r4, pc} .balign 4 _0203D1BC: .word FUN_0203BC04 thumb_func_start FUN_0203D1C0 FUN_0203D1C0: ; 0x0203D1C0 push {r3-r5, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] ldr r5, [r1, #0xc] bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0202280C cmp r0, #0x0 beq _0203D1EC mov r0, #0x0 strh r0, [r4, #0x0] b _0203D210 _0203D1EC: add r0, r5, #0x0 bl FUN_02022804 cmp r0, #0x0 bne _0203D1FC mov r0, #0x1 strh r0, [r4, #0x0] b _0203D210 _0203D1FC: add r0, r5, #0x0 bl SaveGetDirtyBit cmp r0, #0x0 beq _0203D20C mov r0, #0x2 strh r0, [r4, #0x0] b _0203D210 _0203D20C: mov r0, #0x3 strh r0, [r4, #0x0] _0203D210: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203D214 FUN_0203D214: ; 0x0203D214 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl MOD05_021E85FC strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203D23C FUN_0203D23C: ; 0x0203D23C push {r3, lr} ldr r0, [r0, #0x74] bl MOD05_021E3424 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203D248 FUN_0203D248: ; 0x0203D248 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_Poketch_get add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl Sav2_Poketch_IsGiven strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203D278 FUN_0203D278: ; 0x0203D278 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl VarGet add r5, r0, #0x0 ldr r0, [r4, #0xc] bl Sav2_Poketch_get add r1, r5, #0x0 bl Sav2_Poketch_UnlockApp mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203D2A4 FUN_0203D2A4: ; 0x0203D2A4 push {r4-r6, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer add r4, r0, #0x0 ldr r0, [r5, #0xc] bl Sav2_Poketch_get add r1, r6, #0x0 bl Sav2_Poketch_AppIsUnlocked strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0203D2E4 FUN_0203D2E4: ; 0x0203D2E4 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [r4, #0x64] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_02031588 ldr r1, _0203D310 ; =FUN_0203D314 add r0, r4, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r4, pc} nop _0203D310: .word FUN_0203D314 thumb_func_start FUN_0203D314 FUN_0203D314: ; 0x0203D314 push {r4, lr} add r4, r0, #0x0 bl FUN_02030F20 cmp r0, #0x2 bge _0203D324 mov r0, #0x1 pop {r4, pc} _0203D324: ldr r0, [r4, #0x64] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_020315D8 pop {r4, pc} thumb_func_start FUN_0203D330 FUN_0203D330: ; 0x0203D330 push {r3, lr} bl FUN_0203168C mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203D33C FUN_0203D33C: ; 0x0203D33C push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_0205296C strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203D36C FUN_0203D36C: ; 0x0203D36C push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 add r1, r0, #0x0 add r5, #0x80 ldr r0, [r5, #0x0] ldr r1, [r1, #0x0] ldr r0, [r0, #0x78] bl FUN_02052C0C strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203D3A4 FUN_0203D3A4: ; 0x0203D3A4 push {r4, lr} bl ScriptReadHalfword add r4, r0, #0x0 cmp r4, #0x5 beq _0203D3BC cmp r4, #0x7 beq _0203D3BC cmp r4, #0x9 beq _0203D3BC cmp r4, #0x6 bne _0203D3C2 _0203D3BC: bl FUN_02031C54 b _0203D3CA _0203D3C2: cmp r4, #0xb bne _0203D3CA bl FUN_02031C64 _0203D3CA: bl FUN_02031190 cmp r0, #0x0 bne _0203D3D8 add r0, r4, #0x0 bl FUN_02052B74 _0203D3D8: mov r0, #0x0 pop {r4, pc} thumb_func_start FUN_0203D3DC FUN_0203D3DC: ; 0x0203D3DC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xa bl FUN_02039438 add r7, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r5, #0x80 str r0, [sp, #0x4] ldr r0, [r5, #0x0] bl ScriptEnvironment_GetSav2Ptr bl FUN_02013B5C add r5, r0, #0x0 cmp r4, #0x0 bne _0203D432 ldr r0, [r7, #0x0] bl FUN_02058448 lsl r0, r0, #0x10 lsr r2, r0, #0x10 b _0203D434 _0203D432: mov r2, #0x0 _0203D434: str r5, [sp, #0x0] ldr r0, [r6, #0x0] ldr r3, [sp, #0x4] add r1, r4, #0x0 bl FUN_02052D08 mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0203D448 FUN_0203D448: ; 0x0203D448 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_0208881C mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203D458 FUN_0203D458: ; 0x0203D458 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x7c] bl FUN_02052F74 bl FUN_02031B50 ldr r1, _0203D478 ; =FUN_0203D47C add r0, r4, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r4, pc} nop _0203D478: .word FUN_0203D47C thumb_func_start FUN_0203D47C FUN_0203D47C: ; 0x0203D47C push {r3, lr} bl FUN_02030F20 cmp r0, #0x2 bge _0203D48A mov r0, #0x1 pop {r3, pc} _0203D48A: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203D490 FUN_0203D490: ; 0x0203D490 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xa bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword str r0, [sp, #0x0] add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 add r7, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_02058448 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] ldr r2, [sp, #0x0] ldr r0, [r0, #0x78] ldr r3, [r7, #0x0] bl FUN_02052A10 strh r0, [r6, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0203D4E8 FUN_0203D4E8: ; 0x0203D4E8 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x78] bl FUN_020527A8 strh r0, [r4, #0x0] ldrh r0, [r4, #0x0] cmp r0, #0x0 beq _0203D522 add r5, #0x80 ldr r0, [r5, #0x0] mov r1, #0x13 bl FUN_02039438 ldr r0, [r0, #0x0] bl FreeToHeap _0203D522: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203D528 FUN_0203D528: ; 0x0203D528 push {r4-r6, lr} add r4, r0, #0x0 add r0, #0x80 ldr r5, [r0, #0x0] mov r1, #0xa add r0, r5, #0x0 bl FUN_02039438 add r6, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer add r4, r0, #0x0 ldr r0, [r6, #0x0] bl FUN_02058448 add r1, r0, #0x0 ldr r0, [r5, #0x78] bl FUN_020524CC strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0203D560 FUN_0203D560: ; 0x0203D560 push {r3-r7, lr} add r4, r0, #0x0 add r0, #0x80 ldr r5, [r0, #0x0] mov r1, #0xa add r0, r5, #0x0 bl FUN_02039438 add r6, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer add r4, r0, #0x0 ldr r0, [r6, #0x0] bl FUN_02058448 add r1, r0, #0x0 ldr r0, [r5, #0x78] add r2, r7, #0x0 bl FUN_02052544 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0203D5B0 FUN_0203D5B0: ; 0x0203D5B0 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword str r0, [r4, #0x64] ldr r1, _0203D5C8 ; =FUN_0203D5CC add r0, r4, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r4, pc} nop _0203D5C8: .word FUN_0203D5CC thumb_func_start FUN_0203D5CC FUN_0203D5CC: ; 0x0203D5CC push {r4-r6, lr} add r6, r0, #0x0 add r0, #0x80 ldr r5, [r0, #0x0] ldr r0, [r5, #0x78] bl FUN_02052604 ldr r1, [r6, #0x64] add r4, r0, #0x0 lsl r1, r1, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 bl GetVarPointer cmp r4, #0x0 bne _0203D5F0 mov r0, #0x0 pop {r4-r6, pc} _0203D5F0: strh r4, [r0, #0x0] mov r0, #0x1 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203D5F8 FUN_0203D5F8: ; 0x0203D5F8 push {r3, lr} add r0, #0x80 ldr r1, [r0, #0x0] ldr r0, [r1, #0x34] ldr r1, [r1, #0x7c] bl FUN_020534DC mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203D60C FUN_0203D60C: ; 0x0203D60C push {r3, lr} mov r0, #0x4 bl FUN_02052B74 bl FUN_02031C2C mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0203D61C FUN_0203D61C: ; 0x0203D61C push {r3, lr} bl FUN_02031C64 bl FUN_02031B50 mov r0, #0x0 bl FUN_02052B74 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0203D630 FUN_0203D630: ; 0x0203D630 push {r4-r6, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl VarGet add r2, r0, #0x0 ldr r0, [r4, #0x78] add r1, r6, #0x0 bl FUN_0205265C mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203D66C FUN_0203D66C: ; 0x0203D66C push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword str r0, [r4, #0x64] ldr r1, _0203D684 ; =FUN_0203D688 add r0, r4, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r4, pc} nop _0203D684: .word FUN_0203D688 thumb_func_start FUN_0203D688 FUN_0203D688: ; 0x0203D688 push {r3-r5, lr} add r5, r0, #0x0 ldr r1, [r5, #0x64] add r0, #0x80 lsl r1, r1, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x78] bl FUN_02052608 cmp r0, #0x1 blo _0203D6BC add r5, #0x80 strh r0, [r4, #0x0] ldr r0, [r5, #0x0] ldr r0, [r0, #0x78] bl FUN_02052E10 mov r0, #0x1 pop {r3-r5, pc} _0203D6BC: mov r0, #0x0 strh r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203D6C4 FUN_0203D6C4: ; 0x0203D6C4 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword str r0, [r4, #0x64] ldr r1, _0203D6DC ; =FUN_0203D6E0 add r0, r4, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r4, pc} nop _0203D6DC: .word FUN_0203D6E0 thumb_func_start FUN_0203D6E0 FUN_0203D6E0: ; 0x0203D6E0 push {r3-r5, lr} add r5, r0, #0x0 ldr r1, [r5, #0x64] add r0, #0x80 lsl r1, r1, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x78] bl FUN_02052648 ldr r1, _0203D724 ; =gMain ldr r2, [r1, #0x48] mov r1, #0x2 tst r1, r2 beq _0203D716 add r5, #0x80 ldr r0, [r5, #0x0] mov r1, #0x8 ldr r0, [r0, #0x78] bl FUN_02052718 _0203D716: cmp r0, #0x0 beq _0203D720 strh r0, [r4, #0x0] mov r0, #0x1 pop {r3-r5, pc} _0203D720: mov r0, #0x0 pop {r3-r5, pc} .balign 4 _0203D724: .word gMain thumb_func_start FUN_0203D728 FUN_0203D728: ; 0x0203D728 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x10] bl FUN_02049EA4 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203D738 FUN_0203D738: ; 0x0203D738 push {r4-r6, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0xf bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl PlayerProfile_GetTrainerID add r6, r0, #0x0 add r0, r5, #0x0 bl PlayerProfile_GetTrainerGender add r1, r0, #0x0 ldr r2, [r4, #0x0] add r0, r6, #0x0 bl FUN_0205363C mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203D774 FUN_0203D774: ; 0x0203D774 push {r3-r7, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r5, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 bl PlayerProfile_GetTrainerID add r6, r0, #0x0 add r0, r5, #0x0 bl PlayerProfile_GetTrainerGender add r1, r0, #0x0 add r0, r6, #0x0 add r2, r7, #0x0 bl FUN_02053678 strh r0, [r4, #0x0] add r0, r5, #0x0 bl PlayerProfile_GetTrainerGender ldrh r1, [r4, #0x0] mov r2, #0x2 bl FUN_020536D0 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0203D7DC FUN_0203D7DC: ; 0x0203D7DC push {r3-r7, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r5, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 bl PlayerProfile_GetTrainerID add r6, r0, #0x0 add r0, r5, #0x0 bl PlayerProfile_GetTrainerGender add r1, r0, #0x0 add r0, r6, #0x0 add r2, r7, #0x0 bl FUN_02053678 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0203D834 FUN_0203D834: ; 0x0203D834 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl VarGet add r1, r0, #0x0 lsl r1, r1, #0x18 add r0, r4, #0x0 lsr r1, r1, #0x18 bl PlayerProfile_SetAvatar mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203D868 FUN_0203D868: ; 0x0203D868 push {r3, lr} ldr r0, [r0, #0x74] bl FUN_02048498 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203D874 FUN_0203D874: ; 0x0203D874 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02034E30 add r1, r4, #0x0 bl FUN_02034E04 mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start ScrCmd_getplayergender ScrCmd_getplayergender: ; 0x0203D8A0 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl PlayerProfile_GetTrainerGender strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} thumb_func_start ScrCmd_healparty ScrCmd_healparty: ; 0x0203D8D0 push {r3, lr} ldr r0, [r0, #0x74] bl FUN_02046528 ldr r0, [r0, #0xc] bl SavArray_PlayerParty_get bl HealParty mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203D8E8 FUN_0203D8E8: ; 0x0203D8E8 mov r0, #0x0 bx lr thumb_func_start FUN_0203D8EC FUN_0203D8EC: ; 0x0203D8EC push {r4, lr} add r4, r0, #0x0 bl FUN_02050024 ldr r1, _0203D900 ; =FUN_0203D904 add r0, r4, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r4, pc} .balign 4 _0203D900: .word FUN_0203D904 thumb_func_start FUN_0203D904 FUN_0203D904: ; 0x0203D904 push {r3, lr} bl FUN_02031810 cmp r0, #0x1 beq _0203D91A bl FUN_0202EDF8 cmp r0, #0x1 beq _0203D91A mov r0, #0x1 pop {r3, pc} _0203D91A: mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203D920 FUN_0203D920: ; 0x0203D920 push {r4, lr} add r4, r0, #0x0 bl FUN_02050048 ldr r1, _0203D934 ; =FUN_0203D904 add r0, r4, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r4, pc} .balign 4 _0203D934: .word FUN_0203D904 thumb_func_start FUN_0203D938 FUN_0203D938: ; 0x0203D938 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_0204FF5C mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203D948 FUN_0203D948: ; 0x0203D948 push {r3, lr} bl ScriptReadHalfword bl FUN_0204F6DC mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203D958 FUN_0203D958: ; 0x0203D958 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl Sav2_Bag_get add r1, r6, #0x0 bl Bag_PocketNotEmpty strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0203D998 FUN_0203D998: ; 0x0203D998 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r3, r0, #0x0 ldr r0, [r5, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02034B74 mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203D9E8 FUN_0203D9E8: ; 0x0203D9E8 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x4] add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x8] add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] add r1, r6, #0x0 ldr r0, [r0, #0x34] bl FUN_02058060 ldr r2, [sp, #0x4] ldr r3, [sp, #0x8] add r5, r0, #0x0 add r1, r7, #0x0 str r4, [sp, #0x0] bl FUN_02058E28 add r0, r5, #0x0 bl FUN_02059D1C mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0203DA78 FUN_0203DA78: ; 0x0203DA78 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r2, r0, #0x0 ldr r0, [r5, #0x0] add r1, r4, #0x0 bl FUN_02034BDC mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203DAB0 FUN_0203DAB0: ; 0x0203DAB0 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r2, r0, #0x0 ldr r0, [r5, #0x0] add r1, r4, #0x0 bl FUN_02034BAC mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203DAE8 FUN_0203DAE8: ; 0x0203DAE8 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r3, r0, #0x0 ldr r0, [r5, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02034C0C mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203DB38 FUN_0203DB38: ; 0x0203DB38 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r3, r0, #0x0 ldr r0, [r5, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02034C34 mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203DB88 FUN_0203DB88: ; 0x0203DB88 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] add r1, r6, #0x0 ldr r0, [r0, #0x34] bl FUN_02058060 add r5, r0, #0x0 bne _0203DBC6 bl GF_AssertFail _0203DBC6: add r0, r5, #0x0 add r1, r4, #0x0 bl MOD05_021F1EC0 mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203DBD4 FUN_0203DBD4: ; 0x0203DBD4 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xc bl FUN_02039438 add r5, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl VarGet ldr r1, [r5, #0x0] cmp r1, #0x0 beq _0203DBFC strh r0, [r1, #0x0] _0203DBFC: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203DC00 FUN_0203DC00: ; 0x0203DC00 push {r3-r7, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet lsl r1, r4, #0x5 ldr r3, [r5, #0x8] add r2, r0, #0x0 add r0, r3, #0x1 str r0, [r5, #0x8] add r5, #0x80 lsl r4, r6, #0x5 ldrb r3, [r3, #0x0] ldr r0, [r5, #0x0] add r1, r7, r1 add r2, r2, r4 bl MOD05_021DAE40 mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0203DC58 FUN_0203DC58: ; 0x0203DC58 push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 str r1, [r0, #0x8] add r0, #0x80 ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] bl MOD05_021DAF78 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0203DC70 FUN_0203DC70: ; 0x0203DC70 push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 str r1, [r0, #0x8] add r0, #0x80 ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] bl MOD05_021DAF98 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203DC88 FUN_0203DC88: ; 0x0203DC88 push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 str r1, [r0, #0x8] add r0, #0x80 ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] bl MOD05_021DAED4 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203DCA0 FUN_0203DCA0: ; 0x0203DCA0 push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 str r1, [r0, #0x8] add r0, #0x80 ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] bl MOD05_021DAF28 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203DCB8 FUN_0203DCB8: ; 0x0203DCB8 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_02064CA8 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203DCC8 FUN_0203DCC8: ; 0x0203DCC8 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl MOD06_02241230 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0203DCD8 FUN_0203DCD8: ; 0x0203DCD8 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_02064CC8 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203DCE8 FUN_0203DCE8: ; 0x0203DCE8 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl MOD06_02241914 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0203DCF8 FUN_0203DCF8: ; 0x0203DCF8 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_02064D10 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203DD08 FUN_0203DD08: ; 0x0203DD08 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_02064D4C mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203DD18 FUN_0203DD18: ; 0x0203DD18 push {r3, lr} add r1, r0, #0x0 add r1, #0x80 ldr r2, [r0, #0x8] ldr r3, [r1, #0x0] add r1, r2, #0x1 str r1, [r0, #0x8] ldrb r1, [r2, #0x0] add r0, r3, #0x0 bl FUN_02064D88 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203DD34 FUN_0203DD34: ; 0x0203DD34 push {r3, lr} add r1, r0, #0x0 add r1, #0x80 ldr r2, [r0, #0x8] ldr r3, [r1, #0x0] add r1, r2, #0x1 str r1, [r0, #0x8] ldrb r1, [r2, #0x0] add r0, r3, #0x0 bl MOD06_02242A38 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0203DD50 FUN_0203DD50: ; 0x0203DD50 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020388B4 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0203DD60 FUN_0203DD60: ; 0x0203DD60 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xa bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword str r0, [r5, #0x64] ldr r0, [r6, #0x0] bl FUN_02058448 add r1, r5, #0x0 add r1, #0x80 add r2, r0, #0x0 ldr r1, [r1, #0x0] add r0, r7, #0x0 bl MOD18_0224CA54 str r0, [r4, #0x0] ldr r1, _0203DDBC ; =FUN_0203DDC0 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r7, pc} .balign 4 _0203DDBC: .word FUN_0203DDC0 thumb_func_start FUN_0203DDC0 FUN_0203DDC0: ; 0x0203DDC0 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 ldr r1, [r5, #0x64] add r0, #0x80 lsl r1, r1, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 bl GetVarPointer add r5, r0, #0x0 ldr r0, [r4, #0x0] bl MOD18_0224CA2C strh r0, [r5, #0x0] ldrh r1, [r5, #0x0] ldr r0, _0203DDFC ; =0x0000FFFE cmp r1, r0 beq _0203DDF6 mov r0, #0x1 pop {r3-r5, pc} _0203DDF6: mov r0, #0x0 pop {r3-r5, pc} nop _0203DDFC: .word 0x0000FFFE thumb_func_start FUN_0203DE00 FUN_0203DE00: ; 0x0203DE00 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x3 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet bl MOD18_0224CA58 strb r0, [r4, #0x0] ldr r1, _0203DE34 ; =FUN_0203DE38 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r5, pc} .balign 4 _0203DE34: .word FUN_0203DE38 thumb_func_start FUN_0203DE38 FUN_0203DE38: ; 0x0203DE38 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x3 bl FUN_02039438 ldrb r0, [r0, #0x0] bl FUN_020546C8 pop {r3, pc} thumb_func_start FUN_0203DE4C FUN_0203DE4C: ; 0x0203DE4C push {r3, lr} bl MOD11_0224CA94 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203DE58 FUN_0203DE58: ; 0x0203DE58 push {r3-r5, lr} add r4, r0, #0x0 ldr r2, [r4, #0x8] add r1, r2, #0x1 str r1, [r4, #0x8] ldrb r5, [r2, #0x0] bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl VarGet add r1, r0, #0x0 add r0, r5, #0x0 bl MOD18_0224CAA0 mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203DE80 FUN_0203DE80: ; 0x0203DE80 push {r3-r5, lr} add r4, r0, #0x0 ldr r2, [r4, #0x8] add r1, r2, #0x1 str r1, [r4, #0x8] ldrb r5, [r2, #0x0] bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl VarGet add r1, r0, #0x0 add r0, r5, #0x0 bl MOD18_0224CAB4 mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203DEA8 FUN_0203DEA8: ; 0x0203DEA8 push {r3, lr} sub sp, #0x8 mov r3, #0x0 str r3, [sp, #0x0] str r3, [sp, #0x4] mov r1, #0x1 ldr r0, [r0, #0x74] add r2, r1, #0x0 bl MOD06_02242BE0 mov r0, #0x1 add sp, #0x8 pop {r3, pc} .balign 4 thumb_func_start FUN_0203DEC4 FUN_0203DEC4: ; 0x0203DEC4 push {r3-r5, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl VarGet add r1, r0, #0x0 ldr r0, [r5, #0x34] bl FUN_02058060 add r4, r0, #0x0 bne _0203DEEC bl GF_AssertFail _0203DEEC: add r0, r4, #0x0 mov r1, #0x0 bl FUN_0205889C mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203DEF8 FUN_0203DEF8: ; 0x0203DEF8 push {r3-r5, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl VarGet add r1, r0, #0x0 ldr r0, [r5, #0x34] bl FUN_02058060 add r4, r0, #0x0 bne _0203DF20 bl GF_AssertFail _0203DF20: add r0, r4, #0x0 mov r1, #0x1 bl FUN_0205889C mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203DF2C FUN_0203DF2C: ; 0x0203DF2C push {r3, lr} ldr r0, [r0, #0x74] bl FUN_02066818 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203DF38 FUN_0203DF38: ; 0x0203DF38 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 ldr r0, [r4, #0xc] bl Sav2_Mailbox_get mov r1, #0x0 bl Mailbox_CountMessages strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203DF64 FUN_0203DF64: ; 0x0203DF64 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r1, r0, #0x0 ldr r0, [r4, #0x74] bl FUN_02063650 mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0203DF84 FUN_0203DF84: ; 0x0203DF84 push {r3-r5, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] bl Script_GetTimeOfDay strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203DFA8 FUN_0203DFA8: ; 0x0203DFA8 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl VarGet add r5, r0, #0x0 bl LCRandom add r1, r5, #0x0 bl _s32_div_f strh r1, [r4, #0x0] mov r0, #0x1 pop {r3-r5, pc} thumb_func_start FUN_0203DFE0 FUN_0203DFE0: ; 0x0203DFE0 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl VarGet add r5, r0, #0x0 bl LCRandom add r1, r5, #0x0 bl _s32_div_f strh r1, [r4, #0x0] mov r0, #0x1 pop {r3-r5, pc} thumb_func_start FUN_0203E018 FUN_0203E018: ; 0x0203E018 push {r4-r6, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl VarGet add r1, r0, #0x0 add r0, r4, #0x0 bl MOD05_021F3A18 strh r0, [r6, #0x0] mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203E054 FUN_0203E054: ; 0x0203E054 push {r3-r5, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl VarGet add r1, r0, #0x0 add r0, r5, #0x0 bl MOD05_021F3AB4 mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203E078 FUN_0203E078: ; 0x0203E078 push {r3-r7, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl VarGet lsl r1, r6, #0x18 lsl r2, r7, #0x18 add r3, r0, #0x0 add r0, r4, #0x0 lsr r1, r1, #0x18 lsr r2, r2, #0x18 bl MOD05_021F3B7C mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0203E0CC FUN_0203E0CC: ; 0x0203E0CC push {r3-r7, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl VarGet lsl r1, r6, #0x18 lsl r2, r7, #0x18 add r3, r0, #0x0 add r0, r4, #0x0 lsr r1, r1, #0x18 lsr r2, r2, #0x18 bl MOD05_021F3B4C mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0203E120 FUN_0203E120: ; 0x0203E120 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get mov r1, #0x82 lsl r1, r1, #0x8 bl FUN_0205F3F8 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0203E138 FUN_0203E138: ; 0x0203E138 push {r4, lr} add r0, #0x80 ldr r4, [r0, #0x0] ldr r0, [r4, #0xc] bl SavArray_Flags_get mov r1, #0x1 bl FUN_0205F2D4 ldr r0, [r4, #0xc] bl FUN_020289A4 mov r1, #0x1 bl FUN_020289B0 add r1, r4, #0x0 add r1, #0x98 str r0, [r1, #0x0] add r0, r4, #0x0 bl FUN_02048C58 mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0203E168 FUN_0203E168: ; 0x0203E168 push {r3-r7, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x0] add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 add r5, r0, #0x0 add r0, r7, #0x0 sub r0, #0x10 cmp r0, #0xa bhi _0203E23A add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0203E1EA: ; jump table (using 16-bit offset) .short _0203E200 - _0203E1EA - 2; case 0 .short _0203E20C - _0203E1EA - 2; case 1 .short _0203E218 - _0203E1EA - 2; case 2 .short _0203E226 - _0203E1EA - 2; case 3 .short _0203E23A - _0203E1EA - 2; case 4 .short _0203E226 - _0203E1EA - 2; case 5 .short _0203E226 - _0203E1EA - 2; case 6 .short _0203E226 - _0203E1EA - 2; case 7 .short _0203E226 - _0203E1EA - 2; case 8 .short _0203E226 - _0203E1EA - 2; case 9 .short _0203E226 - _0203E1EA - 2; case 10 _0203E200: mov r0, #0x4 mov r6, #0x1 bl FUN_02029120 str r0, [r5, #0x0] b _0203E23E _0203E20C: mov r0, #0x4 mov r6, #0x1 bl FUN_0202912C str r0, [r5, #0x0] b _0203E23E _0203E218: ldr r0, [sp, #0x0] mov r1, #0x4 mov r6, #0x1 bl FUN_02029138 str r0, [r5, #0x0] b _0203E23E _0203E226: sub r7, #0x13 lsl r0, r7, #0x18 ldr r1, [sp, #0x0] lsr r0, r0, #0x18 mov r2, #0x4 mov r6, #0x1 bl FUN_0202914C str r0, [r5, #0x0] b _0203E23E _0203E23A: mov r0, #0x1 pop {r3-r7, pc} _0203E23E: add r4, #0x80 ldr r0, [r4, #0x0] ldr r1, [r5, #0x0] add r0, #0x98 ldr r0, [r0, #0x0] add r2, r6, #0x0 bl FUN_02028AD4 mov r0, #0x1 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0203E254 FUN_0203E254: ; 0x0203E254 mov r0, #0x0 bx lr thumb_func_start FUN_0203E258 FUN_0203E258: ; 0x0203E258 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02027E24 bl FUN_0202708C add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_020271A4 mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0203E29C FUN_0203E29C: ; 0x0203E29C push {r3-r7, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02027E24 bl FUN_0202708C add r1, r6, #0x0 add r2, r7, #0x0 bl FUN_020270D8 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0203E2F8 FUN_0203E2F8: ; 0x0203E2F8 push {r3-r7, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02027E24 bl FUN_0202708C add r1, r7, #0x0 bl FUN_02027114 cmp r6, r0 bhi _0203E352 mov r0, #0x1 b _0203E354 _0203E352: mov r0, #0x0 _0203E354: strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0203E35C FUN_0203E35C: ; 0x0203E35C push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02027E24 bl FUN_0202708C add r1, r4, #0x0 bl FUN_02027264 mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203E38C FUN_0203E38C: ; 0x0203E38C push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02027E24 bl FUN_0202708C add r1, r6, #0x0 bl FUN_02027100 strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0203E3D0 FUN_0203E3D0: ; 0x0203E3D0 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_Pokedex_get add r5, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer add r4, r0, #0x0 mov r0, #0x0 strh r0, [r4, #0x0] add r0, r5, #0x0 bl Pokedex_HasCompletedSinnohDex cmp r0, #0x1 bne _0203E404 mov r0, #0x1 strh r0, [r4, #0x0] _0203E404: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203E408 FUN_0203E408: ; 0x0203E408 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_Pokedex_get add r5, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer add r4, r0, #0x0 mov r0, #0x0 strh r0, [r4, #0x0] add r0, r5, #0x0 bl Pokedex_HasCompletedNationalDex cmp r0, #0x1 bne _0203E43C mov r0, #0x1 strh r0, [r4, #0x0] _0203E43C: mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203E440 FUN_0203E440: ; 0x0203E440 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x20 mov r2, #0x0 bl FUN_02038AF4 str r0, [r4, #0x0] ldr r1, _0203E46C ; =FUN_0203BB90 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r5, pc} .balign 4 _0203E46C: .word FUN_0203BB90 thumb_func_start FUN_0203E470 FUN_0203E470: ; 0x0203E470 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x20 mov r2, #0x1 bl FUN_02038AF4 str r0, [r4, #0x0] ldr r1, _0203E49C ; =FUN_0203BB90 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r3-r5, pc} .balign 4 _0203E49C: .word FUN_0203BB90 thumb_func_start FUN_0203E4A0 FUN_0203E4A0: ; 0x0203E4A0 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl MOD06_0224CBB0 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0203E4B0 FUN_0203E4B0: ; 0x0203E4B0 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl MOD06_0224CC24 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203E4D8 FUN_0203E4D8: ; 0x0203E4D8 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_0203E4F0 FUN_0203E4F0: ; 0x0203E4F0 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02029FC8 add r1, r4, #0x0 bl FUN_0202A0E8 mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203E510 FUN_0203E510: ; 0x0203E510 push {r3-r7, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r4, #0x0 bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r6, #0x0 bl GetVarPointer add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02029FC8 add r1, r7, #0x0 bl FUN_0202A150 ldr r1, _0203E564 ; =0xFFFF0000 and r1, r0 lsr r1, r1, #0x10 strh r1, [r4, #0x0] strh r0, [r6, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 _0203E564: .word 0xFFFF0000 thumb_func_start FUN_0203E568 FUN_0203E568: ; 0x0203E568 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword ldr r1, [r5, #0x8] add r2, r1, #0x1 str r2, [r5, #0x8] lsl r2, r4, #0x10 add r4, r2, #0x0 orr r4, r0 ldrb r0, [r1, #0x0] cmp r0, #0x0 beq _0203E59C cmp r0, #0x1 beq _0203E5B0 cmp r0, #0x2 beq _0203E5C4 b _0203E5D6 _0203E59C: add r5, #0x80 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02029FC8 add r1, r6, #0x0 add r2, r4, #0x0 bl FUN_0202A11C b _0203E5D6 _0203E5B0: add r5, #0x80 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02029FC8 add r1, r6, #0x0 add r2, r4, #0x0 bl FUN_0202A07C b _0203E5D6 _0203E5C4: add r5, #0x80 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02029FC8 add r1, r6, #0x0 add r2, r4, #0x0 bl FUN_0202A0A8 _0203E5D6: mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203E5DC FUN_0203E5DC: ; 0x0203E5DC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl FUN_02034E30 add r7, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get str r0, [sp, #0x0] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl FUN_02022504 ldr r1, [r5, #0x8] str r0, [sp, #0x4] add r0, r1, #0x1 str r0, [r5, #0x8] ldrb r4, [r1, #0x0] add r0, r7, #0x0 bl FUN_02034E24 add r6, r0, #0x0 add r0, r7, #0x0 bl FUN_02034E28 add r7, r0, #0x0 cmp r4, #0x0 beq _0203E62C cmp r4, #0x1 beq _0203E642 b _0203E66E _0203E62C: ldr r0, [sp, #0x0] bl FUN_0205F1F4 ldr r0, [sp, #0x4] bl FUN_02060FD0 mov r0, #0x1e strh r0, [r6, #0x0] mov r0, #0x0 strh r0, [r7, #0x0] b _0203E66E _0203E642: ldr r0, [sp, #0x0] bl FUN_0205F204 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_02061574 mov r0, #0x4 bl FUN_0202912C add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] mov r2, #0x1 add r0, #0x98 ldr r0, [r0, #0x0] bl FUN_02028AD4 mov r0, #0x0 strh r0, [r6, #0x0] strh r0, [r7, #0x0] _0203E66E: mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} thumb_func_start FUN_0203E674 FUN_0203E674: ; 0x0203E674 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_0206015C mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0203E684 FUN_0203E684: ; 0x0203E684 push {r4-r6, lr} add r5, r0, #0x0 ldr r2, [r5, #0x8] add r1, r2, #0x1 str r1, [r5, #0x8] ldrb r4, [r2, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] add r1, r4, #0x0 bl MOD06_022456E8 strh r0, [r6, #0x0] mov r0, #0x1 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203E6B4 FUN_0203E6B4: ; 0x0203E6B4 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_02064E20 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203E6C4 FUN_0203E6C4: ; 0x0203E6C4 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword mov r1, #0x0 add r6, r0, #0x0 mov r0, #0x41 add r2, r1, #0x0 bl FUN_0200433C add r5, #0x80 ldrh r1, [r4, #0x0] ldr r0, [r5, #0x0] add r2, r6, #0x0 bl MOD06_0224525C mov r0, #0x1 pop {r4-r6, pc} thumb_func_start FUN_0203E6FC FUN_0203E6FC: ; 0x0203E6FC push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] add r1, r6, #0x0 bl MOD06_02245340 strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203E72C FUN_0203E72C: ; 0x0203E72C push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 str r1, [r0, #0x8] add r0, #0x80 ldr r0, [r0, #0x0] ldrb r1, [r2, #0x0] ldr r0, [r0, #0x38] bl FUN_02055560 mov r0, #0x1 pop {r3, pc} thumb_func_start FUN_0203E744 FUN_0203E744: ; 0x0203E744 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0205F688 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203E774 FUN_0203E774: ; 0x0203E774 push {r3-r7, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_Pokedex_get add r7, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer str r0, [sp, #0x0] add r0, r7, #0x0 bl Pokedex_CountSinnohDexSeenMons add r4, r0, #0x0 bl LCRandom add r1, r4, #0x0 bl _s32_div_f lsl r0, r1, #0x10 lsr r6, r0, #0x10 ldr r0, [sp, #0x0] mov r1, #0x19 strh r1, [r0, #0x0] mov r4, #0x1 mov r5, #0x0 _0203E7B6: add r0, r7, #0x0 add r1, r4, #0x0 bl Pokedex_CheckMonSeenFlag cmp r0, #0x1 bne _0203E7DC add r0, r4, #0x0 bl SpeciesToSinnohDexNo cmp r0, #0x0 beq _0203E7DC cmp r5, r6 bne _0203E7D6 ldr r0, [sp, #0x0] strh r4, [r0, #0x0] b _0203E7E8 _0203E7D6: add r0, r5, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 _0203E7DC: add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, _0203E7EC ; =0x000001ED cmp r4, r0 bls _0203E7B6 _0203E7E8: mov r0, #0x0 pop {r3-r7, pc} .balign 4 _0203E7EC: .word 0x000001ED thumb_func_start FUN_0203E7F0 FUN_0203E7F0: ; 0x0203E7F0 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get add r1, r4, #0x0 bl FUN_0205F5A4 mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203E81C FUN_0203E81C: ; 0x0203E81C push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get bl FUN_0205F594 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203E848 FUN_0203E848: ; 0x0203E848 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl FUN_0202AA00 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0203E858 FUN_0203E858: ; 0x0203E858 push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 str r1, [r0, #0x8] add r0, #0x80 ldr r0, [r0, #0x0] ldrb r1, [r2, #0x0] ldr r0, [r0, #0xc] bl FUN_02060490 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0203E870 FUN_0203E870: ; 0x0203E870 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 ldr r1, [r5, #0x8] add r4, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] ldrb r1, [r1, #0x0] mov r0, #0xb bl MOD06_0224884C str r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203E894 FUN_0203E894: ; 0x0203E894 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 ldr r0, [r4, #0x0] bl MOD06_022488EC strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203E8C4 FUN_0203E8C4: ; 0x0203E8C4 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 ldr r0, [r4, #0x0] bl MOD06_022488F4 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203E8F4 FUN_0203E8F4: ; 0x0203E8F4 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r2, r0, #0x0 ldr r0, [r5, #0x74] ldr r1, [r4, #0x0] mov r3, #0xb bl FUN_02060790 mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203E928 FUN_0203E928: ; 0x0203E928 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 bl FUN_02039438 ldr r0, [r0, #0x0] bl MOD06_022488CC mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203E940 FUN_0203E940: ; 0x0203E940 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_Pokedex_get bl FUN_02024D4C mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0203E954 FUN_0203E954: ; 0x0203E954 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_Pokedex_get bl FUN_02024CE0 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0203E968 FUN_0203E968: ; 0x0203E968 push {r4-r6, lr} add r5, r0, #0x0 ldr r2, [r5, #0x8] add r1, r2, #0x1 str r1, [r5, #0x8] ldrb r4, [r2, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r6, r0, #0x0 mov r0, #0x0 strh r0, [r6, #0x0] cmp r4, #0x1 bne _0203E9AE add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_Pokedex_get bl Pokedex_SetNatDexFlag add r5, #0x80 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl Sav2_PlayerData_GetProfileAddr bl PlayerProfile_SetNatDexFlag b _0203E9C8 _0203E9AE: cmp r4, #0x2 bne _0203E9C4 add r5, #0x80 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl Sav2_Pokedex_get bl Pokedex_GetNatDexFlag strh r0, [r6, #0x0] b _0203E9C8 _0203E9C4: bl GF_AssertFail _0203E9C8: mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0203E9CC FUN_0203E9CC: ; 0x0203E9CC push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer str r0, [sp, #0x0] add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl SavArray_PlayerParty_get add r1, r4, #0x0 bl GetPartyMonByIndex add r5, r0, #0x0 mov r1, #0xd mov r2, #0x0 bl GetMonData add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xe mov r2, #0x0 bl GetMonData add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0xf mov r2, #0x0 bl GetMonData add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x10 mov r2, #0x0 bl GetMonData str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x11 mov r2, #0x0 bl GetMonData str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x12 mov r2, #0x0 bl GetMonData add r1, r4, r6 add r2, r7, r1 ldr r1, [sp, #0x4] add r2, r1, r2 ldr r1, [sp, #0x8] add r1, r1, r2 add r1, r0, r1 ldr r0, [sp, #0x0] strh r1, [r0, #0x0] mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 thumb_func_start FUN_0203EA68 FUN_0203EA68: ; 0x0203EA68 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, sp, #0x0 bl GF_RTC_CopyDate ldr r0, [sp, #0xc] strh r0, [r4, #0x0] mov r0, #0x0 add sp, #0x10 pop {r4, pc} .balign 4 thumb_func_start FUN_0203EA90 FUN_0203EA90: ; 0x0203EA90 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r1, r0, #0x0 ldr r0, [r4, #0x74] bl MOD06_022411F4 mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0203EAB0 FUN_0203EAB0: ; 0x0203EAB0 push {r3-r7, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r7, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl SavArray_PlayerParty_get add r1, r7, #0x0 bl GetPartyMonByIndex mov r1, #0x5 mov r2, #0x0 bl GetMonData lsl r0, r0, #0x10 lsr r5, r0, #0x10 add r0, r5, #0x0 bl MOD05_021F61E8 strh r0, [r4, #0x0] add r0, r5, #0x0 bl MOD05_021F61DC strh r0, [r6, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0203EB20 FUN_0203EB20: ; 0x0203EB20 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r1, r0, #0x0 add r4, #0x80 lsl r1, r1, #0x18 ldr r0, [r4, #0x0] lsr r1, r1, #0x18 bl MOD06_0224C27C mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0203EB48 FUN_0203EB48: ; 0x0203EB48 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r2, r0, #0x0 add r5, #0x80 lsl r1, r4, #0x18 lsl r2, r2, #0x18 ldr r0, [r5, #0x0] lsr r1, r1, #0x18 lsr r2, r2, #0x18 bl MOD06_0224C520 mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203EB88 FUN_0203EB88: ; 0x0203EB88 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 ldr r1, [r5, #0x8] add r2, r1, #0x1 str r2, [r5, #0x8] ldrb r6, [r1, #0x0] add r1, r2, #0x1 str r1, [r5, #0x8] ldrb r4, [r2, #0x0] bl ScriptReadHalfword str r0, [sp, #0x8] add r0, r5, #0x0 bl ScriptReadHalfword add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword str r7, [sp, #0x0] add r5, #0x80 str r0, [sp, #0x4] ldr r0, [r5, #0x0] ldr r3, [sp, #0x8] add r1, r6, #0x0 add r2, r4, #0x0 bl FUN_020607D4 mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} thumb_func_start ScrCmd_gameversion ScrCmd_gameversion: ; 0x0203EBC8 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer mov r1, #GAME_VERSION strh r1, [r0, #0x0] mov r0, #0x0 pop {r4, pc} .balign 4 thumb_func_start ScrCmd_givewallpaper ScrCmd_givewallpaper: ; 0x0203EBE4 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 add r0, #0x80 ldr r6, [r0, #0x0] add r0, r6, #0x0 bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr str r0, [sp, #0x4] add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 ldr r0, [r6, #0xc] bl GetStoragePCPointer add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x8] add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0xc] add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl VarGet str r0, [sp, #0x0] ldr r0, [sp, #0x4] ldr r2, [sp, #0x8] ldr r3, [sp, #0xc] add r1, r7, #0x0 bl MOD06_0224D14C add r5, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r5, r0 beq _0203EC7E cmp r5, #0x7 ble _0203EC88 _0203EC7E: mov r0, #0xff strh r0, [r4, #0x0] add sp, #0x10 mov r0, #0x0 pop {r3-r7, pc} _0203EC88: add r0, r6, #0x0 add r1, r5, #0x0 bl PCStorage_IsBonusWallpaperUnlocked cmp r0, #0x0 beq _0203EC98 mov r0, #0x0 b _0203ECA2 _0203EC98: add r0, r6, #0x0 add r1, r5, #0x0 bl PCStorage_UnlockBonusWallpaper add r0, r5, #0x1 _0203ECA2: strh r0, [r4, #0x0] mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0203ECAC FUN_0203ECAC: ; 0x0203ECAC push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] ldr r4, [r1, #0xc] bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02026CB4 bl FUN_020269CC strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203ECD8 FUN_0203ECD8: ; 0x0203ECD8 push {r3, lr} add r1, r0, #0x0 add r1, #0x80 ldr r2, [r0, #0x8] ldr r3, [r1, #0x0] add r1, r2, #0x1 str r1, [r0, #0x8] ldrb r1, [r2, #0x0] add r0, r3, #0x0 bl MOD06_0224C678 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203ECF4 FUN_0203ECF4: ; 0x0203ECF4 push {r3, lr} add r1, r0, #0x0 add r1, #0x80 ldr r2, [r0, #0x8] ldr r3, [r1, #0x0] add r1, r2, #0x1 str r1, [r0, #0x8] ldrb r1, [r2, #0x0] add r0, r3, #0x0 bl MOD06_0224C6E8 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203ED10 FUN_0203ED10: ; 0x0203ED10 push {r3, lr} add r1, r0, #0x0 add r1, #0x80 ldr r2, [r0, #0x8] ldr r3, [r1, #0x0] add r1, r2, #0x1 str r1, [r0, #0x8] ldrb r1, [r2, #0x0] add r0, r3, #0x0 bl MOD06_0224C6F4 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203ED2C FUN_0203ED2C: ; 0x0203ED2C push {r4-r6, lr} sub sp, #0x10 ldr r0, [r0, #0xc] add r5, r1, #0x0 bl Sav2_Pokedex_get add r6, r0, #0x0 mov r0, #0x20 bl AllocMonZeroed add r4, r0, #0x0 bl ZeroMonData mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] str r0, [sp, #0x8] str r0, [sp, #0xc] add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x32 mov r3, #0x20 bl CreateMon add r0, r6, #0x0 add r1, r4, #0x0 bl Pokedex_SetMonSeenFlag add r0, r4, #0x0 bl FreeToHeap add sp, #0x10 pop {r4-r6, pc} .balign 4 thumb_func_start ScrCmd_pcfreespace ScrCmd_pcfreespace: ; 0x0203ED70 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl GetStoragePCPointer bl PCStorage_CountMonsAndEggsInAllBoxes lsl r0, r0, #0x10 lsr r1, r0, #0x10 mov r0, #0x87 lsl r0, r0, #0x2 sub r0, r0, r1 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203EDA4 FUN_0203EDA4: ; 0x0203EDA4 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x16 bl FUN_02039438 add r4, r0, #0x0 mov r0, #0x0 add r5, #0x80 str r0, [r4, #0x0] ldr r0, [r5, #0x0] bl MOD05_021E7184 str r0, [r4, #0x0] mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203EDC8 FUN_0203EDC8: ; 0x0203EDC8 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x16 bl FUN_02039438 ldr r0, [r0, #0x0] bl MOD05_021E71E8 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0203EDE0 FUN_0203EDE0: ; 0x0203EDE0 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r1, r0, #0x0 add r4, #0x80 lsl r1, r1, #0x18 ldr r0, [r4, #0x0] lsr r1, r1, #0x18 bl MOD06_0224E554 mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0203EE08 FUN_0203EE08: ; 0x0203EE08 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_0206486C mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203EE18 FUN_0203EE18: ; 0x0203EE18 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020649D4 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0203EE28 FUN_0203EE28: ; 0x0203EE28 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020649B0 cmp r0, #0x0 beq _0203EE4E mov r0, #0x1 b _0203EE50 _0203EE4E: mov r0, #0x0 _0203EE50: strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203EE58 FUN_0203EE58: ; 0x0203EE58 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl MOD06_0224E764 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203EE68 FUN_0203EE68: ; 0x0203EE68 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl MOD06_0224E7C4 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0203EE78 FUN_0203EE78: ; 0x0203EE78 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02029FC8 add r1, r4, #0x0 bl FUN_0202A170 mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203EE98 FUN_0203EE98: ; 0x0203EE98 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl SavArray_PlayerParty_get add r1, r6, #0x0 bl PartyHasMon strh r0, [r4, #0x0] mov r0, #0x1 pop {r4-r6, pc} thumb_func_start FUN_0203EED8 FUN_0203EED8: ; 0x0203EED8 push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r1, sp, #0x4 strh r0, [r1, #0x0] add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl SavArray_PlayerParty_get str r0, [sp, #0x0] bl GetPartyCount add r4, #0x80 add r6, r0, #0x0 ldr r0, [r4, #0x0] ldr r0, [r0, #0xc] bl Sav2_Pokedex_get add r7, r0, #0x0 mov r5, #0x0 cmp r6, #0x0 ble _0203EF4E _0203EF18: ldr r0, [sp, #0x0] add r1, r5, #0x0 bl GetPartyMonByIndex mov r1, #0x5 mov r2, #0x0 add r4, r0, #0x0 bl GetMonData ldr r1, _0203EF54 ; =0x00000182 cmp r0, r1 bne _0203EF48 add r0, r4, #0x0 mov r1, #0x70 add r2, sp, #0x4 bl SetMonData add r0, r4, #0x0 bl CalcMonLevelAndStats add r0, r7, #0x0 add r1, r4, #0x0 bl Pokedex_SetMonCaughtFlag _0203EF48: add r5, r5, #0x1 cmp r5, r6 blt _0203EF18 _0203EF4E: mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} .balign 4 _0203EF54: .word 0x00000182 thumb_func_start FUN_0203EF58 FUN_0203EF58: ; 0x0203EF58 push {r3-r7, lr} sub sp, #0x30 add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, #0x80 str r0, [sp, #0x0] ldr r0, [r4, #0x0] ldr r0, [r0, #0xc] bl SavArray_PlayerParty_get str r0, [sp, #0xc] bl GetPartyCount add r2, sp, #0x18 mov r4, #0x0 ldr r3, _0203F008 ; =UNK_020F34FC str r0, [sp, #0x8] add r7, r2, #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, [sp, #0x8] str r4, [sp, #0x4] cmp r0, #0x0 ble _0203EFFC mov r5, #0x1 str r7, [sp, #0x14] _0203EFA2: ldr r0, [sp, #0xc] add r1, r4, #0x0 bl GetPartyMonByIndex add r6, r0, #0x0 mov r1, #0x5 mov r2, #0x0 bl GetMonData str r0, [sp, #0x10] add r0, r6, #0x0 mov r1, #0x70 mov r2, #0x0 bl GetMonData add r3, r0, #0x0 mov r0, #0x67 ldr r1, [sp, #0x10] lsl r0, r0, #0x2 cmp r1, r0 bne _0203EFF2 mov r2, #0x0 add r1, r2, #0x0 str r3, [r7, #0x0] cmp r4, #0x0 ble _0203EFE8 ldr r6, [sp, #0x14] _0203EFD8: ldr r0, [r6, #0x0] cmp r3, r0 bne _0203EFE0 add r2, r5, #0x0 _0203EFE0: add r1, r1, #0x1 add r6, r6, #0x4 cmp r1, r4 blt _0203EFD8 _0203EFE8: cmp r2, #0x0 bne _0203EFF2 ldr r0, [sp, #0x4] add r0, r0, #0x1 str r0, [sp, #0x4] _0203EFF2: ldr r0, [sp, #0x8] add r4, r4, #0x1 add r7, r7, #0x4 cmp r4, r0 blt _0203EFA2 _0203EFFC: ldr r1, [sp, #0x4] ldr r0, [sp, #0x0] strh r1, [r0, #0x0] mov r0, #0x1 add sp, #0x30 pop {r3-r7, pc} .balign 4 _0203F008: .word UNK_020F34FC thumb_func_start FUN_0203F00C FUN_0203F00C: ; 0x0203F00C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get bl FUN_0205F1C4 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0203F020 FUN_0203F020: ; 0x0203F020 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get bl FUN_0205F1D4 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0203F034 FUN_0203F034: ; 0x0203F034 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] ldr r0, [r0, #0x10] bl FUN_020389CC mov r0, #0x1 pop {r4, pc} thumb_func_start FUN_0203F058 FUN_0203F058: ; 0x0203F058 push {r3-r5, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] bl Script_GetHour strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203F07C FUN_0203F07C: ; 0x0203F07C push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0xc] add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x8] add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r7, #0x0 ldr r0, [r0, #0x34] bl FUN_02058060 add r7, r0, #0x0 bne _0203F0FA bl GF_AssertFail _0203F0FA: str r6, [sp, #0x0] str r4, [sp, #0x4] ldr r0, [r5, #0x74] ldr r2, [sp, #0xc] ldr r3, [sp, #0x8] add r1, r7, #0x0 bl FUN_02054F50 mov r0, #0x1 add sp, #0x10 pop {r3-r7, pc} thumb_func_start FUN_0203F110 FUN_0203F110: ; 0x0203F110 push {r3-r7, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r5, #0x0 ldr r0, [r0, #0x34] bl FUN_02058060 add r5, r0, #0x0 bne _0203F164 bl GF_AssertFail _0203F164: ldr r0, [r4, #0x74] add r1, r5, #0x0 add r2, r7, #0x0 add r3, r6, #0x0 bl FUN_0205502C mov r0, #0x1 pop {r3-r7, pc} thumb_func_start FUN_0203F174 FUN_0203F174: ; 0x0203F174 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02054E30 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203F19C FUN_0203F19C: ; 0x0203F19C push {r4-r7, lr} sub sp, #0x24 add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, #0x80 str r0, [sp, #0x0] ldr r0, [r4, #0x0] ldr r0, [r0, #0xc] bl FUN_02027E24 bl FUN_0202708C mov r6, #0x0 add r7, r0, #0x0 add r4, r6, #0x0 add r5, sp, #0x4 _0203F1CA: add r1, r4, #0x0 add r0, r7, #0x0 add r1, #0x22 mov r2, #0x1 bl FUN_020270D8 cmp r0, #0x1 bne _0203F1E0 mov r0, #0x1 strh r0, [r5, #0x0] add r6, r6, #0x1 _0203F1E0: add r4, r4, #0x1 add r5, r5, #0x2 cmp r4, #0x10 blt _0203F1CA cmp r6, #0x0 bne _0203F1F8 ldr r0, [sp, #0x0] ldr r1, _0203F230 ; =0x0000FFFF add sp, #0x24 strh r1, [r0, #0x0] mov r0, #0x0 pop {r4-r7, pc} _0203F1F8: bl LCRandom add r1, r6, #0x0 bl _s32_div_f mov r4, #0x0 add r2, sp, #0x4 _0203F206: ldrh r0, [r2, #0x0] cmp r0, #0x1 bne _0203F212 cmp r1, #0x0 beq _0203F21A sub r1, r1, #0x1 _0203F212: add r4, r4, #0x1 add r2, r2, #0x2 cmp r4, #0x10 blt _0203F206 _0203F21A: cmp r4, #0x10 blt _0203F222 bl GF_AssertFail _0203F222: ldr r0, [sp, #0x0] add r4, #0x22 strh r4, [r0, #0x0] mov r0, #0x0 add sp, #0x24 pop {r4-r7, pc} nop _0203F230: .word 0x0000FFFF thumb_func_start FUN_0203F234 FUN_0203F234: ; 0x0203F234 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer ldr r1, _0203F250 ; =gMain + 0x60 ldrb r1, [r1, #0x6] strh r1, [r0, #0x0] mov r0, #0x1 pop {r4, pc} .balign 4 _0203F250: .word gMain + 0x60 thumb_func_start FUN_0203F254 FUN_0203F254: ; 0x0203F254 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get mov r1, #0x0 bl FUN_0205F698 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203F26C FUN_0203F26C: ; 0x0203F26C push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r5, #0x80 ldr r0, [r5, #0x0] ldrb r4, [r1, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get cmp r4, #0x0 beq _0203F2A0 add r1, r6, #0x0 bl FUN_0205F4E4 b _0203F2A6 _0203F2A0: add r1, r6, #0x0 bl FUN_0205F50C _0203F2A6: mov r0, #0x0 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203F2AC FUN_0203F2AC: ; 0x0203F2AC push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl VarGet add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 bl BufferContestBackgroundName mov r0, #0x1 pop {r4-r6, pc} .balign 4 thumb_func_start FUN_0203F2E4 FUN_0203F2E4: ; 0x0203F2E4 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get add r5, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0205F6C8 cmp r0, #0xa blo _0203F314 mov r0, #0x1 b _0203F316 _0203F314: mov r0, #0x0 _0203F316: strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203F31C FUN_0203F31C: ; 0x0203F31C push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get bl FUN_0205F648 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203F348 FUN_0203F348: ; 0x0203F348 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02027E24 bl FUN_0202708C add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02027210 mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0203F38C FUN_0203F38C: ; 0x0203F38C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_02046030 mov r0, #0x1 pop {r3, pc} .balign 4 thumb_func_start FUN_0203F39C FUN_0203F39C: ; 0x0203F39C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl FUN_0205F668 mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_0203F3AC FUN_0203F3AC: ; 0x0203F3AC push {r3-r7, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02013B5C bl FUN_02013B74 cmp r0, #0x20 bne _0203F3FE ldr r0, _0203F414 ; =0x0000FFFF strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} _0203F3FE: strh r0, [r4, #0x0] bl FUN_02013BE4 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r7, #0x0 bl FUN_0200B518 mov r0, #0x0 pop {r3-r7, pc} nop _0203F414: .word 0x0000FFFF thumb_func_start FUN_0203F418 FUN_0203F418: ; 0x0203F418 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02013B5C bl FUN_02013BC8 cmp r0, #0x1 bne _0203F444 mov r0, #0x1 b _0203F446 _0203F444: mov r0, #0x0 _0203F446: strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203F44C FUN_0203F44C: ; 0x0203F44C push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get add r5, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_0205F710 cmp r0, #0x5 blo _0203F47C mov r0, #0x1 b _0203F47E _0203F47C: mov r0, #0x0 _0203F47E: strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203F484 FUN_0203F484: ; 0x0203F484 push {r3-r7, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 ldr r5, [r5, #0x0] add r4, r0, #0x0 ldr r0, [r5, #0xc] bl Sav2_SysInfo_get add r7, r0, #0x0 bl Sav2_SysInfo_GetBirthMonth add r6, r0, #0x0 add r0, r5, #0x0 bl Script_GetMonth cmp r6, r0 bne _0203F4CE add r0, r7, #0x0 bl Sav2_SysInfo_GetBirthDay add r6, r0, #0x0 add r0, r5, #0x0 bl Script_GetDay cmp r6, r0 bne _0203F4CE mov r0, #0x1 strh r0, [r4, #0x0] b _0203F4D2 _0203F4CE: mov r0, #0x0 strh r0, [r4, #0x0] _0203F4D2: mov r0, #0x0 pop {r3-r7, pc} .balign 4 thumb_func_start FUN_0203F4D8 FUN_0203F4D8: ; 0x0203F4D8 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_Pokedex_get add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl Pokedex_CountSeenUnown strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203F508 FUN_0203F508: ; 0x0203F508 push {r3-r7, lr} add r6, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r6, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r7, r0, #0x0 add r0, r6, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r6, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r1, r6, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] ldr r2, [r1, #0x1c] ldr r1, [r2, #0x8] lsl r1, r1, #0x10 lsr r5, r1, #0x10 ldr r1, [r2, #0xc] lsl r1, r1, #0x10 lsr r4, r1, #0x10 cmp r7, #0x3 blo _0203F54C ldr r7, _0203F5C8 ; =0x0000010E b _0203F582 _0203F54C: cmp r0, #0x1e blo _0203F556 mov r7, #0x43 lsl r7, r7, #0x2 b _0203F582 _0203F556: bl LCRandom mov r1, #0x64 bl _s32_div_f cmp r1, #0x19 bge _0203F568 ldr r7, _0203F5CC ; =0x0000010D b _0203F582 _0203F568: bl LCRandom mov r1, #0x6 bl _s32_div_f lsl r0, r1, #0x10 lsr r1, r0, #0x10 mov r0, #0x6 mul r0, r7 add r0, r1, r0 lsl r1, r0, #0x1 ldr r0, _0203F5D0 ; =UNK_020F3538 ldrh r7, [r0, r1] _0203F582: cmp r5, #0xb bne _0203F59A cmp r4, #0x1 bne _0203F58E mov r4, #0x0 b _0203F5A4 _0203F58E: cmp r4, #0x14 bne _0203F596 mov r4, #0x2 b _0203F5A4 _0203F596: mov r4, #0x5 b _0203F5A4 _0203F59A: cmp r5, #0x14 bne _0203F5A2 mov r4, #0x1 b _0203F5A4 _0203F5A2: mov r4, #0x3 _0203F5A4: mov r5, #0x0 _0203F5A6: cmp r5, r4 beq _0203F5B8 add r0, r6, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r5, #0x0 add r2, r7, #0x0 bl FUN_02034C24 _0203F5B8: add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x4 blo _0203F5A6 mov r0, #0x0 pop {r3-r7, pc} nop _0203F5C8: .word 0x0000010E _0203F5CC: .word 0x0000010D _0203F5D0: .word UNK_020F3538 thumb_func_start FUN_0203F5D4 FUN_0203F5D4: ; 0x0203F5D4 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0205F720 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203F604 FUN_0203F604: ; 0x0203F604 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0205F740 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203F634 FUN_0203F634: ; 0x0203F634 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0205F760 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203F664 FUN_0203F664: ; 0x0203F664 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, r0, #0x0 add r0, r5, #0x0 mov r2, #0x0 add r3, sp, #0x0 add r0, #0x8 _0203F684: ldr r6, [r0, #0x0] ldr r1, [r5, #0x8] add r6, r6, #0x1 str r6, [r0, #0x0] ldrb r1, [r1, #0x0] add r2, r2, #0x1 strb r1, [r3, #0x0] add r3, r3, #0x1 cmp r2, #0x5 blt _0203F684 ldr r1, [r0, #0x0] ldr r2, [r5, #0x8] add r1, r1, #0x1 str r1, [r0, #0x0] ldrb r6, [r2, #0x0] mov r0, #0x4 bl FUN_02027E5C add r1, sp, #0x0 add r2, r6, #0x0 mov r3, #0x0 add r7, r0, #0x0 bl FUN_02027F04 add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02028048 add r1, r7, #0x0 bl FUN_02028094 add r5, r0, #0x0 add r0, r7, #0x0 bl FreeToHeap ldr r0, _0203F6E0 ; =0x0000FFFF cmp r5, r0 bne _0203F6D8 strh r0, [r4, #0x0] b _0203F6DA _0203F6D8: strh r6, [r4, #0x0] _0203F6DA: mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 _0203F6E0: .word 0x0000FFFF thumb_func_start FUN_0203F6E4 FUN_0203F6E4: ; 0x0203F6E4 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02028048 bl FUN_02028074 ldr r1, _0203F71C ; =0x0000FFFF cmp r0, r1 bne _0203F712 mov r0, #0x0 b _0203F714 _0203F712: mov r0, #0x1 _0203F714: strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} nop _0203F71C: .word 0x0000FFFF thumb_func_start FUN_0203F720 FUN_0203F720: ; 0x0203F720 push {r4-r6, lr} add r5, r0, #0x0 ldr r2, [r5, #0x8] add r1, r2, #0x1 str r1, [r5, #0x8] ldrb r4, [r2, #0x0] bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get add r5, r0, #0x0 cmp r4, #0x3 bls _0203F752 bl GF_AssertFail _0203F752: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_0205F4A0 strh r0, [r6, #0x0] mov r0, #0x0 pop {r4-r6, pc} thumb_func_start FUN_0203F760 FUN_0203F760: ; 0x0203F760 push {r3-r5, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x20 ldr r0, [r0, #0xc] add r2, sp, #0x0 bl LoadHallOfFame ldr r1, [sp, #0x0] add r4, r0, #0x0 cmp r1, #0x0 bne _0203F798 mov r1, #0x0 strh r1, [r5, #0x0] bl FreeToHeap mov r0, #0x1 pop {r3-r5, pc} _0203F798: cmp r1, #0x1 bne _0203F7AE mov r1, #0x0 bl Sav2_HOF_TranslateRecordIdx strh r0, [r5, #0x0] add r0, r4, #0x0 bl FreeToHeap mov r0, #0x1 pop {r3-r5, pc} _0203F7AE: cmp r1, #0x2 bne _0203F7BE mov r1, #0x0 strh r1, [r5, #0x0] bl FreeToHeap mov r0, #0x1 pop {r3-r5, pc} _0203F7BE: mov r0, #0x0 strh r0, [r5, #0x0] mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203F7C8 FUN_0203F7C8: ; 0x0203F7C8 push {r4-r6, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 bl FUN_02039438 add r1, r5, #0x0 add r1, #0x80 add r4, r0, #0x0 ldr r1, [r1, #0x0] mov r0, #0x20 add r2, r6, #0x0 bl FUN_02037A48 str r0, [r4, #0x0] ldr r1, _0203F808 ; =FUN_0203BC04 add r0, r5, #0x0 bl SetupNativeScript mov r0, #0x1 pop {r4-r6, pc} .balign 4 _0203F808: .word FUN_0203BC04 thumb_func_start FUN_0203F80C FUN_0203F80C: ; 0x0203F80C push {r4-r6, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r6, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x13 bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 bne _0203F84C bl GF_AssertFail _0203F84C: ldr r0, [r4, #0x0] bl FUN_02037A40 strh r0, [r6, #0x0] ldrh r0, [r6, #0x0] cmp r0, #0x7 bne _0203F85E mov r0, #0xff strh r0, [r6, #0x0] _0203F85E: ldr r0, [r4, #0x0] bl FUN_02037A70 strh r0, [r5, #0x0] ldrh r0, [r5, #0x0] cmp r0, #0x1 bne _0203F870 mov r0, #0x1 b _0203F872 _0203F870: mov r0, #0x0 _0203F872: strh r0, [r5, #0x0] ldr r0, [r4, #0x0] bl FreeToHeap mov r0, #0x0 str r0, [r4, #0x0] pop {r4-r6, pc} thumb_func_start FUN_0203F880 FUN_0203F880: ; 0x0203F880 push {r3-r5, lr} add r5, r0, #0x0 ldr r2, [r5, #0x8] add r1, r2, #0x1 str r1, [r5, #0x8] ldrb r4, [r2, #0x0] bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 cmp r4, #0x64 bls _0203F8A2 mov r4, #0x64 _0203F8A2: bl LCRandom mov r1, #0x65 bl _s32_div_f lsl r0, r1, #0x10 lsr r0, r0, #0x10 cmp r0, r4 bgt _0203F8B8 mov r0, #0x1 b _0203F8BA _0203F8B8: mov r0, #0x0 _0203F8BA: strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203F8C0 FUN_0203F8C0: ; 0x0203F8C0 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] cmp r4, #0x0 beq _0203F8FC cmp r4, #0x1 beq _0203F906 cmp r4, #0x2 beq _0203F910 b _0203F91A _0203F8FC: mov r2, #0x0 mov r3, #0x20 bl MOD06_0224F12C b _0203F91E _0203F906: mov r2, #0x1 mov r3, #0x20 bl MOD06_0224F12C b _0203F91E _0203F910: mov r2, #0x2 mov r3, #0x20 bl MOD06_0224F12C b _0203F91E _0203F91A: bl GF_AssertFail _0203F91E: mov r0, #0x1 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203F924 FUN_0203F924: ; 0x0203F924 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl SavArray_Flags_get add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_0205F6A8 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203F954 FUN_0203F954: ; 0x0203F954 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet cmp r0, #0x0 bne _0203F978 add r4, #0x80 ldr r0, [r4, #0x0] ldr r0, [r0, #0x10] bl MOD06_02239944 b _0203F982 _0203F978: add r4, #0x80 ldr r0, [r4, #0x0] ldr r0, [r0, #0x10] bl MOD06_02239AAC _0203F982: mov r0, #0x1 pop {r4, pc} .balign 4 thumb_func_start FUN_0203F988 FUN_0203F988: ; 0x0203F988 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_0203384C strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203F9B0 FUN_0203F9B0: ; 0x0203F9B0 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_020286EC bl FUN_02028448 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203F9DC FUN_0203F9DC: ; 0x0203F9DC push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02026CC4 ldr r1, _0203FA10 ; =0x0000FF79 add r1, r4, r1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 cmp r1, #0x1 bhi _0203FA0C bl FUN_02025C30 _0203FA0C: mov r0, #0x0 pop {r3-r5, pc} .balign 4 _0203FA10: .word 0x0000FF79 thumb_func_start FUN_0203FA14 FUN_0203FA14: ; 0x0203FA14 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer mov r1, #0x0 strh r1, [r0, #0x0] ldr r1, _0203FA54 ; =0x0000012A cmp r4, r1 blo _0203FA4E add r1, #0xf cmp r4, r1 bhi _0203FA4E mov r1, #0x1 strh r1, [r0, #0x0] _0203FA4E: mov r0, #0x0 pop {r3-r5, pc} nop _0203FA54: .word 0x0000012A thumb_func_start FUN_0203FA58 FUN_0203FA58: ; 0x0203FA58 push {r3-r7, lr} sub sp, #0x10 add r4, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl GetVarPointer add r6, r0, #0x0 add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x4] add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0x8] add r0, r4, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet str r0, [sp, #0xc] add r0, r4, #0x0 bl ScriptReadHalfword add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl VarGet add r7, r0, #0x0 mov r0, #0x20 bl ScrStrBufs_new add r4, r0, #0x0 ldr r2, _0203FB48 ; =0x00000147 mov r0, #0x0 mov r1, #0x1a mov r3, #0x20 bl NewMsgDataFromNarc add r5, r0, #0x0 ldr r2, [sp, #0x4] add r0, r4, #0x0 mov r1, #0x0 bl FUN_0200B518 ldr r2, [sp, #0x8] add r0, r4, #0x0 mov r1, #0x1 bl FUN_0200B518 ldr r2, [sp, #0xc] add r0, r4, #0x0 mov r1, #0x2 bl FUN_0200B518 add r0, r4, #0x0 mov r1, #0x3 add r2, r7, #0x0 bl FUN_0200B518 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x1 mov r3, #0x20 bl ReadMsgData_ExpandPlaceholders add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 bl NewString_ReadMsgData str r0, [sp, #0x0] ldr r1, [sp, #0x0] add r0, r7, #0x0 bl StringCompare cmp r0, #0x0 bne _0203FB24 mov r0, #0x1 b _0203FB26 _0203FB24: mov r0, #0x0 _0203FB26: strh r0, [r6, #0x0] add r0, r7, #0x0 bl String_dtor ldr r0, [sp, #0x0] bl String_dtor add r0, r5, #0x0 bl DestroyMsgData add r0, r4, #0x0 bl ScrStrBufs_delete mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} nop _0203FB48: .word 0x00000147 thumb_func_start FUN_0203FB4C FUN_0203FB4C: ; 0x0203FB4C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] bl Sav2_SysInfo_get mov r1, #0x1 bl FUN_02023828 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203FB64 FUN_0203FB64: ; 0x0203FB64 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0xf bl FUN_02039438 ldr r0, [r0, #0x0] bl FUN_0205296C strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203FB94 FUN_0203FB94: ; 0x0203FB94 push {r3, lr} bl FUN_02033E74 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203FBA0 FUN_0203FBA0: ; 0x0203FBA0 push {r3, lr} bl FUN_02033ED0 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203FBAC FUN_0203FBAC: ; 0x0203FBAC push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_02034E48 mov r0, #0x0 pop {r3, pc} .balign 4 thumb_func_start FUN_0203FBBC FUN_0203FBBC: ; 0x0203FBBC push {r3-r7, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet add r5, #0x80 add r7, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] bl FUN_02034E30 bl FUN_02034DCC str r4, [r0, #0x0] str r6, [r0, #0x8] mov r1, #0x0 str r7, [r0, #0xc] mvn r1, r1 str r1, [r0, #0x4] mov r1, #0x1 str r1, [r0, #0x10] mov r0, #0x0 pop {r3-r7, pc} thumb_func_start FUN_0203FC1C FUN_0203FC1C: ; 0x0203FC1C push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl VarGet ldr r2, [r5, #0x8] add r1, r0, #0x0 add r0, r2, #0x1 str r0, [r5, #0x8] add r5, #0x80 ldr r0, [r5, #0x0] ldrb r4, [r2, #0x0] ldr r0, [r0, #0x34] bl FUN_02058060 add r5, r0, #0x0 bne _0203FC4C bl GF_AssertFail _0203FC4C: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020588B8 mov r0, #0x0 pop {r3-r5, pc} thumb_func_start FUN_0203FC58 FUN_0203FC58: ; 0x0203FC58 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] bl ScriptReadHalfword add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl GetVarPointer add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02065078 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203FC80 FUN_0203FC80: ; 0x0203FC80 push {r3-r5, lr} add r0, #0x80 ldr r5, [r0, #0x0] mov r1, #0x28 add r0, r5, #0x0 bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_0202280C cmp r0, #0x0 bne _0203FCAA add r0, r5, #0x0 mov r1, #0x4 mov r2, #0x3 bl MOD05_021E8588 str r0, [r4, #0x0] bl MOD05_021E84F4 _0203FCAA: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203FCB0 FUN_0203FCB0: ; 0x0203FCB0 push {r3-r5, lr} add r0, #0x80 ldr r5, [r0, #0x0] mov r1, #0x28 add r0, r5, #0x0 bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_0202280C cmp r0, #0x0 bne _0203FCD6 ldr r0, [r4, #0x0] bl MOD05_021E856C ldr r0, [r4, #0x0] bl MOD05_021E85E4 _0203FCD6: mov r0, #0x0 pop {r3-r5, pc} .balign 4 thumb_func_start FUN_0203FCDC FUN_0203FCDC: ; 0x0203FCDC push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 str r1, [r0, #0x8] add r0, #0x80 ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] bl FUN_0206367C mov r0, #0x0 pop {r3, pc} .balign 4