pmd-sky/asm/overlay_26.s
2023-07-14 23:50:39 -04:00

697 lines
22 KiB
ArmAsm

.include "asm/macros.inc"
.include "overlay_26.inc"
.include "global.inc"
.text
arm_func_start ov26_0238A140
ov26_0238A140: ; 0x0238A140
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x10
add r0, sp, #0
bl sub_0204F158
cmp r0, #0
moveq r0, #0
beq _0238A528
add r1, sp, #0xc
add r2, sp, #8
mov r0, #2
bl sub_0204C5DC
ldr r0, [sp, #8]
mov r0, r0, lsl #0x18
mov r0, r0, asr #0x18
bl GetAcceptedMission
mov r5, r0
ldrb r2, [sp]
add r0, sp, #2
mov r1, r5
bl sub_0205F118
cmp r0, #0
bne _0238A1A8
mvn r0, #0
bl ov11_022E6E8C
mov r0, #0
b _0238A528
_0238A1A8:
mov r0, #0x9c
mov r1, #8
bl MemAlloc
ldr r1, _0238A530 ; =0x0238AF60
mov r4, #0
str r0, [r1]
str r4, [r0]
ldr r3, [sp, #8]
ldr r2, [r1]
mov r0, r4
strb r3, [r2, #0x8c]
ldr r2, [r1]
mov r1, #0x68
str r5, [r2, #0x90]
ldrb r2, [r5, #1]
bl SaveScriptVariableValue
ldrb r2, [r5, #2]
mov r0, r4
mov r1, #0x69
bl SaveScriptVariableValue
ldr r0, _0238A530 ; =0x0238AF60
ldr r0, [r0]
ldr r0, [r0, #0x90]
bl sub_0205F9D4
ldr r0, _0238A530 ; =0x0238AF60
ldr r0, [r0]
add r0, r0, #8
bl InitPreprocessorArgs
ldr r0, _0238A530 ; =0x0238AF60
mov r2, r4
ldr r3, [r0]
ldr r1, [r3, #0x90]
ldrsh r1, [r1, #0xe]
str r1, [r3, #8]
ldr r3, [r0]
ldr r1, [r3, #0x90]
ldrsh r1, [r1, #0x10]
str r1, [r3, #0xc]
ldr r3, [r0]
ldr r1, [r3, #0x90]
ldrsh r1, [r1, #0x14]
str r1, [r3, #0x18]
ldr r1, [r0]
str r2, [r1, #0x2c]
ldr r0, [r0]
add r0, r0, #0x60
bl sub_0206351C
ldr r0, _0238A530 ; =0x0238AF60
ldr r1, [r0]
ldr r0, [r1, #0x90]
add r1, r1, #0x60
bl sub_02062E5C
ldr r0, _0238A530 ; =0x0238AF60
mov r3, #2
ldr r1, [r0]
mov r2, r4
str r3, [r1, #0x5c]
ldr r1, [r0]
str r2, [r1, #0x98]
ldrsh r1, [sp, #4]
cmp r1, #0
ldrne r0, [r0]
ldrne r0, [r0, #0x90]
ldrneb r0, [r0, #1]
cmpne r0, #0xa
beq _0238A2B8
ldrsh r0, [sp, #4]
bl IncrementExclusiveMonsterCounts
_0238A2B8:
ldrsh r0, [sp, #6]
cmp r0, #0
beq _0238A2CC
ldrsh r0, [sp, #6]
bl IncrementExclusiveMonsterCounts
_0238A2CC:
ldr r0, _0238A530 ; =0x0238AF60
ldr r1, [r0]
ldr r2, [r1, #0x90]
ldrb r2, [r2, #1]
cmp r2, #0xc
addls pc, pc, r2, lsl #2
b _0238A504
_0238A2E8: ; jump table
b _0238A31C ; case 0
b _0238A328 ; case 1
b _0238A334 ; case 2
b _0238A340 ; case 3
b _0238A504 ; case 4
b _0238A504 ; case 5
b _0238A34C ; case 6
b _0238A358 ; case 7
b _0238A364 ; case 8
b _0238A370 ; case 9
b _0238A37C ; case 10
b _0238A3A0 ; case 11
b _0238A4C4 ; case 12
_0238A31C:
ldr r0, _0238A534 ; =0x0238AE92
str r0, [r1, #0x94]
b _0238A50C
_0238A328:
ldr r0, _0238A538 ; =0x0238AE86
str r0, [r1, #0x94]
b _0238A50C
_0238A334:
ldr r0, _0238A53C ; =0x0238AE7A
str r0, [r1, #0x94]
b _0238A50C
_0238A340:
ldr r0, _0238A540 ; =0x0238AE6E
str r0, [r1, #0x94]
b _0238A50C
_0238A34C:
ldr r0, _0238A544 ; =0x0238AE56
str r0, [r1, #0x94]
b _0238A50C
_0238A358:
ldr r0, _0238A548 ; =0x0238AE62
str r0, [r1, #0x94]
b _0238A50C
_0238A364:
ldr r0, _0238A54C ; =0x0238AE4A
str r0, [r1, #0x94]
b _0238A50C
_0238A370:
ldr r0, _0238A550 ; =0x0238AE3E
str r0, [r1, #0x94]
b _0238A50C
_0238A37C:
mov r2, #3
str r2, [r1, #0x5c]
ldr r1, [r0]
mov r2, #0x1f8
strh r2, [r1, #0x60]
ldr r0, [r0]
ldr r1, _0238A554 ; =0x0238AE32
str r1, [r0, #0x94]
b _0238A50C
_0238A3A0:
mov r2, #4
str r2, [r1, #0x5c]
ldr r2, [r0]
ldr r1, [r2, #0x90]
ldrb r1, [r1, #2]
str r1, [r2, #0x98]
ldr r0, [r0]
ldr r0, [r0, #0x98]
and r0, r0, #0xff
bl SetChallengeLetterCleared
ldr r0, _0238A530 ; =0x0238AF60
ldr r2, [r0]
ldr r1, [r2, #0x98]
cmp r1, #0
ldreq r0, _0238A558 ; =0x0238AE9E
streq r0, [r2, #0x94]
beq _0238A50C
ldr r4, [r2, #0x88]
ldr r1, _0238A55C ; =0x0238AE20
str r1, [r2, #0x94]
ldr r0, [r0]
add r0, r0, #0x60
bl sub_0206351C
ldr r0, _0238A530 ; =0x0238AF60
ldr r2, [r0]
ldr r1, [r2, #0x90]
ldrsh r1, [r1, #0xe]
strh r1, [r2, #0x60]
ldr r1, [r0]
str r4, [r1, #0x88]
ldr r2, [r0]
ldr r1, [r2, #0x90]
ldrb r0, [r1, #1]
cmp r0, #0xb
bne _0238A458
ldrb r0, [r1, #2]
add r0, r0, #0xff
and r0, r0, #0xff
cmp r0, #4
bhi _0238A458
add r0, r1, #4
bl GetOutlawLeaderLevel
ldr r1, _0238A530 ; =0x0238AF60
ldr r1, [r1]
str r0, [r1, #0x64]
b _0238A460
_0238A458:
mov r0, #1
str r0, [r2, #0x64]
_0238A460:
ldr r0, _0238A530 ; =0x0238AF60
mov r1, #0
arm_func_end ov26_0238A140
arm_func_start ov26_0238A468
ov26_0238A468: ; 0x0238A468
ldr r0, [r0]
ldr r0, [r0, #0x90]
ldrsh r0, [r0, #0xe]
bl IsMonsterOnTeam
cmp r0, #0
beq _0238A4A0
ldr r0, _0238A530 ; =0x0238AF60
mov r3, #0
ldr r2, [r0]
mov r1, #0x3e8
strb r3, [r2, #0x62]
ldr r0, [r0]
str r1, [r0, #0x68]
b _0238A50C
_0238A4A0:
ldr r0, _0238A530 ; =0x0238AF60
mov r1, #6
ldr r3, [r0]
ldr r2, [r3, #0x90]
ldrsh r2, [r2, #0xe]
strh r2, [r3, #0x84]
ldr r0, [r0]
strb r1, [r0, #0x62]
b _0238A50C
_0238A4C4:
add r0, r1, #0x60
ldr r4, [r1, #0x88]
bl sub_0206351C
ldr r0, _0238A530 ; =0x0238AF60
ldr r2, _0238A560 ; =0x000001E3
ldr r1, [r0]
mov r3, #0
strh r2, [r1, #0x60]
ldr r2, [r0]
ldr r1, _0238A55C ; =0x0238AE20
strb r3, [r2, #0x62]
ldr r2, [r0]
str r4, [r2, #0x88]
ldr r0, [r0]
str r1, [r0, #0x94]
b _0238A50C
_0238A504:
ldr r0, _0238A564 ; =0x0238AE26
str r0, [r1, #0x94]
_0238A50C:
ldr r1, _0238A530 ; =0x0238AF60
mvn r3, #1
ldr r2, [r1]
mov r0, #1
strb r3, [r2, #4]
ldr r1, [r1]
strb r3, [r1, #5]
_0238A528:
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
_0238A530: .word 0x0238AF60
_0238A534: .word 0x0238AE92
_0238A538: .word 0x0238AE86
_0238A53C: .word 0x0238AE7A
_0238A540: .word 0x0238AE6E
_0238A544: .word 0x0238AE56
_0238A548: .word 0x0238AE62
_0238A54C: .word 0x0238AE4A
_0238A550: .word 0x0238AE3E
_0238A554: .word 0x0238AE32
_0238A558: .word 0x0238AE9E
_0238A55C: .word 0x0238AE20
_0238A560: .word 0x000001E3
_0238A564: .word 0x0238AE26
arm_func_end ov26_0238A468
arm_func_start ov26_0238A568
ov26_0238A568: ; 0x0238A568
stmdb sp!, {r3, lr}
ldr r0, _0238A59C ; =0x0238AF60
ldr r0, [r0]
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl ov26_0238A90C
ldr r0, _0238A59C ; =0x0238AF60
ldr r0, [r0]
bl MemFree
ldr r0, _0238A59C ; =0x0238AF60
mov r1, #0
str r1, [r0]
ldmia sp!, {r3, pc}
.align 2, 0
_0238A59C: .word 0x0238AF60
arm_func_end ov26_0238A568
_0238A5A0:
.byte 0xF8, 0x40, 0x2D, 0xE9, 0x10, 0xD0, 0x4D, 0xE2, 0x48, 0x03, 0x9F, 0xE5, 0x00, 0x10, 0x90, 0xE5
.byte 0x00, 0x00, 0x91, 0xE5, 0x07, 0x00, 0x50, 0xE3, 0x00, 0xF1, 0x8F, 0x90, 0xCA, 0x00, 0x00, 0xEA
.byte 0x11, 0x00, 0x00, 0xEA, 0x05, 0x00, 0x00, 0xEA, 0x95, 0x00, 0x00, 0xEA, 0xA4, 0x00, 0x00, 0xEA
.byte 0xAA, 0x00, 0x00, 0xEA, 0xB3, 0x00, 0x00, 0xEA, 0xB9, 0x00, 0x00, 0xEA, 0xBE, 0x00, 0x00, 0xEA
.byte 0xD4, 0x00, 0xD1, 0xE1, 0x01, 0x10, 0xE0, 0xE3, 0x01, 0x00, 0x50, 0xE1, 0x02, 0x00, 0x00, 0x0A
.byte 0xE2, 0x92, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0xBB, 0x00, 0x00, 0x1A, 0xF4, 0x02, 0x9F, 0xE5
.byte 0x00, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0x00, 0x10, 0x80, 0xE5, 0xE4, 0x12, 0x9F, 0xE5
.byte 0x00, 0x20, 0x91, 0xE5, 0x94, 0x70, 0x92, 0xE5, 0x06, 0x00, 0x87, 0xE2, 0x94, 0x00, 0x82, 0xE5
.byte 0xB4, 0x40, 0xD7, 0xE1, 0x00, 0x00, 0x54, 0xE3, 0x00, 0x00, 0xA0, 0x03, 0x72, 0x00, 0x00, 0x0A
.byte 0xC4, 0x02, 0x9F, 0xE5, 0x01, 0x60, 0xA0, 0xE3, 0x00, 0x00, 0x54, 0xE1, 0x00, 0x00, 0x91, 0x05
.byte 0x98, 0x00, 0x90, 0x05, 0x00, 0x00, 0x84, 0x00, 0x00, 0x08, 0xA0, 0x01, 0x20, 0x48, 0xA0, 0x01
.byte 0xD0, 0x00, 0xD7, 0xE1, 0x05, 0x00, 0x50, 0xE3, 0x00, 0xF1, 0x8F, 0x90, 0x35, 0x00, 0x00, 0xEA
.byte 0x04, 0x00, 0x00, 0xEA, 0x0B, 0x00, 0x00, 0xEA, 0x12, 0x00, 0x00, 0xEA, 0x19, 0x00, 0x00, 0xEA
.byte 0x21, 0x00, 0x00, 0xEA, 0x29, 0x00, 0x00, 0xEA, 0x78, 0x02, 0x9F, 0xE5, 0x7C, 0x22, 0x9F, 0xE5
.byte 0x00, 0x10, 0x90, 0xE5, 0x3C, 0x00, 0xA0, 0xE3, 0x54, 0x20, 0x81, 0xE5, 0xB8, 0x6C, 0xF3, 0xEB
.byte 0x00, 0x50, 0xA0, 0xE1, 0x2C, 0x00, 0x00, 0xEA, 0x58, 0x02, 0x9F, 0xE5, 0x60, 0x22, 0x9F, 0xE5
.byte 0x00, 0x10, 0x90, 0xE5, 0x3D, 0x00, 0xA0, 0xE3, 0x54, 0x20, 0x81, 0xE5, 0xB0, 0x6C, 0xF3, 0xEB
.byte 0x00, 0x50, 0xA0, 0xE1, 0x24, 0x00, 0x00, 0xEA, 0x38, 0x02, 0x9F, 0xE5, 0x44, 0x22, 0x9F, 0xE5
.byte 0x00, 0x10, 0x90, 0xE5, 0x3F, 0x00, 0xA0, 0xE3, 0x54, 0x20, 0x81, 0xE5, 0xA8, 0x6C, 0xF3, 0xEB
.byte 0x00, 0x50, 0xA0, 0xE1, 0x1C, 0x00, 0x00, 0xEA, 0x18, 0x02, 0x9F, 0xE5, 0x00, 0x20, 0x90, 0xE5
.byte 0x90, 0x10, 0x92, 0xE5, 0xFE, 0x10, 0xD1, 0xE1, 0x54, 0x10, 0x82, 0xE5, 0x00, 0x00, 0x90, 0xE5
.byte 0x90, 0x00, 0x90, 0xE5, 0xFE, 0x50, 0xD0, 0xE1, 0x13, 0x00, 0x00, 0xEA, 0xF4, 0x01, 0x9F, 0xE5
.byte 0x00, 0x20, 0x90, 0xE5, 0x90, 0x10, 0x92, 0xE5, 0xF0, 0x11, 0xD1, 0xE1, 0x54, 0x10, 0x82, 0xE5
.byte 0x00, 0x00, 0x90, 0xE5, 0x90, 0x00, 0x90, 0xE5, 0xF0, 0x51, 0xD0, 0xE1, 0x0A, 0x00, 0x00, 0xEA
.byte 0xD0, 0x01, 0x9F, 0xE5, 0x06, 0x18, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0x00, 0x60, 0xA0, 0xE3
.byte 0x54, 0x10, 0x80, 0xE5, 0x04, 0x00, 0x00, 0xEA, 0xB8, 0x01, 0x9F, 0xE5, 0x07, 0x18, 0xA0, 0xE3
.byte 0x00, 0x00, 0x90, 0xE5, 0x00, 0x60, 0xA0, 0xE3, 0x54, 0x10, 0x80, 0xE5, 0x00, 0x00, 0x56, 0xE3
.byte 0x16, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x8D, 0xE2, 0x0F, 0x0C, 0xF3, 0xEB, 0x00, 0x00, 0x8D, 0xE2
.byte 0x05, 0x10, 0xA0, 0xE1, 0x1A, 0x0C, 0xF3, 0xEB, 0x88, 0x11, 0x9F, 0xE5, 0x01, 0x00, 0xE0, 0xE3
.byte 0x00, 0x10, 0x91, 0xE5, 0xD5, 0x10, 0xD1, 0xE1, 0x00, 0x00, 0x51, 0xE1, 0x06, 0x00, 0x00, 0x1A
.byte 0x00, 0x00, 0xA0, 0xE3, 0x03, 0x10, 0xA0, 0xE3, 0x01, 0x20, 0xA0, 0xE3, 0x86, 0x93, 0xF2, 0xEB
.byte 0x60, 0x11, 0x9F, 0xE5, 0x00, 0x10, 0x91, 0xE5, 0x05, 0x00, 0xC1, 0xE5, 0x54, 0x01, 0x9F, 0xE5
.byte 0x00, 0x10, 0x8D, 0xE2, 0x00, 0x00, 0x90, 0xE5, 0xD5, 0x00, 0xD0, 0xE1, 0xB7, 0x93, 0xF2, 0xEB
.byte 0x40, 0x11, 0x9F, 0xE5, 0x01, 0x00, 0xE0, 0xE3, 0x00, 0x10, 0x91, 0xE5, 0xD4, 0x10, 0xD1, 0xE1
.byte 0x00, 0x00, 0x51, 0xE1, 0x04, 0x00, 0x00, 0x1A, 0x00, 0x00, 0xA0, 0xE3, 0x37, 0x92, 0xF2, 0xEB
.byte 0x20, 0x11, 0x9F, 0xE5, 0x00, 0x10, 0x91, 0xE5, 0x04, 0x00, 0xC1, 0xE5, 0x14, 0x01, 0x9F, 0xE5
.byte 0xB2, 0x10, 0xD7, 0xE1, 0x00, 0x30, 0x90, 0xE5, 0x04, 0x20, 0xA0, 0xE1, 0xD4, 0x00, 0xD3, 0xE1
.byte 0x08, 0x30, 0x83, 0xE2, 0x6E, 0x92, 0xF2, 0xEB, 0x01, 0x00, 0xA0, 0xE3, 0x00, 0x00, 0x50, 0xE3
.byte 0xF0, 0x00, 0x9F, 0x15, 0x01, 0x10, 0xA0, 0x13, 0x00, 0x00, 0x90, 0x15, 0x00, 0x10, 0x80, 0x15
.byte 0xE0, 0x00, 0x9F, 0x05, 0x02, 0x10, 0xA0, 0x03, 0x00, 0x00, 0x90, 0x05, 0x00, 0x10, 0x80, 0x05
.byte 0x31, 0x00, 0x00, 0xEA, 0xD4, 0x00, 0xD1, 0xE1, 0x01, 0x10, 0xE0, 0xE3, 0x01, 0x00, 0x50, 0xE1
.byte 0x02, 0x00, 0x00, 0x0A, 0x51, 0x92, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x2A, 0x00, 0x00, 0x1A
.byte 0x31, 0x00, 0x00, 0xEB, 0xAC, 0x00, 0x9F, 0xE5, 0x0A, 0x30, 0xA0, 0xE3, 0x00, 0x20, 0x90, 0xE5
.byte 0x03, 0x10, 0xA0, 0xE3, 0x58, 0x30, 0x82, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x00, 0x10, 0x80, 0xE5
.byte 0x21, 0x00, 0x00, 0xEA, 0x58, 0x00, 0x91, 0xE5, 0x00, 0x00, 0x50, 0xE3, 0x01, 0x00, 0x40, 0xC2
.byte 0x58, 0x00, 0x81, 0xC5, 0x1C, 0x00, 0x00, 0xCA, 0x04, 0x00, 0xA0, 0xE3, 0x00, 0x00, 0x81, 0xE5
.byte 0x70, 0x00, 0x9F, 0xE5, 0x00, 0x20, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0x5C, 0x10, 0x90, 0xE5
.byte 0x60, 0x00, 0x80, 0xE2, 0xE7, 0xCA, 0xF2, 0xEB, 0x58, 0x00, 0x9F, 0xE5, 0x05, 0x10, 0xA0, 0xE3
.byte 0x00, 0x00, 0x90, 0xE5, 0x00, 0x10, 0x80, 0xE5, 0x22, 0xCB, 0xF2, 0xEB, 0x01, 0x00, 0x50, 0xE3
.byte 0x40, 0x00, 0x9F, 0x05, 0x06, 0x10, 0xA0, 0x03, 0x00, 0x00, 0x90, 0x05, 0x00, 0x10, 0x80, 0x05
.byte 0x09, 0x00, 0x00, 0xEA, 0xC2, 0xD1, 0xF2, 0xEB, 0x28, 0x00, 0x9F, 0xE5, 0x07, 0x10, 0xA0, 0xE3
.byte 0x00, 0x00, 0x90, 0xE5, 0x00, 0x10, 0x80, 0xE5, 0x03, 0x00, 0x00, 0xEA, 0x01, 0x00, 0xA0, 0xE3
.byte 0x69, 0x71, 0xFD, 0xEB, 0x04, 0x00, 0xA0, 0xE3, 0x00, 0x00, 0x00, 0xEA, 0x01, 0x00, 0xA0, 0xE3
.byte 0x10, 0xD0, 0x8D, 0xE2, 0xF8, 0x80, 0xBD, 0xE8, 0x60, 0xAF, 0x38, 0x02, 0x6D, 0x02, 0x00, 0x00
.byte 0x3C, 0x00, 0x01, 0x00, 0x3D, 0x00, 0x01, 0x00, 0x3F, 0x00, 0x01, 0x00
arm_func_start ov26_0238A90C
ov26_0238A90C: ; 0x0238A90C
stmdb sp!, {r3, lr}
ldr r0, _0238A96C ; =0x0238AF60
mvn r1, #1
ldr r0, [r0]
ldrsb r0, [r0, #4]
cmp r0, r1
beq _0238A93C
bl FreeDBox
ldr r0, _0238A96C ; =0x0238AF60
mvn r1, #1
ldr r0, [r0]
strb r1, [r0, #4]
_0238A93C:
ldr r0, _0238A96C ; =0x0238AF60
mvn r1, #1
ldr r0, [r0]
ldrsb r0, [r0, #5]
cmp r0, r1
ldmeqia sp!, {r3, pc}
bl FreePortraitBox
ldr r0, _0238A96C ; =0x0238AF60
mvn r1, #1
ldr r0, [r0]
strb r1, [r0, #5]
ldmia sp!, {r3, pc}
.align 2, 0
_0238A96C: .word 0x0238AF60
arm_func_end ov26_0238A90C
arm_func_start ov26_0238A970
ov26_0238A970: ; 0x0238A970
stmdb sp!, {r3, lr}
mov r0, #8
mov r1, r0
bl MemAlloc
ldr r1, _0238A998 ; =0x0238AF64
mov r2, #0
str r0, [r1]
str r2, [r0, #4]
mov r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
_0238A998: .word 0x0238AF64
arm_func_end ov26_0238A970
arm_func_start ov26_0238A99C
ov26_0238A99C: ; 0x0238A99C
stmdb sp!, {r3, lr}
ldr r0, _0238A9C4 ; =0x0238AF64
ldr r0, [r0]
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl MemFree
ldr r0, _0238A9C4 ; =0x0238AF64
mov r1, #0
str r1, [r0]
ldmia sp!, {r3, pc}
.align 2, 0
_0238A9C4: .word 0x0238AF64
arm_func_end ov26_0238A99C
arm_func_start ov26_0238A9C8
ov26_0238A9C8: ; 0x0238A9C8
stmdb sp!, {r4, lr}
ldr r0, _0238AA64 ; =0x0238AF64
ldr r0, [r0]
ldr r0, [r0, #4]
cmp r0, #0
bne _0238AA5C
bl sub_0205633C
cmp r0, #0
beq _0238A9FC
mov r0, #1
bl ov11_022E6E8C
mov r0, #4
ldmia sp!, {r4, pc}
_0238A9FC:
bl GetGameMode
cmp r0, #4
bne _0238AA10
bl sub_0204E780
b _0238AA14
_0238AA10:
bl sub_0204E770
_0238AA14:
mov r4, r0
mov r0, r4
bl GetMaxItemsAllowed
bl RemoveAllItemsStartingAt
mov r0, r4
bl IsMoneyAllowed
cmp r0, #0
bne _0238AA3C
mov r0, #0
bl SetMoneyCarried
_0238AA3C:
mov r0, r4
bl sub_020577BC
mov r0, #1
bl sub_02056318
mov r0, #1
bl ov11_022E6E8C
mov r0, #4
ldmia sp!, {r4, pc}
_0238AA5C:
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
_0238AA64: .word 0x0238AF64
arm_func_end ov26_0238A9C8
arm_func_start ov26_0238AA68
ov26_0238AA68: ; 0x0238AA68
stmdb sp!, {r3, lr}
mov r0, #8
mov r1, r0
bl MemAlloc
ldr r1, _0238AA90 ; =0x0238AF68
mov r2, #0
str r0, [r1]
str r2, [r0, #4]
mov r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
_0238AA90: .word 0x0238AF68
arm_func_end ov26_0238AA68
arm_func_start ov26_0238AA94
ov26_0238AA94: ; 0x0238AA94
stmdb sp!, {r3, lr}
ldr r0, _0238AABC ; =0x0238AF68
ldr r0, [r0]
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl MemFree
ldr r0, _0238AABC ; =0x0238AF68
mov r1, #0
str r1, [r0]
ldmia sp!, {r3, pc}
.align 2, 0
_0238AABC: .word 0x0238AF68
arm_func_end ov26_0238AA94
_0238AAC0:
.byte 0x18, 0x40, 0x2D, 0xE9, 0x04, 0xD0, 0x4D, 0xE2, 0x34, 0x01, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5
.byte 0x04, 0x00, 0x90, 0xE5, 0x03, 0x00, 0x50, 0xE3, 0x00, 0xF1, 0x8F, 0x90, 0x45, 0x00, 0x00, 0xEA
.byte 0x02, 0x00, 0x00, 0xEA, 0x32, 0x00, 0x00, 0xEA, 0x36, 0x00, 0x00, 0xEA, 0x3E, 0x00, 0x00, 0xEA
.byte 0x11, 0x2E, 0xF3, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x02, 0x00, 0x00, 0x1A, 0xD9, 0x70, 0xFD, 0xEB
.byte 0x04, 0x00, 0xA0, 0xE3, 0x3C, 0x00, 0x00, 0xEA, 0x2C, 0x01, 0xF3, 0xEB, 0x00, 0x00, 0x8D, 0xE2
.byte 0xA7, 0x11, 0xF3, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x03, 0x00, 0x00, 0x0A, 0xD0, 0x00, 0xDD, 0xE1
.byte 0x15, 0x43, 0xF3, 0xEB, 0x04, 0x40, 0xD0, 0xE5, 0x01, 0x00, 0x00, 0xEA, 0x5B, 0x11, 0xF3, 0xEB
.byte 0x00, 0x40, 0xA0, 0xE1, 0x25, 0x01, 0xF3, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x15, 0x00, 0x00, 0x0A
.byte 0x00, 0x00, 0xA0, 0xE3, 0x2B, 0x10, 0xA0, 0xE3, 0x67, 0x02, 0xF3, 0xEB, 0x00, 0x10, 0xA0, 0xE1
.byte 0x08, 0x00, 0x41, 0xE2, 0x01, 0x00, 0x50, 0xE3, 0x04, 0x00, 0x00, 0x8A, 0xA4, 0x00, 0x9F, 0xE5
.byte 0xA5, 0x05, 0xF2, 0xEB, 0xEB, 0x09, 0xF3, 0xEB, 0x2E, 0x14, 0xF3, 0xEB, 0x09, 0x00, 0x00, 0xEA
.byte 0x0A, 0x00, 0x41, 0xE2, 0x01, 0x00, 0x50, 0xE3, 0x04, 0x00, 0x00, 0x8A, 0x88, 0x00, 0x9F, 0xE5
.byte 0x9D, 0x05, 0xF2, 0xEB, 0xE3, 0x09, 0xF3, 0xEB, 0xC8, 0x15, 0xF3, 0xEB, 0x01, 0x00, 0x00, 0xEA
.byte 0x78, 0x00, 0x9F, 0xE5, 0x98, 0x05, 0xF2, 0xEB, 0x04, 0x00, 0xA0, 0xE1, 0x0F, 0x37, 0xF3, 0xEB
.byte 0x5C, 0x00, 0x9F, 0xE5, 0x01, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0x04, 0x10, 0x80, 0xE5
.byte 0x10, 0x00, 0x00, 0xEA, 0x6C, 0xCA, 0xFC, 0xEB, 0x44, 0x00, 0x9F, 0xE5, 0x02, 0x10, 0xA0, 0xE3
.byte 0x00, 0x00, 0x90, 0xE5, 0x04, 0x10, 0x80, 0xE5, 0x77, 0xCA, 0xFC, 0xEB, 0x01, 0x00, 0x50, 0xE3
.byte 0x08, 0x00, 0x00, 0x0A, 0xCF, 0xCA, 0xFC, 0xEB, 0x24, 0x00, 0x9F, 0xE5, 0x03, 0x10, 0xA0, 0xE3
.byte 0x00, 0x00, 0x90, 0xE5, 0x04, 0x10, 0x80, 0xE5, 0x02, 0x00, 0x00, 0xEA, 0x9D, 0x70, 0xFD, 0xEB
.byte 0x04, 0x00, 0xA0, 0xE3, 0x00, 0x00, 0x00, 0xEA, 0x01, 0x00, 0xA0, 0xE3, 0x04, 0xD0, 0x8D, 0xE2
.byte 0x18, 0x80, 0xBD, 0xE8, 0x68, 0xAF, 0x38, 0x02, 0xAC, 0xAE, 0x38, 0x02, 0xE4, 0xAE, 0x38, 0x02
.byte 0x18, 0xAF, 0x38, 0x02
arm_func_start ov26_0238AC14
ov26_0238AC14: ; 0x0238AC14
stmdb sp!, {r3, lr}
mov r0, #8
mov r1, r0
bl MemAlloc
ldr r1, _0238AC3C ; =0x0238AF6C
mov r2, #0
str r0, [r1]
str r2, [r0, #4]
mov r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
_0238AC3C: .word 0x0238AF6C
arm_func_end ov26_0238AC14
arm_func_start ov26_0238AC40
ov26_0238AC40: ; 0x0238AC40
stmdb sp!, {r3, lr}
ldr r0, _0238AC68 ; =0x0238AF6C
ldr r0, [r0]
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl MemFree
ldr r0, _0238AC68 ; =0x0238AF6C
mov r1, #0
str r1, [r0]
ldmia sp!, {r3, pc}
.align 2, 0
_0238AC68: .word 0x0238AF6C
arm_func_end ov26_0238AC40
arm_func_start ov26_0238AC6C
ov26_0238AC6C: ; 0x0238AC6C
stmdb sp!, {r3, lr}
ldr r0, _0238ACD4 ; =0x0238AF6C
ldr r0, [r0]
ldr r0, [r0, #4]
cmp r0, #0
beq _0238AC90
cmp r0, #1
beq _0238ACC0
b _0238ACCC
_0238AC90:
bl sub_0205633C
cmp r0, #0
bne _0238ACA8
bl ov11_0230CDE0
mov r0, #4
ldmia sp!, {r3, pc}
_0238ACA8:
bl sub_020587C8
ldr r0, _0238ACD4 ; =0x0238AF6C
mov r1, #1
ldr r0, [r0]
str r1, [r0, #4]
b _0238ACCC
_0238ACC0:
bl ov00_022E6E68
mov r0, #4
ldmia sp!, {r3, pc}
_0238ACCC:
mov r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
_0238ACD4: .word 0x0238AF6C
arm_func_end ov26_0238AC6C
arm_func_start ov26_0238ACD8
ov26_0238ACD8: ; 0x0238ACD8
stmdb sp!, {r3, lr}
mov r0, #8
mov r1, r0
bl MemAlloc
ldr r1, _0238AD0C ; =0x0238AF70
mov r2, #0
str r0, [r1]
str r2, [r0]
ldr r0, [r1]
mov r1, #5
strh r1, [r0, #4]
mov r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
_0238AD0C: .word 0x0238AF70
arm_func_end ov26_0238ACD8
arm_func_start ov26_0238AD10
ov26_0238AD10: ; 0x0238AD10
stmdb sp!, {r3, lr}
ldr r0, _0238AD38 ; =0x0238AF70
ldr r0, [r0]
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl MemFree
ldr r0, _0238AD38 ; =0x0238AF70
mov r1, #0
str r1, [r0]
ldmia sp!, {r3, pc}
.align 2, 0
_0238AD38: .word 0x0238AF70
arm_func_end ov26_0238AD10
_0238AD3C:
.byte 0x08, 0x40, 0x2D, 0xE9
.byte 0xE8, 0xD0, 0x4D, 0xE2, 0xD0, 0x00, 0x9F, 0xE5, 0x00, 0x20, 0x90, 0xE5, 0x00, 0x10, 0x92, 0xE5
.byte 0x03, 0x00, 0x51, 0xE3, 0x01, 0xF1, 0x8F, 0x90, 0x28, 0x00, 0x00, 0xEA, 0x02, 0x00, 0x00, 0xEA
.byte 0x10, 0x00, 0x00, 0xEA, 0x1E, 0x00, 0x00, 0xEA, 0x24, 0x00, 0x00, 0xEA, 0x00, 0x00, 0x8D, 0xE2
.byte 0x33, 0x11, 0xF3, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x9C, 0x00, 0x9F, 0x05, 0x03, 0x10, 0xA0, 0x03
.byte 0x00, 0x00, 0x90, 0x05, 0x00, 0x10, 0x80, 0x05, 0x20, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x8D, 0xE2
.byte 0x40, 0xEE, 0xF2, 0xEB, 0x80, 0x00, 0x9F, 0xE5, 0x01, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5
.byte 0x00, 0x10, 0x80, 0xE5, 0x19, 0x00, 0x00, 0xEA, 0xF4, 0x10, 0xD2, 0xE1, 0x01, 0x10, 0x41, 0xE2
.byte 0xB4, 0x10, 0xC2, 0xE1, 0x00, 0x10, 0x90, 0xE5, 0xF4, 0x00, 0xD1, 0xE1, 0x00, 0x00, 0x50, 0xE3
.byte 0x12, 0x00, 0x00, 0xCA, 0x00, 0x00, 0xA0, 0xE3, 0xB4, 0x00, 0xC1, 0xE1, 0x5B, 0xEE, 0xF2, 0xEB
.byte 0x44, 0x00, 0x9F, 0xE5, 0x02, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0x00, 0x10, 0x80, 0xE5
.byte 0x0A, 0x00, 0x00, 0xEA, 0x64, 0xEE, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x28, 0x00, 0x9F, 0x05
.byte 0x03, 0x10, 0xA0, 0x03, 0x00, 0x00, 0x90, 0x05, 0x00, 0x10, 0x80, 0x05
arm_func_start ov26_0238ADFC
ov26_0238ADFC: ; 0x0238ADFC
b _0238AE10
_0238AE00:
.byte 0x15, 0xEE, 0xF2, 0xEB, 0x17, 0x70, 0xFD, 0xEB, 0x04, 0x00, 0xA0, 0xE3, 0x00, 0x00, 0x00, 0xEA
_0238AE10:
mov r0, #1
add sp, sp, #0xe8
ldmia sp!, {r3, pc}
arm_func_end ov26_0238ADFC
; 0x0238AE1C
.byte 0x70, 0xAF, 0x38, 0x02, 0xFF, 0x00, 0x18, 0x02, 0x00, 0x00, 0x03, 0x00, 0x18, 0x32, 0x61, 0x02
.byte 0xFF, 0x00, 0x18, 0x02, 0x00, 0x00, 0x03, 0x00, 0x18, 0x32, 0x6C, 0x02, 0xFF, 0x00, 0x18, 0x02
.byte 0x00, 0x00, 0x03, 0x00, 0x18, 0x32, 0x6B, 0x02, 0xFF, 0x00, 0x18, 0x02, 0x00, 0x00, 0x03, 0x00
.byte 0x18, 0x32, 0x6A, 0x02, 0xFF, 0x00, 0x18, 0x02, 0x00, 0x00, 0x03, 0x00, 0x18, 0x32, 0x68, 0x02
.byte 0xFF, 0x00, 0x18, 0x02, 0x00, 0x00, 0x03, 0x00, 0x18, 0x32, 0x69, 0x02, 0xFF, 0x00, 0x18, 0x02
.byte 0x00, 0x00, 0x03, 0x00, 0x18, 0x32, 0x65, 0x02, 0xFF, 0x00, 0x18, 0x02, 0x00, 0x00, 0x03, 0x00
.byte 0x18, 0x32, 0x64, 0x02, 0xFF, 0x00, 0x18, 0x02, 0x00, 0x00, 0x03, 0x00, 0x18, 0x32, 0x63, 0x02
.byte 0xFF, 0x00, 0x18, 0x02, 0x00, 0x00, 0x03, 0x00, 0x18, 0x32, 0x62, 0x02, 0xFF, 0x00, 0x18, 0x02
.byte 0x00, 0x00, 0x03, 0x00, 0x18, 0x32, 0x6D, 0x02, 0xFF, 0x00, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00
.byte 0x55, 0x4E, 0x49, 0x54, 0x20, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4E, 0x20, 0x25, 0x33, 0x64, 0x20
.byte 0x63, 0x6F, 0x6E, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x20, 0x3D
.byte 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D
.byte 0x3D, 0x3D, 0x3D, 0x3D, 0x0A, 0x00, 0x00, 0x00, 0x55, 0x4E, 0x49, 0x54, 0x20, 0x52, 0x45, 0x54
.byte 0x55, 0x52, 0x4E, 0x20, 0x25, 0x33, 0x64, 0x20, 0x64, 0x65, 0x61, 0x64, 0x20, 0x63, 0x6F, 0x75
.byte 0x6E, 0x74, 0x20, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D
.byte 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x0A, 0x00, 0x00, 0x00, 0x55, 0x4E, 0x49, 0x54
.byte 0x20, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4E, 0x20, 0x25, 0x33, 0x64, 0x20, 0x6E, 0x6F, 0x20, 0x63
.byte 0x6F, 0x75, 0x6E, 0x74, 0x20, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D
.byte 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00