.include "asm/macros.inc" .include "overlay_24.inc" .text arm_func_start ov24_0238A140 ov24_0238A140: ; 0x0238A140 stmdb sp!, {r3, lr} ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, [r0] ldr r1, [r2] cmp r1, #0x26 addls pc, pc, r1, lsl #2 b _0238A5B8 _0238A15C: ; jump table b _0238A1F8 ; case 0 b _0238A1F8 ; case 1 b _0238A5B8 ; case 2 b _0238A5B8 ; case 3 b _0238A2B4 ; case 4 b _0238A5B8 ; case 5 b _0238A5B8 ; case 6 b _0238A5B8 ; case 7 b _0238A5B8 ; case 8 b _0238A5B8 ; case 9 b _0238A5B8 ; case 10 b _0238A5B8 ; case 11 b _0238A5B8 ; case 12 b _0238A5B8 ; case 13 b _0238A26C ; case 14 b _0238A5B8 ; case 15 b _0238A5B8 ; case 16 b _0238A5B8 ; case 17 b _0238A5B8 ; case 18 b _0238A5B8 ; case 19 b _0238A22C ; case 20 b _0238A5B8 ; case 21 b _0238A5B8 ; case 22 b _0238A518 ; case 23 b _0238A55C ; case 24 b _0238A2C0 ; case 25 b _0238A334 ; case 26 b _0238A5B8 ; case 27 b _0238A5B8 ; case 28 b _0238A26C ; case 29 b _0238A4A8 ; case 30 b _0238A5B8 ; case 31 b _0238A3DC ; case 32 b _0238A3DC ; case 33 b _0238A43C ; case 34 b _0238A488 ; case 35 b _0238A424 ; case 36 b _0238A5B8 ; case 37 b _0238A598 ; case 38 _0238A1F8: add r0, r2, #0x200 ldrsb r0, [r0, #0x8c] bl IsDialogueBoxActive cmp r0, #0 bne _0238A604 mov r0, #0x1a bl ov24_0238A610 ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8c] bl ShowDialogueBox b _0238A604 _0238A22C: bl ov11_02306C9C cmp r0, #3 beq _0238A250 cmp r0, #4 bne _0238A604 bl ov11_02306C64 mov r0, #0x11 bl ov24_0238A610 b _0238A604 _0238A250: bl ov11_02306C64 ldr r1, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r1] str r0, [r1, #0x1e8] mov r0, #0x26 bl ov24_0238A610 b _0238A604 _0238A26C: add r0, r2, #0x200 ldrsb r0, [r0, #0x8f] bl GetSimpleMenuResult__0202B870 cmp r0, #1 beq _0238A2A4 cmp r0, #4 beq _0238A294 cmp r0, #5 beq _0238A2A4 b _0238A604 _0238A294: bl ov24_0238C47C mov r0, #0x13 bl ov24_0238A610 b _0238A604 _0238A2A4: bl ov24_0238C47C mov r0, #0x11 bl ov24_0238A610 b _0238A604 _0238A2B4: bl ov11_022DC504 mov r0, #3 ldmia sp!, {r3, pc} _0238A2C0: bl ov11_0230D220 cmp r0, #0 bne _0238A604 ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8c] bl IsDialogueBoxActive cmp r0, #0 bne _0238A604 ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8c] bl ShowDialogueBox ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0x27 ldr r1, [r0] str r2, [r1] ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8c] bl sub_0202F2C4 ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8d] bl HidePortraitBox b _0238A604 _0238A334: add r0, r2, #0x200 ldrsb r0, [r0, #0x8f] bl GetSimpleMenuResult__0202B870 cmp r0, #1 ldrne r1, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldrne r1, [r1] strne r0, [r1, #0x1c] cmp r0, #1 beq _0238A3CC cmp r0, #6 beq _0238A3BC cmp r0, #7 bne _0238A604 bl ov24_0238C47C bl sub_020107DC cmp r0, #0 beq _0238A38C cmp r0, #1 beq _0238A398 cmp r0, #2 beq _0238A3A4 b _0238A3B0 _0238A38C: mov r0, #9 bl ov24_0238A610 b _0238A604 _0238A398: mov r0, #7 bl ov24_0238A610 b _0238A604 _0238A3A4: mov r0, #6 bl ov24_0238A610 b _0238A604 _0238A3B0: mov r0, #5 bl ov24_0238A610 b _0238A604 _0238A3BC: bl ov24_0238C47C mov r0, #2 bl ov24_0238A610 b _0238A604 _0238A3CC: bl ov24_0238C47C mov r0, #3 bl ov24_0238A610 b _0238A604 _0238A3DC: bl GetKeyboardStatus cmp r0, #3 bne _0238A604 bl GetKeyboardStringResult ldr r2, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, r0 ldr r0, [r2] add r0, r0, #0x42 bl StrcpySimple ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0x10 ldr r1, [r0] add r0, r1, #0x22 add r1, r1, #0x42 bl StrncpySimpleNoPadSafe mov r0, #0x24 bl ov24_0238A610 b _0238A604 _0238A424: bl sub_02037468 cmp r0, #0 beq _0238A604 mov r0, #0x22 bl ov24_0238A610 b _0238A604 _0238A43C: bl sub_0203931C cmp r0, #0 bne _0238A464 ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0x10 ldr r1, [r0] mov r0, #0x23 str r2, [r1, #4] bl ov24_0238A610 b _0238A604 _0238A464: cmp r0, #1 bne _0238A604 ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0x21 ldr r1, [r0] mov r0, #0x23 str r2, [r1, #4] bl ov24_0238A610 b _0238A604 _0238A488: bl sub_02039218 cmp r0, #0 beq _0238A604 ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] ldr r0, [r0, #4] bl ov24_0238A610 b _0238A604 _0238A4A8: ldr r1, [r2, #0xc] add r1, r1, #1 str r1, [r2, #0xc] ldr r1, [r0] ldr r0, [r1, #0xc] cmp r0, #1 beq _0238A4D8 cmp r0, #2 beq _0238A604 cmp r0, #3 beq _0238A4FC b _0238A604 _0238A4D8: add r0, r1, #0x200 ldrsb r0, [r0, #0x8e] bl sub_0202836C ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8e] bl CloseCollectionMenu b _0238A604 _0238A4FC: ldr r0, [r1, #8] bl ov24_0238A610 ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0 ldr r0, [r0] str r1, [r0, #0xc] b _0238A604 _0238A518: add r0, r2, #0x200 ldrsb r0, [r0, #0x8c] bl IsDialogueBoxActive cmp r0, #0 bne _0238A604 ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8c] bl CloseDialogueBox ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mvn r2, #1 ldr r1, [r0] mov r0, #0x18 strb r2, [r1, #0x28c] bl ov24_0238A610 b _0238A604 _0238A55C: bl sub_0203D538 mvn r1, #0 cmp r0, r1 beq _0238A578 cmp r0, #1 beq _0238A588 b _0238A604 _0238A578: bl sub_0203EFD4 mov r0, #4 bl ov24_0238A610 b _0238A604 _0238A588: bl sub_0203EFD4 mov r0, #4 bl ov24_0238A610 b _0238A604 _0238A598: ldr r1, [r2, #0xc] sub r0, r1, #1 str r0, [r2, #0xc] cmp r1, #0 bne _0238A604 mov r0, #0x1f bl ov24_0238A610 b _0238A604 _0238A5B8: bl ov11_0230D220 cmp r0, #0 bne _0238A604 ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8c] bl IsDialogueBoxActive cmp r0, #0 bne _0238A604 ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8c] bl ShowDialogueBox ldr r0, _0238A60C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] ldr r0, [r0, #8] bl ov24_0238A610 _0238A604: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 _0238A60C: .word OVERLAY24_UNKNOWN_POINTER__NA_238C600 arm_func_end ov24_0238A140 arm_func_start ov24_0238A610 ov24_0238A610: ; 0x0238A610 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c ldr r1, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r3, _0238B388 ; =ov24_0238C50A ldr r1, [r1] add r2, sp, #8 str r0, [r1] mov r1, #4 _0238A630: ldrh r0, [r3], #2 subs r1, r1, #1 strh r0, [r2], #2 bne _0238A630 ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] ldr r2, [r1] cmp r2, #0x26 addls pc, pc, r2, lsl #2 b _0238B37C _0238A658: ; jump table b _0238A6F4 ; case 0 b _0238A82C ; case 1 b _0238A890 ; case 2 b _0238A900 ; case 3 b _0238B37C ; case 4 b _0238A964 ; case 5 b _0238A9E0 ; case 6 b _0238AA5C ; case 7 b _0238AAD8 ; case 8 b _0238AB50 ; case 9 b _0238ACE0 ; case 10 b _0238B37C ; case 11 b _0238B37C ; case 12 b _0238B37C ; case 13 b _0238AC80 ; case 14 b _0238B114 ; case 15 b _0238B170 ; case 16 b _0238ABE0 ; case 17 b _0238ABF8 ; case 18 b _0238AE60 ; case 19 b _0238ADB8 ; case 20 b _0238AF00 ; case 21 b _0238AECC ; case 22 b _0238B0A8 ; case 23 b _0238B0CC ; case 24 b _0238B37C ; case 25 b _0238A800 ; case 26 b _0238B37C ; case 27 b _0238B37C ; case 28 b _0238AD90 ; case 29 b _0238B37C ; case 30 b _0238B284 ; case 31 b _0238B2D4 ; case 32 b _0238B310 ; case 33 b _0238B32C ; case 34 b _0238B37C ; case 35 b _0238B37C ; case 36 b _0238B338 ; case 37 b _0238B278 ; case 38 _0238A6F4: mov r0, #0 strb r0, [r1, #0x1f0] bl CreateDialogueBox ldr r2, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #3 ldr r3, [r2] mov r2, #1 strb r0, [r3, #0x28c] mov r0, #0 bl CreatePortraitBox ldr r2, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0x71 ldr r3, [r2] strb r0, [r3, #0x28d] ldr r0, [r2] add r0, r0, #0x294 bl InitPortraitParamsWithMonsterId ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0 ldr r0, [r0] add r0, r0, #0x294 bl SetPortraitLayout ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r3, [r0] ldrb r0, [r3, #0x21] cmp r0, #0 bne _0238A7E4 ldrb r0, [r3, #0x20] ldr r1, _0238B38C ; =0x00003018 cmp r0, #0 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] bne _0238A7B8 ldr r2, _0238B390 ; =0x0000038A add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238A7C4 _0238A7B8: ldr r2, _0238B394 ; =0x0000038B add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox _0238A7C4: ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r3, #4 ldr r2, [r0] mov r1, #0x19 str r3, [r2, #8] ldr r0, [r0] str r1, [r0] b _0238B37C _0238A7E4: add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] ldr r1, _0238B398 ; =0x00003008 ldr r2, _0238B39C ; =0x0000038F add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238A800: ldr r0, _0238B3A0 ; =DAYCARE_WINDOW_PARAMS_4 mov r4, #4 ldr r1, _0238B3A4 ; =0x00300013 ldr r3, _0238B3A8 ; =DAYCARE_MAIN_MENU_ITEMS mov r2, #0 str r4, [sp] bl CreateSimpleMenuFromStringIds ldr r1, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r1] strb r0, [r1, #0x28f] b _0238B37C _0238A82C: bl ov24_0238C47C ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0 ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238B398 ; =0x00003008 ldr r3, [r0] ldr r2, _0238B39C ; =0x0000038F add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238A890: bl ov24_0238C47C ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r3, #1 ldr r1, [r0] mov r2, #0 str r3, [r1, #8] ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238B38C ; =0x00003018 ldr r3, [r0] ldr r2, _0238B3AC ; =0x00000391 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238A900: bl ov24_0238C47C ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #4 ldr r1, [r0] str r2, [r1, #8] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238B38C ; =0x00003018 ldr r3, [r0] #ifdef JAPAN add r2, r1, #0x25c #else mov r2, #0x390 #endif add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238A964: bl ov24_0238C47C ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238B3B0 ; =0x0000220F ldr r1, [r0] mov r3, #8 str r2, [r1, #0x21c] ldr r1, [r0] mov r2, #0 str r3, [r1, #8] ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238B38C ; =0x00003018 ldr r3, [r0] ldr r2, _0238B3B4 ; =0x00000392 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238A9E0: bl ov24_0238C47C ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238B3B0 ; =0x0000220F ldr r1, [r0] mov r3, #8 str r2, [r1, #0x21c] ldr r1, [r0] mov r2, #0 str r3, [r1, #8] ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238B38C ; =0x00003018 ldr r3, [r0] ldr r2, _0238B3B4 ; =0x00000392 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238AA5C: bl ov24_0238C47C ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238B3B0 ; =0x0000220F ldr r1, [r0] mov r3, #8 str r2, [r1, #0x21c] ldr r1, [r0] mov r2, #0 str r3, [r1, #8] ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238B38C ; =0x00003018 ldr r3, [r0] ldr r2, _0238B3B4 ; =0x00000392 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238AAD8: ldr r0, _0238B3B0 ; =0x0000220F bl sub_02017CB4 bl ov24_0238C47C ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r3, #1 ldr r1, [r0] mov r2, #0 str r3, [r1, #8] ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238B38C ; =0x00003018 ldr r3, [r0] #ifdef JAPAN add r2, r1, #0x264 #else mov r2, #0x398 #endif add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238AB50: bl ov24_0238C47C ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0xa ldr r1, [r0] mov r3, #0 str r2, [r1, #8] ldr r1, [r0] ldr r2, _0238B3B0 ; =0x0000220F strb r3, [r1, #0x1f0] ldr r1, [r0] str r2, [r1, #0x21c] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion bl sub_0201077C ldr r1, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r1] str r0, [r1, #0x1f8] bl IncrementNbEggsHatched ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238B38C ; =0x00003018 ldr r3, [r0] ldr r2, _0238B3B8 ; =0x00000393 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238ABE0: mov r2, #0x12 str r2, [r1, #8] ldr r0, [r0] mov r1, #0x14 str r1, [r0, #0x2a4] b _0238B37C _0238ABF8: ldr r2, [r1, #0x2a4] sub r2, r2, #1 str r2, [r1, #0x2a4] ldr r0, [r0] ldr r0, [r0, #0x2a4] cmp r0, #0 bgt _0238B37C mov r0, #3 bl sub_02017C10 cmp r0, #0 bne _0238AC2C mov r0, #3 bl sub_02017C50 _0238AC2C: ldr r1, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #4 ldr r0, [r1] mov r3, #0x1b str r2, [r0, #8] ldr r2, [r1] mov r0, #0 str r3, [r2] ldr r2, [r1] add r1, r2, #0x52 str r1, [r2, #0x230] bl sub_02010794 ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238B3BC ; =0x00000397 ldr r3, [r0] mov r1, #0x1c add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238AC80: mov r2, #0x1b str r2, [r1] ldr r1, [r0] mov r2, #0x1d str r2, [r1, #8] ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8d] bl HidePortraitBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238B3C0 ; =0x00000396 ldr r4, [r0] mov r1, #4 add r3, r4, #0x66 str r3, [r4, #0x230] ldr r4, [r0] ldrsh r3, [r4, #0x14] str r3, [r4, #0x20c] ldr r3, [r0] add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238ACE0: ldr r0, _0238B3B0 ; =0x0000220F bl sub_02017CB4 ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238B3C4 ; =0x00000715 ldr r1, [r0] mov r3, #5 str r2, [r1, #0x21c] ldr r1, [r0] mov r2, #0 str r3, [r1, #0x220] ldr r3, [r0] add r1, r3, #0x52 str r1, [r3, #0x230] ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r3, #0x1b ldr r1, [r0] mov r2, #0xe str r3, [r1] ldr r1, [r0] str r2, [r1, #8] ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238B38C ; =0x00003018 ldr r4, [r0] ldr r2, _0238B3C8 ; =0x00000395 ldrsh r3, [r4, #0x14] str r3, [r4, #0x20c] ldr r3, [r0] add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238AD90: mov r0, #0 ldr r3, _0238B3CC ; =DAYCARE_MENU_ITEMS_CONFIRM mov r2, r0 mov r1, #0x11 str r0, [sp] bl CreateSimpleMenuFromStringIds ldr r1, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r1] strb r0, [r1, #0x28f] b _0238B37C _0238ADB8: add r0, r1, #0x1bc bl sub_0206351C ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0x71 ldr r0, [r0] add r0, r0, #0x100 strh r1, [r0, #0xbc] bl sub_0201077C ldr r2, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r4, #6 ldr r1, [r2] mov r3, #0 add r1, r1, #0x100 strh r0, [r1, #0xe0] ldr r0, [r2] strb r4, [r0, #0x1be] ldr r0, [r2] str r3, [r0, #0x1c4] bl sub_0201077C mov r1, r0 add r0, sp, #8 mov r2, #1 mov r3, #0 bl sub_02053B60 bl sub_0201077C add r2, sp, #8 mov r1, r0 mov r0, #1 str r2, [sp] str r0, [sp, #4] ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r3, _0238B3D0 ; =OVERLAY24_UNKNOWN_STRUCT__NA_238C508 ldr r2, [r0] add r0, r2, #0x248 add r2, r2, #0x42 bl sub_02052F8C ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #1 ldr r0, [r0] add r0, r0, #0x248 bl ov11_023061E4 b _0238B37C _0238AE60: mov r0, #0 bl GetFirstEmptyMemberIdx mvn r1, #0 cmp r0, r1 bne _0238AEB4 ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8c] bl sub_0202F2C4 ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8d] bl HidePortraitBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0x14 ldr r0, [r0] str r1, [r0] bl ov24_0238B3F8 b _0238B37C _0238AEB4: ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0xf ldr r0, [r0] str r1, [r0] bl ov24_0238B3F8 b _0238B37C _0238AECC: mov r2, #0x17 str r2, [r1, #8] ldr r1, [r0] mov r2, #0x1b str r2, [r1] ldr r3, [r0] ldr r1, _0238B38C ; =0x00003018 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] ldr r2, _0238B3D4 ; =0x000003A2 add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238AF00: bl Rand16Bit mov r1, #0x64 bl _s32_div_f ldr r0, _0238B3D8 ; =_020A1868 ldrsh r0, [r0] cmp r1, r0 bge _0238B094 ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] ldrsh r0, [r1, #0x16] cmp r0, #0 moveq r0, #4 streq r0, [r1] beq _0238B37C bl ov24_0238C4CC bl IsBagFull cmp r0, #0 beq _0238AFC0 ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0x16 ldr r1, [r0] mov r3, #0x1b str r2, [r1, #8] ldr r1, [r0] mov r2, #0 str r3, [r1] ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238B38C ; =0x00003018 ldr r3, [r0] ldr r2, _0238B3DC ; =0x000003A1 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238AFC0: ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0 ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238B38C ; =0x00003018 ldr r3, [r0] ldr r2, _0238B3DC ; =0x000003A1 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r3, #0x25 ldr r2, [r0] mov r1, #0 str r3, [r2, #8] ldr r2, [r0] add r0, sp, #0x10 ldrsh r2, [r2, #0x16] strh r2, [sp, #0x10] strh r1, [sp, #0x12] bl SpecialProcAddItemToBag mov r0, #0 strb r0, [sp, #0x14] ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldrsh r2, [sp, #0x10] ldrh r1, [sp, #0x12] ldr r0, [r0] strh r2, [sp, #0x18] add r0, r0, #0x7a strh r1, [sp, #0x16] ldr r2, _0238B3E0 ; =OVERLAY24_UNKNOWN_STRUCT__NA_238C514 add r1, sp, #0x14 add r0, r0, #0x100 bl sub_0200D670 ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x7a add r0, r0, #0x100 str r0, [r1, #0x230] b _0238B37C _0238B094: ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #4 ldr r0, [r0] str r1, [r0] b _0238B37C _0238B0A8: add r0, r1, #0x200 ldrsb r0, [r0, #0x8c] bl sub_0202F2C4 ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8d] bl HidePortraitBox b _0238B37C _0238B0CC: add r0, r1, #0x1bc bl sub_0206351C ldr r3, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #1 ldr r0, [r3] mov r1, #0 str r2, [r0, #0x1c8] ldr r0, [r3] mov r2, r1 str r1, [r0, #0x1e4] ldr r0, [r3] ldrsh r4, [r0, #0x16] add r0, r0, #0x100 strh r4, [r0, #0xd0] ldr r0, [r3] add r0, r0, #0x1bc bl sub_0203D438 b _0238B37C _0238B114: bl sub_0201077C mov r1, r0 add r0, sp, #8 mov r2, #1 mov r3, #0 bl sub_02053B60 bl sub_0201077C mov r2, #1 str r2, [sp] ldr r1, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238B3D0 ; =OVERLAY24_UNKNOWN_STRUCT__NA_238C508 ldr r1, [r1] add r3, sp, #8 add r1, r1, #0x42 bl sub_02055DD0 ldr r1, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0x26 ldr r3, [r1] str r0, [r3, #0x1e8] ldr r0, [r1] str r2, [r0] bl ov24_0238B3F8 b _0238B37C _0238B170: ldr r0, [r1, #0x1e8] add r1, r1, #0x42 add r0, r0, #0x3a mov r2, #0xa bl StrncpySimple ldr r2, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, _0238B3E4 ; =EGG_HP_BONUS ldr r1, [r2] ldrsh r3, [r0] ldr lr, [r1, #0x1e8] ldr r1, _0238B3E8 ; =EGG_STAT_BONUSES ldrsh r4, [lr, #0xa] ldr r0, _0238B3EC ; =_020A18E0 ldrsh ip, [r1] add r3, r4, r3 strh r3, [lr, #0xa] ldr r4, [r2] ldrsh r3, [r1, #2] ldr r4, [r4, #0x1e8] ldrsh r1, [r0] ldrb lr, [r4, #0xc] ldrsh r0, [r0, #2] add ip, lr, ip strb ip, [r4, #0xc] ldr ip, [r2] ldr lr, [ip, #0x1e8] ldrb ip, [lr, #0xd] add r3, ip, r3 strb r3, [lr, #0xd] ldr r3, [r2] ldr ip, [r3, #0x1e8] ldrb r3, [ip, #0xe] add r1, r3, r1 strb r1, [ip, #0xe] ldr r1, [r2] ldr r2, [r1, #0x1e8] ldrb r1, [r2, #0xf] add r0, r1, r0 strb r0, [r2, #0xf] bl sub_0201077C bl SetPokemonJoined ldr r1, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r0, #0 ldr r2, [r1] add r1, r2, #0x22 str r1, [r2, #0x230] bl sub_02010794 mov r3, #0x15 ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0x1b ldr r2, [r0] str r3, [r2, #8] ldr r0, [r0] str r1, [r0] bl ov24_0238C4CC mov r0, #5 bl sub_02017C50 ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0x1c ldr r3, [r0] ldr r2, _0238B3F0 ; =0x00000399 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238B278: mov r0, #0xa str r0, [r1, #0xc] b _0238B37C _0238B284: mov r0, #0x20 str r0, [r1, #8] bl ov11_02310BDC ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8d] bl HidePortraitBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238B3F4 ; =0x000003A3 ldr ip, [r0] mov r1, #0x1c add r3, ip, #0x66 str r3, [ip, #0x230] ldr r3, [r0] add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B37C _0238B2D4: add r0, r1, #0x200 ldrsb r0, [r0, #0x8c] bl CloseDialogueBox ldr r1, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mvn r3, #1 ldr r2, [r1] mov r0, #2 strb r3, [r2, #0x28c] ldr r1, [r1] mov r2, #0 add r3, r1, #0x66 add r1, r1, #0x42 add r3, r3, #0x100 bl ShowKeyboard b _0238B37C _0238B310: add r0, r1, #0x66 add r1, r1, #0x42 add r3, r0, #0x100 mov r0, #2 mov r2, #0 bl ShowKeyboard b _0238B37C _0238B32C: add r0, r1, #0x22 bl sub_0203909C b _0238B37C _0238B338: add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] bl HidePortraitBox mov r0, #4 bl sub_02017C50 ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 #ifdef JAPAN ldr r2, _0238C958 ; =0x00002448 ldr r3, [r0] mov r1, #0x18 #else mov r1, #0x18 ldr r3, [r0] mov r2, #0x274 #endif add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox ldr r0, _0238B384 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #4 ldr r0, [r0] str r1, [r0, #8] _0238B37C: add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 #ifdef JAPAN #define OV24_0238A610_OFFSET 0x2EE4 #else #define OV24_0238A610_OFFSET 0 #endif _0238B384: .word OVERLAY24_UNKNOWN_POINTER__NA_238C600 _0238B388: .word ov24_0238C50A _0238B38C: .word 0x00003018 _0238B390: .word 0x0000038A + OV24_0238A610_OFFSET _0238B394: .word 0x0000038B + OV24_0238A610_OFFSET _0238B398: .word 0x00003008 _0238B39C: .word 0x0000038F + OV24_0238A610_OFFSET _0238B3A0: .word DAYCARE_WINDOW_PARAMS_4 _0238B3A4: .word 0x00300013 _0238B3A8: .word DAYCARE_MAIN_MENU_ITEMS _0238B3AC: .word 0x00000391 + OV24_0238A610_OFFSET _0238B3B0: .word 0x0000220F _0238B3B4: .word 0x00000392 + OV24_0238A610_OFFSET _0238B3B8: .word 0x00000393 + OV24_0238A610_OFFSET _0238B3BC: .word 0x00000397 + OV24_0238A610_OFFSET _0238B3C0: .word 0x00000396 + OV24_0238A610_OFFSET _0238B3C4: .word 0x00000715 _0238B3C8: .word 0x00000395 + OV24_0238A610_OFFSET _0238B3CC: .word DAYCARE_MENU_ITEMS_CONFIRM _0238B3D0: .word OVERLAY24_UNKNOWN_STRUCT__NA_238C508 _0238B3D4: .word 0x000003A2 + OV24_0238A610_OFFSET _0238B3D8: .word _020A1868 _0238B3DC: .word 0x000003A1 + OV24_0238A610_OFFSET _0238B3E0: .word OVERLAY24_UNKNOWN_STRUCT__NA_238C514 _0238B3E4: .word EGG_HP_BONUS _0238B3E8: .word EGG_STAT_BONUSES _0238B3EC: .word _020A18E0 _0238B3F0: .word 0x00000399 + OV24_0238A610_OFFSET _0238B3F4: .word 0x000003A3 + OV24_0238A610_OFFSET #ifdef JAPAN _0238C958: .word 0x00002448 #endif arm_func_end ov24_0238A610 arm_func_start ov24_0238B3F8 ov24_0238B3F8: ; 0x0238B3F8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c ldr r3, _0238C160 ; =ov24_0238C50A add r2, sp, #0x12 mov r1, #4 _0238B40C: ldrh r0, [r3], #2 subs r1, r1, #1 strh r0, [r2], #2 bne _0238B40C ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] ldr r2, [r1] cmp r2, #0x26 addls pc, pc, r2, lsl #2 b _0238C158 _0238B434: ; jump table b _0238B4D0 ; case 0 b _0238B608 ; case 1 b _0238B66C ; case 2 b _0238B6DC ; case 3 b _0238C158 ; case 4 b _0238B740 ; case 5 b _0238B7BC ; case 6 b _0238B838 ; case 7 b _0238B8B4 ; case 8 b _0238B92C ; case 9 b _0238BABC ; case 10 b _0238C158 ; case 11 b _0238C158 ; case 12 b _0238C158 ; case 13 b _0238BA5C ; case 14 b _0238BEF0 ; case 15 b _0238BF4C ; case 16 b _0238B9BC ; case 17 b _0238B9D4 ; case 18 b _0238BC3C ; case 19 b _0238BB94 ; case 20 b _0238BCDC ; case 21 b _0238BCA8 ; case 22 b _0238BE84 ; case 23 b _0238BEA8 ; case 24 b _0238C158 ; case 25 b _0238B5DC ; case 26 b _0238C158 ; case 27 b _0238C158 ; case 28 b _0238BB6C ; case 29 b _0238C158 ; case 30 b _0238C060 ; case 31 b _0238C0B0 ; case 32 b _0238C0EC ; case 33 b _0238C108 ; case 34 b _0238C158 ; case 35 b _0238C158 ; case 36 b _0238C114 ; case 37 b _0238C054 ; case 38 _0238B4D0: mov r0, #0 strb r0, [r1, #0x1f0] bl CreateDialogueBox ldr r2, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #3 ldr r3, [r2] mov r2, #1 strb r0, [r3, #0x28c] mov r0, #0 bl CreatePortraitBox ldr r2, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0x71 ldr r3, [r2] strb r0, [r3, #0x28d] ldr r0, [r2] add r0, r0, #0x294 bl InitPortraitParamsWithMonsterId ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0 ldr r0, [r0] add r0, r0, #0x294 bl SetPortraitLayout ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r3, [r0] ldrb r0, [r3, #0x21] cmp r0, #0 bne _0238B5C0 ldrb r0, [r3, #0x20] ldr r1, _0238C168 ; =0x00003018 cmp r0, #0 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] bne _0238B594 ldr r2, _0238C16C ; =0x0000038A add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238B5A0 _0238B594: ldr r2, _0238C170 ; =0x0000038B add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox _0238B5A0: ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r3, #4 ldr r2, [r0] mov r1, #0x19 str r3, [r2, #8] ldr r0, [r0] str r1, [r0] b _0238C158 _0238B5C0: add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] ldr r1, _0238C174 ; =0x00003008 ldr r2, _0238C178 ; =0x0000038F add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238B5DC: ldr r0, _0238C17C ; =DAYCARE_WINDOW_PARAMS_4 mov r4, #4 ldr r1, _0238C180 ; =0x00300013 ldr r3, _0238C184 ; =DAYCARE_MAIN_MENU_ITEMS mov r2, #0 str r4, [sp] bl CreateSimpleMenuFromStringIds ldr r1, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r1] strb r0, [r1, #0x28f] b _0238C158 _0238B608: bl ov24_0238C47C ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0 ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238C174 ; =0x00003008 ldr r3, [r0] ldr r2, _0238C178 ; =0x0000038F add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238B66C: bl ov24_0238C47C ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r3, #1 ldr r1, [r0] mov r2, #0 str r3, [r1, #8] ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238C168 ; =0x00003018 ldr r3, [r0] ldr r2, _0238C188 ; =0x00000391 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238B6DC: bl ov24_0238C47C ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #4 ldr r1, [r0] str r2, [r1, #8] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238C168 ; =0x00003018 ldr r3, [r0] #ifdef JAPAN add r2, r1, #0x25c #else mov r2, #0x390 #endif add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238B740: bl ov24_0238C47C ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238C18C ; =0x0000220F ldr r1, [r0] mov r3, #8 str r2, [r1, #0x21c] ldr r1, [r0] mov r2, #0 str r3, [r1, #8] ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238C168 ; =0x00003018 ldr r3, [r0] ldr r2, _0238C190 ; =0x00000392 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238B7BC: bl ov24_0238C47C ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238C18C ; =0x0000220F ldr r1, [r0] mov r3, #8 str r2, [r1, #0x21c] ldr r1, [r0] mov r2, #0 str r3, [r1, #8] ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238C168 ; =0x00003018 ldr r3, [r0] ldr r2, _0238C190 ; =0x00000392 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238B838: bl ov24_0238C47C ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238C18C ; =0x0000220F ldr r1, [r0] mov r3, #8 str r2, [r1, #0x21c] ldr r1, [r0] mov r2, #0 str r3, [r1, #8] ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238C168 ; =0x00003018 ldr r3, [r0] ldr r2, _0238C190 ; =0x00000392 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238B8B4: ldr r0, _0238C18C ; =0x0000220F bl sub_02017CB4 bl ov24_0238C47C ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r3, #1 ldr r1, [r0] mov r2, #0 str r3, [r1, #8] ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238C168 ; =0x00003018 ldr r3, [r0] #ifdef JAPAN add r2, r1, #0x264 #else mov r2, #0x398 #endif add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238B92C: bl ov24_0238C47C ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0xa ldr r1, [r0] mov r3, #0 str r2, [r1, #8] ldr r1, [r0] ldr r2, _0238C18C ; =0x0000220F strb r3, [r1, #0x1f0] ldr r1, [r0] str r2, [r1, #0x21c] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion bl sub_0201077C ldr r1, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r1] str r0, [r1, #0x1f8] bl IncrementNbEggsHatched ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238C168 ; =0x00003018 ldr r3, [r0] ldr r2, _0238C194 ; =0x00000393 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238B9BC: mov r2, #0x12 str r2, [r1, #8] ldr r0, [r0] mov r1, #0x14 str r1, [r0, #0x2a4] b _0238C158 _0238B9D4: ldr r2, [r1, #0x2a4] sub r2, r2, #1 str r2, [r1, #0x2a4] ldr r0, [r0] ldr r0, [r0, #0x2a4] cmp r0, #0 bgt _0238C158 mov r0, #3 bl sub_02017C10 cmp r0, #0 bne _0238BA08 mov r0, #3 bl sub_02017C50 _0238BA08: ldr r1, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #4 ldr r0, [r1] mov r3, #0x1b str r2, [r0, #8] ldr r2, [r1] mov r0, #0 str r3, [r2] ldr r2, [r1] add r1, r2, #0x52 str r1, [r2, #0x230] bl sub_02010794 ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238C198 ; =0x00000397 ldr r3, [r0] mov r1, #0x1c add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238BA5C: mov r2, #0x1b str r2, [r1] ldr r1, [r0] mov r2, #0x1d str r2, [r1, #8] ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8d] bl HidePortraitBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238C19C ; =0x00000396 ldr r4, [r0] mov r1, #4 add r3, r4, #0x66 str r3, [r4, #0x230] ldr r4, [r0] ldrsh r3, [r4, #0x14] str r3, [r4, #0x20c] ldr r3, [r0] add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238BABC: ldr r0, _0238C18C ; =0x0000220F bl sub_02017CB4 ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238C1A0 ; =0x00000715 ldr r1, [r0] mov r3, #5 str r2, [r1, #0x21c] ldr r1, [r0] mov r2, #0 str r3, [r1, #0x220] ldr r3, [r0] add r1, r3, #0x52 str r1, [r3, #0x230] ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r3, #0x1b ldr r1, [r0] mov r2, #0xe str r3, [r1] ldr r1, [r0] str r2, [r1, #8] ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238C168 ; =0x00003018 ldr r4, [r0] ldr r2, _0238C1A4 ; =0x00000395 ldrsh r3, [r4, #0x14] str r3, [r4, #0x20c] ldr r3, [r0] add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238BB6C: mov r0, #0 ldr r3, _0238C1A8 ; =DAYCARE_MENU_ITEMS_CONFIRM mov r2, r0 mov r1, #0x11 str r0, [sp] bl CreateSimpleMenuFromStringIds ldr r1, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r1] strb r0, [r1, #0x28f] b _0238C158 _0238BB94: add r0, r1, #0x1bc bl sub_0206351C ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0x71 ldr r0, [r0] add r0, r0, #0x100 strh r1, [r0, #0xbc] bl sub_0201077C ldr r2, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r4, #6 ldr r1, [r2] mov r3, #0 add r1, r1, #0x100 strh r0, [r1, #0xe0] ldr r0, [r2] strb r4, [r0, #0x1be] ldr r0, [r2] str r3, [r0, #0x1c4] bl sub_0201077C mov r1, r0 add r0, sp, #0x12 mov r2, #1 mov r3, #0 bl sub_02053B60 bl sub_0201077C add r2, sp, #0x12 mov r1, r0 mov r0, #1 str r2, [sp] str r0, [sp, #4] ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r3, _0238C1AC ; =OVERLAY24_UNKNOWN_STRUCT__NA_238C508 ldr r2, [r0] add r0, r2, #0x248 add r2, r2, #0x42 bl sub_02052F8C ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #1 ldr r0, [r0] add r0, r0, #0x248 bl ov11_023061E4 b _0238C158 _0238BC3C: mov r0, #0 bl GetFirstEmptyMemberIdx mvn r1, #0 cmp r0, r1 bne _0238BC90 ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8c] bl sub_0202F2C4 ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8d] bl HidePortraitBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0x14 ldr r0, [r0] str r1, [r0] bl ov24_0238B3F8 b _0238C158 _0238BC90: ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0xf ldr r0, [r0] str r1, [r0] bl ov24_0238B3F8 b _0238C158 _0238BCA8: mov r2, #0x17 str r2, [r1, #8] ldr r1, [r0] mov r2, #0x1b str r2, [r1] ldr r3, [r0] ldr r1, _0238C168 ; =0x00003018 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] ldr r2, _0238C1B0 ; =0x000003A2 add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238BCDC: bl Rand16Bit mov r1, #0x64 bl _s32_div_f ldr r0, _0238C1B4 ; =_020A1868 ldrsh r0, [r0] cmp r1, r0 bge _0238BE70 ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] ldrsh r0, [r1, #0x16] cmp r0, #0 moveq r0, #4 streq r0, [r1] beq _0238C158 bl ov24_0238C4CC bl IsBagFull cmp r0, #0 beq _0238BD9C ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0x16 ldr r1, [r0] mov r3, #0x1b str r2, [r1, #8] ldr r1, [r0] mov r2, #0 str r3, [r1] ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238C168 ; =0x00003018 ldr r3, [r0] ldr r2, _0238C1B8 ; =0x000003A1 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238BD9C: ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0 ldr r1, [r0] strb r2, [r1, #0x1f0] ldr r2, [r0] add r0, r2, #0x100 ldrsb r1, [r0, #0xf0] add r0, r2, #0x294 bl SetPortraitEmotion ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] add r1, r1, #0x294 bl ShowPortraitInPortraitBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, _0238C168 ; =0x00003018 ldr r3, [r0] ldr r2, _0238C1B8 ; =0x000003A1 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r3, #0x25 ldr r2, [r0] mov r1, #0 str r3, [r2, #8] ldr r2, [r0] add r0, sp, #0xe ldrsh r2, [r2, #0x16] strh r2, [sp, #0xe] strh r1, [sp, #0x10] bl SpecialProcAddItemToBag mov r0, #0 strb r0, [sp, #8] ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldrsh r2, [sp, #0xe] ldrh r1, [sp, #0x10] ldr r0, [r0] strh r2, [sp, #0xc] add r0, r0, #0x7a strh r1, [sp, #0xa] ldr r2, _0238C1BC ; =OVERLAY24_UNKNOWN_STRUCT__NA_238C514 add r1, sp, #8 add r0, r0, #0x100 bl sub_0200D670 ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x7a add r0, r0, #0x100 str r0, [r1, #0x230] b _0238C158 _0238BE70: ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #4 ldr r0, [r0] str r1, [r0] b _0238C158 _0238BE84: add r0, r1, #0x200 ldrsb r0, [r0, #0x8c] bl sub_0202F2C4 ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8d] bl HidePortraitBox b _0238C158 _0238BEA8: add r0, r1, #0x1bc bl sub_0206351C ldr r3, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #1 ldr r0, [r3] mov r1, #0 str r2, [r0, #0x1c8] ldr r0, [r3] mov r2, r1 str r1, [r0, #0x1e4] ldr r0, [r3] ldrsh r4, [r0, #0x16] add r0, r0, #0x100 strh r4, [r0, #0xd0] ldr r0, [r3] add r0, r0, #0x1bc bl sub_0203D438 b _0238C158 _0238BEF0: bl sub_0201077C mov r1, r0 add r0, sp, #0x12 mov r2, #1 mov r3, #0 bl sub_02053B60 bl sub_0201077C mov r2, #1 str r2, [sp] ldr r1, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238C1AC ; =OVERLAY24_UNKNOWN_STRUCT__NA_238C508 ldr r1, [r1] add r3, sp, #0x12 add r1, r1, #0x42 bl sub_02055DD0 ldr r1, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0x26 ldr r3, [r1] str r0, [r3, #0x1e8] ldr r0, [r1] str r2, [r0] bl ov24_0238B3F8 b _0238C158 _0238BF4C: ldr r0, [r1, #0x1e8] add r1, r1, #0x42 add r0, r0, #0x3a mov r2, #0xa bl StrncpySimple ldr r2, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, _0238C1C0 ; =EGG_HP_BONUS ldr r1, [r2] ldrsh r3, [r0] ldr lr, [r1, #0x1e8] ldr r1, _0238C1C4 ; =EGG_STAT_BONUSES ldrsh r4, [lr, #0xa] ldr r0, _0238C1C8 ; =_020A18E0 ldrsh ip, [r1] add r3, r4, r3 strh r3, [lr, #0xa] ldr r4, [r2] ldrsh r3, [r1, #2] ldr r4, [r4, #0x1e8] ldrsh r1, [r0] ldrb lr, [r4, #0xc] ldrsh r0, [r0, #2] add ip, lr, ip strb ip, [r4, #0xc] ldr ip, [r2] ldr lr, [ip, #0x1e8] ldrb ip, [lr, #0xd] add r3, ip, r3 strb r3, [lr, #0xd] ldr r3, [r2] ldr ip, [r3, #0x1e8] ldrb r3, [ip, #0xe] add r1, r3, r1 strb r1, [ip, #0xe] ldr r1, [r2] ldr r2, [r1, #0x1e8] ldrb r1, [r2, #0xf] add r0, r1, r0 strb r0, [r2, #0xf] bl sub_0201077C bl SetPokemonJoined ldr r1, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r0, #0 ldr r2, [r1] add r1, r2, #0x22 str r1, [r2, #0x230] bl sub_02010794 mov r3, #0x15 ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0x1b ldr r2, [r0] str r3, [r2, #8] ldr r0, [r0] str r1, [r0] bl ov24_0238C4CC mov r0, #5 bl sub_02017C50 ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0x1c ldr r3, [r0] ldr r2, _0238C1CC ; =0x00000399 add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238C054: mov r0, #0xa str r0, [r1, #0xc] b _0238C158 _0238C060: mov r0, #0x20 str r0, [r1, #8] bl ov11_02310BDC ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8d] bl HidePortraitBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, _0238C1D0 ; =0x000003A3 ldr ip, [r0] mov r1, #0x1c add r3, ip, #0x66 str r3, [ip, #0x230] ldr r3, [r0] add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox b _0238C158 _0238C0B0: add r0, r1, #0x200 ldrsb r0, [r0, #0x8c] bl CloseDialogueBox ldr r1, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mvn r3, #1 ldr r2, [r1] mov r0, #2 strb r3, [r2, #0x28c] ldr r1, [r1] mov r2, #0 add r3, r1, #0x66 add r1, r1, #0x42 add r3, r3, #0x100 bl ShowKeyboard b _0238C158 _0238C0EC: add r0, r1, #0x66 add r1, r1, #0x42 add r3, r0, #0x100 mov r0, #2 mov r2, #0 bl ShowKeyboard b _0238C158 _0238C108: add r0, r1, #0x22 bl sub_0203909C b _0238C158 _0238C114: add r0, r1, #0x200 ldrsb r0, [r0, #0x8d] bl HidePortraitBox mov r0, #4 bl sub_02017C50 ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 #ifdef JAPAN ldr r2, _0238D738 ; =0x00002448 ldr r3, [r0] mov r1, #0x18 #else mov r1, #0x18 ldr r3, [r0] mov r2, #0x274 #endif add r0, r3, #0x200 ldrsb r0, [r0, #0x8c] add r3, r3, #0x1f8 bl ShowStringIdInDialogueBox ldr r0, _0238C164 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #4 ldr r0, [r0] str r1, [r0, #8] _0238C158: add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 #ifdef JAPAN #define OV24_0238B3F8_OFFSET 0x2EE4 #else #define OV24_0238B3F8_OFFSET 0 #endif _0238C160: .word ov24_0238C50A _0238C164: .word OVERLAY24_UNKNOWN_POINTER__NA_238C600 _0238C168: .word 0x00003018 _0238C16C: .word 0x0000038A + OV24_0238B3F8_OFFSET _0238C170: .word 0x0000038B + OV24_0238B3F8_OFFSET _0238C174: .word 0x00003008 _0238C178: .word 0x0000038F + OV24_0238B3F8_OFFSET _0238C17C: .word DAYCARE_WINDOW_PARAMS_4 _0238C180: .word 0x00300013 _0238C184: .word DAYCARE_MAIN_MENU_ITEMS _0238C188: .word 0x00000391 + OV24_0238B3F8_OFFSET _0238C18C: .word 0x0000220F _0238C190: .word 0x00000392 + OV24_0238B3F8_OFFSET _0238C194: .word 0x00000393 + OV24_0238B3F8_OFFSET _0238C198: .word 0x00000397 + OV24_0238B3F8_OFFSET _0238C19C: .word 0x00000396 + OV24_0238B3F8_OFFSET _0238C1A0: .word 0x00000715 _0238C1A4: .word 0x00000395 + OV24_0238B3F8_OFFSET _0238C1A8: .word DAYCARE_MENU_ITEMS_CONFIRM _0238C1AC: .word OVERLAY24_UNKNOWN_STRUCT__NA_238C508 _0238C1B0: .word 0x000003A2 + OV24_0238B3F8_OFFSET _0238C1B4: .word _020A1868 _0238C1B8: .word 0x000003A1 + OV24_0238B3F8_OFFSET _0238C1BC: .word OVERLAY24_UNKNOWN_STRUCT__NA_238C514 _0238C1C0: .word EGG_HP_BONUS _0238C1C4: .word EGG_STAT_BONUSES _0238C1C8: .word _020A18E0 _0238C1CC: .word 0x00000399 + OV24_0238B3F8_OFFSET _0238C1D0: .word 0x000003A3 + OV24_0238B3F8_OFFSET #ifdef JAPAN _0238D738: .word 0x00002448 #endif arm_func_end ov24_0238B3F8 arm_func_start ov24_0238C1D4 ov24_0238C1D4: ; 0x0238C1D4 stmdb sp!, {r3, lr} mov r0, #0x2a8 mov r1, #6 bl MemAlloc ldr r1, _0238C33C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r3, #0 str r0, [r1] str r3, [r0, #0x1c] ldr r0, [r1] sub r2, r3, #2 str r3, [r0, #0x1f4] ldr r0, [r1] strb r2, [r0, #0x28c] ldr r0, [r1] strb r2, [r0, #0x28d] bl sub_0201077C ldr r2, _0238C33C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, r0 ldr r0, [r2] add r0, r0, #0x52 bl GetNameRaw ldr r0, _0238C33C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x66 add r0, r0, #0x100 add r1, r1, #0x52 #ifdef JAPAN bl sub_02025304_JP #else bl StrcpyName #endif ldr r0, _0238C33C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x22 add r1, r1, #0x52 bl strcpy ldr r0, _0238C33C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r0] add r0, r1, #0x42 add r1, r1, #0x66 add r1, r1, #0x100 bl StrcpySimple bl sub_0201077C mov r1, r0 ldr r0, _0238C33C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0x4e ldr r0, [r0] add r0, r0, #0x66 bl GetNameWithGender ldr r0, _0238C33C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x1f8 bl InitPreprocessorArgs mov r3, #0x71 ldr r0, _0238C33C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0 ldr r1, [r0] str r3, [r1, #0x244] ldr r1, [r0] str r3, [r1, #0x1f8] ldr r1, [r0] str r2, [r1, #0xc] ldr r0, [r0] str r2, [r0, #0x2a4] bl sub_0201077C cmp r0, #0 bne _0238C2FC mov r0, #8 bl GetAdventureLogCompleted ldr r1, _0238C33C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #0 ldr r3, [r1] strb r0, [r3, #0x20] ldr r1, [r1] mov r0, #1 strb r2, [r1, #0x21] bl sub_020107C4 b _0238C32C _0238C2FC: bl sub_020107AC ldr r1, _0238C33C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r2, #1 ldr r3, [r1] strb r0, [r3, #0x20] ldr r0, [r1] strb r2, [r0, #0x21] bl sub_0201077C bl ReturnEggExclusiveItem ldr r1, _0238C33C ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r1] strh r0, [r1, #0x16] _0238C32C: mov r0, #0 bl ov24_0238A610 mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _0238C33C: .word OVERLAY24_UNKNOWN_POINTER__NA_238C600 arm_func_end ov24_0238C1D4 arm_func_start ov24_0238C340 ov24_0238C340: ; 0x0238C340 stmdb sp!, {r3, lr} ldr r0, _0238C368 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} bl MemFree ldr r0, _0238C368 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 _0238C368: .word OVERLAY24_UNKNOWN_POINTER__NA_238C600 arm_func_end ov24_0238C340 arm_func_start ov24_0238C36C ov24_0238C36C: ; 0x0238C36C stmdb sp!, {r3, lr} ldr r0, _0238C478 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r2, [r0] ldr r1, [r2, #0x1f4] cmp r1, #3 addls pc, pc, r1, lsl #2 b _0238C470 _0238C388: ; jump table b _0238C398 ; case 0 b _0238C3A4 ; case 1 b _0238C408 ; case 2 b _0238C464 ; case 3 _0238C398: mov r0, #1 str r0, [r2, #0x1f4] b _0238C470 _0238C3A4: bl ov24_0238A140 cmp r0, #3 bne _0238C470 ldr r0, _0238C478 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mov r3, #2 ldr r2, [r0] sub r1, r3, #4 str r3, [r2, #0x1f4] ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8c] cmp r0, r1 beq _0238C3F0 bl sub_0202F2C4 ldr r0, _0238C478 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8c] bl sub_0202836C _0238C3F0: ldr r0, _0238C478 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8d] bl HidePortraitBox b _0238C470 _0238C408: mov r1, #3 str r1, [r2, #0x1f4] ldr r0, [r0] sub r1, r1, #5 add r0, r0, #0x200 ldrsb r0, [r0, #0x8c] cmp r0, r1 beq _0238C43C bl CloseDialogueBox ldr r0, _0238C478 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0x28c] _0238C43C: ldr r0, _0238C478 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8d] bl ClosePortraitBox ldr r0, _0238C478 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0x28d] b _0238C470 _0238C464: bl ov11_022E6E68 mov r0, #4 ldmia sp!, {r3, pc} _0238C470: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 _0238C478: .word OVERLAY24_UNKNOWN_POINTER__NA_238C600 arm_func_end ov24_0238C36C arm_func_start ov24_0238C47C ov24_0238C47C: ; 0x0238C47C stmdb sp!, {r3, lr} ldr r0, _0238C4C8 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mvn r1, #1 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8f] cmp r0, r1 ldmeqia sp!, {r3, pc} bl sub_0202836C ldr r0, _0238C4C8 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8f] bl CloseSimpleMenu ldr r0, _0238C4C8 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mvn r1, #1 ldr r0, [r0] strb r1, [r0, #0x28f] ldmia sp!, {r3, pc} .align 2, 0 _0238C4C8: .word OVERLAY24_UNKNOWN_POINTER__NA_238C600 arm_func_end ov24_0238C47C arm_func_start ov24_0238C4CC ov24_0238C4CC: ; 0x0238C4CC stmdb sp!, {r3, lr} ldr r0, _0238C504 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 mvn r1, #1 ldr r0, [r0] add r0, r0, #0x200 ldrsb r0, [r0, #0x8c] cmp r0, r1 ldmneia sp!, {r3, pc} mov r0, #0 bl CreateDialogueBox ldr r1, _0238C504 ; =OVERLAY24_UNKNOWN_POINTER__NA_238C600 ldr r1, [r1] strb r0, [r1, #0x28c] ldmia sp!, {r3, pc} .align 2, 0 _0238C504: .word OVERLAY24_UNKNOWN_POINTER__NA_238C600 arm_func_end ov24_0238C4CC ; 0x0238C508 .rodata .global OVERLAY24_UNKNOWN_STRUCT__NA_238C508 OVERLAY24_UNKNOWN_STRUCT__NA_238C508: .byte 0xF8, 0x00 .global ov24_0238C50A ov24_0238C50A: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global OVERLAY24_UNKNOWN_STRUCT__NA_238C514 OVERLAY24_UNKNOWN_STRUCT__NA_238C514: .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global DAYCARE_MENU_ITEMS_CONFIRM DAYCARE_MENU_ITEMS_CONFIRM: #ifdef JAPAN #define OV24_DATA_OFFSET 0x2EE4 #else #define OV24_DATA_OFFSET 0 #endif .word 0x386 + OV24_DATA_OFFSET .byte 0x04, 0x00, 0x00, 0x00 .word 0x387 + OV24_DATA_OFFSET .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .global DAYCARE_MAIN_MENU_ITEMS DAYCARE_MAIN_MENU_ITEMS: .word 0x38C + OV24_DATA_OFFSET .byte 0x07, 0x00, 0x00, 0x00 .word 0x38D + OV24_DATA_OFFSET .byte 0x06, 0x00, 0x00, 0x00 .word 0x38E + OV24_DATA_OFFSET .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .hword 0x38A + OV24_DATA_OFFSET, 0x38B + OV24_DATA_OFFSET, 0x38C + OV24_DATA_OFFSET, 0x38D + OV24_DATA_OFFSET, 0x38E + OV24_DATA_OFFSET, 0x38F + OV24_DATA_OFFSET, 0x390 + OV24_DATA_OFFSET, 0x391 + OV24_DATA_OFFSET .hword 0x392 + OV24_DATA_OFFSET, 0x393 + OV24_DATA_OFFSET, 0x394 + OV24_DATA_OFFSET, 0x395 + OV24_DATA_OFFSET, 0x396 + OV24_DATA_OFFSET, 0x397 + OV24_DATA_OFFSET, 0x398 + OV24_DATA_OFFSET, 0x399 + OV24_DATA_OFFSET .hword 0x39A + OV24_DATA_OFFSET, 0x39B + OV24_DATA_OFFSET, 0x39C + OV24_DATA_OFFSET, 0x39D + OV24_DATA_OFFSET, 0x39E + OV24_DATA_OFFSET, 0x39F + OV24_DATA_OFFSET, 0x3A0 + OV24_DATA_OFFSET, 0x3A1 + OV24_DATA_OFFSET .hword 0x3A2 + OV24_DATA_OFFSET, 0x3A3 + OV24_DATA_OFFSET, 0x3A4 + OV24_DATA_OFFSET, 0x3A5 + OV24_DATA_OFFSET .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x12, 0x10 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x0A, 0x08, 0x03 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x0F, 0x08, 0x03 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global DAYCARE_WINDOW_PARAMS_4 DAYCARE_WINDOW_PARAMS_4: .byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x00, 0x00 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x02, 0x08, 0x04 .byte 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .data .global OVERLAY24_UNKNOWN_POINTER__NA_238C600 OVERLAY24_UNKNOWN_POINTER__NA_238C600: .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00