mirror of
https://github.com/pret/pmd-sky.git
synced 2026-04-25 15:42:34 -05:00
2618 lines
63 KiB
ArmAsm
2618 lines
63 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "overlay_16.inc"
|
|
|
|
.text
|
|
|
|
arm_func_start ov16_0238A140
|
|
ov16_0238A140: ; 0x0238A140
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x128
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x70]
|
|
ldr r0, [r1]
|
|
ldr r2, [r0, #0x70]
|
|
cmp r2, #0x2c
|
|
addls pc, pc, r2, lsl #2
|
|
b _0238B0C4
|
|
_0238A168: ; jump table
|
|
b _0238A21C ; case 0
|
|
b _0238A274 ; case 1
|
|
b _0238A2D8 ; case 2
|
|
b _0238A344 ; case 3
|
|
b _0238A370 ; case 4
|
|
b _0238B0C4 ; case 5
|
|
b _0238A318 ; case 6
|
|
b _0238A928 ; case 7
|
|
b _0238A95C ; case 8
|
|
b _0238A9C4 ; case 9
|
|
b _0238AEA0 ; case 10
|
|
b _0238AE3C ; case 11
|
|
b _0238AE6C ; case 12
|
|
b _0238A640 ; case 13
|
|
b _0238A614 ; case 14
|
|
b _0238AE74 ; case 15
|
|
b _0238A574 ; case 16
|
|
b _0238A5D8 ; case 17
|
|
b _0238A480 ; case 18
|
|
b _0238A50C ; case 19
|
|
b _0238A440 ; case 20
|
|
b _0238B0C4 ; case 21
|
|
b _0238A730 ; case 22
|
|
b _0238A850 ; case 23
|
|
b _0238B0C4 ; case 24
|
|
b _0238B0C4 ; case 25
|
|
b _0238A668 ; case 26
|
|
b _0238A6F4 ; case 27
|
|
b _0238A9F4 ; case 28
|
|
b _0238AA58 ; case 29
|
|
b _0238AA94 ; case 30
|
|
b _0238AAD8 ; case 31
|
|
b _0238AFF8 ; case 32
|
|
b _0238AED8 ; case 33
|
|
b _0238AF98 ; case 34
|
|
b _0238AFD0 ; case 35
|
|
b _0238B0C4 ; case 36
|
|
b _0238AFEC ; case 37
|
|
b _0238B0C4 ; case 38
|
|
b _0238B038 ; case 39
|
|
b _0238B0C4 ; case 40
|
|
b _0238B0C4 ; case 41
|
|
b _0238B0C4 ; case 42
|
|
b _0238B0C4 ; case 43
|
|
b _0238A424 ; case 44
|
|
_0238A21C:
|
|
bl ov16_0238CBD0
|
|
cmp r0, #0
|
|
bne _0238A240
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r1, #0xf
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A240:
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r2, _0238B0D0 ; =0x00000431
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238A274:
|
|
bl ov16_0238CBD0
|
|
cmp r0, #0
|
|
bne _0238A298
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r1, #0xf
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A298:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDBox
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r3, #6
|
|
ldr r1, [r0]
|
|
ldr r2, _0238B0D4 ; =0x00000432
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238A2D8:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDBox
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r3, #1
|
|
ldr r1, [r0]
|
|
add r2, r3, #0x440
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238A318:
|
|
ldr r0, _0238B0D8 ; =0x0238CDE4
|
|
mov r4, #3
|
|
ldr r1, _0238B0DC ; =0x00300011
|
|
ldr r3, _0238B0E0 ; =0x0238CD40
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateNormalMenu
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238B0C4
|
|
_0238A344:
|
|
mov r1, #1
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r2, _0238B0E4 ; =0x00000442
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238A370:
|
|
mov r1, #5
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x88]
|
|
cmp r0, #0
|
|
ble _0238A394
|
|
bl sub_020572EC
|
|
_0238A394:
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x88]
|
|
cmp r1, #1
|
|
ble _0238A3DC
|
|
mov r1, #4
|
|
str r1, [r2, #0x74]
|
|
ldr r1, [r0]
|
|
ldr r2, _0238B0E8 ; =0x00000449
|
|
ldrsb r0, [r1, #0xc1]
|
|
add r3, r1, #0xe8
|
|
mov r1, #0x18
|
|
bl ShowMessageInDBox
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x88]
|
|
b _0238B0C4
|
|
_0238A3DC:
|
|
bl ov16_0238CBD0
|
|
cmp r0, #0
|
|
mov r1, #0x18
|
|
bne _0238A408
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r2, #0x440
|
|
ldr r3, [r0]
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238A408:
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
add r2, r1, #0x430
|
|
ldr r3, [r0]
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238A424:
|
|
mov r2, #5
|
|
str r2, [r0, #0xd8]
|
|
ldr r0, [r1]
|
|
mov r1, #1
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A440:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDBox
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r3, #0x27
|
|
ldr r1, [r0]
|
|
rsb r2, r3, #0x460
|
|
str r3, [r1, #0x74]
|
|
arm_func_end ov16_0238A140
|
|
|
|
arm_func_start ov16_0238A468
|
|
ov16_0238A468: ; 0x0238A468
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238A480:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r2, #0xa
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #0x3c]
|
|
add r0, r0, #0x138
|
|
add r1, r1, #0x3a
|
|
bl StrncpySimpleNoPadSafe
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r2, [r0]
|
|
add r1, r2, #0x138
|
|
str r1, [r2, #0x120]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
str r1, [r2, #0xe8]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
str r1, [r2, #0xec]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDBox
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r1, #8
|
|
mov r4, #0x13
|
|
ldr r3, [r0]
|
|
add r2, r1, #0x430
|
|
str r4, [r3, #0x74]
|
|
ldr r3, [r0]
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238A50C:
|
|
ldr r2, [r0, #0x40]
|
|
mov r1, #0
|
|
add r0, r0, r2, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
bl IsMonsterOnTeam
|
|
cmp r0, #0
|
|
ldrne r0, _0238B0CC ; =ov16_0238CE40
|
|
movne r1, #0x1a
|
|
ldreq r0, _0238B0CC ; =ov16_0238CE40
|
|
moveq r1, #0x1c
|
|
ldr r0, [r0]
|
|
mov r4, #2
|
|
str r1, [r0, #0x74]
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r3, _0238B0EC ; =0x0238CD08
|
|
ldr r1, [r0]
|
|
ldr r0, _0238B0D8 ; =0x0238CDE4
|
|
str r4, [r1, #0x78]
|
|
ldr r1, _0238B0F0 ; =0x00300013
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateNormalMenu
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238B0C4
|
|
_0238A574:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r2, [r0]
|
|
ldrsh r1, [r2, #0x44]
|
|
orr r1, r1, #0x20000
|
|
str r1, [r2, #0xe8]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
str r1, [r2, #0xec]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDBox
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r3, #0x11
|
|
ldr r1, [r0]
|
|
ldr r2, _0238B0F4 ; =0x00000434
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238A5D8:
|
|
mov r2, #0x1c
|
|
str r2, [r0, #0x74]
|
|
ldr r0, [r1]
|
|
mov r4, #2
|
|
str r4, [r0, #0x78]
|
|
ldr r0, _0238B0D8 ; =0x0238CDE4
|
|
ldr r1, _0238B0F0 ; =0x00300013
|
|
ldr r3, _0238B0EC ; =0x0238CD08
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateNormalMenu
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238B0C4
|
|
_0238A614:
|
|
ldr r0, _0238B0F8 ; =0x0238CDD4
|
|
mov r4, #3
|
|
ldr r3, _0238B0FC ; =0x0238CD20
|
|
mov r1, #0x13
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateNormalMenu
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238B0C4
|
|
_0238A640:
|
|
ldr r1, [r0, #0x3c]
|
|
add r0, sp, #0x18
|
|
bl sub_0205B008
|
|
add r0, sp, #0x18
|
|
mov r1, #3
|
|
bl sub_0203F150
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc4]
|
|
b _0238B0C4
|
|
_0238A668:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r2, #0xa
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #0x3c]
|
|
add r0, r0, #0x138
|
|
add r1, r1, #0x3a
|
|
bl StrncpySimpleNoPadSafe
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r2, [r0]
|
|
add r1, r2, #0x138
|
|
str r1, [r2, #0x120]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
str r1, [r2, #0xe8]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
str r1, [r2, #0xec]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDBox
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r4, #0x1b
|
|
ldr r2, [r0]
|
|
mov r1, #8
|
|
str r4, [r2, #0x74]
|
|
ldr r3, [r0]
|
|
add r2, r4, #0x420
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238A6F4:
|
|
mov r2, #0x1c
|
|
str r2, [r0, #0x74]
|
|
ldr r0, [r1]
|
|
mov r4, #2
|
|
str r4, [r0, #0x78]
|
|
ldr r0, _0238B0D8 ; =0x0238CDE4
|
|
ldr r1, _0238B0F0 ; =0x00300013
|
|
ldr r3, _0238B0EC ; =0x0238CD08
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateNormalMenu
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238B0C4
|
|
_0238A730:
|
|
mov r2, #0
|
|
str r2, [r0, #0x40]
|
|
ldr r3, [r1]
|
|
ldr r0, _0238B100 ; =0x00000125
|
|
ldr r1, [r3, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
cmp r1, r0
|
|
addne r0, r0, #0x258
|
|
cmpne r1, r0
|
|
moveq r0, #0
|
|
beq _0238A7DC
|
|
mov r1, r2
|
|
_0238A760:
|
|
add r0, r3, r1, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
add r1, r1, #1
|
|
cmp r0, #0
|
|
addne r2, r2, #1
|
|
cmp r1, #8
|
|
blt _0238A760
|
|
cmp r2, #1
|
|
bne _0238A7D8
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r3, #0
|
|
_0238A78C:
|
|
ldr r2, [r0]
|
|
add r1, r2, r3, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
cmp r1, #0
|
|
beq _0238A7C4
|
|
strh r1, [r2, #0xc]
|
|
ldr r2, [r0]
|
|
add r1, r2, r3, lsl #1
|
|
ldrsh r1, [r1, #0x1c]
|
|
strh r1, [r2, #0x1c]
|
|
ldr r2, [r0]
|
|
add r1, r2, r3, lsl #1
|
|
ldrsh r1, [r1, #0x2c]
|
|
strh r1, [r2, #0x2c]
|
|
_0238A7C4:
|
|
add r3, r3, #1
|
|
cmp r3, #8
|
|
blt _0238A78C
|
|
mov r0, #1
|
|
b _0238A7DC
|
|
_0238A7D8:
|
|
mov r0, #2
|
|
_0238A7DC:
|
|
cmp r0, #0
|
|
beq _0238A7F0
|
|
cmp r0, #1
|
|
beq _0238A820
|
|
b _0238A838
|
|
_0238A7F0:
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r0]
|
|
ldrsh r0, [r1, #0xc]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
streq r0, [r1, #0x40]
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r1, #0x10
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A820:
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r1, #0x17
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A838:
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r1, #0x14
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A850:
|
|
ldrsh r2, [r0, #0x44]
|
|
orr r2, r2, #0x20000
|
|
str r2, [r0, #0xe8]
|
|
ldr r2, [r1]
|
|
ldr r0, [r2, #0x40]
|
|
add r0, r2, r0, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
str r0, [r2, #0xec]
|
|
ldr r2, [r1]
|
|
ldr r0, [r2, #0x40]
|
|
add r0, r2, r0, lsl #1
|
|
ldrsh r0, [r0, #0x1c]
|
|
str r0, [r2, #0xf8]
|
|
ldr r2, [r1]
|
|
ldr r0, [r2, #0x40]
|
|
add r0, r2, r0, lsl #1
|
|
ldrsh r0, [r0, #0x2c]
|
|
str r0, [r2, #0xfc]
|
|
ldr r1, [r1]
|
|
ldr r0, [r1, #0xf8]
|
|
cmp r0, #0
|
|
ldreq r0, [r1, #0xfc]
|
|
streq r0, [r1, #0xf8]
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r1, #0
|
|
ldr r3, [r0]
|
|
ldr r2, [r3, #0x40]
|
|
add r0, r3, r2, lsl #1
|
|
ldrsh r0, [r0, #0x1c]
|
|
cmp r0, #0
|
|
add r0, r3, r2, lsl #1
|
|
ldrsh r0, [r0, #0x2c]
|
|
addne r1, r1, #1
|
|
cmp r0, #0
|
|
addne r1, r1, #1
|
|
cmp r1, #0
|
|
beq _0238A8F8
|
|
cmp r1, #1
|
|
beq _0238A908
|
|
cmp r1, #2
|
|
beq _0238A918
|
|
b _0238B0C4
|
|
_0238A8F8:
|
|
mov r0, #0x12
|
|
str r0, [r3, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A908:
|
|
mov r0, #7
|
|
str r0, [r3, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A918:
|
|
mov r0, #9
|
|
str r0, [r3, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238A928:
|
|
bl ov16_0238CAE8
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r3, #8
|
|
ldr r1, [r0]
|
|
ldr r2, _0238B104 ; =0x0000043E
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238A95C:
|
|
ldr r2, [r0, #0x40]
|
|
mov r1, #0
|
|
add r0, r0, r2, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
bl IsMonsterOnTeam
|
|
cmp r0, #0
|
|
ldrne r0, _0238B0CC ; =ov16_0238CE40
|
|
movne r1, #0x1a
|
|
ldreq r0, _0238B0CC ; =ov16_0238CE40
|
|
moveq r1, #0x1c
|
|
ldr r0, [r0]
|
|
mov r4, #2
|
|
str r1, [r0, #0x74]
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r3, _0238B0EC ; =0x0238CD08
|
|
ldr r1, [r0]
|
|
ldr r0, _0238B0D8 ; =0x0238CDE4
|
|
str r4, [r1, #0x78]
|
|
ldr r1, _0238B0F0 ; =0x00300013
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateNormalMenu
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238B0C4
|
|
_0238A9C4:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r3, #8
|
|
ldr r1, [r0]
|
|
ldr r2, _0238B108 ; =0x0000043A
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238A9F4:
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl sub_0202F2C4
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r3, #0x14
|
|
ldr r1, [r0]
|
|
mov r2, #3
|
|
str r3, [r1, #0xe4]
|
|
ldr r1, [r0]
|
|
mov r3, #0
|
|
str r2, [r1, #0xd8]
|
|
ldr r4, [r0]
|
|
mov r1, #0x1d
|
|
ldr r2, [r4, #0x3c]
|
|
ldrsh r2, [r2, #4]
|
|
strh r2, [r4, #0xdc]
|
|
ldr r4, [r0]
|
|
ldr r2, [r4, #0x40]
|
|
add r2, r4, r2, lsl #1
|
|
ldrsh r2, [r2, #0xc]
|
|
strh r2, [r4, #0xde]
|
|
ldr r2, [r0]
|
|
str r3, [r2, #0xe0]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
b _0238B0C4
|
|
_0238AA58:
|
|
ldrsh r3, [r0, #0x44]
|
|
mov r2, #0x1e
|
|
orr r3, r3, #0x20000
|
|
str r3, [r0, #0xe8]
|
|
ldr r0, [r1]
|
|
str r2, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r2, _0238B10C ; =0x0000043C
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238AA94:
|
|
mov r1, #0x1f
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r2, #3
|
|
ldr r1, [r0]
|
|
ldr r3, _0238B110 ; =0x0000140F
|
|
str r2, [r1, #0xe0]
|
|
ldr r1, [r0]
|
|
rsb r2, r2, #0x440
|
|
str r3, [r1, #0x10c]
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238AAD8:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
str r1, [r2, #0xe8]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x3c]
|
|
bl IsMonsterNotNicknamed
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
mov r2, #1
|
|
ldr r3, [r1]
|
|
strb r0, [r3, #0x46]
|
|
ldr r0, [r1]
|
|
strb r2, [r0]
|
|
bl IncrementNbEvolutions
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x40]
|
|
add r0, r1, r0, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
bl SetPokemonJoined
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0x44]
|
|
bl sub_02056410
|
|
cmp r0, #0
|
|
beq _0238AB84
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0x44]
|
|
bl sub_020564B0
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x8c]
|
|
bl SetTeamSetupHeroOnly
|
|
cmp r0, #0
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
movne r1, #2
|
|
ldr r0, [r0]
|
|
moveq r1, #1
|
|
str r1, [r0, #0x88]
|
|
b _0238AB9C
|
|
_0238AB84:
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #0x8c]
|
|
ldr r0, [r0]
|
|
str r2, [r0, #0x88]
|
|
_0238AB9C:
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r0, r2, #0x44
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
bl sub_0205A288
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0x44]
|
|
bl ov16_0238CC64
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, #0x8c]
|
|
cmp r0, #0
|
|
beq _0238ABF4
|
|
bl sub_02056880
|
|
bl GetActiveTeamMember
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
ldrsh r1, [r1, #0x44]
|
|
strh r1, [r0, #8]
|
|
_0238ABF4:
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
ldr r0, _0238B114 ; =0x020A18C4
|
|
ldr r3, [r1]
|
|
ldrsh r2, [r0]
|
|
ldr r4, [r3, #0x3c]
|
|
ldr r0, _0238B118 ; =0x000003E7
|
|
ldrsh r3, [r4, #0xa]
|
|
add r2, r3, r2
|
|
strh r2, [r4, #0xa]
|
|
ldr r1, [r1]
|
|
ldr r3, _0238B11C ; =0x020A18D0
|
|
ldr r2, [r1, #0x3c]
|
|
ldrsh r1, [r2, #0xa]
|
|
cmp r1, r0
|
|
strgth r0, [r2, #0xa]
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
ldr r0, _0238B120 ; =0x020A18E4
|
|
ldr r1, [r1]
|
|
ldrsh r5, [r0]
|
|
ldr r1, [r1, #0x3c]
|
|
ldrsh r2, [r0, #2]
|
|
ldrb ip, [r1, #0xc]
|
|
ldrb r4, [r1, #0xd]
|
|
ldrb lr, [r1, #0xf]
|
|
add r0, ip, r5
|
|
add r2, r4, r2
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x10
|
|
ldrsh ip, [r3, #2]
|
|
cmp r0, #0xff
|
|
ldrb r5, [r1, #0xe]
|
|
ldrsh r4, [r3]
|
|
movgt r0, #0xff
|
|
strb r0, [r1, #0xc]
|
|
add r3, r5, r4
|
|
mov r2, r2, lsl #0x10
|
|
mov r4, r2, asr #0x10
|
|
ldr r2, _0238B0CC ; =ov16_0238CE40
|
|
cmp r4, #0xff
|
|
ldr r1, [r2]
|
|
mov r3, r3, lsl #0x10
|
|
add ip, lr, ip
|
|
mov ip, ip, lsl #0x10
|
|
ldr r1, [r1, #0x3c]
|
|
movgt r4, #0xff
|
|
strb r4, [r1, #0xd]
|
|
ldr r1, [r2]
|
|
mov r3, r3, asr #0x10
|
|
cmp r3, #0xff
|
|
ldr r1, [r1, #0x3c]
|
|
movgt r3, #0xff
|
|
strb r3, [r1, #0xe]
|
|
ldr r1, [r2]
|
|
mov r5, ip, asr #0x10
|
|
cmp r5, #0xff
|
|
ldr r1, [r1, #0x3c]
|
|
movgt r5, #0xff
|
|
strb r5, [r1, #0xf]
|
|
mov r0, #0
|
|
ldr r1, [r2]
|
|
strh r0, [sp, #0xa]
|
|
ldr r0, [r1, #0x40]
|
|
add r0, r1, r0, lsl #1
|
|
ldrsh r0, [r0, #0x1c]
|
|
strh r0, [sp, #0xc]
|
|
bl GetFirstUnequippedItemOfType
|
|
mov r4, r0
|
|
mvn r1, #0
|
|
cmp r4, r1
|
|
beq _0238AD2C
|
|
bl GetItemAtIdx
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
beq _0238AD20
|
|
bl sub_020582E0
|
|
_0238AD20:
|
|
mov r0, r4
|
|
bl RemoveItemNoHole
|
|
b _0238AD40
|
|
_0238AD2C:
|
|
ldrsh r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
beq _0238AD40
|
|
add r0, sp, #8
|
|
bl sub_02010260
|
|
_0238AD40:
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x40]
|
|
add r0, r1, r0, lsl #1
|
|
ldrsh r0, [r0, #0x2c]
|
|
strh r0, [sp, #0xc]
|
|
bl GetFirstUnequippedItemOfType
|
|
mov r4, r0
|
|
mvn r1, #0
|
|
cmp r4, r1
|
|
beq _0238AD8C
|
|
bl GetItemAtIdx
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
beq _0238AD80
|
|
bl sub_020582E0
|
|
_0238AD80:
|
|
mov r0, r4
|
|
bl RemoveItemNoHole
|
|
b _0238ADA0
|
|
_0238AD8C:
|
|
ldrsh r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
beq _0238ADA0
|
|
add r0, sp, #8
|
|
bl sub_02010260
|
|
_0238ADA0:
|
|
ldr r0, _0238B124 ; =0x00003F01
|
|
bl sub_02017CB4
|
|
mov r0, #8
|
|
bl sub_02017C50
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x46]
|
|
cmp r0, #0
|
|
moveq r0, #4
|
|
streq r0, [r1, #0x74]
|
|
beq _0238AE1C
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, sp, #0xe
|
|
ldrsh r1, [r1, #4]
|
|
bl GetNameRaw
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x3c]
|
|
ldrsh r0, [r0, #4]
|
|
bl GetNameString
|
|
ldr r2, _0238B0CC ; =ov16_0238CE40
|
|
mov r1, r0
|
|
ldr r0, [r2]
|
|
arm_func_end ov16_0238A468
|
|
|
|
arm_func_start ov16_0238ADFC
|
|
ov16_0238ADFC: ; 0x0238ADFC
|
|
mov r2, #0xa
|
|
ldr r0, [r0, #0x3c]
|
|
add r0, r0, #0x3a
|
|
bl sub_02025314
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r1, #0x21
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
_0238AE1C:
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r2, _0238B128 ; =0x0000043F
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238AE3C:
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl FreeDBox
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0xc1]
|
|
bl GetMainCharacter1MemberIdx
|
|
bl sub_0203C7E4
|
|
mov r0, #5
|
|
mov r1, #0
|
|
bl sub_02039C3C
|
|
b _0238B0C4
|
|
_0238AE6C:
|
|
bl sub_0203A638
|
|
b _0238B0C4
|
|
_0238AE74:
|
|
mov r1, #5
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r2, _0238B12C ; =0x0000042D
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238AEA0:
|
|
mov r2, #0xb
|
|
str r2, [r0, #0x74]
|
|
ldr r0, [r1]
|
|
mov r1, #0x29
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r2, _0238B130 ; =0x00000433
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238B0C4
|
|
_0238AED8:
|
|
bl ov11_02310BDC
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r1, #0x20
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r2, _0238B134 ; =0x00000447
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
mvn r0, #1
|
|
ldr r1, [r1]
|
|
ldrsb r1, [r1, #0xc2]
|
|
cmp r1, r0
|
|
bne _0238B0C4
|
|
mov r0, #0
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl CreatePortraitBox
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
ldr r2, [r1]
|
|
strb r0, [r2, #0xc2]
|
|
ldr r2, [r1]
|
|
ldr r1, [r2, #0x40]
|
|
add r0, r2, #0xc8
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
bl InitPortraitBoxWithMonsterId
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
add r0, r0, #0xc8
|
|
bl SetPortraitUnknownAttr
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0xc8
|
|
bl SetPortraitExpressionId
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r0]
|
|
ldrsb r0, [r1, #0xc2]
|
|
add r1, r1, #0xc8
|
|
bl ShowPortraitBox
|
|
b _0238B0C4
|
|
_0238AF98:
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl FreeDBox
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
mvn r3, #1
|
|
ldr r2, [r1]
|
|
mov r0, #2
|
|
strb r3, [r2, #0xc1]
|
|
ldr r3, [r1]
|
|
mov r2, #0
|
|
ldr r1, [r3, #0x3c]
|
|
add r3, r3, #0xb1
|
|
add r1, r1, #0x3a
|
|
bl ShowKeyboard
|
|
b _0238B0C4
|
|
_0238AFD0:
|
|
ldr r1, [r0, #0x3c]
|
|
add r3, r0, #0xb1
|
|
add r1, r1, #0x3a
|
|
mov r0, #2
|
|
mov r2, #0
|
|
bl ShowKeyboard
|
|
b _0238B0C4
|
|
_0238AFEC:
|
|
add r0, r0, #0x8d
|
|
bl sub_0203909C
|
|
b _0238B0C4
|
|
_0238AFF8:
|
|
mov r2, #0x22
|
|
str r2, [r0, #0x74]
|
|
ldr r2, [r1]
|
|
mov ip, #4
|
|
ldr r0, _0238B0D8 ; =0x0238CDE4
|
|
ldr r1, _0238B0DC ; =0x00300011
|
|
ldr r3, _0238B0EC ; =0x0238CD08
|
|
str ip, [r2, #0x78]
|
|
mov ip, #2
|
|
mov r2, #0
|
|
str ip, [sp]
|
|
bl CreateNormalMenu
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238B0C4
|
|
_0238B038:
|
|
mov ip, #0
|
|
mov r3, ip
|
|
_0238B040:
|
|
ldr r2, [r1]
|
|
add r0, r2, r3, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
cmp r0, #0
|
|
addne r0, r2, ip, lsl #2
|
|
strne r3, [r0, #0x50]
|
|
add r3, r3, #1
|
|
addne ip, ip, #1
|
|
cmp r3, #8
|
|
blt _0238B040
|
|
cmp ip, #2
|
|
bge _0238B088
|
|
ldr r0, _0238B0CC ; =ov16_0238CE40
|
|
mov r1, #0x17
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238B0C4
|
|
_0238B088:
|
|
ldr r1, _0238B138 ; =0x00000446
|
|
mov r0, #0xf
|
|
strh r1, [sp, #0x98]
|
|
str r0, [sp, #0x9c]
|
|
str ip, [sp]
|
|
mov ip, #4
|
|
ldr r0, _0238B13C ; =0x0238CDC4
|
|
ldr r1, _0238B140 ; =0x00009813
|
|
ldr r3, _0238B144 ; =ov16_0238CB30
|
|
add r2, sp, #0x90
|
|
str ip, [sp, #4]
|
|
bl CreateAdvancedMenu
|
|
ldr r1, _0238B0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
_0238B0C4:
|
|
add sp, sp, #0x128
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0238B0CC: .word ov16_0238CE40
|
|
_0238B0D0: .word 0x00000431
|
|
_0238B0D4: .word 0x00000432
|
|
_0238B0D8: .word 0x0238CDE4
|
|
_0238B0DC: .word 0x00300011
|
|
_0238B0E0: .word 0x0238CD40
|
|
_0238B0E4: .word 0x00000442
|
|
_0238B0E8: .word 0x00000449
|
|
_0238B0EC: .word 0x0238CD08
|
|
_0238B0F0: .word 0x00300013
|
|
_0238B0F4: .word 0x00000434
|
|
_0238B0F8: .word 0x0238CDD4
|
|
_0238B0FC: .word 0x0238CD20
|
|
_0238B100: .word 0x00000125
|
|
_0238B104: .word 0x0000043E
|
|
_0238B108: .word 0x0000043A
|
|
_0238B10C: .word 0x0000043C
|
|
_0238B110: .word 0x0000140F
|
|
_0238B114: .word 0x020A18C4
|
|
_0238B118: .word 0x000003E7
|
|
_0238B11C: .word 0x020A18D0
|
|
_0238B120: .word 0x020A18E4
|
|
_0238B124: .word 0x00003F01
|
|
_0238B128: .word 0x0000043F
|
|
_0238B12C: .word 0x0000042D
|
|
_0238B130: .word 0x00000433
|
|
_0238B134: .word 0x00000447
|
|
_0238B138: .word 0x00000446
|
|
_0238B13C: .word 0x0238CDC4
|
|
_0238B140: .word 0x00009813
|
|
_0238B144: .word ov16_0238CB30
|
|
arm_func_end ov16_0238ADFC
|
|
|
|
arm_func_start ov16_0238B148
|
|
ov16_0238B148: ; 0x0238B148
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x128
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
ldr r0, [r1]
|
|
ldr r2, [r0, #0x70]
|
|
cmp r2, #0x2c
|
|
addls pc, pc, r2, lsl #2
|
|
b _0238C0C4
|
|
_0238B168: ; jump table
|
|
b _0238B21C ; case 0
|
|
b _0238B274 ; case 1
|
|
b _0238B2D8 ; case 2
|
|
b _0238B344 ; case 3
|
|
b _0238B370 ; case 4
|
|
b _0238C0C4 ; case 5
|
|
b _0238B318 ; case 6
|
|
b _0238B928 ; case 7
|
|
b _0238B95C ; case 8
|
|
b _0238B9C4 ; case 9
|
|
b _0238BEA0 ; case 10
|
|
b _0238BE3C ; case 11
|
|
b _0238BE6C ; case 12
|
|
b _0238B640 ; case 13
|
|
b _0238B614 ; case 14
|
|
b _0238BE74 ; case 15
|
|
b _0238B574 ; case 16
|
|
b _0238B5D8 ; case 17
|
|
b _0238B480 ; case 18
|
|
b _0238B50C ; case 19
|
|
b _0238B440 ; case 20
|
|
b _0238C0C4 ; case 21
|
|
b _0238B730 ; case 22
|
|
b _0238B850 ; case 23
|
|
b _0238C0C4 ; case 24
|
|
b _0238C0C4 ; case 25
|
|
b _0238B668 ; case 26
|
|
b _0238B6F4 ; case 27
|
|
b _0238B9F4 ; case 28
|
|
b _0238BA58 ; case 29
|
|
b _0238BA94 ; case 30
|
|
b _0238BAD8 ; case 31
|
|
b _0238BFF8 ; case 32
|
|
b _0238BED8 ; case 33
|
|
b _0238BF98 ; case 34
|
|
b _0238BFD0 ; case 35
|
|
b _0238C0C4 ; case 36
|
|
b _0238BFEC ; case 37
|
|
b _0238C0C4 ; case 38
|
|
b _0238C038 ; case 39
|
|
b _0238C0C4 ; case 40
|
|
b _0238C0C4 ; case 41
|
|
b _0238C0C4 ; case 42
|
|
b _0238C0C4 ; case 43
|
|
b _0238B424 ; case 44
|
|
_0238B21C:
|
|
bl ov16_0238CBD0
|
|
cmp r0, #0
|
|
bne _0238B240
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r1, #0xf
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B240:
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r2, _0238C0D0 ; =0x00000431
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238B274:
|
|
bl ov16_0238CBD0
|
|
cmp r0, #0
|
|
bne _0238B298
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r1, #0xf
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B298:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDBox
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r3, #6
|
|
ldr r1, [r0]
|
|
ldr r2, _0238C0D4 ; =0x00000432
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238B2D8:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDBox
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r3, #1
|
|
ldr r1, [r0]
|
|
add r2, r3, #0x440
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238B318:
|
|
ldr r0, _0238C0D8 ; =0x0238CDE4
|
|
mov r4, #3
|
|
ldr r1, _0238C0DC ; =0x00300011
|
|
ldr r3, _0238C0E0 ; =0x0238CD40
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateNormalMenu
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238C0C4
|
|
_0238B344:
|
|
mov r1, #1
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r2, _0238C0E4 ; =0x00000442
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238B370:
|
|
mov r1, #5
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x88]
|
|
cmp r0, #0
|
|
ble _0238B394
|
|
bl sub_020572EC
|
|
_0238B394:
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x88]
|
|
cmp r1, #1
|
|
ble _0238B3DC
|
|
mov r1, #4
|
|
str r1, [r2, #0x74]
|
|
ldr r1, [r0]
|
|
ldr r2, _0238C0E8 ; =0x00000449
|
|
ldrsb r0, [r1, #0xc1]
|
|
add r3, r1, #0xe8
|
|
mov r1, #0x18
|
|
bl ShowMessageInDBox
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x88]
|
|
b _0238C0C4
|
|
_0238B3DC:
|
|
bl ov16_0238CBD0
|
|
cmp r0, #0
|
|
mov r1, #0x18
|
|
bne _0238B408
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r2, #0x440
|
|
ldr r3, [r0]
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238B408:
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
add r2, r1, #0x430
|
|
ldr r3, [r0]
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238B424:
|
|
mov r2, #5
|
|
str r2, [r0, #0xd8]
|
|
ldr r0, [r1]
|
|
mov r1, #1
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B440:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDBox
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r3, #0x27
|
|
ldr r1, [r0]
|
|
rsb r2, r3, #0x460
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238B480:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r2, #0xa
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #0x3c]
|
|
add r0, r0, #0x138
|
|
add r1, r1, #0x3a
|
|
bl StrncpySimpleNoPadSafe
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r2, [r0]
|
|
add r1, r2, #0x138
|
|
str r1, [r2, #0x120]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
str r1, [r2, #0xe8]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
str r1, [r2, #0xec]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDBox
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r1, #8
|
|
mov r4, #0x13
|
|
ldr r3, [r0]
|
|
add r2, r1, #0x430
|
|
str r4, [r3, #0x74]
|
|
ldr r3, [r0]
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238B50C:
|
|
ldr r2, [r0, #0x40]
|
|
mov r1, #0
|
|
add r0, r0, r2, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
bl IsMonsterOnTeam
|
|
cmp r0, #0
|
|
ldrne r0, _0238C0CC ; =ov16_0238CE40
|
|
movne r1, #0x1a
|
|
ldreq r0, _0238C0CC ; =ov16_0238CE40
|
|
moveq r1, #0x1c
|
|
ldr r0, [r0]
|
|
mov r4, #2
|
|
str r1, [r0, #0x74]
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r3, _0238C0EC ; =0x0238CD08
|
|
ldr r1, [r0]
|
|
ldr r0, _0238C0D8 ; =0x0238CDE4
|
|
str r4, [r1, #0x78]
|
|
ldr r1, _0238C0F0 ; =0x00300013
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateNormalMenu
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238C0C4
|
|
_0238B574:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r2, [r0]
|
|
ldrsh r1, [r2, #0x44]
|
|
orr r1, r1, #0x20000
|
|
str r1, [r2, #0xe8]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
str r1, [r2, #0xec]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDBox
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r3, #0x11
|
|
ldr r1, [r0]
|
|
ldr r2, _0238C0F4 ; =0x00000434
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238B5D8:
|
|
mov r2, #0x1c
|
|
str r2, [r0, #0x74]
|
|
ldr r0, [r1]
|
|
mov r4, #2
|
|
str r4, [r0, #0x78]
|
|
ldr r0, _0238C0D8 ; =0x0238CDE4
|
|
ldr r1, _0238C0F0 ; =0x00300013
|
|
ldr r3, _0238C0EC ; =0x0238CD08
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateNormalMenu
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238C0C4
|
|
_0238B614:
|
|
ldr r0, _0238C0F8 ; =0x0238CDD4
|
|
mov r4, #3
|
|
ldr r3, _0238C0FC ; =0x0238CD20
|
|
mov r1, #0x13
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateNormalMenu
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238C0C4
|
|
_0238B640:
|
|
ldr r1, [r0, #0x3c]
|
|
add r0, sp, #0xb0
|
|
bl sub_0205B008
|
|
add r0, sp, #0xb0
|
|
mov r1, #3
|
|
bl sub_0203F150
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc4]
|
|
b _0238C0C4
|
|
_0238B668:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r2, #0xa
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #0x3c]
|
|
add r0, r0, #0x138
|
|
add r1, r1, #0x3a
|
|
bl StrncpySimpleNoPadSafe
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r2, [r0]
|
|
add r1, r2, #0x138
|
|
str r1, [r2, #0x120]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
str r1, [r2, #0xe8]
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
str r1, [r2, #0xec]
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl ShowDBox
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r4, #0x1b
|
|
ldr r2, [r0]
|
|
mov r1, #8
|
|
str r4, [r2, #0x74]
|
|
ldr r3, [r0]
|
|
add r2, r4, #0x420
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238B6F4:
|
|
mov r2, #0x1c
|
|
str r2, [r0, #0x74]
|
|
ldr r0, [r1]
|
|
mov r4, #2
|
|
str r4, [r0, #0x78]
|
|
ldr r0, _0238C0D8 ; =0x0238CDE4
|
|
ldr r1, _0238C0F0 ; =0x00300013
|
|
ldr r3, _0238C0EC ; =0x0238CD08
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateNormalMenu
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238C0C4
|
|
_0238B730:
|
|
mov r2, #0
|
|
str r2, [r0, #0x40]
|
|
ldr r3, [r1]
|
|
ldr r0, _0238C100 ; =0x00000125
|
|
ldr r1, [r3, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
cmp r1, r0
|
|
addne r0, r0, #0x258
|
|
cmpne r1, r0
|
|
moveq r0, #0
|
|
beq _0238B7DC
|
|
mov r1, r2
|
|
_0238B760:
|
|
add r0, r3, r1, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
add r1, r1, #1
|
|
cmp r0, #0
|
|
addne r2, r2, #1
|
|
cmp r1, #8
|
|
blt _0238B760
|
|
cmp r2, #1
|
|
bne _0238B7D8
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r3, #0
|
|
_0238B78C:
|
|
ldr r2, [r0]
|
|
add r1, r2, r3, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
cmp r1, #0
|
|
beq _0238B7C4
|
|
strh r1, [r2, #0xc]
|
|
ldr r2, [r0]
|
|
add r1, r2, r3, lsl #1
|
|
ldrsh r1, [r1, #0x1c]
|
|
strh r1, [r2, #0x1c]
|
|
ldr r2, [r0]
|
|
add r1, r2, r3, lsl #1
|
|
ldrsh r1, [r1, #0x2c]
|
|
strh r1, [r2, #0x2c]
|
|
_0238B7C4:
|
|
add r3, r3, #1
|
|
cmp r3, #8
|
|
blt _0238B78C
|
|
mov r0, #1
|
|
b _0238B7DC
|
|
_0238B7D8:
|
|
mov r0, #2
|
|
_0238B7DC:
|
|
cmp r0, #0
|
|
beq _0238B7F0
|
|
cmp r0, #1
|
|
beq _0238B820
|
|
b _0238B838
|
|
_0238B7F0:
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r0]
|
|
ldrsh r0, [r1, #0xc]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
streq r0, [r1, #0x40]
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r1, #0x10
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B820:
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r1, #0x17
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B838:
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r1, #0x14
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B850:
|
|
ldrsh r2, [r0, #0x44]
|
|
orr r2, r2, #0x20000
|
|
str r2, [r0, #0xe8]
|
|
ldr r2, [r1]
|
|
ldr r0, [r2, #0x40]
|
|
add r0, r2, r0, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
str r0, [r2, #0xec]
|
|
ldr r2, [r1]
|
|
ldr r0, [r2, #0x40]
|
|
add r0, r2, r0, lsl #1
|
|
ldrsh r0, [r0, #0x1c]
|
|
str r0, [r2, #0xf8]
|
|
ldr r2, [r1]
|
|
ldr r0, [r2, #0x40]
|
|
add r0, r2, r0, lsl #1
|
|
ldrsh r0, [r0, #0x2c]
|
|
str r0, [r2, #0xfc]
|
|
ldr r1, [r1]
|
|
ldr r0, [r1, #0xf8]
|
|
cmp r0, #0
|
|
ldreq r0, [r1, #0xfc]
|
|
streq r0, [r1, #0xf8]
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r1, #0
|
|
ldr r3, [r0]
|
|
ldr r2, [r3, #0x40]
|
|
add r0, r3, r2, lsl #1
|
|
ldrsh r0, [r0, #0x1c]
|
|
cmp r0, #0
|
|
add r0, r3, r2, lsl #1
|
|
ldrsh r0, [r0, #0x2c]
|
|
addne r1, r1, #1
|
|
cmp r0, #0
|
|
addne r1, r1, #1
|
|
cmp r1, #0
|
|
beq _0238B8F8
|
|
cmp r1, #1
|
|
beq _0238B908
|
|
cmp r1, #2
|
|
beq _0238B918
|
|
b _0238C0C4
|
|
_0238B8F8:
|
|
mov r0, #0x12
|
|
str r0, [r3, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B908:
|
|
mov r0, #7
|
|
str r0, [r3, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B918:
|
|
mov r0, #9
|
|
str r0, [r3, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238B928:
|
|
bl ov16_0238CAE8
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r3, #8
|
|
ldr r1, [r0]
|
|
ldr r2, _0238C104 ; =0x0000043E
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238B95C:
|
|
ldr r2, [r0, #0x40]
|
|
mov r1, #0
|
|
add r0, r0, r2, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
bl IsMonsterOnTeam
|
|
cmp r0, #0
|
|
ldrne r0, _0238C0CC ; =ov16_0238CE40
|
|
movne r1, #0x1a
|
|
ldreq r0, _0238C0CC ; =ov16_0238CE40
|
|
moveq r1, #0x1c
|
|
ldr r0, [r0]
|
|
mov r4, #2
|
|
str r1, [r0, #0x74]
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r3, _0238C0EC ; =0x0238CD08
|
|
ldr r1, [r0]
|
|
ldr r0, _0238C0D8 ; =0x0238CDE4
|
|
str r4, [r1, #0x78]
|
|
ldr r1, _0238C0F0 ; =0x00300013
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
bl CreateNormalMenu
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238C0C4
|
|
_0238B9C4:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r3, #8
|
|
ldr r1, [r0]
|
|
ldr r2, _0238C108 ; =0x0000043A
|
|
str r3, [r1, #0x74]
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238B9F4:
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl sub_0202F2C4
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r3, #0x14
|
|
ldr r1, [r0]
|
|
mov r2, #3
|
|
str r3, [r1, #0xe4]
|
|
ldr r1, [r0]
|
|
mov r3, #0
|
|
str r2, [r1, #0xd8]
|
|
ldr r4, [r0]
|
|
mov r1, #0x1d
|
|
ldr r2, [r4, #0x3c]
|
|
ldrsh r2, [r2, #4]
|
|
strh r2, [r4, #0xdc]
|
|
ldr r4, [r0]
|
|
ldr r2, [r4, #0x40]
|
|
add r2, r4, r2, lsl #1
|
|
ldrsh r2, [r2, #0xc]
|
|
strh r2, [r4, #0xde]
|
|
ldr r2, [r0]
|
|
str r3, [r2, #0xe0]
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
b _0238C0C4
|
|
_0238BA58:
|
|
ldrsh r3, [r0, #0x44]
|
|
mov r2, #0x1e
|
|
orr r3, r3, #0x20000
|
|
str r3, [r0, #0xe8]
|
|
ldr r0, [r1]
|
|
str r2, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r2, _0238C10C ; =0x0000043C
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238BA94:
|
|
mov r1, #0x1f
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r2, #3
|
|
ldr r1, [r0]
|
|
ldr r3, _0238C110 ; =0x0000140F
|
|
str r2, [r1, #0xe0]
|
|
ldr r1, [r0]
|
|
rsb r2, r2, #0x440
|
|
str r3, [r1, #0x10c]
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238BAD8:
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x3c]
|
|
ldrsh r1, [r1, #4]
|
|
str r1, [r2, #0xe8]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x3c]
|
|
bl IsMonsterNotNicknamed
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
mov r2, #1
|
|
ldr r3, [r1]
|
|
strb r0, [r3, #0x46]
|
|
ldr r0, [r1]
|
|
strb r2, [r0]
|
|
bl IncrementNbEvolutions
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x40]
|
|
add r0, r1, r0, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
bl SetPokemonJoined
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0x44]
|
|
bl sub_02056410
|
|
cmp r0, #0
|
|
beq _0238BB84
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0x44]
|
|
bl sub_020564B0
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x8c]
|
|
bl SetTeamSetupHeroOnly
|
|
cmp r0, #0
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
movne r1, #2
|
|
ldr r0, [r0]
|
|
moveq r1, #1
|
|
str r1, [r0, #0x88]
|
|
b _0238BB9C
|
|
_0238BB84:
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #0x8c]
|
|
ldr r0, [r0]
|
|
str r2, [r0, #0x88]
|
|
_0238BB9C:
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r2, [r0]
|
|
ldr r1, [r2, #0x40]
|
|
add r0, r2, #0x44
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
bl sub_0205A288
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0x44]
|
|
bl ov16_0238CC64
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, #0x8c]
|
|
cmp r0, #0
|
|
beq _0238BBF4
|
|
bl sub_02056880
|
|
bl GetActiveTeamMember
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
ldrsh r1, [r1, #0x44]
|
|
strh r1, [r0, #8]
|
|
_0238BBF4:
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
ldr r0, _0238C114 ; =0x020A18C4
|
|
ldr r3, [r1]
|
|
ldrsh r2, [r0]
|
|
ldr r4, [r3, #0x3c]
|
|
ldr r0, _0238C118 ; =0x000003E7
|
|
ldrsh r3, [r4, #0xa]
|
|
add r2, r3, r2
|
|
strh r2, [r4, #0xa]
|
|
ldr r1, [r1]
|
|
ldr r3, _0238C11C ; =0x020A18D0
|
|
ldr r2, [r1, #0x3c]
|
|
ldrsh r1, [r2, #0xa]
|
|
cmp r1, r0
|
|
strgth r0, [r2, #0xa]
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
ldr r0, _0238C120 ; =0x020A18E4
|
|
ldr r1, [r1]
|
|
ldrsh r5, [r0]
|
|
ldr r1, [r1, #0x3c]
|
|
ldrsh r2, [r0, #2]
|
|
ldrb ip, [r1, #0xc]
|
|
ldrb r4, [r1, #0xd]
|
|
ldrb lr, [r1, #0xf]
|
|
add r0, ip, r5
|
|
add r2, r4, r2
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x10
|
|
ldrsh ip, [r3, #2]
|
|
cmp r0, #0xff
|
|
ldrb r5, [r1, #0xe]
|
|
ldrsh r4, [r3]
|
|
movgt r0, #0xff
|
|
strb r0, [r1, #0xc]
|
|
add r3, r5, r4
|
|
mov r2, r2, lsl #0x10
|
|
mov r4, r2, asr #0x10
|
|
ldr r2, _0238C0CC ; =ov16_0238CE40
|
|
cmp r4, #0xff
|
|
ldr r1, [r2]
|
|
mov r3, r3, lsl #0x10
|
|
add ip, lr, ip
|
|
mov ip, ip, lsl #0x10
|
|
ldr r1, [r1, #0x3c]
|
|
movgt r4, #0xff
|
|
strb r4, [r1, #0xd]
|
|
ldr r1, [r2]
|
|
mov r3, r3, asr #0x10
|
|
cmp r3, #0xff
|
|
ldr r1, [r1, #0x3c]
|
|
movgt r3, #0xff
|
|
strb r3, [r1, #0xe]
|
|
ldr r1, [r2]
|
|
mov r5, ip, asr #0x10
|
|
cmp r5, #0xff
|
|
ldr r1, [r1, #0x3c]
|
|
movgt r5, #0xff
|
|
strb r5, [r1, #0xf]
|
|
mov r0, #0
|
|
ldr r1, [r2]
|
|
strh r0, [sp, #0xa]
|
|
ldr r0, [r1, #0x40]
|
|
add r0, r1, r0, lsl #1
|
|
ldrsh r0, [r0, #0x1c]
|
|
strh r0, [sp, #0xc]
|
|
bl GetFirstUnequippedItemOfType
|
|
mov r4, r0
|
|
mvn r1, #0
|
|
cmp r4, r1
|
|
beq _0238BD2C
|
|
bl GetItemAtIdx
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
beq _0238BD20
|
|
bl sub_020582E0
|
|
_0238BD20:
|
|
mov r0, r4
|
|
bl RemoveItemNoHole
|
|
b _0238BD40
|
|
_0238BD2C:
|
|
ldrsh r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
beq _0238BD40
|
|
add r0, sp, #8
|
|
bl sub_02010260
|
|
_0238BD40:
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r0]
|
|
ldr r0, [r1, #0x40]
|
|
add r0, r1, r0, lsl #1
|
|
ldrsh r0, [r0, #0x2c]
|
|
strh r0, [sp, #0xc]
|
|
bl GetFirstUnequippedItemOfType
|
|
mov r4, r0
|
|
mvn r1, #0
|
|
cmp r4, r1
|
|
beq _0238BD8C
|
|
bl GetItemAtIdx
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
beq _0238BD80
|
|
bl sub_020582E0
|
|
_0238BD80:
|
|
mov r0, r4
|
|
bl RemoveItemNoHole
|
|
b _0238BDA0
|
|
_0238BD8C:
|
|
ldrsh r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
beq _0238BDA0
|
|
add r0, sp, #8
|
|
bl sub_02010260
|
|
_0238BDA0:
|
|
ldr r0, _0238C124 ; =0x00003F01
|
|
bl sub_02017CB4
|
|
mov r0, #8
|
|
bl sub_02017C50
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x46]
|
|
cmp r0, #0
|
|
moveq r0, #4
|
|
streq r0, [r1, #0x74]
|
|
beq _0238BE1C
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, sp, #0xe
|
|
ldrsh r1, [r1, #4]
|
|
bl GetNameRaw
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x3c]
|
|
ldrsh r0, [r0, #4]
|
|
bl GetNameString
|
|
ldr r2, _0238C0CC ; =ov16_0238CE40
|
|
mov r1, r0
|
|
ldr r0, [r2]
|
|
mov r2, #0xa
|
|
ldr r0, [r0, #0x3c]
|
|
add r0, r0, #0x3a
|
|
bl sub_02025314
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r1, #0x21
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
_0238BE1C:
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r2, _0238C128 ; =0x0000043F
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238BE3C:
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl FreeDBox
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0xc1]
|
|
bl GetMainCharacter1MemberIdx
|
|
bl sub_0203C7E4
|
|
mov r0, #5
|
|
mov r1, #0
|
|
bl sub_02039C3C
|
|
b _0238C0C4
|
|
_0238BE6C:
|
|
bl sub_0203A638
|
|
b _0238C0C4
|
|
_0238BE74:
|
|
mov r1, #5
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r2, _0238C12C ; =0x0000042D
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238BEA0:
|
|
mov r2, #0xb
|
|
str r2, [r0, #0x74]
|
|
ldr r0, [r1]
|
|
mov r1, #0x29
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r2, _0238C130 ; =0x00000433
|
|
ldr r3, [r0]
|
|
mov r1, #0x18
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
b _0238C0C4
|
|
_0238BED8:
|
|
bl ov11_02310BDC
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r1, #0x20
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x74]
|
|
bl ov16_0238CB98
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r2, _0238C134 ; =0x00000447
|
|
ldr r3, [r0]
|
|
mov r1, #8
|
|
ldrsb r0, [r3, #0xc1]
|
|
add r3, r3, #0xe8
|
|
bl ShowMessageInDBox
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
mvn r0, #1
|
|
ldr r1, [r1]
|
|
ldrsb r1, [r1, #0xc2]
|
|
cmp r1, r0
|
|
bne _0238C0C4
|
|
mov r0, #0
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl CreatePortraitBox
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
ldr r2, [r1]
|
|
strb r0, [r2, #0xc2]
|
|
ldr r2, [r1]
|
|
ldr r1, [r2, #0x40]
|
|
add r0, r2, #0xc8
|
|
add r1, r2, r1, lsl #1
|
|
ldrsh r1, [r1, #0xc]
|
|
bl InitPortraitBoxWithMonsterId
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
add r0, r0, #0xc8
|
|
bl SetPortraitUnknownAttr
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r0, r0, #0xc8
|
|
bl SetPortraitExpressionId
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r0]
|
|
ldrsb r0, [r1, #0xc2]
|
|
add r1, r1, #0xc8
|
|
bl ShowPortraitBox
|
|
b _0238C0C4
|
|
_0238BF98:
|
|
ldrsb r0, [r0, #0xc1]
|
|
bl FreeDBox
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
mvn r3, #1
|
|
ldr r2, [r1]
|
|
mov r0, #2
|
|
strb r3, [r2, #0xc1]
|
|
ldr r3, [r1]
|
|
mov r2, #0
|
|
ldr r1, [r3, #0x3c]
|
|
add r3, r3, #0xb1
|
|
add r1, r1, #0x3a
|
|
bl ShowKeyboard
|
|
b _0238C0C4
|
|
_0238BFD0:
|
|
ldr r1, [r0, #0x3c]
|
|
add r3, r0, #0xb1
|
|
add r1, r1, #0x3a
|
|
mov r0, #2
|
|
mov r2, #0
|
|
bl ShowKeyboard
|
|
b _0238C0C4
|
|
_0238BFEC:
|
|
add r0, r0, #0x8d
|
|
bl sub_0203909C
|
|
b _0238C0C4
|
|
_0238BFF8:
|
|
mov r2, #0x22
|
|
str r2, [r0, #0x74]
|
|
ldr r2, [r1]
|
|
mov ip, #4
|
|
ldr r0, _0238C0D8 ; =0x0238CDE4
|
|
ldr r1, _0238C0DC ; =0x00300011
|
|
ldr r3, _0238C0EC ; =0x0238CD08
|
|
str ip, [r2, #0x78]
|
|
mov ip, #2
|
|
mov r2, #0
|
|
str ip, [sp]
|
|
bl CreateNormalMenu
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
b _0238C0C4
|
|
_0238C038:
|
|
mov ip, #0
|
|
mov r3, ip
|
|
_0238C040:
|
|
ldr r2, [r1]
|
|
add r0, r2, r3, lsl #1
|
|
ldrsh r0, [r0, #0xc]
|
|
cmp r0, #0
|
|
addne r0, r2, ip, lsl #2
|
|
strne r3, [r0, #0x50]
|
|
add r3, r3, #1
|
|
addne ip, ip, #1
|
|
cmp r3, #8
|
|
blt _0238C040
|
|
cmp ip, #2
|
|
bge _0238C088
|
|
ldr r0, _0238C0CC ; =ov16_0238CE40
|
|
mov r1, #0x17
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0x70]
|
|
bl ov16_0238B148
|
|
b _0238C0C4
|
|
_0238C088:
|
|
ldr r1, _0238C138 ; =0x00000446
|
|
mov r0, #0xf
|
|
strh r1, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str ip, [sp]
|
|
mov ip, #4
|
|
ldr r0, _0238C13C ; =0x0238CDC4
|
|
ldr r1, _0238C140 ; =0x00009813
|
|
ldr r3, _0238C144 ; =ov16_0238CB30
|
|
add r2, sp, #0x18
|
|
str ip, [sp, #4]
|
|
bl CreateAdvancedMenu
|
|
ldr r1, _0238C0CC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc3]
|
|
_0238C0C4:
|
|
add sp, sp, #0x128
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0238C0CC: .word ov16_0238CE40
|
|
_0238C0D0: .word 0x00000431
|
|
_0238C0D4: .word 0x00000432
|
|
_0238C0D8: .word 0x0238CDE4
|
|
_0238C0DC: .word 0x00300011
|
|
_0238C0E0: .word 0x0238CD40
|
|
_0238C0E4: .word 0x00000442
|
|
_0238C0E8: .word 0x00000449
|
|
_0238C0EC: .word 0x0238CD08
|
|
_0238C0F0: .word 0x00300013
|
|
_0238C0F4: .word 0x00000434
|
|
_0238C0F8: .word 0x0238CDD4
|
|
_0238C0FC: .word 0x0238CD20
|
|
_0238C100: .word 0x00000125
|
|
_0238C104: .word 0x0000043E
|
|
_0238C108: .word 0x0000043A
|
|
_0238C10C: .word 0x0000043C
|
|
_0238C110: .word 0x0000140F
|
|
_0238C114: .word 0x020A18C4
|
|
_0238C118: .word 0x000003E7
|
|
_0238C11C: .word 0x020A18D0
|
|
_0238C120: .word 0x020A18E4
|
|
_0238C124: .word 0x00003F01
|
|
_0238C128: .word 0x0000043F
|
|
_0238C12C: .word 0x0000042D
|
|
_0238C130: .word 0x00000433
|
|
_0238C134: .word 0x00000447
|
|
_0238C138: .word 0x00000446
|
|
_0238C13C: .word 0x0238CDC4
|
|
_0238C140: .word 0x00009813
|
|
_0238C144: .word ov16_0238CB30
|
|
arm_func_end ov16_0238B148
|
|
|
|
arm_func_start ov16_0238C148
|
|
ov16_0238C148: ; 0x0238C148
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0238C1C8 ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _0238C170
|
|
mov r0, #0x150
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r1, _0238C1C8 ; =ov16_0238CE40
|
|
str r0, [r1]
|
|
_0238C170:
|
|
ldr r0, _0238C1C8 ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
add r0, r0, #0xe8
|
|
bl InitPreprocessorArgs
|
|
ldr r1, _0238C1C8 ; =ov16_0238CE40
|
|
mov r0, #0
|
|
ldr r2, [r1]
|
|
sub r3, r0, #2
|
|
str r0, [r2, #0x134]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0xe8]
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0xd8]
|
|
ldr r2, [r1]
|
|
strb r3, [r2, #0xc1]
|
|
ldr r2, [r1]
|
|
strb r3, [r2, #0xc2]
|
|
ldr r1, [r1]
|
|
strb r3, [r1, #0xc3]
|
|
bl ov16_0238A140
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0238C1C8: .word ov16_0238CE40
|
|
arm_func_end ov16_0238C148
|
|
|
|
arm_func_start ov16_0238C1CC
|
|
ov16_0238C1CC: ; 0x0238C1CC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0238C1F4 ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl MemFree
|
|
ldr r0, _0238C1F4 ; =ov16_0238CE40
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0238C1F4: .word ov16_0238CE40
|
|
arm_func_end ov16_0238C1CC
|
|
_0238C1F8:
|
|
.byte 0x18, 0x40, 0x2D, 0xE9, 0x04, 0xD0, 0x4D, 0xE2
|
|
.byte 0xD4, 0x08, 0x9F, 0xE5, 0x00, 0x30, 0x90, 0xE5, 0xD8, 0x10, 0x93, 0xE5, 0x07, 0x00, 0x51, 0xE3
|
|
.byte 0x01, 0xF1, 0x8F, 0x90, 0x2D, 0x02, 0x00, 0xEA, 0x06, 0x00, 0x00, 0xEA, 0x0B, 0x00, 0x00, 0xEA
|
|
.byte 0x06, 0x02, 0x00, 0xEA, 0x0C, 0x02, 0x00, 0xEA, 0x15, 0x02, 0x00, 0xEA, 0x1E, 0x02, 0x00, 0xEA
|
|
.byte 0xED, 0x01, 0x00, 0xEA, 0xFD, 0x01, 0x00, 0xEA, 0x0A, 0x6B, 0xFD, 0xEB, 0x98, 0x08, 0x9F, 0xE5
|
|
.byte 0x02, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0xD8, 0x10, 0x80, 0xE5, 0x1F, 0x02, 0x00, 0xEA
|
|
.byte 0x70, 0x10, 0x93, 0xE5, 0x29, 0x00, 0x51, 0xE3, 0x01, 0xF1, 0x8F, 0x90, 0xC2, 0x01, 0x00, 0xEA
|
|
.byte 0xC1, 0x01, 0x00, 0xEA, 0xC0, 0x01, 0x00, 0xEA, 0xBF, 0x01, 0x00, 0xEA, 0xBE, 0x01, 0x00, 0xEA
|
|
.byte 0xBD, 0x01, 0x00, 0xEA, 0x7E, 0x01, 0x00, 0xEA, 0x22, 0x00, 0x00, 0xEA, 0xBA, 0x01, 0x00, 0xEA
|
|
.byte 0x02, 0x01, 0x00, 0xEA, 0xB8, 0x01, 0x00, 0xEA, 0xB7, 0x01, 0x00, 0xEA, 0x3B, 0x00, 0x00, 0xEA
|
|
.byte 0x3A, 0x00, 0x00, 0xEA, 0xDE, 0x00, 0x00, 0xEA, 0xB3, 0x00, 0x00, 0xEA, 0xB2, 0x01, 0x00, 0xEA
|
|
.byte 0xB1, 0x01, 0x00, 0xEA, 0xF9, 0x00, 0x00, 0xEA, 0xAF, 0x01, 0x00, 0xEA, 0xF7, 0x00, 0x00, 0xEA
|
|
.byte 0xAD, 0x01, 0x00, 0xEA, 0xAC, 0x01, 0x00, 0xEA, 0xAB, 0x01, 0x00, 0xEA, 0xAA, 0x01, 0x00, 0xEA
|
|
.byte 0x77, 0x00, 0x00, 0xEA, 0x94, 0x00, 0x00, 0xEA, 0xA7, 0x01, 0x00, 0xEA, 0xEF, 0x00, 0x00, 0xEA
|
|
.byte 0xE5, 0x00, 0x00, 0xEA, 0xA4, 0x01, 0x00, 0xEA, 0xA3, 0x01, 0x00, 0xEA, 0xA2, 0x01, 0x00, 0xEA
|
|
.byte 0xEA, 0x00, 0x00, 0xEA, 0xA0, 0x01, 0x00, 0xEA, 0x20, 0x01, 0x00, 0xEA, 0x1F, 0x01, 0x00, 0xEA
|
|
.byte 0x38, 0x01, 0x00, 0xEA, 0x3D, 0x01, 0x00, 0xEA, 0x55, 0x01, 0x00, 0xEA, 0x6E, 0x01, 0x00, 0xEA
|
|
.byte 0x99, 0x01, 0x00, 0xEA, 0x5C, 0x01, 0x00, 0xEA, 0xD3, 0x0C, 0xD3, 0xE1, 0x9A, 0x7C, 0xF2, 0xEB
|
|
.byte 0x01, 0x00, 0x50, 0xE3, 0xC0, 0x17, 0x9F, 0x15, 0x00, 0x10, 0x91, 0x15, 0x7C, 0x00, 0x81, 0x15
|
|
.byte 0x01, 0x00, 0x50, 0xE3, 0x11, 0x00, 0x00, 0x0A, 0x02, 0x00, 0x50, 0xE3, 0x0B, 0x00, 0x00, 0x0A
|
|
.byte 0x03, 0x00, 0x50, 0xE3, 0x9D, 0x01, 0x00, 0x1A, 0xEA, 0x01, 0x00, 0xEB, 0x23, 0x02, 0x00, 0xEB
|
|
.byte 0x00, 0x00, 0x50, 0xE3, 0x02, 0x00, 0x00, 0x1A, 0x0F, 0x00, 0xA0, 0xE3, 0x7B, 0xF7, 0xFF, 0xEB
|
|
.byte 0x96, 0x01, 0x00, 0xEA, 0x0A, 0x00, 0xA0, 0xE3, 0x78, 0xF7, 0xFF, 0xEB, 0x93, 0x01, 0x00, 0xEA
|
|
.byte 0xE0, 0x01, 0x00, 0xEB, 0x03, 0x00, 0xA0, 0xE3, 0x74, 0xF7, 0xFF, 0xEB, 0x8F, 0x01, 0x00, 0xEA
|
|
.byte 0xDC, 0x01, 0x00, 0xEB, 0x04, 0x00, 0xA0, 0xE3, 0x70, 0xF7, 0xFF, 0xEB, 0x8B, 0x01, 0x00, 0xEA
|
|
.byte 0x97, 0xC1, 0xF2, 0xEB, 0x87, 0xB8, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x1D, 0x00, 0x00, 0x0A
|
|
.byte 0x95, 0xB9, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x84, 0x01, 0x00, 0x0A, 0x00, 0x10, 0x8D, 0xE2
|
|
.byte 0x00, 0x00, 0xA0, 0xE3, 0xAC, 0xE7, 0xF1, 0xEB, 0xB0, 0x00, 0xDD, 0xE1, 0x08, 0x00, 0x10, 0xE3
|
|
.byte 0x7E, 0x01, 0x00, 0x0A, 0xBD, 0xB9, 0xF2, 0xEB, 0x1C, 0x17, 0x9F, 0xE5, 0x00, 0x08, 0xA0, 0xE1
|
|
.byte 0x00, 0x10, 0x91, 0xE5, 0x40, 0x08, 0xA0, 0xE1, 0xB4, 0x04, 0xC1, 0xE1, 0x24, 0x02, 0x00, 0xEB
|
|
.byte 0x08, 0x07, 0x9F, 0xE5, 0x01, 0x1C, 0xA0, 0xE3, 0x25, 0x2E, 0xF2, 0xEB, 0x83, 0xB8, 0xF2, 0xEB
|
|
.byte 0xF4, 0x06, 0x9F, 0xE5, 0x0A, 0x30, 0xA0, 0xE3, 0x00, 0x10, 0x90, 0xE5, 0x0D, 0x20, 0xA0, 0xE3
|
|
.byte 0x78, 0x30, 0x81, 0xE5, 0x00, 0x10, 0x90, 0xE5, 0x19, 0x00, 0xA0, 0xE3, 0x74, 0x20, 0x81, 0xE5
|
|
.byte 0x4E, 0xF7, 0xFF, 0xEB, 0x69, 0x01, 0x00, 0xEA, 0x84, 0xB9, 0xF2, 0xEB, 0x00, 0x10, 0xE0, 0xE3
|
|
.byte 0x01, 0x00, 0x50, 0xE1, 0x0B, 0x00, 0x00, 0x1A, 0x3F, 0xB8, 0xF2, 0xEB, 0x14, 0xC1, 0xF2, 0xEB
|
|
.byte 0xB4, 0x06, 0x9F, 0xE5, 0x0A, 0x30, 0xA0, 0xE3, 0x00, 0x10, 0x90, 0xE5, 0x02, 0x20, 0xA0, 0xE3
|
|
.byte 0x78, 0x30, 0x81, 0xE5, 0x00, 0x10, 0x90, 0xE5, 0x18, 0x00, 0xA0, 0xE3, 0x74, 0x20, 0x81, 0xE5
|
|
.byte 0x3E, 0xF7, 0xFF, 0xEB, 0x59, 0x01, 0x00, 0xEA, 0x8C, 0x16, 0x9F, 0xE5, 0x00, 0x08, 0xA0, 0xE1
|
|
.byte 0x00, 0x10, 0x91, 0xE5, 0x40, 0x08, 0xA0, 0xE1, 0xB4, 0x04, 0xC1, 0xE1, 0x00, 0x02, 0x00, 0xEB
|
|
.byte 0x79, 0xD7, 0xF1, 0xEB, 0x64, 0x10, 0xA0, 0xE3, 0x8D, 0x0E, 0xF4, 0xEB, 0x68, 0x06, 0x9F, 0xE5
|
|
.byte 0x00, 0x20, 0x90, 0xE5, 0x06, 0x10, 0xC2, 0xE5, 0x00, 0x10, 0x90, 0xE5, 0x3C, 0x00, 0x91, 0xE5
|
|
.byte 0x02, 0x10, 0x81, 0xE2, 0xA3, 0x35, 0xF3, 0xEB, 0x4C, 0x06, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5
|
|
.byte 0xF4, 0x04, 0xD0, 0xE1, 0xF2, 0x01, 0x00, 0xEB, 0x0E, 0x00, 0xA0, 0xE3, 0x27, 0xF7, 0xFF, 0xEB
|
|
.byte 0x42, 0x01, 0x00, 0xEA, 0x4E, 0xC1, 0xF2, 0xEB, 0x2C, 0x06, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5
|
|
.byte 0x78, 0x00, 0x90, 0xE5, 0x05, 0x00, 0x50, 0xE3, 0x01, 0x00, 0x00, 0x1A, 0x16, 0xB8, 0xF2, 0xEB
|
|
.byte 0xEB, 0xC0, 0xF2, 0xEB, 0x10, 0x06, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x78, 0x00, 0x90, 0xE5
|
|
.byte 0x00, 0x00, 0x50, 0xE3, 0x0A, 0x00, 0x00, 0x1A, 0x00, 0xC1, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3
|
|
.byte 0x02, 0x00, 0x00, 0x0A, 0xF8, 0x05, 0x9F, 0xE5, 0x43, 0xFF, 0xF1, 0xEB, 0x2F, 0x01, 0x00, 0xEA
|
|
.byte 0x12, 0xC1, 0xF2, 0xEB, 0xE0, 0x05, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x74, 0x00, 0x90, 0xE5
|
|
.byte 0x0E, 0xF7, 0xFF, 0xEB, 0xD0, 0x05, 0x9F, 0xE5, 0x00, 0x10, 0x90, 0xE5, 0x78, 0x00, 0x91, 0xE5
|
|
.byte 0x01, 0x00, 0x40, 0xE2, 0x78, 0x00, 0x81, 0xE5, 0x24, 0x01, 0x00, 0xEA, 0x30, 0xC1, 0xF2, 0xEB
|
|
.byte 0xB4, 0x05, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x78, 0x00, 0x90, 0xE5, 0x05, 0x00, 0x50, 0xE3
|
|
.byte 0x00, 0x00, 0x00, 0x1A, 0x37, 0xB8, 0xF2, 0xEB, 0x9C, 0x05, 0x9F, 0xE5, 0x00, 0x10, 0x90, 0xE5
|
|
.byte 0x78, 0x00, 0x91, 0xE5, 0x00, 0x00, 0x50, 0xE3, 0x01, 0x00, 0x00, 0x1A, 0x74, 0x00, 0x91, 0xE5
|
|
.byte 0xFA, 0xF6, 0xFF, 0xEB, 0x80, 0x05, 0x9F, 0xE5, 0x00, 0x10, 0x90, 0xE5, 0x78, 0x00, 0x91, 0xE5
|
|
.byte 0x01, 0x00, 0x40, 0xE2, 0x78, 0x00, 0x81, 0xE5, 0x10, 0x01, 0x00, 0xEA, 0xD3, 0x0C, 0xD3, 0xE1
|
|
.byte 0x01, 0x7C, 0xF2, 0xEB, 0x00, 0x40, 0xA0, 0xE1, 0x19, 0xC1, 0xF2, 0xEB, 0x01, 0x00, 0x54, 0xE3
|
|
.byte 0x1C, 0x00, 0x00, 0x0A, 0x03, 0x00, 0x54, 0xE3, 0x02, 0x00, 0x00, 0x0A, 0x08, 0x00, 0x54, 0xE3
|
|
.byte 0x0D, 0x00, 0x00, 0x0A, 0x05, 0x01, 0x00, 0xEA, 0x52, 0x01, 0x00, 0xEB, 0xDE, 0xB7, 0xF2, 0xEB
|
|
.byte 0xB3, 0xC0, 0xF2, 0xEB, 0x30, 0x05, 0x9F, 0xE5, 0x0A, 0x30, 0xA0, 0xE3, 0x00, 0x10, 0x90, 0xE5
|
|
.byte 0x16, 0x20, 0xA0, 0xE3, 0x78, 0x30, 0x81, 0xE5, 0x00, 0x10, 0x90, 0xE5, 0x18, 0x00, 0xA0, 0xE3
|
|
.byte 0x74, 0x20, 0x81, 0xE5, 0xDD, 0xF6, 0xFF, 0xEB, 0xF8, 0x00, 0x00, 0xEA, 0x45, 0x01, 0x00, 0xEB
|
|
.byte 0x04, 0x05, 0x9F, 0xE5, 0x0A, 0x30, 0xA0, 0xE3, 0x00, 0x10, 0x90, 0xE5, 0x0D, 0x20, 0xA0, 0xE3
|
|
.byte 0x78, 0x30, 0x81, 0xE5, 0x00, 0x10, 0x90, 0xE5, 0x19, 0x00, 0xA0, 0xE3, 0x74, 0x20, 0x81, 0xE5
|
|
.byte 0xD2, 0xF6, 0xFF, 0xEB, 0xED, 0x00, 0x00, 0xEA, 0x3A, 0x01, 0x00, 0xEB, 0xD8, 0x04, 0x9F, 0xE5
|
|
.byte 0x0B, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0x70, 0x10, 0x80, 0xE5, 0x09, 0xB8, 0xF2, 0xEB
|
|
.byte 0xE6, 0x00, 0x00, 0xEA, 0x5F, 0xCB, 0xF2, 0xEB, 0x01, 0x00, 0x50, 0xE3, 0xE3, 0x00, 0x00, 0x1A
|
|
.byte 0xB4, 0x04, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0xD4, 0x0C, 0xD0, 0xE1, 0x4E, 0x6F, 0xF2, 0xEB
|
|
.byte 0xD6, 0xCC, 0xF2, 0xEB, 0xA0, 0x04, 0x9F, 0xE5, 0x01, 0x30, 0xE0, 0xE3, 0x00, 0x10, 0x90, 0xE5
|
|
.byte 0x03, 0x20, 0xA0, 0xE3, 0xC4, 0x30, 0xC1, 0xE5, 0x00, 0x10, 0x90, 0xE5, 0x0C, 0x30, 0xA0, 0xE3
|
|
.byte 0xE4, 0x20, 0x81, 0xE5, 0x00, 0x20, 0x90, 0xE5, 0x1C, 0x10, 0xA0, 0xE3, 0x74, 0x30, 0x82, 0xE5
|
|
.byte 0x00, 0x00, 0x90, 0xE5, 0x70, 0x10, 0x80, 0xE5, 0xD0, 0x00, 0x00, 0xEA, 0xE4, 0x20, 0x93, 0xE5
|
|
.byte 0x01, 0x10, 0x42, 0xE2, 0xE4, 0x10, 0x83, 0xE5, 0x00, 0x00, 0x52, 0xE3, 0xCB, 0x00, 0x00, 0x1A
|
|
.byte 0x00, 0x00, 0x90, 0xE5, 0x74, 0x00, 0x90, 0xE5, 0xAC, 0xF6, 0xFF, 0xEB, 0xC7, 0x00, 0x00, 0xEA
|
|
.byte 0xD3, 0x0C, 0xD3, 0xE1, 0x95, 0x7B, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0xC3, 0x00, 0x00, 0x1A
|
|
.byte 0x34, 0x04, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0xD3, 0x0C, 0xD0, 0xE1, 0xB2, 0x7B, 0xF2, 0xEB
|
|
.byte 0x24, 0x14, 0x9F, 0xE5, 0x00, 0x40, 0xA0, 0xE1, 0x00, 0x00, 0x91, 0xE5, 0x01, 0x10, 0xE0, 0xE3
|
|
.byte 0xD2, 0x0C, 0xD0, 0xE1, 0x01, 0x00, 0x50, 0xE1, 0x04, 0x00, 0x00, 0x0A, 0xDF, 0x8B, 0xF2, 0xEB
|
|
.byte 0x04, 0x04, 0x9F, 0xE5, 0x01, 0x10, 0xE0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0xC2, 0x10, 0xC0, 0xE5
|
|
.byte 0x01, 0x00, 0x54, 0xE3, 0x11, 0x00, 0x00, 0x0A, 0x06, 0x00, 0x54, 0xE3, 0x02, 0x00, 0x00, 0x0A
|
|
.byte 0x07, 0x00, 0x54, 0xE3, 0x0D, 0x00, 0x00, 0x0A, 0xAC, 0x00, 0x00, 0xEA, 0xF9, 0x00, 0x00, 0xEB
|
|
.byte 0xD4, 0x03, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0xD1, 0x0C, 0xD0, 0xE1, 0xEC, 0x8A, 0xF2, 0xEB
|
|
.byte 0xC4, 0x03, 0x9F, 0xE5, 0x0A, 0x30, 0xA0, 0xE3, 0x00, 0x20, 0x90, 0xE5, 0x1C, 0x10, 0xA0, 0xE3
|
|
.byte 0xE4, 0x30, 0x82, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x70, 0x10, 0x80, 0xE5, 0x9F, 0x00, 0x00, 0xEA
|
|
.byte 0xEC, 0x00, 0x00, 0xEB, 0xA0, 0x03, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0xD1, 0x0C, 0xD0, 0xE1
|
|
.byte 0xDF, 0x8A, 0xF2, 0xEB, 0x90, 0x03, 0x9F, 0xE5, 0x0A, 0x30, 0xA0, 0xE3, 0x00, 0x40, 0x90, 0xE5
|
|
.byte 0x1C, 0x10, 0xA0, 0xE3, 0x78, 0x20, 0x94, 0xE5, 0x74, 0x20, 0x84, 0xE5, 0x00, 0x20, 0x90, 0xE5
|
|
.byte 0xE4, 0x30, 0x82, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x70, 0x10, 0x80, 0xE5, 0x8F, 0x00, 0x00, 0xEA
|
|
.byte 0x57, 0xA9, 0xF2, 0xEB, 0x03, 0x00, 0x50, 0xE3, 0x8C, 0x00, 0x00, 0x1A, 0x76, 0xAB, 0xF2, 0xEB
|
|
.byte 0x54, 0x13, 0x9F, 0xE5, 0x00, 0x40, 0xA0, 0xE1, 0x00, 0x00, 0x91, 0xE5, 0x04, 0x10, 0xA0, 0xE1
|
|
.byte 0x8D, 0x00, 0x80, 0xE2, 0x10, 0x20, 0xA0, 0xE3, 0x95, 0x62, 0xF2, 0xEB, 0x38, 0x03, 0x9F, 0xE5
|
|
.byte 0x04, 0x10, 0xA0, 0xE1, 0x00, 0x00, 0x90, 0xE5, 0xA1, 0x00, 0x80, 0xE2, 0x53, 0x62, 0xF2, 0xEB
|
|
.byte 0x24, 0x03, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x3C, 0x00, 0x90, 0xE5, 0x2B, 0x26, 0xF3, 0xEB
|
|
.byte 0x14, 0x13, 0x9F, 0xE5, 0x00, 0x10, 0x91, 0xE5, 0x46, 0x00, 0xC1, 0xE5, 0x24, 0x00, 0xA0, 0xE3
|
|
.byte 0x5A, 0xF6, 0xFF, 0xEB, 0x75, 0x00, 0x00, 0xEA, 0x22, 0xAB, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3
|
|
.byte 0x72, 0x00, 0x00, 0x0A, 0x25, 0x00, 0xA0, 0xE3, 0x54, 0xF6, 0xFF, 0xEB, 0x6F, 0x00, 0x00, 0xEA
|
|
.byte 0xC9, 0xB2, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x0C, 0x00, 0x00, 0x1A, 0xD8, 0x02, 0x9F, 0xE5
|
|
.byte 0x04, 0x30, 0xA0, 0xE3, 0x00, 0x10, 0x90, 0xE5, 0x0A, 0x20, 0xA0, 0xE3, 0x78, 0x30, 0x81, 0xE5
|
|
.byte 0x00, 0x10, 0x90, 0xE5, 0x3C, 0x00, 0x91, 0xE5, 0xA1, 0x10, 0x81, 0xE2, 0x3A, 0x00, 0x80, 0xE2
|
|
.byte 0x3D, 0x62, 0xF2, 0xEB, 0x26, 0x00, 0xA0, 0xE3, 0x44, 0xF6, 0xFF, 0xEB, 0x5F, 0x00, 0x00, 0xEA
|
|
.byte 0x01, 0x00, 0x50, 0xE3, 0x5D, 0x00, 0x00, 0x1A, 0x9C, 0x02, 0x9F, 0xE5, 0x23, 0x20, 0xA0, 0xE3
|
|
.byte 0x00, 0x10, 0x90, 0xE5, 0x26, 0x00, 0xA0, 0xE3, 0x78, 0x20, 0x81, 0xE5, 0x3B, 0xF6, 0xFF, 0xEB
|
|
.byte 0x56, 0x00, 0x00, 0xEA, 0x6F, 0xB2, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x53, 0x00, 0x00, 0x0A
|
|
.byte 0x74, 0x02, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x78, 0x00, 0x90, 0xE5, 0x33, 0xF6, 0xFF, 0xEB
|
|
.byte 0x4E, 0x00, 0x00, 0xEA, 0x03, 0x00, 0xA0, 0xE3, 0x4D, 0x00, 0x00, 0xEA, 0xD1, 0x0C, 0xD3, 0xE1
|
|
.byte 0x3E, 0x8A, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x48, 0x00, 0x00, 0x1A, 0x48, 0x02, 0x9F, 0xE5
|
|
.byte 0x00, 0x00, 0x90, 0xE5, 0xD1, 0x0C, 0xD0, 0xE1, 0xC1, 0x8A, 0xF2, 0xEB, 0x38, 0x02, 0x9F, 0xE5
|
|
.byte 0x2B, 0x20, 0xA0, 0xE3, 0x00, 0x10, 0x90, 0xE5, 0x70, 0x20, 0x81, 0xE5, 0x00, 0x00, 0x90, 0xE5
|
|
.byte 0xD1, 0x0C, 0xD0, 0xE1, 0x82, 0x8A, 0xF2, 0xEB, 0x3C, 0x00, 0x00, 0xEA, 0xD3, 0x0C, 0xD3, 0xE1
|
|
.byte 0x05, 0x7D, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x38, 0x00, 0x00, 0x1A, 0x08, 0x02, 0x9F, 0xE5
|
|
.byte 0x00, 0x00, 0x90, 0xE5, 0xD3, 0x0C, 0xD0, 0xE1, 0x0C, 0x7D, 0xF2, 0xEB, 0x00, 0x40, 0xA0, 0xE1
|
|
.byte 0x00, 0x00, 0xE0, 0xE3, 0x00, 0x00, 0x54, 0xE1, 0x0A, 0x00, 0x00, 0x1A, 0xE8, 0x01, 0x9F, 0xE5
|
|
.byte 0x00, 0x00, 0x90, 0xE5, 0xD3, 0x0C, 0xD0, 0xE1, 0xD1, 0x7C, 0xF2, 0xEB, 0xD8, 0x01, 0x9F, 0xE5
|
|
.byte 0x01, 0x20, 0xE0, 0xE3, 0x00, 0x10, 0x90, 0xE5, 0x02, 0x00, 0xA0, 0xE3, 0xC3, 0x20, 0xC1, 0xE5
|
|
.byte 0x0A, 0xF6, 0xFF, 0xEB, 0x25, 0x00, 0x00, 0xEA, 0xBC, 0x01, 0x9F, 0xE5, 0x00, 0x20, 0x90, 0xE5
|
|
.byte 0x04, 0x11, 0x82, 0xE0, 0x50, 0x10, 0x91, 0xE5, 0x40, 0x10, 0x82, 0xE5, 0x00, 0x00, 0x90, 0xE5
|
|
.byte 0xD3, 0x0C, 0xD0, 0xE1, 0xC2, 0x7C, 0xF2, 0xEB, 0x9C, 0x11, 0x9F, 0xE5, 0x01, 0x30, 0xE0, 0xE3
|
|
.byte 0x00, 0x20, 0x91, 0xE5, 0x17, 0x00, 0xA0, 0xE3, 0xC3, 0x30, 0xC2, 0xE5, 0x00, 0x20, 0x91, 0xE5
|
|
.byte 0x04, 0x11, 0x82, 0xE0, 0x50, 0x10, 0x91, 0xE5, 0x81, 0x10, 0x82, 0xE0, 0xFC, 0x10, 0xD1, 0xE1
|
|
.byte 0xBA, 0x10, 0xC2, 0xE1, 0xF5, 0xF5, 0xFF, 0xEB, 0x10, 0x00, 0x00, 0xEA, 0x2B, 0x02, 0xFE, 0xEB
|
|
.byte 0x00, 0x00, 0x50, 0xE3, 0x0D, 0x00, 0x00, 0x1A, 0x5C, 0x01, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5
|
|
.byte 0xD1, 0x0C, 0xD0, 0xE1, 0xFD, 0x89, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x07, 0x00, 0x00, 0x1A
|
|
.byte 0x44, 0x01, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0xD1, 0x0C, 0xD0, 0xE1, 0x80, 0x8A, 0xF2, 0xEB
|
|
.byte 0x34, 0x01, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x74, 0x00, 0x90, 0xE5, 0xE3, 0xF5, 0xFF, 0xEB
|
|
.byte 0x00, 0x00, 0xA0, 0xE3, 0x03, 0x00, 0x50, 0xE3, 0x44, 0x00, 0x00, 0x1A, 0x18, 0x01, 0x9F, 0xE5
|
|
.byte 0x06, 0x20, 0xA0, 0xE3, 0x00, 0x10, 0x90, 0xE5, 0xD8, 0x20, 0x81, 0xE5, 0x00, 0x00, 0x90, 0xE5
|
|
.byte 0xD1, 0x0C, 0xD0, 0xE1, 0x64, 0x6E, 0xF2, 0xEB, 0xFC, 0x00, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5
|
|
.byte 0xD1, 0x0C, 0xD0, 0xE1, 0x36, 0x8A, 0xF2, 0xEB, 0x38, 0x00, 0x00, 0xEA, 0x07, 0x10, 0xA0, 0xE3
|
|
.byte 0xD8, 0x10, 0x83, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0xD1, 0x0C, 0xD0, 0xE1, 0xD1, 0x89, 0xF2, 0xEB
|
|
.byte 0xD4, 0x00, 0x9F, 0xE5, 0x01, 0x10, 0xE0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0xD2, 0x0C, 0xD0, 0xE1
|
|
.byte 0x01, 0x00, 0x50, 0xE1, 0x2D, 0x00, 0x00, 0x0A, 0x0C, 0x8B, 0xF2, 0xEB, 0xB8, 0x00, 0x9F, 0xE5
|
|
.byte 0x01, 0x10, 0xE0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0xC2, 0x10, 0xC0, 0xE5, 0x27, 0x00, 0x00, 0xEA
|
|
.byte 0x00, 0x00, 0xE0, 0xE3, 0x14, 0x69, 0xFD, 0xEB, 0x04, 0x00, 0xA0, 0xE3, 0x24, 0x00, 0x00, 0xEA
|
|
.byte 0x20, 0x69, 0xFD, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x8C, 0x00, 0x9F, 0x15, 0x01, 0x10, 0xA0, 0x13
|
|
.byte 0x00, 0x00, 0x90, 0x15, 0xD8, 0x10, 0x80, 0x15, 0x1C, 0x00, 0x00, 0xEA, 0x19, 0x69, 0xFD, 0xEB
|
|
.byte 0x00, 0x00, 0x50, 0xE3, 0x19, 0x00, 0x00, 0x0A, 0x03, 0x00, 0xA0, 0xE3, 0x06, 0x69, 0xFD, 0xEB
|
|
.byte 0x64, 0x00, 0x9F, 0xE5, 0x02, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0xD8, 0x10, 0x80, 0xE5
|
|
.byte 0x12, 0x00, 0x00, 0xEA, 0x0F, 0x69, 0xFD, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x0F, 0x00, 0x00, 0x0A
|
|
.byte 0x01, 0x00, 0xA0, 0xE3, 0xFC, 0x68, 0xFD, 0xEB, 0x3C, 0x00, 0x9F, 0xE5, 0x02, 0x10, 0xA0, 0xE3
|
|
.byte 0x00, 0x00, 0x90, 0xE5, 0xD8, 0x10, 0x80, 0xE5, 0x08, 0x00, 0x00, 0xEA, 0x05, 0x69, 0xFD, 0xEB
|
|
.byte 0x00, 0x00, 0x50, 0xE3, 0x05, 0x00, 0x00, 0x0A, 0x04, 0x00, 0xA0, 0xE3, 0xF2, 0x68, 0xFD, 0xEB
|
|
.byte 0x14, 0x00, 0x9F, 0xE5, 0x02, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0xD8, 0x10, 0x80, 0xE5
|
|
.byte 0x01, 0x00, 0xA0, 0xE3, 0x04, 0xD0, 0x8D, 0xE2, 0x18, 0x80, 0xBD, 0xE8, 0x40, 0xCE, 0x38, 0x02
|
|
.byte 0x02, 0x3F, 0x00, 0x00, 0x04, 0xCE, 0x38, 0x02
|
|
|
|
arm_func_start ov16_0238CAE8
|
|
ov16_0238CAE8: ; 0x0238CAE8
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0238CB2C ; =ov16_0238CE40
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc3]
|
|
cmp r0, r1
|
|
ldmeqia sp!, {r3, pc}
|
|
bl sub_0202836C
|
|
ldr r0, _0238CB2C ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrsb r0, [r0, #0xc3]
|
|
bl FreeNormalMenu
|
|
ldr r0, _0238CB2C ; =ov16_0238CE40
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0xc3]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0238CB2C: .word ov16_0238CE40
|
|
arm_func_end ov16_0238CAE8
|
|
|
|
arm_func_start ov16_0238CB30
|
|
ov16_0238CB30: ; 0x0238CB30
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x54
|
|
ldr r2, _0238CB8C ; =ov16_0238CE40
|
|
ldr r3, _0238CB90 ; =0x0000C402
|
|
ldr r6, [r2]
|
|
ldr r2, _0238CB94 ; =0x0238CE28
|
|
add r5, r6, r1, lsl #2
|
|
ldr r1, [r5, #0x50]
|
|
add ip, sp, #4
|
|
add r1, r6, r1, lsl #1
|
|
ldrsh lr, [r1, #0xc]
|
|
mov r1, #0x400
|
|
mov r4, r0
|
|
str lr, [sp, #4]
|
|
ldr lr, [r5, #0x50]
|
|
add lr, r6, lr, lsl #1
|
|
ldrsh lr, [lr, #0xc]
|
|
str lr, [sp, #0x28]
|
|
str ip, [sp]
|
|
bl PreprocessString
|
|
mov r0, r4
|
|
add sp, sp, #0x54
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0238CB8C: .word ov16_0238CE40
|
|
_0238CB90: .word 0x0000C402
|
|
_0238CB94: .word 0x0238CE28
|
|
arm_func_end ov16_0238CB30
|
|
|
|
arm_func_start ov16_0238CB98
|
|
ov16_0238CB98: ; 0x0238CB98
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _0238CBCC ; =ov16_0238CE40
|
|
mvn r0, #1
|
|
ldr r1, [r1]
|
|
ldrsb r1, [r1, #0xc1]
|
|
cmp r1, r0
|
|
ldmneia sp!, {r3, pc}
|
|
mov r0, #0
|
|
bl CreateDBox
|
|
ldr r1, _0238CBCC ; =ov16_0238CE40
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0xc1]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0238CBCC: .word ov16_0238CE40
|
|
arm_func_end ov16_0238CB98
|
|
|
|
arm_func_start ov16_0238CBD0
|
|
ov16_0238CBD0: ; 0x0238CBD0
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x3c
|
|
bl sub_02059B08
|
|
ldr r1, _0238CC5C ; =0x020B0A48
|
|
mov r6, #0
|
|
ldr r8, [r1]
|
|
ldr sb, _0238CC60 ; =0x0000022B
|
|
mov r5, r0
|
|
mov r7, r6
|
|
add r4, sp, #0
|
|
_0238CBF8:
|
|
mov r0, r7, lsl #0x10
|
|
mov r0, r0, asr #0x10
|
|
bl IsValidTeamMember
|
|
cmp r0, #0
|
|
beq _0238CC40
|
|
cmp r5, #0
|
|
bne _0238CC28
|
|
mov r0, r7, lsl #0x10
|
|
mov r0, r0, asr #0x10
|
|
bl IsMainCharacter
|
|
cmp r0, #0
|
|
bne _0238CC40
|
|
_0238CC28:
|
|
mov r0, r8
|
|
mov r1, r4
|
|
bl GetEvolutionPossibilities
|
|
ldrsh r0, [sp, #8]
|
|
cmp r0, #0
|
|
addne r6, r6, #1
|
|
_0238CC40:
|
|
add r7, r7, #1
|
|
cmp r7, sb
|
|
add r8, r8, #0x44
|
|
blt _0238CBF8
|
|
mov r0, r6
|
|
add sp, sp, #0x3c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_0238CC5C: .word 0x020B0A48
|
|
_0238CC60: .word 0x0000022B
|
|
arm_func_end ov16_0238CBD0
|
|
|
|
arm_func_start ov16_0238CC64
|
|
ov16_0238CC64: ; 0x0238CC64
|
|
stmdb sp!, {r3, lr}
|
|
bl GetTeamMember
|
|
ldr r1, _0238CC90 ; =ov16_0238CE40
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x3c]
|
|
ldr r0, [r1]
|
|
ldr r1, [r0, #0x3c]
|
|
add r0, r0, #0xb1
|
|
add r1, r1, #0x3a
|
|
bl StrcpySimple
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0238CC90: .word ov16_0238CE40
|
|
arm_func_end ov16_0238CC64
|
|
|
|
arm_func_start ov16_0238CC94
|
|
ov16_0238CC94: ; 0x0238CC94
|
|
ldr r0, _0238CCA4 ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0xdc]
|
|
bx lr
|
|
.align 2, 0
|
|
_0238CCA4: .word ov16_0238CE40
|
|
arm_func_end ov16_0238CC94
|
|
|
|
arm_func_start ov16_0238CCA8
|
|
ov16_0238CCA8: ; 0x0238CCA8
|
|
ldr r0, _0238CCB8 ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
ldrsh r0, [r0, #0xde]
|
|
bx lr
|
|
.align 2, 0
|
|
_0238CCB8: .word ov16_0238CE40
|
|
arm_func_end ov16_0238CCA8
|
|
|
|
arm_func_start ov16_0238CCBC
|
|
ov16_0238CCBC: ; 0x0238CCBC
|
|
ldr r0, _0238CCD4 ; =ov16_0238CE40
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldrne r0, [r0, #0xe0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0238CCD4: .word ov16_0238CE40
|
|
arm_func_end ov16_0238CCBC
|
|
|
|
arm_func_start ov16_0238CCD8
|
|
ov16_0238CCD8: ; 0x0238CCD8
|
|
ldr r0, _0238CCEC ; =ov16_0238CE40
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0xe0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0238CCEC: .word ov16_0238CE40
|
|
arm_func_end ov16_0238CCD8
|
|
|
|
arm_func_start ov16_0238CCF0
|
|
ov16_0238CCF0: ; 0x0238CCF0
|
|
ldr r0, _0238CD04 ; =ov16_0238CE40
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
str r1, [r0, #0xd8]
|
|
bx lr
|
|
.align 2, 0
|
|
_0238CD04: .word ov16_0238CE40
|
|
arm_func_end ov16_0238CCF0
|
|
; 0x0238CD08
|
|
|
|
.byte 0x2B, 0x04, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x35, 0x04, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x36, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x37, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2E, 0x04, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x2F, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x30, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D, 0x04, 0x2E, 0x04, 0x2F, 0x04, 0x30, 0x04
|
|
.byte 0x31, 0x04, 0x32, 0x04, 0x33, 0x04, 0x34, 0x04, 0x38, 0x04, 0x39, 0x04, 0x3A, 0x04, 0x3C, 0x04
|
|
.byte 0x3D, 0x04, 0x3E, 0x04, 0x3F, 0x04, 0x40, 0x04, 0x41, 0x04, 0x42, 0x04, 0x43, 0x04, 0x44, 0x04
|
|
.byte 0x45, 0x04, 0x46, 0x04, 0x47, 0x04, 0x48, 0x04, 0x49, 0x04, 0x3B, 0x04, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x02, 0x12, 0x10, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0x0A, 0x08, 0x03, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x02, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x02, 0x0B, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x0F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x02, 0x14, 0x10, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x65, 0x6E, 0x75
|
|
.byte 0x4D, 0x6F, 0x6E, 0x73, 0x74, 0x65, 0x72, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x6F
|
|
.byte 0x6F, 0x6B, 0x5F, 0x49, 0x73, 0x42, 0x75, 0x73, 0x79, 0x20, 0x62, 0x75, 0x73, 0x79, 0x0A, 0x00
|
|
.byte 0x5B, 0x6B, 0x69, 0x6E, 0x64, 0x3A, 0x30, 0x5D, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.data
|
|
.global ov16_0238CE40
|
|
ov16_0238CE40:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|