.include "asm/macros.inc" .include "global.inc" .section .rodata .global UNK_020F96EC UNK_020F96EC: ; 0x020F96EC .byte 0x00, 0x17, 0x0D, 0x07, 0x04, 0x00, 0x40, 0x02 .global UNK_020F96F4 UNK_020F96F4: ; 0x020F96F4 .byte 0x08, 0x00, 0x02, 0x00, 0x14, 0x00, 0x0E, 0x00, 0x09, 0x00, 0x03, 0x00, 0x15, 0x00, 0x0F, 0x00 .byte 0x0A, 0x00, 0x04, 0x00, 0x16, 0x00, 0x10, 0x00, 0x0B, 0x00, 0x05, 0x00, 0x17, 0x00, 0x11, 0x00 .byte 0x0C, 0x00, 0x06, 0x00, 0x18, 0x00, 0x12, 0x00, 0x0D, 0x00, 0x07, 0x00, 0x19, 0x00, 0x13, 0x00 .global UNK_020F9724 UNK_020F9724: ; 0x020F9724 .byte 0x01, 0x1A, 0x15, 0x05, 0x02, 0x00, 0x60, 0x01 .global UNK_020F972C UNK_020F972C: ; 0x020F972C .byte 0x01, 0x19, 0x14, 0x07, 0x02, 0x00, 0x6A, 0x01 .global UNK_020F9734 UNK_020F9734: ; 0x020F9734 .byte 0x00, 0x02, 0x15, 0x14, 0x02, 0x0D, 0x78, 0x01 .global UNK_020F973C UNK_020F973C: ; 0x020F973C .byte 0x00, 0x02, 0x13, 0x0D, 0x04, 0x0D, 0xA0, 0x01 .global UNK_020F9744 UNK_020F9744: ; 0x020F9744 .byte 0x00, 0x02, 0x13, 0x1B, 0x04, 0x0D, 0xD4, 0x01 .global UNK_020F974C UNK_020F974C: ; 0x020F974C .byte 0x00, 0x13, 0x11, 0x0C, 0x06, 0x00, 0x40, 0x02 .global UNK_020F9754 UNK_020F9754: ; 0x020F9754 .byte 0x00, 0x13, 0x0F, 0x0C, 0x08, 0x00, 0x40, 0x02 .global UNK_020F975C UNK_020F975C: ; 0x020F975C .byte 0x01, 0x06, 0x01, 0x09, 0x02, 0x00, 0x28, 0x00, 0x01, 0x00, 0x04, 0x06, 0x02, 0x00, 0x3A, 0x00 .byte 0x01, 0x07, 0x04, 0x08, 0x02, 0x00, 0x46, 0x00, 0x01, 0x08, 0x03, 0x06, 0x01, 0x03, 0x56, 0x00 .byte 0x01, 0x06, 0x04, 0x0A, 0x02, 0x00, 0x46, 0x00, 0x01, 0x16, 0x02, 0x09, 0x02, 0x00, 0x5C, 0x00 .byte 0x01, 0x10, 0x05, 0x06, 0x02, 0x00, 0x6E, 0x00, 0x01, 0x17, 0x05, 0x08, 0x02, 0x00, 0x7A, 0x00 .byte 0x01, 0x18, 0x04, 0x06, 0x01, 0x04, 0x8A, 0x00, 0x01, 0x16, 0x05, 0x0A, 0x02, 0x00, 0x7A, 0x00 .global UNK_020F97AC UNK_020F97AC: ; 0x020F97AC .byte 0x01, 0x06, 0x07, 0x09, 0x02, 0x00, 0x90, 0x00, 0x01, 0x00, 0x0A, 0x06, 0x02, 0x00, 0xA2, 0x00 .byte 0x01, 0x07, 0x0A, 0x08, 0x02, 0x00, 0xAE, 0x00, 0x01, 0x08, 0x09, 0x06, 0x01, 0x05, 0xBE, 0x00 .byte 0x01, 0x06, 0x0A, 0x0A, 0x02, 0x00, 0xAE, 0x00, 0x01, 0x16, 0x08, 0x09, 0x02, 0x00, 0xC4, 0x00 .byte 0x01, 0x10, 0x0B, 0x06, 0x02, 0x00, 0xD6, 0x00, 0x01, 0x17, 0x0B, 0x08, 0x02, 0x00, 0xE2, 0x00 .byte 0x01, 0x18, 0x0A, 0x06, 0x01, 0x06, 0xF2, 0x00, 0x01, 0x16, 0x0B, 0x0A, 0x02, 0x00, 0xE2, 0x00 .global UNK_020F97FC UNK_020F97FC: ; 0x020F97FC .byte 0x01, 0x06, 0x0D, 0x09, 0x02, 0x00, 0xF8, 0x00, 0x01, 0x00, 0x10, 0x06, 0x02, 0x00, 0x0A, 0x01 .byte 0x01, 0x07, 0x10, 0x08, 0x02, 0x00, 0x16, 0x01, 0x01, 0x08, 0x0F, 0x06, 0x01, 0x07, 0x26, 0x01 .byte 0x01, 0x06, 0x10, 0x0A, 0x02, 0x00, 0x16, 0x01, 0x01, 0x16, 0x0E, 0x09, 0x02, 0x00, 0x2C, 0x01 .byte 0x01, 0x10, 0x11, 0x06, 0x02, 0x00, 0x3E, 0x01, 0x01, 0x17, 0x11, 0x08, 0x02, 0x00, 0x4A, 0x01 .byte 0x01, 0x18, 0x10, 0x06, 0x01, 0x08, 0x5A, 0x01, 0x01, 0x16, 0x11, 0x0A, 0x02, 0x00, 0x4A, 0x01 .byte 0x01, 0x16, 0x01, 0x09, 0x02, 0x00, 0x5C, 0x00, 0x01, 0x11, 0x05, 0x05, 0x02, 0x00, 0x6E, 0x00 .byte 0x01, 0x17, 0x05, 0x08, 0x02, 0x00, 0x7A, 0x00, 0x01, 0x18, 0x04, 0x06, 0x01, 0x04, 0x8A, 0x00 .byte 0x01, 0x18, 0x04, 0x06, 0x01, 0x04, 0x8A, 0x00, 0x01, 0x16, 0x08, 0x09, 0x02, 0x00, 0xC4, 0x00 .byte 0x01, 0x11, 0x0B, 0x05, 0x02, 0x00, 0xD6, 0x00, 0x01, 0x17, 0x0B, 0x08, 0x02, 0x00, 0xE2, 0x00 .byte 0x01, 0x18, 0x0A, 0x06, 0x01, 0x06, 0xF2, 0x00, 0x01, 0x18, 0x04, 0x06, 0x01, 0x04, 0x8A, 0x00 .byte 0x01, 0x16, 0x0E, 0x09, 0x02, 0x00, 0x2C, 0x01, 0x01, 0x11, 0x11, 0x05, 0x02, 0x00, 0x3E, 0x01 .byte 0x01, 0x17, 0x11, 0x08, 0x02, 0x00, 0x4A, 0x01, 0x01, 0x18, 0x10, 0x06, 0x01, 0x08, 0x5A, 0x01 .byte 0x01, 0x18, 0x04, 0x06, 0x01, 0x04, 0x8A, 0x00 .text thumb_func_start FUN_02072548 FUN_02072548: ; 0x02072548 push {r4-r6, lr} add r5, r1, #0x0 add r4, r2, #0x0 add r6, r0, #0x0 bl AddWindow add r1, r5, #0x0 add r2, r4, #0x0 add r0, r6, #0x0 add r1, #0x10 add r2, #0x8 bl AddWindow add r1, r5, #0x0 add r2, r4, #0x0 add r0, r6, #0x0 add r1, #0x20 add r2, #0x10 bl AddWindow add r1, r5, #0x0 add r2, r4, #0x0 add r0, r6, #0x0 add r1, #0x30 add r2, #0x18 bl AddWindow add r5, #0x40 add r4, #0x20 add r0, r6, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 bl AddWindow pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02072590 FUN_02072590: ; 0x02072590 push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 ldr r4, _020726C0 ; =UNK_020F975C ldr r0, [r5, #0x0] add r1, r5, #0x4 add r2, r4, #0x0 bl FUN_02072548 add r1, r5, #0x0 ldr r0, [r5, #0x0] ldr r2, _020726C4 ; =UNK_020F97AC add r1, #0xa4 bl FUN_02072548 mov r1, #0x51 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726C8 ; =UNK_020F97FC add r1, r5, r1 bl FUN_02072548 ldr r0, _020726CC ; =0x000005A4 ldr r0, [r5, r0] add r0, #0x21 ldrb r0, [r0, #0x0] cmp r0, #0x2 ldr r0, [r5, #0x0] bne _020725F8 add r1, r5, #0x0 add r2, r4, #0x0 add r1, #0x54 add r2, #0xf0 bl FUN_02072548 mov r2, #0x46 add r1, r5, #0x0 lsl r2, r2, #0x2 ldr r0, [r5, #0x0] add r1, #0xf4 add r2, r4, r2 bl FUN_02072548 mov r2, #0x65 lsl r2, r2, #0x2 add r1, r5, r2 sub r2, #0x54 ldr r0, [r5, #0x0] add r2, r4, r2 bl FUN_02072548 b _02072622 _020725F8: add r1, r5, #0x0 add r2, r4, #0x0 add r1, #0x54 add r2, #0x28 bl FUN_02072548 add r1, r5, #0x0 add r2, r4, #0x0 ldr r0, [r5, #0x0] add r1, #0xf4 add r2, #0x78 bl FUN_02072548 mov r1, #0x65 lsl r1, r1, #0x2 add r4, #0xc8 ldr r0, [r5, #0x0] add r1, r5, r1 add r2, r4, #0x0 bl FUN_02072548 _02072622: ldr r0, _020726CC ; =0x000005A4 ldr r0, [r5, r0] add r0, #0x20 ldrb r0, [r0, #0x0] cmp r0, #0x2 beq _02072632 cmp r0, #0x11 bne _0207265A _02072632: ldr r1, _020726D0 ; =UNK_020F96EC add r0, sp, #0x0 ldrh r3, [r1, #0x38] add r2, sp, #0x0 strh r3, [r0, #0x0] ldrh r3, [r1, #0x3a] strh r3, [r0, #0x2] ldrh r3, [r1, #0x3c] ldrh r1, [r1, #0x3e] strh r3, [r0, #0x4] strh r1, [r0, #0x6] mov r1, #0x16 strb r1, [r0, #0x2] mov r1, #0x7d lsl r1, r1, #0x2 ldr r0, [r5, #0x0] add r1, r5, r1 bl AddWindow b _02072668 _0207265A: mov r1, #0x7d lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726D4 ; =UNK_020F9724 add r1, r5, r1 bl AddWindow _02072668: mov r1, #0x79 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726D8 ; =UNK_020F972C add r1, r5, r1 bl AddWindow mov r1, #0x81 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726DC ; =UNK_020F9734 add r1, r5, r1 bl AddWindow mov r1, #0x85 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726E0 ; =UNK_020F973C add r1, r5, r1 bl AddWindow mov r1, #0x89 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726E4 ; =UNK_020F9744 add r1, r5, r1 bl AddWindow mov r1, #0x8d lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726E8 ; =UNK_020F974C add r1, r5, r1 bl AddWindow mov r1, #0x91 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726EC ; =UNK_020F9754 add r1, r5, r1 bl AddWindow add sp, #0x8 pop {r3-r5, pc} .balign 4 _020726C0: .word UNK_020F975C _020726C4: .word UNK_020F97AC _020726C8: .word UNK_020F97FC _020726CC: .word 0x000005A4 _020726D0: .word UNK_020F96EC _020726D4: .word UNK_020F9724 _020726D8: .word UNK_020F972C _020726DC: .word UNK_020F9734 _020726E0: .word UNK_020F973C _020726E4: .word UNK_020F9744 _020726E8: .word UNK_020F974C _020726EC: .word UNK_020F9754 thumb_func_start FUN_020726F0 FUN_020726F0: ; 0x020726F0 push {r4-r6, lr} add r6, r0, #0x0 mov r5, #0x0 add r4, r6, #0x4 _020726F8: lsl r0, r5, #0x4 add r0, r4, r0 bl RemoveWindow add r0, r5, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0x25 blo _020726F8 mov r4, #0x95 lsl r4, r4, #0x2 add r0, r6, r4 bl WindowIsInUse cmp r0, #0x1 bne _0207271E add r0, r6, r4 bl RemoveWindow _0207271E: pop {r4-r6, pc} thumb_func_start FUN_02072720 FUN_02072720: ; 0x02072720 push {r4, lr} ldr r2, _020727F8 ; =0x0000069C add r4, r0, #0x0 ldr r0, [r4, r2] add r2, #0x10 ldr r2, [r4, r2] mov r1, #0x91 bl ReadMsgDataIntoString ldr r2, _020727F8 ; =0x0000069C mov r1, #0x92 ldr r0, [r4, r2] add r2, #0x14 ldr r2, [r4, r2] bl ReadMsgDataIntoString ldr r2, _020727F8 ; =0x0000069C mov r1, #0x93 ldr r0, [r4, r2] add r2, #0x18 ldr r2, [r4, r2] bl ReadMsgDataIntoString ldr r2, _020727F8 ; =0x0000069C mov r1, #0xa0 ldr r0, [r4, r2] add r2, #0x1c ldr r2, [r4, r2] bl ReadMsgDataIntoString ldr r2, _020727F8 ; =0x0000069C mov r1, #0xa1 ldr r0, [r4, r2] add r2, #0x20 ldr r2, [r4, r2] bl ReadMsgDataIntoString ldr r2, _020727F8 ; =0x0000069C mov r1, #0x94 ldr r0, [r4, r2] add r2, #0x24 ldr r2, [r4, r2] bl ReadMsgDataIntoString ldr r2, _020727F8 ; =0x0000069C mov r1, #0x95 ldr r0, [r4, r2] add r2, #0x28 ldr r2, [r4, r2] bl ReadMsgDataIntoString ldr r2, _020727F8 ; =0x0000069C mov r1, #0x96 ldr r0, [r4, r2] add r2, #0x2c ldr r2, [r4, r2] bl ReadMsgDataIntoString ldr r2, _020727F8 ; =0x0000069C mov r1, #0x97 ldr r0, [r4, r2] add r2, #0x30 ldr r2, [r4, r2] bl ReadMsgDataIntoString ldr r2, _020727F8 ; =0x0000069C mov r1, #0x98 ldr r0, [r4, r2] add r2, #0x34 ldr r2, [r4, r2] bl ReadMsgDataIntoString ldr r2, _020727F8 ; =0x0000069C mov r1, #0x99 ldr r0, [r4, r2] add r2, #0x38 ldr r2, [r4, r2] bl ReadMsgDataIntoString ldr r2, _020727F8 ; =0x0000069C mov r1, #0x9a ldr r0, [r4, r2] add r2, #0x3c ldr r2, [r4, r2] bl ReadMsgDataIntoString ldr r2, _020727F8 ; =0x0000069C mov r1, #0x9b ldr r0, [r4, r2] add r2, #0x40 ldr r2, [r4, r2] bl ReadMsgDataIntoString ldr r2, _020727F8 ; =0x0000069C mov r1, #0x9a ldr r0, [r4, r2] add r2, #0x44 ldr r2, [r4, r2] bl ReadMsgDataIntoString ldr r2, _020727F8 ; =0x0000069C mov r1, #0xa6 ldr r0, [r4, r2] add r2, #0x48 ldr r2, [r4, r2] bl ReadMsgDataIntoString pop {r4, pc} .balign 4 _020727F8: .word 0x0000069C thumb_func_start FUN_020727FC FUN_020727FC: ; 0x020727FC push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _02072840 ; =0x0000069C add r4, r2, #0x0 add r7, r1, #0x0 add r1, r4, #0x0 ldr r0, [r5, r0] add r1, #0x9c bl NewString_ReadMsgData add r6, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 add r2, r7, #0x0 bl BufferMoveName mov r1, #0x6a add r4, #0xf lsl r1, r1, #0x4 lsl r2, r4, #0x2 ldr r0, [r5, r1] add r2, r5, r2 add r1, #0xc ldr r1, [r2, r1] add r2, r6, #0x0 bl StringExpandPlaceholders add r0, r6, #0x0 bl String_dtor pop {r3-r7, pc} nop _02072840: .word 0x0000069C thumb_func_start FUN_02072844 FUN_02072844: ; 0x02072844 push {r4-r7, lr} sub sp, #0x24 add r5, r0, #0x0 add r7, r1, #0x0 lsl r0, r2, #0x1 mov r1, #0x17 sub r1, r1, r0 lsl r1, r1, #0x18 str r2, [sp, #0x14] lsr r1, r1, #0x18 str r1, [sp, #0x0] mov r1, #0xc lsl r0, r0, #0x18 str r1, [sp, #0x4] lsr r0, r0, #0x18 mov r1, #0x9 str r0, [sp, #0x8] mov r2, #0x0 str r2, [sp, #0xc] lsl r1, r1, #0x6 str r1, [sp, #0x10] add r1, #0x14 ldr r0, [r5, #0x0] add r1, r5, r1 mov r3, #0x13 bl AddWindowParameterized ldr r0, [sp, #0x14] mov r1, #0xc bl ListMenuItems_ctor ldr r1, _0207294C ; =0x000006F8 mov r6, #0x0 str r0, [r5, r1] ldr r0, [sp, #0x14] add r4, r6, #0x0 cmp r0, #0x0 ble _020728D8 _02072890: ldrb r0, [r7, r4] cmp r0, #0xf blo _020728B4 bl FUN_02073DA8 lsl r1, r6, #0x2 add r2, r0, #0x0 ldr r0, _0207294C ; =0x000006F8 add r3, r5, r1 ldr r1, _02072950 ; =0x000006E8 ldr r0, [r5, r0] ldr r1, [r3, r1] bl ListMenuItems_AddItem add r0, r6, #0x1 lsl r0, r0, #0x10 lsr r6, r0, #0x10 b _020728CC _020728B4: bl FUN_02073DA8 ldrb r1, [r7, r4] add r2, r0, #0x0 ldr r0, _0207294C ; =0x000006F8 lsl r1, r1, #0x2 add r3, r5, r1 ldr r1, _02072954 ; =0x000006AC ldr r0, [r5, r0] ldr r1, [r3, r1] bl ListMenuItems_AddItem _020728CC: add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, [sp, #0x14] cmp r4, r0 blt _02072890 _020728D8: ldr r0, _0207294C ; =0x000006F8 mov r1, #0x0 ldr r0, [r5, r0] str r0, [sp, #0x18] mov r0, #0x95 lsl r0, r0, #0x2 add r0, r5, r0 str r0, [sp, #0x1c] add r0, sp, #0x18 strb r1, [r0, #0x8] mov r1, #0x1 strb r1, [r0, #0x9] ldr r1, [sp, #0x14] strb r1, [r0, #0xa] ldrb r2, [r0, #0xb] mov r1, #0xf bic r2, r1 strb r2, [r0, #0xb] ldrb r2, [r0, #0xb] mov r1, #0x30 bic r2, r1 strb r2, [r0, #0xb] ldr r1, [sp, #0x14] ldrb r2, [r0, #0xb] cmp r1, #0x4 blo _02072918 mov r1, #0xc0 bic r2, r1 mov r1, #0x40 orr r1, r2 strb r1, [r0, #0xb] b _0207291E _02072918: mov r1, #0xc0 bic r2, r1 strb r2, [r0, #0xb] _0207291E: mov r0, #0x95 lsl r0, r0, #0x2 mov r1, #0x1 add r0, r5, r0 add r2, r1, #0x0 mov r3, #0xe bl DrawFrameAndWindow1 mov r0, #0xc str r0, [sp, #0x0] mov r0, #0x2 mov r2, #0x0 str r0, [sp, #0x4] add r0, sp, #0x18 mov r1, #0x8 add r3, r2, #0x0 bl FUN_02001C14 ldr r1, _02072958 ; =0x000006FC str r0, [r5, r1] add sp, #0x24 pop {r4-r7, pc} nop _0207294C: .word 0x000006F8 _02072950: .word 0x000006E8 _02072954: .word 0x000006AC _02072958: .word 0x000006FC thumb_func_start FUN_0207295C FUN_0207295C: ; 0x0207295C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _020729C4 ; =0x000005A4 ldr r2, [r5, r0] add r1, r2, #0x0 add r1, #0x20 ldrb r1, [r1, #0x0] cmp r1, #0xf bne _0207297E ldr r2, _020729C8 ; =0x000006A4 add r0, #0xf8 ldr r0, [r5, r0] ldr r2, [r5, r2] mov r1, #0x2a bl ReadMsgDataIntoString pop {r4-r6, pc} _0207297E: ldr r1, _020729CC ; =0x00000B25 ldr r0, [r2, #0x0] ldrb r1, [r5, r1] bl GetPartyMonByIndex add r6, r0, #0x0 ldr r0, _020729D0 ; =0x0000069C mov r1, #0x25 ldr r0, [r5, r0] bl NewString_ReadMsgData add r4, r0, #0x0 add r0, r6, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl BufferBoxMonNickname mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 bl StringExpandPlaceholders add r0, r4, #0x0 bl String_dtor pop {r4-r6, pc} nop _020729C4: .word 0x000005A4 _020729C8: .word 0x000006A4 _020729CC: .word 0x00000B25 _020729D0: .word 0x0000069C thumb_func_start FUN_020729D4 FUN_020729D4: ; 0x020729D4 push {r3-r4, lr} sub sp, #0x4 add r2, r0, #0x0 mov r0, #0x2 str r0, [sp, #0x0] ldr r0, _020729FC ; =0x00000698 add r4, r1, #0x0 ldr r0, [r2, r0] add r3, r2, #0x4 lsl r2, r4, #0x2 add r2, r4, r2 add r2, r2, #0x2 lsl r2, r2, #0x4 add r2, r3, r2 mov r1, #0x0 mov r3, #0x1c bl FUN_0200B9A8 add sp, #0x4 pop {r3-r4, pc} .balign 4 _020729FC: .word 0x00000698 thumb_func_start FUN_02072A00 FUN_02072A00: ; 0x02072A00 push {r3-r7, lr} add r7, r1, #0x0 add r4, r2, #0x0 add r5, r0, #0x0 ldr r0, _02072A4C ; =0x0000069C ldr r1, _02072A50 ; =UNK_020F96F4 lsl r2, r4, #0x3 ldrh r1, [r1, r2] ldr r0, [r5, r0] bl NewString_ReadMsgData add r6, r0, #0x0 add r0, r7, #0x0 bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 bl BufferBoxMonNickname mov r2, #0x6a mov r1, #0x2c lsl r2, r2, #0x4 mul r1, r4 ldr r0, [r5, r2] add r1, r5, r1 add r2, #0x60 ldr r1, [r1, r2] add r2, r6, #0x0 bl StringExpandPlaceholders add r0, r6, #0x0 bl String_dtor pop {r3-r7, pc} nop _02072A4C: .word 0x0000069C _02072A50: .word UNK_020F96F4 thumb_func_start FUN_02072A54 FUN_02072A54: ; 0x02072A54 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 lsl r0, r1, #0x2 add r0, r1, r0 lsl r6, r0, #0x4 add r7, r1, #0x0 mov r0, #0x2c mul r7, r0 mov r1, #0x0 mov r2, #0x7 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _02072B14 ; =0x000F0E00 add r3, r5, r7 str r0, [sp, #0x8] add r4, r5, #0x4 str r1, [sp, #0xc] lsl r2, r2, #0x8 ldr r2, [r3, r2] add r0, r4, r6 add r3, r1, #0x0 bl AddTextPrinterParameterized2 mov r2, #0x71 add r0, r5, r7 lsl r2, r2, #0x4 ldrb r0, [r0, r2] cmp r0, #0x1 bne _02072A9C add r0, r4, r6 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r3-r7, pc} _02072A9C: sub r0, r2, #0x2 add r0, r5, r0 ldrh r0, [r0, r7] lsl r1, r0, #0x13 lsr r1, r1, #0x1f bne _02072B0A lsl r0, r0, #0x11 lsr r0, r0, #0x1e bne _02072ADC add r0, r2, #0x0 sub r0, #0x74 sub r2, #0x68 ldr r0, [r5, r0] ldr r2, [r5, r2] mov r1, #0x1b bl ReadMsgDataIntoString mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] mov r0, #0xc1 lsl r0, r0, #0xa str r0, [sp, #0x8] ldr r2, _02072B18 ; =0x000006A8 str r1, [sp, #0xc] ldr r2, [r5, r2] add r0, r4, r6 mov r3, #0x40 bl AddTextPrinterParameterized2 b _02072B0A _02072ADC: cmp r0, #0x1 bne _02072B0A add r0, r2, #0x0 sub r0, #0x74 sub r2, #0x68 ldr r0, [r5, r0] ldr r2, [r5, r2] mov r1, #0x1c bl ReadMsgDataIntoString mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _02072B1C ; =0x00050600 ldr r2, _02072B18 ; =0x000006A8 str r0, [sp, #0x8] str r1, [sp, #0xc] ldr r2, [r5, r2] add r0, r4, r6 mov r3, #0x40 bl AddTextPrinterParameterized2 _02072B0A: add r0, r4, r6 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r3-r7, pc} .balign 4 _02072B14: .word 0x000F0E00 _02072B18: .word 0x000006A8 _02072B1C: .word 0x00050600 thumb_func_start FUN_02072B20 FUN_02072B20: ; 0x02072B20 push {r4, lr} sub sp, #0x10 lsl r2, r1, #0x2 add r2, r1, r2 add r2, r2, #0x1 add r3, r0, #0x4 lsl r2, r2, #0x4 add r4, r3, r2 mov r2, #0x2c mul r2, r1 ldr r3, _02072B78 ; =0x0000070E add r2, r0, r2 ldrh r1, [r2, r3] lsl r1, r1, #0x14 lsr r1, r1, #0x14 cmp r1, #0x7 beq _02072B4C add r0, r4, #0x0 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r4, pc} _02072B4C: mov r1, #0x0 str r1, [sp, #0x0] str r4, [sp, #0x4] mov r1, #0x5 str r1, [sp, #0x8] mov r1, #0x2 str r1, [sp, #0xc] add r1, r3, #0x0 sub r3, r3, #0x4 sub r1, #0x76 ldrh r2, [r2, r3] ldr r0, [r0, r1] mov r1, #0x1 mov r3, #0x3 bl FUN_0200BA78 add r0, r4, #0x0 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r4, pc} nop _02072B78: .word 0x0000070E thumb_func_start FUN_02072B7C FUN_02072B7C: ; 0x02072B7C push {r4-r5, lr} sub sp, #0xc add r2, r0, #0x0 lsl r0, r1, #0x2 add r0, r1, r0 add r0, r0, #0x2 add r3, r2, #0x4 lsl r0, r0, #0x4 add r4, r3, r0 mov r3, #0x2c mul r3, r1 add r1, r2, r3 str r4, [sp, #0x0] mov r0, #0x4 str r0, [sp, #0x4] mov r0, #0x2 ldr r5, _02072BB8 ; =0x00000698 str r0, [sp, #0x8] ldr r0, [r2, r5] add r5, #0x6e ldrh r1, [r1, r5] mov r2, #0x3 mov r3, #0x1 bl FUN_0200B9EC add r0, r4, #0x0 bl ScheduleWindowCopyToVram add sp, #0xc pop {r4-r5, pc} .balign 4 _02072BB8: .word 0x00000698 thumb_func_start FUN_02072BBC FUN_02072BBC: ; 0x02072BBC push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x4 lsl r0, r1, #0x2 add r0, r1, r0 add r0, r0, #0x2 lsl r4, r0, #0x4 mov r0, #0x18 str r0, [sp, #0x0] mov r0, #0x10 mov r1, #0x0 str r0, [sp, #0x4] add r0, r5, r4 mov r2, #0x4 add r3, r1, #0x0 bl FillWindowPixelRect add r0, r5, r4 bl ScheduleWindowCopyToVram add sp, #0x8 pop {r3-r5, pc} thumb_func_start FUN_02072BE8 FUN_02072BE8: ; 0x02072BE8 push {r4-r5, lr} sub sp, #0xc add r2, r0, #0x0 lsl r0, r1, #0x2 add r0, r1, r0 add r0, r0, #0x2 add r3, r2, #0x4 lsl r0, r0, #0x4 add r4, r3, r0 mov r3, #0x2c mul r3, r1 add r1, r2, r3 str r4, [sp, #0x0] mov r0, #0x24 str r0, [sp, #0x4] mov r0, #0x2 ldr r5, _02072C24 ; =0x00000698 str r0, [sp, #0x8] ldr r0, [r2, r5] add r5, #0x70 ldrh r1, [r1, r5] mov r2, #0x3 mov r3, #0x0 bl FUN_0200B9EC add r0, r4, #0x0 bl ScheduleWindowCopyToVram add sp, #0xc pop {r4-r5, pc} .balign 4 _02072C24: .word 0x00000698 thumb_func_start FUN_02072C28 FUN_02072C28: ; 0x02072C28 push {r4-r7, lr} sub sp, #0xc lsl r2, r1, #0x2 add r2, r1, r2 add r5, r0, #0x0 add r2, r2, #0x3 add r0, r5, #0x4 lsl r2, r2, #0x4 add r4, r0, r2 mov r0, #0x2c add r6, r1, #0x0 mul r6, r0 ldr r0, _02072D0C ; =0x00000708 mov r2, #0x30 add r7, r5, r0 sub r0, r0, #0x2 add r0, r5, r0 str r0, [sp, #0x8] ldrh r0, [r0, r6] ldrh r1, [r7, r6] bl FUN_02079A54 cmp r0, #0x4 bhi _02072CBE add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02072C64: ; jump table (using 16-bit offset) .short _02072C6E - _02072C64 - 2; case 0 .short _02072CA8 - _02072C64 - 2; case 1 .short _02072C90 - _02072C64 - 2; case 2 .short _02072C78 - _02072C64 - 2; case 3 .short _02072C78 - _02072C64 - 2; case 4 _02072C6E: add r0, r4, #0x0 bl ScheduleWindowCopyToVram add sp, #0xc pop {r4-r7, pc} _02072C78: ldrb r3, [r4, #0x9] ldr r1, _02072D10 ; =0x000004B6 mov r0, #0x1 lsl r3, r3, #0x4 add r3, #0x9 lsl r3, r3, #0x11 add r1, r5, r1 mov r2, #0x4 lsr r3, r3, #0x10 bl BG_LoadPlttData b _02072CBE _02072C90: ldrb r3, [r4, #0x9] ldr r1, _02072D14 ; =0x000004D6 mov r0, #0x1 lsl r3, r3, #0x4 add r3, #0x9 lsl r3, r3, #0x11 add r1, r5, r1 mov r2, #0x4 lsr r3, r3, #0x10 bl BG_LoadPlttData b _02072CBE _02072CA8: ldrb r3, [r4, #0x9] ldr r1, _02072D18 ; =0x000004F6 mov r0, #0x1 lsl r3, r3, #0x4 add r3, #0x9 lsl r3, r3, #0x11 add r1, r5, r1 mov r2, #0x4 lsr r3, r3, #0x10 bl BG_LoadPlttData _02072CBE: ldr r0, [sp, #0x8] ldrh r1, [r7, r6] ldrh r0, [r0, r6] mov r2, #0x30 bl FUN_02079A0C add r5, r0, #0x0 str r5, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r0, r4, #0x0 mov r1, #0xa mov r2, #0x0 mov r3, #0x2 bl FillWindowPixelRect str r5, [sp, #0x0] mov r0, #0x2 str r0, [sp, #0x4] add r0, r4, #0x0 mov r1, #0x9 mov r2, #0x0 mov r3, #0x3 bl FillWindowPixelRect str r5, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] add r0, r4, #0x0 mov r1, #0xa mov r2, #0x0 mov r3, #0x5 bl FillWindowPixelRect add r0, r4, #0x0 bl ScheduleWindowCopyToVram add sp, #0xc pop {r4-r7, pc} .balign 4 _02072D0C: .word 0x00000708 _02072D10: .word 0x000004B6 _02072D14: .word 0x000004D6 _02072D18: .word 0x000004F6 thumb_func_start FUN_02072D1C FUN_02072D1C: ; 0x02072D1C push {r3-r7, lr} sub sp, #0x18 add r6, r1, #0x0 add r5, r0, #0x0 lsl r0, r6, #0x2 add r4, r6, r0 add r0, r5, #0x4 str r0, [sp, #0x0] lsl r0, r4, #0x4 ldr r1, [sp, #0x0] str r0, [sp, #0x4] add r0, r1, r0 mov r1, #0x0 bl FillWindowPixelBuffer add r0, r4, #0x1 lsl r0, r0, #0x4 add r7, r5, #0x4 str r0, [sp, #0x8] add r0, r7, r0 mov r1, #0x0 bl FillWindowPixelBuffer add r0, r7, #0x0 str r0, [sp, #0xc] add r0, r4, #0x2 lsl r0, r0, #0x4 ldr r1, [sp, #0xc] str r0, [sp, #0x10] add r0, r1, r0 mov r1, #0x0 bl FillWindowPixelBuffer add r0, r7, #0x0 str r0, [sp, #0x14] add r0, r4, #0x3 lsl r4, r0, #0x4 ldr r0, [sp, #0x14] mov r1, #0x0 add r0, r0, r4 bl FillWindowPixelBuffer add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02072A54 mov r0, #0x2c mul r0, r6 add r1, r5, r0 mov r0, #0x71 lsl r0, r0, #0x4 ldrb r0, [r1, r0] cmp r0, #0x1 bne _02072DB0 ldr r1, [sp, #0x0] ldr r0, [sp, #0x4] add r0, r1, r0 bl ScheduleWindowCopyToVram ldr r0, [sp, #0x8] add r0, r7, r0 bl ScheduleWindowCopyToVram ldr r1, [sp, #0xc] ldr r0, [sp, #0x10] add r0, r1, r0 bl ScheduleWindowCopyToVram ldr r0, [sp, #0x14] add r0, r0, r4 bl ScheduleWindowCopyToVram add sp, #0x18 pop {r3-r7, pc} _02072DB0: add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_020729D4 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02072B20 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02072B7C add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02072BE8 add r0, r5, #0x0 add r1, r6, #0x0 bl FUN_02072C28 add sp, #0x18 pop {r3-r7, pc} thumb_func_start FUN_02072DDC FUN_02072DDC: ; 0x02072DDC push {r3-r5, lr} add r5, r0, #0x0 lsl r0, r1, #0x2 add r4, r1, r0 add r1, r5, #0x4 lsl r0, r4, #0x4 add r0, r1, r0 bl CopyWindowPixelsToVram_TextMode add r0, r4, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 bl CopyWindowPixelsToVram_TextMode add r0, r4, #0x2 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 bl CopyWindowPixelsToVram_TextMode add r0, r4, #0x3 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 bl CopyWindowPixelsToVram_TextMode pop {r3-r5, pc} thumb_func_start FUN_02072E14 FUN_02072E14: ; 0x02072E14 push {r3-r5, lr} add r5, r0, #0x0 lsl r0, r1, #0x2 add r4, r1, r0 add r1, r5, #0x4 lsl r0, r4, #0x4 add r0, r1, r0 bl ClearWindowTilemapAndScheduleTransfer add r0, r4, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 bl ClearWindowTilemapAndScheduleTransfer add r0, r4, #0x2 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 bl ClearWindowTilemapAndScheduleTransfer add r0, r4, #0x3 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 bl ClearWindowTilemapAndScheduleTransfer pop {r3-r5, pc} thumb_func_start FUN_02072E4C FUN_02072E4C: ; 0x02072E4C push {r3-r6, lr} sub sp, #0x4 add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x2 add r6, r4, r0 add r1, r5, #0x4 lsl r0, r6, #0x4 add r0, r1, r0 mov r1, #0x0 bl FillWindowPixelBuffer add r0, r6, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 bl FillWindowPixelBuffer add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072A54 mov r0, #0x2c mul r0, r4 add r1, r5, r0 mov r0, #0x71 lsl r0, r0, #0x4 ldrb r0, [r1, r0] cmp r0, #0x1 bne _02072E98 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x1 bl FUN_020732F4 add sp, #0x4 pop {r3-r6, pc} _02072E98: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072B20 ldr r0, _02072EE0 ; =0x000005A4 add r1, r4, #0x0 ldr r0, [r5, r0] ldr r0, [r0, #0x0] bl GetPartyMonByIndex add r1, r0, #0x0 mov r0, #0x0 ldr r3, _02072EE0 ; =0x000005A4 str r0, [sp, #0x0] ldr r3, [r5, r3] mov r2, #0x3 ldrh r3, [r3, #0x24] bl GetMonEvolution cmp r0, #0x0 bne _02072ED0 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x1 bl FUN_020732F4 add sp, #0x4 pop {r3-r6, pc} _02072ED0: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 bl FUN_020732F4 add sp, #0x4 pop {r3-r6, pc} nop _02072EE0: .word 0x000005A4 thumb_func_start FUN_02072EE4 FUN_02072EE4: ; 0x02072EE4 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x2 add r6, r4, r0 add r1, r5, #0x4 lsl r0, r6, #0x4 add r0, r1, r0 mov r1, #0x0 bl FillWindowPixelBuffer add r0, r6, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 bl FillWindowPixelBuffer add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072A54 mov r0, #0x2c mul r0, r4 add r1, r5, r0 mov r0, #0x71 lsl r0, r0, #0x4 ldrb r0, [r1, r0] cmp r0, #0x1 bne _02072F2C add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x1 bl FUN_02073364 pop {r4-r6, pc} _02072F2C: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072B20 ldr r0, _02072F74 ; =0x000005A4 add r1, r4, #0x0 ldr r0, [r5, r0] ldr r0, [r0, #0x0] bl GetPartyMonByIndex add r1, r0, #0x0 add r0, r5, #0x0 bl FUN_02076AA0 cmp r0, #0xff bne _02072F58 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x1 bl FUN_02073364 pop {r4-r6, pc} _02072F58: cmp r0, #0xfd bne _02072F68 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x2 bl FUN_02073364 pop {r4-r6, pc} _02072F68: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 bl FUN_02073364 pop {r4-r6, pc} .balign 4 _02072F74: .word 0x000005A4 thumb_func_start FUN_02072F78 FUN_02072F78: ; 0x02072F78 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x2 add r6, r4, r0 add r1, r5, #0x4 lsl r0, r6, #0x4 add r0, r1, r0 mov r1, #0x0 bl FillWindowPixelBuffer add r0, r6, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 bl FillWindowPixelBuffer add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072A54 mov r0, #0x2c add r6, r4, #0x0 mul r6, r0 mov r0, #0x71 add r1, r5, r6 lsl r0, r0, #0x4 ldrb r0, [r1, r0] cmp r0, #0x1 beq _02072FBE add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072B20 _02072FBE: ldr r2, _02072FD8 ; =0x0000070E add r3, r5, r6 ldrh r2, [r3, r2] add r0, r5, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x10 lsr r2, r2, #0x1f lsl r2, r2, #0x18 lsr r2, r2, #0x18 bl FUN_020733E4 pop {r4-r6, pc} nop _02072FD8: .word 0x0000070E thumb_func_start FUN_02072FDC FUN_02072FDC: ; 0x02072FDC push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x2 add r6, r4, r0 add r1, r5, #0x4 lsl r0, r6, #0x4 add r0, r1, r0 mov r1, #0x0 bl FillWindowPixelBuffer add r0, r6, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 bl FillWindowPixelBuffer add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072A54 mov r0, #0x2c mul r0, r4 add r1, r5, r0 mov r0, #0x71 lsl r0, r0, #0x4 ldrb r0, [r1, r0] cmp r0, #0x1 beq _02073020 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02072B20 _02073020: pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02073024 FUN_02073024: ; 0x02073024 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _02073080 ; =0x000005A4 add r4, r1, #0x0 ldr r1, [r5, r0] mov r2, #0x0 add r0, r1, #0x0 add r0, #0x32 ldrb r0, [r0, #0x0] lsl r0, r0, #0x18 lsr r3, r0, #0x1c beq _0207305C add r0, r4, #0x1 _0207303E: add r6, r1, r2 add r6, #0x2c ldrb r6, [r6, #0x0] cmp r0, r6 bne _02073052 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02073448 pop {r4-r6, pc} _02073052: add r2, r2, #0x1 lsl r2, r2, #0x18 lsr r2, r2, #0x18 cmp r2, r3 blo _0207303E _0207305C: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02071340 cmp r0, #0x0 bne _02073074 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x8 bl FUN_02073448 pop {r4-r6, pc} _02073074: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x7 bl FUN_02073448 pop {r4-r6, pc} .balign 4 _02073080: .word 0x000005A4 thumb_func_start FUN_02073084 FUN_02073084: ; 0x02073084 push {r4, lr} add r4, r2, #0x0 mov r2, #0x0 bl FUN_02002E14 sub r0, r4, r0 lsr r0, r0, #0x1 pop {r4, pc} thumb_func_start FUN_02073094 FUN_02073094: ; 0x02073094 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 mov r0, #0x79 lsl r0, r0, #0x2 add r4, r1, #0x0 add r0, r5, r0 mov r1, #0x0 bl FillWindowPixelBuffer mov r0, #0x7d lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x0 bl FillWindowPixelBuffer mov r0, #0x1 tst r0, r4 beq _020730FE ldr r2, _0207314C ; =0x0000069C mov r1, #0x0 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl ReadMsgDataIntoString ldr r2, _02073150 ; =0x000001EB ldr r1, _02073154 ; =0x000006A8 ldrb r2, [r5, r2] ldr r1, [r5, r1] mov r0, #0x0 lsl r2, r2, #0x3 bl FUN_02073084 mov r1, #0x0 add r3, r0, #0x0 str r1, [sp, #0x0] mov r2, #0xff str r2, [sp, #0x4] ldr r0, _02073158 ; =0x000F0E00 add r2, #0xe5 str r0, [sp, #0x8] add r0, r5, r2 ldr r2, _02073154 ; =0x000006A8 str r1, [sp, #0xc] ldr r2, [r5, r2] bl AddTextPrinterParameterized2 mov r0, #0x79 lsl r0, r0, #0x2 add r0, r5, r0 bl ScheduleWindowCopyToVram _020730FE: mov r0, #0x2 tst r0, r4 beq _02073148 ldr r2, _0207314C ; =0x0000069C mov r1, #0x1 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] bl ReadMsgDataIntoString ldr r2, _0207315C ; =0x000001FB ldr r1, _02073154 ; =0x000006A8 ldrb r2, [r5, r2] ldr r1, [r5, r1] mov r0, #0x0 lsl r2, r2, #0x3 bl FUN_02073084 mov r1, #0x0 add r3, r0, #0x0 str r1, [sp, #0x0] mov r2, #0xff str r2, [sp, #0x4] ldr r0, _02073158 ; =0x000F0E00 add r2, #0xf5 str r0, [sp, #0x8] add r0, r5, r2 ldr r2, _02073154 ; =0x000006A8 str r1, [sp, #0xc] ldr r2, [r5, r2] bl AddTextPrinterParameterized2 mov r0, #0x7d lsl r0, r0, #0x2 add r0, r5, r0 bl ScheduleWindowCopyToVram _02073148: add sp, #0x10 pop {r3-r5, pc} .balign 4 _0207314C: .word 0x0000069C _02073150: .word 0x000001EB _02073154: .word 0x000006A8 _02073158: .word 0x000F0E00 _0207315C: .word 0x000001FB thumb_func_start FUN_02073160 FUN_02073160: ; 0x02073160 push {r3-r6, lr} sub sp, #0xc add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 cmp r3, #0x1 bne _0207317A add r0, r4, #0x0 mov r1, #0x1 mov r2, #0xa mov r3, #0xf bl DrawFrameAndWindow2 _0207317A: add r0, r4, #0x0 mov r1, #0xf bl FillWindowPixelBuffer mov r0, #0x0 mvn r0, r0 cmp r6, r0 beq _02073198 ldr r2, _020731B8 ; =0x0000069C add r1, r6, #0x0 ldr r0, [r5, r2] add r2, #0x8 ldr r2, [r5, r2] bl ReadMsgDataIntoString _02073198: mov r3, #0x0 str r3, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r2, _020731BC ; =0x000006A4 str r3, [sp, #0x8] ldr r2, [r5, r2] add r0, r4, #0x0 mov r1, #0x1 bl AddTextPrinterParameterized add r0, r4, #0x0 bl ScheduleWindowCopyToVram add sp, #0xc pop {r3-r6, pc} .balign 4 _020731B8: .word 0x0000069C _020731BC: .word 0x000006A4 thumb_func_start FUN_020731C0 FUN_020731C0: ; 0x020731C0 push {r4, lr} add r4, r1, #0x0 mov r1, #0x81 lsl r1, r1, #0x2 add r3, r2, #0x0 add r1, r0, r1 add r2, r4, #0x0 bl FUN_02073160 pop {r4, pc} thumb_func_start FUN_020731D4 FUN_020731D4: ; 0x020731D4 push {r4, lr} add r4, r1, #0x0 mov r1, #0x85 lsl r1, r1, #0x2 add r3, r2, #0x0 add r1, r0, r1 add r2, r4, #0x0 bl FUN_02073160 pop {r4, pc} thumb_func_start FUN_020731E8 FUN_020731E8: ; 0x020731E8 push {r4-r6, lr} mov r6, #0x89 add r5, r0, #0x0 add r4, r1, #0x0 lsl r6, r6, #0x2 cmp r2, #0x1 bne _02073202 add r0, r5, r6 mov r1, #0x1 mov r2, #0xa mov r3, #0xf bl DrawFrameAndWindow2 _02073202: add r0, r5, r6 mov r1, #0xf bl FillWindowPixelBuffer mov r0, #0x0 mvn r0, r0 cmp r4, r0 beq _02073220 ldr r2, _02073228 ; =0x0000069C add r1, r4, #0x0 ldr r0, [r5, r2] add r2, #0x8 ldr r2, [r5, r2] bl ReadMsgDataIntoString _02073220: add r0, r5, #0x0 bl FUN_0207322C pop {r4-r6, pc} .balign 4 _02073228: .word 0x0000069C thumb_func_start FUN_0207322C FUN_0207322C: ; 0x0207322C push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 mov r0, #0x1 bl TextFlags_SetCanABSpeedUpPrint mov r0, #0x0 bl FUN_02002B7C ldr r0, _0207326C ; =0x000005A4 ldr r0, [r4, r0] ldr r0, [r0, #0xc] bl Options_GetTextFrameDelay mov r3, #0x0 str r3, [sp, #0x0] str r0, [sp, #0x4] ldr r0, _02073270 ; =FUN_0207327C ldr r2, _02073274 ; =0x000006A4 str r0, [sp, #0x8] mov r0, #0x89 lsl r0, r0, #0x2 ldr r2, [r4, r2] add r0, r4, r0 mov r1, #0x1 bl AddTextPrinterParameterized ldr r1, _02073278 ; =0x00000B24 strb r0, [r4, r1] add sp, #0xc pop {r3-r4, pc} nop _0207326C: .word 0x000005A4 _02073270: .word FUN_0207327C _02073274: .word 0x000006A4 _02073278: .word 0x00000B24 thumb_func_start FUN_0207327C FUN_0207327C: ; 0x0207327C push {r3, lr} cmp r1, #0x5 bhi _020732BE add r0, r1, r1 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0207328E: ; jump table (using 16-bit offset) .short _020732BE - _0207328E - 2; case 0 .short _0207329A - _0207328E - 2; case 1 .short _020732A0 - _0207328E - 2; case 2 .short _020732A6 - _0207328E - 2; case 3 .short _020732AE - _0207328E - 2; case 4 .short _020732B6 - _0207328E - 2; case 5 _0207329A: bl FUN_02005514 pop {r3, pc} _020732A0: bl FUN_02005CBC pop {r3, pc} _020732A6: ldr r0, _020732C4 ; =0x000005E6 bl PlaySE b _020732BE _020732AE: ldr r0, _020732C8 ; =0x00000483 bl PlaySound b _020732BE _020732B6: ldr r0, _020732C4 ; =0x000005E6 bl FUN_02005508 pop {r3, pc} _020732BE: mov r0, #0x0 pop {r3, pc} nop _020732C4: .word 0x000005E6 _020732C8: .word 0x00000483 thumb_func_start FUN_020732CC FUN_020732CC: ; 0x020732CC push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 mov r0, #0xc str r0, [sp, #0x0] ldr r0, [r4, #0x0] ldr r1, _020732EC ; =UNK_020F96EC mov r2, #0x1 mov r3, #0xe bl Std_CreateYesNoMenu ldr r1, _020732F0 ; =0x000006FC str r0, [r4, r1] add sp, #0x4 pop {r3-r4, pc} nop _020732EC: .word UNK_020F96EC _020732F0: .word 0x000006FC thumb_func_start FUN_020732F4 FUN_020732F4: ; 0x020732F4 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 lsl r0, r1, #0x2 add r0, r1, r0 add r0, r0, #0x4 add r4, r5, #0x4 lsl r6, r0, #0x4 add r0, r4, r6 mov r1, #0x0 add r7, r2, #0x0 bl FillWindowPixelBuffer cmp r7, #0x0 beq _02073318 cmp r7, #0x1 beq _02073326 b _02073332 _02073318: ldr r0, _0207335C ; =0x0000069C mov r1, #0xb2 ldr r0, [r5, r0] bl NewString_ReadMsgData str r0, [sp, #0x10] b _02073332 _02073326: ldr r0, _0207335C ; =0x0000069C mov r1, #0xb3 ldr r0, [r5, r0] bl NewString_ReadMsgData str r0, [sp, #0x10] _02073332: mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _02073360 ; =0x000F0E00 ldr r2, [sp, #0x10] str r0, [sp, #0x8] add r0, r4, r6 add r3, r1, #0x0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 ldr r0, [sp, #0x10] bl String_dtor add r0, r4, r6 bl ScheduleWindowCopyToVram add sp, #0x14 pop {r4-r7, pc} nop _0207335C: .word 0x0000069C _02073360: .word 0x000F0E00 thumb_func_start FUN_02073364 FUN_02073364: ; 0x02073364 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 lsl r0, r1, #0x2 add r0, r1, r0 add r0, r0, #0x4 add r4, r5, #0x4 lsl r7, r0, #0x4 add r0, r4, r7 mov r1, #0x0 add r6, r2, #0x0 bl FillWindowPixelBuffer cmp r6, #0x0 beq _0207338C cmp r6, #0x1 beq _0207339A cmp r6, #0x2 beq _020733A8 b _020733B4 _0207338C: ldr r0, _020733DC ; =0x0000069C mov r1, #0xaf ldr r0, [r5, r0] bl NewString_ReadMsgData str r0, [sp, #0x10] b _020733B4 _0207339A: ldr r0, _020733DC ; =0x0000069C mov r1, #0xb0 ldr r0, [r5, r0] bl NewString_ReadMsgData str r0, [sp, #0x10] b _020733B4 _020733A8: ldr r0, _020733DC ; =0x0000069C mov r1, #0xb1 ldr r0, [r5, r0] bl NewString_ReadMsgData str r0, [sp, #0x10] _020733B4: mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _020733E0 ; =0x000F0E00 ldr r2, [sp, #0x10] str r0, [sp, #0x8] add r0, r4, r7 add r3, r1, #0x0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 ldr r0, [sp, #0x10] bl String_dtor add r0, r4, r7 bl ScheduleWindowCopyToVram add sp, #0x14 pop {r4-r7, pc} .balign 4 _020733DC: .word 0x0000069C _020733E0: .word 0x000F0E00 thumb_func_start FUN_020733E4 FUN_020733E4: ; 0x020733E4 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 lsl r0, r1, #0x2 add r0, r1, r0 add r0, r0, #0x4 add r4, r5, #0x4 lsl r6, r0, #0x4 add r0, r4, r6 mov r1, #0x0 add r7, r2, #0x0 bl FillWindowPixelBuffer cmp r7, #0x0 ldr r0, _02073440 ; =0x0000069C bne _0207340E ldr r0, [r5, r0] mov r1, #0xb5 bl NewString_ReadMsgData b _02073416 _0207340E: ldr r0, [r5, r0] mov r1, #0xb4 bl NewString_ReadMsgData _02073416: mov r1, #0x0 add r5, r0, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _02073444 ; =0x000F0E00 add r2, r5, #0x0 str r0, [sp, #0x8] add r0, r4, r6 add r3, r1, #0x0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r5, #0x0 bl String_dtor add r0, r4, r6 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r3-r7, pc} .balign 4 _02073440: .word 0x0000069C _02073444: .word 0x000F0E00 thumb_func_start FUN_02073448 FUN_02073448: ; 0x02073448 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 lsl r0, r1, #0x2 add r0, r1, r0 add r0, r0, #0x4 add r4, r5, #0x4 lsl r7, r0, #0x4 add r0, r4, r7 mov r1, #0x0 add r6, r2, #0x0 bl FillWindowPixelBuffer cmp r6, #0x6 ldr r0, _020734B8 ; =0x0000069C bhs _02073476 add r6, #0xa9 ldr r0, [r5, r0] add r1, r6, #0x0 bl NewString_ReadMsgData add r5, r0, #0x0 b _02073490 _02073476: cmp r6, #0x7 bne _02073486 ldr r0, [r5, r0] mov r1, #0xa7 bl NewString_ReadMsgData add r5, r0, #0x0 b _02073490 _02073486: ldr r0, [r5, r0] mov r1, #0xa8 bl NewString_ReadMsgData add r5, r0, #0x0 _02073490: mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] ldr r0, _020734BC ; =0x000F0E00 add r2, r5, #0x0 str r0, [sp, #0x8] add r0, r4, r7 add r3, r1, #0x0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r5, #0x0 bl String_dtor add r0, r4, r7 bl ScheduleWindowCopyToVram add sp, #0x10 pop {r3-r7, pc} .balign 4 _020734B8: .word 0x0000069C _020734BC: .word 0x000F0E00 thumb_func_start FUN_020734C0 FUN_020734C0: ; 0x020734C0 push {r4-r7, lr} sub sp, #0x2c add r5, r0, #0x0 ldr r0, _02073628 ; =0x000005A4 ldr r1, _0207362C ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] bl GetPartyMonByIndex mov r1, #0xa3 mov r2, #0x0 add r4, r0, #0x0 bl GetMonData add r1, sp, #0x20 strh r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0xa4 mov r2, #0x0 bl GetMonData add r1, sp, #0x20 strh r0, [r1, #0x2] add r0, r4, #0x0 mov r1, #0xa5 mov r2, #0x0 bl GetMonData add r1, sp, #0x20 strh r0, [r1, #0x4] add r0, r4, #0x0 mov r1, #0xa7 mov r2, #0x0 bl GetMonData add r1, sp, #0x20 strh r0, [r1, #0x6] add r0, r4, #0x0 mov r1, #0xa8 mov r2, #0x0 bl GetMonData add r1, sp, #0x20 strh r0, [r1, #0x8] add r0, r4, #0x0 mov r1, #0xa6 mov r2, #0x0 bl GetMonData add r1, sp, #0x20 strh r0, [r1, #0xa] mov r3, #0x1 mov r1, #0x9 str r3, [sp, #0x0] mov r0, #0xe str r0, [sp, #0x4] mov r0, #0xc str r0, [sp, #0x8] mov r2, #0x0 str r2, [sp, #0xc] lsl r1, r1, #0x6 str r1, [sp, #0x10] add r1, #0x14 ldr r0, [r5, #0x0] add r1, r5, r1 bl AddWindowParameterized mov r0, #0x95 lsl r0, r0, #0x2 mov r1, #0x1 add r0, r5, r0 add r2, r1, #0x0 mov r3, #0xe bl DrawFrameAndWindow1 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xf bl FillWindowPixelBuffer mov r4, #0x0 str r4, [sp, #0x14] add r7, r5, #0x0 add r6, sp, #0x20 _0207356C: ldr r0, _02073630 ; =0x0000069C ldr r1, [sp, #0x14] ldr r0, [r5, r0] add r1, #0xb9 bl NewString_ReadMsgData str r0, [sp, #0x18] mov r1, #0x0 str r4, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] mov r0, #0x95 lsl r0, r0, #0x2 ldr r2, [sp, #0x18] add r0, r5, r0 add r3, r1, #0x0 bl AddTextPrinterParameterized ldr r0, [sp, #0x18] bl String_dtor ldr r0, _02073630 ; =0x0000069C mov r1, #0xbf ldr r0, [r5, r0] bl NewString_ReadMsgData str r0, [sp, #0x1c] mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r2, _02073634 ; =0x00000B28 mov r0, #0x6a lsl r0, r0, #0x4 ldrh r3, [r6, #0x0] ldrh r2, [r7, r2] ldr r0, [r5, r0] mov r1, #0x0 sub r2, r3, r2 mov r3, #0x2 bl BufferIntegerAsString mov r0, #0x6a ldr r1, _02073638 ; =0x000006A4 lsl r0, r0, #0x4 ldr r0, [r5, r0] ldr r1, [r5, r1] ldr r2, [sp, #0x1c] bl StringExpandPlaceholders ldr r0, [sp, #0x1c] bl String_dtor ldr r1, _02073638 ; =0x000006A4 mov r0, #0x0 ldr r1, [r5, r1] add r2, r0, #0x0 bl FUN_02002E14 mov r1, #0x68 sub r3, r1, r0 str r4, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] ldr r2, _02073638 ; =0x000006A4 mov r0, #0x95 lsl r0, r0, #0x2 ldr r2, [r5, r2] add r0, r5, r0 mov r1, #0x0 bl AddTextPrinterParameterized ldrh r1, [r6, #0x0] ldr r0, _02073634 ; =0x00000B28 add r4, #0x10 strh r1, [r7, r0] ldr r0, [sp, #0x14] add r7, r7, #0x2 add r0, r0, #0x1 add r6, r6, #0x2 str r0, [sp, #0x14] cmp r0, #0x6 blo _0207356C mov r0, #0x95 lsl r0, r0, #0x2 add r0, r5, r0 bl ScheduleWindowCopyToVram add sp, #0x2c pop {r4-r7, pc} .balign 4 _02073628: .word 0x000005A4 _0207362C: .word 0x00000B25 _02073630: .word 0x0000069C _02073634: .word 0x00000B28 _02073638: .word 0x000006A4 thumb_func_start FUN_0207363C FUN_0207363C: ; 0x0207363C push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 mov r0, #0x20 str r0, [sp, #0x0] mov r0, #0x70 str r0, [sp, #0x4] mov r0, #0x95 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xf mov r2, #0x50 mov r3, #0x0 bl FillWindowPixelRect ldr r0, _020736E8 ; =0x0000069C mov r1, #0xc0 ldr r0, [r5, r0] bl NewString_ReadMsgData str r0, [sp, #0xc] mov r0, #0x0 str r0, [sp, #0x10] add r6, r5, #0x0 add r4, r0, #0x0 _0207366E: mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] ldr r2, _020736EC ; =0x00000B28 mov r0, #0x6a lsl r0, r0, #0x4 ldrh r2, [r6, r2] ldr r0, [r5, r0] mov r1, #0x0 mov r3, #0x3 bl BufferIntegerAsString mov r0, #0x6a ldr r1, _020736F0 ; =0x000006A4 lsl r0, r0, #0x4 ldr r0, [r5, r0] ldr r1, [r5, r1] ldr r2, [sp, #0xc] bl StringExpandPlaceholders ldr r1, _020736F0 ; =0x000006A4 mov r0, #0x0 ldr r1, [r5, r1] add r2, r0, #0x0 bl FUN_02002E14 add r7, r0, #0x0 mov r3, #0x68 str r4, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] ldr r2, _020736F0 ; =0x000006A4 mov r0, #0x95 lsl r0, r0, #0x2 ldr r2, [r5, r2] add r0, r5, r0 mov r1, #0x0 sub r3, r3, r7 bl AddTextPrinterParameterized ldr r0, [sp, #0x10] add r6, r6, #0x2 add r0, r0, #0x1 add r4, #0x10 str r0, [sp, #0x10] cmp r0, #0x6 blo _0207366E ldr r0, [sp, #0xc] bl String_dtor mov r0, #0x95 lsl r0, r0, #0x2 add r0, r5, r0 bl ScheduleWindowCopyToVram add sp, #0x14 pop {r4-r7, pc} nop _020736E8: .word 0x0000069C _020736EC: .word 0x00000B28 _020736F0: .word 0x000006A4 thumb_func_start FUN_020736F4 FUN_020736F4: ; 0x020736F4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x0 bl ClearFrameAndWindow1 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r4, r0 bl RemoveWindow pop {r4, pc}