pmd-sky/asm/overlay_22.s
2025-10-22 21:15:44 -04:00

5414 lines
123 KiB
ArmAsm

.include "asm/macros.inc"
.include "overlay_22.inc"
.text
arm_func_start ov22_0238A140
ov22_0238A140: ; 0x0238A140
stmdb sp!, {r3, lr}
bl ov22_0238A320
bl ov22_0238A150
ldmia sp!, {r3, pc}
arm_func_end ov22_0238A140
arm_func_start ov22_0238A150
ov22_0238A150: ; 0x0238A150
stmdb sp!, {lr}
sub sp, sp, #0xc
ldr r0, _0238A210 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
ldr r2, _0238A214 ; =0x0000032D
ldr r1, [r0, #4]
mov r3, #0x10
strh r2, [r1, #8]
ldr r1, [r0, #4]
mov r2, #0xd
str r3, [r1, #0xc]
ldr r1, [r0, #4]
mov r0, #0x12
str r2, [r1, #4]
bl Arm9LoadUnkFieldNa0x2029EC8
ldr r2, _0238A210 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
ldr r1, _0238A218 ; =ov22_0238A67C
ldr ip, [r2, #4]
mov r3, #8
str r0, [ip]
str r1, [sp]
ldr r1, [r2, #4]
ldr r0, _0238A21C ; =SHOP_WINDOW_PARAMS_1
ldr ip, [r1, #0x9c]
ldr r1, _0238A220 ; =0x00401C33
str ip, [sp, #4]
str r3, [sp, #8]
ldr r2, [r2, #4]
ldr r3, _0238A224 ; =ov22_0238A640
bl CreateCollectionMenu
ldr r2, _0238A210 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
mov r1, #0x76
ldr r3, [r2, #4]
strb r0, [r3, #0x98]
ldr r0, [r2, #4]
ldrsb r0, [r0, #0x98]
bl SetCollectionMenuWidth
ldr r0, _0238A210 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
ldr r1, _0238A228 ; =ov22_0238A774
ldr r0, [r0, #4]
ldrsb r0, [r0, #0x98]
bl SetCollectionMenuVoidFn
mov r0, #0
bl sub_0204440C
ldr r0, _0238A210 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
ldr r0, [r0, #4]
ldrsb r0, [r0, #0x98]
add sp, sp, #0xc
ldmia sp!, {pc}
.align 2, 0
_0238A210: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC60
#ifdef JAPAN
_0238A214: .word 0x000031F2
#else
_0238A214: .word 0x0000032D
#endif
_0238A218: .word ov22_0238A67C
_0238A21C: .word SHOP_WINDOW_PARAMS_1
_0238A220: .word 0x00401C33
_0238A224: .word ov22_0238A640
_0238A228: .word ov22_0238A774
arm_func_end ov22_0238A150
arm_func_start ov22_0238A22C
ov22_0238A22C: ; 0x0238A22C
bx lr
arm_func_end ov22_0238A22C
arm_func_start ov22_0238A230
ov22_0238A230: ; 0x0238A230
stmdb sp!, {r3, lr}
ldr r0, _0238A2A8 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
ldr r0, [r0, #4]
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, pc}
ldrsb r0, [r0, #0x98]
bl IsCollectionMenuActive
cmp r0, #0
bne _0238A284
ldr r0, _0238A2A8 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
ldr r0, [r0, #4]
ldrsb r0, [r0, #0x98]
bl sub_0202C75C
mvn r1, #0
cmp r0, r1
ldrne r1, _0238A2A8 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
moveq r0, #2
strneh r0, [r1]
movne r0, #3
ldmia sp!, {r3, pc}
_0238A284:
ldr r0, _0238A2A8 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
ldr r0, [r0, #4]
ldrsb r0, [r0, #0x98]
bl sub_0202C748
and r1, r0, #0xff
mov r0, #0x12
bl Arm9StoreUnkFieldNa0x2029ED8
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
_0238A2A8: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC60
arm_func_end ov22_0238A230
arm_func_start ov22_0238A2AC
ov22_0238A2AC: ; 0x0238A2AC
ldr r0, _0238A2BC ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
ldrsh r0, [r0]
and r0, r0, #0xff
bx lr
.align 2, 0
_0238A2BC: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC60
arm_func_end ov22_0238A2AC
arm_func_start ov22_0238A2C0
ov22_0238A2C0: ; 0x0238A2C0
stmdb sp!, {r3, lr}
mov r0, #0x398
mov r1, #8
bl MemAlloc
ldr r1, _0238A2F0 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
str r0, [r1, #4]
bl ov22_0238A320
ldr r0, _0238A2F0 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
mvn r1, #1
ldr r0, [r0, #4]
strb r1, [r0, #0x98]
ldmia sp!, {r3, pc}
.align 2, 0
_0238A2F0: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC60
arm_func_end ov22_0238A2C0
arm_func_start ov22_0238A2F4
ov22_0238A2F4: ; 0x0238A2F4
stmdb sp!, {r3, lr}
ldr r0, _0238A31C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
ldr r0, [r0, #4]
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl MemFree
ldr r0, _0238A31C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
mov r1, #0
str r1, [r0, #4]
ldmia sp!, {r3, pc}
.align 2, 0
_0238A31C: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC60
arm_func_end ov22_0238A2F4
arm_func_start ov22_0238A320
ov22_0238A320: ; 0x0238A320
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x64
mov r3, #0
ldr r0, _0238A4C0 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
mov r2, r3
_0238A334:
ldr r1, [r0, #4]
add r1, r1, r3
add r3, r3, #1
strb r2, [r1, #0x390]
cmp r3, #8
blt _0238A334
bl sub_02010830
mov sl, #0
ldr r4, _0238A4C0 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
mov r8, #3
ldr r1, [r4, #4]
mov r7, #1
str r0, [r1, #0x9c]
mov r6, sl
mov r5, #0x6a
mov fp, sl
b _0238A488
_0238A378:
and r0, sl, #0xff
bl sub_02010898
ldrsh r1, [r0]
strh r1, [sp, #4]
ldrh r1, [r0, #2]
add r0, sp, #0
strh r1, [sp, #2]
strb r8, [sp]
str r7, [sp, #8]
strb r6, [sp, #0xc]
strh r5, [sp, #0xe]
strb r7, [sp, #0x10]
bl GetActualBuyPrice
ldr r1, [r4, #4]
add r1, r1, sl, lsl #2
str r0, [r1, #0x370]
bl GetMoneyCarried
ldr r1, [r4, #4]
add r2, sp, #8
add r1, r1, sl, lsl #2
ldr r1, [r1, #0x370]
cmp r1, r0
add r0, sp, #0x14
add r1, sp, #0
bgt _0238A40C
bl sub_0200D670
mov r0, #0x50
mul sb, sl, r0
ldr r0, [r4, #4]
add r1, sp, #0x14
add r0, r0, #0xe8
add r0, r0, sb
bl strcpy
ldr r0, [r4, #4]
add r0, r0, sl
strb fp, [r0, #0x368]
b _0238A464
_0238A40C:
bl sub_0200D65C
mov r0, #0x50
mul sb, sl, r0
ldr r0, [r4, #4]
ldr r1, _0238A4C4 ; =ov22_0238E82C
add r0, r0, #0xe8
add r0, r0, sb
bl strcpy
ldr r0, [r4, #4]
add r1, sp, #0x14
add r0, r0, #0xe8
add r0, r0, sb
bl strcat
ldr r0, [r4, #4]
ldr r1, _0238A4C8 ; =ov22_0238E834
add r0, r0, #0xe8
add r0, r0, sb
bl strcat
ldr r0, [r4, #4]
add r1, r0, sl
mov r0, #0
strb r0, [r1, #0x368]
_0238A464:
ldr r2, [r4, #4]
add r0, r2, #0xe8
add r1, r0, sb
add r0, r2, sl, lsl #3
str r1, [r0, #0xa0]
ldr r0, [r4, #4]
add r0, r0, sl, lsl #3
str sl, [r0, #0xa4]
add sl, sl, #1
_0238A488:
ldr r1, [r4, #4]
ldr r0, [r1, #0x9c]
cmp sl, r0
blt _0238A378
mov r2, #0
add r1, r1, sl, lsl #3
ldr r0, _0238A4C0 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
str r2, [r1, #0xa0]
ldr r0, [r0, #4]
sub r1, r2, #1
add r0, r0, sl, lsl #3
str r1, [r0, #0xa4]
add sp, sp, #0x64
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
_0238A4C0: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC60
_0238A4C4: .word ov22_0238E82C
_0238A4C8: .word ov22_0238E834
arm_func_end ov22_0238A320
arm_func_start ov22_0238A4CC
ov22_0238A4CC: ; 0x0238A4CC
ldr r1, _0238A504 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
mov r0, #0
ldr r3, [r1, #4]
mov r2, r0
ldr ip, [r3, #0x9c]
b _0238A4F8
_0238A4E4:
add r1, r3, r2
ldrb r1, [r1, #0x390]
add r2, r2, #1
cmp r1, #0
addne r0, r0, #1
_0238A4F8:
cmp r2, ip
blt _0238A4E4
bx lr
.align 2, 0
_0238A504: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC60
arm_func_end ov22_0238A4CC
arm_func_start ov22_0238A508
ov22_0238A508: ; 0x0238A508
ldr r1, _0238A540 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
mov r0, #0
ldr r2, [r1, #4]
ldr r3, [r2, #0x9c]
b _0238A530
_0238A51C:
add r1, r2, r0
ldrb r1, [r1, #0x390]
cmp r1, #0
bxne lr
add r0, r0, #1
_0238A530:
cmp r0, r3
blt _0238A51C
mvn r0, #0
bx lr
.align 2, 0
_0238A540: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC60
arm_func_end ov22_0238A508
arm_func_start ov22_0238A544
ov22_0238A544: ; 0x0238A544
ldr r1, _0238A584 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
mov r0, #0
ldr r3, [r1, #4]
mov r2, r0
ldr ip, [r3, #0x9c]
b _0238A578
_0238A55C:
add r1, r3, r2
ldrb r1, [r1, #0x390]
cmp r1, #0
addne r1, r3, r2, lsl #2
ldrne r1, [r1, #0x370]
add r2, r2, #1
addne r0, r0, r1
_0238A578:
cmp r2, ip
blt _0238A55C
bx lr
.align 2, 0
_0238A584: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC60
arm_func_end ov22_0238A544
arm_func_start ov22_0238A588
ov22_0238A588: ; 0x0238A588
stmdb sp!, {r4, lr}
mov r4, r0
and r0, r4, #0xff
bl sub_02010898
bl SpecialProcAddItemToBag
and r0, r4, #0xff
bl RemoveItemFromKecleonShop1
ldr r0, _0238A5C8 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
ldr r0, [r0, #4]
add r0, r0, r4, lsl #2
ldr r0, [r0, #0x370]
rsb r0, r0, #0
bl AddMoneyCarried
bl sub_020108B4
bl ov22_0238A320
ldmia sp!, {r4, pc}
.align 2, 0
_0238A5C8: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC60
arm_func_end ov22_0238A588
arm_func_start ov22_0238A5CC
ov22_0238A5CC: ; 0x0238A5CC
stmdb sp!, {r4, r5, r6, lr}
mov r4, #0
mov r5, r4
ldr r6, _0238A63C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
b _0238A618
_0238A5E0:
add r0, r1, r5
ldrb r0, [r0, #0x390]
cmp r0, #0
beq _0238A614
and r0, r5, #0xff
bl sub_02010898
bl SpecialProcAddItemToBag
ldr r1, [r6, #4]
and r0, r5, #0xff
add r1, r1, r5, lsl #2
ldr r1, [r1, #0x370]
add r4, r4, r1
bl RemoveItemFromKecleonShop1
_0238A614:
add r5, r5, #1
_0238A618:
ldr r1, [r6, #4]
ldr r0, [r1, #0x9c]
cmp r5, r0
blt _0238A5E0
rsb r0, r4, #0
bl AddMoneyCarried
bl sub_020108B4
bl ov22_0238A320
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
_0238A63C: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC60
arm_func_end ov22_0238A5CC
arm_func_start ov22_0238A640
ov22_0238A640: ; 0x0238A640
ldr r0, _0238A678 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
ldr r0, [r0, #4]
add r0, r0, r1
ldrb r0, [r0, #0x390]
cmp r0, #0
movne r0, #1
moveq r0, #0
str r0, [r2]
ldr r2, _0238A678 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
mov r0, #0x50
ldr r2, [r2, #4]
add r2, r2, #0xe8
mla r0, r1, r0, r2
bx lr
.align 2, 0
_0238A678: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC60
arm_func_end ov22_0238A640
arm_func_start ov22_0238A67C
ov22_0238A67C: ; 0x0238A67C
stmdb sp!, {r3, r4, r5, r6, r7, lr}
tst r0, #0x400
mov r4, #0
beq _0238A730
ldr r0, _0238A770 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
ldr r0, [r0, #4]
ldrsb r0, [r0, #0x98]
bl sub_0202C748
ldr r1, _0238A770 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
mov r5, r0
ldr r0, [r1, #4]
add r2, r0, #0x390
ldrb r0, [r2, r5]
cmp r0, #0
beq _0238A6D0
mov r1, r4
mov r0, #6
strb r1, [r2, r5]
bl PlaySeVolumeWrapper
mov r4, #1
b _0238A730
_0238A6D0:
bl GetCurrentBagCapacity
mov r7, r0
bl ov22_0238A4CC
mov r6, r0
bl GetNbItemsInBag
add r0, r6, r0
cmp r0, r7
blt _0238A6F8
cmp r6, #0
bne _0238A728
_0238A6F8:
ldr r0, _0238A770 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
ldr r0, [r0, #4]
add r2, r0, r5
ldrb r0, [r2, #0x368]
cmp r0, #0
bne _0238A728
mov r1, #1
mov r0, #6
strb r1, [r2, #0x390]
bl PlaySeVolumeWrapper
mov r4, #1
b _0238A730
_0238A728:
mov r0, #2
bl PlaySeVolumeWrapper
_0238A730:
bl ov22_0238A4CC
cmp r0, #0
ble _0238A754
ldr r0, _0238A770 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
mov r1, #1
ldr r0, [r0, #4]
ldrsb r0, [r0, #0x98]
bl sub_0202D16C
b _0238A768
_0238A754:
ldr r0, _0238A770 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC60
mov r1, #0
ldr r0, [r0, #4]
ldrsb r0, [r0, #0x98]
bl sub_0202D16C
_0238A768:
mov r0, r4
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
_0238A770: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC60
arm_func_end ov22_0238A67C
arm_func_start ov22_0238A774
ov22_0238A774: ; 0x0238A774
stmdb sp!, {r3, lr}
and r0, r0, #0xff
bl sub_02010898
ldrsh r0, [r0]
bl sub_020444B0
ldmia sp!, {r3, pc}
arm_func_end ov22_0238A774
arm_func_start ov22_0238A78C
ov22_0238A78C: ; 0x0238A78C
stmdb sp!, {r3, lr}
bl ov22_0238A96C
bl ov22_0238A79C
ldmia sp!, {r3, pc}
arm_func_end ov22_0238A78C
arm_func_start ov22_0238A79C
ov22_0238A79C: ; 0x0238A79C
stmdb sp!, {lr}
sub sp, sp, #0xc
ldr r0, _0238A85C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
ldr r2, _0238A860 ; =0x0000032E
ldr r1, [r0, #4]
mov r3, #0x10
strh r2, [r1, #8]
ldr r1, [r0, #4]
mov r2, #0xd
str r3, [r1, #0xc]
ldr r1, [r0, #4]
mov r0, #0x13
str r2, [r1, #4]
bl Arm9LoadUnkFieldNa0x2029EC8
ldr r2, _0238A85C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
ldr r1, _0238A864 ; =ov22_0238ACC8
ldr ip, [r2, #4]
mov r3, #8
str r0, [ip]
str r1, [sp]
ldr r1, [r2, #4]
ldr r0, _0238A868 ; =SHOP_WINDOW_PARAMS_2
ldr ip, [r1, #0x9c]
ldr r1, _0238A86C ; =0x00401C33
str ip, [sp, #4]
str r3, [sp, #8]
ldr r2, [r2, #4]
ldr r3, _0238A870 ; =ov22_0238AC8C
bl CreateCollectionMenu
ldr r2, _0238A85C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
mov r1, #0x76
ldr r3, [r2, #4]
strb r0, [r3, #0x98]
ldr r0, [r2, #4]
ldrsb r0, [r0, #0x98]
bl SetCollectionMenuWidth
ldr r0, _0238A85C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
ldr r1, _0238A874 ; =ov22_0238ADC0
ldr r0, [r0, #4]
ldrsb r0, [r0, #0x98]
bl SetCollectionMenuVoidFn
mov r0, #0
bl sub_0204440C
ldr r0, _0238A85C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
ldr r0, [r0, #4]
ldrsb r0, [r0, #0x98]
add sp, sp, #0xc
ldmia sp!, {pc}
.align 2, 0
_0238A85C: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC68
#ifdef JAPAN
_0238A860: .word 0x000031F3
#else
_0238A860: .word 0x0000032E
#endif
_0238A864: .word ov22_0238ACC8
_0238A868: .word SHOP_WINDOW_PARAMS_2
_0238A86C: .word 0x00401C33
_0238A870: .word ov22_0238AC8C
_0238A874: .word ov22_0238ADC0
arm_func_end ov22_0238A79C
arm_func_start ov22_0238A878
ov22_0238A878: ; 0x0238A878
bx lr
arm_func_end ov22_0238A878
arm_func_start ov22_0238A87C
ov22_0238A87C: ; 0x0238A87C
stmdb sp!, {r3, lr}
ldr r0, _0238A8F4 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
ldr r0, [r0, #4]
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, pc}
ldrsb r0, [r0, #0x98]
bl IsCollectionMenuActive
cmp r0, #0
bne _0238A8D0
ldr r0, _0238A8F4 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
ldr r0, [r0, #4]
ldrsb r0, [r0, #0x98]
bl sub_0202C75C
mvn r1, #0
cmp r0, r1
ldrne r1, _0238A8F4 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
moveq r0, #2
strneh r0, [r1]
movne r0, #3
ldmia sp!, {r3, pc}
_0238A8D0:
ldr r0, _0238A8F4 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
ldr r0, [r0, #4]
ldrsb r0, [r0, #0x98]
bl sub_0202C748
and r1, r0, #0xff
mov r0, #0x13
bl Arm9StoreUnkFieldNa0x2029ED8
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
_0238A8F4: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC68
arm_func_end ov22_0238A87C
arm_func_start ov22_0238A8F8
ov22_0238A8F8: ; 0x0238A8F8
ldr r0, _0238A908 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
ldrsh r0, [r0]
and r0, r0, #0xff
bx lr
.align 2, 0
_0238A908: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC68
arm_func_end ov22_0238A8F8
arm_func_start ov22_0238A90C
ov22_0238A90C: ; 0x0238A90C
stmdb sp!, {r3, lr}
mov r0, #0x234
mov r1, #8
bl MemAlloc
ldr r1, _0238A93C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
str r0, [r1, #4]
bl ov22_0238A96C
ldr r0, _0238A93C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
mvn r1, #1
ldr r0, [r0, #4]
strb r1, [r0, #0x98]
ldmia sp!, {r3, pc}
.align 2, 0
_0238A93C: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC68
arm_func_end ov22_0238A90C
arm_func_start ov22_0238A940
ov22_0238A940: ; 0x0238A940
stmdb sp!, {r3, lr}
ldr r0, _0238A968 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
ldr r0, [r0, #4]
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl MemFree
ldr r0, _0238A968 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
mov r1, #0
str r1, [r0, #4]
ldmia sp!, {r3, pc}
.align 2, 0
_0238A968: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC68
arm_func_end ov22_0238A940
arm_func_start ov22_0238A96C
ov22_0238A96C: ; 0x0238A96C
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x64
mov r3, #0
ldr r0, _0238AB0C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
mov r2, r3
_0238A980:
ldr r1, [r0, #4]
add r1, r1, r3
add r3, r3, #1
strb r2, [r1, #0x230]
cmp r3, #4
blt _0238A980
bl sub_02010B3C
mov sl, #0
ldr r4, _0238AB0C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
mov r8, #3
ldr r1, [r4, #4]
mov r7, #1
str r0, [r1, #0x9c]
mov r6, sl
mov r5, #0x6a
mov fp, sl
b _0238AAD4
_0238A9C4:
and r0, sl, #0xff
bl sub_02010BA4
ldrsh r1, [r0]
strh r1, [sp, #4]
ldrh r1, [r0, #2]
add r0, sp, #0
strh r1, [sp, #2]
strb r8, [sp]
str r7, [sp, #8]
strb r6, [sp, #0xc]
strh r5, [sp, #0xe]
strb r7, [sp, #0x10]
bl GetActualBuyPrice
ldr r1, [r4, #4]
add r1, r1, sl, lsl #2
str r0, [r1, #0x210]
bl GetMoneyCarried
ldr r1, [r4, #4]
add r2, sp, #8
add r1, r1, sl, lsl #2
ldr r1, [r1, #0x210]
cmp r1, r0
add r0, sp, #0x14
add r1, sp, #0
bgt _0238AA58
bl sub_0200D670
mov r0, #0x50
mul sb, sl, r0
ldr r0, [r4, #4]
add r1, sp, #0x14
add r0, r0, #0xc8
add r0, r0, sb
bl strcpy
ldr r0, [r4, #4]
add r0, r0, sl
strb fp, [r0, #0x208]
b _0238AAB0
_0238AA58:
bl sub_0200D65C
mov r0, #0x50
mul sb, sl, r0
ldr r0, [r4, #4]
ldr r1, _0238AB10 ; =ov22_0238E84C
add r0, r0, #0xc8
add r0, r0, sb
bl strcpy
ldr r0, [r4, #4]
add r1, sp, #0x14
add r0, r0, #0xc8
add r0, r0, sb
bl strcat
ldr r0, [r4, #4]
ldr r1, _0238AB14 ; =ov22_0238E854
add r0, r0, #0xc8
add r0, r0, sb
bl strcat
ldr r0, [r4, #4]
add r1, r0, sl
mov r0, #0
strb r0, [r1, #0x208]
_0238AAB0:
ldr r2, [r4, #4]
add r0, r2, #0xc8
add r1, r0, sb
add r0, r2, sl, lsl #3
str r1, [r0, #0xa0]
ldr r0, [r4, #4]
add r0, r0, sl, lsl #3
str sl, [r0, #0xa4]
add sl, sl, #1
_0238AAD4:
ldr r1, [r4, #4]
ldr r0, [r1, #0x9c]
cmp sl, r0
blt _0238A9C4
mov r2, #0
add r1, r1, sl, lsl #3
ldr r0, _0238AB0C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
str r2, [r1, #0xa0]
ldr r0, [r0, #4]
sub r1, r2, #1
add r0, r0, sl, lsl #3
str r1, [r0, #0xa4]
add sp, sp, #0x64
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
_0238AB0C: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC68
_0238AB10: .word ov22_0238E84C
_0238AB14: .word ov22_0238E854
arm_func_end ov22_0238A96C
arm_func_start ov22_0238AB18
ov22_0238AB18: ; 0x0238AB18
ldr r1, _0238AB50 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
mov r0, #0
ldr r3, [r1, #4]
mov r2, r0
ldr ip, [r3, #0x9c]
b _0238AB44
_0238AB30:
add r1, r3, r2
ldrb r1, [r1, #0x230]
add r2, r2, #1
cmp r1, #0
addne r0, r0, #1
_0238AB44:
cmp r2, ip
blt _0238AB30
bx lr
.align 2, 0
_0238AB50: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC68
arm_func_end ov22_0238AB18
arm_func_start ov22_0238AB54
ov22_0238AB54: ; 0x0238AB54
ldr r1, _0238AB8C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
mov r0, #0
ldr r2, [r1, #4]
ldr r3, [r2, #0x9c]
b _0238AB7C
_0238AB68:
add r1, r2, r0
ldrb r1, [r1, #0x230]
cmp r1, #0
bxne lr
add r0, r0, #1
_0238AB7C:
cmp r0, r3
blt _0238AB68
mvn r0, #0
bx lr
.align 2, 0
_0238AB8C: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC68
arm_func_end ov22_0238AB54
arm_func_start ov22_0238AB90
ov22_0238AB90: ; 0x0238AB90
ldr r1, _0238ABD0 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
mov r0, #0
ldr r3, [r1, #4]
mov r2, r0
ldr ip, [r3, #0x9c]
b _0238ABC4
_0238ABA8:
add r1, r3, r2
ldrb r1, [r1, #0x230]
cmp r1, #0
addne r1, r3, r2, lsl #2
ldrne r1, [r1, #0x210]
add r2, r2, #1
addne r0, r0, r1
_0238ABC4:
cmp r2, ip
blt _0238ABA8
bx lr
.align 2, 0
_0238ABD0: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC68
arm_func_end ov22_0238AB90
arm_func_start ov22_0238ABD4
ov22_0238ABD4: ; 0x0238ABD4
stmdb sp!, {r4, lr}
mov r4, r0
and r0, r4, #0xff
bl sub_02010BA4
bl SpecialProcAddItemToBag
and r0, r4, #0xff
bl RemoveItemFromKecleonShop2
ldr r0, _0238AC14 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
ldr r0, [r0, #4]
add r0, r0, r4, lsl #2
ldr r0, [r0, #0x210]
rsb r0, r0, #0
bl AddMoneyCarried
bl sub_02010BC0
bl ov22_0238A96C
ldmia sp!, {r4, pc}
.align 2, 0
_0238AC14: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC68
arm_func_end ov22_0238ABD4
arm_func_start ov22_0238AC18
ov22_0238AC18: ; 0x0238AC18
stmdb sp!, {r4, r5, r6, lr}
mov r4, #0
mov r5, r4
ldr r6, _0238AC88 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
b _0238AC64
_0238AC2C:
add r0, r1, r5
ldrb r0, [r0, #0x230]
cmp r0, #0
beq _0238AC60
and r0, r5, #0xff
bl sub_02010BA4
bl SpecialProcAddItemToBag
ldr r1, [r6, #4]
and r0, r5, #0xff
add r1, r1, r5, lsl #2
ldr r1, [r1, #0x210]
add r4, r4, r1
bl RemoveItemFromKecleonShop2
_0238AC60:
add r5, r5, #1
_0238AC64:
ldr r1, [r6, #4]
ldr r0, [r1, #0x9c]
cmp r5, r0
blt _0238AC2C
rsb r0, r4, #0
bl AddMoneyCarried
bl sub_02010BC0
bl ov22_0238A96C
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
_0238AC88: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC68
arm_func_end ov22_0238AC18
arm_func_start ov22_0238AC8C
ov22_0238AC8C: ; 0x0238AC8C
ldr r0, _0238ACC4 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
ldr r0, [r0, #4]
add r0, r0, r1
ldrb r0, [r0, #0x230]
cmp r0, #0
movne r0, #1
moveq r0, #0
str r0, [r2]
ldr r2, _0238ACC4 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
mov r0, #0x50
ldr r2, [r2, #4]
add r2, r2, #0xc8
mla r0, r1, r0, r2
bx lr
.align 2, 0
_0238ACC4: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC68
arm_func_end ov22_0238AC8C
arm_func_start ov22_0238ACC8
ov22_0238ACC8: ; 0x0238ACC8
stmdb sp!, {r3, r4, r5, r6, r7, lr}
tst r0, #0x400
mov r4, #0
beq _0238AD7C
ldr r0, _0238ADBC ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
ldr r0, [r0, #4]
ldrsb r0, [r0, #0x98]
bl sub_0202C748
ldr r1, _0238ADBC ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
mov r5, r0
ldr r0, [r1, #4]
add r2, r0, #0x230
ldrb r0, [r2, r5]
cmp r0, #0
beq _0238AD1C
mov r1, r4
mov r0, #6
strb r1, [r2, r5]
bl PlaySeVolumeWrapper
mov r4, #1
b _0238AD7C
_0238AD1C:
bl GetCurrentBagCapacity
mov r7, r0
bl ov22_0238AB18
mov r6, r0
bl GetNbItemsInBag
add r0, r6, r0
cmp r0, r7
blt _0238AD44
cmp r6, #0
bne _0238AD74
_0238AD44:
ldr r0, _0238ADBC ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
ldr r0, [r0, #4]
add r2, r0, r5
ldrb r0, [r2, #0x208]
cmp r0, #0
bne _0238AD74
mov r1, #1
mov r0, #6
strb r1, [r2, #0x230]
bl PlaySeVolumeWrapper
mov r4, #1
b _0238AD7C
_0238AD74:
mov r0, #2
bl PlaySeVolumeWrapper
_0238AD7C:
bl ov22_0238AB18
cmp r0, #0
ble _0238ADA0
ldr r0, _0238ADBC ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
mov r1, #1
ldr r0, [r0, #4]
ldrsb r0, [r0, #0x98]
bl sub_0202D16C
b _0238ADB4
_0238ADA0:
ldr r0, _0238ADBC ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC68
mov r1, #0
ldr r0, [r0, #4]
ldrsb r0, [r0, #0x98]
bl sub_0202D16C
_0238ADB4:
mov r0, r4
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
_0238ADBC: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC68
arm_func_end ov22_0238ACC8
arm_func_start ov22_0238ADC0
ov22_0238ADC0: ; 0x0238ADC0
stmdb sp!, {r3, lr}
and r0, r0, #0xff
bl sub_02010BA4
ldrsh r0, [r0]
bl sub_020444B0
ldmia sp!, {r3, pc}
arm_func_end ov22_0238ADC0
arm_func_start ov22_0238ADD8
ov22_0238ADD8: ; 0x0238ADD8
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #0xac
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, [r1]
str r0, [r2, #0x10]
ldr r2, [r1]
ldr r0, [r2, #0x10]
cmp r0, #0x30
addls pc, pc, r0, lsl #2
b _0238C16C
_0238AE00: ; jump table
b _0238AEC4 ; case 0
b _0238AF18 ; case 1
b _0238AFB0 ; case 2
b _0238B000 ; case 3
b _0238B3C4 ; case 4
b _0238B050 ; case 5
b _0238B0A0 ; case 6
b _0238B0F0 ; case 7
b _0238B13C ; case 8
b _0238B188 ; case 9
b _0238B1D4 ; case 10
b _0238B220 ; case 11
b _0238B26C ; case 12
b _0238B2BC ; case 13
b _0238B30C ; case 14
b _0238B374 ; case 15
b _0238B3E0 ; case 16
b _0238B43C ; case 17
b _0238B748 ; case 18
b _0238B498 ; case 19
b _0238B510 ; case 20
b _0238B594 ; case 21
b _0238B680 ; case 22
b _0238B5DC ; case 23
b _0238BA48 ; case 24
b _0238BC40 ; case 25
b _0238C038 ; case 26
b _0238C0A0 ; case 27
b _0238B7D8 ; case 28
b _0238B834 ; case 29
b _0238BB58 ; case 30
b _0238B890 ; case 31
b _0238B8F0 ; case 32
b _0238B958 ; case 33
b _0238BA7C ; case 34
b _0238B98C ; case 35
b _0238BA14 ; case 36
b _0238BEA4 ; case 37
b _0238C06C ; case 38
b _0238C110 ; case 39
b _0238BBD8 ; case 40
b _0238BFB4 ; case 41
b _0238BFE8 ; case 42
b _0238C16C ; case 43
b _0238AF70 ; case 44
b _0238C16C ; case 45
b _0238C16C ; case 46
b _0238C16C ; case 47
b _0238AFA4 ; case 48
_0238AEC4:
ldr r0, _0238BD64 ; =ov22_0238E9D0
bl Debug_Print0
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #1
ldr r0, [r0]
strb r1, [r0, #9]
bl sub_02042AF8
bl ov22_0238D554
mov r0, #0
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD68 ; =0x00003008
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BD6C ; =OVERLAY22_UNKNOWN_STRING_IDS
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238AF18:
ldr r0, _0238BD70 ; =ov22_0238E9D8
bl Debug_Print0
bl sub_02042AF8
bl ov22_0238E7E4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, _0238BD74 ; =0x0000017F
ldr r0, [r0]
str r1, [r0, #0x50]
bl ov22_0238D554
mov r0, #0
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD68 ; =0x00003008
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BD78 ; =ov22_0238E8F2
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238AF70:
ldr r0, _0238BD7C ; =ov22_0238E9E4
bl Debug_Print0
mov r4, #5
ldr r0, _0238BD80 ; =SHOP_WINDOW_PARAMS_6
ldr r1, _0238BD84 ; =0x00300013
ldr r3, _0238BD88 ; =SHOP_MAIN_MENU_ITEMS_3
mov r2, #0
str r4, [sp]
bl CreateSimpleMenuFromStringIds
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238C16C
_0238AFA4:
mov r0, #0
str r0, [r2, #0xc]
b _0238C16C
_0238AFB0:
ldr r0, _0238BD8C ; =ov22_0238E9F4
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #1
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BD94 ; =ov22_0238E91E
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B000:
ldr r0, _0238BD98 ; =ov22_0238EA04
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #4
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BD9C ; =ov22_0238E8F4
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B050:
ldr r0, _0238BDA0 ; =ov22_0238EA10
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #1
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BDA4 ; =ov22_0238E90A
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B0A0:
ldr r0, _0238BDA8 ; =ov22_0238EA1C
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x11
ldr r1, [r0]
mov r0, #1
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BDAC ; =ov22_0238E90C
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B0F0:
ldr r0, _0238BDB0 ; =ov22_0238EA28
bl Debug_Print0
bl ov22_0238E7E4
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #1
ldr r1, [r1]
str r0, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BDB4 ; =ov22_0238E90E
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B13C:
ldr r0, _0238BDB8 ; =ov22_0238EA34
bl Debug_Print0
bl ov22_0238E7E4
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #1
ldr r1, [r1]
str r0, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BDBC ; =ov22_0238E91C
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B188:
ldr r0, _0238BDC0 ; =ov22_0238EA40
bl Debug_Print0
bl ov22_0238E7E4
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #1
ldr r1, [r1]
str r0, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BDC4 ; =ov22_0238E910
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B1D4:
ldr r0, _0238BDC8 ; =ov22_0238EA4C
bl Debug_Print0
bl ov22_0238E7E4
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #1
ldr r1, [r1]
str r0, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BDCC ; =ov22_0238E912
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B220:
ldr r0, _0238BDD0 ; =ov22_0238EA58
bl Debug_Print0
bl ov22_0238E7E4
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #1
ldr r1, [r1]
str r0, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BDD4 ; =ov22_0238E914
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B26C:
ldr r0, _0238BDD8 ; =ov22_0238EA64
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #1
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BDDC ; =ov22_0238E916
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B2BC:
ldr r0, _0238BDE0 ; =ov22_0238EA70
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x11
ldr r1, [r0]
mov r0, #1
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BDE4 ; =ov22_0238E918
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B30C:
ldr r0, _0238BDE8 ; =ov22_0238EA7C
bl Debug_Print0
bl ov22_0238E7E4
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x1d
ldr r4, [r1]
mov r0, #1
ldrsh r3, [r4, #0x30]
str r3, [r4, #0x64]
ldr r4, [r1]
ldrh r3, [r4, #0x2e]
str r3, [r4, #0x78]
ldr r1, [r1]
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BDEC ; =ov22_0238E91A
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B374:
ldr r0, _0238BDF0 ; =ov22_0238EA88
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x1d
ldr r1, [r0]
mov r0, #1
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BDBC ; =ov22_0238E91C
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B3C4:
ldrb r0, [r2, #8]
cmp r0, #0
beq _0238B3D8
bl ov22_0238A22C
b _0238C16C
_0238B3D8:
bl ov22_0238A878
b _0238C16C
_0238B3E0:
ldr r0, _0238BDF4 ; =ov22_0238EA94
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r3, #0x13
ldr r1, [r0]
mov r2, #0x2e
str r3, [r1, #0x14]
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x10]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BDF8 ; =ov22_0238E8F6
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B43C:
ldr r0, _0238BDFC ; =ov22_0238EAA8
bl Debug_Print0
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r3, #0x14
ldr r1, [r0]
mov r2, #0x2e
str r3, [r1, #0x14]
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x10]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x30
ldr r4, [r0]
ldr r2, _0238BE00 ; =ov22_0238E8F8
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238BD90 ; =0x00003018
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B498:
ldr r0, _0238BE04 ; =ov22_0238EAB8
bl Debug_Print0
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl sub_0202F2C4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x49]
bl HidePortraitBox
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0
beq _0238B4EC
bl ov22_0238A140
b _0238B4F0
_0238B4EC:
bl ov22_0238A78C
_0238B4F0:
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4a]
mov r0, #0
bl sub_0204426C
mov r0, #0
bl sub_02044568
b _0238C16C
_0238B510:
ldr r0, _0238BE08 ; =ov22_0238EAC8
bl Debug_Print0
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, _0238BD74 ; =0x0000017F
ldr r1, [r0]
str r2, [r1, #0x9c]
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl sub_0202F2C4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x49]
bl HidePortraitBox
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0
beq _0238B570
bl ov22_0238A150
b _0238B574
_0238B570:
bl ov22_0238A79C
_0238B574:
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4a]
mov r0, #0
bl sub_0204426C
mov r0, #0
bl sub_02044568
b _0238C16C
_0238B594:
ldr r0, _0238BE0C ; =ov22_0238EAD8
bl Debug_Print0
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r3, _0238BE10 ; =SHOP_MAIN_MENU_ITEMS_2
ldr r0, [r0]
mov r4, #3
ldrb r0, [r0, #8]
mov r1, #0x13
mov r2, #0
cmp r0, #0
ldrne r0, _0238BE14 ; =SHOP_WINDOW_PARAMS_7
str r4, [sp]
ldreq r0, _0238BE18 ; =SHOP_WINDOW_PARAMS_10
bl CreateSimpleMenuFromStringIds
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238C16C
_0238B5DC:
ldr r0, _0238BE1C ; =ov22_0238EAE8
bl Debug_Print0
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, _0238BE20 ; =OVERLAY22_UNKNOWN_STRUCT__NA_238E85C
ldr r1, [r0]
add r0, r1, #0xe0
add r1, r1, #0x2c
bl sub_0200D670
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #0
ldr r3, [r1]
add r2, r3, #0xe0
str r2, [r3, #0x88]
ldr r3, [r1]
ldrsh r2, [r3, #0x30]
str r2, [r3, #0x64]
ldr r3, [r1]
ldrh r2, [r3, #0x2e]
str r2, [r3, #0x78]
ldr r2, [r1]
ldr r1, [r2, #0x1c]
str r1, [r2, #0x74]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD68 ; =0x00003008
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BE24 ; =ov22_0238E8FA
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r3, #0x2f
ldr r2, [r0]
mov r1, #0x18
str r3, [r2, #0x10]
ldr r0, [r0]
str r1, [r0, #0x14]
b _0238C16C
_0238B680:
ldrsh r1, [r2, #0x30]
ldrh r2, [r2, #0x2e]
ldr r0, _0238BE28 ; =ov22_0238EAF8
bl Debug_Print0
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
add r0, r0, #0x50
bl InitPreprocessorArgs
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, _0238BE2C ; =ov22_0238EB14
ldr r5, [r0]
ldr r3, _0238BE30 ; =0x0000C402
ldrh r4, [r5, #0x2e]
mov r1, #0x400
str r4, [r5, #0x50]
ldr r5, [r0]
ldrsh r4, [r5, #0x30]
str r4, [r5, #0x60]
ldr r5, [r0]
ldrh r4, [r5, #0x2e]
str r4, [r5, #0x74]
ldr r0, [r0]
add r4, r0, #0x50
add r0, r0, #0xa0
str r4, [sp]
bl PreprocessString
add r0, sp, #0xc
bl InitPreprocessorArgs
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
add r1, sp, #0xc
ldr r3, [r0]
ldr r0, _0238BE34 ; =SHOP_WINDOW_PARAMS_9
add r2, r3, #0xa0
str r2, [sp, #0x44]
str r1, [sp]
ldrsh r2, [r3, #0x30]
add r3, r3, #0x50
ldr r1, _0238BE38 ; =0x00001013
#if defined(EUROPE)
add r2, r2, #0xd3
add r2, r2, #0x2900
#elif defined(JAPAN)
add r2, r2, #0xce
add r2, r2, #0x4100
#else
add r2, r2, #0xd1
add r2, r2, #0x2900
#endif
mov r2, r2, lsl #0x10
mov r2, r2, lsr #0x10
stmib sp, {r2, r3}
ldr r3, _0238BE3C ; =0x0000033E
mov r2, #0
bl CreateScrollBoxSingle
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4d]
b _0238C16C
_0238B748:
ldr r0, _0238BE40 ; =ov22_0238EB20
bl Debug_Print0
bl ov22_0238D528
cmp r0, #0
bne _0238B790
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0
beq _0238B778
bl ov22_0238A22C
b _0238B77C
_0238B778:
bl ov22_0238A878
_0238B77C:
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0xc
ldr r0, [r0]
str r1, [r0, #0x14]
b _0238B7A0
_0238B790:
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x11
ldr r0, [r0]
str r1, [r0, #0x14]
_0238B7A0:
mov r0, #0
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x30
ldr r4, [r0]
ldr r2, _0238BE44 ; =ov22_0238E8FE
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238BD90 ; =0x00003018
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B7D8:
ldr r0, _0238BE48 ; =ov22_0238EB30
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r3, #0x1f
ldr r1, [r0]
mov r2, #0x2e
str r3, [r1, #0x14]
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x10]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BE4C ; =ov22_0238E900
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B834:
ldr r0, _0238BE50 ; =ov22_0238EB40
bl Debug_Print0
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r3, #0x20
ldr r1, [r0]
mov r2, #0x2e
str r3, [r1, #0x14]
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x10]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x30
ldr r4, [r0]
ldr r2, _0238BE54 ; =ov22_0238E902
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238BD90 ; =0x00003018
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238C16C
_0238B890:
ldr r0, _0238BE58 ; =ov22_0238EB50
bl Debug_Print0
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl sub_0202F2C4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x49]
bl HidePortraitBox
bl sub_02042730
mov r0, #4
mov r1, #0
mov r2, #8
mov r3, #1
bl sub_02042258
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4b]
b _0238C16C
_0238B8F0:
ldr r0, _0238BE5C ; =ov22_0238EB60
bl Debug_Print0
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, _0238BD74 ; =0x0000017F
ldr r1, [r0]
str r2, [r1, #0x9c]
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl sub_0202F2C4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x49]
bl HidePortraitBox
mov r0, #4
mov r1, #0
mov r2, #8
mov r3, #1
bl sub_02042258
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4b]
b _0238C16C
_0238B958:
ldr r0, _0238BE60 ; =ov22_0238EB70
bl Debug_Print0
mov r4, #3
ldr r0, _0238BE14 ; =SHOP_WINDOW_PARAMS_7
ldr r3, _0238BE64 ; =SHOP_MAIN_MENU_ITEMS_1
mov r1, #0x13
mov r2, #0
str r4, [sp]
bl CreateSimpleMenuFromStringIds
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238C16C
_0238B98C:
ldr r0, _0238BE68 ; =ov22_0238EB80
bl Debug_Print0
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, _0238BE20 ; =OVERLAY22_UNKNOWN_STRUCT__NA_238E85C
ldr r1, [r0]
add r0, r1, #0xe0
add r1, r1, #0x2c
bl sub_0200D670
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r4, #0x2f
ldr r3, [r1]
mov r2, #0x24
add r0, r3, #0xe0
str r0, [r3, #0x88]
ldr r5, [r1]
mov r0, #0
ldr r3, [r5, #0x1c]
str r3, [r5, #0x74]
ldr r3, [r1]
str r4, [r3, #0x10]
ldr r1, [r1]
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD68 ; =0x00003008
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BE6C ; =ov22_0238E904
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238BA14:
ldr r0, _0238BE70 ; =ov22_0238EB90
bl Debug_Print0
mov r4, #2
ldr r0, _0238BE74 ; =SHOP_WINDOW_PARAMS_8
ldr r1, _0238BD84 ; =0x00300013
ldr r3, _0238BE78 ; =SHOP_MENU_ITEMS_CONFIRM
mov r2, #0
str r4, [sp]
bl CreateSimpleMenuFromStringIds
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238C16C
_0238BA48:
ldr r0, _0238BE7C ; =ov22_0238EBA4
bl Debug_Print0
mov r4, #2
ldr r0, _0238BE74 ; =SHOP_WINDOW_PARAMS_8
ldr r1, _0238BD84 ; =0x00300013
ldr r3, _0238BE78 ; =SHOP_MENU_ITEMS_CONFIRM
mov r2, #0
str r4, [sp]
bl CreateSimpleMenuFromStringIds
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238C16C
_0238BA7C:
ldr r0, _0238BE80 ; =ov22_0238EBB8
bl Debug_Print0
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
add r0, r0, #0x50
bl InitPreprocessorArgs
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r5, #0
ldr r6, [r0]
ldr r2, _0238BE2C ; =ov22_0238EB14
ldrh r4, [r6, #0x2e]
ldr r3, _0238BE30 ; =0x0000C402
mov r1, #0x400
str r4, [r6, #0x50]
ldr r6, [r0]
ldrsh r4, [r6, #0x30]
str r4, [r6, #0x60]
ldr r6, [r0]
ldrh r4, [r6, #0x2e]
str r4, [r6, #0x74]
ldr r6, [r0]
ldrh r4, [r6, #0x2e]
add r4, r4, #0xbc
str r4, [r6, #0x68]
ldr r4, [r0]
str r5, [r4, #0x7c]
ldr r0, [r0]
add r4, r0, #0x50
add r0, r0, #0xa0
str r4, [sp]
bl PreprocessString
add r0, sp, #0x5c
bl InitPreprocessorArgs
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
add r1, sp, #0x5c
ldr r3, [r0]
ldr r0, _0238BE34 ; =SHOP_WINDOW_PARAMS_9
add r2, r3, #0xa0
str r2, [sp, #0x94]
str r1, [sp]
ldrsh r2, [r3, #0x30]
add r3, r3, #0x50
ldr r1, _0238BE38 ; =0x00001013
#if defined(EUROPE)
add r2, r2, #0xd3
add r2, r2, #0x2900
#elif defined(JAPAN)
add r2, r2, #0xce
add r2, r2, #0x4100
#else
add r2, r2, #0xd1
add r2, r2, #0x2900
#endif
mov r2, r2, lsl #0x10
mov r2, r2, lsr #0x10
stmib sp, {r2, r3}
ldr r3, _0238BE3C ; =0x0000033E
mov r2, r5
bl CreateScrollBoxSingle
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4d]
b _0238C16C
_0238BB58:
ldr r0, _0238BE84 ; =ov22_0238EBC8
bl Debug_Print0
bl GetNbItemsInBag
cmp r0, #0
beq _0238BB7C
bl GetMoneyCarried
ldr r1, _0238BE88 ; =0x0001869F
cmp r0, r1
blt _0238BB90
_0238BB7C:
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #1
ldr r0, [r0]
str r1, [r0, #0x14]
b _0238BBA0
_0238BB90:
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x1d
ldr r0, [r0]
str r1, [r0, #0x14]
_0238BBA0:
mov r0, #0
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x30
ldr r4, [r0]
ldr r2, _0238BE8C ; =ov22_0238E908
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238BD90 ; =0x00003018
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238C16C
_0238BBD8:
ldr r0, _0238BE90 ; =ov22_0238EBD8
bl Debug_Print0
bl ov22_0238E7E4
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #0
ldr r2, [r1]
ldr r1, [r2, #0x28]
str r1, [r2, #0x74]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x2f
ldr r1, [r0]
mov r3, #0x29
str r2, [r1, #0x10]
ldr r2, [r0]
ldr r1, _0238BD68 ; =0x00003008
str r3, [r2, #0x14]
ldr r3, [r0]
mov r2, #0x30
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BE94 ; =ov22_0238E906
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238C16C
_0238BC40:
ldr r0, _0238BE98 ; =ov22_0238EBE4
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0
beq _0238BC7C
bl ov22_0238A4CC
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
str r0, [r1, #0x20]
bl ov22_0238A544
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
b _0238BC94
_0238BC7C:
bl ov22_0238AB18
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
str r0, [r1, #0x20]
bl ov22_0238AB90
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
_0238BC94:
ldr r1, [r1]
str r0, [r1, #0x28]
bl GetMoneyCarried
cmp r0, #0
bne _0238BCCC
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r3, #6
ldr r2, [r0]
mov r1, #0x30
str r3, [r2, #0x14]
ldr r0, [r0]
str r1, [r0, #0x10]
bl ov22_0238C184
b _0238C16C
_0238BCCC:
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r5, [r0]
ldr r4, [r5, #0x28]
bl GetMoneyCarried
cmp r4, r0
ble _0238BD04
mov r1, #0xd
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
str r1, [r5, #0x14]
ldr r0, [r0]
mov r1, #0x30
str r1, [r0, #0x10]
bl ov22_0238C184
b _0238C16C
_0238BD04:
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #0
ldr r1, [r1]
str r4, [r1, #0x74]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x2f
ldr r1, [r0]
mov r3, #0x1a
str r2, [r1, #0x10]
ldr r2, [r0]
mov r1, #0x30
str r3, [r2, #0x14]
ldr r4, [r0]
ldr r2, _0238BE9C ; =ov22_0238E8FC
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238BD68 ; =0x00003008
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238C16C
.align 2, 0
_0238BD60: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC70
_0238BD64: .word ov22_0238E9D0
_0238BD68: .word 0x00003008
_0238BD6C: .word OVERLAY22_UNKNOWN_STRING_IDS
_0238BD70: .word ov22_0238E9D8
_0238BD74: .word 0x0000017F
_0238BD78: .word ov22_0238E8F2
_0238BD7C: .word ov22_0238E9E4
_0238BD80: .word SHOP_WINDOW_PARAMS_6
_0238BD84: .word 0x00300013
_0238BD88: .word SHOP_MAIN_MENU_ITEMS_3
_0238BD8C: .word ov22_0238E9F4
_0238BD90: .word 0x00003018
_0238BD94: .word ov22_0238E91E
_0238BD98: .word ov22_0238EA04
_0238BD9C: .word ov22_0238E8F4
_0238BDA0: .word ov22_0238EA10
_0238BDA4: .word ov22_0238E90A
_0238BDA8: .word ov22_0238EA1C
_0238BDAC: .word ov22_0238E90C
_0238BDB0: .word ov22_0238EA28
_0238BDB4: .word ov22_0238E90E
_0238BDB8: .word ov22_0238EA34
_0238BDBC: .word ov22_0238E91C
_0238BDC0: .word ov22_0238EA40
_0238BDC4: .word ov22_0238E910
_0238BDC8: .word ov22_0238EA4C
_0238BDCC: .word ov22_0238E912
_0238BDD0: .word ov22_0238EA58
_0238BDD4: .word ov22_0238E914
_0238BDD8: .word ov22_0238EA64
_0238BDDC: .word ov22_0238E916
_0238BDE0: .word ov22_0238EA70
_0238BDE4: .word ov22_0238E918
_0238BDE8: .word ov22_0238EA7C
_0238BDEC: .word ov22_0238E91A
_0238BDF0: .word ov22_0238EA88
_0238BDF4: .word ov22_0238EA94
_0238BDF8: .word ov22_0238E8F6
_0238BDFC: .word ov22_0238EAA8
_0238BE00: .word ov22_0238E8F8
_0238BE04: .word ov22_0238EAB8
_0238BE08: .word ov22_0238EAC8
_0238BE0C: .word ov22_0238EAD8
_0238BE10: .word SHOP_MAIN_MENU_ITEMS_2
_0238BE14: .word SHOP_WINDOW_PARAMS_7
_0238BE18: .word SHOP_WINDOW_PARAMS_10
_0238BE1C: .word ov22_0238EAE8
_0238BE20: .word OVERLAY22_UNKNOWN_STRUCT__NA_238E85C
_0238BE24: .word ov22_0238E8FA
_0238BE28: .word ov22_0238EAF8
_0238BE2C: .word ov22_0238EB14
_0238BE30: .word 0x0000C402
_0238BE34: .word SHOP_WINDOW_PARAMS_9
_0238BE38: .word 0x00001013
#ifdef JAPAN
_0238BE3C: .word 0x00003203
#else
_0238BE3C: .word 0x0000033E
#endif
_0238BE40: .word ov22_0238EB20
_0238BE44: .word ov22_0238E8FE
_0238BE48: .word ov22_0238EB30
_0238BE4C: .word ov22_0238E900
_0238BE50: .word ov22_0238EB40
_0238BE54: .word ov22_0238E902
_0238BE58: .word ov22_0238EB50
_0238BE5C: .word ov22_0238EB60
_0238BE60: .word ov22_0238EB70
_0238BE64: .word SHOP_MAIN_MENU_ITEMS_1
_0238BE68: .word ov22_0238EB80
_0238BE6C: .word ov22_0238E904
_0238BE70: .word ov22_0238EB90
_0238BE74: .word SHOP_WINDOW_PARAMS_8
_0238BE78: .word SHOP_MENU_ITEMS_CONFIRM
_0238BE7C: .word ov22_0238EBA4
_0238BE80: .word ov22_0238EBB8
_0238BE84: .word ov22_0238EBC8
_0238BE88: .word 0x0001869F
_0238BE8C: .word ov22_0238E908
_0238BE90: .word ov22_0238EBD8
_0238BE94: .word ov22_0238E906
_0238BE98: .word ov22_0238EBE4
_0238BE9C: .word ov22_0238E8FC
_0238BEA0: .word ov22_0238EBF0
_0238BEA4:
ldr r0, _0238BEA0 ; =ov22_0238EBF0
bl Debug_Print0
bl ov22_0238E7E4
ldr r8, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r6, #0
ldr r0, [r8]
mov r4, r6
str r6, [r0, #0x24]
ldr r0, [r8]
mov r5, #1
str r6, [r0, #0x28]
mov r7, #6
_0238BED4:
ldr r0, [r8]
mul r1, r6, r7
ldr r0, [r0, #0x44]
ldr r2, [r0, #0x384]
ldrb r0, [r2, r1]
add sb, r2, r1
tst r0, #1
movne r0, r5
moveq r0, r4
tst r0, #0xff
beq _0238BF48
ldrsh r0, [sb, #4]
bl IsShoppableItem
cmp r0, #0
beq _0238BF48
mov r0, r6
bl sub_02042B84
cmp r0, #0
beq _0238BF48
mov r0, sb
bl GetActualSellPrice
ldr r2, [r8]
ldr r1, [r2, #0x28]
add r0, r1, r0
str r0, [r2, #0x28]
ldr r1, [r8]
ldr r0, [r1, #0x24]
add r0, r0, #1
str r0, [r1, #0x24]
_0238BF48:
add r6, r6, #1
cmp r6, #0x32
blt _0238BED4
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #0
ldr r2, [r1]
ldr r1, [r2, #0x28]
str r1, [r2, #0x74]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x2f
ldr r1, [r0]
mov r3, #0x26
str r2, [r1, #0x10]
ldr r2, [r0]
mov r1, #0x30
str r3, [r2, #0x14]
ldr r4, [r0]
ldr r2, _0238BE94 ; =ov22_0238E906
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238BD68 ; =0x00003008
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238C16C
_0238BFB4:
ldr r0, _0238C174 ; =ov22_0238EC00
bl Debug_Print0
mov r4, #2
ldr r0, _0238BE74 ; =SHOP_WINDOW_PARAMS_8
ldr r1, _0238BD84 ; =0x00300013
ldr r3, _0238BE78 ; =SHOP_MENU_ITEMS_CONFIRM
mov r2, #0
str r4, [sp]
bl CreateSimpleMenuFromStringIds
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238C16C
_0238BFE8:
ldr r0, _0238C178 ; =ov22_0238EC10
bl Debug_Print0
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #1
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x30
ldr r4, [r0]
ldr r2, _0238BE8C ; =ov22_0238E908
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238BD90 ; =0x00003018
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238C16C
_0238C038:
ldr r0, _0238C174 ; =ov22_0238EC00
bl Debug_Print0
mov r4, #2
ldr r0, _0238BE74 ; =SHOP_WINDOW_PARAMS_8
ldr r1, _0238BD84 ; =0x00300013
ldr r3, _0238BE78 ; =SHOP_MENU_ITEMS_CONFIRM
mov r2, #0
str r4, [sp]
bl CreateSimpleMenuFromStringIds
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238C16C
_0238C06C:
ldr r0, _0238C174 ; =ov22_0238EC00
bl Debug_Print0
mov r4, #2
ldr r0, _0238BE74 ; =SHOP_WINDOW_PARAMS_8
ldr r1, _0238BD84 ; =0x00300013
ldr r3, _0238BE78 ; =SHOP_MENU_ITEMS_CONFIRM
mov r2, #0
str r4, [sp]
bl CreateSimpleMenuFromStringIds
ldr r1, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238C16C
_0238C0A0:
ldr r0, _0238C17C ; =ov22_0238EC24
bl Debug_Print0
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
bl ov22_0238D528
cmp r0, #0
ldreq r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
moveq r1, #0xc
ldrne r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
movne r1, #1
ldr r0, [r0]
str r1, [r0, #0x14]
mov r0, #0
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x30
ldr r4, [r0]
ldr r2, _0238BE44 ; =ov22_0238E8FE
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238BD90 ; =0x00003018
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238C16C
_0238C110:
ldr r0, _0238C180 ; =ov22_0238EC38
bl Debug_Print0
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #1
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238BD60 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238BD90 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238BE8C ; =ov22_0238E908
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
bl sub_02042AF8
_0238C16C:
add sp, sp, #0xac
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
_0238C174: .word ov22_0238EC00
_0238C178: .word ov22_0238EC10
_0238C17C: .word ov22_0238EC24
_0238C180: .word ov22_0238EC38
arm_func_end ov22_0238ADD8
arm_func_start ov22_0238C184
ov22_0238C184: ; 0x0238C184
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #0xac
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, [r0]
ldr r0, [r2, #0x10]
cmp r0, #0x30
addls pc, pc, r0, lsl #2
b _0238D510
_0238C1A4: ; jump table
b _0238C268 ; case 0
b _0238C2BC ; case 1
b _0238C354 ; case 2
b _0238C3A4 ; case 3
b _0238C768 ; case 4
b _0238C3F4 ; case 5
b _0238C444 ; case 6
b _0238C494 ; case 7
b _0238C4E0 ; case 8
b _0238C52C ; case 9
b _0238C578 ; case 10
b _0238C5C4 ; case 11
b _0238C610 ; case 12
b _0238C660 ; case 13
b _0238C6B0 ; case 14
b _0238C718 ; case 15
b _0238C784 ; case 16
b _0238C7E0 ; case 17
b _0238CAEC ; case 18
b _0238C83C ; case 19
b _0238C8B4 ; case 20
b _0238C938 ; case 21
b _0238CA24 ; case 22
b _0238C980 ; case 23
b _0238CDEC ; case 24
b _0238CFE4 ; case 25
b _0238D3DC ; case 26
b _0238D444 ; case 27
b _0238CB7C ; case 28
b _0238CBD8 ; case 29
b _0238CEFC ; case 30
b _0238CC34 ; case 31
b _0238CC94 ; case 32
b _0238CCFC ; case 33
b _0238CE20 ; case 34
b _0238CD30 ; case 35
b _0238CDB8 ; case 36
b _0238D248 ; case 37
b _0238D410 ; case 38
b _0238D4B4 ; case 39
b _0238CF7C ; case 40
b _0238D358 ; case 41
b _0238D38C ; case 42
b _0238D510 ; case 43
b _0238C314 ; case 44
b _0238D510 ; case 45
b _0238D510 ; case 46
b _0238D510 ; case 47
b _0238C348 ; case 48
_0238C268:
ldr r0, _0238D108 ; =ov22_0238E9D0
bl Debug_Print0
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #1
ldr r0, [r0]
strb r1, [r0, #9]
bl sub_02042AF8
bl ov22_0238D554
mov r0, #0
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D10C ; =0x00003008
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D110 ; =OVERLAY22_UNKNOWN_STRING_IDS
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C2BC:
ldr r0, _0238D114 ; =ov22_0238E9D8
bl Debug_Print0
bl sub_02042AF8
bl ov22_0238E7E4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, _0238D118 ; =0x0000017F
ldr r0, [r0]
str r1, [r0, #0x50]
bl ov22_0238D554
mov r0, #0
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D10C ; =0x00003008
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D11C ; =ov22_0238E8F2
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C314:
ldr r0, _0238D120 ; =ov22_0238E9E4
bl Debug_Print0
mov r4, #5
ldr r0, _0238D124 ; =SHOP_WINDOW_PARAMS_6
ldr r1, _0238D128 ; =0x00300013
ldr r3, _0238D12C ; =SHOP_MAIN_MENU_ITEMS_3
mov r2, #0
str r4, [sp]
bl CreateSimpleMenuFromStringIds
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238D510
_0238C348:
mov r0, #0
str r0, [r2, #0xc]
b _0238D510
_0238C354:
ldr r0, _0238D130 ; =ov22_0238E9F4
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #1
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D138 ; =ov22_0238E91E
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C3A4:
ldr r0, _0238D13C ; =ov22_0238EA04
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #4
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D140 ; =ov22_0238E8F4
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C3F4:
ldr r0, _0238D144 ; =ov22_0238EA10
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #1
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D148 ; =ov22_0238E90A
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C444:
ldr r0, _0238D14C ; =ov22_0238EA1C
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x11
ldr r1, [r0]
mov r0, #1
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D150 ; =ov22_0238E90C
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C494:
ldr r0, _0238D154 ; =ov22_0238EA28
bl Debug_Print0
bl ov22_0238E7E4
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #1
ldr r1, [r1]
str r0, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D158 ; =ov22_0238E90E
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C4E0:
ldr r0, _0238D15C ; =ov22_0238EA34
bl Debug_Print0
bl ov22_0238E7E4
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #1
ldr r1, [r1]
str r0, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D160 ; =ov22_0238E91C
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C52C:
ldr r0, _0238D164 ; =ov22_0238EA40
bl Debug_Print0
bl ov22_0238E7E4
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #1
ldr r1, [r1]
str r0, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D168 ; =ov22_0238E910
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C578:
ldr r0, _0238D16C ; =ov22_0238EA4C
bl Debug_Print0
bl ov22_0238E7E4
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #1
ldr r1, [r1]
str r0, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D170 ; =ov22_0238E912
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C5C4:
ldr r0, _0238D174 ; =ov22_0238EA58
bl Debug_Print0
bl ov22_0238E7E4
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #1
ldr r1, [r1]
str r0, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D178 ; =ov22_0238E914
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C610:
ldr r0, _0238D17C ; =ov22_0238EA64
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #1
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D180 ; =ov22_0238E916
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C660:
ldr r0, _0238D184 ; =ov22_0238EA70
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x11
ldr r1, [r0]
mov r0, #1
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D188 ; =ov22_0238E918
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C6B0:
ldr r0, _0238D18C ; =ov22_0238EA7C
bl Debug_Print0
bl ov22_0238E7E4
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x1d
ldr r4, [r1]
mov r0, #1
ldrsh r3, [r4, #0x30]
str r3, [r4, #0x64]
ldr r4, [r1]
ldrh r3, [r4, #0x2e]
str r3, [r4, #0x78]
ldr r1, [r1]
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D190 ; =ov22_0238E91A
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C718:
ldr r0, _0238D194 ; =ov22_0238EA88
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x1d
ldr r1, [r0]
mov r0, #1
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D160 ; =ov22_0238E91C
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C768:
ldrb r0, [r2, #8]
cmp r0, #0
beq _0238C77C
bl ov22_0238A22C
b _0238D510
_0238C77C:
bl ov22_0238A878
b _0238D510
_0238C784:
ldr r0, _0238D198 ; =ov22_0238EA94
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r3, #0x13
ldr r1, [r0]
mov r2, #0x2e
str r3, [r1, #0x14]
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x10]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D19C ; =ov22_0238E8F6
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238C7E0:
ldr r0, _0238D1A0 ; =ov22_0238EAA8
bl Debug_Print0
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r3, #0x14
ldr r1, [r0]
mov r2, #0x2e
str r3, [r1, #0x14]
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x10]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x30
ldr r4, [r0]
ldr r2, _0238D1A4 ; =ov22_0238E8F8
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238D134 ; =0x00003018
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238D510
_0238C83C:
ldr r0, _0238D1A8 ; =ov22_0238EAB8
bl Debug_Print0
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl sub_0202F2C4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x49]
bl HidePortraitBox
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0
beq _0238C890
bl ov22_0238A140
b _0238C894
_0238C890:
bl ov22_0238A78C
_0238C894:
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4a]
mov r0, #0
bl sub_0204426C
mov r0, #0
bl sub_02044568
b _0238D510
_0238C8B4:
ldr r0, _0238D1AC ; =ov22_0238EAC8
bl Debug_Print0
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, _0238D118 ; =0x0000017F
ldr r1, [r0]
str r2, [r1, #0x9c]
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl sub_0202F2C4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x49]
bl HidePortraitBox
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0
beq _0238C914
bl ov22_0238A150
b _0238C918
_0238C914:
bl ov22_0238A79C
_0238C918:
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4a]
mov r0, #0
bl sub_0204426C
mov r0, #0
bl sub_02044568
b _0238D510
_0238C938:
ldr r0, _0238D1B0 ; =ov22_0238EAD8
bl Debug_Print0
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r3, _0238D1B4 ; =SHOP_MAIN_MENU_ITEMS_2
ldr r0, [r0]
mov r4, #3
ldrb r0, [r0, #8]
mov r1, #0x13
mov r2, #0
cmp r0, #0
ldrne r0, _0238D1B8 ; =SHOP_WINDOW_PARAMS_7
str r4, [sp]
ldreq r0, _0238D1BC ; =SHOP_WINDOW_PARAMS_10
bl CreateSimpleMenuFromStringIds
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238D510
_0238C980:
ldr r0, _0238D1C0 ; =ov22_0238EAE8
bl Debug_Print0
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, _0238D1C4 ; =OVERLAY22_UNKNOWN_STRUCT__NA_238E85C
ldr r1, [r0]
add r0, r1, #0xe0
add r1, r1, #0x2c
bl sub_0200D670
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #0
ldr r3, [r1]
add r2, r3, #0xe0
str r2, [r3, #0x88]
ldr r3, [r1]
ldrsh r2, [r3, #0x30]
str r2, [r3, #0x64]
ldr r3, [r1]
ldrh r2, [r3, #0x2e]
str r2, [r3, #0x78]
ldr r2, [r1]
ldr r1, [r2, #0x1c]
str r1, [r2, #0x74]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D10C ; =0x00003008
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D1C8 ; =ov22_0238E8FA
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r3, #0x2f
ldr r2, [r0]
mov r1, #0x18
str r3, [r2, #0x10]
ldr r0, [r0]
str r1, [r0, #0x14]
b _0238D510
_0238CA24:
ldrsh r1, [r2, #0x30]
ldrh r2, [r2, #0x2e]
ldr r0, _0238D1CC ; =ov22_0238EAF8
bl Debug_Print0
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
add r0, r0, #0x50
bl InitPreprocessorArgs
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, _0238D1D0 ; =ov22_0238EB14
ldr r5, [r0]
ldr r3, _0238D1D4 ; =0x0000C402
ldrh r4, [r5, #0x2e]
mov r1, #0x400
str r4, [r5, #0x50]
ldr r5, [r0]
ldrsh r4, [r5, #0x30]
str r4, [r5, #0x60]
ldr r5, [r0]
ldrh r4, [r5, #0x2e]
str r4, [r5, #0x74]
ldr r0, [r0]
add r4, r0, #0x50
add r0, r0, #0xa0
str r4, [sp]
bl PreprocessString
add r0, sp, #0x5c
bl InitPreprocessorArgs
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
add r1, sp, #0x5c
ldr r3, [r0]
ldr r0, _0238D1D8 ; =SHOP_WINDOW_PARAMS_9
add r2, r3, #0xa0
str r2, [sp, #0x94]
str r1, [sp]
ldrsh r2, [r3, #0x30]
add r3, r3, #0x50
ldr r1, _0238D1DC ; =0x00001013
#if defined(EUROPE)
add r2, r2, #0xd3
add r2, r2, #0x2900
#elif defined(JAPAN)
add r2, r2, #0xce
add r2, r2, #0x4100
#else
add r2, r2, #0xd1
add r2, r2, #0x2900
#endif
mov r2, r2, lsl #0x10
mov r2, r2, lsr #0x10
stmib sp, {r2, r3}
ldr r3, _0238D1E0 ; =0x0000033E
mov r2, #0
bl CreateScrollBoxSingle
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4d]
b _0238D510
_0238CAEC:
ldr r0, _0238D1E4 ; =ov22_0238EB20
bl Debug_Print0
bl ov22_0238D528
cmp r0, #0
bne _0238CB34
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0
beq _0238CB1C
bl ov22_0238A22C
b _0238CB20
_0238CB1C:
bl ov22_0238A878
_0238CB20:
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0xc
ldr r0, [r0]
str r1, [r0, #0x14]
b _0238CB44
_0238CB34:
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x11
ldr r0, [r0]
str r1, [r0, #0x14]
_0238CB44:
mov r0, #0
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x30
ldr r4, [r0]
ldr r2, _0238D1E8 ; =ov22_0238E8FE
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238D134 ; =0x00003018
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238D510
_0238CB7C:
ldr r0, _0238D1EC ; =ov22_0238EB30
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r3, #0x1f
ldr r1, [r0]
mov r2, #0x2e
str r3, [r1, #0x14]
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x10]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D1F0 ; =ov22_0238E900
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238CBD8:
ldr r0, _0238D1F4 ; =ov22_0238EB40
bl Debug_Print0
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r3, #0x20
ldr r1, [r0]
mov r2, #0x2e
str r3, [r1, #0x14]
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x10]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x30
ldr r4, [r0]
ldr r2, _0238D1F8 ; =ov22_0238E902
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238D134 ; =0x00003018
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238D510
_0238CC34:
ldr r0, _0238D1FC ; =ov22_0238EB50
bl Debug_Print0
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl sub_0202F2C4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x49]
bl HidePortraitBox
bl sub_02042730
mov r0, #4
mov r1, #0
mov r2, #8
mov r3, #1
bl sub_02042258
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4b]
b _0238D510
_0238CC94:
ldr r0, _0238D200 ; =ov22_0238EB60
bl Debug_Print0
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, _0238D118 ; =0x0000017F
ldr r1, [r0]
str r2, [r1, #0x9c]
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl sub_0202F2C4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x49]
bl HidePortraitBox
mov r0, #4
mov r1, #0
mov r2, #8
mov r3, #1
bl sub_02042258
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4b]
b _0238D510
_0238CCFC:
ldr r0, _0238D204 ; =ov22_0238EB70
bl Debug_Print0
mov r4, #3
ldr r0, _0238D1B8 ; =SHOP_WINDOW_PARAMS_7
ldr r3, _0238D208 ; =SHOP_MAIN_MENU_ITEMS_1
mov r1, #0x13
mov r2, #0
str r4, [sp]
bl CreateSimpleMenuFromStringIds
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238D510
_0238CD30:
ldr r0, _0238D20C ; =ov22_0238EB80
bl Debug_Print0
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, _0238D1C4 ; =OVERLAY22_UNKNOWN_STRUCT__NA_238E85C
ldr r1, [r0]
add r0, r1, #0xe0
add r1, r1, #0x2c
bl sub_0200D670
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r4, #0x2f
ldr r3, [r1]
mov r2, #0x24
add r0, r3, #0xe0
str r0, [r3, #0x88]
ldr r5, [r1]
mov r0, #0
ldr r3, [r5, #0x1c]
str r3, [r5, #0x74]
ldr r3, [r1]
str r4, [r3, #0x10]
ldr r1, [r1]
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D10C ; =0x00003008
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D210 ; =ov22_0238E904
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238CDB8:
ldr r0, _0238D214 ; =ov22_0238EB90
bl Debug_Print0
mov r4, #2
ldr r0, _0238D218 ; =SHOP_WINDOW_PARAMS_8
ldr r1, _0238D128 ; =0x00300013
ldr r3, _0238D21C ; =SHOP_MENU_ITEMS_CONFIRM
mov r2, #0
str r4, [sp]
bl CreateSimpleMenuFromStringIds
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238D510
_0238CDEC:
ldr r0, _0238D220 ; =ov22_0238EBA4
bl Debug_Print0
mov r4, #2
ldr r0, _0238D218 ; =SHOP_WINDOW_PARAMS_8
ldr r1, _0238D128 ; =0x00300013
ldr r3, _0238D21C ; =SHOP_MENU_ITEMS_CONFIRM
mov r2, #0
str r4, [sp]
bl CreateSimpleMenuFromStringIds
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238D510
_0238CE20:
ldr r0, _0238D224 ; =ov22_0238EBB8
bl Debug_Print0
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
add r0, r0, #0x50
bl InitPreprocessorArgs
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r5, #0
ldr r6, [r0]
ldr r2, _0238D1D0 ; =ov22_0238EB14
ldrh r4, [r6, #0x2e]
ldr r3, _0238D1D4 ; =0x0000C402
mov r1, #0x400
str r4, [r6, #0x50]
ldr r6, [r0]
ldrsh r4, [r6, #0x30]
str r4, [r6, #0x60]
ldr r6, [r0]
ldrh r4, [r6, #0x2e]
str r4, [r6, #0x74]
ldr r6, [r0]
ldrh r4, [r6, #0x2e]
add r4, r4, #0xbc
str r4, [r6, #0x68]
ldr r4, [r0]
str r5, [r4, #0x7c]
ldr r0, [r0]
add r4, r0, #0x50
add r0, r0, #0xa0
str r4, [sp]
bl PreprocessString
add r0, sp, #0xc
bl InitPreprocessorArgs
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
add r1, sp, #0xc
ldr r3, [r0]
ldr r0, _0238D1D8 ; =SHOP_WINDOW_PARAMS_9
add r2, r3, #0xa0
str r2, [sp, #0x44]
str r1, [sp]
ldrsh r2, [r3, #0x30]
add r3, r3, #0x50
ldr r1, _0238D1DC ; =0x00001013
#if defined(EUROPE)
add r2, r2, #0xd3
add r2, r2, #0x2900
#elif defined(JAPAN)
add r2, r2, #0xce
add r2, r2, #0x4100
#else
add r2, r2, #0xd1
add r2, r2, #0x2900
#endif
mov r2, r2, lsl #0x10
mov r2, r2, lsr #0x10
stmib sp, {r2, r3}
ldr r3, _0238D1E0 ; =0x0000033E
mov r2, r5
bl CreateScrollBoxSingle
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4d]
b _0238D510
_0238CEFC:
ldr r0, _0238D228 ; =ov22_0238EBC8
bl Debug_Print0
bl GetNbItemsInBag
cmp r0, #0
beq _0238CF20
bl GetMoneyCarried
ldr r1, _0238D22C ; =0x0001869F
cmp r0, r1
blt _0238CF34
_0238CF20:
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #1
ldr r0, [r0]
str r1, [r0, #0x14]
b _0238CF44
_0238CF34:
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x1d
ldr r0, [r0]
str r1, [r0, #0x14]
_0238CF44:
mov r0, #0
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x30
ldr r4, [r0]
ldr r2, _0238D230 ; =ov22_0238E908
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238D134 ; =0x00003018
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238D510
_0238CF7C:
ldr r0, _0238D234 ; =ov22_0238EBD8
bl Debug_Print0
bl ov22_0238E7E4
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #0
ldr r2, [r1]
ldr r1, [r2, #0x28]
str r1, [r2, #0x74]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x2f
ldr r1, [r0]
mov r3, #0x29
str r2, [r1, #0x10]
ldr r2, [r0]
ldr r1, _0238D10C ; =0x00003008
str r3, [r2, #0x14]
ldr r3, [r0]
mov r2, #0x30
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D238 ; =ov22_0238E906
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
b _0238D510
_0238CFE4:
ldr r0, _0238D23C ; =ov22_0238EBE4
bl Debug_Print0
bl ov22_0238E7E4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0
beq _0238D020
bl ov22_0238A4CC
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
str r0, [r1, #0x20]
bl ov22_0238A544
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
b _0238D038
_0238D020:
bl ov22_0238AB18
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
str r0, [r1, #0x20]
bl ov22_0238AB90
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
_0238D038:
ldr r1, [r1]
str r0, [r1, #0x28]
bl GetMoneyCarried
cmp r0, #0
bne _0238D070
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r3, #6
ldr r2, [r0]
mov r1, #0x30
str r3, [r2, #0x14]
ldr r0, [r0]
str r1, [r0, #0x10]
bl ov22_0238C184
b _0238D510
_0238D070:
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r5, [r0]
ldr r4, [r5, #0x28]
bl GetMoneyCarried
cmp r4, r0
ble _0238D0A8
mov r1, #0xd
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
str r1, [r5, #0x14]
ldr r0, [r0]
mov r1, #0x30
str r1, [r0, #0x10]
bl ov22_0238C184
b _0238D510
_0238D0A8:
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #0
ldr r1, [r1]
str r4, [r1, #0x74]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x2f
ldr r1, [r0]
mov r3, #0x1a
str r2, [r1, #0x10]
ldr r2, [r0]
mov r1, #0x30
str r3, [r2, #0x14]
ldr r4, [r0]
ldr r2, _0238D240 ; =ov22_0238E8FC
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238D10C ; =0x00003008
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238D510
.align 2, 0
_0238D104: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC70
_0238D108: .word ov22_0238E9D0
_0238D10C: .word 0x00003008
_0238D110: .word OVERLAY22_UNKNOWN_STRING_IDS
_0238D114: .word ov22_0238E9D8
_0238D118: .word 0x0000017F
_0238D11C: .word ov22_0238E8F2
_0238D120: .word ov22_0238E9E4
_0238D124: .word SHOP_WINDOW_PARAMS_6
_0238D128: .word 0x00300013
_0238D12C: .word SHOP_MAIN_MENU_ITEMS_3
_0238D130: .word ov22_0238E9F4
_0238D134: .word 0x00003018
_0238D138: .word ov22_0238E91E
_0238D13C: .word ov22_0238EA04
_0238D140: .word ov22_0238E8F4
_0238D144: .word ov22_0238EA10
_0238D148: .word ov22_0238E90A
_0238D14C: .word ov22_0238EA1C
_0238D150: .word ov22_0238E90C
_0238D154: .word ov22_0238EA28
_0238D158: .word ov22_0238E90E
_0238D15C: .word ov22_0238EA34
_0238D160: .word ov22_0238E91C
_0238D164: .word ov22_0238EA40
_0238D168: .word ov22_0238E910
_0238D16C: .word ov22_0238EA4C
_0238D170: .word ov22_0238E912
_0238D174: .word ov22_0238EA58
_0238D178: .word ov22_0238E914
_0238D17C: .word ov22_0238EA64
_0238D180: .word ov22_0238E916
_0238D184: .word ov22_0238EA70
_0238D188: .word ov22_0238E918
_0238D18C: .word ov22_0238EA7C
_0238D190: .word ov22_0238E91A
_0238D194: .word ov22_0238EA88
_0238D198: .word ov22_0238EA94
_0238D19C: .word ov22_0238E8F6
_0238D1A0: .word ov22_0238EAA8
_0238D1A4: .word ov22_0238E8F8
_0238D1A8: .word ov22_0238EAB8
_0238D1AC: .word ov22_0238EAC8
_0238D1B0: .word ov22_0238EAD8
_0238D1B4: .word SHOP_MAIN_MENU_ITEMS_2
_0238D1B8: .word SHOP_WINDOW_PARAMS_7
_0238D1BC: .word SHOP_WINDOW_PARAMS_10
_0238D1C0: .word ov22_0238EAE8
_0238D1C4: .word OVERLAY22_UNKNOWN_STRUCT__NA_238E85C
_0238D1C8: .word ov22_0238E8FA
_0238D1CC: .word ov22_0238EAF8
_0238D1D0: .word ov22_0238EB14
_0238D1D4: .word 0x0000C402
_0238D1D8: .word SHOP_WINDOW_PARAMS_9
_0238D1DC: .word 0x00001013
#ifdef JAPAN
_0238D1E0: .word 0x00003203
#else
_0238D1E0: .word 0x0000033E
#endif
_0238D1E4: .word ov22_0238EB20
_0238D1E8: .word ov22_0238E8FE
_0238D1EC: .word ov22_0238EB30
_0238D1F0: .word ov22_0238E900
_0238D1F4: .word ov22_0238EB40
_0238D1F8: .word ov22_0238E902
_0238D1FC: .word ov22_0238EB50
_0238D200: .word ov22_0238EB60
_0238D204: .word ov22_0238EB70
_0238D208: .word SHOP_MAIN_MENU_ITEMS_1
_0238D20C: .word ov22_0238EB80
_0238D210: .word ov22_0238E904
_0238D214: .word ov22_0238EB90
_0238D218: .word SHOP_WINDOW_PARAMS_8
_0238D21C: .word SHOP_MENU_ITEMS_CONFIRM
_0238D220: .word ov22_0238EBA4
_0238D224: .word ov22_0238EBB8
_0238D228: .word ov22_0238EBC8
_0238D22C: .word 0x0001869F
_0238D230: .word ov22_0238E908
_0238D234: .word ov22_0238EBD8
_0238D238: .word ov22_0238E906
_0238D23C: .word ov22_0238EBE4
_0238D240: .word ov22_0238E8FC
_0238D244: .word ov22_0238EBF0
_0238D248:
ldr r0, _0238D244 ; =ov22_0238EBF0
bl Debug_Print0
bl ov22_0238E7E4
ldr r8, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r6, #0
ldr r0, [r8]
mov r4, r6
str r6, [r0, #0x24]
ldr r0, [r8]
mov r5, #1
str r6, [r0, #0x28]
mov r7, #6
_0238D278:
ldr r0, [r8]
mul r1, r6, r7
ldr r0, [r0, #0x44]
ldr r2, [r0, #0x384]
ldrb r0, [r2, r1]
add sb, r2, r1
tst r0, #1
movne r0, r5
moveq r0, r4
tst r0, #0xff
beq _0238D2EC
ldrsh r0, [sb, #4]
bl IsShoppableItem
cmp r0, #0
beq _0238D2EC
mov r0, r6
bl sub_02042B84
cmp r0, #0
beq _0238D2EC
mov r0, sb
bl GetActualSellPrice
ldr r2, [r8]
ldr r1, [r2, #0x28]
add r0, r1, r0
str r0, [r2, #0x28]
ldr r1, [r8]
ldr r0, [r1, #0x24]
add r0, r0, #1
str r0, [r1, #0x24]
_0238D2EC:
add r6, r6, #1
cmp r6, #0x32
blt _0238D278
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #0
ldr r2, [r1]
ldr r1, [r2, #0x28]
str r1, [r2, #0x74]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x2f
ldr r1, [r0]
mov r3, #0x26
str r2, [r1, #0x10]
ldr r2, [r0]
mov r1, #0x30
str r3, [r2, #0x14]
ldr r4, [r0]
ldr r2, _0238D238 ; =ov22_0238E906
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238D10C ; =0x00003008
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238D510
_0238D358:
ldr r0, _0238D518 ; =ov22_0238EC00
bl Debug_Print0
mov r4, #2
ldr r0, _0238D218 ; =SHOP_WINDOW_PARAMS_8
ldr r1, _0238D128 ; =0x00300013
ldr r3, _0238D21C ; =SHOP_MENU_ITEMS_CONFIRM
mov r2, #0
str r4, [sp]
bl CreateSimpleMenuFromStringIds
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238D510
_0238D38C:
ldr r0, _0238D51C ; =ov22_0238EC10
bl Debug_Print0
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #1
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x30
ldr r4, [r0]
ldr r2, _0238D230 ; =ov22_0238E908
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238D134 ; =0x00003018
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238D510
_0238D3DC:
ldr r0, _0238D518 ; =ov22_0238EC00
bl Debug_Print0
mov r4, #2
ldr r0, _0238D218 ; =SHOP_WINDOW_PARAMS_8
ldr r1, _0238D128 ; =0x00300013
ldr r3, _0238D21C ; =SHOP_MENU_ITEMS_CONFIRM
mov r2, #0
str r4, [sp]
bl CreateSimpleMenuFromStringIds
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238D510
_0238D410:
ldr r0, _0238D518 ; =ov22_0238EC00
bl Debug_Print0
mov r4, #2
ldr r0, _0238D218 ; =SHOP_WINDOW_PARAMS_8
ldr r1, _0238D128 ; =0x00300013
ldr r3, _0238D21C ; =SHOP_MENU_ITEMS_CONFIRM
mov r2, #0
str r4, [sp]
bl CreateSimpleMenuFromStringIds
ldr r1, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x4c]
b _0238D510
_0238D444:
ldr r0, _0238D520 ; =ov22_0238EC24
bl Debug_Print0
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
bl ov22_0238D528
cmp r0, #0
ldreq r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
moveq r1, #0xc
ldrne r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
movne r1, #1
ldr r0, [r0]
str r1, [r0, #0x14]
mov r0, #0
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x30
ldr r4, [r0]
ldr r2, _0238D1E8 ; =ov22_0238E8FE
ldr r3, [r4]
ldrsb r0, [r4, #0x48]
mul r1, r3, r1
ldrh r2, [r2, r1]
ldr r1, _0238D134 ; =0x00003018
add r3, r4, #0x50
bl ShowStringIdInDialogueBox
b _0238D510
_0238D4B4:
ldr r0, _0238D524 ; =ov22_0238EC38
bl Debug_Print0
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #1
ldr r1, [r0]
mov r0, #0
str r2, [r1, #0x14]
bl ov22_0238D5F4
ldr r0, _0238D104 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x30
ldr r3, [r0]
ldr r1, _0238D134 ; =0x00003018
ldrsb r0, [r3, #0x48]
ldr r4, [r3], #0x50
mul r5, r4, r2
ldr r2, _0238D230 ; =ov22_0238E908
ldrh r2, [r2, r5]
bl ShowStringIdInDialogueBox
bl sub_02042AF8
_0238D510:
add sp, sp, #0xac
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
_0238D518: .word ov22_0238EC00
_0238D51C: .word ov22_0238EC10
_0238D520: .word ov22_0238EC24
_0238D524: .word ov22_0238EC38
arm_func_end ov22_0238C184
arm_func_start ov22_0238D528
ov22_0238D528: ; 0x0238D528
stmdb sp!, {r3, lr}
ldr r0, _0238D550 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0
beq _0238D548
bl sub_02010830
ldmia sp!, {r3, pc}
_0238D548:
bl sub_02010B3C
ldmia sp!, {r3, pc}
.align 2, 0
_0238D550: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC70
arm_func_end ov22_0238D528
arm_func_start ov22_0238D554
ov22_0238D554: ; 0x0238D554
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
ldr r8, _0238D5F0 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r6, #0
ldr r0, [r8]
mov r4, r6
str r6, [r0, #0x24]
ldr r0, [r8]
mov r5, #1
str r6, [r0, #0x28]
mov r7, #6
_0238D57C:
ldr r0, [r8]
mul r1, r6, r7
ldr r0, [r0, #0x44]
ldr r2, [r0, #0x384]
ldrb r0, [r2, r1]
add sb, r2, r1
tst r0, #1
movne r0, r5
moveq r0, r4
tst r0, #0xff
beq _0238D5E0
ldrsh r0, [sb, #4]
bl IsShoppableItem
cmp r0, #0
beq _0238D5E0
mov r0, sb
bl GetActualSellPrice
ldr r2, [r8]
ldr r1, [r2, #0x28]
add r0, r1, r0
str r0, [r2, #0x28]
ldr r1, [r8]
ldr r0, [r1, #0x24]
add r0, r0, #1
str r0, [r1, #0x24]
_0238D5E0:
add r6, r6, #1
cmp r6, #0x32
blt _0238D57C
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
_0238D5F0: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC70
arm_func_end ov22_0238D554
arm_func_start ov22_0238D5F4
ov22_0238D5F4: ; 0x0238D5F4
stmdb sp!, {r3, lr}
ldr r2, _0238D63C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0
ldr r3, [r2]
ldrb r2, [r3, #8]
cmp r2, #0
beq _0238D614
b _0238D614
_0238D614:
cmp r0, #1
moveq r1, #3
add r0, r3, #0x1e0
bl SetPortraitEmotion
ldr r0, _0238D63C ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r0]
ldrsb r0, [r1, #0x49]
add r1, r1, #0x1e0
bl ShowPortraitInPortraitBox
ldmia sp!, {r3, pc}
.align 2, 0
_0238D63C: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC70
arm_func_end ov22_0238D5F4
arm_func_start ov22_0238D640
ov22_0238D640: ; 0x0238D640
stmdb sp!, {r4, lr}
ldr r2, _0238D7A0 ; =ov11_0238A130
mov r0, #0x1f0
mov r1, #8
ldr r4, [r2]
bl MemAlloc
ldr r1, _0238D7A4 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
str r0, [r1]
add r0, r0, #0x50
bl InitPreprocessorArgs
mov r0, #0
bl CreateDialogueBox
ldr r2, _0238D7A4 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #3
ldr r3, [r2]
mov r2, #1
strb r0, [r3, #0x48]
mov r0, #0
bl CreatePortraitBox
ldr r1, _0238D7A4 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
strb r0, [r1, #0x49]
bl sub_02042B98
ldr r2, _0238D7A4 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0
ldr r0, [r2]
sub ip, r1, #2
str r1, [r0, #0x38]
ldr r3, [r2]
ldr r0, _0238D7A8 ; =BAG_ITEMS_PTR_MIRROR
str r1, [r3, #0x3c]
ldr lr, [r2]
ldr r3, _0238D7AC ; =0x0000017F
str r1, [lr, #0x40]
ldr lr, [r2]
str r4, [lr]
ldr r4, [r2]
str r1, [r4, #4]
ldr r4, [r2]
strb ip, [r4, #0x4a]
ldr r4, [r2]
strb ip, [r4, #0x4b]
ldr r4, [r2]
strb ip, [r4, #0x4c]
ldr r4, [r0]
ldr r0, [r2]
str r4, [r0, #0x44]
ldr r0, [r2]
str r3, [r0, #0x9c]
ldr r2, [r2]
ldr r0, [r2]
cmp r0, #0
beq _0238D720
cmp r0, #1
beq _0238D740
b _0238D758
_0238D720:
mov r0, #1
strb r0, [r2, #8]
bl ov22_0238A2C0
ldr r0, _0238D7A4 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, _0238D7AC ; =0x0000017F
ldr r0, [r0]
str r1, [r0, #0x50]
b _0238D758
_0238D740:
strb r1, [r2, #8]
bl ov22_0238A90C
ldr r0, _0238D7A4 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x180
ldr r0, [r0]
str r1, [r0, #0x50]
_0238D758:
ldr r0, _0238D7A4 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
add r0, r0, #0x1e0
bl InitPortraitParamsWithMonsterId
ldr r0, _0238D7A4 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0
ldr r0, [r0]
add r0, r0, #0x1e0
bl SetPortraitLayout
ldr r0, _0238D7A4 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0
ldr r0, [r0]
add r0, r0, #0x1e0
bl SetPortraitEmotion
mov r0, #0
bl ov22_0238ADD8
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
_0238D7A0: .word ov11_0238A130
_0238D7A4: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC70
_0238D7A8: .word BAG_ITEMS_PTR_MIRROR
_0238D7AC: .word 0x0000017F
arm_func_end ov22_0238D640
arm_func_start ov22_0238D7B0
ov22_0238D7B0: ; 0x0238D7B0
stmdb sp!, {r3, lr}
ldr r0, _0238D7FC ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
cmp r0, #0
ldmeqia sp!, {r3, pc}
ldrb r0, [r0, #8]
cmp r0, #0
beq _0238D7D8
bl ov22_0238A2F4
b _0238D7DC
_0238D7D8:
bl ov22_0238A940
_0238D7DC:
bl sub_02042BBC
ldr r0, _0238D7FC ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
bl MemFree
ldr r0, _0238D7FC ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0
str r1, [r0]
ldmia sp!, {r3, pc}
.align 2, 0
_0238D7FC: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC70
arm_func_end ov22_0238D7B0
arm_func_start ov22_0238D800
ov22_0238D800: ; 0x0238D800
stmdb sp!, {r3, r4, r5, r6, r7, lr}
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, [r0]
ldr r1, [r2, #4]
cmp r1, #3
addls pc, pc, r1, lsl #2
b _0238E7DC
_0238D81C: ; jump table
b _0238D82C ; case 0
b _0238D838 ; case 1
b _0238E750 ; case 2
b _0238E7A8 ; case 3
_0238D82C:
mov r0, #1
str r0, [r2, #4]
b _0238E7DC
_0238D838:
ldr r1, [r2, #0x10]
cmp r1, #0x30
addls pc, pc, r1, lsl #2
b _0238E704
_0238D848: ; jump table
b _0238D90C ; case 0
b _0238D90C ; case 1
b _0238E704 ; case 2
b _0238E704 ; case 3
b _0238E5DC ; case 4
b _0238E704 ; case 5
b _0238E704 ; case 6
b _0238E704 ; case 7
b _0238E704 ; case 8
b _0238E704 ; case 9
b _0238E704 ; case 10
b _0238E704 ; case 11
b _0238E704 ; case 12
b _0238E704 ; case 13
b _0238E704 ; case 14
b _0238E704 ; case 15
b _0238E704 ; case 16
b _0238E704 ; case 17
b _0238E704 ; case 18
b _0238DAB8 ; case 19
b _0238DAB8 ; case 20
b _0238DFA0 ; case 21
b _0238E564 ; case 22
b _0238E164 ; case 23
b _0238E164 ; case 24
b _0238E704 ; case 25
b _0238E39C ; case 26
b _0238E704 ; case 27
b _0238E704 ; case 28
b _0238E704 ; case 29
b _0238E704 ; case 30
b _0238DDF8 ; case 31
b _0238DDF8 ; case 32
b _0238E07C ; case 33
b _0238E5A0 ; case 34
b _0238E1F0 ; case 35
b _0238E1F0 ; case 36
b _0238E704 ; case 37
b _0238E418 ; case 38
b _0238E704 ; case 39
b _0238E704 ; case 40
b _0238E280 ; case 41
b _0238E704 ; case 42
b _0238E6F8 ; case 43
b _0238D938 ; case 44
b _0238E704 ; case 45
b _0238E5E8 ; case 46
b _0238E704 ; case 47
b _0238E638 ; case 48
_0238D90C:
ldrsb r0, [r2, #0x48]
bl IsDialogueBoxActive
cmp r0, #0
bne _0238E734
mov r0, #0x2c
bl ov22_0238ADD8
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
b _0238E734
_0238D938:
ldrsb r0, [r2, #0x4c]
bl GetSimpleMenuResult__0202B870
cmp r0, #1
ldrne r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldrne r1, [r1]
strne r0, [r1, #0x38]
cmp r0, #7
addls pc, pc, r0, lsl #2
b _0238E734
_0238D95C: ; jump table
b _0238E734 ; case 0
b _0238DA9C ; case 1
b _0238D97C ; case 2
b _0238D9B0 ; case 3
b _0238DA20 ; case 4
b _0238E734 ; case 5
b _0238E734 ; case 6
b _0238DA90 ; case 7
_0238D97C:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #1
ldr r0, [r0]
strb r1, [r0, #9]
bl ov22_0238D528
cmp r0, #0
bne _0238D9A4
mov r0, #5
bl ov22_0238ADD8
b _0238E734
_0238D9A4:
mov r0, #0x10
bl ov22_0238ADD8
b _0238E734
_0238D9B0:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0
ldr r0, [r0]
strb r1, [r0, #9]
bl GetNbItemsInBag
cmp r0, #0
bne _0238D9D8
mov r0, #0xa
bl ov22_0238ADD8
b _0238E734
_0238D9D8:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldr r0, [r0, #0x24]
cmp r0, #0
bne _0238D9F8
mov r0, #9
bl ov22_0238ADD8
b _0238E734
_0238D9F8:
bl GetMoneyCarried
ldr r1, _0238E798 ; =0x0001869F
cmp r0, r1
blt _0238DA14
mov r0, #7
bl ov22_0238ADD8
b _0238E734
_0238DA14:
mov r0, #0x1c
bl ov22_0238ADD8
b _0238E734
_0238DA20:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0
ldr r0, [r0]
strb r1, [r0, #9]
bl GetNbItemsInBag
cmp r0, #0
bne _0238DA48
mov r0, #0xa
bl ov22_0238ADD8
b _0238E734
_0238DA48:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldr r0, [r0, #0x24]
cmp r0, #0
bne _0238DA68
mov r0, #9
bl ov22_0238ADD8
b _0238E734
_0238DA68:
bl GetMoneyCarried
ldr r1, _0238E798 ; =0x0001869F
cmp r0, r1
ble _0238DA84
mov r0, #7
bl ov22_0238ADD8
b _0238E734
_0238DA84:
mov r0, #0x28
bl ov22_0238ADD8
b _0238E734
_0238DA90:
mov r0, #2
bl ov22_0238ADD8
b _0238E734
_0238DA9C:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x4c]
bl sub_0202836C
mov r0, #3
bl ov22_0238ADD8
b _0238E734
_0238DAB8:
ldrb r0, [r2, #8]
cmp r0, #0
beq _0238DACC
bl ov22_0238A230
b _0238DAD0
_0238DACC:
bl ov22_0238A87C
_0238DAD0:
cmp r0, #4
addls pc, pc, r0, lsl #2
b _0238DD34
_0238DADC: ; jump table
b _0238DD34 ; case 0
b _0238E734 ; case 1
b _0238DCF4 ; case 2
b _0238DAF0 ; case 3
b _0238DC54 ; case 4
_0238DAF0:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0
beq _0238DBAC
bl ov22_0238A4CC
cmp r0, #1
ble _0238DB2C
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x19
ldr r1, [r0]
mov r0, #0x30
str r2, [r1, #0x14]
bl ov22_0238ADD8
b _0238E734
_0238DB2C:
bne _0238DB3C
bl ov22_0238A508
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
b _0238DB44
_0238DB3C:
bl ov22_0238A2AC
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
_0238DB44:
ldr r1, [r1]
strb r0, [r1, #0x32]
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrb r0, [r0, #0x32]
bl sub_02010898
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r4, r0
ldr r0, [r1]
ldrsh r1, [r4]
add r0, r0, #0x2c
mov r2, #0
bl InitStandardItem
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldrh r2, [r4, #2]
ldr r1, [r0]
strh r2, [r1, #0x2e]
ldr r0, [r0]
add r0, r0, #0x2c
bl GetActualBuyPrice
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
str r0, [r1, #0x1c]
mov r0, #0x15
bl ov22_0238ADD8
b _0238E734
_0238DBAC:
bl ov22_0238AB18
cmp r0, #1
ble _0238DBD4
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x19
ldr r1, [r0]
mov r0, #0x30
str r2, [r1, #0x14]
bl ov22_0238ADD8
b _0238E734
_0238DBD4:
bne _0238DBE4
bl ov22_0238AB54
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
b _0238DBEC
_0238DBE4:
bl ov22_0238A8F8
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
_0238DBEC:
ldr r1, [r1]
strb r0, [r1, #0x33]
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrb r0, [r0, #0x33]
bl sub_02010BA4
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r4, r0
ldr r0, [r1]
ldrsh r1, [r4]
add r0, r0, #0x2c
mov r2, #0
bl InitStandardItem
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldrh r2, [r4, #2]
ldr r1, [r0]
strh r2, [r1, #0x2e]
ldr r0, [r0]
add r0, r0, #0x2c
bl GetActualBuyPrice
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
str r0, [r1, #0x1c]
mov r0, #0x15
bl ov22_0238ADD8
b _0238E734
_0238DC54:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0
beq _0238DC88
bl ov22_0238A2AC
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, [r1]
strb r0, [r2, #0x32]
ldr r0, [r1]
ldrb r0, [r0, #0x32]
bl sub_02010898
b _0238DCA4
_0238DC88:
bl ov22_0238A8F8
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, [r1]
strb r0, [r2, #0x33]
ldr r0, [r1]
ldrb r0, [r0, #0x33]
bl sub_02010BA4
_0238DCA4:
mov r4, r0
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldrsh r1, [r4]
ldr r0, [r0]
mov r2, #0
add r0, r0, #0x2c
bl InitStandardItem
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldrh r2, [r4, #2]
ldr r1, [r0]
strh r2, [r1, #0x2e]
ldr r0, [r0]
add r0, r0, #0x2c
bl GetActualBuyPrice
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
str r0, [r1, #0x1c]
mov r0, #0x16
bl ov22_0238ADD8
b _0238E734
_0238DCF4:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0
beq _0238DD10
bl ov22_0238A22C
b _0238DD14
_0238DD10:
bl ov22_0238A878
_0238DD14:
bl ov22_0238E7E4
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #1
ldr r1, [r0]
mov r0, #0x30
str r2, [r1, #0x14]
bl ov22_0238ADD8
b _0238E734
_0238DD34:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x4a]
bl IsCollectionMenuState3
cmp r0, #0
beq _0238E734
add r1, sp, #0
mov r0, #0
bl GetPressedButtons
ldrh r0, [sp]
tst r0, #8
beq _0238E734
ldr r0, _0238E79C ; =0x00003F02
mov r1, #0x100
bl sub_02017C74
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r0]
ldrb r0, [r1, #8]
cmp r0, #0
ldrsb r0, [r1, #0x4a]
beq _0238DDA8
bl sub_0202C748
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, [r1]
strb r0, [r2, #0x32]
ldr r0, [r1]
ldrb r0, [r0, #0x32]
bl sub_02010898
b _0238DDC4
_0238DDA8:
bl sub_0202C748
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r2, [r1]
strb r0, [r2, #0x33]
ldr r0, [r1]
ldrb r0, [r0, #0x33]
bl sub_02010BA4
_0238DDC4:
ldr r2, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldrsh r1, [r0]
ldr r0, [r2]
mov r2, #0
add r0, r0, #0x2c
bl InitStandardItem
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x16
ldr r1, [r0]
mov r0, #0x30
str r2, [r1, #0x14]
bl ov22_0238ADD8
b _0238E734
_0238DDF8:
bl sub_020426B4
cmp r0, #3
addls pc, pc, r0, lsl #2
b _0238DF04
_0238DE08: ; jump table
b _0238DF04 ; case 0
b _0238E734 ; case 1
b _0238DED0 ; case 2
b _0238DE18 ; case 3
_0238DE18:
bl sub_02042B20
cmp r0, #1
ble _0238DE58
bl ov22_0238E7E4
bl sub_02042664
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mvn r2, #1
ldr r1, [r0]
mov r0, #0x30
strb r2, [r1, #0x4b]
bl ov22_0238ADD8
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x25
ldr r0, [r0]
str r1, [r0, #0x14]
b _0238E734
_0238DE58:
bne _0238DE68
bl sub_02042B50
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
b _0238DE70
_0238DE68:
bl sub_02042ADC
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
_0238DE70:
ldr r1, [r1]
str r0, [r1, #0x34]
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r0, #6
ldr r4, [r1]
ldr r1, [r4, #0x34]
ldr r3, [r4, #0x44]
mul r2, r1, r0
ldr r3, [r3, #0x384]
add r0, r4, #0x2c
ldrh r1, [r3, r2]
add r2, r3, r2
strh r1, [r4, #0x2c]
ldrh r1, [r2, #2]
strh r1, [r4, #0x2e]
ldrh r1, [r2, #4]
strh r1, [r4, #0x30]
bl GetActualSellPrice
ldr r1, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r1]
str r0, [r1, #0x1c]
mov r0, #0x21
bl ov22_0238ADD8
b _0238E734
_0238DED0:
bl ov22_0238E7E4
bl sub_02042664
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mvn r2, #1
ldr r1, [r0]
mov r0, #0x30
strb r2, [r1, #0x4b]
bl ov22_0238ADD8
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #1
ldr r0, [r0]
str r1, [r0, #0x14]
b _0238E734
_0238DF04:
bl sub_02042AAC
cmp r0, #0
beq _0238E734
add r1, sp, #2
mov r0, #0
bl GetPressedButtons
ldrh r0, [sp, #2]
tst r0, #8
beq _0238E734
mov r0, #0
bl PlaySeVolumeWrapper
bl sub_02042ADC
ldr r2, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #6
ldr r3, [r2]
str r0, [r3, #0x34]
ldr r3, [r2]
ldr r0, [r3, #0x34]
ldr r2, [r3, #0x44]
mul r1, r0, r1
ldr r2, [r2, #0x384]
ldrh r0, [r2, r1]
add r1, r2, r1
strh r0, [r3, #0x2c]
ldrh r0, [r1, #2]
strh r0, [r3, #0x2e]
ldrh r0, [r1, #4]
strh r0, [r3, #0x30]
bl sub_02042664
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mvn r3, #1
ldr r1, [r0]
mov r2, #0x22
strb r3, [r1, #0x4b]
ldr r1, [r0]
mov r0, #0x30
str r2, [r1, #0x14]
bl ov22_0238ADD8
b _0238E734
_0238DFA0:
ldrsb r0, [r2, #0x4c]
bl GetSimpleMenuResult__0202B870
cmp r0, #1
beq _0238E058
cmp r0, #2
beq _0238DFC4
cmp r0, #7
beq _0238E038
b _0238E734
_0238DFC4:
bl ov22_0238E7E4
bl GetMoneyCarried
cmp r0, #0
ldreq r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
moveq r1, #6
ldreq r0, [r0]
streq r1, [r0, #0x14]
beq _0238E02C
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r4, [r0]
bl GetMoneyCarried
ldr r1, [r4, #0x1c]
cmp r1, r0
movgt r0, #0xd
strgt r0, [r4, #0x14]
bgt _0238E02C
bl IsBagFull
cmp r0, #0
ldrne r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
movne r1, #0xb
ldrne r0, [r0]
strne r1, [r0, #0x14]
ldreq r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
moveq r1, #0x17
ldreq r0, [r0]
streq r1, [r0, #0x14]
_0238E02C:
mov r0, #0x30
bl ov22_0238ADD8
b _0238E734
_0238E038:
bl ov22_0238E7E4
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x16
ldr r1, [r0]
mov r0, #0x30
str r2, [r1, #0x14]
bl ov22_0238ADD8
b _0238E734
_0238E058:
bl ov22_0238E7E4
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x14
ldr r1, [r0]
str r2, [r1, #0x10]
ldr r0, [r0]
ldrsb r0, [r0, #0x4a]
bl sub_0202C620
b _0238E734
_0238E07C:
ldrsb r0, [r2, #0x4c]
bl GetSimpleMenuResult__0202B870
cmp r0, #1
beq _0238E148
cmp r0, #3
beq _0238E0A0
cmp r0, #7
beq _0238E118
b _0238E734
_0238E0A0:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsh r0, [r0, #0x30]
bl IsShoppableItem
cmp r0, #0
ldreq r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
moveq r1, #0xe
ldreq r0, [r0]
streq r1, [r0, #0x14]
beq _0238E0F4
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r4, [r0]
bl GetMoneyCarried
ldr r2, [r4, #0x1c]
ldr r1, _0238E798 ; =0x0001869F
add r0, r2, r0
cmp r0, r1
movgt r0, #0xf
strgt r0, [r4, #0x14]
movle r0, #0x23
strle r0, [r4, #0x14]
_0238E0F4:
bl ov22_0238E7E4
bl sub_02042664
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mvn r2, #1
ldr r1, [r0]
mov r0, #0x30
strb r2, [r1, #0x4b]
bl ov22_0238ADD8
b _0238E734
_0238E118:
bl ov22_0238E7E4
bl sub_02042664
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mvn r3, #1
ldr r1, [r0]
mov r2, #0x22
strb r3, [r1, #0x4b]
ldr r1, [r0]
mov r0, #0x30
str r2, [r1, #0x14]
bl ov22_0238ADD8
b _0238E734
_0238E148:
bl ov22_0238E7E4
bl sub_02042744
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0x20
ldr r0, [r0]
str r1, [r0, #0x10]
b _0238E734
_0238E164:
ldrsb r0, [r2, #0x48]
bl IsDialogueBoxActive
cmp r0, #0
bne _0238E734
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x4c]
bl GetSimpleMenuResult__0202B870
cmp r0, #1
beq _0238E1E0
cmp r0, #5
beq _0238E1A0
cmp r0, #6
beq _0238E1E0
b _0238E734
_0238E1A0:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, [r0]
ldrb r0, [r1, #8]
cmp r0, #0
beq _0238E1C0
ldrb r0, [r1, #0x32]
bl ov22_0238A588
b _0238E1C8
_0238E1C0:
ldrb r0, [r1, #0x33]
bl ov22_0238ABD4
_0238E1C8:
ldr r0, _0238E7A0 ; =0x00001308
bl PlaySeByIdVolumeWrapper
bl ov22_0238E7E4
mov r0, #0x12
bl ov22_0238ADD8
b _0238E734
_0238E1E0:
bl ov22_0238E7E4
mov r0, #0x11
bl ov22_0238ADD8
b _0238E734
_0238E1F0:
ldrsb r0, [r2, #0x48]
bl IsDialogueBoxActive
cmp r0, #0
bne _0238E734
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x4c]
bl GetSimpleMenuResult__0202B870
cmp r0, #1
beq _0238E270
cmp r0, #5
beq _0238E22C
cmp r0, #6
beq _0238E270
b _0238E734
_0238E22C:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldr r0, [r0, #0x1c]
bl AddMoneyCarried
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldr r0, [r0, #0x34]
mov r0, r0, lsl #0x10
mov r0, r0, asr #0x10
bl RemoveItemNoHoleCheck
bl sub_02042AF8
ldr r0, _0238E7A0 ; =0x00001308
bl PlaySeByIdVolumeWrapper
bl ov22_0238E7E4
mov r0, #0x1e
bl ov22_0238ADD8
b _0238E734
_0238E270:
bl ov22_0238E7E4
mov r0, #0x1d
bl ov22_0238ADD8
b _0238E734
_0238E280:
ldrsb r0, [r2, #0x4c]
bl GetSimpleMenuResult__0202B870
cmp r0, #1
beq _0238E38C
cmp r0, #5
beq _0238E2A4
cmp r0, #6
beq _0238E38C
b _0238E734
_0238E2A4:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r4, [r0]
bl GetMoneyCarried
ldr r2, [r4, #0x28]
ldr r1, _0238E798 ; =0x0001869F
add r0, r2, r0
cmp r0, r1
ble _0238E2D8
mov r1, #8
mov r0, #0x30
str r1, [r4, #0x14]
bl ov22_0238ADD8
b _0238E734
_0238E2D8:
ldr r0, _0238E7A0 ; =0x00001308
bl PlaySeByIdVolumeWrapper
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldr r0, [r0, #0x28]
bl AddMoneyCarried
mov r4, #0
mov r5, r4
mov r6, #1
_0238E2FC:
mov r0, r4, lsl #0x10
mov r0, r0, asr #0x10
bl GetItemAtIdx
mov r7, r0
ldrb r0, [r7]
tst r0, #1
movne r0, r6
moveq r0, r5
tst r0, #0xff
beq _0238E368
ldrsh r0, [r7, #4]
bl IsShoppableItem
cmp r0, #0
beq _0238E368
ldrb r0, [r7, #1]
cmp r0, #0
beq _0238E35C
bl sub_020582E0
cmp r0, #0
beq _0238E368
mov r0, r4, lsl #0x10
mov r0, r0, asr #0x10
bl RemoveItem
b _0238E368
_0238E35C:
mov r0, r4, lsl #0x10
mov r0, r0, asr #0x10
bl RemoveItem
_0238E368:
add r4, r4, #1
cmp r4, #0x32
blt _0238E2FC
bl RemoveEmptyItemsInBag
bl sub_02042AF8
bl ov22_0238E7E4
mov r0, #0x2a
bl ov22_0238ADD8
b _0238E734
_0238E38C:
bl ov22_0238E7E4
mov r0, #1
bl ov22_0238ADD8
b _0238E734
_0238E39C:
ldrsb r0, [r2, #0x4c]
bl GetSimpleMenuResult__0202B870
cmp r0, #1
beq _0238E3F8
cmp r0, #5
beq _0238E3C0
cmp r0, #6
beq _0238E3F8
b _0238E734
_0238E3C0:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0
beq _0238E3DC
bl ov22_0238A5CC
b _0238E3E0
_0238E3DC:
bl ov22_0238AC18
_0238E3E0:
ldr r0, _0238E7A0 ; =0x00001308
bl PlaySeByIdVolumeWrapper
bl ov22_0238E7E4
mov r0, #0x1b
bl ov22_0238ADD8
b _0238E734
_0238E3F8:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
bl ov22_0238E7E4
mov r0, #0x11
bl ov22_0238ADD8
b _0238E734
_0238E418:
ldrsb r0, [r2, #0x4c]
bl GetSimpleMenuResult__0202B870
cmp r0, #1
beq _0238E544
cmp r0, #5
beq _0238E43C
cmp r0, #6
beq _0238E544
b _0238E734
_0238E43C:
bl GetMoneyCarried
ldr r2, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r1, _0238E798 ; =0x0001869F
ldr r2, [r2]
ldr r2, [r2, #0x28]
add r0, r2, r0
cmp r0, r1
ble _0238E480
bl sub_02042AF8
bl ov22_0238E7E4
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #8
ldr r1, [r0]
mov r0, #0x30
str r2, [r1, #0x14]
bl ov22_0238ADD8
b _0238E734
_0238E480:
ldr r0, _0238E7A0 ; =0x00001308
bl PlaySeByIdVolumeWrapper
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldr r0, [r0, #0x28]
bl AddMoneyCarried
mov r4, #0
mov r5, r4
mov r6, #1
_0238E4A4:
mov r0, r4, lsl #0x10
mov r0, r0, asr #0x10
bl GetItemAtIdx
mov r7, r0
ldrb r0, [r7]
tst r0, #1
movne r0, r6
moveq r0, r5
tst r0, #0xff
beq _0238E520
ldrsh r0, [r7, #4]
bl IsShoppableItem
cmp r0, #0
beq _0238E520
mov r0, r4
bl sub_02042B84
cmp r0, #0
beq _0238E520
ldrb r0, [r7, #1]
cmp r0, #0
beq _0238E514
bl sub_020582E0
cmp r0, #0
beq _0238E520
mov r0, r4, lsl #0x10
mov r0, r0, asr #0x10
bl RemoveItem
b _0238E520
_0238E514:
mov r0, r4, lsl #0x10
mov r0, r0, asr #0x10
bl RemoveItem
_0238E520:
add r4, r4, #1
cmp r4, #0x32
blt _0238E4A4
bl RemoveEmptyItemsInBag
bl sub_02042AF8
bl ov22_0238E7E4
mov r0, #0x27
bl ov22_0238ADD8
b _0238E734
_0238E544:
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
bl ov22_0238E7E4
mov r0, #0x1d
bl ov22_0238ADD8
b _0238E734
_0238E564:
ldrsb r0, [r2, #0x4d]
bl IsScrollBoxActive
cmp r0, #0
bne _0238E734
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x4d]
bl CloseScrollBox
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mvn r2, #1
ldr r1, [r0]
mov r0, #0x14
strb r2, [r1, #0x4d]
bl ov22_0238ADD8
b _0238E734
_0238E5A0:
ldrsb r0, [r2, #0x4d]
bl IsScrollBoxActive
cmp r0, #0
bne _0238E734
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x4d]
bl CloseScrollBox
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mvn r2, #1
ldr r1, [r0]
mov r0, #0x20
strb r2, [r1, #0x4d]
bl ov22_0238ADD8
b _0238E734
_0238E5DC:
bl ov11_022DC504
mov r0, #3
b _0238E738
_0238E5E8:
ldrsb r0, [r2, #0x48]
bl IsDialogueBoxActive
cmp r0, #0
bne _0238E734
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r2, #0x10
ldr r1, [r0]
str r2, [r1, #0x10]
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl sub_0202F2C4
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x49]
bl HidePortraitBox
b _0238E734
_0238E638:
ldr r1, [r2, #0xc]
add r1, r1, #1
str r1, [r2, #0xc]
ldr r1, [r0]
ldr r0, [r1, #0xc]
cmp r0, #1
beq _0238E660
cmp r0, #3
beq _0238E6CC
b _0238E734
_0238E660:
ldrb r0, [r1, #8]
cmp r0, #0
ldrsb r0, [r1, #0x4a]
mvn r1, #1
beq _0238E6A0
cmp r0, r1
beq _0238E690
bl CloseCollectionMenu
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mvn r1, #1
ldr r0, [r0]
strb r1, [r0, #0x4a]
_0238E690:
bl sub_02044474
bl sub_020442CC
bl sub_020445C8
b _0238E734
_0238E6A0:
cmp r0, r1
beq _0238E6BC
bl CloseCollectionMenu
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mvn r1, #1
ldr r0, [r0]
strb r1, [r0, #0x4a]
_0238E6BC:
bl sub_02044474
bl sub_020442CC
bl sub_020445C8
b _0238E734
_0238E6CC:
ldr r0, _0238E7A4 ; =ov22_0238EC4C
bl Debug_Print0
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldr r0, [r0, #0x14]
bl ov22_0238ADD8
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #0
ldr r0, [r0]
str r1, [r0, #0xc]
b _0238E734
_0238E6F8:
mov r0, #0x20
str r0, [r2, #0x10]
b _0238E734
_0238E704:
ldrsb r0, [r2, #0x48]
bl IsDialogueBoxActive
cmp r0, #0
bne _0238E734
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl ShowDialogueBox
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldr r0, [r0, #0x14]
bl ov22_0238ADD8
_0238E734:
mov r0, #0
_0238E738:
cmp r0, #3
ldreq r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
moveq r1, #2
ldreq r0, [r0]
streq r1, [r0, #4]
b _0238E7DC
_0238E750:
ldrsb r0, [r2, #0x48]
bl IsDialogueBoxActive
cmp r0, #0
bne _0238E7DC
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x49]
bl HidePortraitBox
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl sub_0202F2C4
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mov r1, #3
ldr r0, [r0]
str r1, [r0, #4]
b _0238E7DC
.align 2, 0
_0238E794: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC70
_0238E798: .word 0x0001869F
_0238E79C: .word 0x00003F02
_0238E7A0: .word 0x00001308
_0238E7A4: .word ov22_0238EC4C
_0238E7A8:
ldrsb r0, [r2, #0x48]
bl sub_0202836C
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x49]
bl ClosePortraitBox
ldr r0, _0238E794 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
ldr r0, [r0]
ldrsb r0, [r0, #0x48]
bl CloseDialogueBox
bl ov11_022E6E68
mov r0, #4
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_0238E7DC:
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end ov22_0238D800
arm_func_start ov22_0238E7E4
ov22_0238E7E4: ; 0x0238E7E4
stmdb sp!, {r3, lr}
ldr r0, _0238E818 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mvn r1, #1
ldr r0, [r0]
ldrsb r0, [r0, #0x4c]
cmp r0, r1
ldmeqia sp!, {r3, pc}
bl CloseSimpleMenu
ldr r0, _0238E818 ; =OVERLAY22_UNKNOWN_POINTER__NA_238EC70
mvn r1, #1
ldr r0, [r0]
strb r1, [r0, #0x4c]
ldmia sp!, {r3, pc}
.align 2, 0
_0238E818: .word OVERLAY22_UNKNOWN_POINTER__NA_238EC70
arm_func_end ov22_0238E7E4
; 0x0238E81C
.rodata
.global SHOP_WINDOW_PARAMS_1
SHOP_WINDOW_PARAMS_1:
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x12, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global ov22_0238E82C
ov22_0238E82C:
.byte 0x5B, 0x43, 0x53, 0x3A, 0x57, 0x5D, 0x00, 0x00
.global ov22_0238E834
ov22_0238E834:
.byte 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00
.global SHOP_WINDOW_PARAMS_2
SHOP_WINDOW_PARAMS_2:
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x12, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global ov22_0238E84C
ov22_0238E84C:
.byte 0x5B, 0x43, 0x53, 0x3A, 0x57, 0x5D, 0x00, 0x00
.global ov22_0238E854
ov22_0238E854:
.byte 0x5B, 0x43, 0x52, 0x5D, 0x00, 0x00, 0x00, 0x00
.global OVERLAY22_UNKNOWN_STRUCT__NA_238E85C
OVERLAY22_UNKNOWN_STRUCT__NA_238E85C:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.global SHOP_MENU_ITEMS_CONFIRM
SHOP_MENU_ITEMS_CONFIRM:
#ifdef JAPAN
#define OV22_DATA_OFFSET 0x2EC5
#else
#define OV22_DATA_OFFSET 0
#endif
.word 0x336 + OV22_DATA_OFFSET
.byte 0x05, 0x00, 0x00, 0x00
.word 0x337 + OV22_DATA_OFFSET
.byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
.global SHOP_MAIN_MENU_ITEMS_1
SHOP_MAIN_MENU_ITEMS_1:
.word 0x338 + OV22_DATA_OFFSET
.byte 0x03, 0x00, 0x00, 0x00
.word 0x33B + OV22_DATA_OFFSET
.byte 0x07, 0x00, 0x00, 0x00
.word 0x33D + OV22_DATA_OFFSET
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
.global SHOP_MAIN_MENU_ITEMS_2
SHOP_MAIN_MENU_ITEMS_2:
.word 0x339 + OV22_DATA_OFFSET
.byte 0x02, 0x00, 0x00, 0x00
.word 0x33B + OV22_DATA_OFFSET
.byte 0x07, 0x00, 0x00, 0x00
.word 0x33D + OV22_DATA_OFFSET
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
.global SHOP_MAIN_MENU_ITEMS_3
SHOP_MAIN_MENU_ITEMS_3:
.word 0x339 + OV22_DATA_OFFSET
.byte 0x02, 0x00, 0x00, 0x00
.word 0x338 + OV22_DATA_OFFSET
.byte 0x03, 0x00, 0x00, 0x00
.word 0x33A + OV22_DATA_OFFSET
.byte 0x04, 0x00, 0x00, 0x00
.word 0x33B + OV22_DATA_OFFSET
.byte 0x07, 0x00, 0x00, 0x00
.word 0x33C + OV22_DATA_OFFSET
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
.global OVERLAY22_UNKNOWN_STRING_IDS
OVERLAY22_UNKNOWN_STRING_IDS:
.hword 0x33F + OV22_DATA_OFFSET
.global ov22_0238E8F2
ov22_0238E8F2:
.hword 0x340 + OV22_DATA_OFFSET
.global ov22_0238E8F4
ov22_0238E8F4:
.hword 0x341 + OV22_DATA_OFFSET
.global ov22_0238E8F6
ov22_0238E8F6:
.hword 0x342 + OV22_DATA_OFFSET
.global ov22_0238E8F8
ov22_0238E8F8:
.hword 0x343 + OV22_DATA_OFFSET
.global ov22_0238E8FA
ov22_0238E8FA:
.hword 0x344 + OV22_DATA_OFFSET
.global ov22_0238E8FC
ov22_0238E8FC:
.hword 0x345 + OV22_DATA_OFFSET
.global ov22_0238E8FE
ov22_0238E8FE:
.hword 0x346 + OV22_DATA_OFFSET
.global ov22_0238E900
ov22_0238E900:
.hword 0x347 + OV22_DATA_OFFSET
.global ov22_0238E902
ov22_0238E902:
.hword 0x348 + OV22_DATA_OFFSET
.global ov22_0238E904
ov22_0238E904:
.hword 0x349 + OV22_DATA_OFFSET
.global ov22_0238E906
ov22_0238E906:
.hword 0x34A + OV22_DATA_OFFSET
.global ov22_0238E908
ov22_0238E908:
.hword 0x34B + OV22_DATA_OFFSET
.global ov22_0238E90A
ov22_0238E90A:
.hword 0x34C + OV22_DATA_OFFSET
.global ov22_0238E90C
ov22_0238E90C:
.hword 0x34D + OV22_DATA_OFFSET
.global ov22_0238E90E
ov22_0238E90E:
.hword 0x34E + OV22_DATA_OFFSET
.global ov22_0238E910
ov22_0238E910:
.hword 0x34F + OV22_DATA_OFFSET
.global ov22_0238E912
ov22_0238E912:
.hword 0x350 + OV22_DATA_OFFSET
.global ov22_0238E914
ov22_0238E914:
.hword 0x351 + OV22_DATA_OFFSET
.global ov22_0238E916
ov22_0238E916:
.hword 0x352 + OV22_DATA_OFFSET
.global ov22_0238E918
ov22_0238E918:
.hword 0x353 + OV22_DATA_OFFSET
.global ov22_0238E91A
ov22_0238E91A:
.hword 0x354 + OV22_DATA_OFFSET
.global ov22_0238E91C
ov22_0238E91C:
.hword 0x355 + OV22_DATA_OFFSET
.global ov22_0238E91E
ov22_0238E91E:
.hword 0x356 + OV22_DATA_OFFSET, 0x357 + OV22_DATA_OFFSET, 0x358 + OV22_DATA_OFFSET, 0x359 + OV22_DATA_OFFSET, 0x35A + OV22_DATA_OFFSET, 0x35B + OV22_DATA_OFFSET, 0x35C + OV22_DATA_OFFSET
.hword 0x35D + OV22_DATA_OFFSET, 0x35E + OV22_DATA_OFFSET, 0x35F + OV22_DATA_OFFSET, 0x360 + OV22_DATA_OFFSET, 0x361 + OV22_DATA_OFFSET, 0x362 + OV22_DATA_OFFSET, 0x363 + OV22_DATA_OFFSET, 0x364 + OV22_DATA_OFFSET
.hword 0x365 + OV22_DATA_OFFSET, 0x366 + OV22_DATA_OFFSET, 0x367 + OV22_DATA_OFFSET, 0x368 + OV22_DATA_OFFSET, 0x369 + OV22_DATA_OFFSET, 0x36A + OV22_DATA_OFFSET, 0x36B + OV22_DATA_OFFSET, 0x36C + OV22_DATA_OFFSET
.hword 0x36D + OV22_DATA_OFFSET, 0x36E + OV22_DATA_OFFSET
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x12, 0x10, 0x00, 0xFE, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x14, 0x12, 0x02, 0x00, 0xFE, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x0F, 0x08, 0x03, 0x00, 0xFE, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global SHOP_WINDOW_PARAMS_6
SHOP_WINDOW_PARAMS_6:
.byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global SHOP_WINDOW_PARAMS_7
SHOP_WINDOW_PARAMS_7:
.byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x02, 0x08, 0x00, 0x00, 0xFE, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global SHOP_WINDOW_PARAMS_8
SHOP_WINDOW_PARAMS_8:
.byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global SHOP_WINDOW_PARAMS_9
SHOP_WINDOW_PARAMS_9:
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x18, 0x13, 0x00, 0xFF, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global SHOP_WINDOW_PARAMS_10
SHOP_WINDOW_PARAMS_10:
.byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x02, 0x08, 0x00, 0x00, 0xFE, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global ov22_0238E9D0
ov22_0238E9D0:
.byte 0x5F, 0x53, 0x54, 0x41, 0x52, 0x54, 0x0A, 0x00
.global ov22_0238E9D8
ov22_0238E9D8:
.byte 0x5F, 0x52, 0x45, 0x53
.byte 0x54, 0x41, 0x52, 0x54, 0x0A, 0x00, 0x00, 0x00
.global ov22_0238E9E4
ov22_0238E9E4:
.byte 0x5F, 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, 0x4D
.byte 0x45, 0x4E, 0x55, 0x0A, 0x00, 0x00, 0x00, 0x00
.global ov22_0238E9F4
ov22_0238E9F4:
.byte 0x5F, 0x45, 0x58, 0x50, 0x4C, 0x41, 0x4E, 0x41
.byte 0x54, 0x49, 0x4F, 0x4E, 0x0A, 0x00, 0x00, 0x00
.global ov22_0238EA04
ov22_0238EA04:
.byte 0x5F, 0x54, 0x48, 0x41, 0x4E, 0x4B, 0x53, 0x0A
.byte 0x00, 0x00, 0x00, 0x00
.global ov22_0238EA10
ov22_0238EA10:
.byte 0x5F, 0x53, 0x48, 0x4F, 0x50, 0x5F, 0x4E, 0x4F, 0x4E, 0x0A, 0x00, 0x00
.global ov22_0238EA1C
ov22_0238EA1C:
.byte 0x5F, 0x47, 0x4F, 0x4C, 0x44, 0x5F, 0x4E, 0x4F, 0x4E, 0x0A, 0x00, 0x00
.global ov22_0238EA28
ov22_0238EA28:
.byte 0x5F, 0x47, 0x4F, 0x4C
.byte 0x44, 0x5F, 0x4D, 0x41, 0x58, 0x0A, 0x00, 0x00
.global ov22_0238EA34
ov22_0238EA34:
.byte 0x5F, 0x47, 0x4F, 0x4C, 0x44, 0x5F, 0x46, 0x55
.byte 0x4C, 0x4C, 0x0A, 0x00
.global ov22_0238EA40
ov22_0238EA40:
.byte 0x5F, 0x53, 0x45, 0x4C, 0x4C, 0x5F, 0x4E, 0x4F, 0x4E, 0x0A, 0x00, 0x00
.global ov22_0238EA4C
ov22_0238EA4C:
.byte 0x5F, 0x49, 0x54, 0x45, 0x4D, 0x5F, 0x4E, 0x4F, 0x4E, 0x0A, 0x00, 0x00
.global ov22_0238EA58
ov22_0238EA58:
.byte 0x5F, 0x49, 0x54, 0x45
.byte 0x4D, 0x5F, 0x4D, 0x41, 0x58, 0x0A, 0x00, 0x00
.global ov22_0238EA64
ov22_0238EA64:
.byte 0x5F, 0x53, 0x4F, 0x4C, 0x44, 0x5F, 0x4F, 0x55
.byte 0x54, 0x0A, 0x00, 0x00
.global ov22_0238EA70
ov22_0238EA70:
.byte 0x5F, 0x42, 0x55, 0x59, 0x5F, 0x50, 0x4F, 0x4F, 0x52, 0x0A, 0x00, 0x00
.global ov22_0238EA7C
ov22_0238EA7C:
.byte 0x5F, 0x53, 0x45, 0x4C, 0x4C, 0x5F, 0x42, 0x41, 0x44, 0x0A, 0x00, 0x00
.global ov22_0238EA88
ov22_0238EA88:
.byte 0x5F, 0x53, 0x45, 0x4C
.byte 0x4C, 0x5F, 0x46, 0x55, 0x4C, 0x4C, 0x0A, 0x00
.global ov22_0238EA94
ov22_0238EA94:
.byte 0x5F, 0x4D, 0x4F, 0x44, 0x45, 0x5F, 0x42, 0x55
.byte 0x59, 0x5F, 0x53, 0x54, 0x41, 0x52, 0x54, 0x0A, 0x00, 0x00, 0x00, 0x00
.global ov22_0238EAA8
ov22_0238EAA8:
.byte 0x5F, 0x42, 0x55, 0x59
.byte 0x5F, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x0A, 0x00, 0x00, 0x00
.global ov22_0238EAB8
ov22_0238EAB8:
.byte 0x5F, 0x42, 0x55, 0x59
.byte 0x5F, 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, 0x0A, 0x00, 0x00, 0x00, 0x00
.global ov22_0238EAC8
ov22_0238EAC8:
.byte 0x5F, 0x42, 0x55, 0x59
.byte 0x5F, 0x52, 0x45, 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54, 0x0A, 0x00, 0x00
.global ov22_0238EAD8
ov22_0238EAD8:
.byte 0x5F, 0x53, 0x55, 0x42
.byte 0x5F, 0x4D, 0x45, 0x4E, 0x55, 0x5F, 0x42, 0x55, 0x59, 0x0A, 0x00, 0x00
.global ov22_0238EAE8
ov22_0238EAE8:
.byte 0x5F, 0x42, 0x55, 0x59
.byte 0x5F, 0x43, 0x4F, 0x4E, 0x46, 0x49, 0x52, 0x4D, 0x0A, 0x00, 0x00, 0x00
.global ov22_0238EAF8
ov22_0238EAF8:
.byte 0x5F, 0x42, 0x55, 0x59
.byte 0x5F, 0x45, 0x58, 0x50, 0x4C, 0x41, 0x20, 0x49, 0x74, 0x65, 0x6D, 0x25, 0x64, 0x20, 0x43, 0x6F
.byte 0x75, 0x6E, 0x74, 0x25, 0x64, 0x0A, 0x00, 0x00
.global ov22_0238EB14
ov22_0238EB14:
.byte 0x5B, 0x69, 0x74, 0x65, 0x6D, 0x3A, 0x30, 0x5D
.byte 0x00, 0x00, 0x00, 0x00
.global ov22_0238EB20
ov22_0238EB20:
.byte 0x5F, 0x42, 0x55, 0x59, 0x5F, 0x54, 0x48, 0x41, 0x4E, 0x4B, 0x53, 0x0A
.byte 0x00, 0x00, 0x00, 0x00
.global ov22_0238EB30
ov22_0238EB30:
.byte 0x5F, 0x53, 0x45, 0x4C, 0x4C, 0x5F, 0x53, 0x54, 0x41, 0x52, 0x54, 0x0A
.byte 0x00, 0x00, 0x00, 0x00
.global ov22_0238EB40
ov22_0238EB40:
.byte 0x5F, 0x53, 0x45, 0x4C, 0x4C, 0x5F, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52
.byte 0x54, 0x0A, 0x00, 0x00
.global ov22_0238EB50
ov22_0238EB50:
.byte 0x5F, 0x53, 0x45, 0x4C, 0x4C, 0x5F, 0x53, 0x45, 0x4C, 0x45, 0x43, 0x54
.byte 0x0A, 0x00, 0x00, 0x00
.global ov22_0238EB60
ov22_0238EB60:
.byte 0x5F, 0x53, 0x45, 0x4C, 0x4C, 0x5F, 0x52, 0x45, 0x53, 0x45, 0x4C, 0x45
.byte 0x43, 0x54, 0x0A, 0x00
.global ov22_0238EB70
ov22_0238EB70:
.byte 0x5F, 0x53, 0x45, 0x4C, 0x4C, 0x5F, 0x53, 0x55, 0x42, 0x5F, 0x4D, 0x45
.byte 0x4E, 0x55, 0x0A, 0x00
.global ov22_0238EB80
ov22_0238EB80:
.byte 0x5F, 0x53, 0x45, 0x4C, 0x4C, 0x5F, 0x43, 0x4F, 0x4E, 0x46, 0x49, 0x52
.byte 0x4D, 0x0A, 0x00, 0x00
.global ov22_0238EB90
ov22_0238EB90:
.byte 0x5F, 0x53, 0x45, 0x4C, 0x4C, 0x5F, 0x43, 0x4F, 0x4E, 0x46, 0x49, 0x52
.byte 0x4D, 0x20, 0x4E, 0x45, 0x57, 0x0A, 0x00, 0x00
.global ov22_0238EBA4
ov22_0238EBA4:
.byte 0x5F, 0x42, 0x55, 0x59, 0x5F, 0x43, 0x4F, 0x4E
.byte 0x46, 0x49, 0x52, 0x4D, 0x20, 0x4E, 0x45, 0x57, 0x0A, 0x00, 0x00, 0x00
.global ov22_0238EBB8
ov22_0238EBB8:
.byte 0x5F, 0x53, 0x45, 0x4C
.byte 0x4C, 0x5F, 0x45, 0x58, 0x50, 0x4C, 0x41, 0x0A, 0x00, 0x00, 0x00, 0x00
.global ov22_0238EBC8
ov22_0238EBC8:
.byte 0x5F, 0x53, 0x45, 0x4C
.byte 0x4C, 0x5F, 0x54, 0x48, 0x41, 0x4E, 0x4B, 0x53, 0x0A, 0x00, 0x00, 0x00
.global ov22_0238EBD8
ov22_0238EBD8:
.byte 0x5F, 0x53, 0x45, 0x4C
.byte 0x4C, 0x5F, 0x41, 0x4C, 0x4C, 0x0A, 0x00, 0x00
.global ov22_0238EBE4
ov22_0238EBE4:
.byte 0x5F, 0x42, 0x55, 0x54, 0x5F, 0x4D, 0x55, 0x4C
.byte 0x54, 0x49, 0x0A, 0x00
.global ov22_0238EBF0
ov22_0238EBF0:
.byte 0x5F, 0x53, 0x45, 0x4C, 0x4C, 0x5F, 0x4D, 0x55, 0x4C, 0x54, 0x49, 0x0A
.byte 0x00, 0x00, 0x00, 0x00
.global ov22_0238EC00
ov22_0238EC00:
.byte 0x5F, 0x41, 0x4C, 0x4C, 0x5F, 0x43, 0x4F, 0x4E, 0x46, 0x49, 0x52, 0x4D
.byte 0x0A, 0x00, 0x00, 0x00
.global ov22_0238EC10
ov22_0238EC10:
.byte 0x53, 0x45, 0x4C, 0x4C, 0x5F, 0x41, 0x4C, 0x4C, 0x5F, 0x54, 0x48, 0x41
.byte 0x4E, 0x4B, 0x53, 0x0A, 0x00, 0x00, 0x00, 0x00
.global ov22_0238EC24
ov22_0238EC24:
.byte 0x42, 0x55, 0x59, 0x5F, 0x4D, 0x55, 0x4C, 0x54
.byte 0x49, 0x5F, 0x54, 0x48, 0x41, 0x4E, 0x4B, 0x53, 0x0A, 0x00, 0x00, 0x00
.global ov22_0238EC38
ov22_0238EC38:
.byte 0x53, 0x45, 0x4C, 0x4C
.byte 0x5F, 0x4D, 0x55, 0x4C, 0x54, 0x49, 0x5F, 0x54, 0x48, 0x41, 0x4E, 0x4B, 0x53, 0x0A, 0x00, 0x00
.global ov22_0238EC4C
ov22_0238EC4C:
.byte 0x43, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x4A, 0x6F, 0x62, 0x0A, 0x00, 0x00
.data
.global OVERLAY22_UNKNOWN_POINTER__NA_238EC60
OVERLAY22_UNKNOWN_POINTER__NA_238EC60:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global OVERLAY22_UNKNOWN_POINTER__NA_238EC68
OVERLAY22_UNKNOWN_POINTER__NA_238EC68:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global OVERLAY22_UNKNOWN_POINTER__NA_238EC70
OVERLAY22_UNKNOWN_POINTER__NA_238EC70:
.byte 0x00, 0x00, 0x00, 0x00