.include "asm/macros.inc" .include "overlay_16.inc" .text arm_func_start ov16_0238A140 ov16_0238A140: ; 0x0238A140 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x128 ldr r1, _0238B0CC ; =ov16_0238CE40 ldr r2, [r1] str r0, [r2, #0x70] ldr r0, [r1] ldr r2, [r0, #0x70] cmp r2, #0x2c addls pc, pc, r2, lsl #2 b _0238B0C4 _0238A168: ; jump table b _0238A21C ; case 0 b _0238A274 ; case 1 b _0238A2D8 ; case 2 b _0238A344 ; case 3 b _0238A370 ; case 4 b _0238B0C4 ; case 5 b _0238A318 ; case 6 b _0238A928 ; case 7 b _0238A95C ; case 8 b _0238A9C4 ; case 9 b _0238AEA0 ; case 10 b _0238AE3C ; case 11 b _0238AE6C ; case 12 b _0238A640 ; case 13 b _0238A614 ; case 14 b _0238AE74 ; case 15 b _0238A574 ; case 16 b _0238A5D8 ; case 17 b _0238A480 ; case 18 b _0238A50C ; case 19 b _0238A440 ; case 20 b _0238B0C4 ; case 21 b _0238A730 ; case 22 b _0238A850 ; case 23 b _0238B0C4 ; case 24 b _0238B0C4 ; case 25 b _0238A668 ; case 26 b _0238A6F4 ; case 27 b _0238A9F4 ; case 28 b _0238AA58 ; case 29 b _0238AA94 ; case 30 b _0238AAD8 ; case 31 b _0238AFF8 ; case 32 b _0238AED8 ; case 33 b _0238AF98 ; case 34 b _0238AFD0 ; case 35 b _0238B0C4 ; case 36 b _0238AFEC ; case 37 b _0238B0C4 ; case 38 b _0238B038 ; case 39 b _0238B0C4 ; case 40 b _0238B0C4 ; case 41 b _0238B0C4 ; case 42 b _0238B0C4 ; case 43 b _0238A424 ; case 44 _0238A21C: bl ov16_0238CBD0 cmp r0, #0 bne _0238A240 ldr r0, _0238B0CC ; =ov16_0238CE40 mov r1, #0xf ldr r0, [r0] str r1, [r0, #0x70] bl ov16_0238B148 b _0238B0C4 _0238A240: ldr r0, _0238B0CC ; =ov16_0238CE40 mov r1, #6 ldr r0, [r0] str r1, [r0, #0x74] bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r2, _0238B0D0 ; =0x00000431 ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238A274: bl ov16_0238CBD0 cmp r0, #0 bne _0238A298 ldr r0, _0238B0CC ; =ov16_0238CE40 mov r1, #0xf ldr r0, [r0] str r1, [r0, #0x70] bl ov16_0238B148 b _0238B0C4 _0238A298: bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl ShowDBox ldr r0, _0238B0CC ; =ov16_0238CE40 mov r3, #6 ldr r1, [r0] ldr r2, _0238B0D4 ; =0x00000432 str r3, [r1, #0x74] ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238A2D8: bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl ShowDBox ldr r0, _0238B0CC ; =ov16_0238CE40 mov r3, #1 ldr r1, [r0] add r2, r3, #0x440 str r3, [r1, #0x74] ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238A318: ldr r0, _0238B0D8 ; =EVO_D_BOX_LAYOUT_6 mov r4, #3 ldr r1, _0238B0DC ; =0x00300011 ldr r3, _0238B0E0 ; =EVO_MAIN_MENU mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _0238B0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] b _0238B0C4 _0238A344: mov r1, #1 str r1, [r0, #0x74] bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r2, _0238B0E4 ; =0x00000442 ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238A370: mov r1, #5 str r1, [r0, #0x74] bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r0, [r0] ldr r0, [r0, #0x88] cmp r0, #0 ble _0238A394 bl sub_020572EC _0238A394: ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r2, [r0] ldr r1, [r2, #0x88] cmp r1, #1 ble _0238A3DC mov r1, #4 str r1, [r2, #0x74] ldr r1, [r0] ldr r2, _0238B0E8 ; =0x00000449 ldrsb r0, [r1, #0xc1] add r3, r1, #0xe8 mov r1, #0x18 bl ShowMessageInDBox ldr r0, _0238B0CC ; =ov16_0238CE40 mov r1, #0 ldr r0, [r0] str r1, [r0, #0x88] b _0238B0C4 _0238A3DC: bl ov16_0238CBD0 cmp r0, #0 mov r1, #0x18 bne _0238A408 ldr r0, _0238B0CC ; =ov16_0238CE40 mov r2, #0x440 ldr r3, [r0] ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238A408: ldr r0, _0238B0CC ; =ov16_0238CE40 add r2, r1, #0x430 ldr r3, [r0] ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238A424: mov r2, #5 str r2, [r0, #0xd8] ldr r0, [r1] mov r1, #1 str r1, [r0, #0x70] bl ov16_0238B148 b _0238B0C4 _0238A440: bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl ShowDBox ldr r0, _0238B0CC ; =ov16_0238CE40 mov r3, #0x27 ldr r1, [r0] rsb r2, r3, #0x460 str r3, [r1, #0x74] arm_func_end ov16_0238A140 arm_func_start ov16_0238A468 ov16_0238A468: ; 0x0238A468 ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238A480: bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 mov r2, #0xa ldr r0, [r0] ldr r1, [r0, #0x3c] add r0, r0, #0x138 add r1, r1, #0x3a bl StrncpySimpleNoPadSafe ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r2, [r0] add r1, r2, #0x138 str r1, [r2, #0x120] ldr r2, [r0] ldr r1, [r2, #0x3c] ldrsh r1, [r1, #4] str r1, [r2, #0xe8] ldr r2, [r0] ldr r1, [r2, #0x40] add r1, r2, r1, lsl #1 ldrsh r1, [r1, #0xc] str r1, [r2, #0xec] ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl ShowDBox ldr r0, _0238B0CC ; =ov16_0238CE40 mov r1, #8 mov r4, #0x13 ldr r3, [r0] add r2, r1, #0x430 str r4, [r3, #0x74] ldr r3, [r0] ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238A50C: ldr r2, [r0, #0x40] mov r1, #0 add r0, r0, r2, lsl #1 ldrsh r0, [r0, #0xc] bl IsMonsterOnTeam cmp r0, #0 ldrne r0, _0238B0CC ; =ov16_0238CE40 movne r1, #0x1a ldreq r0, _0238B0CC ; =ov16_0238CE40 moveq r1, #0x1c ldr r0, [r0] mov r4, #2 str r1, [r0, #0x74] ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r3, _0238B0EC ; =EVO_MENU_CONFIRM ldr r1, [r0] ldr r0, _0238B0D8 ; =EVO_D_BOX_LAYOUT_6 str r4, [r1, #0x78] ldr r1, _0238B0F0 ; =0x00300013 mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _0238B0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] b _0238B0C4 _0238A574: bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r2, [r0] ldrsh r1, [r2, #0x44] orr r1, r1, #0x20000 str r1, [r2, #0xe8] ldr r2, [r0] ldr r1, [r2, #0x40] add r1, r2, r1, lsl #1 ldrsh r1, [r1, #0xc] str r1, [r2, #0xec] ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl ShowDBox ldr r0, _0238B0CC ; =ov16_0238CE40 mov r3, #0x11 ldr r1, [r0] ldr r2, _0238B0F4 ; =0x00000434 str r3, [r1, #0x74] ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238A5D8: mov r2, #0x1c str r2, [r0, #0x74] ldr r0, [r1] mov r4, #2 str r4, [r0, #0x78] ldr r0, _0238B0D8 ; =EVO_D_BOX_LAYOUT_6 ldr r1, _0238B0F0 ; =0x00300013 ldr r3, _0238B0EC ; =EVO_MENU_CONFIRM mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _0238B0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] b _0238B0C4 _0238A614: ldr r0, _0238B0F8 ; =EVO_D_BOX_LAYOUT_5 mov r4, #3 ldr r3, _0238B0FC ; =EVO_SUBMENU mov r1, #0x13 mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _0238B0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] b _0238B0C4 _0238A640: ldr r1, [r0, #0x3c] add r0, sp, #0x18 bl sub_0205B008 add r0, sp, #0x18 mov r1, #3 bl sub_0203F150 ldr r1, _0238B0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc4] b _0238B0C4 _0238A668: bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 mov r2, #0xa ldr r0, [r0] ldr r1, [r0, #0x3c] add r0, r0, #0x138 add r1, r1, #0x3a bl StrncpySimpleNoPadSafe ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r2, [r0] add r1, r2, #0x138 str r1, [r2, #0x120] ldr r2, [r0] ldr r1, [r2, #0x3c] ldrsh r1, [r1, #4] str r1, [r2, #0xe8] ldr r2, [r0] ldr r1, [r2, #0x40] add r1, r2, r1, lsl #1 ldrsh r1, [r1, #0xc] str r1, [r2, #0xec] ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl ShowDBox ldr r0, _0238B0CC ; =ov16_0238CE40 mov r4, #0x1b ldr r2, [r0] mov r1, #8 str r4, [r2, #0x74] ldr r3, [r0] add r2, r4, #0x420 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238A6F4: mov r2, #0x1c str r2, [r0, #0x74] ldr r0, [r1] mov r4, #2 str r4, [r0, #0x78] ldr r0, _0238B0D8 ; =EVO_D_BOX_LAYOUT_6 ldr r1, _0238B0F0 ; =0x00300013 ldr r3, _0238B0EC ; =EVO_MENU_CONFIRM mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _0238B0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] b _0238B0C4 _0238A730: mov r2, #0 str r2, [r0, #0x40] ldr r3, [r1] ldr r0, _0238B100 ; =0x00000125 ldr r1, [r3, #0x3c] ldrsh r1, [r1, #4] cmp r1, r0 addne r0, r0, #0x258 cmpne r1, r0 moveq r0, #0 beq _0238A7DC mov r1, r2 _0238A760: add r0, r3, r1, lsl #1 ldrsh r0, [r0, #0xc] add r1, r1, #1 cmp r0, #0 addne r2, r2, #1 cmp r1, #8 blt _0238A760 cmp r2, #1 bne _0238A7D8 ldr r0, _0238B0CC ; =ov16_0238CE40 mov r3, #0 _0238A78C: ldr r2, [r0] add r1, r2, r3, lsl #1 ldrsh r1, [r1, #0xc] cmp r1, #0 beq _0238A7C4 strh r1, [r2, #0xc] ldr r2, [r0] add r1, r2, r3, lsl #1 ldrsh r1, [r1, #0x1c] strh r1, [r2, #0x1c] ldr r2, [r0] add r1, r2, r3, lsl #1 ldrsh r1, [r1, #0x2c] strh r1, [r2, #0x2c] _0238A7C4: add r3, r3, #1 cmp r3, #8 blt _0238A78C mov r0, #1 b _0238A7DC _0238A7D8: mov r0, #2 _0238A7DC: cmp r0, #0 beq _0238A7F0 cmp r0, #1 beq _0238A820 b _0238A838 _0238A7F0: ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r1, [r0] ldrsh r0, [r1, #0xc] cmp r0, #0 moveq r0, #1 streq r0, [r1, #0x40] ldr r0, _0238B0CC ; =ov16_0238CE40 mov r1, #0x10 ldr r0, [r0] str r1, [r0, #0x70] bl ov16_0238B148 b _0238B0C4 _0238A820: ldr r0, _0238B0CC ; =ov16_0238CE40 mov r1, #0x17 ldr r0, [r0] str r1, [r0, #0x70] bl ov16_0238B148 b _0238B0C4 _0238A838: ldr r0, _0238B0CC ; =ov16_0238CE40 mov r1, #0x14 ldr r0, [r0] str r1, [r0, #0x70] bl ov16_0238B148 b _0238B0C4 _0238A850: ldrsh r2, [r0, #0x44] orr r2, r2, #0x20000 str r2, [r0, #0xe8] ldr r2, [r1] ldr r0, [r2, #0x40] add r0, r2, r0, lsl #1 ldrsh r0, [r0, #0xc] str r0, [r2, #0xec] ldr r2, [r1] ldr r0, [r2, #0x40] add r0, r2, r0, lsl #1 ldrsh r0, [r0, #0x1c] str r0, [r2, #0xf8] ldr r2, [r1] ldr r0, [r2, #0x40] add r0, r2, r0, lsl #1 ldrsh r0, [r0, #0x2c] str r0, [r2, #0xfc] ldr r1, [r1] ldr r0, [r1, #0xf8] cmp r0, #0 ldreq r0, [r1, #0xfc] streq r0, [r1, #0xf8] ldr r0, _0238B0CC ; =ov16_0238CE40 mov r1, #0 ldr r3, [r0] ldr r2, [r3, #0x40] add r0, r3, r2, lsl #1 ldrsh r0, [r0, #0x1c] cmp r0, #0 add r0, r3, r2, lsl #1 ldrsh r0, [r0, #0x2c] addne r1, r1, #1 cmp r0, #0 addne r1, r1, #1 cmp r1, #0 beq _0238A8F8 cmp r1, #1 beq _0238A908 cmp r1, #2 beq _0238A918 b _0238B0C4 _0238A8F8: mov r0, #0x12 str r0, [r3, #0x70] bl ov16_0238B148 b _0238B0C4 _0238A908: mov r0, #7 str r0, [r3, #0x70] bl ov16_0238B148 b _0238B0C4 _0238A918: mov r0, #9 str r0, [r3, #0x70] bl ov16_0238B148 b _0238B0C4 _0238A928: bl ov16_0238CAE8 bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 mov r3, #8 ldr r1, [r0] ldr r2, _0238B104 ; =0x0000043E str r3, [r1, #0x74] ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238A95C: ldr r2, [r0, #0x40] mov r1, #0 add r0, r0, r2, lsl #1 ldrsh r0, [r0, #0xc] bl IsMonsterOnTeam cmp r0, #0 ldrne r0, _0238B0CC ; =ov16_0238CE40 movne r1, #0x1a ldreq r0, _0238B0CC ; =ov16_0238CE40 moveq r1, #0x1c ldr r0, [r0] mov r4, #2 str r1, [r0, #0x74] ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r3, _0238B0EC ; =EVO_MENU_CONFIRM ldr r1, [r0] ldr r0, _0238B0D8 ; =EVO_D_BOX_LAYOUT_6 str r4, [r1, #0x78] ldr r1, _0238B0F0 ; =0x00300013 mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _0238B0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] b _0238B0C4 _0238A9C4: bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 mov r3, #8 ldr r1, [r0] ldr r2, _0238B108 ; =0x0000043A str r3, [r1, #0x74] ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238A9F4: ldrsb r0, [r0, #0xc1] bl sub_0202F2C4 ldr r0, _0238B0CC ; =ov16_0238CE40 mov r3, #0x14 ldr r1, [r0] mov r2, #3 str r3, [r1, #0xe4] ldr r1, [r0] mov r3, #0 str r2, [r1, #0xd8] ldr r4, [r0] mov r1, #0x1d ldr r2, [r4, #0x3c] ldrsh r2, [r2, #4] strh r2, [r4, #0xdc] ldr r4, [r0] ldr r2, [r4, #0x40] add r2, r4, r2, lsl #1 ldrsh r2, [r2, #0xc] strh r2, [r4, #0xde] ldr r2, [r0] str r3, [r2, #0xe0] ldr r0, [r0] str r1, [r0, #0x74] b _0238B0C4 _0238AA58: ldrsh r3, [r0, #0x44] mov r2, #0x1e orr r3, r3, #0x20000 str r3, [r0, #0xe8] ldr r0, [r1] str r2, [r0, #0x74] bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r2, _0238B10C ; =0x0000043C ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238AA94: mov r1, #0x1f str r1, [r0, #0x74] bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 mov r2, #3 ldr r1, [r0] ldr r3, _0238B110 ; =0x0000140F str r2, [r1, #0xe0] ldr r1, [r0] rsb r2, r2, #0x440 str r3, [r1, #0x10c] ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238AAD8: bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r2, [r0] ldr r1, [r2, #0x3c] ldrsh r1, [r1, #4] str r1, [r2, #0xe8] ldr r0, [r0] ldr r0, [r0, #0x3c] bl IsMonsterNotNicknamed ldr r1, _0238B0CC ; =ov16_0238CE40 mov r2, #1 ldr r3, [r1] strb r0, [r3, #0x46] ldr r0, [r1] strb r2, [r0] bl IncrementNbEvolutions ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r1, [r0] ldr r0, [r1, #0x40] add r0, r1, r0, lsl #1 ldrsh r0, [r0, #0xc] bl SetPokemonJoined ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r0, [r0] ldrsh r0, [r0, #0x44] bl sub_02056410 cmp r0, #0 beq _0238AB84 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r0, [r0] ldrsh r0, [r0, #0x44] bl sub_020564B0 ldr r1, _0238B0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0x8c] bl SetTeamSetupHeroOnly cmp r0, #0 ldr r0, _0238B0CC ; =ov16_0238CE40 movne r1, #2 ldr r0, [r0] moveq r1, #1 str r1, [r0, #0x88] b _0238AB9C _0238AB84: ldr r0, _0238B0CC ; =ov16_0238CE40 mov r2, #0 ldr r1, [r0] strb r2, [r1, #0x8c] ldr r0, [r0] str r2, [r0, #0x88] _0238AB9C: ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r2, [r0] ldr r1, [r2, #0x40] add r0, r2, #0x44 add r1, r2, r1, lsl #1 ldrsh r1, [r1, #0xc] bl sub_0205A288 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r0, [r0] ldrsh r0, [r0, #0x44] bl ov16_0238CC64 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r0, [r0] ldrb r0, [r0, #0x8c] cmp r0, #0 beq _0238ABF4 bl sub_02056880 bl GetActiveTeamMember ldr r1, _0238B0CC ; =ov16_0238CE40 ldr r1, [r1] ldrsh r1, [r1, #0x44] strh r1, [r0, #8] _0238ABF4: ldr r1, _0238B0CC ; =ov16_0238CE40 ldr r0, _0238B114 ; =EVOLUTION_HP_BONUS ldr r3, [r1] ldrsh r2, [r0] ldr r4, [r3, #0x3c] ldr r0, _0238B118 ; =0x000003E7 ldrsh r3, [r4, #0xa] add r2, r3, r2 strh r2, [r4, #0xa] ldr r1, [r1] ldr r3, _0238B11C ; =EVOLUTION_PHYSICAL_STAT_BONUSES ldr r2, [r1, #0x3c] ldrsh r1, [r2, #0xa] cmp r1, r0 strgth r0, [r2, #0xa] ldr r1, _0238B0CC ; =ov16_0238CE40 ldr r0, _0238B120 ; =EVOLUTION_SPECIAL_STAT_BONUSES ldr r1, [r1] ldrsh r5, [r0] ldr r1, [r1, #0x3c] ldrsh r2, [r0, #2] ldrb ip, [r1, #0xc] ldrb r4, [r1, #0xd] ldrb lr, [r1, #0xf] add r0, ip, r5 add r2, r4, r2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldrsh ip, [r3, #2] cmp r0, #0xff ldrb r5, [r1, #0xe] ldrsh r4, [r3] movgt r0, #0xff strb r0, [r1, #0xc] add r3, r5, r4 mov r2, r2, lsl #0x10 mov r4, r2, asr #0x10 ldr r2, _0238B0CC ; =ov16_0238CE40 cmp r4, #0xff ldr r1, [r2] mov r3, r3, lsl #0x10 add ip, lr, ip mov ip, ip, lsl #0x10 ldr r1, [r1, #0x3c] movgt r4, #0xff strb r4, [r1, #0xd] ldr r1, [r2] mov r3, r3, asr #0x10 cmp r3, #0xff ldr r1, [r1, #0x3c] movgt r3, #0xff strb r3, [r1, #0xe] ldr r1, [r2] mov r5, ip, asr #0x10 cmp r5, #0xff ldr r1, [r1, #0x3c] movgt r5, #0xff strb r5, [r1, #0xf] mov r0, #0 ldr r1, [r2] strh r0, [sp, #0xa] ldr r0, [r1, #0x40] add r0, r1, r0, lsl #1 ldrsh r0, [r0, #0x1c] strh r0, [sp, #0xc] bl GetFirstUnequippedItemOfType mov r4, r0 mvn r1, #0 cmp r4, r1 beq _0238AD2C bl GetItemAtIdx ldrb r0, [r0, #1] cmp r0, #0 beq _0238AD20 bl sub_020582E0 _0238AD20: mov r0, r4 bl RemoveItemNoHole b _0238AD40 _0238AD2C: ldrsh r0, [sp, #0xc] cmp r0, #0 beq _0238AD40 add r0, sp, #8 bl sub_02010260 _0238AD40: ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r1, [r0] ldr r0, [r1, #0x40] add r0, r1, r0, lsl #1 ldrsh r0, [r0, #0x2c] strh r0, [sp, #0xc] bl GetFirstUnequippedItemOfType mov r4, r0 mvn r1, #0 cmp r4, r1 beq _0238AD8C bl GetItemAtIdx ldrb r0, [r0, #1] cmp r0, #0 beq _0238AD80 bl sub_020582E0 _0238AD80: mov r0, r4 bl RemoveItemNoHole b _0238ADA0 _0238AD8C: ldrsh r0, [sp, #0xc] cmp r0, #0 beq _0238ADA0 add r0, sp, #8 bl sub_02010260 _0238ADA0: ldr r0, _0238B124 ; =0x00003F01 bl sub_02017CB4 mov r0, #8 bl sub_02017C50 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r1, [r0] ldrb r0, [r1, #0x46] cmp r0, #0 moveq r0, #4 streq r0, [r1, #0x74] beq _0238AE1C ldr r1, [r1, #0x3c] add r0, sp, #0xe ldrsh r1, [r1, #4] bl GetNameRaw ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r0, [r0] ldr r0, [r0, #0x3c] ldrsh r0, [r0, #4] bl GetNameString ldr r2, _0238B0CC ; =ov16_0238CE40 mov r1, r0 ldr r0, [r2] arm_func_end ov16_0238A468 arm_func_start ov16_0238ADFC ov16_0238ADFC: ; 0x0238ADFC mov r2, #0xa ldr r0, [r0, #0x3c] add r0, r0, #0x3a bl sub_02025314 ldr r0, _0238B0CC ; =ov16_0238CE40 mov r1, #0x21 ldr r0, [r0] str r1, [r0, #0x74] _0238AE1C: ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r2, _0238B128 ; =0x0000043F ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238AE3C: ldrsb r0, [r0, #0xc1] bl FreeDBox ldr r0, _0238B0CC ; =ov16_0238CE40 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0xc1] bl GetMainCharacter1MemberIdx bl sub_0203C7E4 mov r0, #5 mov r1, #0 bl sub_02039C3C b _0238B0C4 _0238AE6C: bl sub_0203A638 b _0238B0C4 _0238AE74: mov r1, #5 str r1, [r0, #0x74] bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r2, _0238B12C ; =0x0000042D ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238AEA0: mov r2, #0xb str r2, [r0, #0x74] ldr r0, [r1] mov r1, #0x29 str r1, [r0, #0x70] bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r2, _0238B130 ; =0x00000433 ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238B0C4 _0238AED8: bl ov11_02310BDC ldr r0, _0238B0CC ; =ov16_0238CE40 mov r1, #0x20 ldr r0, [r0] str r1, [r0, #0x74] bl ov16_0238CB98 ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r2, _0238B134 ; =0x00000447 ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox ldr r1, _0238B0CC ; =ov16_0238CE40 mvn r0, #1 ldr r1, [r1] ldrsb r1, [r1, #0xc2] cmp r1, r0 bne _0238B0C4 mov r0, #0 mov r1, #3 mov r2, #1 bl CreatePortraitBox ldr r1, _0238B0CC ; =ov16_0238CE40 ldr r2, [r1] strb r0, [r2, #0xc2] ldr r2, [r1] ldr r1, [r2, #0x40] add r0, r2, #0xc8 add r1, r2, r1, lsl #1 ldrsh r1, [r1, #0xc] bl InitPortraitBoxWithMonsterId ldr r0, _0238B0CC ; =ov16_0238CE40 mov r1, #4 ldr r0, [r0] add r0, r0, #0xc8 bl SetPortraitLayout ldr r0, _0238B0CC ; =ov16_0238CE40 mov r1, #0 ldr r0, [r0] add r0, r0, #0xc8 bl SetPortraitEmotion ldr r0, _0238B0CC ; =ov16_0238CE40 ldr r1, [r0] ldrsb r0, [r1, #0xc2] add r1, r1, #0xc8 bl ShowPortraitBox b _0238B0C4 _0238AF98: ldrsb r0, [r0, #0xc1] bl FreeDBox ldr r1, _0238B0CC ; =ov16_0238CE40 mvn r3, #1 ldr r2, [r1] mov r0, #2 strb r3, [r2, #0xc1] ldr r3, [r1] mov r2, #0 ldr r1, [r3, #0x3c] add r3, r3, #0xb1 add r1, r1, #0x3a bl ShowKeyboard b _0238B0C4 _0238AFD0: ldr r1, [r0, #0x3c] add r3, r0, #0xb1 add r1, r1, #0x3a mov r0, #2 mov r2, #0 bl ShowKeyboard b _0238B0C4 _0238AFEC: add r0, r0, #0x8d bl sub_0203909C b _0238B0C4 _0238AFF8: mov r2, #0x22 str r2, [r0, #0x74] ldr r2, [r1] mov ip, #4 ldr r0, _0238B0D8 ; =EVO_D_BOX_LAYOUT_6 ldr r1, _0238B0DC ; =0x00300011 ldr r3, _0238B0EC ; =EVO_MENU_CONFIRM str ip, [r2, #0x78] mov ip, #2 mov r2, #0 str ip, [sp] bl CreateNormalMenu ldr r1, _0238B0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] b _0238B0C4 _0238B038: mov ip, #0 mov r3, ip _0238B040: ldr r2, [r1] add r0, r2, r3, lsl #1 ldrsh r0, [r0, #0xc] cmp r0, #0 addne r0, r2, ip, lsl #2 strne r3, [r0, #0x50] add r3, r3, #1 addne ip, ip, #1 cmp r3, #8 blt _0238B040 cmp ip, #2 bge _0238B088 ldr r0, _0238B0CC ; =ov16_0238CE40 mov r1, #0x17 ldr r0, [r0] str r1, [r0, #0x70] bl ov16_0238B148 b _0238B0C4 _0238B088: ldr r1, _0238B138 ; =0x00000446 mov r0, #0xf strh r1, [sp, #0x98] str r0, [sp, #0x9c] str ip, [sp] mov ip, #4 ldr r0, _0238B13C ; =EVO_D_BOX_LAYOUT_4 ldr r1, _0238B140 ; =0x00009813 ldr r3, _0238B144 ; =ov16_0238CB30 add r2, sp, #0x90 str ip, [sp, #4] bl CreateAdvancedMenu ldr r1, _0238B0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] _0238B0C4: add sp, sp, #0x128 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0238B0CC: .word ov16_0238CE40 _0238B0D0: .word 0x00000431 _0238B0D4: .word 0x00000432 _0238B0D8: .word EVO_D_BOX_LAYOUT_6 _0238B0DC: .word 0x00300011 _0238B0E0: .word EVO_MAIN_MENU _0238B0E4: .word 0x00000442 _0238B0E8: .word 0x00000449 _0238B0EC: .word EVO_MENU_CONFIRM _0238B0F0: .word 0x00300013 _0238B0F4: .word 0x00000434 _0238B0F8: .word EVO_D_BOX_LAYOUT_5 _0238B0FC: .word EVO_SUBMENU _0238B100: .word 0x00000125 _0238B104: .word 0x0000043E _0238B108: .word 0x0000043A _0238B10C: .word 0x0000043C _0238B110: .word 0x0000140F _0238B114: .word EVOLUTION_HP_BONUS _0238B118: .word 0x000003E7 _0238B11C: .word EVOLUTION_PHYSICAL_STAT_BONUSES _0238B120: .word EVOLUTION_SPECIAL_STAT_BONUSES _0238B124: .word 0x00003F01 _0238B128: .word 0x0000043F _0238B12C: .word 0x0000042D _0238B130: .word 0x00000433 _0238B134: .word 0x00000447 _0238B138: .word 0x00000446 _0238B13C: .word EVO_D_BOX_LAYOUT_4 _0238B140: .word 0x00009813 _0238B144: .word ov16_0238CB30 arm_func_end ov16_0238ADFC arm_func_start ov16_0238B148 ov16_0238B148: ; 0x0238B148 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x128 ldr r1, _0238C0CC ; =ov16_0238CE40 ldr r0, [r1] ldr r2, [r0, #0x70] cmp r2, #0x2c addls pc, pc, r2, lsl #2 b _0238C0C4 _0238B168: ; jump table b _0238B21C ; case 0 b _0238B274 ; case 1 b _0238B2D8 ; case 2 b _0238B344 ; case 3 b _0238B370 ; case 4 b _0238C0C4 ; case 5 b _0238B318 ; case 6 b _0238B928 ; case 7 b _0238B95C ; case 8 b _0238B9C4 ; case 9 b _0238BEA0 ; case 10 b _0238BE3C ; case 11 b _0238BE6C ; case 12 b _0238B640 ; case 13 b _0238B614 ; case 14 b _0238BE74 ; case 15 b _0238B574 ; case 16 b _0238B5D8 ; case 17 b _0238B480 ; case 18 b _0238B50C ; case 19 b _0238B440 ; case 20 b _0238C0C4 ; case 21 b _0238B730 ; case 22 b _0238B850 ; case 23 b _0238C0C4 ; case 24 b _0238C0C4 ; case 25 b _0238B668 ; case 26 b _0238B6F4 ; case 27 b _0238B9F4 ; case 28 b _0238BA58 ; case 29 b _0238BA94 ; case 30 b _0238BAD8 ; case 31 b _0238BFF8 ; case 32 b _0238BED8 ; case 33 b _0238BF98 ; case 34 b _0238BFD0 ; case 35 b _0238C0C4 ; case 36 b _0238BFEC ; case 37 b _0238C0C4 ; case 38 b _0238C038 ; case 39 b _0238C0C4 ; case 40 b _0238C0C4 ; case 41 b _0238C0C4 ; case 42 b _0238C0C4 ; case 43 b _0238B424 ; case 44 _0238B21C: bl ov16_0238CBD0 cmp r0, #0 bne _0238B240 ldr r0, _0238C0CC ; =ov16_0238CE40 mov r1, #0xf ldr r0, [r0] str r1, [r0, #0x70] bl ov16_0238B148 b _0238C0C4 _0238B240: ldr r0, _0238C0CC ; =ov16_0238CE40 mov r1, #6 ldr r0, [r0] str r1, [r0, #0x74] bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r2, _0238C0D0 ; =0x00000431 ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238B274: bl ov16_0238CBD0 cmp r0, #0 bne _0238B298 ldr r0, _0238C0CC ; =ov16_0238CE40 mov r1, #0xf ldr r0, [r0] str r1, [r0, #0x70] bl ov16_0238B148 b _0238C0C4 _0238B298: bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl ShowDBox ldr r0, _0238C0CC ; =ov16_0238CE40 mov r3, #6 ldr r1, [r0] ldr r2, _0238C0D4 ; =0x00000432 str r3, [r1, #0x74] ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238B2D8: bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl ShowDBox ldr r0, _0238C0CC ; =ov16_0238CE40 mov r3, #1 ldr r1, [r0] add r2, r3, #0x440 str r3, [r1, #0x74] ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238B318: ldr r0, _0238C0D8 ; =EVO_D_BOX_LAYOUT_6 mov r4, #3 ldr r1, _0238C0DC ; =0x00300011 ldr r3, _0238C0E0 ; =EVO_MAIN_MENU mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _0238C0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] b _0238C0C4 _0238B344: mov r1, #1 str r1, [r0, #0x74] bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r2, _0238C0E4 ; =0x00000442 ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238B370: mov r1, #5 str r1, [r0, #0x74] bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r0, [r0] ldr r0, [r0, #0x88] cmp r0, #0 ble _0238B394 bl sub_020572EC _0238B394: ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r2, [r0] ldr r1, [r2, #0x88] cmp r1, #1 ble _0238B3DC mov r1, #4 str r1, [r2, #0x74] ldr r1, [r0] ldr r2, _0238C0E8 ; =0x00000449 ldrsb r0, [r1, #0xc1] add r3, r1, #0xe8 mov r1, #0x18 bl ShowMessageInDBox ldr r0, _0238C0CC ; =ov16_0238CE40 mov r1, #0 ldr r0, [r0] str r1, [r0, #0x88] b _0238C0C4 _0238B3DC: bl ov16_0238CBD0 cmp r0, #0 mov r1, #0x18 bne _0238B408 ldr r0, _0238C0CC ; =ov16_0238CE40 mov r2, #0x440 ldr r3, [r0] ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238B408: ldr r0, _0238C0CC ; =ov16_0238CE40 add r2, r1, #0x430 ldr r3, [r0] ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238B424: mov r2, #5 str r2, [r0, #0xd8] ldr r0, [r1] mov r1, #1 str r1, [r0, #0x70] bl ov16_0238B148 b _0238C0C4 _0238B440: bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl ShowDBox ldr r0, _0238C0CC ; =ov16_0238CE40 mov r3, #0x27 ldr r1, [r0] rsb r2, r3, #0x460 str r3, [r1, #0x74] ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238B480: bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 mov r2, #0xa ldr r0, [r0] ldr r1, [r0, #0x3c] add r0, r0, #0x138 add r1, r1, #0x3a bl StrncpySimpleNoPadSafe ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r2, [r0] add r1, r2, #0x138 str r1, [r2, #0x120] ldr r2, [r0] ldr r1, [r2, #0x3c] ldrsh r1, [r1, #4] str r1, [r2, #0xe8] ldr r2, [r0] ldr r1, [r2, #0x40] add r1, r2, r1, lsl #1 ldrsh r1, [r1, #0xc] str r1, [r2, #0xec] ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl ShowDBox ldr r0, _0238C0CC ; =ov16_0238CE40 mov r1, #8 mov r4, #0x13 ldr r3, [r0] add r2, r1, #0x430 str r4, [r3, #0x74] ldr r3, [r0] ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238B50C: ldr r2, [r0, #0x40] mov r1, #0 add r0, r0, r2, lsl #1 ldrsh r0, [r0, #0xc] bl IsMonsterOnTeam cmp r0, #0 ldrne r0, _0238C0CC ; =ov16_0238CE40 movne r1, #0x1a ldreq r0, _0238C0CC ; =ov16_0238CE40 moveq r1, #0x1c ldr r0, [r0] mov r4, #2 str r1, [r0, #0x74] ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r3, _0238C0EC ; =EVO_MENU_CONFIRM ldr r1, [r0] ldr r0, _0238C0D8 ; =EVO_D_BOX_LAYOUT_6 str r4, [r1, #0x78] ldr r1, _0238C0F0 ; =0x00300013 mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _0238C0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] b _0238C0C4 _0238B574: bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r2, [r0] ldrsh r1, [r2, #0x44] orr r1, r1, #0x20000 str r1, [r2, #0xe8] ldr r2, [r0] ldr r1, [r2, #0x40] add r1, r2, r1, lsl #1 ldrsh r1, [r1, #0xc] str r1, [r2, #0xec] ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl ShowDBox ldr r0, _0238C0CC ; =ov16_0238CE40 mov r3, #0x11 ldr r1, [r0] ldr r2, _0238C0F4 ; =0x00000434 str r3, [r1, #0x74] ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238B5D8: mov r2, #0x1c str r2, [r0, #0x74] ldr r0, [r1] mov r4, #2 str r4, [r0, #0x78] ldr r0, _0238C0D8 ; =EVO_D_BOX_LAYOUT_6 ldr r1, _0238C0F0 ; =0x00300013 ldr r3, _0238C0EC ; =EVO_MENU_CONFIRM mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _0238C0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] b _0238C0C4 _0238B614: ldr r0, _0238C0F8 ; =EVO_D_BOX_LAYOUT_5 mov r4, #3 ldr r3, _0238C0FC ; =EVO_SUBMENU mov r1, #0x13 mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _0238C0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] b _0238C0C4 _0238B640: ldr r1, [r0, #0x3c] add r0, sp, #0xb0 bl sub_0205B008 add r0, sp, #0xb0 mov r1, #3 bl sub_0203F150 ldr r1, _0238C0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc4] b _0238C0C4 _0238B668: bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 mov r2, #0xa ldr r0, [r0] ldr r1, [r0, #0x3c] add r0, r0, #0x138 add r1, r1, #0x3a bl StrncpySimpleNoPadSafe ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r2, [r0] add r1, r2, #0x138 str r1, [r2, #0x120] ldr r2, [r0] ldr r1, [r2, #0x3c] ldrsh r1, [r1, #4] str r1, [r2, #0xe8] ldr r2, [r0] ldr r1, [r2, #0x40] add r1, r2, r1, lsl #1 ldrsh r1, [r1, #0xc] str r1, [r2, #0xec] ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl ShowDBox ldr r0, _0238C0CC ; =ov16_0238CE40 mov r4, #0x1b ldr r2, [r0] mov r1, #8 str r4, [r2, #0x74] ldr r3, [r0] add r2, r4, #0x420 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238B6F4: mov r2, #0x1c str r2, [r0, #0x74] ldr r0, [r1] mov r4, #2 str r4, [r0, #0x78] ldr r0, _0238C0D8 ; =EVO_D_BOX_LAYOUT_6 ldr r1, _0238C0F0 ; =0x00300013 ldr r3, _0238C0EC ; =EVO_MENU_CONFIRM mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _0238C0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] b _0238C0C4 _0238B730: mov r2, #0 str r2, [r0, #0x40] ldr r3, [r1] ldr r0, _0238C100 ; =0x00000125 ldr r1, [r3, #0x3c] ldrsh r1, [r1, #4] cmp r1, r0 addne r0, r0, #0x258 cmpne r1, r0 moveq r0, #0 beq _0238B7DC mov r1, r2 _0238B760: add r0, r3, r1, lsl #1 ldrsh r0, [r0, #0xc] add r1, r1, #1 cmp r0, #0 addne r2, r2, #1 cmp r1, #8 blt _0238B760 cmp r2, #1 bne _0238B7D8 ldr r0, _0238C0CC ; =ov16_0238CE40 mov r3, #0 _0238B78C: ldr r2, [r0] add r1, r2, r3, lsl #1 ldrsh r1, [r1, #0xc] cmp r1, #0 beq _0238B7C4 strh r1, [r2, #0xc] ldr r2, [r0] add r1, r2, r3, lsl #1 ldrsh r1, [r1, #0x1c] strh r1, [r2, #0x1c] ldr r2, [r0] add r1, r2, r3, lsl #1 ldrsh r1, [r1, #0x2c] strh r1, [r2, #0x2c] _0238B7C4: add r3, r3, #1 cmp r3, #8 blt _0238B78C mov r0, #1 b _0238B7DC _0238B7D8: mov r0, #2 _0238B7DC: cmp r0, #0 beq _0238B7F0 cmp r0, #1 beq _0238B820 b _0238B838 _0238B7F0: ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r1, [r0] ldrsh r0, [r1, #0xc] cmp r0, #0 moveq r0, #1 streq r0, [r1, #0x40] ldr r0, _0238C0CC ; =ov16_0238CE40 mov r1, #0x10 ldr r0, [r0] str r1, [r0, #0x70] bl ov16_0238B148 b _0238C0C4 _0238B820: ldr r0, _0238C0CC ; =ov16_0238CE40 mov r1, #0x17 ldr r0, [r0] str r1, [r0, #0x70] bl ov16_0238B148 b _0238C0C4 _0238B838: ldr r0, _0238C0CC ; =ov16_0238CE40 mov r1, #0x14 ldr r0, [r0] str r1, [r0, #0x70] bl ov16_0238B148 b _0238C0C4 _0238B850: ldrsh r2, [r0, #0x44] orr r2, r2, #0x20000 str r2, [r0, #0xe8] ldr r2, [r1] ldr r0, [r2, #0x40] add r0, r2, r0, lsl #1 ldrsh r0, [r0, #0xc] str r0, [r2, #0xec] ldr r2, [r1] ldr r0, [r2, #0x40] add r0, r2, r0, lsl #1 ldrsh r0, [r0, #0x1c] str r0, [r2, #0xf8] ldr r2, [r1] ldr r0, [r2, #0x40] add r0, r2, r0, lsl #1 ldrsh r0, [r0, #0x2c] str r0, [r2, #0xfc] ldr r1, [r1] ldr r0, [r1, #0xf8] cmp r0, #0 ldreq r0, [r1, #0xfc] streq r0, [r1, #0xf8] ldr r0, _0238C0CC ; =ov16_0238CE40 mov r1, #0 ldr r3, [r0] ldr r2, [r3, #0x40] add r0, r3, r2, lsl #1 ldrsh r0, [r0, #0x1c] cmp r0, #0 add r0, r3, r2, lsl #1 ldrsh r0, [r0, #0x2c] addne r1, r1, #1 cmp r0, #0 addne r1, r1, #1 cmp r1, #0 beq _0238B8F8 cmp r1, #1 beq _0238B908 cmp r1, #2 beq _0238B918 b _0238C0C4 _0238B8F8: mov r0, #0x12 str r0, [r3, #0x70] bl ov16_0238B148 b _0238C0C4 _0238B908: mov r0, #7 str r0, [r3, #0x70] bl ov16_0238B148 b _0238C0C4 _0238B918: mov r0, #9 str r0, [r3, #0x70] bl ov16_0238B148 b _0238C0C4 _0238B928: bl ov16_0238CAE8 bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 mov r3, #8 ldr r1, [r0] ldr r2, _0238C104 ; =0x0000043E str r3, [r1, #0x74] ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238B95C: ldr r2, [r0, #0x40] mov r1, #0 add r0, r0, r2, lsl #1 ldrsh r0, [r0, #0xc] bl IsMonsterOnTeam cmp r0, #0 ldrne r0, _0238C0CC ; =ov16_0238CE40 movne r1, #0x1a ldreq r0, _0238C0CC ; =ov16_0238CE40 moveq r1, #0x1c ldr r0, [r0] mov r4, #2 str r1, [r0, #0x74] ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r3, _0238C0EC ; =EVO_MENU_CONFIRM ldr r1, [r0] ldr r0, _0238C0D8 ; =EVO_D_BOX_LAYOUT_6 str r4, [r1, #0x78] ldr r1, _0238C0F0 ; =0x00300013 mov r2, #0 str r4, [sp] bl CreateNormalMenu ldr r1, _0238C0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] b _0238C0C4 _0238B9C4: bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 mov r3, #8 ldr r1, [r0] ldr r2, _0238C108 ; =0x0000043A str r3, [r1, #0x74] ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238B9F4: ldrsb r0, [r0, #0xc1] bl sub_0202F2C4 ldr r0, _0238C0CC ; =ov16_0238CE40 mov r3, #0x14 ldr r1, [r0] mov r2, #3 str r3, [r1, #0xe4] ldr r1, [r0] mov r3, #0 str r2, [r1, #0xd8] ldr r4, [r0] mov r1, #0x1d ldr r2, [r4, #0x3c] ldrsh r2, [r2, #4] strh r2, [r4, #0xdc] ldr r4, [r0] ldr r2, [r4, #0x40] add r2, r4, r2, lsl #1 ldrsh r2, [r2, #0xc] strh r2, [r4, #0xde] ldr r2, [r0] str r3, [r2, #0xe0] ldr r0, [r0] str r1, [r0, #0x74] b _0238C0C4 _0238BA58: ldrsh r3, [r0, #0x44] mov r2, #0x1e orr r3, r3, #0x20000 str r3, [r0, #0xe8] ldr r0, [r1] str r2, [r0, #0x74] bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r2, _0238C10C ; =0x0000043C ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238BA94: mov r1, #0x1f str r1, [r0, #0x74] bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 mov r2, #3 ldr r1, [r0] ldr r3, _0238C110 ; =0x0000140F str r2, [r1, #0xe0] ldr r1, [r0] rsb r2, r2, #0x440 str r3, [r1, #0x10c] ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238BAD8: bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r2, [r0] ldr r1, [r2, #0x3c] ldrsh r1, [r1, #4] str r1, [r2, #0xe8] ldr r0, [r0] ldr r0, [r0, #0x3c] bl IsMonsterNotNicknamed ldr r1, _0238C0CC ; =ov16_0238CE40 mov r2, #1 ldr r3, [r1] strb r0, [r3, #0x46] ldr r0, [r1] strb r2, [r0] bl IncrementNbEvolutions ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r1, [r0] ldr r0, [r1, #0x40] add r0, r1, r0, lsl #1 ldrsh r0, [r0, #0xc] bl SetPokemonJoined ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r0, [r0] ldrsh r0, [r0, #0x44] bl sub_02056410 cmp r0, #0 beq _0238BB84 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r0, [r0] ldrsh r0, [r0, #0x44] bl sub_020564B0 ldr r1, _0238C0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0x8c] bl SetTeamSetupHeroOnly cmp r0, #0 ldr r0, _0238C0CC ; =ov16_0238CE40 movne r1, #2 ldr r0, [r0] moveq r1, #1 str r1, [r0, #0x88] b _0238BB9C _0238BB84: ldr r0, _0238C0CC ; =ov16_0238CE40 mov r2, #0 ldr r1, [r0] strb r2, [r1, #0x8c] ldr r0, [r0] str r2, [r0, #0x88] _0238BB9C: ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r2, [r0] ldr r1, [r2, #0x40] add r0, r2, #0x44 add r1, r2, r1, lsl #1 ldrsh r1, [r1, #0xc] bl sub_0205A288 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r0, [r0] ldrsh r0, [r0, #0x44] bl ov16_0238CC64 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r0, [r0] ldrb r0, [r0, #0x8c] cmp r0, #0 beq _0238BBF4 bl sub_02056880 bl GetActiveTeamMember ldr r1, _0238C0CC ; =ov16_0238CE40 ldr r1, [r1] ldrsh r1, [r1, #0x44] strh r1, [r0, #8] _0238BBF4: ldr r1, _0238C0CC ; =ov16_0238CE40 ldr r0, _0238C114 ; =EVOLUTION_HP_BONUS ldr r3, [r1] ldrsh r2, [r0] ldr r4, [r3, #0x3c] ldr r0, _0238C118 ; =0x000003E7 ldrsh r3, [r4, #0xa] add r2, r3, r2 strh r2, [r4, #0xa] ldr r1, [r1] ldr r3, _0238C11C ; =EVOLUTION_PHYSICAL_STAT_BONUSES ldr r2, [r1, #0x3c] ldrsh r1, [r2, #0xa] cmp r1, r0 strgth r0, [r2, #0xa] ldr r1, _0238C0CC ; =ov16_0238CE40 ldr r0, _0238C120 ; =EVOLUTION_SPECIAL_STAT_BONUSES ldr r1, [r1] ldrsh r5, [r0] ldr r1, [r1, #0x3c] ldrsh r2, [r0, #2] ldrb ip, [r1, #0xc] ldrb r4, [r1, #0xd] ldrb lr, [r1, #0xf] add r0, ip, r5 add r2, r4, r2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldrsh ip, [r3, #2] cmp r0, #0xff ldrb r5, [r1, #0xe] ldrsh r4, [r3] movgt r0, #0xff strb r0, [r1, #0xc] add r3, r5, r4 mov r2, r2, lsl #0x10 mov r4, r2, asr #0x10 ldr r2, _0238C0CC ; =ov16_0238CE40 cmp r4, #0xff ldr r1, [r2] mov r3, r3, lsl #0x10 add ip, lr, ip mov ip, ip, lsl #0x10 ldr r1, [r1, #0x3c] movgt r4, #0xff strb r4, [r1, #0xd] ldr r1, [r2] mov r3, r3, asr #0x10 cmp r3, #0xff ldr r1, [r1, #0x3c] movgt r3, #0xff strb r3, [r1, #0xe] ldr r1, [r2] mov r5, ip, asr #0x10 cmp r5, #0xff ldr r1, [r1, #0x3c] movgt r5, #0xff strb r5, [r1, #0xf] mov r0, #0 ldr r1, [r2] strh r0, [sp, #0xa] ldr r0, [r1, #0x40] add r0, r1, r0, lsl #1 ldrsh r0, [r0, #0x1c] strh r0, [sp, #0xc] bl GetFirstUnequippedItemOfType mov r4, r0 mvn r1, #0 cmp r4, r1 beq _0238BD2C bl GetItemAtIdx ldrb r0, [r0, #1] cmp r0, #0 beq _0238BD20 bl sub_020582E0 _0238BD20: mov r0, r4 bl RemoveItemNoHole b _0238BD40 _0238BD2C: ldrsh r0, [sp, #0xc] cmp r0, #0 beq _0238BD40 add r0, sp, #8 bl sub_02010260 _0238BD40: ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r1, [r0] ldr r0, [r1, #0x40] add r0, r1, r0, lsl #1 ldrsh r0, [r0, #0x2c] strh r0, [sp, #0xc] bl GetFirstUnequippedItemOfType mov r4, r0 mvn r1, #0 cmp r4, r1 beq _0238BD8C bl GetItemAtIdx ldrb r0, [r0, #1] cmp r0, #0 beq _0238BD80 bl sub_020582E0 _0238BD80: mov r0, r4 bl RemoveItemNoHole b _0238BDA0 _0238BD8C: ldrsh r0, [sp, #0xc] cmp r0, #0 beq _0238BDA0 add r0, sp, #8 bl sub_02010260 _0238BDA0: ldr r0, _0238C124 ; =0x00003F01 bl sub_02017CB4 mov r0, #8 bl sub_02017C50 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r1, [r0] ldrb r0, [r1, #0x46] cmp r0, #0 moveq r0, #4 streq r0, [r1, #0x74] beq _0238BE1C ldr r1, [r1, #0x3c] add r0, sp, #0xe ldrsh r1, [r1, #4] bl GetNameRaw ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r0, [r0] ldr r0, [r0, #0x3c] ldrsh r0, [r0, #4] bl GetNameString ldr r2, _0238C0CC ; =ov16_0238CE40 mov r1, r0 ldr r0, [r2] mov r2, #0xa ldr r0, [r0, #0x3c] add r0, r0, #0x3a bl sub_02025314 ldr r0, _0238C0CC ; =ov16_0238CE40 mov r1, #0x21 ldr r0, [r0] str r1, [r0, #0x74] _0238BE1C: ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r2, _0238C128 ; =0x0000043F ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238BE3C: ldrsb r0, [r0, #0xc1] bl FreeDBox ldr r0, _0238C0CC ; =ov16_0238CE40 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0xc1] bl GetMainCharacter1MemberIdx bl sub_0203C7E4 mov r0, #5 mov r1, #0 bl sub_02039C3C b _0238C0C4 _0238BE6C: bl sub_0203A638 b _0238C0C4 _0238BE74: mov r1, #5 str r1, [r0, #0x74] bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r2, _0238C12C ; =0x0000042D ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238BEA0: mov r2, #0xb str r2, [r0, #0x74] ldr r0, [r1] mov r1, #0x29 str r1, [r0, #0x70] bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r2, _0238C130 ; =0x00000433 ldr r3, [r0] mov r1, #0x18 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox b _0238C0C4 _0238BED8: bl ov11_02310BDC ldr r0, _0238C0CC ; =ov16_0238CE40 mov r1, #0x20 ldr r0, [r0] str r1, [r0, #0x74] bl ov16_0238CB98 ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r2, _0238C134 ; =0x00000447 ldr r3, [r0] mov r1, #8 ldrsb r0, [r3, #0xc1] add r3, r3, #0xe8 bl ShowMessageInDBox ldr r1, _0238C0CC ; =ov16_0238CE40 mvn r0, #1 ldr r1, [r1] ldrsb r1, [r1, #0xc2] cmp r1, r0 bne _0238C0C4 mov r0, #0 mov r1, #3 mov r2, #1 bl CreatePortraitBox ldr r1, _0238C0CC ; =ov16_0238CE40 ldr r2, [r1] strb r0, [r2, #0xc2] ldr r2, [r1] ldr r1, [r2, #0x40] add r0, r2, #0xc8 add r1, r2, r1, lsl #1 ldrsh r1, [r1, #0xc] bl InitPortraitBoxWithMonsterId ldr r0, _0238C0CC ; =ov16_0238CE40 mov r1, #4 ldr r0, [r0] add r0, r0, #0xc8 bl SetPortraitLayout ldr r0, _0238C0CC ; =ov16_0238CE40 mov r1, #0 ldr r0, [r0] add r0, r0, #0xc8 bl SetPortraitEmotion ldr r0, _0238C0CC ; =ov16_0238CE40 ldr r1, [r0] ldrsb r0, [r1, #0xc2] add r1, r1, #0xc8 bl ShowPortraitBox b _0238C0C4 _0238BF98: ldrsb r0, [r0, #0xc1] bl FreeDBox ldr r1, _0238C0CC ; =ov16_0238CE40 mvn r3, #1 ldr r2, [r1] mov r0, #2 strb r3, [r2, #0xc1] ldr r3, [r1] mov r2, #0 ldr r1, [r3, #0x3c] add r3, r3, #0xb1 add r1, r1, #0x3a bl ShowKeyboard b _0238C0C4 _0238BFD0: ldr r1, [r0, #0x3c] add r3, r0, #0xb1 add r1, r1, #0x3a mov r0, #2 mov r2, #0 bl ShowKeyboard b _0238C0C4 _0238BFEC: add r0, r0, #0x8d bl sub_0203909C b _0238C0C4 _0238BFF8: mov r2, #0x22 str r2, [r0, #0x74] ldr r2, [r1] mov ip, #4 ldr r0, _0238C0D8 ; =EVO_D_BOX_LAYOUT_6 ldr r1, _0238C0DC ; =0x00300011 ldr r3, _0238C0EC ; =EVO_MENU_CONFIRM str ip, [r2, #0x78] mov ip, #2 mov r2, #0 str ip, [sp] bl CreateNormalMenu ldr r1, _0238C0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] b _0238C0C4 _0238C038: mov ip, #0 mov r3, ip _0238C040: ldr r2, [r1] add r0, r2, r3, lsl #1 ldrsh r0, [r0, #0xc] cmp r0, #0 addne r0, r2, ip, lsl #2 strne r3, [r0, #0x50] add r3, r3, #1 addne ip, ip, #1 cmp r3, #8 blt _0238C040 cmp ip, #2 bge _0238C088 ldr r0, _0238C0CC ; =ov16_0238CE40 mov r1, #0x17 ldr r0, [r0] str r1, [r0, #0x70] bl ov16_0238B148 b _0238C0C4 _0238C088: ldr r1, _0238C138 ; =0x00000446 mov r0, #0xf strh r1, [sp, #0x20] str r0, [sp, #0x24] str ip, [sp] mov ip, #4 ldr r0, _0238C13C ; =EVO_D_BOX_LAYOUT_4 ldr r1, _0238C140 ; =0x00009813 ldr r3, _0238C144 ; =ov16_0238CB30 add r2, sp, #0x18 str ip, [sp, #4] bl CreateAdvancedMenu ldr r1, _0238C0CC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc3] _0238C0C4: add sp, sp, #0x128 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0238C0CC: .word ov16_0238CE40 _0238C0D0: .word 0x00000431 _0238C0D4: .word 0x00000432 _0238C0D8: .word EVO_D_BOX_LAYOUT_6 _0238C0DC: .word 0x00300011 _0238C0E0: .word EVO_MAIN_MENU _0238C0E4: .word 0x00000442 _0238C0E8: .word 0x00000449 _0238C0EC: .word EVO_MENU_CONFIRM _0238C0F0: .word 0x00300013 _0238C0F4: .word 0x00000434 _0238C0F8: .word EVO_D_BOX_LAYOUT_5 _0238C0FC: .word EVO_SUBMENU _0238C100: .word 0x00000125 _0238C104: .word 0x0000043E _0238C108: .word 0x0000043A _0238C10C: .word 0x0000043C _0238C110: .word 0x0000140F _0238C114: .word EVOLUTION_HP_BONUS _0238C118: .word 0x000003E7 _0238C11C: .word EVOLUTION_PHYSICAL_STAT_BONUSES _0238C120: .word EVOLUTION_SPECIAL_STAT_BONUSES _0238C124: .word 0x00003F01 _0238C128: .word 0x0000043F _0238C12C: .word 0x0000042D _0238C130: .word 0x00000433 _0238C134: .word 0x00000447 _0238C138: .word 0x00000446 _0238C13C: .word EVO_D_BOX_LAYOUT_4 _0238C140: .word 0x00009813 _0238C144: .word ov16_0238CB30 arm_func_end ov16_0238B148 arm_func_start ov16_0238C148 ov16_0238C148: ; 0x0238C148 stmdb sp!, {r3, lr} ldr r0, _0238C1C8 ; =ov16_0238CE40 ldr r0, [r0] cmp r0, #0 bne _0238C170 mov r0, #0x150 mov r1, #8 bl MemAlloc ldr r1, _0238C1C8 ; =ov16_0238CE40 str r0, [r1] _0238C170: ldr r0, _0238C1C8 ; =ov16_0238CE40 ldr r0, [r0] add r0, r0, #0xe8 bl InitPreprocessorArgs ldr r1, _0238C1C8 ; =ov16_0238CE40 mov r0, #0 ldr r2, [r1] sub r3, r0, #2 str r0, [r2, #0x134] ldr r2, [r1] str r0, [r2, #0xe8] ldr r2, [r1] str r0, [r2, #0xd8] ldr r2, [r1] strb r3, [r2, #0xc1] ldr r2, [r1] strb r3, [r2, #0xc2] ldr r1, [r1] strb r3, [r1, #0xc3] bl ov16_0238A140 mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _0238C1C8: .word ov16_0238CE40 arm_func_end ov16_0238C148 arm_func_start ov16_0238C1CC ov16_0238C1CC: ; 0x0238C1CC stmdb sp!, {r3, lr} ldr r0, _0238C1F4 ; =ov16_0238CE40 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} bl MemFree ldr r0, _0238C1F4 ; =ov16_0238CE40 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0238C1F4: .word ov16_0238CE40 arm_func_end ov16_0238C1CC arm_func_start ov16_0238C1F8 ov16_0238C1F8: ; 0x0238C1F8 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r0, _0238CADC ; =ov16_0238CE40 ldr r3, [r0] ldr r1, [r3, #0xd8] cmp r1, #7 addls pc, pc, r1, lsl #2 b _0238CAD0 _0238C218: ; jump table b _0238C238 ; case 0 b _0238C250 ; case 1 b _0238CA40 ; case 2 b _0238CA5C ; case 3 b _0238CA84 ; case 4 b _0238CAAC ; case 5 b _0238C9EC ; case 6 b _0238CA30 ; case 7 _0238C238: bl ov11_022E6E68 ldr r0, _0238CADC ; =ov16_0238CE40 mov r1, #2 ldr r0, [r0] str r1, [r0, #0xd8] b _0238CAD0 _0238C250: ldr r1, [r3, #0x70] cmp r1, #0x29 addls pc, pc, r1, lsl #2 b _0238C96C _0238C260: ; jump table b _0238C96C ; case 0 b _0238C96C ; case 1 b _0238C96C ; case 2 b _0238C96C ; case 3 b _0238C96C ; case 4 b _0238C874 ; case 5 b _0238C308 ; case 6 b _0238C96C ; case 7 b _0238C690 ; case 8 b _0238C96C ; case 9 b _0238C96C ; case 10 b _0238C380 ; case 11 b _0238C380 ; case 12 b _0238C614 ; case 13 b _0238C56C ; case 14 b _0238C96C ; case 15 b _0238C96C ; case 16 b _0238C690 ; case 17 b _0238C96C ; case 18 b _0238C690 ; case 19 b _0238C96C ; case 20 b _0238C96C ; case 21 b _0238C96C ; case 22 b _0238C96C ; case 23 b _0238C4A4 ; case 24 b _0238C51C ; case 25 b _0238C96C ; case 26 b _0238C690 ; case 27 b _0238C66C ; case 28 b _0238C96C ; case 29 b _0238C96C ; case 30 b _0238C96C ; case 31 b _0238C690 ; case 32 b _0238C96C ; case 33 b _0238C770 ; case 34 b _0238C770 ; case 35 b _0238C7D8 ; case 36 b _0238C7F0 ; case 37 b _0238C854 ; case 38 b _0238C8BC ; case 39 b _0238C96C ; case 40 b _0238C87C ; case 41 _0238C308: ldrsb r0, [r3, #0xc3] bl GetNormalMenuResult cmp r0, #1 ldrne r1, _0238CADC ; =ov16_0238CE40 ldrne r1, [r1] strne r0, [r1, #0x7c] cmp r0, #1 beq _0238C370 cmp r0, #2 beq _0238C360 cmp r0, #3 bne _0238C9B0 bl ov16_0238CAE8 bl ov16_0238CBD0 cmp r0, #0 bne _0238C354 mov r0, #0xf bl ov16_0238A140 b _0238C9B0 _0238C354: mov r0, #0xa bl ov16_0238A140 b _0238C9B0 _0238C360: bl ov16_0238CAE8 mov r0, #3 bl ov16_0238A140 b _0238C9B0 _0238C370: bl ov16_0238CAE8 mov r0, #4 bl ov16_0238A140 b _0238C9B0 _0238C380: bl sub_0203C9E4 bl sub_0203A5A8 cmp r0, #0 beq _0238C408 bl sub_0203A9EC cmp r0, #0 beq _0238C9B0 add r1, sp, #0 mov r0, #0 bl GetPressedButtons ldrh r0, [sp] tst r0, #8 beq _0238C9B0 bl sub_0203AAB0 ldr r1, _0238CADC ; =ov16_0238CE40 mov r0, r0, lsl #0x10 ldr r1, [r1] mov r0, r0, asr #0x10 strh r0, [r1, #0x44] bl ov16_0238CC64 ldr r0, _0238CAE0 ; =0x00003F02 mov r1, #0x100 bl sub_02017C74 bl sub_0203A5F0 ldr r0, _0238CADC ; =ov16_0238CE40 mov r3, #0xa ldr r1, [r0] mov r2, #0xd str r3, [r1, #0x78] ldr r1, [r0] mov r0, #0x19 str r2, [r1, #0x74] bl ov16_0238A140 b _0238C9B0 _0238C408: bl sub_0203AA20 mvn r1, #0 cmp r0, r1 bne _0238C448 bl sub_0203A51C bl sub_0203C874 ldr r0, _0238CADC ; =ov16_0238CE40 mov r3, #0xa ldr r1, [r0] mov r2, #2 str r3, [r1, #0x78] ldr r1, [r0] mov r0, #0x18 str r2, [r1, #0x74] bl ov16_0238A140 b _0238C9B0 _0238C448: ldr r1, _0238CADC ; =ov16_0238CE40 mov r0, r0, lsl #0x10 ldr r1, [r1] mov r0, r0, asr #0x10 strh r0, [r1, #0x44] bl ov16_0238CC64 bl Rand16Bit mov r1, #0x64 bl __divsi3 ldr r0, _0238CADC ; =ov16_0238CE40 ldr r2, [r0] strb r1, [r2, #6] ldr r1, [r0] ldr r0, [r1, #0x3c] add r1, r1, #2 bl GetEvolutionPossibilities ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldrsh r0, [r0, #0x44] bl ov16_0238CC64 mov r0, #0xe bl ov16_0238A140 b _0238C9B0 _0238C4A4: bl sub_0203C9E4 ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldr r0, [r0, #0x78] cmp r0, #5 bne _0238C4C4 bl sub_0203A51C bl sub_0203C874 _0238C4C4: ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldr r0, [r0, #0x78] cmp r0, #0 bne _0238C504 bl sub_0203C8E0 cmp r0, #0 beq _0238C4F0 ldr r0, _0238CAE4 ; =ov16_0238CE04 bl DebugPrint0 b _0238C9B0 _0238C4F0: bl sub_0203C940 ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldr r0, [r0, #0x74] bl ov16_0238A140 _0238C504: ldr r0, _0238CADC ; =ov16_0238CE40 ldr r1, [r0] ldr r0, [r1, #0x78] sub r0, r0, #1 str r0, [r1, #0x78] b _0238C9B0 _0238C51C: bl sub_0203C9E4 ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldr r0, [r0, #0x78] cmp r0, #5 bne _0238C538 bl sub_0203A618 _0238C538: ldr r0, _0238CADC ; =ov16_0238CE40 ldr r1, [r0] ldr r0, [r1, #0x78] cmp r0, #0 bne _0238C554 ldr r0, [r1, #0x74] bl ov16_0238A140 _0238C554: ldr r0, _0238CADC ; =ov16_0238CE40 ldr r1, [r0] ldr r0, [r1, #0x78] sub r0, r0, #1 str r0, [r1, #0x78] b _0238C9B0 _0238C56C: ldrsb r0, [r3, #0xc3] bl GetNormalMenuResult mov r4, r0 bl sub_0203C9E4 cmp r4, #1 beq _0238C5F8 cmp r4, #3 beq _0238C598 cmp r4, #8 beq _0238C5CC b _0238C9B0 _0238C598: bl ov16_0238CAE8 bl sub_0203A51C bl sub_0203C874 ldr r0, _0238CADC ; =ov16_0238CE40 mov r3, #0xa ldr r1, [r0] mov r2, #0x16 str r3, [r1, #0x78] ldr r1, [r0] mov r0, #0x18 str r2, [r1, #0x74] bl ov16_0238A140 b _0238C9B0 _0238C5CC: bl ov16_0238CAE8 ldr r0, _0238CADC ; =ov16_0238CE40 mov r3, #0xa ldr r1, [r0] mov r2, #0xd str r3, [r1, #0x78] ldr r1, [r0] mov r0, #0x19 str r2, [r1, #0x74] bl ov16_0238A140 b _0238C9B0 _0238C5F8: bl ov16_0238CAE8 ldr r0, _0238CADC ; =ov16_0238CE40 mov r1, #0xb ldr r0, [r0] str r1, [r0, #0x70] bl sub_0203A638 b _0238C9B0 _0238C614: bl sub_0203F398 cmp r0, #1 bne _0238C9B0 ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc4] bl sub_0202836C bl sub_0203F990 ldr r0, _0238CADC ; =ov16_0238CE40 mvn r3, #1 ldr r1, [r0] mov r2, #3 strb r3, [r1, #0xc4] ldr r1, [r0] mov r3, #0xc str r2, [r1, #0xe4] ldr r2, [r0] mov r1, #0x1c str r3, [r2, #0x74] ldr r0, [r0] str r1, [r0, #0x70] b _0238C9B0 _0238C66C: ldr r2, [r3, #0xe4] sub r1, r2, #1 str r1, [r3, #0xe4] cmp r2, #0 bne _0238C9B0 ldr r0, [r0] ldr r0, [r0, #0x74] bl ov16_0238A140 b _0238C9B0 _0238C690: ldrsb r0, [r3, #0xc3] bl IsNormalMenuActive cmp r0, #0 bne _0238C9B0 ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc3] bl GetNormalMenuResult ldr r1, _0238CADC ; =ov16_0238CE40 mov r4, r0 ldr r0, [r1] mvn r1, #1 ldrsb r0, [r0, #0xc2] cmp r0, r1 beq _0238C6E0 bl FreePortraitBox ldr r0, _0238CADC ; =ov16_0238CE40 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0xc2] _0238C6E0: cmp r4, #1 beq _0238C730 cmp r4, #6 beq _0238C6FC cmp r4, #7 beq _0238C730 b _0238C9B0 _0238C6FC: bl ov16_0238CAE8 ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl sub_0202F2C4 ldr r0, _0238CADC ; =ov16_0238CE40 mov r3, #0xa ldr r2, [r0] mov r1, #0x1c str r3, [r2, #0xe4] ldr r0, [r0] str r1, [r0, #0x70] b _0238C9B0 _0238C730: bl ov16_0238CAE8 ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl sub_0202F2C4 ldr r0, _0238CADC ; =ov16_0238CE40 mov r3, #0xa ldr r4, [r0] mov r1, #0x1c ldr r2, [r4, #0x78] str r2, [r4, #0x74] ldr r2, [r0] str r3, [r2, #0xe4] ldr r0, [r0] str r1, [r0, #0x70] b _0238C9B0 _0238C770: bl GetKeyboardStatus cmp r0, #3 bne _0238C9B0 bl GetKeyboardStringResult ldr r1, _0238CADC ; =ov16_0238CE40 mov r4, r0 ldr r0, [r1] mov r1, r4 add r0, r0, #0x8d mov r2, #0x10 bl StrncpySimpleNoPadSafe ldr r0, _0238CADC ; =ov16_0238CE40 mov r1, r4 ldr r0, [r0] add r0, r0, #0xa1 bl StrcpySimple ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldr r0, [r0, #0x3c] bl IsMonsterNotNicknamed ldr r1, _0238CADC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0x46] mov r0, #0x24 bl ov16_0238A140 b _0238C9B0 _0238C7D8: bl sub_02037468 cmp r0, #0 beq _0238C9B0 mov r0, #0x25 bl ov16_0238A140 b _0238C9B0 _0238C7F0: bl sub_0203931C cmp r0, #0 bne _0238C830 ldr r0, _0238CADC ; =ov16_0238CE40 mov r3, #4 ldr r1, [r0] mov r2, #0xa str r3, [r1, #0x78] ldr r1, [r0] ldr r0, [r1, #0x3c] add r1, r1, #0xa1 add r0, r0, #0x3a bl StrncpySimple mov r0, #0x26 bl ov16_0238A140 b _0238C9B0 _0238C830: cmp r0, #1 bne _0238C9B0 ldr r0, _0238CADC ; =ov16_0238CE40 mov r2, #0x23 ldr r1, [r0] mov r0, #0x26 str r2, [r1, #0x78] bl ov16_0238A140 b _0238C9B0 _0238C854: bl sub_02039218 cmp r0, #0 beq _0238C9B0 ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldr r0, [r0, #0x78] bl ov16_0238A140 b _0238C9B0 _0238C874: mov r0, #3 b _0238C9B4 _0238C87C: ldrsb r0, [r3, #0xc1] bl IsDBoxActive cmp r0, #0 bne _0238C9B0 ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl ShowDBox ldr r0, _0238CADC ; =ov16_0238CE40 mov r2, #0x2b ldr r1, [r0] str r2, [r1, #0x70] ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl sub_0202F2C4 b _0238C9B0 _0238C8BC: ldrsb r0, [r3, #0xc3] bl IsAdvancedMenuActive cmp r0, #0 bne _0238C9B0 ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc3] bl GetAdvancedMenuResult mov r4, r0 mvn r0, #0 cmp r4, r0 bne _0238C918 ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc3] bl FreeAdvancedMenu ldr r0, _0238CADC ; =ov16_0238CE40 mvn r2, #1 ldr r1, [r0] mov r0, #2 strb r2, [r1, #0xc3] bl ov16_0238A140 b _0238C9B0 _0238C918: ldr r0, _0238CADC ; =ov16_0238CE40 ldr r2, [r0] add r1, r2, r4, lsl #2 ldr r1, [r1, #0x50] str r1, [r2, #0x40] ldr r0, [r0] ldrsb r0, [r0, #0xc3] bl FreeAdvancedMenu ldr r1, _0238CADC ; =ov16_0238CE40 mvn r3, #1 ldr r2, [r1] mov r0, #0x17 strb r3, [r2, #0xc3] ldr r2, [r1] add r1, r2, r4, lsl #2 ldr r1, [r1, #0x50] add r1, r2, r1, lsl #1 ldrsh r1, [r1, #0xc] strh r1, [r2, #0xa] bl ov16_0238A140 b _0238C9B0 _0238C96C: bl ov11_0230D220 cmp r0, #0 bne _0238C9B0 ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl IsDBoxActive cmp r0, #0 bne _0238C9B0 ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl ShowDBox ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldr r0, [r0, #0x74] bl ov16_0238A140 _0238C9B0: mov r0, #0 _0238C9B4: cmp r0, #3 bne _0238CAD0 ldr r0, _0238CADC ; =ov16_0238CE40 mov r2, #6 ldr r1, [r0] str r2, [r1, #0xd8] ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl sub_0202836C ldr r0, _0238CADC ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl sub_0202F2C4 b _0238CAD0 _0238C9EC: mov r1, #7 str r1, [r3, #0xd8] ldr r0, [r0] ldrsb r0, [r0, #0xc1] bl FreeDBox ldr r0, _0238CADC ; =ov16_0238CE40 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #0xc2] cmp r0, r1 beq _0238CAD0 bl FreePortraitBox ldr r0, _0238CADC ; =ov16_0238CE40 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0xc2] b _0238CAD0 _0238CA30: mvn r0, #0 bl ov11_022E6E8C mov r0, #4 b _0238CAD4 _0238CA40: bl ov11_022E6EC8 cmp r0, #0 ldrne r0, _0238CADC ; =ov16_0238CE40 movne r1, #1 ldrne r0, [r0] strne r1, [r0, #0xd8] b _0238CAD0 _0238CA5C: bl ov11_022E6EC8 cmp r0, #0 beq _0238CAD0 mov r0, #3 bl ov11_022E6E8C ldr r0, _0238CADC ; =ov16_0238CE40 mov r1, #2 ldr r0, [r0] str r1, [r0, #0xd8] b _0238CAD0 _0238CA84: bl ov11_022E6EC8 cmp r0, #0 beq _0238CAD0 mov r0, #1 bl ov11_022E6E8C ldr r0, _0238CADC ; =ov16_0238CE40 mov r1, #2 ldr r0, [r0] str r1, [r0, #0xd8] b _0238CAD0 _0238CAAC: bl ov11_022E6EC8 cmp r0, #0 beq _0238CAD0 mov r0, #4 bl ov11_022E6E8C ldr r0, _0238CADC ; =ov16_0238CE40 mov r1, #2 ldr r0, [r0] str r1, [r0, #0xd8] _0238CAD0: mov r0, #1 _0238CAD4: add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 _0238CADC: .word ov16_0238CE40 _0238CAE0: .word 0x00003F02 _0238CAE4: .word ov16_0238CE04 arm_func_end ov16_0238C1F8 arm_func_start ov16_0238CAE8 ov16_0238CAE8: ; 0x0238CAE8 stmdb sp!, {r3, lr} ldr r0, _0238CB2C ; =ov16_0238CE40 mvn r1, #1 ldr r0, [r0] ldrsb r0, [r0, #0xc3] cmp r0, r1 ldmeqia sp!, {r3, pc} bl sub_0202836C ldr r0, _0238CB2C ; =ov16_0238CE40 ldr r0, [r0] ldrsb r0, [r0, #0xc3] bl FreeNormalMenu ldr r0, _0238CB2C ; =ov16_0238CE40 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0xc3] ldmia sp!, {r3, pc} .align 2, 0 _0238CB2C: .word ov16_0238CE40 arm_func_end ov16_0238CAE8 arm_func_start ov16_0238CB30 ov16_0238CB30: ; 0x0238CB30 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x54 ldr r2, _0238CB8C ; =ov16_0238CE40 ldr r3, _0238CB90 ; =0x0000C402 ldr r6, [r2] ldr r2, _0238CB94 ; =ov16_0238CE28 add r5, r6, r1, lsl #2 ldr r1, [r5, #0x50] add ip, sp, #4 add r1, r6, r1, lsl #1 ldrsh lr, [r1, #0xc] mov r1, #0x400 mov r4, r0 str lr, [sp, #4] ldr lr, [r5, #0x50] add lr, r6, lr, lsl #1 ldrsh lr, [lr, #0xc] str lr, [sp, #0x28] str ip, [sp] bl PreprocessString mov r0, r4 add sp, sp, #0x54 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0238CB8C: .word ov16_0238CE40 _0238CB90: .word 0x0000C402 _0238CB94: .word ov16_0238CE28 arm_func_end ov16_0238CB30 arm_func_start ov16_0238CB98 ov16_0238CB98: ; 0x0238CB98 stmdb sp!, {r3, lr} ldr r1, _0238CBCC ; =ov16_0238CE40 mvn r0, #1 ldr r1, [r1] ldrsb r1, [r1, #0xc1] cmp r1, r0 ldmneia sp!, {r3, pc} mov r0, #0 bl CreateDBox ldr r1, _0238CBCC ; =ov16_0238CE40 ldr r1, [r1] strb r0, [r1, #0xc1] ldmia sp!, {r3, pc} .align 2, 0 _0238CBCC: .word ov16_0238CE40 arm_func_end ov16_0238CB98 arm_func_start ov16_0238CBD0 ov16_0238CBD0: ; 0x0238CBD0 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x3c bl sub_02059B08 ldr r1, _0238CC5C ; =TEAM_MEMBER_TABLE_PTR mov r6, #0 ldr r8, [r1] ldr sb, _0238CC60 ; =0x0000022B mov r5, r0 mov r7, r6 add r4, sp, #0 _0238CBF8: mov r0, r7, lsl #0x10 mov r0, r0, asr #0x10 bl IsValidTeamMember cmp r0, #0 beq _0238CC40 cmp r5, #0 bne _0238CC28 mov r0, r7, lsl #0x10 mov r0, r0, asr #0x10 bl IsMainCharacter cmp r0, #0 bne _0238CC40 _0238CC28: mov r0, r8 mov r1, r4 bl GetEvolutionPossibilities ldrsh r0, [sp, #8] cmp r0, #0 addne r6, r6, #1 _0238CC40: add r7, r7, #1 cmp r7, sb add r8, r8, #0x44 blt _0238CBF8 mov r0, r6 add sp, sp, #0x3c ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0238CC5C: .word TEAM_MEMBER_TABLE_PTR _0238CC60: .word 0x0000022B arm_func_end ov16_0238CBD0 arm_func_start ov16_0238CC64 ov16_0238CC64: ; 0x0238CC64 stmdb sp!, {r3, lr} bl GetTeamMember ldr r1, _0238CC90 ; =ov16_0238CE40 ldr r2, [r1] str r0, [r2, #0x3c] ldr r0, [r1] ldr r1, [r0, #0x3c] add r0, r0, #0xb1 add r1, r1, #0x3a bl StrcpySimple ldmia sp!, {r3, pc} .align 2, 0 _0238CC90: .word ov16_0238CE40 arm_func_end ov16_0238CC64 arm_func_start ov16_0238CC94 ov16_0238CC94: ; 0x0238CC94 ldr r0, _0238CCA4 ; =ov16_0238CE40 ldr r0, [r0] ldrsh r0, [r0, #0xdc] bx lr .align 2, 0 _0238CCA4: .word ov16_0238CE40 arm_func_end ov16_0238CC94 arm_func_start ov16_0238CCA8 ov16_0238CCA8: ; 0x0238CCA8 ldr r0, _0238CCB8 ; =ov16_0238CE40 ldr r0, [r0] ldrsh r0, [r0, #0xde] bx lr .align 2, 0 _0238CCB8: .word ov16_0238CE40 arm_func_end ov16_0238CCA8 arm_func_start ov16_0238CCBC ov16_0238CCBC: ; 0x0238CCBC ldr r0, _0238CCD4 ; =ov16_0238CE40 ldr r0, [r0] cmp r0, #0 moveq r0, #0 ldrne r0, [r0, #0xe0] bx lr .align 2, 0 _0238CCD4: .word ov16_0238CE40 arm_func_end ov16_0238CCBC arm_func_start ov16_0238CCD8 ov16_0238CCD8: ; 0x0238CCD8 ldr r0, _0238CCEC ; =ov16_0238CE40 mov r1, #0 ldr r0, [r0] str r1, [r0, #0xe0] bx lr .align 2, 0 _0238CCEC: .word ov16_0238CE40 arm_func_end ov16_0238CCD8 arm_func_start ov16_0238CCF0 ov16_0238CCF0: ; 0x0238CCF0 ldr r0, _0238CD04 ; =ov16_0238CE40 mov r1, #4 ldr r0, [r0] str r1, [r0, #0xd8] bx lr .align 2, 0 _0238CD04: .word ov16_0238CE40 arm_func_end ov16_0238CCF0 ; 0x0238CD08 .global EVO_MENU_CONFIRM EVO_MENU_CONFIRM: .byte 0x2B, 0x04, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global EVO_SUBMENU EVO_SUBMENU: .byte 0x35, 0x04, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x36, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x37, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global EVO_MAIN_MENU EVO_MAIN_MENU: .byte 0x2E, 0x04, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x2F, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x30, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D, 0x04, 0x2E, 0x04, 0x2F, 0x04, 0x30, 0x04 .byte 0x31, 0x04, 0x32, 0x04, 0x33, 0x04, 0x34, 0x04, 0x38, 0x04, 0x39, 0x04, 0x3A, 0x04, 0x3C, 0x04 .byte 0x3D, 0x04, 0x3E, 0x04, 0x3F, 0x04, 0x40, 0x04, 0x41, 0x04, 0x42, 0x04, 0x43, 0x04, 0x44, 0x04 .byte 0x45, 0x04, 0x46, 0x04, 0x47, 0x04, 0x48, 0x04, 0x49, 0x04, 0x3B, 0x04, 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x02, 0x12, 0x10, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x16, 0x0A, 0x08, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global EVO_D_BOX_LAYOUT_4 EVO_D_BOX_LAYOUT_4: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x02, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global EVO_D_BOX_LAYOUT_5 EVO_D_BOX_LAYOUT_5: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x02, 0x0B, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global EVO_D_BOX_LAYOUT_6 EVO_D_BOX_LAYOUT_6: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x02, 0x14, 0x10, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global ov16_0238CE04 ov16_0238CE04: .byte 0x6D, 0x65, 0x6E, 0x75 .byte 0x4D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x6F .byte 0x6F, 0x6B, 0x5F, 0x49, 0x73, 0x42, 0x75, 0x73, 0x79, 0x20, 0x62, 0x75, 0x73, 0x79, 0x0A, 0x00 .global ov16_0238CE28 ov16_0238CE28: .byte 0x5B, 0x6B, 0x69, 0x6E, 0x64, 0x3A, 0x30, 0x5D, 0x00, 0x00, 0x00, 0x00 .data .global ov16_0238CE40 ov16_0238CE40: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00