pokefirered/asm/pokemon_summary_screen.s
2019-08-24 09:37:41 +08:00

14103 lines
243 KiB
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_81344F8
sub_81344F8: @ 81344F8
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
mov r8, r0
adds r7, r3, 0
ldr r0, [sp, 0x20]
lsls r1, 24
lsrs r6, r1, 24
lsls r2, 24
lsrs r2, 24
mov r9, r2
lsls r0, 24
lsrs r0, 24
mov r10, r0
ldr r5, _0813453C @ =gUnknown_203B140
ldr r0, _08134540 @ =0x00003308
bl AllocZeroed
str r0, [r5]
ldr r4, _08134544 @ =gUnknown_203B144
movs r0, 0x28
bl AllocZeroed
str r0, [r4]
ldr r5, [r5]
cmp r5, 0
bne _08134548
adds r0, r7, 0
bl SetMainCallback2
b _08134702
.align 2, 0
_0813453C: .4byte gUnknown_203B140
_08134540: .4byte 0x00003308
_08134544: .4byte gUnknown_203B144
_08134548:
ldr r0, _08134574 @ =gUnknown_203B16C
strb r6, [r0]
ldr r0, _08134578 @ =gUnknown_203B16D
movs r1, 0
strb r1, [r0]
ldr r0, _0813457C @ =gUnknown_203B16E
strb r1, [r0]
ldr r1, _08134580 @ =0x000032f8
adds r0, r5, r1
str r7, [r0]
ldr r2, _08134584 @ =0x000032f4
adds r0, r5, r2
mov r3, r8
str r3, [r0]
ldr r0, _08134588 @ =gEnemyParty
cmp r8, r0
bne _08134590
ldr r0, _0813458C @ =0x00003024
adds r1, r5, r0
movs r0, 0x1
b _08134596
.align 2, 0
_08134574: .4byte gUnknown_203B16C
_08134578: .4byte gUnknown_203B16D
_0813457C: .4byte gUnknown_203B16E
_08134580: .4byte 0x000032f8
_08134584: .4byte 0x000032f4
_08134588: .4byte gEnemyParty
_0813458C: .4byte 0x00003024
_08134590:
ldr r2, _081345C0 @ =0x00003024
adds r1, r5, r2
movs r0, 0
_08134596:
str r0, [r1]
ldr r4, _081345C4 @ =gUnknown_203B140
ldr r0, [r4]
ldr r3, _081345C8 @ =0x00003210
adds r0, r3
movs r5, 0
mov r1, r9
strb r1, [r0]
ldr r0, [r4]
ldr r1, _081345CC @ =0x00003208
adds r0, r1
mov r2, r10
strb r2, [r0]
ldr r0, [r4]
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x3
bgt _081345D0
cmp r0, 0x2
bge _08134634
b _081345D4
.align 2, 0
_081345C0: .4byte 0x00003024
_081345C4: .4byte gUnknown_203B140
_081345C8: .4byte 0x00003210
_081345CC: .4byte 0x00003208
_081345D0:
cmp r0, 0x5
beq _08134604
_081345D4:
movs r0, 0x6
bl HelpSystem_SetSomeVariable2
ldr r2, _081345F8 @ =gUnknown_203B140
ldr r0, [r2]
ldr r3, _081345FC @ =0x00003214
adds r0, r3
movs r1, 0
strb r1, [r0]
ldr r0, [r2]
adds r3, 0x8
adds r0, r3
strb r1, [r0]
ldr r0, [r2]
ldr r2, _08134600 @ =0x00003234
adds r0, r2
b _08134654
.align 2, 0
_081345F8: .4byte gUnknown_203B140
_081345FC: .4byte 0x00003214
_08134600: .4byte 0x00003234
_08134604:
movs r0, 0x6
bl HelpSystem_SetSomeVariable2
ldr r0, [r4]
ldr r3, _08134628 @ =0x00003214
adds r0, r3
strb r5, [r0]
ldr r0, [r4]
ldr r1, _0813462C @ =0x0000321c
adds r0, r1
movs r1, 0x1
strb r1, [r0]
ldr r0, [r4]
ldr r2, _08134630 @ =0x00003234
adds r0, r2
strb r5, [r0]
b _08134656
.align 2, 0
_08134628: .4byte 0x00003214
_0813462C: .4byte 0x0000321c
_08134630: .4byte 0x00003234
_08134634:
movs r0, 0x8
bl HelpSystem_SetSomeVariable2
ldr r0, [r4]
ldr r3, _08134710 @ =0x00003214
adds r0, r3
movs r1, 0x3
strb r1, [r0]
ldr r0, [r4]
ldr r1, _08134714 @ =0x0000321c
adds r0, r1
strb r5, [r0]
ldr r0, [r4]
ldr r2, _08134718 @ =0x00003234
adds r0, r2
movs r1, 0x1
_08134654:
strb r1, [r0]
_08134656:
ldr r5, _0813471C @ =gUnknown_203B140
ldr r0, [r5]
ldr r3, _08134720 @ =0x00003270
adds r0, r3
movs r2, 0
strb r2, [r0]
ldr r0, [r5]
ldr r1, _08134724 @ =0x00003274
adds r0, r1
strb r2, [r0]
ldr r0, [r5]
adds r3, 0x8
adds r0, r3
strb r2, [r0]
ldr r0, [r5]
adds r1, 0x8
adds r0, r1
strb r2, [r0]
ldr r0, [r5]
subs r3, 0x40
adds r0, r3
strb r2, [r0]
ldr r0, [r5]
subs r1, 0x40
adds r0, r1
movs r1, 0x2
strb r1, [r0]
ldr r0, [r5]
adds r3, 0x8
adds r0, r3
movs r1, 0x1
strb r1, [r0]
ldr r0, [r5]
adds r3, 0x4
adds r0, r3
strb r2, [r0]
ldr r0, [r5]
subs r3, 0x1C
adds r0, r3
strb r2, [r0]
ldr r0, [r5]
ldr r2, _08134728 @ =0x0000322c
adds r0, r2
strb r1, [r0]
ldr r0, [r5]
ldr r4, _0813472C @ =0x00003290
adds r0, r4
bl sub_8138B8C
ldr r0, [r5]
adds r0, r4
movs r1, 0x2D
bl GetMonData
ldr r1, [r5]
movs r3, 0xC8
lsls r3, 6
adds r1, r3
strb r0, [r1]
ldr r0, [r5]
adds r0, r4
movs r1, 0x4
bl GetMonData
ldr r1, [r5]
ldr r2, _08134730 @ =0x00003204
adds r1, r2
strb r0, [r1]
ldr r0, [r5]
adds r2, r0, r2
ldrb r1, [r2]
cmp r1, 0x1
bne _081346F0
movs r2, 0xC8
lsls r2, 6
adds r0, r2
strb r1, [r0]
_081346F0:
ldr r0, [r5]
movs r3, 0xCC
lsls r3, 6
adds r0, r3
movs r1, 0xFF
strb r1, [r0]
ldr r0, _08134734 @ =sub_8135C34
bl SetMainCallback2
_08134702:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08134710: .4byte 0x00003214
_08134714: .4byte 0x0000321c
_08134718: .4byte 0x00003234
_0813471C: .4byte gUnknown_203B140
_08134720: .4byte 0x00003270
_08134724: .4byte 0x00003274
_08134728: .4byte 0x0000322c
_0813472C: .4byte 0x00003290
_08134730: .4byte 0x00003204
_08134734: .4byte sub_8135C34
thumb_func_end sub_81344F8
thumb_func_start sub_8134738
sub_8134738: @ 8134738
push {r4,r5,lr}
sub sp, 0x4
ldr r5, [sp, 0x10]
lsls r1, 24
lsrs r1, 24
lsls r2, 24
lsrs r2, 24
lsls r5, 16
lsrs r5, 16
movs r4, 0x2
str r4, [sp]
bl sub_81344F8
ldr r0, _08134764 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08134768 @ =0x00003260
adds r0, r1
strh r5, [r0]
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08134764: .4byte gUnknown_203B140
_08134768: .4byte 0x00003260
thumb_func_end sub_8134738
thumb_func_start sub_813476C
sub_813476C: @ 813476C
push {lr}
lsls r0, 24
lsrs r2, r0, 24
ldr r0, _08134790 @ =gUnknown_203B140
ldr r1, [r0]
ldr r3, _08134794 @ =0x0000301c
adds r0, r1, r3
ldrb r0, [r0]
cmp r0, 0x1
bne _0813479C
ldr r3, _08134798 @ =0x00003224
adds r0, r1, r3
ldrb r0, [r0]
cmp r0, r2
beq _0813479C
movs r0, 0x1
b _0813479E
.align 2, 0
_08134790: .4byte gUnknown_203B140
_08134794: .4byte 0x0000301c
_08134798: .4byte 0x00003224
_0813479C:
movs r0, 0
_0813479E:
pop {r1}
bx r1
thumb_func_end sub_813476C
thumb_func_start sub_81347A4
sub_81347A4: @ 81347A4
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r0, _081347D4 @ =gUnknown_203B140
ldr r1, [r0]
movs r2, 0xC8
lsls r2, 6
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
bne _08134830
movs r0, 0xCC
lsls r0, 6
adds r2, r1, r0
ldrb r1, [r2]
adds r0, r1, 0
cmp r0, 0xFF
beq _081347D8
cmp r0, r4
bne _081347D8
movs r0, 0xFF
strb r0, [r2]
_081347D0:
movs r0, 0x1
b _08134832
.align 2, 0
_081347D4: .4byte gUnknown_203B140
_081347D8:
adds r0, r4, 0
bl sub_813476C
lsls r0, 24
cmp r0, 0
bne _08134830
cmp r4, 0
beq _08134810
cmp r4, 0x1
bne _08134830
ldr r0, _08134808 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x10
ands r0, r1
cmp r0, 0
bne _081347D0
ldr r0, _0813480C @ =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x13]
cmp r0, 0x1
bne _08134830
movs r0, 0x80
lsls r0, 1
b _0813482A
.align 2, 0
_08134808: .4byte gMain
_0813480C: .4byte gSaveBlock2Ptr
_08134810:
ldr r0, _08134838 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x20
ands r0, r1
cmp r0, 0
bne _081347D0
ldr r0, _0813483C @ =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r0, [r0, 0x13]
cmp r0, 0x1
bne _08134830
movs r0, 0x80
lsls r0, 2
_0813482A:
ands r0, r1
cmp r0, 0
bne _081347D0
_08134830:
movs r0, 0
_08134832:
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08134838: .4byte gMain
_0813483C: .4byte gSaveBlock2Ptr
thumb_func_end sub_81347A4
thumb_func_start sub_8134840
sub_8134840: @ 8134840
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x4
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldr r1, _0813486C @ =gUnknown_203B140
ldr r0, [r1]
ldr r2, _08134870 @ =0x00003270
adds r0, r2
ldrb r0, [r0]
adds r4, r1, 0
cmp r0, 0x5
bls _08134860
b _08134B88
_08134860:
lsls r0, 2
ldr r1, _08134874 @ =_08134878
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0813486C: .4byte gUnknown_203B140
_08134870: .4byte 0x00003270
_08134874: .4byte _08134878
.align 2, 0
_08134878:
.4byte _08134890
.4byte _081348AC
.4byte _081348E4
.4byte _08134ADC
.4byte _08134B38
.4byte _08134B60
_08134890:
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
ldr r0, _081348A8 @ =gUnknown_203B140
ldr r0, [r0]
b _081348D6
.align 2, 0
_081348A8: .4byte gUnknown_203B140
_081348AC:
ldr r0, _081348C8 @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _081348D4
bl sub_813B784
ldr r0, _081348CC @ =gUnknown_203B140
ldr r0, [r0]
ldr r2, _081348D0 @ =0x00003270
adds r0, r2
b _08134AF6
.align 2, 0
_081348C8: .4byte gPaletteFade
_081348CC: .4byte gUnknown_203B140
_081348D0: .4byte 0x00003270
_081348D4:
ldr r0, [r4]
_081348D6:
ldr r1, _081348E0 @ =0x00003270
adds r0, r1
movs r1, 0x1
strb r1, [r0]
b _08134B9A
.align 2, 0
_081348E0: .4byte 0x00003270
_081348E4:
bl sub_80BF72C
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _081348F2
b _08134B9A
_081348F2:
bl sub_800B270
cmp r0, 0x1
bne _081348FC
b _08134B9A
_081348FC:
ldr r0, _08134940 @ =sub_813B3F0
bl FuncIsActiveTask
lsls r0, 24
lsrs r7, r0, 24
cmp r7, 0
beq _0813490C
b _08134B9A
_0813490C:
ldr r5, _08134944 @ =gUnknown_203B140
ldr r0, [r5]
ldr r6, _08134948 @ =0x00003214
adds r0, r6
ldrb r0, [r0]
cmp r0, 0x3
beq _081349F8
movs r0, 0x1
bl sub_81347A4
adds r4, r0, 0
cmp r4, 0x1
bne _0813498C
ldr r0, _0813494C @ =sub_8134BAC
bl FuncIsActiveTask
lsls r0, 24
cmp r0, 0
beq _08134950
ldr r0, [r5]
movs r2, 0xCC
lsls r2, 6
adds r0, r2
strb r4, [r0]
b _08134B9A
.align 2, 0
_08134940: .4byte sub_813B3F0
_08134944: .4byte gUnknown_203B140
_08134948: .4byte 0x00003214
_0813494C: .4byte sub_8134BAC
_08134950:
ldr r0, [r5]
adds r0, r6
ldrb r0, [r0]
cmp r0, 0x1
bls _0813495C
b _08134B9A
_0813495C:
movs r0, 0x5
bl PlaySE
movs r0, 0
bl HideBg
ldr r0, [r5]
ldr r1, _08134988 @ =0x00003224
adds r0, r1
strb r4, [r0]
ldr r0, [r5]
adds r0, r6
ldrb r0, [r0]
bl sub_8138414
ldr r1, [r5]
adds r1, r6
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
ldr r0, [r5]
b _08134AA8
.align 2, 0
_08134988: .4byte 0x00003224
_0813498C:
movs r0, 0
bl sub_81347A4
cmp r0, 0x1
bne _081349F8
ldr r0, _081349B0 @ =sub_8134BAC
bl FuncIsActiveTask
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
beq _081349B4
ldr r0, [r5]
movs r1, 0xCC
lsls r1, 6
adds r0, r1
strb r7, [r0]
b _08134B9A
.align 2, 0
_081349B0: .4byte sub_8134BAC
_081349B4:
ldr r0, [r5]
adds r0, r6
ldrb r0, [r0]
cmp r0, 0
bne _081349C0
b _08134B9A
_081349C0:
movs r0, 0x5
bl PlaySE
movs r0, 0
bl HideBg
ldr r0, [r5]
ldr r2, _081349F0 @ =0x00003224
adds r0, r2
strb r4, [r0]
ldr r0, [r5]
adds r0, r6
ldrb r0, [r0]
bl sub_8138414
ldr r1, [r5]
adds r1, r6
ldrb r0, [r1]
subs r0, 0x1
strb r0, [r1]
ldr r0, [r5]
ldr r1, _081349F4 @ =0x00003270
adds r0, r1
b _08134AAC
.align 2, 0
_081349F0: .4byte 0x00003224
_081349F4: .4byte 0x00003270
_081349F8:
ldr r0, _08134A2C @ =sub_8134BAC
bl FuncIsActiveTask
lsls r0, 24
cmp r0, 0
beq _08134A12
ldr r0, _08134A30 @ =sub_813B3F0
bl FuncIsActiveTask
lsls r0, 24
cmp r0, 0
bne _08134A12
b _08134B9A
_08134A12:
ldr r0, _08134A34 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x40
ands r0, r1
cmp r0, 0
beq _08134A38
movs r1, 0x1
negs r1, r1
mov r0, r8
bl sub_813B120
b _08134B9A
.align 2, 0
_08134A2C: .4byte sub_8134BAC
_08134A30: .4byte sub_813B3F0
_08134A34: .4byte gMain
_08134A38:
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _08134A4A
mov r0, r8
movs r1, 0x1
bl sub_813B120
b _08134B9A
_08134A4A:
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _08134ABC
ldr r4, _08134A70 @ =gUnknown_203B140
ldr r0, [r4]
ldr r5, _08134A74 @ =0x00003214
adds r0, r5
ldrb r0, [r0]
cmp r0, 0
bne _08134A7C
movs r0, 0x5
bl PlaySE
ldr r0, [r4]
ldr r2, _08134A78 @ =0x00003270
adds r0, r2
b _08134ACC
.align 2, 0
_08134A70: .4byte gUnknown_203B140
_08134A74: .4byte 0x00003214
_08134A78: .4byte 0x00003270
_08134A7C:
cmp r0, 0x2
beq _08134A82
b _08134B9A
_08134A82:
movs r0, 0x5
bl PlaySE
ldr r0, [r4]
ldr r1, _08134AB4 @ =0x00003224
adds r0, r1
movs r1, 0x1
strb r1, [r0]
ldr r0, [r4]
adds r0, r5
ldrb r0, [r0]
bl sub_8138414
ldr r1, [r4]
adds r1, r5
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
ldr r0, [r4]
_08134AA8:
ldr r2, _08134AB8 @ =0x00003270
adds r0, r2
_08134AAC:
movs r1, 0x3
strb r1, [r0]
b _08134B9A
.align 2, 0
_08134AB4: .4byte 0x00003224
_08134AB8: .4byte 0x00003270
_08134ABC:
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _08134B9A
ldr r0, _08134AD4 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08134AD8 @ =0x00003270
adds r0, r1
_08134ACC:
movs r1, 0x4
strb r1, [r0]
b _08134B9A
.align 2, 0
_08134AD4: .4byte gUnknown_203B140
_08134AD8: .4byte 0x00003270
_08134ADC:
ldr r3, [r4]
ldr r2, _08134AFC @ =0x00003214
adds r0, r3, r2
ldrb r0, [r0]
cmp r0, 0x3
beq _08134B08
ldr r0, _08134B00 @ =sub_8134BAC
movs r1, 0
bl CreateTask
ldr r0, [r4]
ldr r1, _08134B04 @ =0x00003270
adds r0, r1
_08134AF6:
movs r1, 0x2
strb r1, [r0]
b _08134B9A
.align 2, 0
_08134AFC: .4byte 0x00003214
_08134B00: .4byte sub_8134BAC
_08134B04: .4byte 0x00003270
_08134B08:
ldr r2, _08134B28 @ =gTasks
ldr r1, _08134B2C @ =0x00003018
adds r0, r3, r1
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
lsls r0, 3
adds r0, r2
ldr r1, _08134B30 @ =sub_8134E84
str r1, [r0]
ldr r2, _08134B34 @ =0x00003270
adds r1, r3, r2
movs r0, 0x2
strb r0, [r1]
b _08134B9A
.align 2, 0
_08134B28: .4byte gTasks
_08134B2C: .4byte 0x00003018
_08134B30: .4byte sub_8134E84
_08134B34: .4byte 0x00003270
_08134B38:
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
ldr r0, _08134B58 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08134B5C @ =0x00003270
adds r0, r1
movs r1, 0x5
strb r1, [r0]
b _08134B9A
.align 2, 0
_08134B58: .4byte gUnknown_203B140
_08134B5C: .4byte 0x00003270
_08134B60:
bl sub_8058244
cmp r0, 0x1
beq _08134B9A
bl sub_800B270
cmp r0, 0x1
beq _08134B9A
ldr r0, _08134B80 @ =gUnknown_203B140
ldr r0, [r0]
ldr r2, _08134B84 @ =0x00003270
adds r0, r2
movs r1, 0x6
strb r1, [r0]
b _08134B9A
.align 2, 0
_08134B80: .4byte gUnknown_203B140
_08134B84: .4byte 0x00003270
_08134B88:
ldr r0, _08134BA8 @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _08134B9A
mov r0, r8
bl sub_8137E64
_08134B9A:
add sp, 0x4
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08134BA8: .4byte gPaletteFade
thumb_func_end sub_8134840
thumb_func_start sub_8134BAC
sub_8134BAC: @ 8134BAC
push {r4-r7,lr}
sub sp, 0x8
lsls r0, 24
lsrs r0, 24
adds r4, r0, 0
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
ldr r6, _08134BD4 @ =gTasks+0x8
adds r7, r0, r6
movs r1, 0
ldrsh r0, [r7, r1]
cmp r0, 0x9
bls _08134BCA
b _08134E18
_08134BCA:
lsls r0, 2
ldr r1, _08134BD8 @ =_08134BDC
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08134BD4: .4byte gTasks+0x8
_08134BD8: .4byte _08134BDC
.align 2, 0
_08134BDC:
.4byte _08134C04
.4byte _08134C48
.4byte _08134CD4
.4byte _08134CF8
.4byte _08134D2C
.4byte _08134D4C
.4byte _08134D68
.4byte _08134D88
.4byte _08134DB0
.4byte _08134E00
_08134C04:
bl sub_8135638
bl sub_81356EC
ldr r4, _08134C38 @ =gUnknown_203B140
ldr r0, [r4]
ldr r2, _08134C3C @ =0x00003234
adds r0, r2
movs r1, 0x1
strb r1, [r0]
ldr r0, [r4]
ldr r3, _08134C40 @ =0x0000301c
adds r0, r3
strb r1, [r0]
ldr r0, [r4]
ldr r5, _08134C44 @ =0x00003214
adds r0, r5
ldrb r0, [r0]
bl sub_813B750
ldr r0, [r4]
adds r0, r5
ldrb r0, [r0]
bl sub_8138280
b _08134E74
.align 2, 0
_08134C38: .4byte gUnknown_203B140
_08134C3C: .4byte 0x00003234
_08134C40: .4byte 0x0000301c
_08134C44: .4byte 0x00003214
_08134C48:
ldr r0, _08134CC8 @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _08134CCC @ =0x00003214
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x3
beq _08134C7E
cmp r0, 0x2
bne _08134C64
ldr r3, _08134CD0 @ =0x00003224
adds r0, r1, r3
ldrb r0, [r0]
cmp r0, 0
beq _08134C7E
_08134C64:
movs r0, 0x1E
str r0, [sp]
movs r0, 0x14
str r0, [sp, 0x4]
movs r0, 0
movs r1, 0
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
movs r0, 0
bl CopyBgTilemapBufferToVram
_08134C7E:
movs r4, 0x1E
str r4, [sp]
movs r5, 0x2
str r5, [sp, 0x4]
movs r0, 0x1
movs r1, 0
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
movs r6, 0xF
str r6, [sp]
str r5, [sp, 0x4]
movs r0, 0x1
movs r1, 0
movs r2, 0
movs r3, 0x2
bl FillBgTilemapBufferRect_Palette0
str r4, [sp]
str r5, [sp, 0x4]
movs r0, 0x2
movs r1, 0
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
str r6, [sp]
str r5, [sp, 0x4]
movs r0, 0x2
movs r1, 0
movs r2, 0
movs r3, 0x2
bl FillBgTilemapBufferRect_Palette0
b _08134E74
.align 2, 0
_08134CC8: .4byte gUnknown_203B140
_08134CCC: .4byte 0x00003214
_08134CD0: .4byte 0x00003224
_08134CD4:
bl sub_8135AA4
bl sub_8135B90
bl sub_8138538
ldr r0, _08134CF0 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08134CF4 @ =0x00003214
adds r0, r1
ldrb r0, [r0]
bl sub_8137D28
b _08134E74
.align 2, 0
_08134CF0: .4byte gUnknown_203B140
_08134CF4: .4byte 0x00003214
_08134CF8:
ldr r4, _08134D20 @ =gUnknown_203B140
ldr r0, [r4]
movs r2, 0xC0
lsls r2, 6
adds r0, r2
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r3, _08134D24 @ =0x00003001
adds r0, r3
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r1, _08134D28 @ =0x00003002
adds r0, r1
b _08134DE2
.align 2, 0
_08134D20: .4byte gUnknown_203B140
_08134D24: .4byte 0x00003001
_08134D28: .4byte 0x00003002
_08134D2C:
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
cmp r0, 0
beq _08134D38
b _08134E7A
_08134D38:
movs r0, 0x3
bl CopyBgTilemapBufferToVram
movs r0, 0x2
bl CopyBgTilemapBufferToVram
movs r0, 0x1
bl CopyBgTilemapBufferToVram
b _08134E74
_08134D4C:
bl sub_8135514
ldr r0, _08134D60 @ =gUnknown_203B140
ldr r0, [r0]
ldr r2, _08134D64 @ =0x00003244
adds r0, r2
movs r1, 0x1
strb r1, [r0]
b _08134E74
.align 2, 0
_08134D60: .4byte gUnknown_203B140
_08134D64: .4byte 0x00003244
_08134D68:
ldr r0, _08134D80 @ =gUnknown_203B140
ldr r0, [r0]
ldr r3, _08134D84 @ =0x00003224
adds r0, r3
ldrb r0, [r0]
bl sub_81357A0
lsls r0, 24
cmp r0, 0
bne _08134D7E
b _08134E7A
_08134D7E:
b _08134E74
.align 2, 0
_08134D80: .4byte gUnknown_203B140
_08134D84: .4byte 0x00003224
_08134D88:
bl sub_8136F4C
ldr r0, _08134DA8 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08134DAC @ =0x00003214
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x3
beq _08134D9E
bl sub_81374E8
_08134D9E:
bl sub_8137BD0
bl sub_8138A38
b _08134E74
.align 2, 0
_08134DA8: .4byte gUnknown_203B140
_08134DAC: .4byte 0x00003214
_08134DB0:
ldr r4, _08134DEC @ =gUnknown_203B140
ldr r0, [r4]
ldr r2, _08134DF0 @ =0x00003003
adds r0, r2
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r3, _08134DF4 @ =0x00003004
adds r0, r3
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r1, _08134DF8 @ =0x00003005
adds r0, r1
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r2, _08134DFC @ =0x00003006
adds r0, r2
_08134DE2:
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
b _08134E74
.align 2, 0
_08134DEC: .4byte gUnknown_203B140
_08134DF0: .4byte 0x00003003
_08134DF4: .4byte 0x00003004
_08134DF8: .4byte 0x00003005
_08134DFC: .4byte 0x00003006
_08134E00:
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
cmp r0, 0
bne _08134E7A
movs r0, 0
bl CopyBgTilemapBufferToVram
movs r0, 0
bl ShowBg
b _08134E74
_08134E18:
bl sub_8138440
ldr r5, _08134E5C @ =gUnknown_203B140
ldr r1, [r5]
ldr r3, _08134E60 @ =0x00003214
adds r0, r1, r3
ldrb r0, [r0]
cmp r0, 0x3
bne _08134E40
adds r2, r6, 0
subs r2, 0x8
ldr r3, _08134E64 @ =0x00003018
adds r0, r1, r3
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
lsls r0, 3
adds r0, r2
ldr r1, _08134E68 @ =sub_8138CD8
str r1, [r0]
_08134E40:
adds r0, r4, 0
bl DestroyTask
movs r0, 0
strh r0, [r7]
ldr r1, [r5]
ldr r2, _08134E6C @ =0x00003234
adds r1, r2
strb r0, [r1]
ldr r1, [r5]
ldr r3, _08134E70 @ =0x0000301c
adds r1, r3
strb r0, [r1]
b _08134E7A
.align 2, 0
_08134E5C: .4byte gUnknown_203B140
_08134E60: .4byte 0x00003214
_08134E64: .4byte 0x00003018
_08134E68: .4byte sub_8138CD8
_08134E6C: .4byte 0x00003234
_08134E70: .4byte 0x0000301c
_08134E74:
ldrh r0, [r7]
adds r0, 0x1
strh r0, [r7]
_08134E7A:
add sp, 0x8
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_8134BAC
thumb_func_start sub_8134E84
sub_8134E84: @ 8134E84
push {r4-r6,lr}
sub sp, 0x8
ldr r4, _08134EA4 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _08134EA8 @ =0x00003284
adds r0, r1
ldrb r0, [r0]
adds r5, r4, 0
cmp r0, 0xB
bls _08134E9A
b _08135132
_08134E9A:
lsls r0, 2
ldr r1, _08134EAC @ =_08134EB0
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08134EA4: .4byte gUnknown_203B140
_08134EA8: .4byte 0x00003284
_08134EAC: .4byte _08134EB0
.align 2, 0
_08134EB0:
.4byte _08134EE0
.4byte _08134F14
.4byte _08134FA0
.4byte _08134FC8
.4byte _08135010
.4byte _08135034
.4byte _08135054
.4byte _08135080
.4byte _081350AC
.4byte _081350D4
.4byte _081350E4
.4byte _08135114
_08134EE0:
ldr r1, _08134F04 @ =gUnknown_203B140
ldr r0, [r1]
ldr r2, _08134F08 @ =0x00003234
adds r0, r2
movs r2, 0x1
strb r2, [r0]
ldr r0, [r1]
ldr r3, _08134F0C @ =0x0000301c
adds r0, r3
strb r2, [r0]
ldr r0, [r1]
ldr r1, _08134F10 @ =0x00003214
adds r0, r1
ldrb r0, [r0]
bl sub_8138280
b _08135180
.align 2, 0
_08134F04: .4byte gUnknown_203B140
_08134F08: .4byte 0x00003234
_08134F0C: .4byte 0x0000301c
_08134F10: .4byte 0x00003214
_08134F14:
ldr r0, _08134F94 @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _08134F98 @ =0x00003214
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x3
beq _08134F4A
cmp r0, 0x2
bne _08134F30
ldr r3, _08134F9C @ =0x00003224
adds r0, r1, r3
ldrb r0, [r0]
cmp r0, 0
beq _08134F4A
_08134F30:
movs r0, 0x1E
str r0, [sp]
movs r0, 0x14
str r0, [sp, 0x4]
movs r0, 0
movs r1, 0
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
movs r0, 0
bl CopyBgTilemapBufferToVram
_08134F4A:
movs r4, 0x1E
str r4, [sp]
movs r5, 0x2
str r5, [sp, 0x4]
movs r0, 0x1
movs r1, 0
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
movs r6, 0xF
str r6, [sp]
str r5, [sp, 0x4]
movs r0, 0x1
movs r1, 0
movs r2, 0
movs r3, 0x2
bl FillBgTilemapBufferRect_Palette0
str r4, [sp]
str r5, [sp, 0x4]
movs r0, 0x2
movs r1, 0
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
str r6, [sp]
str r5, [sp, 0x4]
movs r0, 0x2
movs r1, 0
movs r2, 0
movs r3, 0x2
bl FillBgTilemapBufferRect_Palette0
b _08135180
.align 2, 0
_08134F94: .4byte gUnknown_203B140
_08134F98: .4byte 0x00003214
_08134F9C: .4byte 0x00003224
_08134FA0:
bl sub_8135638
ldr r0, _08134FC0 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08134FC4 @ =0x00003214
adds r0, r1
ldrb r0, [r0]
bl sub_813B750
bl sub_8135B90
bl sub_8138538
bl sub_8135AA4
b _08135180
.align 2, 0
_08134FC0: .4byte gUnknown_203B140
_08134FC4: .4byte 0x00003214
_08134FC8:
ldr r0, _08134FF0 @ =gUnknown_8419C39
bl sub_8136DA4
ldr r0, _08134FF4 @ =gMain
ldr r2, _08134FF8 @ =0x00000439
adds r0, r2
ldrb r1, [r0]
movs r0, 0x2
ands r0, r1
cmp r0, 0
bne _08135004
ldr r0, _08134FFC @ =gReceivedRemoteLinkPlayers
ldrb r0, [r0]
cmp r0, 0
bne _08135004
ldr r0, _08135000 @ =gUnknown_8419C92
bl sub_8136DF0
b _08135180
.align 2, 0
_08134FF0: .4byte gUnknown_8419C39
_08134FF4: .4byte gMain
_08134FF8: .4byte 0x00000439
_08134FFC: .4byte gReceivedRemoteLinkPlayers
_08135000: .4byte gUnknown_8419C92
_08135004:
ldr r0, _0813500C @ =gUnknown_8419CA2
bl sub_8136DF0
b _08135180
.align 2, 0
_0813500C: .4byte gUnknown_8419CA2
_08135010:
ldr r4, _0813502C @ =gUnknown_203B140
ldr r0, [r4]
movs r3, 0xC0
lsls r3, 6
adds r0, r3
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r1, _08135030 @ =0x00003001
adds r0, r1
b _081350FE
.align 2, 0
_0813502C: .4byte gUnknown_203B140
_08135030: .4byte 0x00003001
_08135034:
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
cmp r0, 0
beq _08135040
b _0813518E
_08135040:
movs r0, 0x2
bl CopyBgTilemapBufferToVram
movs r0, 0x1
bl CopyBgTilemapBufferToVram
movs r0, 0x3
bl CopyBgTilemapBufferToVram
b _08135180
_08135054:
bl sub_8136F4C
bl sub_8137BD0
ldr r4, _08135074 @ =gUnknown_203B140
ldr r0, [r4]
ldr r2, _08135078 @ =0x00003003
adds r0, r2
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r3, _0813507C @ =0x00003005
adds r0, r3
b _081350FE
.align 2, 0
_08135074: .4byte gUnknown_203B140
_08135078: .4byte 0x00003003
_0813507C: .4byte 0x00003005
_08135080:
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
cmp r0, 0
beq _0813508C
b _0813518E
_0813508C:
movs r0, 0
bl CopyBgTilemapBufferToVram
bl sub_8135514
ldr r0, _081350A4 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _081350A8 @ =0x00003244
adds r0, r1
movs r1, 0x1
strb r1, [r0]
b _08135180
.align 2, 0
_081350A4: .4byte gUnknown_203B140
_081350A8: .4byte 0x00003244
_081350AC:
ldr r0, [r5]
ldr r2, _081350CC @ =0x00003224
adds r0, r2
ldrb r0, [r0]
bl sub_81357A0
lsls r0, 24
cmp r0, 0
beq _0813518E
bl sub_81374E8
ldr r0, [r5]
ldr r3, _081350D0 @ =0x00003004
adds r0, r3
b _081350FE
.align 2, 0
_081350CC: .4byte 0x00003224
_081350D0: .4byte 0x00003004
_081350D4:
bl sub_8138A38
ldr r0, _081350E0 @ =gUnknown_8419C45
bl sub_8136E50
b _08135180
.align 2, 0
_081350E0: .4byte gUnknown_8419C45
_081350E4:
bl sub_81356EC
ldr r4, _08135108 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _0813510C @ =0x00003006
adds r0, r1
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r2, _08135110 @ =0x00003002
adds r0, r2
_081350FE:
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
b _08135180
.align 2, 0
_08135108: .4byte gUnknown_203B140
_0813510C: .4byte 0x00003006
_08135110: .4byte 0x00003002
_08135114:
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
cmp r0, 0
bne _0813518E
movs r0, 0
bl CopyBgTilemapBufferToVram
movs r0, 0x2
bl CopyBgTilemapBufferToVram
movs r0, 0x1
bl CopyBgTilemapBufferToVram
b _08135180
_08135132:
bl sub_8138440
ldr r3, _08135168 @ =gTasks
ldr r2, [r4]
ldr r1, _0813516C @ =0x00003018
adds r0, r2, r1
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
lsls r0, 3
adds r0, r3
ldr r1, _08135170 @ =sub_8138CD8
str r1, [r0]
ldr r3, _08135174 @ =0x00003284
adds r2, r3
movs r1, 0
strb r1, [r2]
ldr r0, [r4]
ldr r2, _08135178 @ =0x00003234
adds r0, r2
strb r1, [r0]
ldr r0, [r4]
ldr r3, _0813517C @ =0x0000301c
adds r0, r3
strb r1, [r0]
b _0813518E
.align 2, 0
_08135168: .4byte gTasks
_0813516C: .4byte 0x00003018
_08135170: .4byte sub_8138CD8
_08135174: .4byte 0x00003284
_08135178: .4byte 0x00003234
_0813517C: .4byte 0x0000301c
_08135180:
ldr r0, _08135198 @ =gUnknown_203B140
ldr r1, [r0]
ldr r0, _0813519C @ =0x00003284
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
_0813518E:
add sp, 0x8
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08135198: .4byte gUnknown_203B140
_0813519C: .4byte 0x00003284
thumb_func_end sub_8134E84
thumb_func_start sub_81351A0
sub_81351A0: @ 81351A0
push {r4-r6,lr}
sub sp, 0x8
ldr r4, _081351C0 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _081351C4 @ =0x00003284
adds r0, r1
ldrb r0, [r0]
adds r2, r4, 0
cmp r0, 0xA
bls _081351B6
b _08135400
_081351B6:
lsls r0, 2
ldr r1, _081351C8 @ =_081351CC
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_081351C0: .4byte gUnknown_203B140
_081351C4: .4byte 0x00003284
_081351C8: .4byte _081351CC
.align 2, 0
_081351CC:
.4byte _081351F8
.4byte _0813522C
.4byte _081352B8
.4byte _081352BE
.4byte _08135310
.4byte _08135328
.4byte _08135354
.4byte _0813544C
.4byte _08135388
.4byte _081353AC
.4byte _081353EC
_081351F8:
ldr r1, _0813521C @ =gUnknown_203B140
ldr r0, [r1]
ldr r2, _08135220 @ =0x00003234
adds r0, r2
movs r2, 0x1
strb r2, [r0]
ldr r0, [r1]
ldr r3, _08135224 @ =0x0000301c
adds r0, r3
strb r2, [r0]
ldr r0, [r1]
ldr r1, _08135228 @ =0x00003214
adds r0, r1
ldrb r0, [r0]
bl sub_8138280
b _0813544C
.align 2, 0
_0813521C: .4byte gUnknown_203B140
_08135220: .4byte 0x00003234
_08135224: .4byte 0x0000301c
_08135228: .4byte 0x00003214
_0813522C:
ldr r0, _081352AC @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _081352B0 @ =0x00003214
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x3
beq _08135262
cmp r0, 0x2
bne _08135248
ldr r3, _081352B4 @ =0x00003224
adds r0, r1, r3
ldrb r0, [r0]
cmp r0, 0
beq _08135262
_08135248:
movs r0, 0x1E
str r0, [sp]
movs r0, 0x14
str r0, [sp, 0x4]
movs r0, 0
movs r1, 0
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
movs r0, 0
bl CopyBgTilemapBufferToVram
_08135262:
movs r4, 0x1E
str r4, [sp]
movs r5, 0x2
str r5, [sp, 0x4]
movs r0, 0x1
movs r1, 0
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
movs r6, 0xF
str r6, [sp]
str r5, [sp, 0x4]
movs r0, 0x1
movs r1, 0
movs r2, 0
movs r3, 0x2
bl FillBgTilemapBufferRect_Palette0
str r4, [sp]
str r5, [sp, 0x4]
movs r0, 0x2
movs r1, 0
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
str r6, [sp]
str r5, [sp, 0x4]
movs r0, 0x2
movs r1, 0
movs r2, 0
movs r3, 0x2
bl FillBgTilemapBufferRect_Palette0
b _0813544C
.align 2, 0
_081352AC: .4byte gUnknown_203B140
_081352B0: .4byte 0x00003214
_081352B4: .4byte 0x00003224
_081352B8:
bl sub_8135AA4
b _0813544C
_081352BE:
bl sub_8136F4C
bl sub_81374E8
bl sub_8137BD0
ldr r4, _08135300 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _08135304 @ =0x00003003
adds r0, r1
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r2, _08135308 @ =0x00003004
adds r0, r2
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r3, _0813530C @ =0x00003005
adds r0, r3
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
movs r0, 0
bl CopyBgTilemapBufferToVram
b _0813544C
.align 2, 0
_08135300: .4byte gUnknown_203B140
_08135304: .4byte 0x00003003
_08135308: .4byte 0x00003004
_0813530C: .4byte 0x00003005
_08135310:
ldr r0, _08135320 @ =gUnknown_8419C39
bl sub_8136DA4
ldr r0, _08135324 @ =gUnknown_8419C82
bl sub_8136DF0
b _0813544C
.align 2, 0
_08135320: .4byte gUnknown_8419C39
_08135324: .4byte gUnknown_8419C82
_08135328:
ldr r4, _0813534C @ =gUnknown_203B140
ldr r0, [r4]
movs r1, 0xC0
lsls r1, 6
adds r0, r1
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r2, _08135350 @ =0x00003001
adds r0, r2
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
b _081353D0
.align 2, 0
_0813534C: .4byte gUnknown_203B140
_08135350: .4byte 0x00003001
_08135354:
bl sub_8135514
ldr r4, _0813537C @ =gUnknown_203B140
ldr r0, [r4]
ldr r3, _08135380 @ =0x00003244
adds r0, r3
movs r1, 0x1
strb r1, [r0]
bl sub_8135638
ldr r0, [r4]
ldr r1, _08135384 @ =0x00003214
adds r0, r1
ldrb r0, [r0]
bl sub_813B750
bl sub_8138A38
b _0813544C
.align 2, 0
_0813537C: .4byte gUnknown_203B140
_08135380: .4byte 0x00003244
_08135384: .4byte 0x00003214
_08135388:
ldr r0, [r2]
ldr r2, _081353A4 @ =0x00003224
adds r0, r2
ldrb r0, [r0]
bl sub_81357A0
lsls r0, 24
cmp r0, 0
beq _0813545A
ldr r0, _081353A8 @ =gUnknown_8419C45
bl sub_8136E50
b _0813544C
.align 2, 0
_081353A4: .4byte 0x00003224
_081353A8: .4byte gUnknown_8419C45
_081353AC:
ldr r4, _081353E0 @ =gUnknown_203B140
ldr r0, [r4]
ldr r3, _081353E4 @ =0x00003006
adds r0, r3
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r1, _081353E8 @ =0x00003002
adds r0, r1
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
movs r0, 0
bl CopyBgTilemapBufferToVram
_081353D0:
movs r0, 0x2
bl CopyBgTilemapBufferToVram
movs r0, 0x1
bl CopyBgTilemapBufferToVram
b _0813544C
.align 2, 0
_081353E0: .4byte gUnknown_203B140
_081353E4: .4byte 0x00003006
_081353E8: .4byte 0x00003002
_081353EC:
bl sub_8135B90
bl sub_8138538
movs r0, 0x3
bl CopyBgTilemapBufferToVram
bl sub_81356EC
b _0813544C
_08135400:
bl sub_8138440
ldr r3, _08135434 @ =gTasks
ldr r2, [r4]
ldr r1, _08135438 @ =0x00003018
adds r0, r2, r1
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
lsls r0, 3
adds r0, r3
ldr r1, _0813543C @ =sub_8134840
str r1, [r0]
ldr r3, _08135440 @ =0x00003284
adds r2, r3
movs r1, 0
strb r1, [r2]
ldr r0, [r4]
ldr r2, _08135444 @ =0x00003234
adds r0, r2
strb r1, [r0]
ldr r0, [r4]
ldr r3, _08135448 @ =0x0000301c
adds r0, r3
strb r1, [r0]
b _0813545A
.align 2, 0
_08135434: .4byte gTasks
_08135438: .4byte 0x00003018
_0813543C: .4byte sub_8134840
_08135440: .4byte 0x00003284
_08135444: .4byte 0x00003234
_08135448: .4byte 0x0000301c
_0813544C:
ldr r0, _08135464 @ =gUnknown_203B140
ldr r1, [r0]
ldr r0, _08135468 @ =0x00003284
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
_0813545A:
add sp, 0x8
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08135464: .4byte gUnknown_203B140
_08135468: .4byte 0x00003284
thumb_func_end sub_81351A0
thumb_func_start sub_813546C
sub_813546C: @ 813546C
push {r4-r6,lr}
movs r4, 0
ldr r6, _081354BC @ =gUnknown_203B160
_08135472:
ldr r1, [r6]
lsls r5, r4, 1
adds r0, r1, 0
adds r0, 0x2C
adds r0, r5
lsls r2, r4, 3
mov r12, r2
movs r2, 0xC6
lsls r2, 1
add r2, r12
strh r2, [r0]
lsls r3, r4, 2
adds r1, r3
ldr r0, [r1]
strh r2, [r0, 0x20]
cmp r4, 0x8
bhi _081354AC
ldr r0, _081354C0 @ =gUnknown_203B15C
ldr r1, [r0]
adds r0, r1, 0
adds r0, 0x28
adds r0, r5
movs r2, 0xCE
lsls r2, 1
add r2, r12
strh r2, [r0]
adds r1, r3
ldr r0, [r1]
strh r2, [r0, 0x20]
_081354AC:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0xA
bls _08135472
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_081354BC: .4byte gUnknown_203B160
_081354C0: .4byte gUnknown_203B15C
thumb_func_end sub_813546C
thumb_func_start sub_81354C4
sub_81354C4: @ 81354C4
push {r4-r7,lr}
movs r5, 0
ldr r7, _0813550C @ =gUnknown_203B160
_081354CA:
ldr r1, [r7]
lsls r6, r5, 1
adds r0, r1, 0
adds r0, 0x2C
adds r0, r6
lsls r4, r5, 3
adds r2, r4, 0
adds r2, 0x9C
strh r2, [r0]
lsls r3, r5, 2
adds r1, r3
ldr r0, [r1]
strh r2, [r0, 0x20]
cmp r5, 0x8
bhi _081354FC
ldr r0, _08135510 @ =gUnknown_203B15C
ldr r1, [r0]
adds r0, r1, 0
adds r0, 0x28
adds r0, r6
adds r2, 0x10
strh r2, [r0]
adds r1, r3
ldr r0, [r1]
strh r2, [r0, 0x20]
_081354FC:
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0xA
bls _081354CA
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813550C: .4byte gUnknown_203B160
_08135510: .4byte gUnknown_203B15C
thumb_func_end sub_81354C4
thumb_func_start sub_8135514
sub_8135514: @ 8135514
push {r4-r6,lr}
movs r4, 0x1
ldr r6, _0813553C @ =gUnknown_203B140
ldr r1, [r6]
ldr r2, _08135540 @ =0x00003224
adds r0, r1, r2
ldrb r3, [r0]
cmp r3, 0x1
bne _08135528
movs r4, 0xFF
_08135528:
ldr r0, _08135544 @ =0x00003214
adds r2, r1, r0
ldrb r0, [r2]
cmp r0, 0x3
bne _0813554C
ldr r2, _08135548 @ =0x0000324c
adds r1, r2
movs r0, 0xF0
strh r0, [r1]
b _08135632
.align 2, 0
_0813553C: .4byte gUnknown_203B140
_08135540: .4byte 0x00003224
_08135544: .4byte 0x00003214
_08135548: .4byte 0x0000324c
_0813554C:
lsls r0, r4, 24
asrs r0, 24
ldrb r2, [r2]
adds r0, r2
cmp r0, 0x3
bne _08135580
movs r0, 0
movs r1, 0
bl sub_81358DC
ldr r0, [r6]
ldr r1, _0813557C @ =0x0000324c
adds r0, r1
movs r1, 0
strh r1, [r0]
movs r0, 0x14
bl SetGpuReg
movs r0, 0x18
movs r1, 0
bl SetGpuReg
b _08135632
.align 2, 0
_0813557C: .4byte 0x0000324c
_08135580:
cmp r3, 0x1
bne _081355B4
ldr r2, _081355B0 @ =0x0000324c
adds r1, r2
movs r0, 0
strh r0, [r1]
movs r0, 0x10
movs r1, 0
bl SetGpuReg
movs r0, 0x14
movs r1, 0
bl SetGpuReg
movs r0, 0x18
movs r1, 0
bl SetGpuReg
movs r0, 0x1
movs r1, 0x1
bl sub_81358DC
b _081355FC
.align 2, 0
_081355B0: .4byte 0x0000324c
_081355B4:
movs r0, 0xA
bl GetGpuReg
movs r4, 0x3
adds r5, r4, 0
ands r5, r0
movs r0, 0xC
bl GetGpuReg
ands r4, r0
ldr r0, [r6]
ldr r1, _081355E0 @ =0x0000324c
adds r0, r1
movs r1, 0xF0
strh r1, [r0]
cmp r5, r4
bls _081355E4
movs r0, 0x14
bl SetGpuReg
b _081355EC
.align 2, 0
_081355E0: .4byte 0x0000324c
_081355E4:
movs r0, 0x18
movs r1, 0xF0
bl SetGpuReg
_081355EC:
movs r0, 0x10
movs r1, 0xF0
bl SetGpuReg
movs r0, 0x1
movs r1, 0
bl sub_81358DC
_081355FC:
ldr r0, _0813561C @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _08135620 @ =0x00003214
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x1
bne _0813562A
adds r2, 0x10
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x1
bne _08135624
bl sub_81354C4
b _08135632
.align 2, 0
_0813561C: .4byte gUnknown_203B140
_08135620: .4byte 0x00003214
_08135624:
bl sub_813546C
b _08135632
_0813562A:
cmp r0, 0x2
bne _08135632
bl sub_81354C4
_08135632:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_8135514
thumb_func_start sub_8135638
sub_8135638: @ 8135638
push {lr}
ldr r0, _08135654 @ =gUnknown_203B140
ldr r2, [r0]
ldr r3, _08135658 @ =0x00003224
adds r1, r2, r3
ldrb r1, [r1]
adds r3, r0, 0
cmp r1, 0x1
bne _08135660
ldr r1, _0813565C @ =0x00003214
adds r0, r2, r1
ldrb r0, [r0]
subs r0, 0x1
b _08135668
.align 2, 0
_08135654: .4byte gUnknown_203B140
_08135658: .4byte 0x00003224
_0813565C: .4byte 0x00003214
_08135660:
ldr r1, _08135680 @ =0x00003214
adds r0, r2, r1
ldrb r0, [r0]
adds r0, 0x1
_08135668:
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08135684
cmp r0, 0x1
ble _081356E6
cmp r0, 0x2
beq _08135692
cmp r0, 0x3
beq _081356C8
b _081356E6
.align 2, 0
_08135680: .4byte 0x00003214
_08135684:
movs r0, 0x1
bl sub_813A838
movs r0, 0x1
bl sub_813AB70
b _081356E6
_08135692:
ldr r0, [r3]
ldr r3, _081356C4 @ =0x00003224
adds r0, r3
ldrb r0, [r0]
cmp r0, 0x1
bne _081356E6
movs r0, 0x1
bl sub_8139C44
movs r0, 0x1
bl sub_813B084
movs r0, 0x1
bl sub_8139D54
movs r0, 0x1
bl sub_813A3B8
movs r0, 0x1
bl sub_813ACF8
movs r0, 0x1
bl sub_813AEB0
b _081356E6
.align 2, 0
_081356C4: .4byte 0x00003224
_081356C8:
movs r0, 0x1
bl sub_813A0E8
movs r0, 0x1
bl sub_8139EE4
movs r0, 0x1
bl sub_813A3B8
movs r0, 0x1
bl sub_813ACF8
movs r0, 0x1
bl sub_813AEB0
_081356E6:
pop {r0}
bx r0
thumb_func_end sub_8135638
thumb_func_start sub_81356EC
sub_81356EC: @ 81356EC
push {lr}
ldr r0, _08135708 @ =gUnknown_203B140
ldr r2, [r0]
ldr r3, _0813570C @ =0x00003224
adds r1, r2, r3
ldrb r1, [r1]
adds r3, r0, 0
cmp r1, 0x1
bne _08135714
ldr r1, _08135710 @ =0x00003214
adds r0, r2, r1
ldrb r0, [r0]
subs r0, 0x1
b _0813571C
.align 2, 0
_08135708: .4byte gUnknown_203B140
_0813570C: .4byte 0x00003224
_08135710: .4byte 0x00003214
_08135714:
ldr r1, _08135730 @ =0x00003214
adds r0, r2, r1
ldrb r0, [r0]
adds r0, 0x1
_0813571C:
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _0813579A
cmp r0, 0x1
bgt _08135734
cmp r0, 0
beq _0813574A
b _0813579A
.align 2, 0
_08135730: .4byte 0x00003214
_08135734:
cmp r0, 0x2
beq _0813573E
cmp r0, 0x3
beq _08135776
b _0813579A
_0813573E:
ldr r0, [r3]
ldr r3, _08135758 @ =0x00003224
adds r0, r3
ldrb r0, [r0]
cmp r0, 0
bne _0813575C
_0813574A:
movs r0, 0
bl sub_813A838
movs r0, 0
bl sub_813AB70
b _0813579A
.align 2, 0
_08135758: .4byte 0x00003224
_0813575C:
movs r0, 0
bl sub_813A0E8
movs r0, 0
bl sub_813ACF8
movs r0, 0
bl sub_8139EE4
movs r0, 0
bl sub_813AEB0
b _0813579A
_08135776:
movs r0, 0
bl sub_8139C44
movs r0, 0
bl sub_813B084
movs r0, 0
bl sub_813A3B8
movs r0, 0
bl sub_8139D54
movs r0, 0
bl sub_813ACF8
movs r0, 0
bl sub_813AEB0
_0813579A:
pop {r0}
bx r0
thumb_func_end sub_81356EC
thumb_func_start sub_81357A0
sub_81357A0: @ 81357A0
push {r4-r6,lr}
movs r3, 0x1
ldr r0, _081357EC @ =gUnknown_203B140
ldr r2, [r0]
ldr r4, _081357F0 @ =0x00003224
adds r1, r2, r4
ldrb r1, [r1]
adds r5, r0, 0
cmp r1, 0x1
bne _081357B6
movs r3, 0xFF
_081357B6:
ldr r1, _081357F4 @ =0x00003214
adds r0, r2, r1
ldrb r0, [r0]
cmp r0, 0x3
bne _08135800
ldr r4, _081357F8 @ =0x0000324c
adds r1, r2, r4
movs r4, 0
ldrsh r0, [r1, r4]
cmp r0, 0
bgt _08135800
movs r4, 0
movs r0, 0
strh r0, [r1]
ldr r0, _081357FC @ =0x00003238
adds r2, r0
ldrb r0, [r2]
movs r1, 0x1
eors r0, r1
strb r0, [r2]
movs r0, 0
movs r1, 0
bl sub_81358DC
ldr r0, [r5]
b _0813587E
.align 2, 0
_081357EC: .4byte gUnknown_203B140
_081357F0: .4byte 0x00003224
_081357F4: .4byte 0x00003214
_081357F8: .4byte 0x0000324c
_081357FC: .4byte 0x00003238
_08135800:
ldr r2, [r5]
ldr r4, _0813583C @ =0x00003214
adds r1, r2, r4
lsls r0, r3, 24
asrs r0, 24
ldrb r1, [r1]
adds r0, r1
cmp r0, 0x3
bne _08135848
ldr r0, _08135840 @ =0x0000324c
adds r1, r2, r0
movs r3, 0
ldrsh r0, [r1, r3]
cmp r0, 0xEF
ble _08135848
movs r3, 0
movs r0, 0xF0
strh r0, [r1]
adds r4, 0x24
adds r2, r4
ldrb r0, [r2]
movs r1, 0x1
eors r0, r1
strb r0, [r2]
ldr r0, [r5]
ldr r1, _08135844 @ =0x00003244
adds r0, r1
strb r3, [r0]
movs r0, 0x1
b _081358D6
.align 2, 0
_0813583C: .4byte 0x00003214
_08135840: .4byte 0x0000324c
_08135844: .4byte 0x00003244
_08135848:
adds r6, r5, 0
ldr r2, [r6]
ldr r3, _08135888 @ =0x00003224
adds r0, r2, r3
ldrb r0, [r0]
cmp r0, 0x1
bne _08135898
ldr r4, _0813588C @ =0x0000324c
adds r1, r2, r4
movs r3, 0
ldrsh r0, [r1, r3]
cmp r0, 0xEF
ble _081358D4
movs r4, 0
movs r0, 0xF0
strh r0, [r1]
ldr r0, _08135890 @ =0x00003238
adds r2, r0
ldrb r0, [r2]
movs r1, 0x1
eors r0, r1
strb r0, [r2]
movs r0, 0
movs r1, 0
bl sub_81358DC
ldr r0, [r6]
_0813587E:
ldr r1, _08135894 @ =0x00003244
adds r0, r1
strb r4, [r0]
movs r0, 0x1
b _081358D6
.align 2, 0
_08135888: .4byte 0x00003224
_0813588C: .4byte 0x0000324c
_08135890: .4byte 0x00003238
_08135894: .4byte 0x00003244
_08135898:
ldr r3, _081358C8 @ =0x0000324c
adds r0, r2, r3
movs r4, 0
ldrsh r0, [r0, r4]
cmp r0, 0
bgt _081358D4
ldr r0, _081358CC @ =0x00003238
adds r2, r0
ldrb r0, [r2]
movs r1, 0x1
eors r0, r1
movs r3, 0
strb r0, [r2]
ldr r0, [r5]
ldr r2, _081358C8 @ =0x0000324c
adds r1, r0, r2
movs r2, 0
strh r3, [r1]
ldr r3, _081358D0 @ =0x00003244
adds r0, r3
strb r2, [r0]
movs r0, 0x1
b _081358D6
.align 2, 0
_081358C8: .4byte 0x0000324c
_081358CC: .4byte 0x00003238
_081358D0: .4byte 0x00003244
_081358D4:
movs r0, 0
_081358D6:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_81357A0
thumb_func_start sub_81358DC
sub_81358DC: @ 81358DC
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
lsls r0, 24
lsrs r7, r0, 24
lsls r1, 24
lsrs r1, 24
mov r9, r1
movs r0, 0x8
bl GetGpuReg
movs r4, 0x3
mov r8, r4
mov r1, r8
ands r1, r0
mov r8, r1
movs r0, 0xA
bl GetGpuReg
adds r5, r4, 0
ands r5, r0
movs r0, 0xC
bl GetGpuReg
adds r6, r4, 0
ands r6, r0
ldr r0, _08135938 @ =gUnknown_203B140
ldr r0, [r0]
ldr r2, _0813593C @ =0x00003224
adds r0, r2
ldrb r0, [r0]
cmp r0, 0x1
bne _08135970
cmp r7, 0
bne _0813594E
movs r0, 0
mov r8, r0
mov r1, r9
cmp r1, 0
bne _08135940
cmp r5, r6
bhi _0813594A
b _08135944
.align 2, 0
_08135938: .4byte gUnknown_203B140
_0813593C: .4byte 0x00003224
_08135940:
cmp r5, r6
bls _0813594A
_08135944:
movs r5, 0x2
movs r6, 0x1
b _0813594E
_0813594A:
movs r5, 0x1
movs r6, 0x2
_0813594E:
cmp r7, 0x1
bne _08135970
movs r2, 0x1
mov r8, r2
mov r0, r9
cmp r0, 0
bne _08135962
cmp r5, r6
bhi _0813596C
b _08135966
_08135962:
cmp r5, r6
bls _0813596C
_08135966:
movs r5, 0x2
movs r6, 0
b _08135970
_0813596C:
movs r5, 0
movs r6, 0x2
_08135970:
ldr r0, _0813598C @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08135990 @ =0x00003224
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _08135998
movs r2, 0
mov r8, r2
cmp r5, r6
bls _08135994
movs r5, 0x1
movs r6, 0x2
b _08135998
.align 2, 0
_0813598C: .4byte gUnknown_203B140
_08135990: .4byte 0x00003224
_08135994:
movs r5, 0x2
movs r6, 0x1
_08135998:
movs r4, 0
mov r0, r8
lsls r0, 2
mov r9, r0
movs r7, 0xD
negs r7, r7
lsls r1, r5, 2
mov r12, r1
ldr r2, _081359D8 @ =gUnknown_203B160
mov r10, r2
_081359AC:
ldr r0, _081359DC @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _081359E0 @ =0x00003214
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x1
bne _081359E4
adds r2, 0x10
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x1
bne _081359E4
mov r1, r10
ldr r0, [r1]
lsls r3, r4, 2
adds r0, r3
ldr r2, [r0]
ldrb r1, [r2, 0x5]
adds r0, r7, 0
ands r0, r1
mov r1, r9
b _081359F6
.align 2, 0
_081359D8: .4byte gUnknown_203B160
_081359DC: .4byte gUnknown_203B140
_081359E0: .4byte 0x00003214
_081359E4:
mov r2, r10
ldr r0, [r2]
lsls r3, r4, 2
adds r0, r3
ldr r2, [r0]
ldrb r1, [r2, 0x5]
adds r0, r7, 0
ands r0, r1
mov r1, r12
_081359F6:
orrs r0, r1
strb r0, [r2, 0x5]
cmp r4, 0x8
bhi _08135A48
ldr r2, _08135A28 @ =gUnknown_203B140
ldr r1, [r2]
ldr r2, _08135A2C @ =0x00003214
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x1
bne _08135A34
adds r2, 0x10
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x1
bne _08135A34
ldr r0, _08135A30 @ =gUnknown_203B15C
ldr r0, [r0]
adds r0, r3
ldr r2, [r0]
ldrb r1, [r2, 0x5]
adds r0, r7, 0
ands r0, r1
mov r1, r9
b _08135A44
.align 2, 0
_08135A28: .4byte gUnknown_203B140
_08135A2C: .4byte 0x00003214
_08135A30: .4byte gUnknown_203B15C
_08135A34:
ldr r0, _08135A9C @ =gUnknown_203B15C
ldr r0, [r0]
adds r0, r3
ldr r2, [r0]
ldrb r1, [r2, 0x5]
adds r0, r7, 0
ands r0, r1
mov r1, r12
_08135A44:
orrs r0, r1
strb r0, [r2, 0x5]
_08135A48:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0xA
bls _081359AC
movs r0, 0x8
bl GetGpuReg
ldr r4, _08135AA0 @ =0x0000fffc
adds r1, r4, 0
ands r1, r0
mov r2, r8
orrs r1, r2
movs r0, 0x8
bl SetGpuReg
movs r0, 0xA
bl GetGpuReg
adds r1, r4, 0
ands r1, r0
orrs r1, r5
movs r0, 0xA
bl SetGpuReg
movs r0, 0xC
bl GetGpuReg
ands r4, r0
orrs r4, r6
movs r0, 0xC
adds r1, r4, 0
bl SetGpuReg
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08135A9C: .4byte gUnknown_203B15C
_08135AA0: .4byte 0x0000fffc
thumb_func_end sub_81358DC
thumb_func_start sub_8135AA4
sub_8135AA4: @ 8135AA4
push {lr}
ldr r0, _08135AC0 @ =gUnknown_203B140
ldr r2, [r0]
ldr r3, _08135AC4 @ =0x00003224
adds r1, r2, r3
ldrb r1, [r1]
adds r3, r0, 0
cmp r1, 0x1
bne _08135ACC
ldr r1, _08135AC8 @ =0x00003214
adds r0, r2, r1
ldrb r0, [r0]
subs r0, 0x1
b _08135AD4
.align 2, 0
_08135AC0: .4byte gUnknown_203B140
_08135AC4: .4byte 0x00003224
_08135AC8: .4byte 0x00003214
_08135ACC:
ldr r1, _08135AE8 @ =0x00003214
adds r0, r2, r1
ldrb r0, [r0]
adds r0, 0x1
_08135AD4:
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08135B00
cmp r0, 0x1
bgt _08135AEC
cmp r0, 0
beq _08135AF6
b _08135B82
.align 2, 0
_08135AE8: .4byte 0x00003214
_08135AEC:
cmp r0, 0x2
beq _08135B38
cmp r0, 0x3
beq _08135B70
b _08135B82
_08135AF6:
ldr r0, [r3]
movs r2, 0xC9
lsls r2, 6
adds r0, r2
b _08135B5E
_08135B00:
ldr r1, [r3]
ldr r3, _08135B18 @ =0x00003224
adds r0, r1, r3
ldrb r0, [r0]
cmp r0, 0x1
bne _08135B24
ldr r2, _08135B1C @ =0x0000323c
adds r0, r1, r2
ldrb r0, [r0]
ldr r1, _08135B20 @ =gUnknown_8E9B950
b _08135B62
.align 2, 0
_08135B18: .4byte 0x00003224
_08135B1C: .4byte 0x0000323c
_08135B20: .4byte gUnknown_8E9B950
_08135B24:
ldr r3, _08135B30 @ =0x0000323c
adds r0, r1, r3
ldrb r0, [r0]
ldr r1, _08135B34 @ =gUnknown_8E9B598
b _08135B62
.align 2, 0
_08135B30: .4byte 0x0000323c
_08135B34: .4byte gUnknown_8E9B598
_08135B38:
ldr r1, [r3]
ldr r2, _08135B50 @ =0x00003224
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x1
bne _08135B58
movs r3, 0xC9
lsls r3, 6
adds r0, r1, r3
ldrb r0, [r0]
ldr r1, _08135B54 @ =gUnknown_8E9BA9C
b _08135B62
.align 2, 0
_08135B50: .4byte 0x00003224
_08135B54: .4byte gUnknown_8E9BA9C
_08135B58:
movs r2, 0xC9
lsls r2, 6
adds r0, r1, r2
_08135B5E:
ldrb r0, [r0]
ldr r1, _08135B6C @ =gUnknown_8E9B750
_08135B62:
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
b _08135B82
.align 2, 0
_08135B6C: .4byte gUnknown_8E9B750
_08135B70:
ldr r0, [r3]
ldr r3, _08135B88 @ =0x0000323c
adds r0, r3
ldrb r0, [r0]
ldr r1, _08135B8C @ =gUnknown_8E9B950
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
_08135B82:
pop {r0}
bx r0
.align 2, 0
_08135B88: .4byte 0x0000323c
_08135B8C: .4byte gUnknown_8E9B950
thumb_func_end sub_8135AA4
thumb_func_start sub_8135B90
sub_8135B90: @ 8135B90
push {lr}
ldr r0, _08135BAC @ =gUnknown_203B140
ldr r2, [r0]
ldr r3, _08135BB0 @ =0x00003224
adds r1, r2, r3
ldrb r1, [r1]
adds r3, r0, 0
cmp r1, 0x1
bne _08135BB8
ldr r1, _08135BB4 @ =0x00003214
adds r0, r2, r1
ldrb r0, [r0]
subs r0, 0x1
b _08135BC0
.align 2, 0
_08135BAC: .4byte gUnknown_203B140
_08135BB0: .4byte 0x00003224
_08135BB4: .4byte 0x00003214
_08135BB8:
ldr r1, _08135BD4 @ =0x00003214
adds r0, r2, r1
ldrb r0, [r0]
adds r0, 0x1
_08135BC0:
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08135C2C
cmp r0, 0x1
bgt _08135BD8
cmp r0, 0
beq _08135BE2
b _08135C2C
.align 2, 0
_08135BD4: .4byte 0x00003214
_08135BD8:
cmp r0, 0x2
beq _08135BF4
cmp r0, 0x3
beq _08135C20
b _08135C2C
_08135BE2:
ldr r0, [r3]
movs r3, 0xC9
lsls r3, 6
adds r0, r3
ldrb r0, [r0]
ldr r1, _08135BF0 @ =gUnknown_8E9B750
b _08135C10
.align 2, 0
_08135BF0: .4byte gUnknown_8E9B750
_08135BF4:
ldr r0, [r3]
ldr r1, _08135C04 @ =0x00003224
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x1
bne _08135C0C
ldr r1, _08135C08 @ =gUnknown_8463C80
b _08135C0E
.align 2, 0
_08135C04: .4byte 0x00003224
_08135C08: .4byte gUnknown_8463C80
_08135C0C:
ldr r1, _08135C1C @ =gUnknown_8463B88
_08135C0E:
movs r0, 0x3
_08135C10:
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
b _08135C2C
.align 2, 0
_08135C1C: .4byte gUnknown_8463B88
_08135C20:
ldr r1, _08135C30 @ =gUnknown_8463B88
movs r0, 0x3
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
_08135C2C:
pop {r0}
bx r0
.align 2, 0
_08135C30: .4byte gUnknown_8463B88
thumb_func_end sub_8135B90
thumb_func_start sub_8135C34
sub_8135C34: @ 8135C34
push {r4,lr}
sub sp, 0x4
ldr r0, _08135C54 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08135C58 @ =0x00003274
adds r0, r1
ldrb r0, [r0]
cmp r0, 0xF
bls _08135C48
b _08135EF6
_08135C48:
lsls r0, 2
ldr r1, _08135C5C @ =_08135C60
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08135C54: .4byte gUnknown_203B140
_08135C58: .4byte 0x00003274
_08135C5C: .4byte _08135C60
.align 2, 0
_08135C60:
.4byte _08135CA0
.4byte _08135CA6
.4byte _08135CAC
.4byte _08135CB2
.4byte _08135CB8
.4byte _08135CBE
.4byte _08135CC4
.4byte _08135CD2
.4byte _08135CD8
.4byte _08135CDE
.4byte _08135CE8
.4byte _08135D30
.4byte _08135DC4
.4byte _08135DEC
.4byte _08135E80
.4byte _08135E9A
_08135CA0:
bl sub_81381AC
b _08135F00
_08135CA6:
bl sub_8136BC4
b _08135F00
_08135CAC:
bl sub_8136BAC
b _08135F00
_08135CB2:
bl sub_8135F20
b _08135CC8
_08135CB8:
bl sub_8136AEC
b _08135CC8
_08135CBE:
bl sub_81381D0
b _08135F00
_08135CC4:
bl sub_8136040
_08135CC8:
lsls r0, 24
cmp r0, 0
bne _08135CD0
b _08135F0E
_08135CD0:
b _08135F00
_08135CD2:
bl sub_8136F4C
b _08135F00
_08135CD8:
bl sub_81374E8
b _08135F00
_08135CDE:
bl sub_8137BD0
bl sub_8138A38
b _08135F00
_08135CE8:
ldr r0, _08135D0C @ =gUnknown_203B140
ldr r0, [r0]
ldr r2, _08135D10 @ =0x00003208
adds r0, r2
ldrb r0, [r0]
subs r0, 0x2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bhi _08135D18
ldr r1, _08135D14 @ =gUnknown_8463C80
movs r0, 0x3
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
b _08135D24
.align 2, 0
_08135D0C: .4byte gUnknown_203B140
_08135D10: .4byte 0x00003208
_08135D14: .4byte gUnknown_8463C80
_08135D18:
ldr r1, _08135D2C @ =gUnknown_8463B88
movs r0, 0x3
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
_08135D24:
bl sub_8138538
b _08135F00
.align 2, 0
_08135D2C: .4byte gUnknown_8463B88
_08135D30:
ldr r4, _08135D4C @ =gUnknown_203B140
ldr r1, [r4]
movs r2, 0xC8
lsls r2, 6
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
beq _08135D54
adds r2, 0x3C
adds r0, r1, r2
ldrb r0, [r0]
ldr r1, _08135D50 @ =gUnknown_8E9BBCC
b _08135DAC
.align 2, 0
_08135D4C: .4byte gUnknown_203B140
_08135D50: .4byte gUnknown_8E9BBCC
_08135D54:
ldr r2, _08135D84 @ =0x00003208
adds r0, r1, r2
ldrb r0, [r0]
subs r0, 0x2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bhi _08135D90
adds r2, 0x34
adds r0, r1, r2
ldrb r0, [r0]
ldr r1, _08135D88 @ =gUnknown_8E9B950
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
ldr r0, [r4]
movs r1, 0xC9
lsls r1, 6
adds r0, r1
ldrb r0, [r0]
ldr r1, _08135D8C @ =gUnknown_8E9BA9C
b _08135DAC
.align 2, 0
_08135D84: .4byte 0x00003208
_08135D88: .4byte gUnknown_8E9B950
_08135D8C: .4byte gUnknown_8E9BA9C
_08135D90:
ldr r2, _08135DB8 @ =0x0000323c
adds r0, r1, r2
ldrb r0, [r0]
ldr r1, _08135DBC @ =gUnknown_8E9B598
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
ldr r0, [r4]
movs r1, 0xC9
lsls r1, 6
adds r0, r1
ldrb r0, [r0]
ldr r1, _08135DC0 @ =gUnknown_8E9B750
_08135DAC:
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
b _08135F00
.align 2, 0
_08135DB8: .4byte 0x0000323c
_08135DBC: .4byte gUnknown_8E9B598
_08135DC0: .4byte gUnknown_8E9B750
_08135DC4:
movs r0, 0x1
negs r0, r0
movs r1, 0x10
movs r2, 0
bl BlendPalettes
ldr r0, _08135DE4 @ =gUnknown_203B140
ldr r0, [r0]
ldr r2, _08135DE8 @ =0x00003214
adds r0, r2
ldrb r0, [r0]
bl sub_8137D28
bl sub_8137E28
b _08135F00
.align 2, 0
_08135DE4: .4byte gUnknown_203B140
_08135DE8: .4byte 0x00003214
_08135DEC:
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
ldr r4, _08135E64 @ =gUnknown_203B140
ldr r0, [r4]
movs r1, 0xC0
lsls r1, 6
adds r0, r1
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r2, _08135E68 @ =0x00003001
adds r0, r2
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r1, _08135E6C @ =0x00003002
adds r0, r1
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r2, _08135E70 @ =0x00003006
adds r0, r2
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r1, _08135E74 @ =0x00003003
adds r0, r1
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r2, _08135E78 @ =0x00003004
adds r0, r2
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r1, _08135E7C @ =0x00003005
adds r0, r1
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
b _08135F00
.align 2, 0
_08135E64: .4byte gUnknown_203B140
_08135E68: .4byte 0x00003001
_08135E6C: .4byte 0x00003002
_08135E70: .4byte 0x00003006
_08135E74: .4byte 0x00003003
_08135E78: .4byte 0x00003004
_08135E7C: .4byte 0x00003005
_08135E80:
movs r0, 0
bl CopyBgTilemapBufferToVram
movs r0, 0x2
bl CopyBgTilemapBufferToVram
movs r0, 0x1
bl CopyBgTilemapBufferToVram
movs r0, 0x3
bl CopyBgTilemapBufferToVram
b _08135F00
_08135E9A:
ldr r0, _08135EBC @ =gUnknown_203B140
ldr r0, [r0]
ldr r2, _08135EC0 @ =0x00003208
adds r0, r2
ldrb r0, [r0]
subs r0, 0x2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bhi _08135EC4
movs r0, 0
bl sub_8139EE4
movs r0, 0
bl sub_813A0E8
b _08135EE2
.align 2, 0
_08135EBC: .4byte gUnknown_203B140
_08135EC0: .4byte 0x00003208
_08135EC4:
movs r0, 0
bl sub_8139C44
movs r0, 0
bl sub_813B084
movs r0, 0
bl sub_8139D54
movs r0, 0
bl sub_813A838
movs r0, 0
bl sub_813AB70
_08135EE2:
movs r0, 0
bl sub_813A3B8
movs r0, 0
bl sub_813ACF8
movs r0, 0
bl sub_813AEB0
b _08135F00
_08135EF6:
bl sub_81381C0
bl sub_8136D54
b _08135F0E
_08135F00:
ldr r0, _08135F18 @ =gUnknown_203B140
ldr r1, [r0]
ldr r0, _08135F1C @ =0x00003274
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
_08135F0E:
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08135F18: .4byte gUnknown_203B140
_08135F1C: .4byte 0x00003274
thumb_func_end sub_8135C34
thumb_func_start sub_8135F20
sub_8135F20: @ 8135F20
push {r4,r5,lr}
sub sp, 0x4
ldr r0, _08135F3C @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08135F40 @ =0x00003278
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x6
bhi _0813600E
lsls r0, 2
ldr r1, _08135F44 @ =_08135F48
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08135F3C: .4byte gUnknown_203B140
_08135F40: .4byte 0x00003278
_08135F44: .4byte _08135F48
.align 2, 0
_08135F48:
.4byte _08135F64
.4byte _08135FCC
.4byte _08135FE4
.4byte _08135FEA
.4byte _08136000
.4byte _08136020
.4byte _08136020
_08135F64:
ldr r4, _08135FA8 @ =gUnknown_8E9B310
adds r0, r4, 0
movs r1, 0
movs r2, 0xA0
bl LoadPalette
ldr r5, _08135FAC @ =gUnknown_203B140
ldr r0, [r5]
ldr r1, _08135FB0 @ =0x00003290
adds r0, r1
bl IsMonShiny
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08135FB4
ldr r0, [r5]
movs r1, 0xC8
lsls r1, 6
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _08135FB4
adds r0, r4, 0
adds r0, 0xC0
movs r1, 0
movs r2, 0x20
bl LoadPalette
adds r0, r4, 0
adds r0, 0xA0
movs r1, 0x10
b _08135FD8
.align 2, 0
_08135FA8: .4byte gUnknown_8E9B310
_08135FAC: .4byte gUnknown_203B140
_08135FB0: .4byte 0x00003290
_08135FB4:
ldr r4, _08135FC8 @ =gUnknown_8E9B310
adds r0, r4, 0
movs r1, 0
movs r2, 0x20
bl LoadPalette
adds r4, 0x20
adds r0, r4, 0
movs r1, 0x10
b _08135FD8
.align 2, 0
_08135FC8: .4byte gUnknown_8E9B310
_08135FCC:
movs r0, 0x60
movs r1, 0x1
bl sub_8107D38
ldr r0, _08135FE0 @ =gUnknown_84636C0
movs r1, 0x70
_08135FD8:
movs r2, 0x20
bl LoadPalette
b _08136020
.align 2, 0
_08135FE0: .4byte gUnknown_84636C0
_08135FE4:
bl ResetTempTileDataBuffers
b _08136020
_08135FEA:
ldr r1, _08135FFC @ =gUnknown_8E9A460
movs r0, 0
str r0, [sp]
movs r0, 0x2
movs r2, 0
movs r3, 0
bl DecompressAndCopyTileDataToVram
b _08136020
.align 2, 0
_08135FFC: .4byte gUnknown_8E9A460
_08136000:
bl FreeTempTileDataBuffersIfPossible
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08136020
b _0813602E
_0813600E:
ldr r0, _0813601C @ =gUnknown_8463700
movs r1, 0x80
movs r2, 0x20
bl LoadPalette
movs r0, 0x1
b _08136030
.align 2, 0
_0813601C: .4byte gUnknown_8463700
_08136020:
ldr r0, _08136038 @ =gUnknown_203B140
ldr r1, [r0]
ldr r0, _0813603C @ =0x00003278
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
_0813602E:
movs r0, 0
_08136030:
add sp, 0x4
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_08136038: .4byte gUnknown_203B140
_0813603C: .4byte 0x00003278
thumb_func_end sub_8135F20
thumb_func_start sub_8136040
sub_8136040: @ 8136040
push {r4-r6,lr}
ldr r1, _08136060 @ =gUnknown_203B140
ldr r2, [r1]
movs r6, 0xCA
lsls r6, 6
adds r0, r2, r6
ldrb r4, [r0]
adds r5, r1, 0
cmp r4, 0x1
beq _08136084
cmp r4, 0x1
bgt _08136064
cmp r4, 0
beq _0813606A
b _081360A8
.align 2, 0
_08136060: .4byte gUnknown_203B140
_08136064:
cmp r4, 0x2
beq _08136096
b _081360A8
_0813606A:
bl sub_81360D4
ldr r1, [r5]
movs r2, 0xC8
lsls r2, 6
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
beq _081360B8
adds r0, r1, r6
strb r4, [r0]
movs r0, 0x1
b _081360CA
_08136084:
movs r1, 0xC8
lsls r1, 6
adds r0, r2, r1
ldrb r0, [r0]
cmp r0, 0
bne _081360B8
bl sub_8136350
b _081360B8
_08136096:
movs r1, 0xC8
lsls r1, 6
adds r0, r2, r1
ldrb r0, [r0]
cmp r0, 0
bne _081360B8
bl sub_81367B0
b _081360B8
_081360A8:
ldr r0, [r5]
movs r2, 0xCA
lsls r2, 6
adds r0, r2
movs r1, 0
strb r1, [r0]
movs r0, 0x1
b _081360CA
_081360B8:
ldr r0, _081360D0 @ =gUnknown_203B140
ldr r1, [r0]
movs r0, 0xCA
lsls r0, 6
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
movs r0, 0
_081360CA:
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_081360D0: .4byte gUnknown_203B140
thumb_func_end sub_8136040
thumb_func_start sub_81360D4
sub_81360D4: @ 81360D4
push {r4-r7,lr}
sub sp, 0x14
ldr r5, _08136108 @ =gUnknown_203B140
ldr r0, [r5]
ldr r1, _0813610C @ =0x00003290
adds r0, r1
movs r1, 0xB
bl GetMonData
lsls r0, 16
lsrs r0, 16
bl sub_8043F90
lsls r0, 16
lsrs r4, r0, 16
ldr r0, _08136110 @ =0x0000ffff
cmp r4, r0
bne _0813611C
ldr r0, [r5]
ldr r2, _08136114 @ =0x00003064
adds r0, r2
ldr r1, _08136118 @ =gUnknown_8416202
bl StringCopy
b _0813612C
.align 2, 0
_08136108: .4byte gUnknown_203B140
_0813610C: .4byte 0x00003290
_08136110: .4byte 0x0000ffff
_08136114: .4byte 0x00003064
_08136118: .4byte gUnknown_8416202
_0813611C:
ldr r0, [r5]
ldr r3, _08136154 @ =0x00003064
adds r0, r3
adds r1, r4, 0
movs r2, 0x2
movs r3, 0x3
bl ConvertIntToDecimalStringN
_0813612C:
ldr r0, _08136158 @ =gUnknown_203B144
ldr r1, [r0]
movs r0, 0
strh r0, [r1]
ldr r6, _0813615C @ =gUnknown_203B140
ldr r2, [r6]
movs r1, 0xC8
lsls r1, 6
adds r0, r2, r1
ldrb r0, [r0]
cmp r0, 0
beq _08136168
ldr r3, _08136160 @ =0x00003290
adds r0, r2, r3
ldr r1, _08136164 @ =0x00003028
adds r2, r1
movs r1, 0x2
bl GetMonData
b _08136342
.align 2, 0
_08136154: .4byte 0x00003064
_08136158: .4byte gUnknown_203B144
_0813615C: .4byte gUnknown_203B140
_08136160: .4byte 0x00003290
_08136164: .4byte 0x00003028
_08136168:
ldr r5, _081361F0 @ =0x00003290
adds r0, r2, r5
movs r1, 0xB
bl GetMonData
lsls r0, 16
lsrs r4, r0, 16
ldr r0, [r6]
ldr r2, _081361F4 @ =0x00003028
adds r0, r2
adds r1, r4, 0
bl GetSpeciesName
ldr r1, [r6]
ldr r2, _081361F8 @ =gBaseStats
lsls r0, r4, 3
subs r0, r4
lsls r0, 2
adds r0, r2
ldrb r2, [r0, 0x6]
ldr r3, _081361FC @ =0x00003220
adds r1, r3
strb r2, [r1]
ldr r1, [r6]
ldrb r0, [r0, 0x7]
ldr r2, _08136200 @ =0x00003221
adds r1, r2
strb r0, [r1]
ldr r0, [r6]
adds r0, r5
movs r1, 0x2
mov r2, sp
bl GetMonData
ldr r0, [r6]
ldr r4, _08136204 @ =0x00003034
adds r0, r4
mov r1, sp
movs r2, 0xA
bl StringCopyN_Multibyte
ldr r0, [r6]
adds r0, r4
bl StringGetEnd10
ldr r0, [r6]
adds r0, r5
bl GetMonGender
lsls r0, 24
lsrs r7, r0, 24
ldr r0, [r6]
adds r0, r5
movs r1, 0x41
bl GetMonData
lsls r0, 16
lsrs r4, r0, 16
cmp r7, 0xFE
bne _08136210
ldr r0, [r6]
ldr r3, _08136208 @ =0x00003084
adds r0, r3
ldr r1, _0813620C @ =gUnknown_8416221
bl StringCopy
b _08136238
.align 2, 0
_081361F0: .4byte 0x00003290
_081361F4: .4byte 0x00003028
_081361F8: .4byte gBaseStats
_081361FC: .4byte 0x00003220
_08136200: .4byte 0x00003221
_08136204: .4byte 0x00003034
_08136208: .4byte 0x00003084
_0813620C: .4byte gUnknown_8416221
_08136210:
cmp r7, 0
bne _0813622C
ldr r0, [r6]
ldr r1, _08136224 @ =0x00003084
adds r0, r1
ldr r1, _08136228 @ =gUnknown_841621F
bl StringCopy
b _08136238
.align 2, 0
_08136224: .4byte 0x00003084
_08136228: .4byte gUnknown_841621F
_0813622C:
ldr r0, [r6]
ldr r2, _08136308 @ =0x00003084
adds r0, r2
ldr r1, _0813630C @ =gUnknown_84161CD
bl StringCopy
_08136238:
cmp r4, 0x20
beq _08136240
cmp r4, 0x1D
bne _08136264
_08136240:
ldr r5, _08136310 @ =gUnknown_203B140
ldr r0, [r5]
ldr r3, _08136314 @ =0x00003034
adds r0, r3
movs r1, 0xB
muls r1, r4
ldr r2, _08136318 @ =gSpeciesNames
adds r1, r2
bl StringCompare
cmp r0, 0
bne _08136264
ldr r0, [r5]
ldr r1, _08136308 @ =0x00003084
adds r0, r1
ldr r1, _0813630C @ =gUnknown_84161CD
bl StringCopy
_08136264:
ldr r6, _08136310 @ =gUnknown_203B140
ldr r0, [r6]
ldr r5, _0813631C @ =0x00003290
adds r0, r5
movs r1, 0x7
mov r2, sp
bl GetMonData
ldr r0, [r6]
movs r4, 0xC1
lsls r4, 6
adds r0, r4
mov r1, sp
movs r2, 0x7
bl StringCopyN_Multibyte
ldr r0, [r6]
adds r4, r0, r4
adds r0, r5
movs r1, 0x3
bl GetMonData
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
bl ConvertInternationalString
ldr r0, [r6]
adds r0, r5
movs r1, 0x1
bl GetMonData
ldr r1, _08136320 @ =0x0000ffff
ands r1, r0
ldr r0, [r6]
ldr r2, _08136324 @ =0x0000306c
adds r0, r2
movs r2, 0x2
movs r3, 0x5
bl ConvertIntToDecimalStringN
ldr r0, [r6]
adds r0, r5
movs r1, 0x38
bl GetMonData
adds r1, r0, 0
mov r0, sp
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, [r6]
ldr r4, _08136328 @ =0x00003088
adds r0, r4
ldr r1, _0813632C @ =gText_Lv
bl StringCopy
ldr r0, [r6]
adds r0, r4
mov r1, sp
movs r2, 0x4
bl StringAppendN
ldr r0, [r6]
adds r0, r5
movs r1, 0xC
bl GetMonData
lsls r0, 16
lsrs r0, 16
cmp r0, 0
bne _08136338
ldr r0, [r6]
ldr r3, _08136330 @ =0x00003074
adds r0, r3
ldr r1, _08136334 @ =gUnknown_84161EF
bl StringCopy
b _08136342
.align 2, 0
_08136308: .4byte 0x00003084
_0813630C: .4byte gUnknown_84161CD
_08136310: .4byte gUnknown_203B140
_08136314: .4byte 0x00003034
_08136318: .4byte gSpeciesNames
_0813631C: .4byte 0x00003290
_08136320: .4byte 0x0000ffff
_08136324: .4byte 0x0000306c
_08136328: .4byte 0x00003088
_0813632C: .4byte gText_Lv
_08136330: .4byte 0x00003074
_08136334: .4byte gUnknown_84161EF
_08136338:
ldr r1, [r6]
ldr r2, _0813634C @ =0x00003074
adds r1, r2
bl CopyItemName
_08136342:
add sp, 0x14
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813634C: .4byte 0x00003074
thumb_func_end sub_81360D4
thumb_func_start sub_8136350
sub_8136350: @ 8136350
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x14
ldr r6, _081364F8 @ =gUnknown_203B140
ldr r0, [r6]
ldr r7, _081364FC @ =0x00003290
adds r0, r7
movs r1, 0x39
bl GetMonData
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
ldr r0, [r6]
ldr r4, _08136500 @ =0x00003090
adds r0, r4
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, [r6]
adds r0, r4
ldr r1, _08136504 @ =gUnknown_841620C
bl StringAppend
ldr r0, [r6]
adds r0, r7
movs r1, 0x3A
bl GetMonData
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
mov r0, sp
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, [r6]
adds r0, r4
mov r1, sp
bl StringAppend
ldr r0, [r6]
adds r0, r4
bl StringLength
ldr r1, _08136508 @ =gUnknown_203B144
mov r8, r1
ldr r2, [r1]
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 1
adds r1, r0
lsls r1, 1
movs r0, 0x3F
subs r0, r1
strh r0, [r2, 0x2]
ldr r2, [r6]
ldr r1, _0813650C @ =0x000032f8
adds r0, r2, r1
ldr r1, [r0]
ldr r0, _08136510 @ =sub_804CF14
cmp r1, r0
beq _081363DA
b _08136518
_081363DA:
ldr r1, _08136514 @ =0x00003024
adds r0, r2, r1
ldr r0, [r0]
cmp r0, 0x1
beq _081363E6
b _08136518
_081363E6:
adds r0, r2, r7
movs r1, 0x54
bl GetMonData
lsls r0, 16
lsrs r1, r0, 16
ldr r0, [r6]
adds r4, 0xC
adds r0, r4
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, [r6]
adds r0, r4
bl StringLength
mov r1, r8
ldr r2, [r1]
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 1
adds r1, r0
lsls r1, 1
movs r5, 0x1B
subs r1, r5, r1
strh r1, [r2, 0x4]
ldr r0, [r6]
adds r0, r7
movs r1, 0x55
bl GetMonData
lsls r0, 16
lsrs r1, r0, 16
ldr r0, [r6]
adds r4, 0x5
adds r0, r4
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, [r6]
adds r0, r4
bl StringLength
mov r1, r8
ldr r2, [r1]
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 1
adds r1, r0
lsls r1, 1
subs r1, r5, r1
strh r1, [r2, 0x6]
ldr r0, [r6]
adds r0, r7
movs r1, 0x57
bl GetMonData
lsls r0, 16
lsrs r1, r0, 16
ldr r0, [r6]
adds r4, 0x5
adds r0, r4
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, [r6]
adds r0, r4
bl StringLength
mov r1, r8
ldr r2, [r1]
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 1
adds r1, r0
lsls r1, 1
subs r1, r5, r1
strh r1, [r2, 0x8]
ldr r0, [r6]
adds r0, r7
movs r1, 0x58
bl GetMonData
lsls r0, 16
lsrs r1, r0, 16
ldr r0, [r6]
adds r4, 0x5
adds r0, r4
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, [r6]
adds r0, r4
bl StringLength
mov r1, r8
ldr r2, [r1]
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 1
adds r1, r0
lsls r1, 1
subs r1, r5, r1
strh r1, [r2, 0xA]
ldr r0, [r6]
adds r0, r7
movs r1, 0x56
bl GetMonData
lsls r0, 16
lsrs r1, r0, 16
ldr r0, [r6]
adds r4, 0x5
adds r0, r4
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, [r6]
adds r0, r4
bl StringLength
mov r1, r8
ldr r2, [r1]
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 1
adds r1, r0
lsls r1, 1
subs r5, r1
strh r5, [r2, 0xC]
b _08136630
.align 2, 0
_081364F8: .4byte gUnknown_203B140
_081364FC: .4byte 0x00003290
_08136500: .4byte 0x00003090
_08136504: .4byte gUnknown_841620C
_08136508: .4byte gUnknown_203B144
_0813650C: .4byte 0x000032f8
_08136510: .4byte sub_804CF14
_08136514: .4byte 0x00003024
_08136518:
ldr r4, _0813677C @ =gUnknown_203B140
ldr r0, [r4]
ldr r2, _08136780 @ =0x00003290
mov r9, r2
add r0, r9
movs r1, 0x3B
bl GetMonData
lsls r0, 16
lsrs r1, r0, 16
ldr r0, [r4]
ldr r5, _08136784 @ =0x0000309c
adds r0, r5
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, [r4]
adds r0, r5
bl StringLength
ldr r1, _08136788 @ =gUnknown_203B144
mov r8, r1
ldr r2, [r1]
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 1
adds r1, r0
lsls r1, 1
movs r6, 0x1B
subs r1, r6, r1
strh r1, [r2, 0x4]
ldr r0, [r4]
add r0, r9
movs r1, 0x3C
bl GetMonData
lsls r0, 16
lsrs r1, r0, 16
ldr r0, [r4]
adds r5, 0x5
adds r0, r5
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, [r4]
adds r0, r5
bl StringLength
mov r1, r8
ldr r2, [r1]
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 1
adds r1, r0
lsls r1, 1
subs r1, r6, r1
strh r1, [r2, 0x6]
ldr r0, [r4]
add r0, r9
movs r1, 0x3E
bl GetMonData
lsls r0, 16
lsrs r1, r0, 16
ldr r0, [r4]
adds r5, 0x5
adds r0, r5
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, [r4]
adds r0, r5
bl StringLength
mov r1, r8
ldr r2, [r1]
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 1
adds r1, r0
lsls r1, 1
subs r1, r6, r1
strh r1, [r2, 0x8]
ldr r0, [r4]
add r0, r9
movs r1, 0x3F
bl GetMonData
lsls r0, 16
lsrs r1, r0, 16
ldr r0, [r4]
adds r5, 0x5
adds r0, r5
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, [r4]
adds r0, r5
bl StringLength
mov r1, r8
ldr r2, [r1]
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 1
adds r1, r0
lsls r1, 1
subs r1, r6, r1
strh r1, [r2, 0xA]
ldr r0, [r4]
add r0, r9
movs r1, 0x3D
bl GetMonData
lsls r0, 16
lsrs r1, r0, 16
ldr r0, [r4]
adds r5, 0x5
adds r0, r5
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, [r4]
adds r0, r5
bl StringLength
mov r1, r8
ldr r2, [r1]
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 1
adds r1, r0
lsls r1, 1
subs r6, r1
strh r6, [r2, 0xC]
_08136630:
ldr r6, _0813677C @ =gUnknown_203B140
ldr r0, [r6]
ldr r2, _08136780 @ =0x00003290
mov r8, r2
add r0, r8
movs r1, 0x19
bl GetMonData
adds r7, r0, 0
ldr r0, [r6]
ldr r4, _0813678C @ =0x000031a4
adds r0, r4
adds r1, r7, 0
movs r2, 0
movs r3, 0x7
bl ConvertIntToDecimalStringN
ldr r0, [r6]
adds r0, r4
bl StringLength
ldr r1, _08136788 @ =gUnknown_203B144
mov r10, r1
ldr r2, [r1]
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 1
adds r1, r0
lsls r1, 1
movs r0, 0x3F
mov r9, r0
mov r0, r9
subs r1, r0, r1
strh r1, [r2, 0xE]
ldr r0, [r6]
add r0, r8
movs r1, 0x38
bl GetMonData
lsls r0, 24
lsrs r5, r0, 24
movs r1, 0
cmp r5, 0x63
bhi _081366B8
ldr r0, [r6]
ldr r1, _08136780 @ =0x00003290
adds r0, r1
movs r1, 0xB
bl GetMonData
lsls r0, 16
lsrs r0, 16
ldr r4, _08136790 @ =gExperienceTables
adds r2, r5, 0x1
lsls r2, 2
ldr r3, _08136794 @ =gBaseStats
lsls r1, r0, 3
subs r1, r0
lsls r1, 2
adds r1, r3
ldrb r1, [r1, 0x13]
movs r0, 0xCA
lsls r0, 1
muls r0, r1
adds r2, r0
adds r2, r4
ldr r0, [r2]
subs r1, r0, r7
_081366B8:
ldr r0, [r6]
ldr r4, _08136798 @ =0x000031b0
adds r0, r4
movs r2, 0
movs r3, 0x7
bl ConvertIntToDecimalStringN
ldr r0, [r6]
adds r0, r4
bl StringLength
mov r1, r10
ldr r2, [r1]
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 1
adds r1, r0
lsls r1, 1
mov r0, r9
subs r1, r0, r1
strh r1, [r2, 0x10]
ldr r0, [r6]
add r0, r8
movs r1, 0xB
bl GetMonData
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
ldr r0, [r6]
add r0, r8
movs r1, 0x2E
bl GetMonData
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
bl GetAbilityBySpecies
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, [r6]
ldr r1, _0813679C @ =0x000031bc
adds r0, r1
movs r1, 0xD
muls r1, r4
ldr r2, _081367A0 @ =gUnknown_824FC40
adds r1, r2
bl StringCopy
ldr r0, [r6]
ldr r2, _081367A4 @ =0x000031cc
adds r0, r2
ldr r1, _081367A8 @ =gUnknown_824FB08
lsls r4, 2
adds r4, r1
ldr r1, [r4]
bl StringCopy
ldr r0, [r6]
add r0, r8
movs r1, 0x37
bl GetMonData
bl sub_8138C5C
ldr r1, [r6]
ldr r4, _081367AC @ =0x0000326c
adds r1, r4
strb r0, [r1]
ldr r1, [r6]
adds r0, r1, r4
ldrb r0, [r0]
cmp r0, 0
bne _0813676A
mov r2, r8
adds r0, r1, r2
movs r1, 0
bl CheckPartyPokerus
lsls r0, 24
cmp r0, 0
beq _0813676A
ldr r0, [r6]
adds r0, r4
movs r1, 0x6
strb r1, [r0]
_0813676A:
add sp, 0x14
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813677C: .4byte gUnknown_203B140
_08136780: .4byte 0x00003290
_08136784: .4byte 0x0000309c
_08136788: .4byte gUnknown_203B144
_0813678C: .4byte 0x000031a4
_08136790: .4byte gExperienceTables
_08136794: .4byte gBaseStats
_08136798: .4byte 0x000031b0
_0813679C: .4byte 0x000031bc
_081367A0: .4byte gUnknown_824FC40
_081367A4: .4byte 0x000031cc
_081367A8: .4byte gUnknown_824FB08
_081367AC: .4byte 0x0000326c
thumb_func_end sub_8136350
thumb_func_start sub_81367B0
sub_81367B0: @ 81367B0
push {r4,lr}
movs r4, 0
_081367B4:
adds r0, r4, 0
bl sub_81367E8
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x3
bls _081367B4
ldr r0, _081367E0 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _081367E4 @ =0x00003208
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x2
bne _081367D8
movs r0, 0x4
bl sub_81367E8
_081367D8:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_081367E0: .4byte gUnknown_203B140
_081367E4: .4byte 0x00003208
thumb_func_end sub_81367B0
thumb_func_start sub_81367E8
sub_81367E8: @ 81367E8
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
lsls r0, 24
lsrs r7, r0, 24
cmp r7, 0x3
bhi _08136812
ldr r4, _08136884 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _08136888 @ =0x00003290
adds r0, r1
adds r1, r7, 0
bl sub_8138BEC
ldr r1, [r4]
lsls r2, r7, 1
ldr r3, _0813688C @ =0x00003258
adds r1, r3
adds r1, r2
strh r0, [r1]
_08136812:
ldr r6, _08136884 @ =gUnknown_203B140
ldr r2, [r6]
lsls r0, r7, 1
ldr r4, _0813688C @ =0x00003258
mov r8, r4
adds r1, r2, r4
adds r1, r0
ldrh r1, [r1]
mov r9, r0
cmp r1, 0
bne _081368B0
movs r0, 0xD
muls r0, r7
ldr r1, _08136890 @ =0x00003128
adds r0, r1
adds r0, r2, r0
ldr r1, _08136894 @ =gUnknown_841620E
bl StringCopy
movs r0, 0xB
adds r1, r7, 0
muls r1, r0
ldr r2, _08136898 @ =0x000030b8
adds r1, r2
ldr r0, [r6]
adds r0, r1
ldr r1, _0813689C @ =gUnknown_8416210
bl StringCopy
lsls r4, r7, 2
adds r4, r7
ldr r3, _081368A0 @ =0x0000316c
adds r1, r4, r3
ldr r0, [r6]
adds r0, r1
ldr r5, _081368A4 @ =gText_ThreeHyphens
adds r1, r5, 0
bl StringCopy
ldr r0, _081368A8 @ =0x00003188
adds r4, r0
ldr r0, [r6]
adds r0, r4
adds r1, r5, 0
bl StringCopy
ldr r0, _081368AC @ =gUnknown_203B144
ldr r1, [r0]
adds r0, r1, 0
adds r0, 0x12
add r0, r9
movs r2, 0xFF
strh r2, [r0]
adds r1, 0x1C
add r1, r9
strh r2, [r1]
b _08136ADA
.align 2, 0
_08136884: .4byte gUnknown_203B140
_08136888: .4byte 0x00003290
_0813688C: .4byte 0x00003258
_08136890: .4byte 0x00003128
_08136894: .4byte gUnknown_841620E
_08136898: .4byte 0x000030b8
_0813689C: .4byte gUnknown_8416210
_081368A0: .4byte 0x0000316c
_081368A4: .4byte gText_ThreeHyphens
_081368A8: .4byte 0x00003188
_081368AC: .4byte gUnknown_203B144
_081368B0:
ldr r3, _08136948 @ =0x00003264
adds r1, r2, r3
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
ldr r0, [r6]
ldr r1, _0813694C @ =0x0000324e
adds r4, r0, r1
add r4, r9
ldr r5, _08136950 @ =gBattleMoves
ldr r2, _08136954 @ =0x00003258
adds r3, r0, r2
add r3, r9
ldrh r2, [r3]
lsls r1, r2, 1
adds r1, r2
lsls r1, 2
adds r1, r5
ldrb r1, [r1, 0x2]
strh r1, [r4]
movs r2, 0xD
adds r1, r7, 0
muls r1, r2
ldr r4, _08136958 @ =0x00003128
adds r1, r4
adds r0, r1
ldrh r1, [r3]
muls r1, r2
ldr r2, _0813695C @ =gMoveNames
adds r1, r2
bl StringCopy
cmp r7, 0x3
bls _0813696C
ldr r1, [r6]
ldr r2, _08136960 @ =0x00003208
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x2
bne _0813696C
movs r0, 0xB
adds r4, r7, 0
muls r4, r0
ldr r3, _08136964 @ =0x000030b8
adds r0, r4, r3
adds r0, r1, r0
add r1, r8
add r1, r9
ldrh r2, [r1]
lsls r1, r2, 1
adds r1, r2
lsls r1, 2
adds r1, r5
ldrb r1, [r1, 0x4]
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r0, _08136968 @ =0x000030f0
adds r4, r0
ldr r0, [r6]
adds r4, r0, r4
add r0, r8
add r0, r9
ldrh r1, [r0]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
adds r0, r5
ldrb r1, [r0, 0x4]
adds r0, r4, 0
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
b _081369D0
.align 2, 0
_08136948: .4byte 0x00003264
_0813694C: .4byte 0x0000324e
_08136950: .4byte gBattleMoves
_08136954: .4byte 0x00003258
_08136958: .4byte 0x00003128
_0813695C: .4byte gMoveNames
_08136960: .4byte 0x00003208
_08136964: .4byte 0x000030b8
_08136968: .4byte 0x000030f0
_0813696C:
ldr r1, _08136A4C @ =gUnknown_203B140
mov r8, r1
movs r0, 0xB
adds r5, r7, 0
muls r5, r0
ldr r2, _08136A50 @ =0x000030b8
adds r4, r5, r2
ldr r0, [r1]
adds r4, r0, r4
ldr r6, _08136A54 @ =0x00003290
adds r0, r6
adds r1, r7, 0
bl sub_8138C24
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
ldr r3, _08136A58 @ =0x000030f0
adds r5, r3
mov r4, r8
ldr r0, [r4]
adds r5, r0, r5
ldr r2, _08136A5C @ =0x00003258
adds r1, r0, r2
add r1, r9
ldrh r4, [r1]
adds r0, r6
movs r1, 0x15
bl GetMonData
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
adds r2, r7, 0
bl CalculatePPWithBonus
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
_081369D0:
ldr r6, _08136A4C @ =gUnknown_203B140
movs r0, 0xB
adds r5, r7, 0
muls r5, r0
ldr r3, _08136A50 @ =0x000030b8
adds r1, r5, r3
ldr r0, [r6]
adds r0, r1
bl StringLength
ldr r4, _08136A60 @ =gUnknown_203B144
mov r8, r4
ldr r2, [r4]
adds r2, 0x12
add r2, r9
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 1
adds r1, r0
lsls r1, 1
movs r4, 0xC
subs r1, r4, r1
strh r1, [r2]
ldr r0, _08136A58 @ =0x000030f0
adds r5, r0
ldr r0, [r6]
adds r0, r5
bl StringLength
mov r1, r8
ldr r2, [r1]
adds r2, 0x1C
add r2, r9
lsls r0, 16
lsrs r0, 16
lsls r1, r0, 1
adds r1, r0
lsls r1, 1
subs r4, r1
strh r4, [r2]
ldr r2, _08136A64 @ =gBattleMoves
ldr r6, [r6]
ldr r3, _08136A5C @ =0x00003258
adds r0, r6, r3
add r0, r9
ldrh r1, [r0]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
adds r1, r0, r2
ldrb r0, [r1, 0x1]
cmp r0, 0x1
bhi _08136A70
lsls r4, r7, 2
adds r0, r4, r7
ldr r1, _08136A68 @ =0x0000316c
adds r0, r1
adds r0, r6, r0
ldr r1, _08136A6C @ =gText_ThreeHyphens
bl StringCopy
b _08136A84
.align 2, 0
_08136A4C: .4byte gUnknown_203B140
_08136A50: .4byte 0x000030b8
_08136A54: .4byte 0x00003290
_08136A58: .4byte 0x000030f0
_08136A5C: .4byte 0x00003258
_08136A60: .4byte gUnknown_203B144
_08136A64: .4byte gBattleMoves
_08136A68: .4byte 0x0000316c
_08136A6C: .4byte gText_ThreeHyphens
_08136A70:
lsls r4, r7, 2
adds r0, r4, r7
ldr r2, _08136AB0 @ =0x0000316c
adds r0, r2
adds r0, r6, r0
ldrb r1, [r1, 0x1]
movs r2, 0x1
movs r3, 0x3
bl ConvertIntToDecimalStringN
_08136A84:
ldr r2, _08136AB4 @ =gBattleMoves
ldr r0, _08136AB8 @ =gUnknown_203B140
ldr r3, [r0]
ldr r1, _08136ABC @ =0x00003258
adds r0, r3, r1
add r0, r9
ldrh r1, [r0]
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
adds r1, r0, r2
ldrb r0, [r1, 0x3]
cmp r0, 0
bne _08136AC8
adds r0, r4, r7
ldr r2, _08136AC0 @ =0x00003188
adds r0, r2
adds r0, r3, r0
ldr r1, _08136AC4 @ =gText_ThreeHyphens
bl StringCopy
b _08136ADA
.align 2, 0
_08136AB0: .4byte 0x0000316c
_08136AB4: .4byte gBattleMoves
_08136AB8: .4byte gUnknown_203B140
_08136ABC: .4byte 0x00003258
_08136AC0: .4byte 0x00003188
_08136AC4: .4byte gText_ThreeHyphens
_08136AC8:
adds r0, r4, r7
ldr r4, _08136AE8 @ =0x00003188
adds r0, r4
adds r0, r3, r0
ldrb r1, [r1, 0x3]
movs r2, 0x1
movs r3, 0x3
bl ConvertIntToDecimalStringN
_08136ADA:
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08136AE8: .4byte 0x00003188
thumb_func_end sub_81367E8
thumb_func_start sub_8136AEC
sub_8136AEC: @ 8136AEC
push {lr}
ldr r0, _08136B08 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08136B0C @ =0x0000327c
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x8
bhi _08136B86
lsls r0, 2
ldr r1, _08136B10 @ =_08136B14
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08136B08: .4byte gUnknown_203B140
_08136B0C: .4byte 0x0000327c
_08136B10: .4byte _08136B14
.align 2, 0
_08136B14:
.4byte _08136B38
.4byte _08136B42
.4byte _08136B4C
.4byte _08136B52
.4byte _08136B5C
.4byte _08136B66
.4byte _08136B70
.4byte _08136B7A
.4byte _08136B80
_08136B38:
movs r0, 0xA0
movs r1, 0xA0
bl sub_813ADA8
b _08136B8E
_08136B42:
movs r0, 0x96
movs r1, 0x96
bl sub_813ABAC
b _08136B8E
_08136B4C:
bl sub_813AFFC
b _08136B8E
_08136B52:
movs r0, 0x64
movs r1, 0x64
bl sub_8139F64
b _08136B8E
_08136B5C:
movs r0, 0x6E
movs r1, 0x6E
bl sub_813A254
b _08136B8E
_08136B66:
movs r0, 0x78
movs r1, 0x78
bl sub_813A45C
b _08136B8E
_08136B70:
movs r0, 0x82
movs r1, 0x82
bl sub_813A874
b _08136B8E
_08136B7A:
bl sub_8139CB0
b _08136B8E
_08136B80:
bl sub_8139DBC
b _08136B8E
_08136B86:
bl sub_813995C
movs r0, 0x1
b _08136B9E
_08136B8E:
ldr r0, _08136BA4 @ =gUnknown_203B140
ldr r1, [r0]
ldr r0, _08136BA8 @ =0x0000327c
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
movs r0, 0
_08136B9E:
pop {r1}
bx r1
.align 2, 0
_08136BA4: .4byte gUnknown_203B140
_08136BA8: .4byte 0x0000327c
thumb_func_end sub_8136AEC
thumb_func_start sub_8136BAC
sub_8136BAC: @ 8136BAC
push {lr}
bl ResetSpriteData
bl ResetPaletteFade
bl FreeAllSpritePalettes
bl ScanlineEffect_Stop
pop {r0}
bx r0
thumb_func_end sub_8136BAC
thumb_func_start sub_8136BC4
sub_8136BC4: @ 8136BC4
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x8
movs r3, 0xC0
lsls r3, 19
movs r4, 0xC0
lsls r4, 9
add r0, sp, 0x4
mov r8, r0
mov r2, sp
movs r6, 0
ldr r1, _08136D38 @ =0x040000d4
movs r5, 0x80
lsls r5, 5
ldr r7, _08136D3C @ =0x81000800
movs r0, 0x81
lsls r0, 24
mov r12, r0
_08136BEA:
strh r6, [r2]
mov r0, sp
str r0, [r1]
str r3, [r1, 0x4]
str r7, [r1, 0x8]
ldr r0, [r1, 0x8]
adds r3, r5
subs r4, r5
cmp r4, r5
bhi _08136BEA
strh r6, [r2]
mov r2, sp
str r2, [r1]
str r3, [r1, 0x4]
lsrs r0, r4, 1
mov r2, r12
orrs r0, r2
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
movs r0, 0xE0
lsls r0, 19
movs r3, 0x80
lsls r3, 3
movs r4, 0
str r4, [sp, 0x4]
ldr r2, _08136D38 @ =0x040000d4
mov r1, r8
str r1, [r2]
str r0, [r2, 0x4]
lsrs r0, r3, 2
movs r1, 0x85
lsls r1, 24
orrs r0, r1
str r0, [r2, 0x8]
ldr r0, [r2, 0x8]
movs r1, 0xA0
lsls r1, 19
mov r0, sp
strh r4, [r0]
str r0, [r2]
str r1, [r2, 0x4]
lsrs r3, 1
movs r0, 0x81
lsls r0, 24
orrs r3, r0
str r3, [r2, 0x8]
ldr r0, [r2, 0x8]
movs r0, 0
movs r1, 0
bl SetGpuReg
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, _08136D40 @ =gUnknown_8463EFC
movs r0, 0
movs r2, 0x4
bl InitBgsFromTemplates
movs r0, 0
movs r1, 0
movs r2, 0
bl ChangeBgX
movs r0, 0
movs r1, 0
movs r2, 0
bl ChangeBgY
movs r0, 0x1
movs r1, 0
movs r2, 0
bl ChangeBgX
movs r0, 0x1
movs r1, 0
movs r2, 0
bl ChangeBgY
movs r0, 0x2
movs r1, 0
movs r2, 0
bl ChangeBgX
movs r0, 0x2
movs r1, 0
movs r2, 0
bl ChangeBgY
movs r0, 0x3
movs r1, 0
movs r2, 0
bl ChangeBgX
movs r0, 0x3
movs r1, 0
movs r2, 0
bl ChangeBgY
bl DeactivateAllTextPrinters
ldr r1, _08136D44 @ =0x00005040
movs r0, 0
bl SetGpuReg
ldr r4, _08136D48 @ =gUnknown_203B140
ldr r0, [r4]
ldr r2, _08136D4C @ =0x00003214
adds r0, r2
ldrb r0, [r0]
bl sub_813B750
movs r1, 0xF8
lsls r1, 5
movs r0, 0x48
bl SetGpuReg
movs r0, 0x4A
movs r1, 0xF
bl SetGpuReg
ldr r1, _08136D50 @ =0x00002087
movs r0, 0x46
bl SetGpuReg
movs r1, 0xBC
lsls r1, 2
movs r0, 0x42
bl SetGpuReg
ldr r1, [r4]
movs r0, 0x1
bl SetBgTilemapBuffer
ldr r1, [r4]
movs r0, 0x80
lsls r0, 5
adds r1, r0
movs r0, 0x2
bl SetBgTilemapBuffer
ldr r1, [r4]
movs r2, 0x80
lsls r2, 6
adds r1, r2
movs r0, 0x3
bl SetBgTilemapBuffer
movs r0, 0
bl ShowBg
movs r0, 0x1
bl ShowBg
movs r0, 0x2
bl ShowBg
movs r0, 0x3
bl ShowBg
add sp, 0x8
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08136D38: .4byte 0x040000d4
_08136D3C: .4byte 0x81000800
_08136D40: .4byte gUnknown_8463EFC
_08136D44: .4byte 0x00005040
_08136D48: .4byte gUnknown_203B140
_08136D4C: .4byte 0x00003214
_08136D50: .4byte 0x00002087
thumb_func_end sub_8136BC4
thumb_func_start sub_8136D54
sub_8136D54: @ 8136D54
push {r4,lr}
ldr r4, _08136D70 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _08136D74 @ =0x00003208
adds r0, r1
ldrb r0, [r0]
subs r0, 0x2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bhi _08136D7C
ldr r0, _08136D78 @ =sub_81393D4
b _08136D7E
.align 2, 0
_08136D70: .4byte gUnknown_203B140
_08136D74: .4byte 0x00003208
_08136D78: .4byte sub_81393D4
_08136D7C:
ldr r0, _08136D98 @ =sub_8134840
_08136D7E:
movs r1, 0
bl CreateTask
ldr r1, [r4]
ldr r2, _08136D9C @ =0x00003018
adds r1, r2
strb r0, [r1]
ldr r0, _08136DA0 @ =sub_8137EE8
bl SetMainCallback2
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08136D98: .4byte sub_8134840
_08136D9C: .4byte 0x00003018
_08136DA0: .4byte sub_8137EE8
thumb_func_end sub_8136D54
thumb_func_start sub_8136DA4
sub_8136DA4: @ 8136DA4
push {r4-r6,lr}
sub sp, 0xC
adds r6, r0, 0
ldr r5, _08136DE8 @ =gUnknown_203B140
ldr r0, [r5]
movs r4, 0xC0
lsls r4, 6
adds r0, r4
ldrb r0, [r0]
movs r1, 0
bl FillWindowPixelBuffer
ldr r0, [r5]
adds r0, r4
ldrb r0, [r0]
ldr r1, _08136DEC @ =gUnknown_8463FA7
str r1, [sp]
movs r1, 0
str r1, [sp, 0x4]
str r6, [sp, 0x8]
movs r1, 0x2
movs r2, 0x4
movs r3, 0x1
bl AddTextPrinterParameterized3
ldr r0, [r5]
adds r0, r4
ldrb r0, [r0]
bl PutWindowTilemap
add sp, 0xC
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08136DE8: .4byte gUnknown_203B140
_08136DEC: .4byte gUnknown_8463FA7
thumb_func_end sub_8136DA4
thumb_func_start sub_8136DF0
sub_8136DF0: @ 8136DF0
push {r4-r6,lr}
sub sp, 0xC
adds r6, r0, 0
ldr r5, _08136E44 @ =gUnknown_203B140
ldr r0, [r5]
ldr r4, _08136E48 @ =0x00003001
adds r0, r4
ldrb r0, [r0]
movs r1, 0
bl FillWindowPixelBuffer
movs r0, 0
adds r1, r6, 0
movs r2, 0
bl GetStringWidth
ldr r1, [r5]
adds r1, r4
ldrb r1, [r1]
movs r2, 0x54
subs r2, r0
lsls r2, 24
lsrs r2, 24
ldr r0, _08136E4C @ =gUnknown_8463FA7
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
str r6, [sp, 0x8]
adds r0, r1, 0
movs r1, 0
movs r3, 0
bl AddTextPrinterParameterized3
ldr r0, [r5]
adds r0, r4
ldrb r0, [r0]
bl PutWindowTilemap
add sp, 0xC
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08136E44: .4byte gUnknown_203B140
_08136E48: .4byte 0x00003001
_08136E4C: .4byte gUnknown_8463FA7
thumb_func_end sub_8136DF0
thumb_func_start sub_8136E50
sub_8136E50: @ 8136E50
push {r4-r7,lr}
sub sp, 0xC
ldr r6, _08136EEC @ =gUnknown_203B140
ldr r0, [r6]
ldr r7, _08136EF0 @ =0x00003002
adds r0, r7
ldrb r0, [r0]
movs r1, 0
bl FillWindowPixelBuffer
ldr r2, [r6]
movs r1, 0xC8
lsls r1, 6
adds r0, r2, r1
ldrb r5, [r0]
cmp r5, 0
bne _08136F28
ldr r3, _08136EF4 @ =0x00003214
adds r0, r2, r3
ldrb r0, [r0]
cmp r0, 0x3
beq _08136E9A
adds r0, r2, r7
ldrb r0, [r0]
ldr r1, _08136EF8 @ =gUnknown_8463FA7
str r1, [sp]
movs r1, 0x1
negs r1, r1
str r1, [sp, 0x4]
ldr r3, _08136EFC @ =0x00003088
adds r1, r2, r3
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0x4
movs r3, 0x2
bl AddTextPrinterParameterized3
_08136E9A:
ldr r2, [r6]
adds r0, r2, r7
ldrb r0, [r0]
ldr r4, _08136EF8 @ =gUnknown_8463FA7
str r4, [sp]
movs r1, 0x1
negs r1, r1
str r1, [sp, 0x4]
ldr r1, _08136F00 @ =0x00003034
adds r2, r1
str r2, [sp, 0x8]
movs r1, 0x2
movs r2, 0x28
movs r3, 0x2
bl AddTextPrinterParameterized3
ldr r0, [r6]
ldr r3, _08136F04 @ =0x00003290
adds r0, r3
bl GetMonGender
lsls r0, 24
lsrs r0, 24
cmp r0, 0xFE
bne _08136F0C
ldr r2, [r6]
adds r0, r2, r7
ldrb r0, [r0]
adds r1, r4, 0x6
str r1, [sp]
str r5, [sp, 0x4]
ldr r1, _08136F08 @ =0x00003084
adds r2, r1
str r2, [sp, 0x8]
movs r1, 0x2
movs r2, 0x69
movs r3, 0x2
bl AddTextPrinterParameterized3
b _08136F28
.align 2, 0
_08136EEC: .4byte gUnknown_203B140
_08136EF0: .4byte 0x00003002
_08136EF4: .4byte 0x00003214
_08136EF8: .4byte gUnknown_8463FA7
_08136EFC: .4byte 0x00003088
_08136F00: .4byte 0x00003034
_08136F04: .4byte 0x00003290
_08136F08: .4byte 0x00003084
_08136F0C:
ldr r2, [r6]
adds r0, r2, r7
ldrb r0, [r0]
adds r1, r4, 0x3
str r1, [sp]
str r5, [sp, 0x4]
ldr r3, _08136F40 @ =0x00003084
adds r2, r3
str r2, [sp, 0x8]
movs r1, 0x2
movs r2, 0x69
movs r3, 0x2
bl AddTextPrinterParameterized3
_08136F28:
ldr r0, _08136F44 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08136F48 @ =0x00003002
adds r0, r1
ldrb r0, [r0]
bl PutWindowTilemap
add sp, 0xC
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08136F40: .4byte 0x00003084
_08136F44: .4byte gUnknown_203B140
_08136F48: .4byte 0x00003002
thumb_func_end sub_8136E50
thumb_func_start sub_8136F4C
sub_8136F4C: @ 8136F4C
push {r4,lr}
ldr r4, _08136F74 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _08136F78 @ =0x00003003
adds r0, r1
ldrb r0, [r0]
movs r1, 0
bl FillWindowPixelBuffer
ldr r0, [r4]
ldr r1, _08136F7C @ =0x00003214
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x1
beq _08136F90
cmp r0, 0x1
bgt _08136F80
cmp r0, 0
beq _08136F8A
b _08136F94
.align 2, 0
_08136F74: .4byte gUnknown_203B140
_08136F78: .4byte 0x00003003
_08136F7C: .4byte 0x00003214
_08136F80:
cmp r0, 0x3
bgt _08136F94
bl sub_8137270
b _08136F94
_08136F8A:
bl sub_8136FB0
b _08136F94
_08136F90:
bl sub_81370EC
_08136F94:
ldr r0, _08136FA8 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08136FAC @ =0x00003003
adds r0, r1
ldrb r0, [r0]
bl PutWindowTilemap
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08136FA8: .4byte gUnknown_203B140
_08136FAC: .4byte 0x00003003
thumb_func_end sub_8136F4C
thumb_func_start sub_8136FB0
sub_8136FB0: @ 8136FB0
push {r4-r7,lr}
sub sp, 0xC
ldr r6, _08137060 @ =gUnknown_203B140
ldr r1, [r6]
ldr r2, _08137064 @ =0x00003003
adds r0, r1, r2
ldrb r0, [r0]
ldr r5, _08137068 @ =gUnknown_8463FA4
str r5, [sp]
movs r4, 0x1
negs r4, r4
str r4, [sp, 0x4]
ldr r7, _0813706C @ =0x00003028
adds r1, r7
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0x2F
movs r3, 0x13
bl AddTextPrinterParameterized3
ldr r3, [r6]
movs r1, 0xC8
lsls r1, 6
adds r0, r3, r1
ldrb r0, [r0]
cmp r0, 0
bne _08137074
ldr r2, _08137064 @ =0x00003003
adds r0, r3, r2
ldrb r0, [r0]
ldr r1, _08137070 @ =gUnknown_203B144
ldr r1, [r1]
ldrb r2, [r1]
adds r2, 0x2F
lsls r2, 24
lsrs r2, 24
str r5, [sp]
str r4, [sp, 0x4]
adds r7, 0x3C
adds r1, r3, r7
str r1, [sp, 0x8]
movs r1, 0x2
movs r3, 0x5
bl AddTextPrinterParameterized3
ldr r1, [r6]
ldr r2, _08137064 @ =0x00003003
adds r0, r1, r2
ldrb r0, [r0]
str r5, [sp]
str r4, [sp, 0x4]
subs r7, 0x24
adds r1, r7
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0x2F
movs r3, 0x31
bl AddTextPrinterParameterized3
ldr r1, [r6]
ldr r2, _08137064 @ =0x00003003
adds r0, r1, r2
ldrb r0, [r0]
str r5, [sp]
str r4, [sp, 0x4]
adds r7, 0x2C
adds r1, r7
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0x2F
movs r3, 0x40
bl AddTextPrinterParameterized3
ldr r1, [r6]
ldr r2, _08137064 @ =0x00003003
adds r0, r1, r2
ldrb r0, [r0]
str r5, [sp]
str r4, [sp, 0x4]
adds r7, 0x8
adds r1, r7
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0x2F
movs r3, 0x4F
bl AddTextPrinterParameterized3
b _081370CA
.align 2, 0
_08137060: .4byte gUnknown_203B140
_08137064: .4byte 0x00003003
_08137068: .4byte gUnknown_8463FA4
_0813706C: .4byte 0x00003028
_08137070: .4byte gUnknown_203B144
_08137074:
ldr r1, _081370D4 @ =0x00003290
adds r0, r3, r1
movs r1, 0x20
bl GetMonData
lsls r0, 24
lsrs r0, 24
movs r3, 0x3
cmp r0, 0x5
bls _08137096
movs r3, 0x2
cmp r0, 0xA
bls _08137096
movs r3, 0
cmp r0, 0x28
bhi _08137096
movs r3, 0x1
_08137096:
ldr r0, _081370D8 @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _081370DC @ =0x00003204
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
beq _081370A6
movs r3, 0
_081370A6:
ldr r7, _081370E0 @ =0x00003003
adds r0, r1, r7
ldrb r0, [r0]
ldr r1, _081370E4 @ =gUnknown_8463FA4
str r1, [sp]
movs r1, 0x1
negs r1, r1
str r1, [sp, 0x4]
ldr r2, _081370E8 @ =gUnknown_8463EC4
lsls r1, r3, 2
adds r1, r2
ldr r1, [r1]
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0x7
movs r3, 0x2D
bl AddTextPrinterParameterized3
_081370CA:
add sp, 0xC
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_081370D4: .4byte 0x00003290
_081370D8: .4byte gUnknown_203B140
_081370DC: .4byte 0x00003204
_081370E0: .4byte 0x00003003
_081370E4: .4byte gUnknown_8463FA4
_081370E8: .4byte gUnknown_8463EC4
thumb_func_end sub_8136FB0
thumb_func_start sub_81370EC
sub_81370EC: @ 81370EC
push {r4-r6,lr}
mov r6, r9
mov r5, r8
push {r5,r6}
sub sp, 0xC
ldr r0, _08137240 @ =gUnknown_203B140
mov r9, r0
ldr r3, [r0]
ldr r4, _08137244 @ =0x00003003
adds r0, r3, r4
ldrb r0, [r0]
ldr r1, _08137248 @ =gUnknown_203B144
mov r8, r1
ldr r1, [r1]
ldrb r2, [r1, 0x2]
adds r2, 0xE
lsls r2, 24
lsrs r2, 24
ldr r6, _0813724C @ =gUnknown_8463FA4
str r6, [sp]
movs r5, 0x1
negs r5, r5
str r5, [sp, 0x4]
ldr r1, _08137250 @ =0x00003090
adds r3, r1
str r3, [sp, 0x8]
movs r1, 0x2
movs r3, 0x4
bl AddTextPrinterParameterized3
mov r2, r9
ldr r3, [r2]
adds r0, r3, r4
ldrb r0, [r0]
mov r2, r8
ldr r1, [r2]
ldrb r2, [r1, 0x4]
adds r2, 0x32
lsls r2, 24
lsrs r2, 24
str r6, [sp]
str r5, [sp, 0x4]
ldr r1, _08137254 @ =0x0000309c
adds r3, r1
str r3, [sp, 0x8]
movs r1, 0x2
movs r3, 0x16
bl AddTextPrinterParameterized3
mov r2, r9
ldr r3, [r2]
adds r0, r3, r4
ldrb r0, [r0]
mov r2, r8
ldr r1, [r2]
ldrb r2, [r1, 0x6]
adds r2, 0x32
lsls r2, 24
lsrs r2, 24
str r6, [sp]
str r5, [sp, 0x4]
ldr r1, _08137258 @ =0x000030a1
adds r3, r1
str r3, [sp, 0x8]
movs r1, 0x2
movs r3, 0x23
bl AddTextPrinterParameterized3
mov r2, r9
ldr r3, [r2]
adds r0, r3, r4
ldrb r0, [r0]
mov r2, r8
ldr r1, [r2]
ldrb r2, [r1, 0x8]
adds r2, 0x32
lsls r2, 24
lsrs r2, 24
str r6, [sp]
str r5, [sp, 0x4]
ldr r1, _0813725C @ =0x000030a6
adds r3, r1
str r3, [sp, 0x8]
movs r1, 0x2
movs r3, 0x30
bl AddTextPrinterParameterized3
mov r2, r9
ldr r3, [r2]
adds r0, r3, r4
ldrb r0, [r0]
mov r2, r8
ldr r1, [r2]
ldrb r2, [r1, 0xA]
adds r2, 0x32
lsls r2, 24
lsrs r2, 24
str r6, [sp]
str r5, [sp, 0x4]
ldr r1, _08137260 @ =0x000030ab
adds r3, r1
str r3, [sp, 0x8]
movs r1, 0x2
movs r3, 0x3D
bl AddTextPrinterParameterized3
mov r2, r9
ldr r3, [r2]
adds r0, r3, r4
ldrb r0, [r0]
mov r2, r8
ldr r1, [r2]
ldrb r2, [r1, 0xC]
adds r2, 0x32
lsls r2, 24
lsrs r2, 24
str r6, [sp]
str r5, [sp, 0x4]
ldr r1, _08137264 @ =0x000030b0
adds r3, r1
str r3, [sp, 0x8]
movs r1, 0x2
movs r3, 0x4A
bl AddTextPrinterParameterized3
mov r2, r9
ldr r3, [r2]
adds r0, r3, r4
ldrb r0, [r0]
mov r2, r8
ldr r1, [r2]
ldrb r2, [r1, 0xE]
adds r2, 0xF
lsls r2, 24
lsrs r2, 24
str r6, [sp]
str r5, [sp, 0x4]
ldr r1, _08137268 @ =0x000031a4
adds r3, r1
str r3, [sp, 0x8]
movs r1, 0x2
movs r3, 0x57
bl AddTextPrinterParameterized3
mov r2, r9
ldr r3, [r2]
adds r4, r3, r4
ldrb r0, [r4]
mov r2, r8
ldr r1, [r2]
ldrb r2, [r1, 0x10]
adds r2, 0xF
lsls r2, 24
lsrs r2, 24
str r6, [sp]
str r5, [sp, 0x4]
ldr r1, _0813726C @ =0x000031b0
adds r3, r1
str r3, [sp, 0x8]
movs r1, 0x2
movs r3, 0x64
bl AddTextPrinterParameterized3
add sp, 0xC
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08137240: .4byte gUnknown_203B140
_08137244: .4byte 0x00003003
_08137248: .4byte gUnknown_203B144
_0813724C: .4byte gUnknown_8463FA4
_08137250: .4byte 0x00003090
_08137254: .4byte 0x0000309c
_08137258: .4byte 0x000030a1
_0813725C: .4byte 0x000030a6
_08137260: .4byte 0x000030ab
_08137264: .4byte 0x000030b0
_08137268: .4byte 0x000031a4
_0813726C: .4byte 0x000031b0
thumb_func_end sub_81370EC
thumb_func_start sub_8137270
sub_8137270: @ 8137270
push {r4,lr}
sub sp, 0xC
movs r4, 0
_08137276:
adds r0, r4, 0
bl sub_81372E4
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x3
bls _08137276
ldr r0, _081372A8 @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _081372AC @ =0x00003214
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x3
bne _081372CE
subs r2, 0xC
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x2
bne _081372B0
movs r0, 0x4
bl sub_81372E4
b _081372CE
.align 2, 0
_081372A8: .4byte gUnknown_203B140
_081372AC: .4byte 0x00003214
_081372B0:
ldr r2, _081372D8 @ =0x00003003
adds r0, r1, r2
ldrb r0, [r0]
ldr r1, _081372DC @ =gUnknown_8463EF0
str r1, [sp]
movs r1, 0x1
negs r1, r1
str r1, [sp, 0x4]
ldr r1, _081372E0 @ =gFameCheckerText_Cancel
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0x3
movs r3, 0x75
bl AddTextPrinterParameterized3
_081372CE:
add sp, 0xC
pop {r4}
pop {r0}
bx r0
.align 2, 0
_081372D8: .4byte 0x00003003
_081372DC: .4byte gUnknown_8463EF0
_081372E0: .4byte gFameCheckerText_Cancel
thumb_func_end sub_8137270
thumb_func_start sub_81372E4
sub_81372E4: @ 81372E4
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x10
lsls r0, 24
lsrs r7, r0, 24
movs r0, 0
mov r9, r0
ldr r1, _0813739C @ =gUnknown_203B140
mov r10, r1
ldr r0, [r1]
ldr r5, _081373A0 @ =0x00003290
adds r0, r5
adds r1, r7, 0
bl sub_8138C24
lsls r0, 24
lsrs r6, r0, 24
mov r2, r10
ldr r0, [r2]
lsls r3, r7, 1
str r3, [sp, 0xC]
ldr r2, _081373A4 @ =0x00003258
adds r1, r0, r2
adds r1, r3
ldrh r4, [r1]
adds r0, r5
movs r1, 0x15
bl GetMonData
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
adds r2, r7, 0
bl CalculatePPWithBonus
lsls r0, 24
mov r8, r0
lsrs r5, r0, 24
cmp r7, 0x4
bne _0813733E
adds r6, r5, 0
_0813733E:
mov r3, r10
ldr r2, [r3]
ldr r1, _081373A8 @ =0x00003003
adds r0, r2, r1
ldrb r0, [r0]
lsls r4, r7, 3
subs r3, r4, r7
lsls r3, 26
movs r1, 0xA0
lsls r1, 19
adds r3, r1
lsrs r3, 24
mov r12, r3
ldr r1, _081373AC @ =gUnknown_8463EF0
str r1, [sp]
movs r1, 0x1
negs r1, r1
str r1, [sp, 0x4]
movs r1, 0xD
muls r1, r7
ldr r3, _081373B0 @ =0x00003128
adds r1, r3
adds r2, r1
str r2, [sp, 0x8]
movs r1, 0x2
movs r2, 0x3
mov r3, r12
bl AddTextPrinterParameterized3
mov r1, r10
ldr r0, [r1]
ldr r2, _081373A4 @ =0x00003258
adds r0, r2
ldr r3, [sp, 0xC]
adds r0, r3
ldrh r0, [r0]
adds r1, r4, 0
cmp r0, 0
beq _081373EA
cmp r6, r5
beq _081373EA
cmp r6, 0
bne _081373B4
movs r5, 0x3
mov r9, r5
b _081373EA
.align 2, 0
_0813739C: .4byte gUnknown_203B140
_081373A0: .4byte 0x00003290
_081373A4: .4byte 0x00003258
_081373A8: .4byte 0x00003003
_081373AC: .4byte gUnknown_8463EF0
_081373B0: .4byte 0x00003128
_081373B4:
cmp r5, 0x3
bne _081373C6
cmp r6, 0x2
beq _081373D8
cmp r6, 0x1
bne _081373EA
movs r2, 0x1
mov r9, r2
b _081373EA
_081373C6:
cmp r5, 0x2
bne _081373D0
cmp r6, 0x1
bne _081373EA
b _081373E6
_081373D0:
mov r5, r8
lsrs r0, r5, 26
cmp r6, r0
bhi _081373DE
_081373D8:
movs r0, 0x2
mov r9, r0
b _081373EA
_081373DE:
mov r2, r8
lsrs r0, r2, 25
cmp r6, r0
bhi _081373EA
_081373E6:
movs r3, 0x1
mov r9, r3
_081373EA:
ldr r5, _081374C4 @ =gUnknown_203B140
mov r10, r5
ldr r0, [r5]
ldr r4, _081374C8 @ =0x00003003
adds r0, r4
ldrb r0, [r0]
subs r1, r7
lsls r1, 26
movs r2, 0x80
lsls r2, 21
adds r1, r2
lsrs r1, 24
mov r8, r1
mov r3, r9
lsls r1, r3, 1
add r1, r9
ldr r2, _081374CC @ =gUnknown_8463EF0
adds r6, r1, r2
str r6, [sp]
movs r5, 0x1
negs r5, r5
mov r9, r5
str r5, [sp, 0x4]
ldr r1, _081374D0 @ =gUnknown_8416238
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0x24
mov r3, r8
bl AddTextPrinterParameterized3
mov r0, r10
ldr r3, [r0]
adds r4, r3, r4
ldrb r0, [r4]
ldr r2, _081374D4 @ =gUnknown_203B144
ldr r1, [r2]
lsls r5, r7, 1
adds r1, 0x12
adds r1, r5
ldrb r2, [r1]
adds r2, 0x2E
lsls r2, 24
lsrs r2, 24
str r6, [sp]
mov r1, r9
str r1, [sp, 0x4]
movs r1, 0xB
adds r4, r7, 0
muls r4, r1
ldr r7, _081374D8 @ =0x000030b8
adds r1, r4, r7
adds r3, r1
str r3, [sp, 0x8]
movs r1, 0x2
mov r3, r8
bl AddTextPrinterParameterized3
mov r0, r10
ldr r1, [r0]
ldr r2, _081374DC @ =0x00003258
adds r0, r1, r2
adds r0, r5
ldrh r0, [r0]
cmp r0, 0
beq _081374B4
ldr r3, _081374C8 @ =0x00003003
adds r0, r1, r3
ldrb r0, [r0]
str r6, [sp]
mov r7, r9
str r7, [sp, 0x4]
ldr r1, _081374E0 @ =gUnknown_841620C
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0x3A
mov r3, r8
bl AddTextPrinterParameterized3
mov r0, r10
ldr r3, [r0]
ldr r1, _081374C8 @ =0x00003003
adds r0, r3, r1
ldrb r0, [r0]
ldr r2, _081374D4 @ =gUnknown_203B144
ldr r1, [r2]
adds r1, 0x1C
adds r1, r5
ldrb r2, [r1]
adds r2, 0x40
lsls r2, 24
lsrs r2, 24
str r6, [sp]
str r7, [sp, 0x4]
ldr r5, _081374E4 @ =0x000030f0
adds r1, r4, r5
adds r3, r1
str r3, [sp, 0x8]
movs r1, 0x2
mov r3, r8
bl AddTextPrinterParameterized3
_081374B4:
add sp, 0x10
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_081374C4: .4byte gUnknown_203B140
_081374C8: .4byte 0x00003003
_081374CC: .4byte gUnknown_8463EF0
_081374D0: .4byte gUnknown_8416238
_081374D4: .4byte gUnknown_203B144
_081374D8: .4byte 0x000030b8
_081374DC: .4byte 0x00003258
_081374E0: .4byte gUnknown_841620C
_081374E4: .4byte 0x000030f0
thumb_func_end sub_81372E4
thumb_func_start sub_81374E8
sub_81374E8: @ 81374E8
push {r4,lr}
ldr r4, _08137510 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _08137514 @ =0x00003004
adds r0, r1
ldrb r0, [r0]
movs r1, 0
bl FillWindowPixelBuffer
ldr r0, [r4]
ldr r1, _08137518 @ =0x00003214
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x1
beq _0813752C
cmp r0, 0x1
bgt _0813751C
cmp r0, 0
beq _08137526
b _08137536
.align 2, 0
_08137510: .4byte gUnknown_203B140
_08137514: .4byte 0x00003004
_08137518: .4byte 0x00003214
_0813751C:
cmp r0, 0x2
beq _08137536
cmp r0, 0x3
beq _08137532
b _08137536
_08137526:
bl sub_8137554
b _08137536
_0813752C:
bl sub_8137A90
b _08137536
_08137532:
bl sub_8137AF8
_08137536:
ldr r0, _0813754C @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08137550 @ =0x00003004
adds r0, r1
ldrb r0, [r0]
bl PutWindowTilemap
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813754C: .4byte gUnknown_203B140
_08137550: .4byte 0x00003004
thumb_func_end sub_81374E8
thumb_func_start sub_8137554
sub_8137554: @ 8137554
push {lr}
ldr r0, _0813756C @ =gUnknown_203B140
ldr r0, [r0]
movs r1, 0xC8
lsls r1, 6
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _08137570
bl sub_8137944
b _08137574
.align 2, 0
_0813756C: .4byte gUnknown_203B140
_08137570:
bl sub_8137970
_08137574:
pop {r0}
bx r0
thumb_func_end sub_8137554
thumb_func_start sub_8137578
sub_8137578: @ 8137578
push {r4-r7,lr}
sub sp, 0xD4
bl DynamicPlaceholderTextUtil_Reset
ldr r7, _081375E8 @ =gUnknown_203B140
ldr r0, [r7]
ldr r4, _081375EC @ =0x00003290
adds r0, r4
bl GetNature
lsls r0, 24
lsrs r6, r0, 24
ldr r1, _081375F0 @ =gUnknown_8463E60
lsls r0, r6, 2
adds r0, r1
ldr r1, [r0]
movs r0, 0
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r7]
adds r0, r4
movs r1, 0x24
bl GetMonData
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
bne _081375B2
movs r1, 0x5
_081375B2:
add r0, sp, 0x14
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
movs r0, 0x1
add r1, sp, 0x14
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r7]
adds r0, r4
movs r1, 0x23
bl GetMonData
lsls r0, 24
lsrs r5, r0, 24
adds r0, r5, 0
bl sub_813B838
cmp r0, 0x1
bne _081375F4
add r4, sp, 0x1C
adds r0, r4, 0
adds r1, r5, 0
bl sub_80C4E08
b _08137626
.align 2, 0
_081375E8: .4byte gUnknown_203B140
_081375EC: .4byte 0x00003290
_081375F0: .4byte gUnknown_8463E60
_081375F4:
ldr r0, [r7]
ldr r1, _08137614 @ =0x00003024
adds r0, r1
ldr r0, [r0]
cmp r0, 0x1
beq _08137608
bl sub_8138B4C
cmp r0, 0x1
bne _0813761C
_08137608:
add r4, sp, 0x1C
ldr r1, _08137618 @ =gUnknown_8419C13
adds r0, r4, 0
bl StringCopy
b _08137626
.align 2, 0
_08137614: .4byte 0x00003024
_08137618: .4byte gUnknown_8419C13
_0813761C:
add r4, sp, 0x1C
ldr r1, _08137660 @ =gUnknown_8419C0B
adds r0, r4, 0
bl StringCopy
_08137626:
adds r1, r4, 0
movs r0, 0x2
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r4, _08137664 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _08137668 @ =0x00003290
adds r0, r1
movs r1, 0x24
bl GetMonData
cmp r0, 0
bne _0813769C
ldr r0, [r4]
ldr r1, _08137668 @ =0x00003290
adds r0, r1
movs r1, 0x50
bl GetMonData
cmp r0, 0x1
bne _0813767C
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
beq _08137670
add r4, sp, 0x3C
ldr r1, _0813766C @ =gUnknown_841996D
b _081376CE
.align 2, 0
_08137660: .4byte gUnknown_8419C0B
_08137664: .4byte gUnknown_203B140
_08137668: .4byte 0x00003290
_0813766C: .4byte gUnknown_841996D
_08137670:
add r4, sp, 0x3C
ldr r1, _08137678 @ =gUnknown_841992F
b _081376CE
.align 2, 0
_08137678: .4byte gUnknown_841992F
_0813767C:
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
beq _08137690
add r4, sp, 0x3C
ldr r1, _0813768C @ =gUnknown_84198D5
b _081376CE
.align 2, 0
_0813768C: .4byte gUnknown_84198D5
_08137690:
add r4, sp, 0x3C
ldr r1, _08137698 @ =gUnknown_84198B4
b _081376CE
.align 2, 0
_08137698: .4byte gUnknown_84198B4
_0813769C:
cmp r5, 0xFF
bne _081376C0
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
beq _081376B4
add r4, sp, 0x3C
ldr r1, _081376B0 @ =gUnknown_84197ED
b _081376CE
.align 2, 0
_081376B0: .4byte gUnknown_84197ED
_081376B4:
add r4, sp, 0x3C
ldr r1, _081376BC @ =gUnknown_84197B8
b _081376CE
.align 2, 0
_081376BC: .4byte gUnknown_84197B8
_081376C0:
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
beq _081376DC
add r4, sp, 0x3C
ldr r1, _081376D8 @ =gUnknown_8419841
_081376CE:
adds r0, r4, 0
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
b _081376E6
.align 2, 0
_081376D8: .4byte gUnknown_8419841
_081376DC:
add r4, sp, 0x3C
ldr r1, _08137714 @ =gUnknown_8419822
adds r0, r4, 0
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
_081376E6:
ldr r0, _08137718 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _0813771C @ =0x00003004
adds r0, r1
ldrb r0, [r0]
movs r1, 0
str r1, [sp]
str r1, [sp, 0x4]
ldr r1, _08137720 @ =gUnknown_8463FA4
str r1, [sp, 0x8]
movs r1, 0x1
negs r1, r1
str r1, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x2
movs r2, 0
movs r3, 0x3
bl AddTextPrinterParameterized4
add sp, 0xD4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08137714: .4byte gUnknown_8419822
_08137718: .4byte gUnknown_203B140
_0813771C: .4byte 0x00003004
_08137720: .4byte gUnknown_8463FA4
thumb_func_end sub_8137578
thumb_func_start sub_8137724
sub_8137724: @ 8137724
push {r4-r6,lr}
sub sp, 0xD4
bl DynamicPlaceholderTextUtil_Reset
ldr r5, _081377A0 @ =gUnknown_203B140
ldr r0, [r5]
ldr r4, _081377A4 @ =0x00003290
adds r0, r4
bl GetNature
lsls r0, 24
lsrs r6, r0, 24
ldr r1, _081377A8 @ =gUnknown_8463E60
lsls r0, r6, 2
adds r0, r1
ldr r1, [r0]
movs r0, 0
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r5]
adds r0, r4
movs r1, 0x24
bl GetMonData
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
bne _0813775E
movs r1, 0x5
_0813775E:
add r0, sp, 0x14
movs r2, 0
movs r3, 0x3
bl ConvertIntToDecimalStringN
movs r0, 0x1
add r1, sp, 0x14
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r5]
adds r0, r4
movs r1, 0x23
bl GetMonData
lsls r0, 24
lsrs r5, r0, 24
adds r0, r5, 0
bl sub_813B838
cmp r0, 0
beq _08137790
bl sub_813B7F8
cmp r0, 0
bne _08137830
_08137790:
bl sub_8138B4C
cmp r0, 0x1
bne _081377AC
bl sub_8137578
b _0813792C
.align 2, 0
_081377A0: .4byte gUnknown_203B140
_081377A4: .4byte 0x00003290
_081377A8: .4byte gUnknown_8463E60
_081377AC:
cmp r5, 0xFF
bne _081377D0
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
beq _081377C4
add r4, sp, 0x3C
ldr r1, _081377C0 @ =gUnknown_84197ED
b _081377DE
.align 2, 0
_081377C0: .4byte gUnknown_84197ED
_081377C4:
add r4, sp, 0x3C
ldr r1, _081377CC @ =gUnknown_84197B8
b _081377DE
.align 2, 0
_081377CC: .4byte gUnknown_84197B8
_081377D0:
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
beq _081377EC
add r4, sp, 0x3C
ldr r1, _081377E8 @ =gUnknown_841979D
_081377DE:
adds r0, r4, 0
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
b _081377F6
.align 2, 0
_081377E8: .4byte gUnknown_841979D
_081377EC:
add r4, sp, 0x3C
ldr r1, _08137820 @ =gUnknown_8419782
adds r0, r4, 0
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
_081377F6:
ldr r0, _08137824 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08137828 @ =0x00003004
adds r0, r1
ldrb r0, [r0]
movs r1, 0
str r1, [sp]
str r1, [sp, 0x4]
ldr r1, _0813782C @ =gUnknown_8463FA4
str r1, [sp, 0x8]
movs r1, 0x1
negs r1, r1
str r1, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x2
movs r2, 0
movs r3, 0x3
bl AddTextPrinterParameterized4
b _0813792C
.align 2, 0
_08137820: .4byte gUnknown_8419782
_08137824: .4byte gUnknown_203B140
_08137828: .4byte 0x00003004
_0813782C: .4byte gUnknown_8463FA4
_08137830:
adds r0, r5, 0
bl sub_813B838
cmp r0, 0x1
bne _08137846
add r4, sp, 0x1C
adds r0, r4, 0
adds r1, r5, 0
bl sub_80C4E08
b _08137850
_08137846:
add r4, sp, 0x1C
ldr r1, _0813788C @ =gUnknown_8419C0B
adds r0, r4, 0
bl StringCopy
_08137850:
adds r1, r4, 0
movs r0, 0x2
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r4, _08137890 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _08137894 @ =0x00003290
adds r0, r1
movs r1, 0x24
bl GetMonData
cmp r0, 0
bne _081378BC
ldr r0, [r4]
ldr r1, _08137894 @ =0x00003290
adds r0, r1
movs r1, 0x50
bl GetMonData
cmp r0, 0x1
bne _081378A8
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
beq _0813789C
add r4, sp, 0x3C
ldr r1, _08137898 @ =gUnknown_84199F4
b _081378EE
.align 2, 0
_0813788C: .4byte gUnknown_8419C0B
_08137890: .4byte gUnknown_203B140
_08137894: .4byte 0x00003290
_08137898: .4byte gUnknown_84199F4
_0813789C:
add r4, sp, 0x3C
ldr r1, _081378A4 @ =gUnknown_84199AB
b _081378EE
.align 2, 0
_081378A4: .4byte gUnknown_84199AB
_081378A8:
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
bne _081378EA
add r4, sp, 0x3C
ldr r1, _081378B8 @ =gUnknown_8419860
b _081378EE
.align 2, 0
_081378B8: .4byte gUnknown_8419860
_081378BC:
cmp r5, 0xFF
bne _081378E0
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
beq _081378D4
add r4, sp, 0x3C
ldr r1, _081378D0 @ =gUnknown_84197ED
b _081378EE
.align 2, 0
_081378D0: .4byte gUnknown_84197ED
_081378D4:
add r4, sp, 0x3C
ldr r1, _081378DC @ =gUnknown_84197B8
b _081378EE
.align 2, 0
_081378DC: .4byte gUnknown_84197B8
_081378E0:
adds r0, r6, 0
bl sub_813B7E0
cmp r0, 0
beq _081378FC
_081378EA:
add r4, sp, 0x3C
ldr r1, _081378F8 @ =gUnknown_841988A
_081378EE:
adds r0, r4, 0
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
b _08137906
.align 2, 0
_081378F8: .4byte gUnknown_841988A
_081378FC:
add r4, sp, 0x3C
ldr r1, _08137934 @ =gUnknown_8419860
adds r0, r4, 0
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
_08137906:
ldr r0, _08137938 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _0813793C @ =0x00003004
adds r0, r1
ldrb r0, [r0]
movs r1, 0
str r1, [sp]
str r1, [sp, 0x4]
ldr r1, _08137940 @ =gUnknown_8463FA4
str r1, [sp, 0x8]
movs r1, 0x1
negs r1, r1
str r1, [sp, 0xC]
str r4, [sp, 0x10]
movs r1, 0x2
movs r2, 0
movs r3, 0x3
bl AddTextPrinterParameterized4
_0813792C:
add sp, 0xD4
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08137934: .4byte gUnknown_8419860
_08137938: .4byte gUnknown_203B140
_0813793C: .4byte 0x00003004
_08137940: .4byte gUnknown_8463FA4
thumb_func_end sub_8137724
thumb_func_start sub_8137944
sub_8137944: @ 8137944
push {lr}
ldr r0, _08137960 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08137964 @ =0x00003290
adds r0, r1
bl sub_813847C
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08137968
bl sub_8137578
b _0813796C
.align 2, 0
_08137960: .4byte gUnknown_203B140
_08137964: .4byte 0x00003290
_08137968:
bl sub_8137724
_0813796C:
pop {r0}
bx r0
thumb_func_end sub_8137944
thumb_func_start sub_8137970
sub_8137970: @ 8137970
push {r4-r7,lr}
sub sp, 0x14
movs r5, 0
ldr r7, _081379C4 @ =gUnknown_203B140
ldr r0, [r7]
ldr r6, _081379C8 @ =0x00003290
adds r0, r6
movs r1, 0x23
bl GetMonData
lsls r0, 24
lsrs r4, r0, 24
ldr r2, [r7]
ldr r1, _081379CC @ =0x000032f4
adds r0, r2, r1
ldr r1, [r0]
ldr r0, _081379D0 @ =gEnemyParty
cmp r1, r0
beq _081379E4
cmp r4, 0xFF
beq _081379F4
adds r0, r2, r6
movs r1, 0x50
bl GetMonData
cmp r0, 0x1
beq _081379F4
ldr r0, [r7]
adds r0, r6
movs r1, 0x25
bl GetMonData
lsls r0, 24
movs r2, 0xFC
lsls r2, 24
adds r0, r2
lsrs r0, 24
cmp r0, 0x1
bls _081379D4
movs r5, 0x1
b _081379DE
.align 2, 0
_081379C4: .4byte gUnknown_203B140
_081379C8: .4byte 0x00003290
_081379CC: .4byte 0x000032f4
_081379D0: .4byte gEnemyParty
_081379D4:
cmp r4, 0xFD
bne _081379DA
movs r5, 0x2
_081379DA:
cmp r5, 0
beq _08137A1E
_081379DE:
cmp r5, 0x2
bne _08137A36
b _08137A1E
_081379E4:
cmp r4, 0xFF
beq _081379F4
adds r0, r2, r6
movs r1, 0x50
bl GetMonData
cmp r0, 0x1
bne _081379F8
_081379F4:
movs r5, 0x4
b _08137A36
_081379F8:
ldr r0, [r7]
adds r0, r6
movs r1, 0x25
bl GetMonData
lsls r0, 24
movs r2, 0xFC
lsls r2, 24
adds r0, r2
lsrs r0, 24
cmp r0, 0x1
bls _08137A18
cmp r4, 0xFD
bne _08137A1E
movs r5, 0x5
b _08137A1E
_08137A18:
cmp r4, 0xFD
bne _08137A1E
movs r5, 0x2
_08137A1E:
ldr r0, _08137A78 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08137A7C @ =0x00003290
adds r0, r1
bl sub_813847C
lsls r0, 24
cmp r0, 0
bne _08137A36
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
_08137A36:
ldr r0, _08137A78 @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _08137A80 @ =0x00003204
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
beq _08137A46
movs r5, 0
_08137A46:
ldr r2, _08137A84 @ =0x00003004
adds r0, r1, r2
ldrb r0, [r0]
movs r1, 0
str r1, [sp]
str r1, [sp, 0x4]
ldr r1, _08137A88 @ =gUnknown_8463FA4
str r1, [sp, 0x8]
movs r1, 0x1
negs r1, r1
str r1, [sp, 0xC]
ldr r2, _08137A8C @ =gUnknown_8463ED4
lsls r1, r5, 2
adds r1, r2
ldr r1, [r1]
str r1, [sp, 0x10]
movs r1, 0x2
movs r2, 0
movs r3, 0x3
bl AddTextPrinterParameterized4
add sp, 0x14
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08137A78: .4byte gUnknown_203B140
_08137A7C: .4byte 0x00003290
_08137A80: .4byte 0x00003204
_08137A84: .4byte 0x00003004
_08137A88: .4byte gUnknown_8463FA4
_08137A8C: .4byte gUnknown_8463ED4
thumb_func_end sub_8137970
thumb_func_start sub_8137A90
sub_8137A90: @ 8137A90
push {r4-r6,lr}
mov r6, r8
push {r6}
sub sp, 0xC
ldr r0, _08137AE4 @ =gUnknown_203B140
mov r8, r0
ldr r0, [r0]
ldr r6, _08137AE8 @ =0x00003004
adds r0, r6
ldrb r0, [r0]
ldr r5, _08137AEC @ =gUnknown_8463FA4
str r5, [sp]
movs r4, 0x1
negs r4, r4
str r4, [sp, 0x4]
ldr r1, _08137AF0 @ =gUnknown_8419C4D
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0x1A
movs r3, 0x7
bl AddTextPrinterParameterized3
mov r1, r8
ldr r0, [r1]
adds r0, r6
ldrb r0, [r0]
str r5, [sp]
str r4, [sp, 0x4]
ldr r1, _08137AF4 @ =gUnknown_8419C59
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0x1A
movs r3, 0x14
bl AddTextPrinterParameterized3
add sp, 0xC
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08137AE4: .4byte gUnknown_203B140
_08137AE8: .4byte 0x00003004
_08137AEC: .4byte gUnknown_8463FA4
_08137AF0: .4byte gUnknown_8419C4D
_08137AF4: .4byte gUnknown_8419C59
thumb_func_end sub_8137A90
thumb_func_start sub_8137AF8
sub_8137AF8: @ 8137AF8
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x14
ldr r0, _08137BAC @ =gUnknown_203B16D
mov r8, r0
ldrb r1, [r0]
cmp r1, 0x4
bhi _08137B9E
ldr r7, _08137BB0 @ =gUnknown_203B140
ldr r3, [r7]
ldr r2, _08137BB4 @ =0x00003208
adds r0, r3, r2
ldrb r0, [r0]
cmp r0, 0x2
beq _08137B1C
cmp r1, 0x4
beq _08137B9E
_08137B1C:
ldr r4, _08137BB8 @ =0x00003004
adds r0, r3, r4
ldrb r0, [r0]
ldr r6, _08137BBC @ =gUnknown_8463FA4
str r6, [sp]
movs r5, 0x1
negs r5, r5
str r5, [sp, 0x4]
mov r1, r8
ldrb r2, [r1]
lsls r1, r2, 2
adds r1, r2
ldr r2, _08137BC0 @ =0x0000316c
adds r1, r2
adds r1, r3, r1
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0x39
movs r3, 0x1
bl AddTextPrinterParameterized3
ldr r3, [r7]
adds r0, r3, r4
ldrb r0, [r0]
str r6, [sp]
str r5, [sp, 0x4]
mov r1, r8
ldrb r2, [r1]
lsls r1, r2, 2
adds r1, r2
ldr r2, _08137BC4 @ =0x00003188
adds r1, r2
adds r3, r1
str r3, [sp, 0x8]
movs r1, 0x2
movs r2, 0x39
movs r3, 0xF
bl AddTextPrinterParameterized3
ldr r2, [r7]
adds r4, r2, r4
ldrb r0, [r4]
movs r1, 0
str r1, [sp]
str r1, [sp, 0x4]
str r6, [sp, 0x8]
str r5, [sp, 0xC]
ldr r3, _08137BC8 @ =gUnknown_84886E8
mov r4, r8
ldrb r1, [r4]
lsls r1, 1
ldr r4, _08137BCC @ =0x00003258
adds r2, r4
adds r2, r1
ldrh r1, [r2]
subs r1, 0x1
lsls r1, 2
adds r1, r3
ldr r1, [r1]
str r1, [sp, 0x10]
movs r1, 0x2
movs r2, 0x7
movs r3, 0x2A
bl AddTextPrinterParameterized4
_08137B9E:
add sp, 0x14
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08137BAC: .4byte gUnknown_203B16D
_08137BB0: .4byte gUnknown_203B140
_08137BB4: .4byte 0x00003208
_08137BB8: .4byte 0x00003004
_08137BBC: .4byte gUnknown_8463FA4
_08137BC0: .4byte 0x0000316c
_08137BC4: .4byte 0x00003188
_08137BC8: .4byte gUnknown_84886E8
_08137BCC: .4byte 0x00003258
thumb_func_end sub_8137AF8
thumb_func_start sub_8137BD0
sub_8137BD0: @ 8137BD0
push {lr}
ldr r0, _08137BE8 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08137BEC @ =0x00003214
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x1
bne _08137BF0
bl sub_8137C18
b _08137BFC
.align 2, 0
_08137BE8: .4byte gUnknown_203B140
_08137BEC: .4byte 0x00003214
_08137BF0:
cmp r0, 0x1
ble _08137BFC
cmp r0, 0x3
bgt _08137BFC
bl sub_8137C90
_08137BFC:
ldr r0, _08137C10 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08137C14 @ =0x00003005
adds r0, r1
ldrb r0, [r0]
bl PutWindowTilemap
pop {r0}
bx r0
.align 2, 0
_08137C10: .4byte gUnknown_203B140
_08137C14: .4byte 0x00003005
thumb_func_end sub_8137BD0
thumb_func_start sub_8137C18
sub_8137C18: @ 8137C18
push {r4-r6,lr}
mov r6, r8
push {r6}
sub sp, 0xC
ldr r5, _08137C7C @ =gUnknown_203B140
ldr r0, [r5]
ldr r4, _08137C80 @ =0x00003005
adds r0, r4
ldrb r0, [r0]
movs r1, 0
bl FillWindowPixelBuffer
ldr r1, [r5]
adds r0, r1, r4
ldrb r0, [r0]
ldr r2, _08137C84 @ =gUnknown_8463FA4
mov r8, r2
str r2, [sp]
movs r6, 0x1
negs r6, r6
str r6, [sp, 0x4]
ldr r2, _08137C88 @ =0x000031bc
adds r1, r2
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0x42
movs r3, 0x1
bl AddTextPrinterParameterized3
ldr r1, [r5]
adds r4, r1, r4
ldrb r0, [r4]
mov r2, r8
str r2, [sp]
str r6, [sp, 0x4]
ldr r2, _08137C8C @ =0x000031cc
adds r1, r2
str r1, [sp, 0x8]
movs r1, 0x2
movs r2, 0x2
movs r3, 0xF
bl AddTextPrinterParameterized3
add sp, 0xC
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08137C7C: .4byte gUnknown_203B140
_08137C80: .4byte 0x00003005
_08137C84: .4byte gUnknown_8463FA4
_08137C88: .4byte 0x000031bc
_08137C8C: .4byte 0x000031cc
thumb_func_end sub_8137C18
thumb_func_start sub_8137C90
sub_8137C90: @ 8137C90
push {r4,r5,lr}
ldr r0, _08137D14 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08137D18 @ =0x00003005
adds r0, r1
ldrb r0, [r0]
movs r1, 0
bl FillWindowPixelBuffer
movs r4, 0
_08137CA4:
ldr r5, _08137D14 @ =gUnknown_203B140
ldr r1, [r5]
lsls r2, r4, 1
ldr r3, _08137D1C @ =0x00003258
adds r0, r1, r3
adds r0, r2
ldrh r0, [r0]
cmp r0, 0
beq _08137CDE
ldr r3, _08137D18 @ =0x00003005
adds r0, r1, r3
ldrb r0, [r0]
ldr r3, _08137D20 @ =0x0000324e
adds r1, r3
adds r1, r2
ldrb r1, [r1]
adds r1, 0x1
lsls r1, 24
lsrs r1, 24
lsls r3, r4, 3
subs r3, r4
lsls r3, 18
movs r2, 0xA0
lsls r2, 11
adds r3, r2
lsrs r3, 16
movs r2, 0x3
bl BlitMoveInfoIcon
_08137CDE:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x3
bls _08137CA4
ldr r1, [r5]
ldr r3, _08137D24 @ =0x00003208
adds r0, r1, r3
ldrb r0, [r0]
cmp r0, 0x2
bne _08137D0E
ldr r2, _08137D18 @ =0x00003005
adds r0, r1, r2
ldrb r0, [r0]
adds r3, 0x4E
adds r1, r3
ldrb r1, [r1]
adds r1, 0x1
lsls r1, 24
lsrs r1, 24
movs r2, 0x3
movs r3, 0x75
bl BlitMoveInfoIcon
_08137D0E:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08137D14: .4byte gUnknown_203B140
_08137D18: .4byte 0x00003005
_08137D1C: .4byte 0x00003258
_08137D20: .4byte 0x0000324e
_08137D24: .4byte 0x00003208
thumb_func_end sub_8137C90
thumb_func_start sub_8137D28
sub_8137D28: @ 8137D28
push {lr}
lsls r0, 24
lsrs r0, 24
cmp r0, 0x5
bhi _08137E16
lsls r0, 2
ldr r1, _08137D3C @ =_08137D40
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08137D3C: .4byte _08137D40
.align 2, 0
_08137D40:
.4byte _08137D58
.4byte _08137D8C
.4byte _08137DA4
.4byte _08137DBC
.4byte _08137E16
.4byte _08137E04
_08137D58:
ldr r0, _08137D78 @ =gUnknown_8419C1D
bl sub_8136DA4
ldr r0, _08137D7C @ =gUnknown_203B140
ldr r0, [r0]
movs r1, 0xC8
lsls r1, 6
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _08137D84
ldr r0, _08137D80 @ =gUnknown_8419C62
bl sub_8136DF0
b _08137DF2
.align 2, 0
_08137D78: .4byte gUnknown_8419C1D
_08137D7C: .4byte gUnknown_203B140
_08137D80: .4byte gUnknown_8419C62
_08137D84:
ldr r0, _08137D88 @ =gUnknown_8419C72
b _08137DEE
.align 2, 0
_08137D88: .4byte gUnknown_8419C72
_08137D8C:
ldr r0, _08137D9C @ =gUnknown_8419C2A
bl sub_8136DA4
ldr r0, _08137DA0 @ =gUnknown_8419C7B
bl sub_8136DF0
b _08137DF2
.align 2, 0
_08137D9C: .4byte gUnknown_8419C2A
_08137DA0: .4byte gUnknown_8419C7B
_08137DA4:
ldr r0, _08137DB4 @ =gUnknown_8419C39
bl sub_8136DA4
ldr r0, _08137DB8 @ =gUnknown_8419C82
bl sub_8136DF0
b _08137DF2
.align 2, 0
_08137DB4: .4byte gUnknown_8419C39
_08137DB8: .4byte gUnknown_8419C82
_08137DBC:
ldr r0, _08137DDC @ =gUnknown_8419C39
bl sub_8136DA4
ldr r0, _08137DE0 @ =gMain
ldr r1, _08137DE4 @ =0x00000439
adds r0, r1
ldrb r1, [r0]
movs r0, 0x2
ands r0, r1
cmp r0, 0
bne _08137DEC
ldr r0, _08137DE8 @ =gUnknown_8419C92
bl sub_8136DF0
b _08137DF2
.align 2, 0
_08137DDC: .4byte gUnknown_8419C39
_08137DE0: .4byte gMain
_08137DE4: .4byte 0x00000439
_08137DE8: .4byte gUnknown_8419C92
_08137DEC:
ldr r0, _08137DFC @ =gUnknown_8419CA2
_08137DEE:
bl sub_8136DF0
_08137DF2:
ldr r0, _08137E00 @ =gUnknown_8419C45
bl sub_8136E50
b _08137E16
.align 2, 0
_08137DFC: .4byte gUnknown_8419CA2
_08137E00: .4byte gUnknown_8419C45
_08137E04:
ldr r0, _08137E1C @ =gUnknown_8419C39
bl sub_8136DA4
ldr r0, _08137E20 @ =gUnknown_8419CA9
bl sub_8136DF0
ldr r0, _08137E24 @ =gUnknown_8419C45
bl sub_8136E50
_08137E16:
pop {r0}
bx r0
.align 2, 0
_08137E1C: .4byte gUnknown_8419C39
_08137E20: .4byte gUnknown_8419CA9
_08137E24: .4byte gUnknown_8419C45
thumb_func_end sub_8137D28
thumb_func_start sub_8137E28
sub_8137E28: @ 8137E28
push {r4,lr}
ldr r4, _08137E58 @ =gUnknown_203B140
ldr r0, [r4]
movs r1, 0xC0
lsls r1, 6
adds r0, r1
ldrb r0, [r0]
bl PutWindowTilemap
ldr r0, [r4]
ldr r1, _08137E5C @ =0x00003001
adds r0, r1
ldrb r0, [r0]
bl PutWindowTilemap
ldr r0, [r4]
ldr r1, _08137E60 @ =0x00003002
adds r0, r1
ldrb r0, [r0]
bl PutWindowTilemap
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08137E58: .4byte gUnknown_203B140
_08137E5C: .4byte 0x00003001
_08137E60: .4byte 0x00003002
thumb_func_end sub_8137E28
thumb_func_start sub_8137E64
sub_8137E64: @ 8137E64
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
bl sub_813AF90
bl FreeAllSpritePalettes
bl IsCryPlayingOrClearCrySongs
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08137E82
bl StopCryAndClearCrySongs
_08137E82:
ldr r4, _08137ED4 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _08137ED8 @ =0x00003214
adds r0, r1
ldrb r0, [r0]
bl sub_8138414
bl FreeAllWindowBuffers
adds r0, r5, 0
bl DestroyTask
ldr r0, [r4]
ldr r1, _08137EDC @ =0x000032f8
adds r0, r1
ldr r0, [r0]
bl SetMainCallback2
bl sub_8138B20
ldr r1, _08137EE0 @ =gUnknown_203B16C
strb r0, [r1]
ldr r0, [r4]
cmp r0, 0
beq _08137EBC
bl Free
movs r0, 0
str r0, [r4]
_08137EBC:
ldr r4, _08137EE4 @ =gUnknown_203B144
ldr r0, [r4]
cmp r0, 0
beq _08137ECC
bl Free
movs r0, 0
str r0, [r4]
_08137ECC:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08137ED4: .4byte gUnknown_203B140
_08137ED8: .4byte 0x00003214
_08137EDC: .4byte 0x000032f8
_08137EE0: .4byte gUnknown_203B16C
_08137EE4: .4byte gUnknown_203B144
thumb_func_end sub_8137E64
thumb_func_start sub_8137EE8
sub_8137EE8: @ 8137EE8
push {lr}
bl RunTasks
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
pop {r0}
bx r0
thumb_func_end sub_8137EE8
thumb_func_start sub_8137F00
sub_8137F00: @ 8137F00
push {r4-r6,lr}
movs r5, 0
ldr r6, _08137F60 @ =gUnknown_203B160
_08137F06:
ldr r3, [r6]
lsls r4, r5, 1
adds r0, r3, 0
adds r0, 0x2C
adds r1, r0, r4
ldrh r2, [r1]
cmp r2, 0xEF
bhi _08137F28
adds r0, r2, 0
adds r0, 0x3C
strh r0, [r1]
lsls r0, r5, 2
adds r0, r3, r0
ldr r1, [r0]
adds r0, r2, 0
adds r0, 0x78
strh r0, [r1, 0x20]
_08137F28:
cmp r5, 0x8
bhi _08137F4E
ldr r0, _08137F64 @ =gUnknown_203B15C
ldr r3, [r0]
adds r0, r3, 0
adds r0, 0x28
adds r1, r0, r4
ldrh r2, [r1]
cmp r2, 0xEF
bhi _08137F4E
adds r0, r2, 0
adds r0, 0x3C
strh r0, [r1]
lsls r0, r5, 2
adds r0, r3, r0
ldr r1, [r0]
adds r0, r2, 0
adds r0, 0x78
strh r0, [r1, 0x20]
_08137F4E:
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0xA
bls _08137F06
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08137F60: .4byte gUnknown_203B160
_08137F64: .4byte gUnknown_203B15C
thumb_func_end sub_8137F00
thumb_func_start sub_8137F68
sub_8137F68: @ 8137F68
push {r4-r7,lr}
movs r5, 0
ldr r0, _08137FEC @ =gUnknown_203B160
mov r12, r0
_08137F70:
mov r1, r12
ldr r0, [r1]
lsls r1, r5, 1
adds r0, 0x2C
adds r3, r0, r1
ldrh r4, [r3]
lsls r0, r5, 3
adds r2, r0, 0
adds r2, 0x9C
adds r6, r1, 0
adds r7, r0, 0
cmp r4, r2
ble _08137FAA
adds r0, r4, 0
subs r0, 0x3C
strh r0, [r3]
ldrh r0, [r3]
cmp r0, r2
bge _08137F98
strh r2, [r3]
_08137F98:
mov r0, r12
ldr r1, [r0]
lsls r0, r5, 2
adds r0, r1, r0
ldr r2, [r0]
adds r1, 0x2C
adds r1, r6
ldrh r0, [r1]
strh r0, [r2, 0x20]
_08137FAA:
cmp r5, 0x8
bhi _08137FDC
ldr r1, _08137FF0 @ =gUnknown_203B15C
ldr r0, [r1]
adds r0, 0x28
adds r2, r0, r6
ldrh r0, [r2]
adds r3, r7, 0
adds r3, 0xAC
cmp r0, r3
ble _08137FDC
subs r0, 0x3C
strh r0, [r2]
ldrh r0, [r2]
cmp r0, r3
bge _08137FCC
strh r3, [r2]
_08137FCC:
ldr r1, [r1]
lsls r0, r5, 2
adds r0, r1, r0
ldr r2, [r0]
adds r1, 0x28
adds r1, r6
ldrh r0, [r1]
strh r0, [r2, 0x20]
_08137FDC:
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0xA
bls _08137F70
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08137FEC: .4byte gUnknown_203B160
_08137FF0: .4byte gUnknown_203B15C
thumb_func_end sub_8137F68
thumb_func_start sub_8137FF4
sub_8137FF4: @ 8137FF4
push {r4,r5,lr}
ldr r4, _08138038 @ =gUnknown_203B140
ldr r0, [r4]
ldr r3, _0813803C @ =0x0000324c
adds r1, r0, r3
ldrh r2, [r1]
movs r5, 0
ldrsh r0, [r1, r5]
cmp r0, 0xEF
bgt _08138054
adds r0, r2, 0
adds r0, 0x3C
strh r0, [r1]
lsls r0, 16
asrs r0, 16
cmp r0, 0xF0
ble _0813801A
movs r0, 0xF0
strh r0, [r1]
_0813801A:
ldr r1, [r4]
ldr r2, _08138040 @ =0x00003238
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
bne _08138044
adds r0, r1, r3
ldrh r1, [r0]
negs r1, r1
lsls r1, 16
lsrs r1, 16
movs r0, 0x18
bl SetGpuReg
b _08138054
.align 2, 0
_08138038: .4byte gUnknown_203B140
_0813803C: .4byte 0x0000324c
_08138040: .4byte 0x00003238
_08138044:
adds r0, r1, r3
ldrh r1, [r0]
negs r1, r1
lsls r1, 16
lsrs r1, 16
movs r0, 0x14
bl SetGpuReg
_08138054:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_8137FF4
thumb_func_start sub_813805C
sub_813805C: @ 813805C
push {r4,r5,lr}
ldr r4, _081380A0 @ =gUnknown_203B140
ldr r0, [r4]
ldr r3, _081380A4 @ =0x0000324c
adds r1, r0, r3
ldrh r2, [r1]
movs r5, 0
ldrsh r0, [r1, r5]
cmp r0, 0x3B
ble _081380DC
adds r0, r2, 0
subs r0, 0x3C
strh r0, [r1]
lsls r0, 16
cmp r0, 0
bge _08138080
movs r0, 0
strh r0, [r1]
_08138080:
ldr r1, [r4]
ldr r2, _081380A8 @ =0x00003238
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
bne _081380AC
adds r0, r1, r3
ldrh r1, [r0]
negs r1, r1
lsls r1, 16
lsrs r1, 16
movs r0, 0x14
bl SetGpuReg
b _081380BC
.align 2, 0
_081380A0: .4byte gUnknown_203B140
_081380A4: .4byte 0x0000324c
_081380A8: .4byte 0x00003238
_081380AC:
adds r0, r1, r3
ldrh r1, [r0]
negs r1, r1
lsls r1, 16
lsrs r1, 16
movs r0, 0x18
bl SetGpuReg
_081380BC:
ldr r0, _081380E4 @ =gUnknown_203B140
ldr r1, [r0]
ldr r5, _081380E8 @ =0x00003214
adds r0, r1, r5
ldrb r0, [r0]
cmp r0, 0x3
beq _081380DC
ldr r2, _081380EC @ =0x0000324c
adds r0, r1, r2
ldrh r1, [r0]
negs r1, r1
lsls r1, 16
lsrs r1, 16
movs r0, 0x10
bl SetGpuReg
_081380DC:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_081380E4: .4byte gUnknown_203B140
_081380E8: .4byte 0x00003214
_081380EC: .4byte 0x0000324c
thumb_func_end sub_813805C
thumb_func_start sub_81380F0
sub_81380F0: @ 81380F0
push {lr}
ldr r0, _08138110 @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _08138114 @ =0x00003224
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x1
bne _08138118
subs r2, 0x10
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x3
beq _08138122
bl sub_8137FF4
b _08138130
.align 2, 0
_08138110: .4byte gUnknown_203B140
_08138114: .4byte 0x00003224
_08138118:
ldr r2, _08138128 @ =0x00003214
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x2
beq _0813812C
_08138122:
bl sub_813805C
b _08138130
.align 2, 0
_08138128: .4byte 0x00003214
_0813812C:
bl sub_8137FF4
_08138130:
pop {r0}
bx r0
thumb_func_end sub_81380F0
thumb_func_start sub_8138134
sub_8138134: @ 8138134
push {lr}
ldr r0, _08138174 @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _08138178 @ =0x00003214
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x1
bne _08138152
adds r2, 0x10
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
bne _08138152
bl sub_8137F68
_08138152:
ldr r0, _08138174 @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _08138178 @ =0x00003214
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x2
bne _0813816E
adds r2, 0x10
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x1
bne _0813816E
bl sub_8137F00
_0813816E:
pop {r0}
bx r0
.align 2, 0
_08138174: .4byte gUnknown_203B140
_08138178: .4byte 0x00003214
thumb_func_end sub_8138134
thumb_func_start sub_813817C
sub_813817C: @ 813817C
push {lr}
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
ldr r0, _081381A4 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _081381A8 @ =0x00003244
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
beq _081381A0
bl sub_81380F0
bl sub_8138134
_081381A0:
pop {r0}
bx r0
.align 2, 0
_081381A4: .4byte gUnknown_203B140
_081381A8: .4byte 0x00003244
thumb_func_end sub_813817C
thumb_func_start sub_81381AC
sub_81381AC: @ 81381AC
push {lr}
movs r0, 0
bl SetVBlankCallback
movs r0, 0
bl SetHBlankCallback
pop {r0}
bx r0
thumb_func_end sub_81381AC
thumb_func_start sub_81381C0
sub_81381C0: @ 81381C0
push {lr}
ldr r0, _081381CC @ =sub_813817C
bl SetVBlankCallback
pop {r0}
bx r0
.align 2, 0
_081381CC: .4byte sub_813817C
thumb_func_end sub_81381C0
thumb_func_start sub_81381D0
sub_81381D0: @ 81381D0
push {r4,r5,lr}
ldr r0, _08138218 @ =gUnknown_8463F9C
bl InitWindows
movs r4, 0
_081381DA:
lsls r0, r4, 3
ldr r1, _0813821C @ =gUnknown_8463F0C
adds r0, r1
bl AddWindow
ldr r2, _08138220 @ =gUnknown_203B140
ldr r1, [r2]
movs r3, 0xC0
lsls r3, 6
adds r1, r3
adds r1, r4
strb r0, [r1]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x2
bls _081381DA
movs r4, 0
adds r5, r2, 0
_08138200:
ldr r0, [r5]
ldr r1, _08138224 @ =0x00003214
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x1
beq _08138254
cmp r0, 0x1
bgt _08138228
cmp r0, 0
beq _08138238
b _08138268
.align 2, 0
_08138218: .4byte gUnknown_8463F9C
_0813821C: .4byte gUnknown_8463F0C
_08138220: .4byte gUnknown_203B140
_08138224: .4byte 0x00003214
_08138228:
cmp r0, 0x3
bgt _08138268
lsls r0, r4, 3
ldr r1, _08138234 @ =gUnknown_8463F7C
b _08138258
.align 2, 0
_08138234: .4byte gUnknown_8463F7C
_08138238:
lsls r0, r4, 3
ldr r1, _0813824C @ =gUnknown_8463F3C
adds r0, r1
bl AddWindow
ldr r1, [r5]
adds r1, r4
ldr r3, _08138250 @ =0x00003003
adds r1, r3
b _08138266
.align 2, 0
_0813824C: .4byte gUnknown_8463F3C
_08138250: .4byte 0x00003003
_08138254:
lsls r0, r4, 3
ldr r1, _08138278 @ =gUnknown_8463F5C
_08138258:
adds r0, r1
bl AddWindow
ldr r1, [r5]
adds r1, r4
ldr r2, _0813827C @ =0x00003003
adds r1, r2
_08138266:
strb r0, [r1]
_08138268:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x3
bls _08138200
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08138278: .4byte gUnknown_8463F5C
_0813827C: .4byte 0x00003003
thumb_func_end sub_81381D0
thumb_func_start sub_8138280
sub_8138280: @ 8138280
push {r4-r7,lr}
mov r7, r8
push {r7}
lsls r0, 24
lsrs r6, r0, 24
movs r0, 0xA
bl GetGpuReg
movs r4, 0x3
adds r5, r4, 0
ands r5, r0
movs r0, 0xC
bl GetGpuReg
adds r3, r4, 0
ands r3, r0
movs r4, 0
ldr r2, _08138314 @ =gUnknown_203B140
movs r0, 0xC0
lsls r0, 6
mov r12, r0
movs r7, 0xFF
mov r8, r2
_081382AE:
ldr r0, [r2]
add r0, r12
adds r0, r4
ldrb r1, [r0]
orrs r1, r7
strb r1, [r0]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x6
bls _081382AE
mov r2, r8
ldr r1, [r2]
ldr r4, _08138318 @ =0x00003224
adds r0, r1, r4
ldrb r2, [r0]
cmp r2, 0x1
bne _081382DC
subs r4, 0x10
adds r0, r1, r4
ldrb r0, [r0]
cmp r0, 0x3
bne _081382EA
_081382DC:
cmp r2, 0
bne _08138354
ldr r2, _0813831C @ =0x00003214
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x2
bne _08138354
_081382EA:
cmp r3, r5
bls _08138324
movs r4, 0
_081382F0:
lsls r0, r4, 3
ldr r1, _08138320 @ =gUnknown_8463F24
adds r0, r1
bl AddWindow
ldr r1, _08138314 @ =gUnknown_203B140
ldr r1, [r1]
movs r2, 0xC0
lsls r2, 6
adds r1, r2
adds r1, r4
strb r0, [r1]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x2
bls _081382F0
b _081383AC
.align 2, 0
_08138314: .4byte gUnknown_203B140
_08138318: .4byte 0x00003224
_0813831C: .4byte 0x00003214
_08138320: .4byte gUnknown_8463F24
_08138324:
movs r4, 0
_08138326:
lsls r0, r4, 3
ldr r1, _0813834C @ =gUnknown_8463F0C
adds r0, r1
bl AddWindow
ldr r1, _08138350 @ =gUnknown_203B140
ldr r1, [r1]
movs r2, 0xC0
lsls r2, 6
adds r1, r2
adds r1, r4
strb r0, [r1]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x2
bls _08138326
b _081383AC
.align 2, 0
_0813834C: .4byte gUnknown_8463F0C
_08138350: .4byte gUnknown_203B140
_08138354:
cmp r3, r5
bls _08138388
movs r4, 0
_0813835A:
lsls r0, r4, 3
ldr r1, _08138380 @ =gUnknown_8463F0C
adds r0, r1
bl AddWindow
ldr r1, _08138384 @ =gUnknown_203B140
ldr r1, [r1]
movs r2, 0xC0
lsls r2, 6
adds r1, r2
adds r1, r4
strb r0, [r1]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x2
bls _0813835A
b _081383AC
.align 2, 0
_08138380: .4byte gUnknown_8463F0C
_08138384: .4byte gUnknown_203B140
_08138388:
movs r4, 0
_0813838A:
lsls r0, r4, 3
ldr r1, _081383C0 @ =gUnknown_8463F24
adds r0, r1
bl AddWindow
ldr r1, _081383C4 @ =gUnknown_203B140
ldr r1, [r1]
movs r2, 0xC0
lsls r2, 6
adds r1, r2
adds r1, r4
strb r0, [r1]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x2
bls _0813838A
_081383AC:
movs r4, 0
ldr r5, _081383C4 @ =gUnknown_203B140
_081383B0:
cmp r6, 0x1
beq _081383E4
cmp r6, 0x1
bgt _081383C8
cmp r6, 0
beq _081383D8
b _081383E4
.align 2, 0
_081383C0: .4byte gUnknown_8463F24
_081383C4: .4byte gUnknown_203B140
_081383C8:
cmp r6, 0x3
bgt _081383E4
lsls r0, r4, 3
ldr r1, _081383D4 @ =gUnknown_8463F7C
b _081383E8
.align 2, 0
_081383D4: .4byte gUnknown_8463F7C
_081383D8:
lsls r0, r4, 3
ldr r1, _081383E0 @ =gUnknown_8463F3C
b _081383E8
.align 2, 0
_081383E0: .4byte gUnknown_8463F3C
_081383E4:
lsls r0, r4, 3
ldr r1, _0813840C @ =gUnknown_8463F5C
_081383E8:
adds r0, r1
bl AddWindow
ldr r1, [r5]
adds r1, r4
ldr r2, _08138410 @ =0x00003003
adds r1, r2
strb r0, [r1]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x3
bls _081383B0
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813840C: .4byte gUnknown_8463F5C
_08138410: .4byte 0x00003003
thumb_func_end sub_8138280
thumb_func_start sub_8138414
sub_8138414: @ 8138414
push {r4,r5,lr}
movs r4, 0
ldr r5, _0813843C @ =gUnknown_203B140
_0813841A:
ldr r0, [r5]
movs r1, 0xC0
lsls r1, 6
adds r0, r1
adds r0, r4
ldrb r0, [r0]
bl RemoveWindow
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x6
bls _0813841A
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0813843C: .4byte gUnknown_203B140
thumb_func_end sub_8138414
thumb_func_start sub_8138440
sub_8138440: @ 8138440
push {lr}
ldr r0, _0813845C @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08138460 @ =0x00003214
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x1
beq _08138470
cmp r0, 0x1
bgt _08138464
cmp r0, 0
beq _0813846C
b _08138476
.align 2, 0
_0813845C: .4byte gUnknown_203B140
_08138460: .4byte 0x00003214
_08138464:
cmp r0, 0x3
bgt _08138476
movs r0, 0x8
b _08138472
_0813846C:
movs r0, 0x6
b _08138472
_08138470:
movs r0, 0x7
_08138472:
bl HelpSystem_SetSomeVariable2
_08138476:
pop {r0}
bx r0
thumb_func_end sub_8138440
thumb_func_start sub_813847C
sub_813847C: @ 813847C
push {r4-r6,lr}
adds r6, r0, 0
ldr r5, _081384BC @ =gUnknown_203B140
ldr r0, [r5]
ldr r1, _081384C0 @ =0x000032f4
adds r0, r1
ldr r1, [r0]
ldr r0, _081384C4 @ =gEnemyParty
cmp r1, r0
bne _081384D0
bl GetMultiplayerId
movs r1, 0x1
eors r0, r1
lsls r0, 24
lsrs r0, 24
ldr r2, _081384C8 @ =gLinkPlayers
lsls r1, r0, 3
subs r1, r0
lsls r1, 2
adds r0, r2, 0x4
adds r0, r1, r0
ldrh r4, [r0]
ldr r0, [r5]
ldr r3, _081384CC @ =0x0000304c
adds r0, r3
adds r2, 0x8
adds r1, r2
bl StringCopy
b _081384E8
.align 2, 0
_081384BC: .4byte gUnknown_203B140
_081384C0: .4byte 0x000032f4
_081384C4: .4byte gEnemyParty
_081384C8: .4byte gLinkPlayers
_081384CC: .4byte 0x0000304c
_081384D0:
bl sub_80CC1E4
adds r4, r0, 0
ldr r0, _0813851C @ =0x0000ffff
ands r4, r0
ldr r0, [r5]
ldr r1, _08138520 @ =0x0000304c
adds r0, r1
ldr r1, _08138524 @ =gSaveBlock2Ptr
ldr r1, [r1]
bl StringCopy
_081384E8:
adds r0, r6, 0
movs r1, 0x1
bl GetMonData
ldr r1, _0813851C @ =0x0000ffff
ands r1, r0
cmp r4, r1
bne _08138518
ldr r4, _08138528 @ =gUnknown_203B140
ldr r2, [r4]
ldr r5, _0813852C @ =0x00003058
adds r2, r5
adds r0, r6, 0
movs r1, 0x7
bl GetMonData
ldr r1, [r4]
ldr r2, _08138520 @ =0x0000304c
adds r0, r1, r2
adds r1, r5
bl StringCompareWithoutExtCtrlCodes
cmp r0, 0
beq _08138530
_08138518:
movs r0, 0
b _08138532
.align 2, 0
_0813851C: .4byte 0x0000ffff
_08138520: .4byte 0x0000304c
_08138524: .4byte gSaveBlock2Ptr
_08138528: .4byte gUnknown_203B140
_0813852C: .4byte 0x00003058
_08138530:
movs r0, 0x1
_08138532:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_813847C
thumb_func_start sub_8138538
sub_8138538: @ 8138538
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0xC
ldr r0, _08138560 @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _08138564 @ =0x00003214
adds r0, r1, r2
ldrb r7, [r0]
cmp r7, 0x1
bne _08138554
b _081386EC
_08138554:
cmp r7, 0x1
bgt _08138568
cmp r7, 0
beq _08138576
b _08138A16
.align 2, 0
_08138560: .4byte gUnknown_203B140
_08138564: .4byte 0x00003214
_08138568:
cmp r7, 0x2
bne _0813856E
b _081387E0
_0813856E:
cmp r7, 0x3
bne _08138574
b _081388E0
_08138574:
b _08138A16
_08138576:
movs r2, 0xC8
lsls r2, 6
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
bne _08138678
movs r1, 0xB5
lsls r1, 1
movs r4, 0x1
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
movs r2, 0xD
movs r3, 0
bl FillBgTilemapBufferRect
movs r1, 0xBD
lsls r1, 1
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
movs r2, 0xD
movs r3, 0x1
bl FillBgTilemapBufferRect
ldr r1, _08138660 @ =0x00000169
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
movs r2, 0xE
movs r3, 0
bl FillBgTilemapBufferRect
ldr r1, _08138664 @ =0x00000179
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
movs r2, 0xE
movs r3, 0x1
bl FillBgTilemapBufferRect
ldr r6, _08138668 @ =0x0000016b
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
adds r1, r6, 0
movs r2, 0xF
movs r3, 0
bl FillBgTilemapBufferRect
ldr r5, _0813866C @ =0x0000017b
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
adds r1, r5, 0
movs r2, 0xF
movs r3, 0x1
bl FillBgTilemapBufferRect
ldr r1, _08138670 @ =0x0000016d
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
movs r2, 0x10
movs r3, 0
bl FillBgTilemapBufferRect
ldr r1, _08138674 @ =0x0000017d
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
movs r2, 0x10
movs r3, 0x1
bl FillBgTilemapBufferRect
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
adds r1, r6, 0
movs r2, 0x11
movs r3, 0
bl FillBgTilemapBufferRect
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
adds r1, r5, 0
movs r2, 0x11
movs r3, 0x1
bl FillBgTilemapBufferRect
movs r1, 0xB7
lsls r1, 1
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
movs r2, 0x12
movs r3, 0
bl FillBgTilemapBufferRect
movs r1, 0xBF
lsls r1, 1
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
b _081388CC
.align 2, 0
_08138660: .4byte 0x00000169
_08138664: .4byte 0x00000179
_08138668: .4byte 0x0000016b
_0813866C: .4byte 0x0000017b
_08138670: .4byte 0x0000016d
_08138674: .4byte 0x0000017d
_08138678:
movs r1, 0xB5
lsls r1, 1
movs r4, 0x1
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
movs r2, 0xD
movs r3, 0
bl FillBgTilemapBufferRect
movs r1, 0xBD
lsls r1, 1
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
movs r2, 0xD
movs r3, 0x1
bl FillBgTilemapBufferRect
ldr r1, _081386E0 @ =0x00000189
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
movs r2, 0xE
movs r3, 0
bl FillBgTilemapBufferRect
ldr r1, _081386E4 @ =0x00000199
str r4, [sp]
str r4, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
movs r2, 0xE
movs r3, 0x1
bl FillBgTilemapBufferRect
ldr r1, _081386E8 @ =0x0000015b
movs r0, 0x4
str r0, [sp]
movs r0, 0x2
str r0, [sp, 0x4]
str r7, [sp, 0x8]
movs r0, 0x3
movs r2, 0xF
movs r3, 0
bl FillBgTilemapBufferRect
b _08138A16
.align 2, 0
_081386E0: .4byte 0x00000189
_081386E4: .4byte 0x00000199
_081386E8: .4byte 0x0000015b
_081386EC:
movs r1, 0xC5
lsls r1, 1
str r7, [sp]
str r7, [sp, 0x4]
movs r4, 0
str r4, [sp, 0x8]
movs r0, 0x3
movs r2, 0xD
movs r3, 0
bl FillBgTilemapBufferRect
movs r1, 0xCD
lsls r1, 1
str r7, [sp]
str r7, [sp, 0x4]
str r4, [sp, 0x8]
movs r0, 0x3
movs r2, 0xD
movs r3, 0x1
bl FillBgTilemapBufferRect
movs r1, 0xAD
lsls r1, 1
str r7, [sp]
str r7, [sp, 0x4]
str r4, [sp, 0x8]
movs r0, 0x3
movs r2, 0xE
movs r3, 0
bl FillBgTilemapBufferRect
movs r1, 0xB6
lsls r1, 1
str r7, [sp]
str r7, [sp, 0x4]
str r4, [sp, 0x8]
movs r0, 0x3
movs r2, 0xE
movs r3, 0x1
bl FillBgTilemapBufferRect
movs r1, 0xB5
lsls r1, 1
str r7, [sp]
str r7, [sp, 0x4]
str r4, [sp, 0x8]
movs r0, 0x3
movs r2, 0xF
movs r3, 0
bl FillBgTilemapBufferRect
movs r1, 0xBD
lsls r1, 1
str r7, [sp]
str r7, [sp, 0x4]
str r4, [sp, 0x8]
movs r0, 0x3
movs r2, 0xF
movs r3, 0x1
bl FillBgTilemapBufferRect
ldr r1, _081387D0 @ =0x00000169
str r7, [sp]
str r7, [sp, 0x4]
str r4, [sp, 0x8]
movs r0, 0x3
movs r2, 0x10
movs r3, 0
bl FillBgTilemapBufferRect
ldr r1, _081387D4 @ =0x00000179
str r7, [sp]
str r7, [sp, 0x4]
str r4, [sp, 0x8]
movs r0, 0x3
movs r2, 0x10
movs r3, 0x1
bl FillBgTilemapBufferRect
ldr r1, _081387D8 @ =0x0000016b
str r7, [sp]
str r7, [sp, 0x4]
str r4, [sp, 0x8]
movs r0, 0x3
movs r2, 0x11
movs r3, 0
bl FillBgTilemapBufferRect
ldr r1, _081387DC @ =0x0000017b
str r7, [sp]
str r7, [sp, 0x4]
str r4, [sp, 0x8]
movs r0, 0x3
movs r2, 0x11
movs r3, 0x1
bl FillBgTilemapBufferRect
movs r1, 0xB7
lsls r1, 1
str r7, [sp]
str r7, [sp, 0x4]
str r4, [sp, 0x8]
movs r0, 0x3
movs r2, 0x12
movs r3, 0
bl FillBgTilemapBufferRect
movs r1, 0xBF
lsls r1, 1
str r7, [sp]
str r7, [sp, 0x4]
str r4, [sp, 0x8]
b _081388CC
.align 2, 0
_081387D0: .4byte 0x00000169
_081387D4: .4byte 0x00000179
_081387D8: .4byte 0x0000016b
_081387DC: .4byte 0x0000017b
_081387E0:
movs r0, 0xC5
lsls r0, 1
mov r10, r0
movs r4, 0x1
str r4, [sp]
str r4, [sp, 0x4]
movs r5, 0
str r5, [sp, 0x8]
movs r0, 0x3
mov r1, r10
movs r2, 0xD
movs r3, 0
bl FillBgTilemapBufferRect
movs r2, 0xCD
lsls r2, 1
mov r9, r2
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
mov r1, r9
movs r2, 0xD
movs r3, 0x1
bl FillBgTilemapBufferRect
movs r0, 0xAD
lsls r0, 1
mov r8, r0
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
mov r1, r8
movs r2, 0xE
movs r3, 0
bl FillBgTilemapBufferRect
movs r6, 0xB6
lsls r6, 1
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
adds r1, r6, 0
movs r2, 0xE
movs r3, 0x1
bl FillBgTilemapBufferRect
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
mov r1, r10
movs r2, 0xF
movs r3, 0
bl FillBgTilemapBufferRect
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
mov r1, r9
movs r2, 0xF
movs r3, 0x1
bl FillBgTilemapBufferRect
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
mov r1, r8
movs r2, 0x10
movs r3, 0
bl FillBgTilemapBufferRect
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
adds r1, r6, 0
movs r2, 0x10
movs r3, 0x1
bl FillBgTilemapBufferRect
movs r1, 0xB5
lsls r1, 1
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
movs r2, 0x11
movs r3, 0
bl FillBgTilemapBufferRect
movs r1, 0xBD
lsls r1, 1
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
movs r2, 0x11
movs r3, 0x1
bl FillBgTilemapBufferRect
ldr r1, _081388D8 @ =0x00000189
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
movs r2, 0x12
movs r3, 0
bl FillBgTilemapBufferRect
ldr r1, _081388DC @ =0x00000199
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
_081388CC:
movs r0, 0x3
movs r2, 0x12
movs r3, 0x1
bl FillBgTilemapBufferRect
b _08138A16
.align 2, 0
_081388D8: .4byte 0x00000189
_081388DC: .4byte 0x00000199
_081388E0:
ldr r2, _0813891C @ =0x00003208
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x2
bne _08138920
movs r1, 0xAD
lsls r1, 1
movs r6, 0x4
str r6, [sp]
movs r5, 0x1
str r5, [sp, 0x4]
movs r4, 0
str r4, [sp, 0x8]
movs r0, 0x3
movs r2, 0xD
movs r3, 0
bl FillBgTilemapBufferRect
movs r1, 0xB6
lsls r1, 1
str r6, [sp]
str r5, [sp, 0x4]
str r4, [sp, 0x8]
movs r0, 0x3
movs r2, 0xD
movs r3, 0x1
bl FillBgTilemapBufferRect
b _081389CA
.align 2, 0
_0813891C: .4byte 0x00003208
_08138920:
movs r0, 0xC5
lsls r0, 1
mov r10, r0
movs r4, 0x1
str r4, [sp]
str r4, [sp, 0x4]
movs r5, 0
str r5, [sp, 0x8]
movs r0, 0x3
mov r1, r10
movs r2, 0xD
movs r3, 0
bl FillBgTilemapBufferRect
movs r2, 0xCD
lsls r2, 1
mov r9, r2
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
mov r1, r9
movs r2, 0xD
movs r3, 0x1
bl FillBgTilemapBufferRect
movs r0, 0xAD
lsls r0, 1
mov r8, r0
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
mov r1, r8
movs r2, 0xE
movs r3, 0
bl FillBgTilemapBufferRect
movs r6, 0xB6
lsls r6, 1
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
adds r1, r6, 0
movs r2, 0xE
movs r3, 0x1
bl FillBgTilemapBufferRect
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
mov r1, r10
movs r2, 0xF
movs r3, 0
bl FillBgTilemapBufferRect
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
mov r1, r9
movs r2, 0xF
movs r3, 0x1
bl FillBgTilemapBufferRect
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
mov r1, r8
movs r2, 0x10
movs r3, 0
bl FillBgTilemapBufferRect
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
adds r1, r6, 0
movs r2, 0x10
movs r3, 0x1
bl FillBgTilemapBufferRect
_081389CA:
ldr r1, _08138A28 @ =0x0000018b
movs r4, 0x1
str r4, [sp]
str r4, [sp, 0x4]
movs r5, 0
str r5, [sp, 0x8]
movs r0, 0x3
movs r2, 0x11
movs r3, 0
bl FillBgTilemapBufferRect
ldr r1, _08138A2C @ =0x0000019b
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
movs r2, 0x11
movs r3, 0x1
bl FillBgTilemapBufferRect
ldr r1, _08138A30 @ =0x00000189
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
movs r2, 0x12
movs r3, 0
bl FillBgTilemapBufferRect
ldr r1, _08138A34 @ =0x00000199
str r4, [sp]
str r4, [sp, 0x4]
str r5, [sp, 0x8]
movs r0, 0x3
movs r2, 0x12
movs r3, 0x1
bl FillBgTilemapBufferRect
_08138A16:
add sp, 0xC
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08138A28: .4byte 0x0000018b
_08138A2C: .4byte 0x0000019b
_08138A30: .4byte 0x00000189
_08138A34: .4byte 0x00000199
thumb_func_end sub_8138538
thumb_func_start sub_8138A38
sub_8138A38: @ 8138A38
push {r4-r6,lr}
ldr r6, _08138A54 @ =gUnknown_203B140
ldr r1, [r6]
ldr r2, _08138A58 @ =0x00003214
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x2
bgt _08138A5C
cmp r0, 0x1
bge _08138B0E
cmp r0, 0
beq _08138A62
b _08138B0E
.align 2, 0
_08138A54: .4byte gUnknown_203B140
_08138A58: .4byte 0x00003214
_08138A5C:
cmp r0, 0x3
beq _08138ABC
b _08138B0E
_08138A62:
movs r3, 0xC8
lsls r3, 6
adds r0, r1, r3
ldrb r0, [r0]
cmp r0, 0
bne _08138B0E
ldr r2, _08138AB0 @ =0x00003003
adds r0, r1, r2
ldrb r0, [r0]
ldr r4, _08138AB4 @ =0x00003220
adds r1, r4
ldrb r1, [r1]
adds r1, 0x1
lsls r1, 24
lsrs r1, 24
movs r2, 0x2F
movs r3, 0x23
bl BlitMoveInfoIcon
ldr r1, [r6]
adds r4, r1, r4
ldr r3, _08138AB8 @ =0x00003221
adds r0, r1, r3
ldrb r2, [r0]
ldrb r0, [r4]
cmp r0, r2
beq _08138B0E
ldr r3, _08138AB0 @ =0x00003003
adds r0, r1, r3
ldrb r0, [r0]
adds r1, r2, 0x1
lsls r1, 24
lsrs r1, 24
movs r2, 0x53
movs r3, 0x23
bl BlitMoveInfoIcon
b _08138B0E
.align 2, 0
_08138AB0: .4byte 0x00003003
_08138AB4: .4byte 0x00003220
_08138AB8: .4byte 0x00003221
_08138ABC:
ldr r5, _08138B14 @ =0x00003006
adds r0, r1, r5
ldrb r0, [r0]
movs r1, 0
bl FillWindowPixelBuffer
ldr r1, [r6]
adds r0, r1, r5
ldrb r0, [r0]
ldr r4, _08138B18 @ =0x00003220
adds r1, r4
ldrb r1, [r1]
adds r1, 0x1
lsls r1, 24
lsrs r1, 24
movs r2, 0
movs r3, 0x3
bl BlitMoveInfoIcon
ldr r2, [r6]
adds r4, r2, r4
ldr r1, _08138B1C @ =0x00003221
adds r0, r2, r1
ldrb r1, [r0]
ldrb r0, [r4]
cmp r0, r1
beq _08138B04
adds r0, r2, r5
ldrb r0, [r0]
adds r1, 0x1
lsls r1, 24
lsrs r1, 24
movs r2, 0x24
movs r3, 0x3
bl BlitMoveInfoIcon
_08138B04:
ldr r0, [r6]
adds r0, r5
ldrb r0, [r0]
bl PutWindowTilemap
_08138B0E:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08138B14: .4byte 0x00003006
_08138B18: .4byte 0x00003220
_08138B1C: .4byte 0x00003221
thumb_func_end sub_8138A38
thumb_func_start sub_8138B20
sub_8138B20: @ 8138B20
ldr r0, _08138B28 @ =gUnknown_203B16C
ldrb r0, [r0]
bx lr
.align 2, 0
_08138B28: .4byte gUnknown_203B16C
thumb_func_end sub_8138B20
thumb_func_start sub_8138B2C
sub_8138B2C: @ 8138B2C
ldr r0, _08138B34 @ =gUnknown_203B16E
ldrb r0, [r0]
bx lr
.align 2, 0
_08138B34: .4byte gUnknown_203B16E
thumb_func_end sub_8138B2C
thumb_func_start sub_8138B38
sub_8138B38: @ 8138B38
ldr r1, _08138B44 @ =gUnknown_203B140
ldr r1, [r1]
ldr r2, _08138B48 @ =0x00003208
adds r1, r2
strb r0, [r1]
bx lr
.align 2, 0
_08138B44: .4byte gUnknown_203B140
_08138B48: .4byte 0x00003208
thumb_func_end sub_8138B38
thumb_func_start sub_8138B4C
sub_8138B4C: @ 8138B4C
push {lr}
bl IsUpdateLinkStateCBActive
cmp r0, 0
bne _08138B84
bl IsMultiBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08138B84
ldr r0, _08138B7C @ =gReceivedRemoteLinkPlayers
ldrb r0, [r0]
cmp r0, 0x1
bne _08138B84
ldr r0, _08138B80 @ =gUnknown_203B16C
ldrb r0, [r0]
cmp r0, 0x3
bhi _08138B76
cmp r0, 0x1
bne _08138B84
_08138B76:
movs r0, 0x1
b _08138B86
.align 2, 0
_08138B7C: .4byte gReceivedRemoteLinkPlayers
_08138B80: .4byte gUnknown_203B16C
_08138B84:
movs r0, 0
_08138B86:
pop {r1}
bx r1
thumb_func_end sub_8138B4C
thumb_func_start sub_8138B8C
sub_8138B8C: @ 8138B8C
push {r4,r5,lr}
adds r5, r0, 0
ldr r0, _08138BBC @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _08138BC0 @ =0x0000321c
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
bne _08138BC4
adds r2, 0xD8
adds r0, r1, r2
ldr r4, [r0]
bl sub_8138B20
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
muls r1, r0
adds r1, r4
adds r0, r5, 0
movs r2, 0x64
bl memcpy
b _08138BE2
.align 2, 0
_08138BBC: .4byte gUnknown_203B140
_08138BC0: .4byte 0x0000321c
_08138BC4:
ldr r2, _08138BE8 @ =0x000032f4
adds r0, r1, r2
ldr r4, [r0]
bl sub_8138B20
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 4
adds r4, r1
adds r0, r4, 0
adds r1, r5, 0
bl BoxMonToMon
_08138BE2:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08138BE8: .4byte 0x000032f4
thumb_func_end sub_8138B8C
thumb_func_start sub_8138BEC
sub_8138BEC: @ 8138BEC
push {lr}
lsls r1, 24
lsrs r1, 24
adds r2, r1, 0
cmp r1, 0x1
beq _08138C0C
cmp r1, 0x1
bgt _08138C02
cmp r1, 0
beq _08138C08
b _08138C14
_08138C02:
cmp r2, 0x2
beq _08138C10
b _08138C14
_08138C08:
movs r1, 0xD
b _08138C16
_08138C0C:
movs r1, 0xE
b _08138C16
_08138C10:
movs r1, 0xF
b _08138C16
_08138C14:
movs r1, 0x10
_08138C16:
bl GetMonData
lsls r0, 16
lsrs r0, 16
pop {r1}
bx r1
thumb_func_end sub_8138BEC
thumb_func_start sub_8138C24
sub_8138C24: @ 8138C24
push {lr}
lsls r1, 24
lsrs r1, 24
adds r2, r1, 0
cmp r1, 0x1
beq _08138C44
cmp r1, 0x1
bgt _08138C3A
cmp r1, 0
beq _08138C40
b _08138C4C
_08138C3A:
cmp r2, 0x2
beq _08138C48
b _08138C4C
_08138C40:
movs r1, 0x11
b _08138C4E
_08138C44:
movs r1, 0x12
b _08138C4E
_08138C48:
movs r1, 0x13
b _08138C4E
_08138C4C:
movs r1, 0x14
_08138C4E:
bl GetMonData
lsls r0, 16
lsrs r0, 16
pop {r1}
bx r1
thumb_func_end sub_8138C24
thumb_func_start sub_8138C5C
sub_8138C5C: @ 8138C5C
push {r4-r6,lr}
adds r4, r0, 0
ldr r6, _08138C78 @ =gUnknown_203B140
ldr r0, [r6]
ldr r5, _08138C7C @ =0x00003290
adds r0, r5
movs r1, 0x39
bl GetMonData
cmp r0, 0
bne _08138C80
movs r0, 0x7
b _08138CD2
.align 2, 0
_08138C78: .4byte gUnknown_203B140
_08138C7C: .4byte 0x00003290
_08138C80:
movs r0, 0x88
ands r0, r4
cmp r0, 0
beq _08138C8C
movs r0, 0x1
b _08138CD2
_08138C8C:
movs r0, 0x40
ands r0, r4
cmp r0, 0
beq _08138C98
movs r0, 0x2
b _08138CD2
_08138C98:
movs r0, 0x7
ands r0, r4
cmp r0, 0
beq _08138CA4
movs r0, 0x3
b _08138CD2
_08138CA4:
movs r0, 0x20
ands r0, r4
cmp r0, 0
beq _08138CB0
movs r0, 0x4
b _08138CD2
_08138CB0:
movs r0, 0x10
ands r0, r4
cmp r0, 0
beq _08138CBC
movs r0, 0x5
b _08138CD2
_08138CBC:
ldr r0, [r6]
adds r0, r5
movs r1, 0
bl CheckPartyPokerus
lsls r0, 24
cmp r0, 0
bne _08138CD0
movs r0, 0
b _08138CD2
_08138CD0:
movs r0, 0x6
_08138CD2:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8138C5C
thumb_func_start sub_8138CD8
sub_8138CD8: @ 8138CD8
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
ldr r6, _08138CFC @ =gUnknown_203B140
ldr r0, [r6]
ldr r7, _08138D00 @ =0x00003288
adds r3, r0, r7
ldrb r1, [r3]
cmp r1, 0x1
bne _08138CF0
b _08138FE8
_08138CF0:
cmp r1, 0x1
bgt _08138D04
cmp r1, 0
beq _08138D12
b _08139094
.align 2, 0
_08138CFC: .4byte gUnknown_203B140
_08138D00: .4byte 0x00003288
_08138D04:
cmp r1, 0x2
bne _08138D0A
b _08139010
_08138D0A:
cmp r1, 0x3
bne _08138D10
b _08139034
_08138D10:
b _08139094
_08138D12:
bl sub_80BF72C
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08138D20
b _08139094
_08138D20:
bl sub_800B270
cmp r0, 0x1
bne _08138D2A
b _08139094
_08138D2A:
ldr r0, _08138D78 @ =gMain
mov r9, r0
ldrh r1, [r0, 0x2E]
movs r0, 0x40
ands r0, r1
lsls r0, 16
lsrs r2, r0, 16
cmp r2, 0
beq _08138DD0
ldr r4, _08138D7C @ =gUnknown_203B16D
ldrb r0, [r4]
cmp r0, 0
beq _08138D84
ldr r0, [r6]
adds r0, r7
movs r1, 0x2
strb r1, [r0]
movs r0, 0x5
bl PlaySE
ldrb r4, [r4]
cmp r4, 0
bne _08138D5A
b _08139094
_08138D5A:
ldr r0, [r6]
ldr r2, _08138D80 @ =0x00003258
adds r1, r0, r2
_08138D60:
subs r4, 0x1
lsls r0, r4, 1
adds r0, r1, r0
ldrh r0, [r0]
cmp r0, 0
beq _08138D6E
b _08139024
_08138D6E:
lsls r0, r4, 24
lsrs r4, r0, 24
cmp r4, 0
bne _08138D60
b _08139094
.align 2, 0
_08138D78: .4byte gMain
_08138D7C: .4byte gUnknown_203B16D
_08138D80: .4byte 0x00003258
_08138D84:
movs r0, 0x4
strb r0, [r4]
ldr r0, [r6]
adds r0, r7
movs r1, 0x2
strb r1, [r0]
movs r0, 0x5
bl PlaySE
ldr r1, [r6]
ldr r3, _08138DC8 @ =0x00003268
adds r0, r1, r3
ldrb r0, [r0]
cmp r0, 0x1
beq _08138DA4
b _08139094
_08138DA4:
ldrb r4, [r4]
cmp r4, 0
bne _08138DAC
b _08139094
_08138DAC:
ldr r6, _08138DCC @ =0x00003258
adds r1, r6
_08138DB0:
subs r4, 0x1
lsls r0, r4, 1
adds r0, r1, r0
ldrh r0, [r0]
cmp r0, 0
beq _08138DBE
b _08139024
_08138DBE:
lsls r0, r4, 24
lsrs r4, r0, 24
cmp r4, 0
bne _08138DB0
b _08139094
.align 2, 0
_08138DC8: .4byte 0x00003268
_08138DCC: .4byte 0x00003258
_08138DD0:
movs r0, 0x80
ands r0, r1
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0
beq _08138E80
ldr r3, _08138E0C @ =gUnknown_203B16D
ldrb r0, [r3]
mov r12, r3
cmp r0, 0x3
bhi _08138E68
movs r5, 0x4
ldr r0, [r6]
adds r0, r7
movs r4, 0x2
strb r4, [r0]
ldr r1, [r6]
ldr r6, _08138E10 @ =0x00003268
adds r0, r1, r6
ldrb r0, [r0]
cmp r0, 0x1
bne _08138E16
ldrb r0, [r3]
cmp r0, 0x3
bne _08138E14
strb r2, [r3]
adds r0, r1, r7
strb r4, [r0]
b _08138E78
.align 2, 0
_08138E0C: .4byte gUnknown_203B16D
_08138E10: .4byte 0x00003268
_08138E14:
movs r5, 0x3
_08138E16:
mov r0, r12
ldrb r4, [r0]
ldr r2, _08138E58 @ =gUnknown_203B140
cmp r4, r5
bcs _08138E3C
ldr r0, [r2]
ldr r3, _08138E5C @ =0x00003258
adds r1, r0, r3
_08138E26:
adds r4, 0x1
lsls r0, r4, 1
adds r0, r1, r0
ldrh r0, [r0]
cmp r0, 0
beq _08138E34
b _08139024
_08138E34:
lsls r0, r4, 24
lsrs r4, r0, 24
cmp r4, r5
bcc _08138E26
_08138E3C:
ldr r0, [r2]
ldr r6, _08138E60 @ =0x00003268
adds r0, r6
ldrb r0, [r0]
cmp r0, 0
bne _08138E4A
b _08139024
_08138E4A:
movs r0, 0x5
bl PlaySE
ldr r1, _08138E64 @ =gUnknown_203B16D
movs r0, 0
strb r0, [r1]
b _08139094
.align 2, 0
_08138E58: .4byte gUnknown_203B140
_08138E5C: .4byte 0x00003258
_08138E60: .4byte 0x00003268
_08138E64: .4byte gUnknown_203B16D
_08138E68:
cmp r0, 0x4
beq _08138E6E
b _08139094
_08138E6E:
strb r2, [r3]
ldr r0, [r6]
adds r0, r7
movs r1, 0x2
strb r1, [r0]
_08138E78:
movs r0, 0x5
bl PlaySE
b _08139094
_08138E80:
movs r0, 0x1
mov r8, r0
movs r5, 0x1
ands r5, r1
cmp r5, 0
beq _08138F6C
movs r0, 0x5
bl PlaySE
ldr r3, _08138EB8 @ =gUnknown_203B16D
ldrb r5, [r3]
cmp r5, 0x4
bne _08138EC8
strb r4, [r3]
ldr r0, _08138EBC @ =gUnknown_203B16E
strb r4, [r0]
ldr r0, [r6]
ldr r1, _08138EC0 @ =0x00003268
adds r0, r1
strb r4, [r0]
movs r0, 0x1
bl sub_813A0E8
ldr r0, [r6]
ldr r2, _08138EC4 @ =0x00003224
adds r0, r2
strb r4, [r0]
b _08138FB8
.align 2, 0
_08138EB8: .4byte gUnknown_203B16D
_08138EBC: .4byte gUnknown_203B16E
_08138EC0: .4byte 0x00003268
_08138EC4: .4byte 0x00003224
_08138EC8:
ldr r1, [r6]
ldr r0, _08138F04 @ =0x00003268
adds r2, r1, r0
ldrb r0, [r2]
cmp r0, 0x1
beq _08138F18
ldr r3, _08138F08 @ =0x00003024
adds r0, r1, r3
ldr r0, [r0]
cmp r0, 0
beq _08138EE0
b _08139094
_08138EE0:
ldr r0, _08138F0C @ =0x00000439
add r0, r9
ldrb r1, [r0]
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _08138EF0
b _08139094
_08138EF0:
ldr r0, _08138F10 @ =gReceivedRemoteLinkPlayers
ldrb r0, [r0]
cmp r0, 0
beq _08138EFA
b _08139094
_08138EFA:
ldr r0, _08138F14 @ =gUnknown_203B16E
strb r5, [r0]
mov r6, r8
strb r6, [r2]
b _08139094
.align 2, 0
_08138F04: .4byte 0x00003268
_08138F08: .4byte 0x00003024
_08138F0C: .4byte 0x00000439
_08138F10: .4byte gReceivedRemoteLinkPlayers
_08138F14: .4byte gUnknown_203B16E
_08138F18:
strb r4, [r2]
ldr r1, _08138F38 @ =gUnknown_203B16E
ldrb r0, [r3]
ldrb r1, [r1]
cmp r0, r1
bne _08138F26
b _08139094
_08138F26:
ldr r0, [r6]
ldr r1, _08138F3C @ =0x0000321c
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _08138F40
bl sub_81390B0
b _08138F44
.align 2, 0
_08138F38: .4byte gUnknown_203B16E
_08138F3C: .4byte 0x0000321c
_08138F40:
bl sub_81391EC
_08138F44:
ldr r4, _08138F60 @ =gUnknown_203B140
ldr r0, [r4]
ldr r2, _08138F64 @ =0x00003290
adds r0, r2
bl sub_8139328
bl sub_81367B0
ldr r0, [r4]
ldr r3, _08138F68 @ =0x00003288
adds r0, r3
movs r1, 0x2
b _08139092
.align 2, 0
_08138F60: .4byte gUnknown_203B140
_08138F64: .4byte 0x00003290
_08138F68: .4byte 0x00003288
_08138F6C:
movs r0, 0x2
ands r0, r1
cmp r0, 0
bne _08138F76
b _08139094
_08138F76:
ldr r0, [r6]
ldr r1, _08138F90 @ =0x00003268
adds r2, r0, r1
ldrb r0, [r2]
cmp r0, 0x1
bne _08138F9C
ldr r0, _08138F94 @ =gUnknown_203B16E
ldr r1, _08138F98 @ =gUnknown_203B16D
ldrb r1, [r1]
strb r1, [r0]
strb r5, [r2]
b _08139094
.align 2, 0
_08138F90: .4byte 0x00003268
_08138F94: .4byte gUnknown_203B16E
_08138F98: .4byte gUnknown_203B16D
_08138F9C:
ldr r1, _08138FD8 @ =gUnknown_203B16D
ldrb r0, [r1]
cmp r0, 0x4
bne _08138FAA
strb r5, [r1]
ldr r0, _08138FDC @ =gUnknown_203B16E
strb r5, [r0]
_08138FAA:
movs r0, 0x1
bl sub_813A0E8
ldr r0, [r6]
ldr r2, _08138FE0 @ =0x00003224
adds r0, r2
strb r5, [r0]
_08138FB8:
ldr r0, [r6]
ldr r4, _08138FE4 @ =0x00003214
adds r0, r4
ldrb r0, [r0]
bl sub_8138414
ldr r1, [r6]
adds r1, r4
ldrb r0, [r1]
subs r0, 0x1
strb r0, [r1]
ldr r0, [r6]
adds r0, r7
mov r3, r8
strb r3, [r0]
b _08139094
.align 2, 0
_08138FD8: .4byte gUnknown_203B16D
_08138FDC: .4byte gUnknown_203B16E
_08138FE0: .4byte 0x00003224
_08138FE4: .4byte 0x00003214
_08138FE8:
ldr r2, _08139004 @ =gTasks
ldr r6, _08139008 @ =0x00003018
adds r0, r6
ldrb r1, [r0]
lsls r0, r1, 2
adds r0, r1
lsls r0, 3
adds r0, r2
ldr r1, _0813900C @ =sub_81351A0
str r1, [r0]
movs r0, 0
strb r0, [r3]
b _08139094
.align 2, 0
_08139004: .4byte gTasks
_08139008: .4byte 0x00003018
_0813900C: .4byte sub_81351A0
_08139010:
bl sub_8136F4C
bl sub_81374E8
bl sub_8137BD0
ldr r0, [r6]
adds r0, r7
movs r1, 0x3
b _08139092
_08139024:
movs r0, 0x5
bl PlaySE
ldr r0, _08139030 @ =gUnknown_203B16D
strb r4, [r0]
b _08139094
.align 2, 0
_08139030: .4byte gUnknown_203B16D
_08139034:
bl sub_80BF72C
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08139094
bl sub_800B270
cmp r0, 0x1
beq _08139094
ldr r0, [r6]
ldr r1, _081390A0 @ =0x00003003
adds r0, r1
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r6]
ldr r2, _081390A4 @ =0x00003004
adds r0, r2
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r6]
ldr r3, _081390A8 @ =0x00003005
adds r0, r3
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r6]
ldr r1, _081390AC @ =0x00003006
adds r0, r1
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
movs r0, 0
bl CopyBgTilemapBufferToVram
movs r0, 0x3
bl CopyBgTilemapBufferToVram
ldr r0, [r6]
adds r0, r7
movs r1, 0
_08139092:
strb r1, [r0]
_08139094:
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_081390A0: .4byte 0x00003003
_081390A4: .4byte 0x00003004
_081390A8: .4byte 0x00003005
_081390AC: .4byte 0x00003006
thumb_func_end sub_8138CD8
thumb_func_start sub_81390B0
sub_81390B0: @ 81390B0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0xC
ldr r0, _081391D8 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _081391DC @ =0x000032f4
adds r0, r1
ldr r6, [r0]
bl sub_8138B20
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
muls r0, r1
adds r6, r0
ldr r3, _081391E0 @ =gUnknown_203B16D
ldrb r1, [r3]
adds r1, 0xD
adds r0, r6, 0
bl GetMonData
mov r1, sp
adds r1, 0x2
str r1, [sp, 0x8]
strh r0, [r1]
ldr r3, _081391E4 @ =gUnknown_203B16E
mov r8, r3
ldrb r1, [r3]
adds r1, 0xD
adds r0, r6, 0
bl GetMonData
mov r1, sp
strh r0, [r1]
ldr r0, _081391E0 @ =gUnknown_203B16D
ldrb r1, [r0]
adds r1, 0x11
adds r0, r6, 0
bl GetMonData
movs r1, 0x5
add r1, sp
mov r10, r1
strb r0, [r1]
mov r3, r8
ldrb r1, [r3]
adds r1, 0x11
adds r0, r6, 0
bl GetMonData
add r7, sp, 0x4
strb r0, [r7]
adds r0, r6, 0
movs r1, 0x15
bl GetMonData
mov r4, sp
adds r4, 0x6
strb r0, [r4]
ldr r5, _081391E8 @ =gPPUpGetMask
ldr r0, _081391E0 @ =gUnknown_203B16D
ldrb r1, [r0]
adds r0, r1, r5
ldrb r0, [r0]
mov r9, r0
ldrb r3, [r4]
adds r2, r3, 0
mov r0, r9
ands r2, r0
lsls r1, 1
asrs r2, r1
lsls r2, 24
lsrs r2, 24
mov r1, r8
ldrb r0, [r1]
adds r1, r0, r5
ldrb r1, [r1]
ands r1, r3
lsls r0, 1
asrs r1, r0
lsls r1, 24
lsrs r1, 24
mov r0, r9
bics r3, r0
strb r3, [r4]
mov r3, r8
ldrb r0, [r3]
adds r0, r5
ldrb r3, [r0]
ldrb r0, [r4]
bics r0, r3
strb r0, [r4]
mov r3, r8
ldrb r0, [r3]
lsls r0, 1
lsls r2, r0
ldr r3, _081391E0 @ =gUnknown_203B16D
ldrb r0, [r3]
lsls r0, 1
lsls r1, r0
adds r2, r1
ldrb r0, [r4]
orrs r0, r2
strb r0, [r4]
ldrb r1, [r3]
adds r1, 0xD
adds r0, r6, 0
mov r2, sp
bl SetMonData
mov r0, r8
ldrb r1, [r0]
adds r1, 0xD
adds r0, r6, 0
ldr r2, [sp, 0x8]
bl SetMonData
ldr r3, _081391E0 @ =gUnknown_203B16D
ldrb r1, [r3]
adds r1, 0x11
adds r0, r6, 0
adds r2, r7, 0
bl SetMonData
mov r0, r8
ldrb r1, [r0]
adds r1, 0x11
adds r0, r6, 0
mov r2, r10
bl SetMonData
adds r0, r6, 0
movs r1, 0x15
adds r2, r4, 0
bl SetMonData
add sp, 0xC
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_081391D8: .4byte gUnknown_203B140
_081391DC: .4byte 0x000032f4
_081391E0: .4byte gUnknown_203B16D
_081391E4: .4byte gUnknown_203B16E
_081391E8: .4byte gPPUpGetMask
thumb_func_end sub_81390B0
thumb_func_start sub_81391EC
sub_81391EC: @ 81391EC
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0xC
ldr r0, _08139314 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08139318 @ =0x000032f4
adds r0, r1
ldr r6, [r0]
bl sub_8138B20
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 4
adds r6, r1
ldr r3, _0813931C @ =gUnknown_203B16D
ldrb r1, [r3]
adds r1, 0xD
adds r0, r6, 0
bl GetBoxMonData
mov r1, sp
adds r1, 0x2
str r1, [sp, 0x8]
strh r0, [r1]
ldr r3, _08139320 @ =gUnknown_203B16E
mov r8, r3
ldrb r1, [r3]
adds r1, 0xD
adds r0, r6, 0
bl GetBoxMonData
mov r1, sp
strh r0, [r1]
ldr r0, _0813931C @ =gUnknown_203B16D
ldrb r1, [r0]
adds r1, 0x11
adds r0, r6, 0
bl GetBoxMonData
movs r1, 0x5
add r1, sp
mov r10, r1
strb r0, [r1]
mov r3, r8
ldrb r1, [r3]
adds r1, 0x11
adds r0, r6, 0
bl GetBoxMonData
add r7, sp, 0x4
strb r0, [r7]
adds r0, r6, 0
movs r1, 0x15
bl GetBoxMonData
mov r4, sp
adds r4, 0x6
strb r0, [r4]
ldr r5, _08139324 @ =gPPUpGetMask
ldr r0, _0813931C @ =gUnknown_203B16D
ldrb r1, [r0]
adds r0, r1, r5
ldrb r0, [r0]
mov r9, r0
ldrb r3, [r4]
adds r2, r3, 0
mov r0, r9
ands r2, r0
lsls r1, 1
asrs r2, r1
lsls r2, 24
lsrs r2, 24
mov r1, r8
ldrb r0, [r1]
adds r1, r0, r5
ldrb r1, [r1]
ands r1, r3
lsls r0, 1
asrs r1, r0
lsls r1, 24
lsrs r1, 24
mov r0, r9
bics r3, r0
strb r3, [r4]
mov r3, r8
ldrb r0, [r3]
adds r0, r5
ldrb r3, [r0]
ldrb r0, [r4]
bics r0, r3
strb r0, [r4]
mov r3, r8
ldrb r0, [r3]
lsls r0, 1
lsls r2, r0
ldr r3, _0813931C @ =gUnknown_203B16D
ldrb r0, [r3]
lsls r0, 1
lsls r1, r0
adds r2, r1
ldrb r0, [r4]
orrs r0, r2
strb r0, [r4]
ldrb r1, [r3]
adds r1, 0xD
adds r0, r6, 0
mov r2, sp
bl SetBoxMonData
mov r0, r8
ldrb r1, [r0]
adds r1, 0xD
adds r0, r6, 0
ldr r2, [sp, 0x8]
bl SetBoxMonData
ldr r3, _0813931C @ =gUnknown_203B16D
ldrb r1, [r3]
adds r1, 0x11
adds r0, r6, 0
adds r2, r7, 0
bl SetBoxMonData
mov r0, r8
ldrb r1, [r0]
adds r1, 0x11
adds r0, r6, 0
mov r2, r10
bl SetBoxMonData
adds r0, r6, 0
movs r1, 0x15
adds r2, r4, 0
bl SetBoxMonData
add sp, 0xC
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08139314: .4byte gUnknown_203B140
_08139318: .4byte 0x000032f4
_0813931C: .4byte gUnknown_203B16D
_08139320: .4byte gUnknown_203B16E
_08139324: .4byte gPPUpGetMask
thumb_func_end sub_81391EC
thumb_func_start sub_8139328
sub_8139328: @ 8139328
push {r4,r5,lr}
adds r5, r0, 0
ldr r0, _08139358 @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _0813935C @ =0x0000321c
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
bne _08139360
adds r2, 0xD8
adds r0, r1, r2
ldr r4, [r0]
bl sub_8138B20
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
muls r1, r0
adds r1, r4
adds r0, r5, 0
movs r2, 0x64
bl memcpy
b _0813937E
.align 2, 0
_08139358: .4byte gUnknown_203B140
_0813935C: .4byte 0x0000321c
_08139360:
ldr r2, _08139384 @ =0x000032f4
adds r0, r1, r2
ldr r4, [r0]
bl sub_8138B20
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
adds r1, r0
lsls r1, 4
adds r4, r1
adds r0, r4, 0
adds r1, r5, 0
bl BoxMonToMon
_0813937E:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08139384: .4byte 0x000032f4
thumb_func_end sub_8139328
thumb_func_start sub_8139388
sub_8139388: @ 8139388
push {r4,lr}
ldr r4, _081393BC @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _081393C0 @ =0x00003290
adds r0, r1
ldr r1, _081393C4 @ =gUnknown_203B16D
ldrb r1, [r1]
bl sub_8138BEC
lsls r0, 16
lsrs r0, 16
bl sub_8125A90
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _081393CC
ldr r0, [r4]
ldr r1, _081393C8 @ =0x00003208
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x3
beq _081393CC
movs r0, 0
b _081393CE
.align 2, 0
_081393BC: .4byte gUnknown_203B140
_081393C0: .4byte 0x00003290
_081393C4: .4byte gUnknown_203B16D
_081393C8: .4byte 0x00003208
_081393CC:
movs r0, 0x1
_081393CE:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8139388
thumb_func_start sub_81393D4
sub_81393D4: @ 81393D4
push {r4,r5,lr}
sub sp, 0x14
lsls r0, 24
lsrs r2, r0, 24
ldr r1, _081393F8 @ =gUnknown_203B140
ldr r0, [r1]
ldr r3, _081393FC @ =0x00003288
adds r0, r3
ldrb r0, [r0]
adds r5, r1, 0
cmp r0, 0x6
bls _081393EE
b _08139748
_081393EE:
lsls r0, 2
ldr r1, _08139400 @ =_08139404
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_081393F8: .4byte gUnknown_203B140
_081393FC: .4byte 0x00003288
_08139400: .4byte _08139404
.align 2, 0
_08139404:
.4byte _08139420
.4byte _08139444
.4byte _0813946C
.4byte _08139604
.4byte _08139628
.4byte _081396A8
.4byte _08139710
_08139420:
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
ldr r0, _0813943C @ =gUnknown_203B140
ldr r1, [r0]
ldr r4, _08139440 @ =0x00003288
adds r1, r4
b _08139728
.align 2, 0
_0813943C: .4byte gUnknown_203B140
_08139440: .4byte 0x00003288
_08139444:
ldr r0, _08139460 @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _08139452
b _0813975A
_08139452:
bl sub_813B784
ldr r0, _08139464 @ =gUnknown_203B140
ldr r1, [r0]
ldr r0, _08139468 @ =0x00003288
adds r1, r0
b _08139728
.align 2, 0
_08139460: .4byte gPaletteFade
_08139464: .4byte gUnknown_203B140
_08139468: .4byte 0x00003288
_0813946C:
ldr r0, _081394BC @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x40
ands r0, r1
lsls r0, 16
lsrs r2, r0, 16
cmp r2, 0
beq _081394DC
ldr r4, _081394C0 @ =gUnknown_203B16D
ldrb r0, [r4]
cmp r0, 0
beq _081394CC
ldr r0, [r5]
ldr r1, _081394C4 @ =0x00003288
adds r0, r1
movs r1, 0x3
strb r1, [r0]
movs r0, 0x5
bl PlaySE
ldrb r4, [r4]
cmp r4, 0
bne _0813949C
b _0813975A
_0813949C:
ldr r0, [r5]
ldr r2, _081394C8 @ =0x00003258
adds r1, r0, r2
_081394A2:
subs r4, 0x1
lsls r0, r4, 1
adds r0, r1, r0
ldrh r0, [r0]
cmp r0, 0
beq _081394B0
b _08139738
_081394B0:
lsls r0, r4, 24
lsrs r4, r0, 24
cmp r4, 0
bne _081394A2
b _0813975A
.align 2, 0
_081394BC: .4byte gMain
_081394C0: .4byte gUnknown_203B16D
_081394C4: .4byte 0x00003288
_081394C8: .4byte 0x00003258
_081394CC:
movs r0, 0x4
strb r0, [r4]
ldr r0, [r5]
ldr r3, _081394D8 @ =0x00003288
adds r0, r3
b _08139556
.align 2, 0
_081394D8: .4byte 0x00003288
_081394DC:
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _08139568
ldr r3, _08139538 @ =gUnknown_203B16D
ldrb r0, [r3]
cmp r0, 0x3
bhi _08139548
movs r2, 0x4
ldr r0, [r5]
ldr r4, _0813953C @ =0x00003288
adds r0, r4
movs r1, 0x3
strb r1, [r0]
ldr r1, [r5]
subs r4, 0x20
adds r0, r1, r4
ldrb r0, [r0]
cmp r0, 0x1
bne _08139506
movs r2, 0x3
_08139506:
ldrb r4, [r3]
cmp r4, r2
bcs _08139526
ldr r0, _08139540 @ =0x00003258
adds r1, r0
_08139510:
adds r4, 0x1
lsls r0, r4, 1
adds r0, r1, r0
ldrh r0, [r0]
cmp r0, 0
beq _0813951E
b _08139738
_0813951E:
lsls r0, r4, 24
lsrs r4, r0, 24
cmp r4, r2
bcc _08139510
_08139526:
ldr r0, [r5]
ldr r1, _08139544 @ =0x00003268
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
beq _08139534
b _0813975A
_08139534:
b _08139738
.align 2, 0
_08139538: .4byte gUnknown_203B16D
_0813953C: .4byte 0x00003288
_08139540: .4byte 0x00003258
_08139544: .4byte 0x00003268
_08139548:
cmp r0, 0x4
beq _0813954E
b _0813975A
_0813954E:
strb r2, [r3]
ldr r0, [r5]
ldr r2, _08139564 @ =0x00003288
adds r0, r2
_08139556:
movs r1, 0x3
strb r1, [r0]
movs r0, 0x5
bl PlaySE
b _0813975A
.align 2, 0
_08139564: .4byte 0x00003288
_08139568:
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _081395D4
bl sub_8139388
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
beq _08139584
ldr r0, _081395A4 @ =gUnknown_203B16D
ldrb r0, [r0]
cmp r0, 0x4
bne _081395B8
_08139584:
movs r0, 0x5
bl PlaySE
ldr r2, _081395A8 @ =gUnknown_203B16E
ldr r0, _081395A4 @ =gUnknown_203B16D
ldrb r0, [r0]
strb r0, [r2]
ldr r1, _081395AC @ =gSpecialVar_0x8005
ldrb r0, [r2]
strh r0, [r1]
ldr r0, _081395B0 @ =gUnknown_203B140
ldr r0, [r0]
ldr r3, _081395B4 @ =0x00003288
adds r0, r3
b _081395F0
.align 2, 0
_081395A4: .4byte gUnknown_203B16D
_081395A8: .4byte gUnknown_203B16E
_081395AC: .4byte gSpecialVar_0x8005
_081395B0: .4byte gUnknown_203B140
_081395B4: .4byte 0x00003288
_081395B8:
movs r0, 0x1A
bl PlaySE
ldr r0, _081395CC @ =gUnknown_203B140
ldr r0, [r0]
ldr r4, _081395D0 @ =0x00003288
adds r0, r4
movs r1, 0x5
strb r1, [r0]
b _0813975A
.align 2, 0
_081395CC: .4byte gUnknown_203B140
_081395D0: .4byte 0x00003288
_081395D4:
movs r0, 0x2
ands r0, r1
cmp r0, 0
bne _081395DE
b _0813975A
_081395DE:
ldr r1, _081395F8 @ =gUnknown_203B16E
movs r0, 0x4
strb r0, [r1]
ldr r1, _081395FC @ =gSpecialVar_0x8005
movs r0, 0x4
strh r0, [r1]
ldr r0, [r5]
ldr r1, _08139600 @ =0x00003288
adds r0, r1
_081395F0:
movs r1, 0x6
strb r1, [r0]
b _0813975A
.align 2, 0
_081395F8: .4byte gUnknown_203B16E
_081395FC: .4byte gSpecialVar_0x8005
_08139600: .4byte 0x00003288
_08139604:
bl sub_8136F4C
bl sub_81374E8
bl sub_8137BD0
ldr r0, _08139620 @ =gUnknown_203B140
ldr r0, [r0]
ldr r2, _08139624 @ =0x00003288
adds r0, r2
movs r1, 0x4
strb r1, [r0]
b _0813975A
.align 2, 0
_08139620: .4byte gUnknown_203B140
_08139624: .4byte 0x00003288
_08139628:
bl sub_80BF72C
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08139636
b _0813975A
_08139636:
bl sub_800B270
cmp r0, 0x1
bne _08139640
b _0813975A
_08139640:
ldr r4, _08139690 @ =gUnknown_203B140
ldr r0, [r4]
ldr r3, _08139694 @ =0x00003003
adds r0, r3
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r1, _08139698 @ =0x00003004
adds r0, r1
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r2, _0813969C @ =0x00003005
adds r0, r2
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r4]
ldr r3, _081396A0 @ =0x00003006
adds r0, r3
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
movs r0, 0
bl CopyBgTilemapBufferToVram
movs r0, 0x3
bl CopyBgTilemapBufferToVram
ldr r0, [r4]
ldr r4, _081396A4 @ =0x00003288
adds r0, r4
b _081396F8
.align 2, 0
_08139690: .4byte gUnknown_203B140
_08139694: .4byte 0x00003003
_08139698: .4byte 0x00003004
_0813969C: .4byte 0x00003005
_081396A0: .4byte 0x00003006
_081396A4: .4byte 0x00003288
_081396A8:
ldr r0, [r5]
ldr r4, _08139700 @ =0x00003004
adds r0, r4
ldrb r0, [r0]
movs r1, 0
bl FillWindowPixelBuffer
ldr r0, [r5]
adds r0, r4
ldrb r0, [r0]
movs r1, 0
str r1, [sp]
str r1, [sp, 0x4]
ldr r1, _08139704 @ =gUnknown_8463FA4
str r1, [sp, 0x8]
movs r1, 0x1
negs r1, r1
str r1, [sp, 0xC]
ldr r1, _08139708 @ =gUnknown_8419CB9
str r1, [sp, 0x10]
movs r1, 0x2
movs r2, 0x7
movs r3, 0x2A
bl AddTextPrinterParameterized4
ldr r0, [r5]
adds r0, r4
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
movs r0, 0
bl CopyBgTilemapBufferToVram
movs r0, 0x3
bl CopyBgTilemapBufferToVram
ldr r0, [r5]
ldr r1, _0813970C @ =0x00003288
adds r0, r1
_081396F8:
movs r1, 0x2
strb r1, [r0]
b _0813975A
.align 2, 0
_08139700: .4byte 0x00003004
_08139704: .4byte gUnknown_8463FA4
_08139708: .4byte gUnknown_8419CB9
_0813970C: .4byte 0x00003288
_08139710:
movs r0, 0x1
negs r0, r0
movs r1, 0
str r1, [sp]
movs r2, 0
movs r3, 0x10
bl BeginNormalPaletteFade
ldr r0, _08139730 @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _08139734 @ =0x00003288
adds r1, r2
_08139728:
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
b _0813975A
.align 2, 0
_08139730: .4byte gUnknown_203B140
_08139734: .4byte 0x00003288
_08139738:
movs r0, 0x5
bl PlaySE
ldr r0, _08139744 @ =gUnknown_203B16D
strb r4, [r0]
b _0813975A
.align 2, 0
_08139744: .4byte gUnknown_203B16D
_08139748:
ldr r0, _08139764 @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _0813975A
adds r0, r2, 0
bl sub_8137E64
_0813975A:
add sp, 0x14
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08139764: .4byte gPaletteFade
thumb_func_end sub_81393D4
thumb_func_start sub_8139768
sub_8139768: @ 8139768
push {r4-r6,lr}
adds r4, r0, 0
ldr r0, _081397A4 @ =gUnknown_203B140
ldr r1, [r0]
ldr r2, _081397A8 @ =0x00003020
adds r1, r2
ldrb r1, [r1]
adds r6, r0, 0
cmp r1, 0x1
bhi _08139858
ldr r3, _081397AC @ =gUnknown_203B170
ldr r2, [r3]
ldrb r0, [r2, 0x4]
adds r1, r0, 0x1
strb r1, [r2, 0x4]
lsls r0, 24
lsrs r0, 24
adds r5, r3, 0
cmp r0, 0x1
bls _08139858
ldr r3, [r5]
ldrb r0, [r3, 0x8]
cmp r0, 0x1
beq _081397D8
cmp r0, 0x1
bgt _081397B0
cmp r0, 0
beq _081397B6
b _0813981C
.align 2, 0
_081397A4: .4byte gUnknown_203B140
_081397A8: .4byte 0x00003020
_081397AC: .4byte gUnknown_203B170
_081397B0:
cmp r0, 0x2
beq _081397FC
b _0813981C
_081397B6:
ldr r2, _081397D4 @ =gUnknown_8463FBE
ldrb r0, [r3]
adds r1, r0, 0x1
strb r1, [r3]
lsls r0, 24
lsrs r0, 24
adds r0, r2
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
ldrh r1, [r4, 0x22]
adds r0, r1
strh r0, [r4, 0x22]
movs r1, 0x3
b _0813983A
.align 2, 0
_081397D4: .4byte gUnknown_8463FBE
_081397D8:
ldr r2, _081397F8 @ =gUnknown_8463FC1
ldrb r0, [r3]
adds r1, r0, 0x1
strb r1, [r3]
lsls r0, 24
lsrs r0, 24
adds r0, r2
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
ldrh r2, [r4, 0x22]
adds r0, r2
strh r0, [r4, 0x22]
movs r1, 0x5
b _0813983A
.align 2, 0
_081397F8: .4byte gUnknown_8463FC1
_081397FC:
ldr r2, _08139818 @ =gUnknown_8463FC6
ldrb r0, [r3]
adds r1, r0, 0x1
strb r1, [r3]
lsls r0, 24
lsrs r0, 24
adds r0, r2
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
ldrh r1, [r4, 0x22]
adds r0, r1
b _08139836
.align 2, 0
_08139818: .4byte gUnknown_8463FC6
_0813981C:
ldr r3, _08139860 @ =gUnknown_8463FCD
ldr r2, [r5]
ldrb r0, [r2]
adds r1, r0, 0x1
strb r1, [r2]
lsls r0, 24
lsrs r0, 24
adds r0, r3
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
ldrh r2, [r4, 0x22]
adds r0, r2
_08139836:
strh r0, [r4, 0x22]
movs r1, 0x7
_0813983A:
ldr r2, [r5]
ldrb r0, [r2]
cmp r0, r1
bcc _08139852
movs r0, 0
strb r0, [r2]
ldr r1, [r6]
ldr r0, _08139864 @ =0x00003020
adds r1, r0
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
_08139852:
ldr r1, [r5]
movs r0, 0
strb r0, [r1, 0x4]
_08139858:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08139860: .4byte gUnknown_8463FCD
_08139864: .4byte 0x00003020
thumb_func_end sub_8139768
thumb_func_start sub_8139868
sub_8139868: @ 8139868
push {r4-r6,lr}
adds r3, r0, 0
ldr r5, _081398C0 @ =gUnknown_203B140
ldr r0, [r5]
ldr r6, _081398C4 @ =0x00003020
adds r0, r6
ldrb r0, [r0]
cmp r0, 0x1
bhi _0813994C
ldr r4, _081398C8 @ =gUnknown_203B170
ldr r2, [r4]
ldrb r0, [r2, 0x8]
cmp r0, 0x1
beq _081398D0
cmp r0, 0x1
ble _0813988C
cmp r0, 0x2
beq _08139908
_0813988C:
ldrb r0, [r2, 0x4]
adds r1, r0, 0x1
strb r1, [r2, 0x4]
lsls r0, 24
lsrs r0, 24
cmp r0, 0x77
bls _0813994C
ldr r2, _081398CC @ =gUnknown_8463FD4
ldr r1, [r4]
ldrb r0, [r1]
adds r0, r2
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
ldrh r2, [r3, 0x20]
adds r0, r2
movs r2, 0
strh r0, [r3, 0x20]
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
lsls r0, 24
lsrs r0, 24
cmp r0, 0xA
bls _0813994C
b _0813993A
.align 2, 0
_081398C0: .4byte gUnknown_203B140
_081398C4: .4byte 0x00003020
_081398C8: .4byte gUnknown_203B170
_081398CC: .4byte gUnknown_8463FD4
_081398D0:
ldrb r0, [r2, 0x4]
adds r1, r0, 0x1
strb r1, [r2, 0x4]
lsls r0, 24
lsrs r0, 24
cmp r0, 0x59
bls _0813994C
ldr r2, _08139904 @ =gUnknown_8463FDF
ldr r1, [r4]
ldrb r0, [r1]
adds r0, r2
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
ldrh r2, [r3, 0x20]
adds r0, r2
movs r2, 0
strh r0, [r3, 0x20]
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
lsls r0, 24
lsrs r0, 24
cmp r0, 0xA
bls _0813994C
b _0813993A
.align 2, 0
_08139904: .4byte gUnknown_8463FDF
_08139908:
ldrb r0, [r2, 0x4]
adds r1, r0, 0x1
strb r1, [r2, 0x4]
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3B
bls _0813994C
ldr r2, _08139954 @ =gUnknown_8463FEA
ldr r1, [r4]
ldrb r0, [r1]
adds r0, r2
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
ldrh r2, [r3, 0x20]
adds r0, r2
movs r2, 0
strh r0, [r3, 0x20]
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
lsls r0, 24
lsrs r0, 24
cmp r0, 0xE
bls _0813994C
_0813993A:
ldr r0, [r4]
strb r2, [r0]
ldr r0, [r4]
strb r2, [r0, 0x4]
ldr r1, [r5]
adds r1, r6
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
_0813994C:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08139954: .4byte gUnknown_8463FEA
thumb_func_end sub_8139868
thumb_func_start nullsub_96
nullsub_96: @ 8139958
bx lr
thumb_func_end nullsub_96
thumb_func_start sub_813995C
sub_813995C: @ 813995C
push {r4-r7,lr}
sub sp, 0x14
ldr r4, _081399CC @ =gUnknown_203B170
movs r0, 0xC
bl AllocZeroed
str r0, [r4]
ldr r5, _081399D0 @ =gUnknown_203B140
ldr r0, [r5]
ldr r4, _081399D4 @ =0x00003290
adds r0, r4
movs r1, 0x41
bl GetMonData
lsls r0, 16
lsrs r7, r0, 16
ldr r0, [r5]
adds r0, r4
movs r1, 0
bl GetMonData
adds r6, r0, 0
ldr r0, [r5]
adds r0, r4
movs r1, 0x1
bl GetMonData
adds r4, r0, 0
ldr r5, [r5]
ldr r1, _081399D8 @ =0x000032f8
adds r0, r5, r1
ldr r1, [r0]
ldr r0, _081399DC @ =sub_804CF14
cmp r1, r0
bne _081399E8
ldr r1, _081399E0 @ =0x00003024
adds r0, r5, r1
ldr r5, [r0]
cmp r5, 0x1
bne _08139A24
movs r0, 0x3C
str r0, [sp]
movs r0, 0x41
str r0, [sp, 0x4]
movs r0, 0xC
str r0, [sp, 0x8]
ldr r0, _081399E4 @ =0x0000ffff
str r0, [sp, 0xC]
str r5, [sp, 0x10]
adds r0, r7, 0
adds r1, r4, 0
adds r2, r6, 0
movs r3, 0x1
bl CreateMonPicSprite
b _08139A40
.align 2, 0
_081399CC: .4byte gUnknown_203B170
_081399D0: .4byte gUnknown_203B140
_081399D4: .4byte 0x00003290
_081399D8: .4byte 0x000032f8
_081399DC: .4byte sub_804CF14
_081399E0: .4byte 0x00003024
_081399E4: .4byte 0x0000ffff
_081399E8:
ldr r0, _08139A1C @ =gUnknown_203B16C
ldrb r1, [r0]
movs r0, 0x3
bl sub_804455C
lsls r0, 24
cmp r0, 0
beq _08139A24
movs r0, 0x3C
str r0, [sp]
movs r0, 0x41
str r0, [sp, 0x4]
movs r0, 0xC
str r0, [sp, 0x8]
ldr r0, _08139A20 @ =0x0000ffff
str r0, [sp, 0xC]
movs r0, 0x1
str r0, [sp, 0x10]
adds r0, r7, 0
adds r1, r4, 0
adds r2, r6, 0
movs r3, 0x1
bl CreateMonPicSprite
b _08139A40
.align 2, 0
_08139A1C: .4byte gUnknown_203B16C
_08139A20: .4byte 0x0000ffff
_08139A24:
movs r0, 0x3C
str r0, [sp]
movs r0, 0x41
str r0, [sp, 0x4]
movs r0, 0xC
str r0, [sp, 0x8]
ldr r0, _08139A70 @ =0x0000ffff
str r0, [sp, 0xC]
adds r0, r7, 0
adds r1, r4, 0
adds r2, r6, 0
movs r3, 0x1
bl CreateMonPicSprite_HandleDeoxys
_08139A40:
lsls r0, 16
lsrs r5, r0, 16
lsls r0, r5, 4
adds r0, r5
lsls r0, 2
ldr r1, _08139A74 @ =gSprites
adds r4, r0, r1
adds r0, r4, 0
bl FreeSpriteOamMatrix
adds r0, r7, 0
bl IsPokeSpriteNotFlipped
lsls r0, 24
cmp r0, 0
bne _08139A78
adds r0, r4, 0
adds r0, 0x3F
ldrb r1, [r0]
movs r2, 0x1
orrs r1, r2
strb r1, [r0]
b _08139A86
.align 2, 0
_08139A70: .4byte 0x0000ffff
_08139A74: .4byte gSprites
_08139A78:
adds r2, r4, 0
adds r2, 0x3F
ldrb r1, [r2]
movs r0, 0x2
negs r0, r0
ands r0, r1
strb r0, [r2]
_08139A86:
ldr r0, _08139AA4 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08139AA8 @ =0x00003010
adds r0, r1
strb r5, [r0]
movs r0, 0x1
bl sub_8139C44
adds r0, r5, 0
bl sub_8139AAC
add sp, 0x14
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08139AA4: .4byte gUnknown_203B140
_08139AA8: .4byte 0x00003010
thumb_func_end sub_813995C
thumb_func_start sub_8139AAC
sub_8139AAC: @ 8139AAC
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x8
lsls r0, 16
lsrs r0, 16
mov r8, r0
ldr r1, _08139AF4 @ =gUnknown_203B140
ldr r0, [r1]
ldr r2, _08139AF8 @ =0x00003020
adds r0, r2
movs r6, 0
strb r6, [r0]
ldr r2, [r1]
movs r3, 0xC8
lsls r3, 6
adds r0, r2, r3
ldrb r4, [r0]
adds r7, r1, 0
cmp r4, 0x1
bne _08139B3C
ldr r1, _08139AFC @ =0x00003290
adds r0, r2, r1
movs r1, 0x20
bl GetMonData
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
cmp r0, 0x5
bhi _08139B04
ldr r0, _08139B00 @ =gUnknown_203B170
ldr r1, [r0]
movs r0, 0x2
strb r0, [r1, 0x8]
b _08139B1E
.align 2, 0
_08139AF4: .4byte gUnknown_203B140
_08139AF8: .4byte 0x00003020
_08139AFC: .4byte 0x00003290
_08139B00: .4byte gUnknown_203B170
_08139B04:
cmp r0, 0xA
bhi _08139B14
ldr r0, _08139B10 @ =gUnknown_203B170
ldr r0, [r0]
strb r4, [r0, 0x8]
b _08139B1E
.align 2, 0
_08139B10: .4byte gUnknown_203B170
_08139B14:
cmp r1, 0x28
bhi _08139B1E
ldr r0, _08139B30 @ =gUnknown_203B170
ldr r0, [r0]
strb r6, [r0, 0x8]
_08139B1E:
ldr r0, _08139B34 @ =gSprites
mov r2, r8
lsls r1, r2, 4
add r1, r8
lsls r1, 2
adds r0, 0x1C
adds r1, r0
ldr r0, _08139B38 @ =sub_8139868
b _08139C28
.align 2, 0
_08139B30: .4byte gUnknown_203B170
_08139B34: .4byte gSprites
_08139B38: .4byte sub_8139868
_08139B3C:
ldr r3, _08139B60 @ =0x0000326c
adds r0, r2, r3
ldrb r0, [r0]
cmp r0, 0
beq _08139B6C
cmp r0, 0x6
beq _08139B6C
cmp r0, 0x7
beq _08139C2A
ldr r0, _08139B64 @ =gSprites
mov r2, r8
lsls r1, r2, 4
add r1, r8
lsls r1, 2
adds r0, 0x1C
adds r1, r0
ldr r0, _08139B68 @ =nullsub_96
b _08139C28
.align 2, 0
_08139B60: .4byte 0x0000326c
_08139B64: .4byte gSprites
_08139B68: .4byte nullsub_96
_08139B6C:
ldr r0, [r7]
ldr r4, _08139B98 @ =0x00003290
adds r0, r4
movs r1, 0x39
bl GetMonData
lsls r0, 16
lsrs r6, r0, 16
ldr r0, [r7]
adds r0, r4
movs r1, 0x3A
bl GetMonData
lsls r0, 16
lsrs r0, 16
cmp r6, r0
bne _08139BA0
ldr r0, _08139B9C @ =gUnknown_203B170
ldr r1, [r0]
movs r0, 0x3
b _08139C16
.align 2, 0
_08139B98: .4byte 0x00003290
_08139B9C: .4byte gUnknown_203B170
_08139BA0:
bl __floatsidf
str r0, [sp]
str r1, [sp, 0x4]
ldr r3, _08139BD8+4 @ =0x9999999a
ldr r2, _08139BD8 @ =0x3fe99999
bl __muldf3
adds r5, r1, 0
adds r4, r0, 0
adds r0, r6, 0
bl __floatsidf
adds r7, r1, 0
adds r6, r0, 0
adds r1, r5, 0
adds r0, r4, 0
adds r3, r7, 0
adds r2, r6, 0
bl __ledf2
cmp r0, 0
bgt _08139BE4
ldr r0, _08139BE0 @ =gUnknown_203B170
ldr r1, [r0]
movs r0, 0x2
b _08139C16
.align 2, 0
_08139BD8: .double 0.8
_08139BE0: .4byte gUnknown_203B170
_08139BE4:
ldr r3, _08139C04+4 @ =0x33333333
ldr r2, _08139C04 @ =0x3fe33333
ldr r0, [sp]
ldr r1, [sp, 0x4]
bl __muldf3
adds r3, r7, 0
adds r2, r6, 0
bl __ledf2
cmp r0, 0
bgt _08139C10
ldr r0, _08139C0C @ =gUnknown_203B170
ldr r1, [r0]
movs r0, 0x1
b _08139C16
.align 2, 0
_08139C04: .double 0.6
_08139C0C: .4byte gUnknown_203B170
_08139C10:
ldr r0, _08139C38 @ =gUnknown_203B170
ldr r1, [r0]
movs r0, 0
_08139C16:
strb r0, [r1, 0x8]
ldr r0, _08139C3C @ =gSprites
mov r3, r8
lsls r1, r3, 4
add r1, r8
lsls r1, 2
adds r0, 0x1C
adds r1, r0
ldr r0, _08139C40 @ =sub_8139768
_08139C28:
str r0, [r1]
_08139C2A:
add sp, 0x8
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08139C38: .4byte gUnknown_203B170
_08139C3C: .4byte gSprites
_08139C40: .4byte sub_8139768
thumb_func_end sub_8139AAC
thumb_func_start sub_8139C44
sub_8139C44: @ 8139C44
lsls r0, 24
lsrs r0, 24
ldr r3, _08139C74 @ =gSprites
ldr r1, _08139C78 @ =gUnknown_203B140
ldr r1, [r1]
ldr r2, _08139C7C @ =0x00003010
adds r1, r2
ldrb r1, [r1]
lsls r2, r1, 4
adds r2, r1
lsls r2, 2
adds r2, r3
adds r2, 0x3E
movs r1, 0x1
ands r0, r1
lsls r0, 2
ldrb r3, [r2]
movs r1, 0x5
negs r1, r1
ands r1, r3
orrs r1, r0
strb r1, [r2]
bx lr
.align 2, 0
_08139C74: .4byte gSprites
_08139C78: .4byte gUnknown_203B140
_08139C7C: .4byte 0x00003010
thumb_func_end sub_8139C44
thumb_func_start sub_8139C80
sub_8139C80: @ 8139C80
push {r4,lr}
ldr r0, _08139CA4 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08139CA8 @ =0x00003010
adds r0, r1
ldrb r0, [r0]
bl FreeAndDestroyMonPicSprite
ldr r4, _08139CAC @ =gUnknown_203B170
ldr r0, [r4]
bl Free
movs r0, 0
str r0, [r4]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08139CA4: .4byte gUnknown_203B140
_08139CA8: .4byte 0x00003010
_08139CAC: .4byte gUnknown_203B170
thumb_func_end sub_8139C80
thumb_func_start sub_8139CB0
sub_8139CB0: @ 8139CB0
push {r4,lr}
ldr r0, _08139CD4 @ =gUnknown_203B140
ldr r1, [r0]
movs r2, 0xC8
lsls r2, 6
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
bne _08139CD8
adds r2, 0x90
adds r0, r1, r2
movs r1, 0x26
bl GetMonData
lsls r0, 16
lsrs r0, 16
b _08139CDA
.align 2, 0
_08139CD4: .4byte gUnknown_203B140
_08139CD8:
movs r0, 0
_08139CDA:
bl ItemIdToBallId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
adds r0, r4, 0
bl LoadBallGfx
lsls r0, r4, 1
adds r0, r4
lsls r0, 3
ldr r1, _08139D40 @ =gUnknown_82606F4
adds r0, r1
movs r1, 0x6A
movs r2, 0x58
movs r3, 0
bl CreateSprite
ldr r2, _08139D44 @ =gUnknown_203B140
ldr r1, [r2]
ldr r3, _08139D48 @ =0x0000300c
adds r1, r3
strb r0, [r1]
ldr r4, _08139D4C @ =gSprites
ldr r2, [r2]
adds r2, r3
ldrb r1, [r2]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r1, r4, 0
adds r1, 0x1C
adds r0, r1
ldr r1, _08139D50 @ =SpriteCallbackDummy
str r1, [r0]
ldrb r0, [r2]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
adds r1, r4
ldrb r2, [r1, 0x5]
movs r0, 0xD
negs r0, r0
ands r0, r2
strb r0, [r1, 0x5]
movs r0, 0x1
bl sub_8139D54
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08139D40: .4byte gUnknown_82606F4
_08139D44: .4byte gUnknown_203B140
_08139D48: .4byte 0x0000300c
_08139D4C: .4byte gSprites
_08139D50: .4byte SpriteCallbackDummy
thumb_func_end sub_8139CB0
thumb_func_start sub_8139D54
sub_8139D54: @ 8139D54
lsls r0, 24
lsrs r0, 24
ldr r3, _08139D84 @ =gSprites
ldr r1, _08139D88 @ =gUnknown_203B140
ldr r1, [r1]
ldr r2, _08139D8C @ =0x0000300c
adds r1, r2
ldrb r1, [r1]
lsls r2, r1, 4
adds r2, r1
lsls r2, 2
adds r2, r3
adds r2, 0x3E
movs r1, 0x1
ands r0, r1
lsls r0, 2
ldrb r3, [r2]
movs r1, 0x5
negs r1, r1
ands r1, r3
orrs r1, r0
strb r1, [r2]
bx lr
.align 2, 0
_08139D84: .4byte gSprites
_08139D88: .4byte gUnknown_203B140
_08139D8C: .4byte 0x0000300c
thumb_func_end sub_8139D54
thumb_func_start sub_8139D90
sub_8139D90: @ 8139D90
push {lr}
ldr r0, _08139DB0 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08139DB4 @ =0x0000300c
adds r0, r1
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r1, _08139DB8 @ =gSprites
adds r0, r1
bl DestroySpriteAndFreeResources_
pop {r0}
bx r0
.align 2, 0
_08139DB0: .4byte gUnknown_203B140
_08139DB4: .4byte 0x0000300c
_08139DB8: .4byte gSprites
thumb_func_end sub_8139D90
thumb_func_start sub_8139DBC
sub_8139DBC: @ 8139DBC
push {r4-r6,lr}
sub sp, 0xC
ldr r6, _08139E08 @ =gUnknown_203B140
ldr r0, [r6]
ldr r4, _08139E0C @ =0x00003290
adds r0, r4
movs r1, 0x41
bl GetMonData
lsls r0, 16
lsrs r5, r0, 16
ldr r0, [r6]
adds r0, r4
movs r1, 0
bl GetMonData
adds r4, r0, 0
adds r0, r5, 0
bl SafeLoadMonIconPalette
ldr r2, [r6]
ldr r1, _08139E10 @ =0x000032f8
adds r0, r2, r1
ldr r1, [r0]
ldr r0, _08139E14 @ =sub_804CF14
cmp r1, r0
bne _08139E2C
ldr r1, _08139E18 @ =0x00003024
adds r0, r2, r1
ldr r0, [r0]
cmp r0, 0x1
bne _08139E20
ldr r1, _08139E1C @ =SpriteCallbackDummy
movs r0, 0
str r0, [sp]
str r4, [sp, 0x4]
b _08139E58
.align 2, 0
_08139E08: .4byte gUnknown_203B140
_08139E0C: .4byte 0x00003290
_08139E10: .4byte 0x000032f8
_08139E14: .4byte sub_804CF14
_08139E18: .4byte 0x00003024
_08139E1C: .4byte SpriteCallbackDummy
_08139E20:
ldr r1, _08139E28 @ =SpriteCallbackDummy
movs r0, 0
b _08139E52
.align 2, 0
_08139E28: .4byte SpriteCallbackDummy
_08139E2C:
ldr r0, _08139E48 @ =gUnknown_203B16C
ldrb r1, [r0]
movs r0, 0x3
bl sub_804455C
lsls r0, 24
lsrs r0, 24
cmp r0, 0
beq _08139E50
ldr r1, _08139E4C @ =SpriteCallbackDummy
movs r0, 0
str r0, [sp]
str r4, [sp, 0x4]
b _08139E58
.align 2, 0
_08139E48: .4byte gUnknown_203B16C
_08139E4C: .4byte SpriteCallbackDummy
_08139E50:
ldr r1, _08139E98 @ =SpriteCallbackDummy
_08139E52:
str r0, [sp]
str r4, [sp, 0x4]
movs r0, 0x1
_08139E58:
str r0, [sp, 0x8]
adds r0, r5, 0
movs r2, 0x18
movs r3, 0x20
bl sub_8096E18
ldr r1, [r6]
ldr r2, _08139E9C @ =0x00003014
adds r1, r2
strb r0, [r1]
adds r0, r5, 0
bl IsPokeSpriteNotFlipped
lsls r0, 24
cmp r0, 0
bne _08139EA8
ldr r2, _08139EA0 @ =gSprites
ldr r0, _08139EA4 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08139E9C @ =0x00003014
adds r0, r1
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r2
adds r0, 0x3F
ldrb r1, [r0]
movs r2, 0x1
orrs r1, r2
b _08139EC6
.align 2, 0
_08139E98: .4byte SpriteCallbackDummy
_08139E9C: .4byte 0x00003014
_08139EA0: .4byte gSprites
_08139EA4: .4byte gUnknown_203B140
_08139EA8:
ldr r2, _08139ED8 @ =gSprites
ldr r0, _08139EDC @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _08139EE0 @ =0x00003014
adds r0, r1
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r2
adds r0, 0x3F
ldrb r2, [r0]
movs r1, 0x2
negs r1, r1
ands r1, r2
_08139EC6:
strb r1, [r0]
movs r0, 0x1
bl sub_8139EE4
add sp, 0xC
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08139ED8: .4byte gSprites
_08139EDC: .4byte gUnknown_203B140
_08139EE0: .4byte 0x00003014
thumb_func_end sub_8139DBC
thumb_func_start sub_8139EE4
sub_8139EE4: @ 8139EE4
lsls r0, 24
lsrs r0, 24
ldr r3, _08139F14 @ =gSprites
ldr r1, _08139F18 @ =gUnknown_203B140
ldr r1, [r1]
ldr r2, _08139F1C @ =0x00003014
adds r1, r2
ldrb r1, [r1]
lsls r2, r1, 4
adds r2, r1
lsls r2, 2
adds r2, r3
adds r2, 0x3E
movs r1, 0x1
ands r0, r1
lsls r0, 2
ldrb r3, [r2]
movs r1, 0x5
negs r1, r1
ands r1, r3
orrs r1, r0
strb r1, [r2]
bx lr
.align 2, 0
_08139F14: .4byte gSprites
_08139F18: .4byte gUnknown_203B140
_08139F1C: .4byte 0x00003014
thumb_func_end sub_8139EE4
thumb_func_start sub_8139F20
sub_8139F20: @ 8139F20
push {r4,lr}
ldr r4, _08139F54 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _08139F58 @ =0x00003290
adds r0, r1
movs r1, 0x41
bl GetMonData
lsls r0, 16
lsrs r0, 16
bl sub_8097138
ldr r0, [r4]
ldr r1, _08139F5C @ =0x00003014
adds r0, r1
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r1, _08139F60 @ =gSprites
adds r0, r1
bl sub_8097070
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08139F54: .4byte gUnknown_203B140
_08139F58: .4byte 0x00003290
_08139F5C: .4byte 0x00003014
_08139F60: .4byte gSprites
thumb_func_end sub_8139F20
thumb_func_start sub_8139F64
sub_8139F64: @ 8139F64
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x34
lsls r0, 16
lsrs r0, 16
str r0, [sp, 0x30]
lsls r1, 16
lsrs r1, 16
mov r9, r1
movs r6, 0x80
lsls r6, 4
adds r0, r6, 0
bl AllocZeroed
str r0, [sp, 0x18]
adds r0, r6, 0
bl AllocZeroed
add r5, sp, 0x18
str r0, [r5, 0x4]
movs r0, 0xC
bl AllocZeroed
ldr r4, _0813A0BC @ =gUnknown_203B148
str r0, [r4]
movs r0, 0xC
bl AllocZeroed
str r0, [r4, 0x4]
movs r0, 0xC
bl AllocZeroed
str r0, [r4, 0x8]
movs r0, 0xC
bl AllocZeroed
str r0, [r4, 0xC]
ldr r0, _0813A0C0 @ =gUnknown_8463740
ldr r1, [sp, 0x18]
bl LZ77UnCompWram
ldr r0, _0813A0C4 @ =gUnknown_846386C
ldr r1, [r5, 0x4]
bl LZ77UnCompWram
movs r7, 0
add r0, sp, 0x20
mov r8, r0
add r6, sp, 0x28
_08139FCC:
movs r4, 0x1
ands r4, r7
lsls r0, r4, 2
add r0, sp
adds r0, 0x18
ldr r0, [r0]
str r0, [sp, 0x20]
ldr r1, [sp, 0x30]
adds r5, r1, r7
lsls r0, r5, 16
movs r1, 0x80
lsls r1, 4
orrs r0, r1
mov r1, r8
str r0, [r1, 0x4]
ldr r0, _0813A0C8 @ =gUnknown_8463720
str r0, [sp, 0x28]
ldr r1, _0813A0CC @ =0xffff0000
ldr r0, [r6, 0x4]
ands r0, r1
mov r1, r9
orrs r0, r1
str r0, [r6, 0x4]
mov r0, sp
movs r1, 0
mov r10, r1
strh r5, [r0]
mov r1, r9
strh r1, [r0, 0x2]
ldr r0, _0813A0D0 @ =gUnknown_846398C
str r0, [sp, 0x4]
ldr r0, _0813A0D4 @ =gUnknown_84639A4
str r0, [sp, 0x8]
mov r0, r10
str r0, [sp, 0xC]
ldr r0, _0813A0D8 @ =gDummySpriteAffineAnimTable
str r0, [sp, 0x10]
ldr r0, _0813A0DC @ =sub_813A124
str r0, [sp, 0x14]
mov r0, r8
bl LoadSpriteSheet
adds r0, r6, 0
bl LoadSpritePalette
lsls r1, r4, 6
adds r1, 0x98
ldr r0, _0813A0E0 @ =gUnknown_203B16D
ldrb r0, [r0]
lsls r2, r0, 3
subs r2, r0
lsls r2, 18
movs r0, 0x88
lsls r0, 14
adds r2, r0
asrs r2, 16
mov r0, sp
adds r3, r4, 0
bl CreateSprite
lsls r0, 24
lsrs r0, 24
ldr r2, _0813A0BC @ =gUnknown_203B148
lsls r1, r7, 2
adds r3, r1, r2
ldr r2, [r3]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
ldr r0, _0813A0E4 @ =gSprites
adds r1, r0
str r1, [r2]
strh r7, [r2, 0x4]
ldr r0, [r3]
strh r5, [r0, 0x6]
ldr r0, [r3]
mov r1, r9
strh r1, [r0, 0x8]
ldr r0, [r3]
ldr r0, [r0]
adds r0, 0x43
strb r7, [r0]
cmp r7, 0x1
bls _0813A07E
ldr r0, [r3]
ldr r0, [r0]
movs r1, 0x1
bl StartSpriteAnim
_0813A07E:
adds r0, r7, 0x1
lsls r0, 24
lsrs r7, r0, 24
cmp r7, 0x3
bls _08139FCC
movs r0, 0x1
bl sub_813A0E8
ldr r0, [sp, 0x18]
cmp r0, 0
beq _0813A09C
bl Free
mov r0, r10
str r0, [sp, 0x18]
_0813A09C:
ldr r0, [sp, 0x1C]
cmp r0, 0
beq _0813A0AA
bl Free
mov r1, r10
str r1, [sp, 0x1C]
_0813A0AA:
add sp, 0x34
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813A0BC: .4byte gUnknown_203B148
_0813A0C0: .4byte gUnknown_8463740
_0813A0C4: .4byte gUnknown_846386C
_0813A0C8: .4byte gUnknown_8463720
_0813A0CC: .4byte 0xffff0000
_0813A0D0: .4byte gUnknown_846398C
_0813A0D4: .4byte gUnknown_84639A4
_0813A0D8: .4byte gDummySpriteAffineAnimTable
_0813A0DC: .4byte sub_813A124
_0813A0E0: .4byte gUnknown_203B16D
_0813A0E4: .4byte gSprites
thumb_func_end sub_8139F64
thumb_func_start sub_813A0E8
sub_813A0E8: @ 813A0E8
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 24
movs r3, 0
ldr r6, _0813A120 @ =gUnknown_203B148
movs r1, 0x1
ands r0, r1
lsls r4, r0, 2
movs r5, 0x5
negs r5, r5
_0813A0FC:
lsls r0, r3, 2
adds r0, r6
ldr r0, [r0]
ldr r1, [r0]
adds r1, 0x3E
ldrb r2, [r1]
adds r0, r5, 0
ands r0, r2
orrs r0, r4
strb r0, [r1]
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0x3
bls _0813A0FC
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0813A120: .4byte gUnknown_203B148
thumb_func_end sub_813A0E8
thumb_func_start sub_813A124
sub_813A124: @ 813A124
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
movs r6, 0
ldr r3, _0813A19C @ =gUnknown_203B140
ldr r4, _0813A1A0 @ =gUnknown_203B148
_0813A132:
ldr r0, [r3]
ldr r1, _0813A1A4 @ =0x00003268
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x1
bne _0813A142
cmp r6, 0x1
bhi _0813A158
_0813A142:
lsls r0, r6, 2
adds r0, r4
ldr r0, [r0]
ldr r2, [r0]
ldr r0, _0813A1A8 @ =gUnknown_203B16D
ldrb r1, [r0]
lsls r0, r1, 3
subs r0, r1
lsls r0, 2
adds r0, 0x22
strh r0, [r2, 0x22]
_0813A158:
adds r0, r6, 0x1
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x3
bls _0813A132
ldr r1, [r3]
ldr r2, _0813A1A4 @ =0x00003268
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x1
beq _0813A1AC
subs r2, 0x54
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0x3
bne _0813A20E
ldr r4, _0813A1A0 @ =gUnknown_203B148
ldr r0, [r4]
ldr r1, [r0]
adds r1, 0x3E
ldrb r3, [r1]
movs r2, 0x5
negs r2, r2
adds r0, r2, 0
ands r0, r3
strb r0, [r1]
ldr r0, [r4, 0x4]
ldr r0, [r0]
adds r0, 0x3E
ldrb r1, [r0]
ands r2, r1
strb r2, [r0]
b _0813A20E
.align 2, 0
_0813A19C: .4byte gUnknown_203B140
_0813A1A0: .4byte gUnknown_203B148
_0813A1A4: .4byte 0x00003268
_0813A1A8: .4byte gUnknown_203B16D
_0813A1AC:
movs r6, 0
ldr r0, _0813A1F0 @ =gUnknown_203B148
mov r9, r0
mov r8, r6
movs r7, 0x4
movs r1, 0x5
negs r1, r1
mov r12, r1
_0813A1BC:
lsls r0, r6, 2
add r0, r9
ldr r0, [r0]
ldr r3, [r0]
ldrh r0, [r3, 0x2E]
adds r1, r0, 0x1
strh r1, [r3, 0x2E]
adds r4, r3, 0
adds r4, 0x3E
ldrb r2, [r4]
movs r0, 0x4
ands r0, r2
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0
beq _0813A1F4
lsls r0, r1, 16
asrs r0, 16
cmp r0, 0x3C
ble _0813A204
mov r0, r12
ands r0, r2
strb r0, [r4]
mov r2, r8
strh r2, [r3, 0x2E]
b _0813A204
.align 2, 0
_0813A1F0: .4byte gUnknown_203B148
_0813A1F4:
lsls r0, r1, 16
asrs r0, 16
cmp r0, 0x3C
ble _0813A204
adds r0, r2, 0
orrs r0, r7
strb r0, [r4]
strh r5, [r3, 0x2E]
_0813A204:
adds r0, r6, 0x1
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x1
bls _0813A1BC
_0813A20E:
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_813A124
thumb_func_start sub_813A21C
sub_813A21C: @ 813A21C
push {r4-r6,lr}
movs r5, 0
ldr r6, _0813A250 @ =gUnknown_203B148
_0813A222:
lsls r0, r5, 2
adds r4, r0, r6
ldr r0, [r4]
ldr r0, [r0]
cmp r0, 0
beq _0813A232
bl DestroySpriteAndFreeResources
_0813A232:
ldr r0, [r4]
cmp r0, 0
beq _0813A240
bl Free
movs r0, 0
str r0, [r4]
_0813A240:
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x3
bls _0813A222
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0813A250: .4byte gUnknown_203B148
thumb_func_end sub_813A21C
thumb_func_start sub_813A254
sub_813A254: @ 813A254
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x28
lsls r0, 16
lsrs r7, r0, 16
lsls r1, 16
lsrs r6, r1, 16
ldr r0, _0813A310 @ =gUnknown_203B158
mov r8, r0
movs r0, 0x8
bl AllocZeroed
mov r1, r8
str r0, [r1]
movs r4, 0x80
lsls r4, 3
adds r0, r4, 0
bl AllocZeroed
adds r5, r0, 0
ldr r0, _0813A314 @ =gUnknown_8E9BF48
adds r1, r5, 0
bl LZ77UnCompWram
mov r1, r8
ldr r0, [r1]
cmp r0, 0
beq _0813A2F0
str r5, [sp, 0x18]
add r0, sp, 0x18
lsls r1, r7, 16
orrs r1, r4
str r1, [r0, 0x4]
ldr r1, _0813A318 @ =gUnknown_8E9BF28
str r1, [sp, 0x20]
ldr r2, _0813A31C @ =0xffff0000
add r4, sp, 0x20
ldr r1, [r4, 0x4]
ands r1, r2
orrs r1, r6
str r1, [r4, 0x4]
mov r1, sp
movs r2, 0
strh r7, [r1]
strh r6, [r1, 0x2]
ldr r1, _0813A320 @ =gUnknown_84639AC
str r1, [sp, 0x4]
ldr r1, _0813A324 @ =gUnknown_84639F4
str r1, [sp, 0x8]
str r2, [sp, 0xC]
ldr r1, _0813A328 @ =gDummySpriteAffineAnimTable
str r1, [sp, 0x10]
ldr r1, _0813A32C @ =SpriteCallbackDummy
str r1, [sp, 0x14]
bl LoadSpriteSheet
adds r0, r4, 0
bl LoadSpritePalette
mov r0, sp
movs r1, 0
movs r2, 0
movs r3, 0
bl CreateSprite
lsls r0, 24
lsrs r0, 24
mov r1, r8
ldr r2, [r1]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
ldr r0, _0813A330 @ =gSprites
adds r1, r0
str r1, [r2]
strh r7, [r2, 0x4]
strh r6, [r2, 0x6]
_0813A2F0:
movs r0, 0x1
bl sub_813A3B8
bl sub_813A35C
cmp r5, 0
beq _0813A304
adds r0, r5, 0
bl Free
_0813A304:
add sp, 0x28
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813A310: .4byte gUnknown_203B158
_0813A314: .4byte gUnknown_8E9BF48
_0813A318: .4byte gUnknown_8E9BF28
_0813A31C: .4byte 0xffff0000
_0813A320: .4byte gUnknown_84639AC
_0813A324: .4byte gUnknown_84639F4
_0813A328: .4byte gDummySpriteAffineAnimTable
_0813A32C: .4byte SpriteCallbackDummy
_0813A330: .4byte gSprites
thumb_func_end sub_813A254
thumb_func_start sub_813A334
sub_813A334: @ 813A334
push {r4,lr}
ldr r4, _0813A358 @ =gUnknown_203B158
ldr r0, [r4]
ldr r0, [r0]
cmp r0, 0
beq _0813A344
bl DestroySpriteAndFreeResources
_0813A344:
ldr r0, [r4]
cmp r0, 0
beq _0813A352
bl Free
movs r0, 0
str r0, [r4]
_0813A352:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813A358: .4byte gUnknown_203B158
thumb_func_end sub_813A334
thumb_func_start sub_813A35C
sub_813A35C: @ 813A35C
push {r4,lr}
ldr r4, _0813A38C @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _0813A390 @ =0x00003290
adds r0, r1
movs r1, 0x37
bl GetMonData
bl sub_8138C5C
ldr r1, [r4]
ldr r2, _0813A394 @ =0x0000326c
adds r1, r2
strb r0, [r1]
ldr r0, [r4]
adds r0, r2
ldrb r1, [r0]
cmp r1, 0
bne _0813A398
movs r0, 0x1
bl sub_813A3B8
b _0813A3AE
.align 2, 0
_0813A38C: .4byte gUnknown_203B140
_0813A390: .4byte 0x00003290
_0813A394: .4byte 0x0000326c
_0813A398:
ldr r0, _0813A3B4 @ =gUnknown_203B158
ldr r0, [r0]
ldr r0, [r0]
subs r1, 0x1
lsls r1, 24
lsrs r1, 24
bl StartSpriteAnim
movs r0, 0
bl sub_813A3B8
_0813A3AE:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813A3B4: .4byte gUnknown_203B158
thumb_func_end sub_813A35C
thumb_func_start sub_813A3B8
sub_813A3B8: @ 813A3B8
push {r4,r5,lr}
lsls r0, 24
lsrs r3, r0, 24
ldr r1, _0813A3EC @ =gUnknown_203B140
ldr r2, [r1]
ldr r4, _0813A3F0 @ =0x0000326c
adds r0, r2, r4
ldrb r0, [r0]
adds r5, r1, 0
cmp r0, 0
beq _0813A3DA
movs r1, 0xC8
lsls r1, 6
adds r0, r2, r1
ldrb r0, [r0]
cmp r0, 0
beq _0813A3F8
_0813A3DA:
ldr r3, _0813A3F4 @ =gUnknown_203B158
ldr r0, [r3]
ldr r1, [r0]
adds r1, 0x3E
ldrb r0, [r1]
movs r2, 0x4
orrs r0, r2
strb r0, [r1]
b _0813A416
.align 2, 0
_0813A3EC: .4byte gUnknown_203B140
_0813A3F0: .4byte 0x0000326c
_0813A3F4: .4byte gUnknown_203B158
_0813A3F8:
ldr r4, _0813A438 @ =gUnknown_203B158
ldr r0, [r4]
ldr r2, [r0]
adds r2, 0x3E
movs r0, 0x1
adds r1, r3, 0
ands r1, r0
lsls r1, 2
ldrb r3, [r2]
movs r0, 0x5
negs r0, r0
ands r0, r3
orrs r0, r1
strb r0, [r2]
adds r3, r4, 0
_0813A416:
ldr r0, [r5]
ldr r4, _0813A43C @ =0x00003214
adds r0, r4
ldrb r0, [r0]
cmp r0, 0x3
bne _0813A440
ldr r1, [r3]
ldr r2, [r1]
movs r3, 0x22
ldrsh r0, [r2, r3]
cmp r0, 0x2D
beq _0813A456
movs r0, 0x10
strh r0, [r2, 0x20]
ldr r1, [r1]
movs r0, 0x2D
b _0813A454
.align 2, 0
_0813A438: .4byte gUnknown_203B158
_0813A43C: .4byte 0x00003214
_0813A440:
ldr r1, [r3]
ldr r2, [r1]
movs r4, 0x22
ldrsh r0, [r2, r4]
cmp r0, 0x26
beq _0813A456
movs r0, 0x10
strh r0, [r2, 0x20]
ldr r1, [r1]
movs r0, 0x26
_0813A454:
strh r0, [r1, 0x22]
_0813A456:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_813A3B8
thumb_func_start sub_813A45C
sub_813A45C: @ 813A45C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x40
lsls r0, 16
lsrs r0, 16
mov r10, r0
lsls r1, 16
lsrs r7, r1, 16
movs r0, 0
str r0, [sp, 0x38]
ldr r4, _0813A4BC @ =gUnknown_203B15C
movs r0, 0x40
bl AllocZeroed
str r0, [r4]
movs r0, 0xC0
lsls r0, 1
bl AllocZeroed
mov r9, r0
ldr r0, _0813A4C0 @ =gUnknown_8E9B4B8
mov r1, r9
bl LZ77UnCompWram
ldr r5, _0813A4C4 @ =gUnknown_203B140
ldr r0, [r5]
ldr r4, _0813A4C8 @ =0x00003290
adds r0, r4
movs r1, 0x39
bl GetMonData
adds r6, r0, 0
ldr r0, [r5]
adds r0, r4
movs r1, 0x3A
bl GetMonData
adds r1, r0, 0
lsrs r0, r1, 2
cmp r0, r6
bls _0813A4CC
movs r1, 0x2
str r1, [sp, 0x38]
b _0813A4D6
.align 2, 0
_0813A4BC: .4byte gUnknown_203B15C
_0813A4C0: .4byte gUnknown_8E9B4B8
_0813A4C4: .4byte gUnknown_203B140
_0813A4C8: .4byte 0x00003290
_0813A4CC:
lsrs r0, r1, 1
cmp r0, r6
bls _0813A4D6
movs r2, 0x1
str r2, [sp, 0x38]
_0813A4D6:
mov r3, r9
cmp r3, 0
beq _0813A540
str r3, [sp, 0x18]
movs r2, 0xC0
lsls r2, 1
add r0, sp, 0x18
mov r6, r10
lsls r1, r6, 16
orrs r1, r2
str r1, [r0, 0x4]
ldr r3, _0813A600 @ =gUnknown_8463FFC
ldr r1, [r3]
str r1, [sp, 0x20]
ldr r6, _0813A604 @ =0xffff0000
add r1, sp, 0x20
mov r8, r1
ldr r1, [r1, 0x4]
ands r1, r6
orrs r1, r7
mov r2, r8
str r1, [r2, 0x4]
ldr r1, [r3, 0x4]
str r1, [sp, 0x28]
adds r2, r7, 0x1
lsls r2, 16
lsrs r2, 16
add r5, sp, 0x28
ldr r1, [r5, 0x4]
ands r1, r6
orrs r1, r2
str r1, [r5, 0x4]
ldr r1, [r3, 0x8]
str r1, [sp, 0x30]
adds r2, r7, 0x2
lsls r2, 16
lsrs r2, 16
add r4, sp, 0x30
ldr r1, [r4, 0x4]
ands r1, r6
orrs r1, r2
str r1, [r4, 0x4]
bl LoadSpriteSheet
mov r0, r8
bl LoadSpritePalette
adds r0, r5, 0
bl LoadSpritePalette
adds r0, r4, 0
bl LoadSpritePalette
_0813A540:
movs r4, 0
ldr r3, [sp, 0x38]
adds r3, r7, r3
str r3, [sp, 0x3C]
mov r8, r4
ldr r5, _0813A608 @ =gUnknown_203B15C
_0813A54C:
mov r0, sp
mov r6, r10
strh r6, [r0]
ldrh r1, [r0, 0x3C]
strh r1, [r0, 0x2]
ldr r0, _0813A60C @ =gUnknown_8463A14
str r0, [sp, 0x4]
ldr r0, _0813A610 @ =gUnknown_8463A7C
str r0, [sp, 0x8]
mov r2, r8
str r2, [sp, 0xC]
ldr r0, _0813A614 @ =gDummySpriteAffineAnimTable
str r0, [sp, 0x10]
ldr r0, _0813A618 @ =SpriteCallbackDummy
str r0, [sp, 0x14]
ldr r1, [r5]
lsls r0, r4, 1
adds r1, 0x28
adds r1, r0
lsls r0, r4, 3
adds r0, 0xAC
strh r0, [r1]
movs r3, 0
ldrsh r1, [r1, r3]
mov r0, sp
movs r2, 0x24
movs r3, 0
bl CreateSprite
lsls r0, 24
lsrs r0, 24
ldr r2, [r5]
lsls r3, r4, 2
adds r2, r3
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
ldr r0, _0813A61C @ =gSprites
adds r1, r0
str r1, [r2]
adds r1, 0x3E
ldrb r0, [r1]
movs r6, 0x5
negs r6, r6
adds r2, r6, 0
ands r0, r2
strb r0, [r1]
ldr r0, [r5]
adds r0, r3
ldr r2, [r0]
ldrb r1, [r2, 0x5]
subs r6, 0x8
adds r0, r6, 0
ands r1, r0
movs r0, 0x8
orrs r1, r0
strb r1, [r2, 0x5]
ldr r0, [r5]
mov r1, r10
strh r1, [r0, 0x3C]
strh r7, [r0, 0x3E]
adds r0, r3
ldr r0, [r0]
movs r1, 0x8
bl StartSpriteAnim
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x8
bls _0813A54C
bl sub_813A620
movs r0, 0x1
bl sub_813A838
mov r2, r9
cmp r2, 0
beq _0813A5F0
mov r0, r9
bl Free
_0813A5F0:
add sp, 0x40
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813A600: .4byte gUnknown_8463FFC
_0813A604: .4byte 0xffff0000
_0813A608: .4byte gUnknown_203B15C
_0813A60C: .4byte gUnknown_8463A14
_0813A610: .4byte gUnknown_8463A7C
_0813A614: .4byte gDummySpriteAffineAnimTable
_0813A618: .4byte SpriteCallbackDummy
_0813A61C: .4byte gSprites
thumb_func_end sub_813A45C
thumb_func_start sub_813A620
sub_813A620: @ 813A620
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x8
movs r0, 0
mov r10, r0
ldr r5, _0813A688 @ =gUnknown_203B140
ldr r1, [r5]
movs r2, 0xC8
lsls r2, 6
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
beq _0813A642
b _0813A7EA
_0813A642:
ldr r4, _0813A68C @ =0x00003290
adds r0, r1, r4
movs r1, 0x39
bl GetMonData
mov r9, r0
ldr r0, [r5]
adds r0, r4
movs r1, 0x3A
bl GetMonData
adds r4, r0, 0
movs r1, 0x5
bl __udivsi3
cmp r0, r9
bcs _0813A666
lsrs r0, r4, 1
_0813A666:
mov r3, r9
lsls r0, r3, 16
asrs r0, 16
lsls r1, r4, 16
asrs r1, 16
bl GetHPBarLevel
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
beq _0813A690
cmp r0, 0x2
bgt _0813A684
cmp r0, 0x1
beq _0813A694
_0813A684:
movs r6, 0
b _0813A696
.align 2, 0
_0813A688: .4byte gUnknown_203B140
_0813A68C: .4byte 0x00003290
_0813A690:
movs r6, 0x1
b _0813A696
_0813A694:
movs r6, 0x2
_0813A696:
movs r0, 0
mov r8, r0
_0813A69A:
movs r0, 0x78
bl IndexOfSpritePaletteTag
ldr r5, _0813A6FC @ =gUnknown_203B15C
ldr r1, [r5]
mov r3, r8
lsls r2, r3, 2
adds r1, r2
ldr r3, [r1]
lsls r0, 24
lsrs r0, 24
adds r0, r6
lsls r0, 4
ldrb r2, [r3, 0x5]
movs r1, 0xF
ands r1, r2
orrs r1, r0
strb r1, [r3, 0x5]
mov r0, r8
adds r0, 0x1
lsls r0, 24
lsrs r0, 24
mov r8, r0
cmp r0, 0x8
bls _0813A69A
cmp r9, r4
bne _0813A700
movs r0, 0x2
mov r8, r0
cmp r0, 0x7
bls _0813A6DA
b _0813A7CA
_0813A6DA:
adds r4, r5, 0
_0813A6DC:
ldr r0, [r4]
mov r2, r8
lsls r1, r2, 2
adds r0, r1
ldr r0, [r0]
movs r1, 0x8
bl StartSpriteAnim
mov r0, r8
adds r0, 0x1
lsls r0, 24
lsrs r0, 24
mov r8, r0
cmp r0, 0x7
bls _0813A6DC
b _0813A7CA
.align 2, 0
_0813A6FC: .4byte gUnknown_203B15C
_0813A700:
lsls r0, r4, 2
movs r1, 0x6
bl __udivsi3
adds r6, r0, 0
movs r7, 0
mov r3, r9
lsls r0, r3, 2
adds r4, r0, 0
movs r5, 0
b _0813A724
_0813A716:
subs r4, r6
sbcs r5, r7
mov r0, r10
adds r0, 0x1
lsls r0, 24
lsrs r0, 24
mov r10, r0
_0813A724:
cmp r5, r7
bgt _0813A716
cmp r5, r7
bne _0813A730
cmp r4, r6
bhi _0813A716
_0813A730:
mov r0, r10
adds r0, 0x2
lsls r0, 24
lsrs r0, 24
mov r10, r0
movs r0, 0x2
mov r8, r0
lsrs r1, r4, 31
str r1, [sp, 0x4]
lsls r2, r5, 1
str r2, [sp]
cmp r8, r10
bcs _0813A76E
ldr r3, _0813A7A8 @ =gUnknown_203B15C
mov r9, r3
_0813A74E:
mov r1, r9
ldr r0, [r1]
mov r2, r8
lsls r1, r2, 2
adds r0, r1
ldr r0, [r0]
movs r1, 0x8
bl StartSpriteAnim
mov r0, r8
adds r0, 0x1
lsls r0, 24
lsrs r0, 24
mov r8, r0
cmp r8, r10
bcc _0813A74E
_0813A76E:
ldr r3, [sp, 0x4]
ldr r0, [sp]
orrs r3, r0
lsls r2, r4, 1
adds r2, r4
adcs r3, r5
lsrs r5, r2, 31
lsls r4, r3, 1
adds r1, r5, 0
orrs r1, r4
lsls r0, r2, 1
adds r3, r7, 0
adds r2, r6, 0
bl __divdi3
adds r2, r1, 0
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
ldr r4, _0813A7A8 @ =gUnknown_203B15C
ldr r0, [r4]
mov r2, r10
lsls r3, r2, 2
adds r0, r3
ldr r0, [r0]
bl StartSpriteAnim
mov r0, r10
b _0813A7BE
.align 2, 0
_0813A7A8: .4byte gUnknown_203B15C
_0813A7AC:
ldr r0, [r4]
mov r3, r8
lsls r1, r3, 2
adds r0, r1
ldr r0, [r0]
movs r1, 0
bl StartSpriteAnim
mov r0, r8
_0813A7BE:
adds r0, 0x1
lsls r0, 24
lsrs r0, 24
mov r8, r0
cmp r0, 0x7
bls _0813A7AC
_0813A7CA:
ldr r4, _0813A7FC @ =gUnknown_203B15C
ldr r0, [r4]
ldr r0, [r0]
movs r1, 0x9
bl StartSpriteAnim
ldr r0, [r4]
ldr r0, [r0, 0x4]
movs r1, 0xA
bl StartSpriteAnim
ldr r0, [r4]
ldr r0, [r0, 0x20]
movs r1, 0xB
bl StartSpriteAnim
_0813A7EA:
add sp, 0x8
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813A7FC: .4byte gUnknown_203B15C
thumb_func_end sub_813A620
thumb_func_start sub_813A800
sub_813A800: @ 813A800
push {r4,r5,lr}
movs r4, 0
_0813A804:
ldr r5, _0813A834 @ =gUnknown_203B15C
ldr r0, [r5]
lsls r1, r4, 2
adds r0, r1
ldr r0, [r0]
cmp r0, 0
beq _0813A816
bl DestroySpriteAndFreeResources
_0813A816:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x8
bls _0813A804
ldr r0, [r5]
cmp r0, 0
beq _0813A82E
bl Free
movs r0, 0
str r0, [r5]
_0813A82E:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0813A834: .4byte gUnknown_203B15C
thumb_func_end sub_813A800
thumb_func_start sub_813A838
sub_813A838: @ 813A838
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 24
movs r3, 0
ldr r6, _0813A870 @ =gUnknown_203B15C
movs r1, 0x1
ands r0, r1
lsls r4, r0, 2
movs r5, 0x5
negs r5, r5
_0813A84C:
ldr r0, [r6]
lsls r1, r3, 2
adds r0, r1
ldr r1, [r0]
adds r1, 0x3E
ldrb r2, [r1]
adds r0, r5, 0
ands r0, r2
orrs r0, r4
strb r0, [r1]
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0x8
bls _0813A84C
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0813A870: .4byte gUnknown_203B15C
thumb_func_end sub_813A838
thumb_func_start sub_813A874
sub_813A874: @ 813A874
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x28
lsls r0, 16
lsrs r7, r0, 16
lsls r1, 16
lsrs r6, r1, 16
ldr r0, _0813A970 @ =gUnknown_203B160
mov r8, r0
movs r0, 0x48
bl AllocZeroed
mov r1, r8
str r0, [r1]
movs r4, 0xC0
lsls r4, 1
adds r0, r4, 0
bl AllocZeroed
adds r5, r0, 0
ldr r0, _0813A974 @ =gUnknown_8E9B3F0
adds r1, r5, 0
bl LZ77UnCompWram
cmp r5, 0
beq _0813A8D0
str r5, [sp, 0x18]
add r0, sp, 0x18
lsls r1, r7, 16
orrs r1, r4
str r1, [r0, 0x4]
ldr r1, _0813A978 @ =gUnknown_8E9B578
str r1, [sp, 0x20]
ldr r2, _0813A97C @ =0xffff0000
add r4, sp, 0x20
ldr r1, [r4, 0x4]
ands r1, r2
orrs r1, r6
str r1, [r4, 0x4]
bl LoadSpriteSheet
adds r0, r4, 0
bl LoadSpritePalette
_0813A8D0:
movs r4, 0
mov r9, r4
_0813A8D4:
mov r0, sp
strh r7, [r0]
strh r6, [r0, 0x2]
ldr r0, _0813A980 @ =gUnknown_8463A14
str r0, [sp, 0x4]
ldr r0, _0813A984 @ =gUnknown_8463A7C
str r0, [sp, 0x8]
mov r3, r9
str r3, [sp, 0xC]
ldr r0, _0813A988 @ =gDummySpriteAffineAnimTable
str r0, [sp, 0x10]
ldr r0, _0813A98C @ =SpriteCallbackDummy
str r0, [sp, 0x14]
mov r0, r8
ldr r1, [r0]
lsls r0, r4, 1
adds r1, 0x2C
adds r1, r0
lsls r0, r4, 3
adds r0, 0x9C
strh r0, [r1]
movs r3, 0
ldrsh r1, [r1, r3]
mov r0, sp
movs r2, 0x84
movs r3, 0
bl CreateSprite
lsls r0, 24
lsrs r0, 24
mov r1, r8
ldr r2, [r1]
lsls r1, r4, 2
adds r2, r1
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
ldr r0, _0813A990 @ =gSprites
adds r1, r0
str r1, [r2]
ldrb r2, [r1, 0x5]
movs r3, 0xD
negs r3, r3
adds r0, r3, 0
ands r2, r0
movs r0, 0x8
orrs r2, r0
strb r2, [r1, 0x5]
mov r1, r8
ldr r0, [r1]
adds r1, r0, 0
adds r1, 0x42
strh r7, [r1]
adds r0, 0x44
strh r6, [r0]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0xA
bls _0813A8D4
bl sub_813A994
movs r0, 0x1
bl sub_813AB70
cmp r5, 0
beq _0813A960
adds r0, r5, 0
bl Free
_0813A960:
add sp, 0x28
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813A970: .4byte gUnknown_203B160
_0813A974: .4byte gUnknown_8E9B3F0
_0813A978: .4byte gUnknown_8E9B578
_0813A97C: .4byte 0xffff0000
_0813A980: .4byte gUnknown_8463A14
_0813A984: .4byte gUnknown_8463A7C
_0813A988: .4byte gDummySpriteAffineAnimTable
_0813A98C: .4byte SpriteCallbackDummy
_0813A990: .4byte gSprites
thumb_func_end sub_813A874
thumb_func_start sub_813A994
sub_813A994: @ 813A994
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x8
movs r7, 0
ldr r6, _0813AAD4 @ =gUnknown_203B140
ldr r1, [r6]
movs r2, 0xC8
lsls r2, 6
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
beq _0813A9B4
b _0813AB24
_0813A9B4:
ldr r4, _0813AAD8 @ =0x00003290
adds r0, r1, r4
movs r1, 0x19
bl GetMonData
mov r8, r0
ldr r0, [r6]
adds r0, r4
movs r1, 0x38
bl GetMonData
lsls r0, 24
lsrs r5, r0, 24
ldr r0, [r6]
adds r0, r4
movs r1, 0xB
bl GetMonData
lsls r0, 16
lsrs r4, r0, 16
cmp r5, 0x63
bls _0813A9E2
b _0813AAE8
_0813A9E2:
ldr r3, _0813AADC @ =gExperienceTables
adds r1, r5, 0x1
lsls r1, 2
ldr r2, _0813AAE0 @ =gBaseStats
lsls r0, r4, 3
subs r0, r4
lsls r0, 2
adds r0, r2
ldrb r2, [r0, 0x13]
movs r0, 0xCA
lsls r0, 1
muls r2, r0
adds r1, r2
adds r1, r3
lsls r0, r5, 2
adds r0, r2
adds r0, r3
ldr r1, [r1]
ldr r0, [r0]
subs r1, r0
mov r10, r1
mov r1, r8
subs r1, r0
mov r9, r1
mov r2, r10
lsls r0, r2, 2
lsrs r0, 3
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
lsls r0, r1, 2
adds r4, r0, 0
movs r5, 0
ldr r1, [sp, 0x4]
cmp r5, r1
ble _0813AA3E
_0813AA2A:
ldr r0, [sp]
ldr r1, [sp, 0x4]
subs r4, r0
sbcs r5, r1
adds r0, r7, 0x1
lsls r0, 24
lsrs r7, r0, 24
cmp r5, r1
bgt _0813AA2A
ldr r1, [sp, 0x4]
_0813AA3E:
cmp r5, r1
bne _0813AA48
ldr r2, [sp]
cmp r4, r2
bhi _0813AA2A
_0813AA48:
adds r0, r7, 0x2
lsls r0, 24
lsrs r7, r0, 24
movs r6, 0x2
cmp r6, r7
bcs _0813AA72
ldr r0, _0813AAE4 @ =gUnknown_203B160
mov r8, r0
_0813AA58:
mov r1, r8
ldr r0, [r1]
lsls r1, r6, 2
adds r0, r1
ldr r0, [r0]
movs r1, 0x8
bl StartSpriteAnim
adds r0, r6, 0x1
lsls r0, 24
lsrs r6, r0, 24
cmp r6, r7
bcc _0813AA58
_0813AA72:
cmp r7, 0x9
bls _0813AA86
cmp r10, r9
beq _0813AB24
ldr r0, _0813AAE4 @ =gUnknown_203B160
ldr r0, [r0]
ldr r0, [r0, 0x24]
movs r1, 0x7
bl StartSpriteAnim
_0813AA86:
lsrs r3, r4, 29
lsls r2, r5, 3
adds r1, r3, 0
orrs r1, r2
lsls r0, r4, 3
ldr r2, [sp]
ldr r3, [sp, 0x4]
bl __divdi3
adds r2, r1, 0
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
ldr r4, _0813AAE4 @ =gUnknown_203B160
ldr r0, [r4]
lsls r3, r7, 2
adds r0, r3
ldr r0, [r0]
bl StartSpriteAnim
adds r0, r7, 0x1
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x9
bhi _0813AB04
_0813AAB8:
ldr r0, [r4]
lsls r1, r6, 2
adds r0, r1
ldr r0, [r0]
movs r1, 0
bl StartSpriteAnim
adds r0, r6, 0x1
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x9
bls _0813AAB8
b _0813AB04
.align 2, 0
_0813AAD4: .4byte gUnknown_203B140
_0813AAD8: .4byte 0x00003290
_0813AADC: .4byte gExperienceTables
_0813AAE0: .4byte gBaseStats
_0813AAE4: .4byte gUnknown_203B160
_0813AAE8:
movs r6, 0x2
ldr r4, _0813AB34 @ =gUnknown_203B160
_0813AAEC:
ldr r0, [r4]
lsls r1, r6, 2
adds r0, r1
ldr r0, [r0]
movs r1, 0
bl StartSpriteAnim
adds r0, r6, 0x1
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x9
bls _0813AAEC
_0813AB04:
ldr r4, _0813AB34 @ =gUnknown_203B160
ldr r0, [r4]
ldr r0, [r0]
movs r1, 0x9
bl StartSpriteAnim
ldr r0, [r4]
ldr r0, [r0, 0x4]
movs r1, 0xA
bl StartSpriteAnim
ldr r0, [r4]
ldr r0, [r0, 0x28]
movs r1, 0xB
bl StartSpriteAnim
_0813AB24:
add sp, 0x8
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813AB34: .4byte gUnknown_203B160
thumb_func_end sub_813A994
thumb_func_start sub_813AB38
sub_813AB38: @ 813AB38
push {r4,r5,lr}
movs r4, 0
_0813AB3C:
ldr r5, _0813AB6C @ =gUnknown_203B160
ldr r0, [r5]
lsls r1, r4, 2
adds r0, r1
ldr r0, [r0]
cmp r0, 0
beq _0813AB4E
bl DestroySpriteAndFreeResources
_0813AB4E:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0xA
bls _0813AB3C
ldr r0, [r5]
cmp r0, 0
beq _0813AB66
bl Free
movs r0, 0
str r0, [r5]
_0813AB66:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0813AB6C: .4byte gUnknown_203B160
thumb_func_end sub_813AB38
thumb_func_start sub_813AB70
sub_813AB70: @ 813AB70
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 24
movs r3, 0
ldr r6, _0813ABA8 @ =gUnknown_203B160
movs r1, 0x1
ands r0, r1
lsls r4, r0, 2
movs r5, 0x5
negs r5, r5
_0813AB84:
ldr r0, [r6]
lsls r1, r3, 2
adds r0, r1
ldr r1, [r0]
adds r1, 0x3E
ldrb r2, [r1]
adds r0, r5, 0
ands r0, r2
orrs r0, r4
strb r0, [r1]
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0xA
bls _0813AB84
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0813ABA8: .4byte gUnknown_203B160
thumb_func_end sub_813AB70
thumb_func_start sub_813ABAC
sub_813ABAC: @ 813ABAC
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x28
lsls r0, 16
lsrs r7, r0, 16
lsls r1, 16
lsrs r6, r1, 16
ldr r0, _0813AC68 @ =gUnknown_203B164
mov r8, r0
movs r0, 0x8
bl AllocZeroed
mov r1, r8
str r0, [r1]
movs r0, 0x20
bl AllocZeroed
adds r5, r0, 0
ldr r0, _0813AC6C @ =gUnknown_8463B20
adds r1, r5, 0
bl LZ77UnCompWram
mov r1, r8
ldr r0, [r1]
cmp r0, 0
beq _0813AC46
str r5, [sp, 0x18]
movs r2, 0x20
add r0, sp, 0x18
lsls r1, r7, 16
orrs r1, r2
str r1, [r0, 0x4]
ldr r1, _0813AC70 @ =gUnknown_8463B00
str r1, [sp, 0x20]
ldr r2, _0813AC74 @ =0xffff0000
add r4, sp, 0x20
ldr r1, [r4, 0x4]
ands r1, r2
orrs r1, r6
str r1, [r4, 0x4]
mov r1, sp
movs r2, 0
strh r7, [r1]
strh r6, [r1, 0x2]
ldr r1, _0813AC78 @ =gUnknown_8463AEC
str r1, [sp, 0x4]
ldr r1, _0813AC7C @ =gUnknown_8463AFC
str r1, [sp, 0x8]
str r2, [sp, 0xC]
ldr r1, _0813AC80 @ =gDummySpriteAffineAnimTable
str r1, [sp, 0x10]
ldr r1, _0813AC84 @ =SpriteCallbackDummy
str r1, [sp, 0x14]
bl LoadSpriteSheet
adds r0, r4, 0
bl LoadSpritePalette
mov r0, sp
movs r1, 0x72
movs r2, 0x5C
movs r3, 0
bl CreateSprite
lsls r0, 24
lsrs r0, 24
mov r1, r8
ldr r2, [r1]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
ldr r0, _0813AC88 @ =gSprites
adds r1, r0
str r1, [r2]
strh r7, [r2, 0x4]
strh r6, [r2, 0x6]
_0813AC46:
movs r0, 0x1
bl sub_813ACF8
bl sub_813ACB4
cmp r5, 0
beq _0813AC5A
adds r0, r5, 0
bl Free
_0813AC5A:
add sp, 0x28
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813AC68: .4byte gUnknown_203B164
_0813AC6C: .4byte gUnknown_8463B20
_0813AC70: .4byte gUnknown_8463B00
_0813AC74: .4byte 0xffff0000
_0813AC78: .4byte gUnknown_8463AEC
_0813AC7C: .4byte gUnknown_8463AFC
_0813AC80: .4byte gDummySpriteAffineAnimTable
_0813AC84: .4byte SpriteCallbackDummy
_0813AC88: .4byte gSprites
thumb_func_end sub_813ABAC
thumb_func_start sub_813AC8C
sub_813AC8C: @ 813AC8C
push {r4,lr}
ldr r4, _0813ACB0 @ =gUnknown_203B164
ldr r0, [r4]
ldr r0, [r0]
cmp r0, 0
beq _0813AC9C
bl DestroySpriteAndFreeResources
_0813AC9C:
ldr r0, [r4]
cmp r0, 0
beq _0813ACAA
bl Free
movs r0, 0
str r0, [r4]
_0813ACAA:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813ACB0: .4byte gUnknown_203B164
thumb_func_end sub_813AC8C
thumb_func_start sub_813ACB4
sub_813ACB4: @ 813ACB4
push {r4,lr}
ldr r4, _0813ACE4 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _0813ACE8 @ =0x00003290
adds r0, r1
movs r1, 0
bl CheckPartyPokerus
lsls r0, 24
cmp r0, 0
bne _0813ACEC
ldr r0, [r4]
ldr r1, _0813ACE8 @ =0x00003290
adds r0, r1
movs r1, 0
bl CheckPartyHasHadPokerus
lsls r0, 24
cmp r0, 0
beq _0813ACEC
movs r0, 0
bl sub_813ACF8
b _0813ACF2
.align 2, 0
_0813ACE4: .4byte gUnknown_203B140
_0813ACE8: .4byte 0x00003290
_0813ACEC:
movs r0, 0x1
bl sub_813ACF8
_0813ACF2:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_813ACB4
thumb_func_start sub_813ACF8
sub_813ACF8: @ 813ACF8
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
ldr r4, _0813AD44 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _0813AD48 @ =0x00003290
adds r0, r1
movs r1, 0
bl CheckPartyPokerus
lsls r0, 24
cmp r0, 0
bne _0813AD50
ldr r0, [r4]
ldr r1, _0813AD48 @ =0x00003290
adds r0, r1
movs r1, 0
bl CheckPartyHasHadPokerus
lsls r0, 24
cmp r0, 0
beq _0813AD50
ldr r0, _0813AD4C @ =gUnknown_203B164
ldr r0, [r0]
ldr r2, [r0]
adds r2, 0x3E
movs r0, 0x1
adds r1, r5, 0
ands r1, r0
lsls r1, 2
ldrb r3, [r2]
movs r0, 0x5
negs r0, r0
ands r0, r3
orrs r0, r1
strb r0, [r2]
b _0813ADA2
.align 2, 0
_0813AD44: .4byte gUnknown_203B140
_0813AD48: .4byte 0x00003290
_0813AD4C: .4byte gUnknown_203B164
_0813AD50:
ldr r2, _0813AD88 @ =gUnknown_203B164
ldr r0, [r2]
ldr r1, [r0]
adds r1, 0x3E
ldrb r0, [r1]
movs r3, 0x4
orrs r0, r3
strb r0, [r1]
ldr r0, _0813AD8C @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _0813AD90 @ =0x00003214
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x3
bne _0813AD94
ldr r0, [r2]
ldr r1, [r0]
adds r1, 0x3E
ldrb r0, [r1]
orrs r0, r3
strb r0, [r1]
ldr r2, [r2]
ldr r1, [r2]
movs r0, 0x10
strh r0, [r1, 0x20]
ldr r1, [r2]
movs r0, 0x2C
b _0813ADA0
.align 2, 0
_0813AD88: .4byte gUnknown_203B164
_0813AD8C: .4byte gUnknown_203B140
_0813AD90: .4byte 0x00003214
_0813AD94:
ldr r2, [r2]
ldr r1, [r2]
movs r0, 0x72
strh r0, [r1, 0x20]
ldr r1, [r2]
movs r0, 0x5C
_0813ADA0:
strh r0, [r1, 0x22]
_0813ADA2:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_813ACF8
thumb_func_start sub_813ADA8
sub_813ADA8: @ 813ADA8
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x28
lsls r0, 16
lsrs r7, r0, 16
lsls r1, 16
lsrs r6, r1, 16
ldr r0, _0813AE64 @ =gUnknown_203B168
mov r8, r0
movs r0, 0x8
bl AllocZeroed
mov r1, r8
str r0, [r1]
movs r0, 0x40
bl AllocZeroed
adds r5, r0, 0
ldr r0, _0813AE68 @ =gUnknown_8463B64
adds r1, r5, 0
bl LZ77UnCompWram
mov r1, r8
ldr r0, [r1]
cmp r0, 0
beq _0813AE42
str r5, [sp, 0x18]
movs r2, 0x40
add r0, sp, 0x18
lsls r1, r7, 16
orrs r1, r2
str r1, [r0, 0x4]
ldr r1, _0813AE6C @ =gUnknown_8463B44
str r1, [sp, 0x20]
ldr r2, _0813AE70 @ =0xffff0000
add r4, sp, 0x20
ldr r1, [r4, 0x4]
ands r1, r2
orrs r1, r6
str r1, [r4, 0x4]
mov r1, sp
movs r2, 0
strh r7, [r1]
strh r6, [r1, 0x2]
ldr r1, _0813AE74 @ =gUnknown_8463B30
str r1, [sp, 0x4]
ldr r1, _0813AE78 @ =gUnknown_8463B40
str r1, [sp, 0x8]
str r2, [sp, 0xC]
ldr r1, _0813AE7C @ =gDummySpriteAffineAnimTable
str r1, [sp, 0x10]
ldr r1, _0813AE80 @ =SpriteCallbackDummy
str r1, [sp, 0x14]
bl LoadSpriteSheet
adds r0, r4, 0
bl LoadSpritePalette
mov r0, sp
movs r1, 0x6A
movs r2, 0x28
movs r3, 0
bl CreateSprite
lsls r0, 24
lsrs r0, 24
mov r1, r8
ldr r2, [r1]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
ldr r0, _0813AE84 @ =gSprites
adds r1, r0
str r1, [r2]
strh r7, [r2, 0x4]
strh r6, [r2, 0x6]
_0813AE42:
movs r0, 0x1
bl sub_813AEB0
bl sub_813AF50
cmp r5, 0
beq _0813AE56
adds r0, r5, 0
bl Free
_0813AE56:
add sp, 0x28
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813AE64: .4byte gUnknown_203B168
_0813AE68: .4byte gUnknown_8463B64
_0813AE6C: .4byte gUnknown_8463B44
_0813AE70: .4byte 0xffff0000
_0813AE74: .4byte gUnknown_8463B30
_0813AE78: .4byte gUnknown_8463B40
_0813AE7C: .4byte gDummySpriteAffineAnimTable
_0813AE80: .4byte SpriteCallbackDummy
_0813AE84: .4byte gSprites
thumb_func_end sub_813ADA8
thumb_func_start sub_813AE88
sub_813AE88: @ 813AE88
push {r4,lr}
ldr r4, _0813AEAC @ =gUnknown_203B168
ldr r0, [r4]
ldr r0, [r0]
cmp r0, 0
beq _0813AE98
bl DestroySpriteAndFreeResources
_0813AE98:
ldr r0, [r4]
cmp r0, 0
beq _0813AEA6
bl Free
movs r0, 0
str r0, [r4]
_0813AEA6:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813AEAC: .4byte gUnknown_203B168
thumb_func_end sub_813AE88
thumb_func_start sub_813AEB0
sub_813AEB0: @ 813AEB0
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
ldr r4, _0813AEF8 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _0813AEFC @ =0x00003290
adds r0, r1
bl IsMonShiny
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0813AF04
ldr r0, [r4]
movs r1, 0xC8
lsls r1, 6
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _0813AF04
ldr r4, _0813AF00 @ =gUnknown_203B168
ldr r0, [r4]
ldr r2, [r0]
adds r2, 0x3E
movs r0, 0x1
adds r1, r5, 0
ands r1, r0
lsls r1, 2
ldrb r3, [r2]
movs r0, 0x5
negs r0, r0
ands r0, r3
orrs r0, r1
strb r0, [r2]
adds r3, r4, 0
b _0813AF14
.align 2, 0
_0813AEF8: .4byte gUnknown_203B140
_0813AEFC: .4byte 0x00003290
_0813AF00: .4byte gUnknown_203B168
_0813AF04:
ldr r3, _0813AF30 @ =gUnknown_203B168
ldr r0, [r3]
ldr r1, [r0]
adds r1, 0x3E
ldrb r0, [r1]
movs r2, 0x4
orrs r0, r2
strb r0, [r1]
_0813AF14:
ldr r0, _0813AF34 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _0813AF38 @ =0x00003214
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x3
bne _0813AF3C
ldr r2, [r3]
ldr r1, [r2]
movs r0, 0x8
strh r0, [r1, 0x20]
ldr r1, [r2]
movs r0, 0x18
b _0813AF48
.align 2, 0
_0813AF30: .4byte gUnknown_203B168
_0813AF34: .4byte gUnknown_203B140
_0813AF38: .4byte 0x00003214
_0813AF3C:
ldr r2, [r3]
ldr r1, [r2]
movs r0, 0x6A
strh r0, [r1, 0x20]
ldr r1, [r2]
movs r0, 0x28
_0813AF48:
strh r0, [r1, 0x22]
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_813AEB0
thumb_func_start sub_813AF50
sub_813AF50: @ 813AF50
push {r4,lr}
ldr r4, _0813AF7C @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _0813AF80 @ =0x00003290
adds r0, r1
bl IsMonShiny
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0813AF84
ldr r0, [r4]
movs r1, 0xC8
lsls r1, 6
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _0813AF84
movs r0, 0
bl sub_813AEB0
b _0813AF8A
.align 2, 0
_0813AF7C: .4byte gUnknown_203B140
_0813AF80: .4byte 0x00003290
_0813AF84:
movs r0, 0x1
bl sub_813AEB0
_0813AF8A:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_813AF50
thumb_func_start sub_813AF90
sub_813AF90: @ 813AF90
push {lr}
bl sub_813A21C
bl sub_813A800
bl sub_813AB38
bl sub_8139C80
bl sub_8139F20
bl sub_8139D90
bl sub_813B068
bl sub_813A334
bl sub_813AC8C
bl sub_813AE88
bl ResetSpriteData
pop {r0}
bx r0
thumb_func_end sub_813AF90
thumb_func_start sub_813AFC4
sub_813AFC4: @ 813AFC4
push {lr}
bl sub_8139CB0
movs r0, 0
bl sub_8139D54
bl sub_8139DBC
bl sub_813995C
movs r0, 0
bl sub_8139C44
bl sub_813A620
bl sub_813A994
bl sub_813B0E4
bl sub_813A35C
bl sub_813ACB4
bl sub_813AF50
pop {r0}
bx r0
thumb_func_end sub_813AFC4
thumb_func_start sub_813AFFC
sub_813AFFC: @ 813AFFC
push {r4-r6,lr}
ldr r5, _0813B058 @ =gUnknown_203B140
ldr r0, [r5]
ldr r1, _0813B05C @ =0x00003290
adds r0, r1
movs r1, 0x8
bl GetMonData
adds r6, r0, 0
ldr r0, [r5]
ldr r4, _0813B060 @ =0x000032fc
adds r0, r4
ldr r0, [r0]
bl DestroySpriteAndFreeResources
ldr r2, _0813B064 @ =gUnknown_84636E0
movs r0, 0x8C
movs r1, 0x8C
bl sub_80BEAE0
adds r2, r0, 0
ldr r0, [r5]
adds r0, r4
str r2, [r0]
cmp r2, 0
beq _0813B04A
lsls r1, r6, 24
lsrs r1, 24
adds r0, r2, 0
bl StartSpriteAnim
ldr r0, [r5]
adds r0, r4
ldr r2, [r0]
movs r1, 0x14
strh r1, [r2, 0x20]
ldr r1, [r0]
movs r0, 0x5B
strh r0, [r1, 0x22]
_0813B04A:
movs r0, 0x1
bl sub_813B084
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0813B058: .4byte gUnknown_203B140
_0813B05C: .4byte 0x00003290
_0813B060: .4byte 0x000032fc
_0813B064: .4byte gUnknown_84636E0
thumb_func_end sub_813AFFC
thumb_func_start sub_813B068
sub_813B068: @ 813B068
push {lr}
ldr r0, _0813B07C @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _0813B080 @ =0x000032fc
adds r0, r1
ldr r0, [r0]
bl DestroySpriteAndFreeResources
pop {r0}
bx r0
.align 2, 0
_0813B07C: .4byte gUnknown_203B140
_0813B080: .4byte 0x000032fc
thumb_func_end sub_813B068
thumb_func_start sub_813B084
sub_813B084: @ 813B084
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
ldr r4, _0813B0B0 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _0813B0B4 @ =0x00003290
adds r0, r1
movs r1, 0x8
bl GetMonData
cmp r0, 0
bne _0813B0BC
ldr r0, [r4]
ldr r1, _0813B0B8 @ =0x000032fc
adds r0, r1
ldr r1, [r0]
adds r1, 0x3E
ldrb r0, [r1]
movs r2, 0x4
orrs r0, r2
strb r0, [r1]
b _0813B0DA
.align 2, 0
_0813B0B0: .4byte gUnknown_203B140
_0813B0B4: .4byte 0x00003290
_0813B0B8: .4byte 0x000032fc
_0813B0BC:
ldr r0, [r4]
ldr r1, _0813B0E0 @ =0x000032fc
adds r0, r1
ldr r2, [r0]
adds r2, 0x3E
movs r0, 0x1
adds r1, r5, 0
ands r1, r0
lsls r1, 2
ldrb r3, [r2]
movs r0, 0x5
negs r0, r0
ands r0, r3
orrs r0, r1
strb r0, [r2]
_0813B0DA:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0813B0E0: .4byte 0x000032fc
thumb_func_end sub_813B084
thumb_func_start sub_813B0E4
sub_813B0E4: @ 813B0E4
push {r4,lr}
ldr r4, _0813B114 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _0813B118 @ =0x00003290
adds r0, r1
movs r1, 0x8
bl GetMonData
adds r1, r0, 0
ldr r0, [r4]
ldr r2, _0813B11C @ =0x000032fc
adds r0, r2
ldr r0, [r0]
lsls r1, 24
lsrs r1, 24
bl StartSpriteAnim
movs r0, 0
bl sub_813B084
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813B114: .4byte gUnknown_203B140
_0813B118: .4byte 0x00003290
_0813B11C: .4byte 0x000032fc
thumb_func_end sub_813B0E4
thumb_func_start sub_813B120
sub_813B120: @ 813B120
push {r4-r6,lr}
lsls r1, 24
lsrs r5, r1, 24
ldr r1, _0813B154 @ =gUnknown_203B140
ldr r2, [r1]
ldr r3, _0813B158 @ =0x0000321c
adds r0, r2, r3
ldrb r3, [r0]
adds r6, r1, 0
cmp r3, 0x1
bne _0813B198
ldr r1, _0813B15C @ =0x00003214
adds r0, r2, r1
ldrb r0, [r0]
cmp r0, 0
beq _0813B160
lsls r1, r5, 24
asrs r1, 24
movs r5, 0x2
eors r1, r3
negs r0, r1
orrs r0, r1
asrs r0, 31
ands r5, r0
b _0813B16C
.align 2, 0
_0813B154: .4byte gUnknown_203B140
_0813B158: .4byte 0x0000321c
_0813B15C: .4byte 0x00003214
_0813B160:
lsls r0, r5, 24
asrs r0, 24
movs r5, 0x3
cmp r0, 0x1
bne _0813B16C
movs r5, 0x1
_0813B16C:
ldr r0, [r6]
ldr r2, _0813B190 @ =0x000032f4
adds r0, r2
ldr r4, [r0]
bl sub_8138B20
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
ldr r0, [r6]
ldr r3, _0813B194 @ =0x00003210
adds r0, r3
ldrb r2, [r0]
adds r3, r5, 0
adds r0, r4, 0
bl sub_808BDE8
b _0813B1CC
.align 2, 0
_0813B190: .4byte 0x000032f4
_0813B194: .4byte 0x00003210
_0813B198:
bl IsUpdateLinkStateCBActive
cmp r0, 0
bne _0813B1C4
ldr r0, _0813B1C0 @ =gReceivedRemoteLinkPlayers
ldrb r0, [r0]
cmp r0, 0x1
bne _0813B1C4
bl IsMultiBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0813B1C4
lsls r0, r5, 24
asrs r0, 24
bl sub_813B38C
b _0813B1CC
.align 2, 0
_0813B1C0: .4byte gReceivedRemoteLinkPlayers
_0813B1C4:
lsls r0, r5, 24
asrs r0, 24
bl sub_813B20C
_0813B1CC:
lsls r0, 24
lsrs r2, r0, 24
lsls r0, r2, 24
asrs r0, 24
movs r1, 0x1
negs r1, r1
cmp r0, r1
beq _0813B1F4
ldr r0, _0813B1FC @ =gUnknown_203B16C
strb r2, [r0]
ldr r0, _0813B200 @ =sub_813B3F0
movs r1, 0
bl CreateTask
ldr r0, _0813B204 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _0813B208 @ =0x0000328c
adds r0, r1
movs r1, 0
strb r1, [r0]
_0813B1F4:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0813B1FC: .4byte gUnknown_203B16C
_0813B200: .4byte sub_813B3F0
_0813B204: .4byte gUnknown_203B140
_0813B208: .4byte 0x0000328c
thumb_func_end sub_813B120
thumb_func_start sub_813B20C
sub_813B20C: @ 813B20C
push {r4-r7,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r2, _0813B258 @ =gUnknown_203B140
ldr r0, [r2]
ldr r3, _0813B25C @ =0x000032f4
adds r1, r0, r3
ldr r7, [r1]
movs r6, 0
ldr r1, _0813B260 @ =0x00003214
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _0813B26C
lsls r0, r4, 24
asrs r3, r0, 24
movs r1, 0x1
negs r1, r1
adds r5, r0, 0
ldr r6, _0813B264 @ =gUnknown_203B16C
cmp r3, r1
bne _0813B23E
ldrb r0, [r6]
cmp r0, 0
beq _0813B294
_0813B23E:
asrs r0, r5, 24
cmp r0, 0x1
bne _0813B252
ldr r0, [r2]
ldr r2, _0813B268 @ =0x00003210
adds r0, r2
ldrb r1, [r6]
ldrb r0, [r0]
cmp r1, r0
bcs _0813B294
_0813B252:
ldrb r0, [r6]
adds r0, r4
b _0813B2BC
.align 2, 0
_0813B258: .4byte gUnknown_203B140
_0813B25C: .4byte 0x000032f4
_0813B260: .4byte 0x00003214
_0813B264: .4byte gUnknown_203B16C
_0813B268: .4byte 0x00003210
_0813B26C:
lsls r5, r4, 24
_0813B26E:
lsls r0, r6, 24
asrs r0, 24
asrs r1, r5, 24
adds r0, r1
lsls r0, 24
ldr r4, _0813B29C @ =gUnknown_203B16C
lsrs r6, r0, 24
asrs r0, 24
ldrb r3, [r4]
adds r1, r0, r3
cmp r1, 0
blt _0813B294
ldr r0, _0813B2A0 @ =gUnknown_203B140
ldr r0, [r0]
ldr r2, _0813B2A4 @ =0x00003210
adds r0, r2
ldrb r0, [r0]
cmp r1, r0
ble _0813B2A8
_0813B294:
movs r0, 0x1
negs r0, r0
b _0813B2C0
.align 2, 0
_0813B29C: .4byte gUnknown_203B16C
_0813B2A0: .4byte gUnknown_203B140
_0813B2A4: .4byte 0x00003210
_0813B2A8:
movs r0, 0x64
muls r0, r1
adds r0, r7, r0
movs r1, 0x2D
bl GetMonData
cmp r0, 0
bne _0813B26E
ldrb r0, [r4]
adds r0, r6
_0813B2BC:
lsls r0, 24
asrs r0, 24
_0813B2C0:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_813B20C
thumb_func_start sub_813B2C8
sub_813B2C8: @ 813B2C8
push {r4,lr}
adds r4, r0, 0
movs r1, 0xB
bl GetMonData
cmp r0, 0
beq _0813B2FC
ldr r0, _0813B2F4 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _0813B2F8 @ =0x00003214
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _0813B2F0
adds r0, r4, 0
movs r1, 0x2D
bl GetMonData
cmp r0, 0
bne _0813B2FC
_0813B2F0:
movs r0, 0x1
b _0813B2FE
.align 2, 0
_0813B2F4: .4byte gUnknown_203B140
_0813B2F8: .4byte 0x00003214
_0813B2FC:
movs r0, 0
_0813B2FE:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_813B2C8
thumb_func_start sub_813B304
sub_813B304: @ 813B304
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
_0813B30A:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x6
beq _0813B33C
ldr r0, _0813B334 @ =gUnknown_8463FB8
adds r5, r4, r0
ldrb r1, [r5]
movs r0, 0x64
muls r0, r1
ldr r1, _0813B338 @ =gPlayerParty
adds r0, r1
bl sub_813B2C8
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0813B30A
movs r0, 0
ldrsb r0, [r5, r0]
b _0813B340
.align 2, 0
_0813B334: .4byte gUnknown_8463FB8
_0813B338: .4byte gPlayerParty
_0813B33C:
movs r0, 0x1
negs r0, r0
_0813B340:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_813B304
thumb_func_start sub_813B348
sub_813B348: @ 813B348
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
_0813B34E:
cmp r4, 0
beq _0813B380
subs r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
ldr r0, _0813B378 @ =gUnknown_8463FB8
adds r5, r4, r0
ldrb r1, [r5]
movs r0, 0x64
muls r0, r1
ldr r1, _0813B37C @ =gPlayerParty
adds r0, r1
bl sub_813B2C8
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0813B34E
movs r0, 0
ldrsb r0, [r5, r0]
b _0813B384
.align 2, 0
_0813B378: .4byte gUnknown_8463FB8
_0813B37C: .4byte gPlayerParty
_0813B380:
movs r0, 0x1
negs r0, r0
_0813B384:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_813B348
thumb_func_start sub_813B38C
sub_813B38C: @ 813B38C
push {r4-r7,lr}
lsls r0, 24
lsrs r7, r0, 24
movs r6, 0
movs r5, 0
b _0813B39E
_0813B398:
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
_0813B39E:
cmp r5, 0x5
bhi _0813B3B6
ldr r4, _0813B3D4 @ =gUnknown_8463FB8
adds r4, r5, r4
bl sub_8138B20
ldrb r1, [r4]
lsls r0, 24
lsrs r0, 24
cmp r1, r0
bne _0813B398
adds r6, r5, 0
_0813B3B6:
lsls r0, r7, 24
asrs r1, r0, 24
movs r0, 0x1
negs r0, r0
cmp r1, r0
bne _0813B3C6
cmp r6, 0
beq _0813B3CE
_0813B3C6:
cmp r1, 0x1
bne _0813B3D8
cmp r6, 0x5
bne _0813B3E0
_0813B3CE:
movs r0, 0x1
negs r0, r0
b _0813B3EA
.align 2, 0
_0813B3D4: .4byte gUnknown_8463FB8
_0813B3D8:
adds r0, r6, 0
bl sub_813B348
b _0813B3E6
_0813B3E0:
adds r0, r6, 0
bl sub_813B304
_0813B3E6:
lsls r0, 24
asrs r0, 24
_0813B3EA:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_813B38C
thumb_func_start sub_813B3F0
sub_813B3F0: @ 813B3F0
push {r4,r5,lr}
sub sp, 0x8
lsls r0, 24
lsrs r3, r0, 24
ldr r1, _0813B414 @ =gUnknown_203B140
ldr r0, [r1]
ldr r4, _0813B418 @ =0x0000328c
adds r2, r0, r4
ldrb r0, [r2]
adds r5, r1, 0
cmp r0, 0xB
bls _0813B40A
b _0813B73C
_0813B40A:
lsls r0, 2
ldr r1, _0813B41C @ =_0813B420
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0813B414: .4byte gUnknown_203B140
_0813B418: .4byte 0x0000328c
_0813B41C: .4byte _0813B420
.align 2, 0
_0813B420:
.4byte _0813B450
.4byte _0813B478
.4byte _0813B486
.4byte _0813B4DC
.4byte _0813B568
.4byte _0813B5FC
.4byte _0813B602
.4byte _0813B620
.4byte _0813B636
.4byte _0813B654
.4byte _0813B678
.4byte _0813B70C
_0813B450:
bl StopCryAndClearCrySongs
ldr r0, _0813B468 @ =gUnknown_203B16D
movs r1, 0
strb r1, [r0]
ldr r0, _0813B46C @ =gUnknown_203B16E
strb r1, [r0]
ldr r0, _0813B470 @ =gUnknown_203B140
ldr r1, [r0]
ldr r0, _0813B474 @ =0x0000328c
adds r1, r0
b _0813B72C
.align 2, 0
_0813B468: .4byte gUnknown_203B16D
_0813B46C: .4byte gUnknown_203B16E
_0813B470: .4byte gUnknown_203B140
_0813B474: .4byte 0x0000328c
_0813B478:
bl sub_8139C80
bl sub_8139F20
bl sub_8139D90
b _0813B724
_0813B486:
ldr r0, [r5]
ldr r4, _0813B4D0 @ =0x00003290
adds r0, r4
bl sub_8138B8C
ldr r0, [r5]
adds r0, r4
movs r1, 0x2D
bl GetMonData
ldr r1, [r5]
movs r2, 0xC8
lsls r2, 6
adds r1, r2
strb r0, [r1]
ldr r0, [r5]
adds r0, r4
movs r1, 0x4
bl GetMonData
ldr r1, [r5]
ldr r2, _0813B4D4 @ =0x00003204
adds r1, r2
strb r0, [r1]
ldr r0, [r5]
adds r2, r0, r2
ldrb r1, [r2]
cmp r1, 0x1
bne _0813B4C6
subs r4, 0x90
adds r0, r4
strb r1, [r0]
_0813B4C6:
ldr r1, [r5]
ldr r0, _0813B4D8 @ =0x0000328c
adds r1, r0
b _0813B72C
.align 2, 0
_0813B4D0: .4byte 0x00003290
_0813B4D4: .4byte 0x00003204
_0813B4D8: .4byte 0x0000328c
_0813B4DC:
movs r0, 0x1E
str r0, [sp]
movs r0, 0x14
str r0, [sp, 0x4]
movs r0, 0
movs r1, 0
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
ldr r4, _0813B52C @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _0813B530 @ =0x00003290
adds r0, r1
bl IsMonShiny
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0813B538
ldr r0, [r4]
movs r2, 0xC8
lsls r2, 6
adds r0, r2
ldrb r0, [r0]
cmp r0, 0
bne _0813B538
ldr r4, _0813B534 @ =gUnknown_8E9B3D0
adds r0, r4, 0
movs r1, 0
movs r2, 0x20
bl LoadPalette
subs r4, 0x20
adds r0, r4, 0
movs r1, 0x10
movs r2, 0x20
bl LoadPalette
b _0813B550
.align 2, 0
_0813B52C: .4byte gUnknown_203B140
_0813B530: .4byte 0x00003290
_0813B534: .4byte gUnknown_8E9B3D0
_0813B538:
ldr r4, _0813B55C @ =gUnknown_8E9B310
adds r0, r4, 0
movs r1, 0
movs r2, 0x20
bl LoadPalette
adds r4, 0x20
adds r0, r4, 0
movs r1, 0x10
movs r2, 0x20
bl LoadPalette
_0813B550:
ldr r0, _0813B560 @ =gUnknown_203B140
ldr r1, [r0]
ldr r4, _0813B564 @ =0x0000328c
adds r1, r4
b _0813B72C
.align 2, 0
_0813B55C: .4byte gUnknown_8E9B310
_0813B560: .4byte gUnknown_203B140
_0813B564: .4byte 0x0000328c
_0813B568:
ldr r4, _0813B5A8 @ =gUnknown_203B140
ldr r1, [r4]
ldr r2, _0813B5AC @ =0x00003214
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
bne _0813B5DC
subs r2, 0x14
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
beq _0813B5B8
adds r2, 0x3C
adds r0, r1, r2
ldrb r0, [r0]
ldr r1, _0813B5B0 @ =gUnknown_8E9BBCC
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
ldr r0, [r4]
movs r4, 0xC9
lsls r4, 6
adds r0, r4
ldrb r0, [r0]
ldr r1, _0813B5B4 @ =gUnknown_8E9B750
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
b _0813B5DC
.align 2, 0
_0813B5A8: .4byte gUnknown_203B140
_0813B5AC: .4byte 0x00003214
_0813B5B0: .4byte gUnknown_8E9BBCC
_0813B5B4: .4byte gUnknown_8E9B750
_0813B5B8:
ldr r2, _0813B5E8 @ =0x0000323c
adds r0, r1, r2
ldrb r0, [r0]
ldr r1, _0813B5EC @ =gUnknown_8E9B598
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
ldr r0, [r4]
movs r4, 0xC9
lsls r4, 6
adds r0, r4
ldrb r0, [r0]
ldr r1, _0813B5F0 @ =gUnknown_8E9B750
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
_0813B5DC:
ldr r0, _0813B5F4 @ =gUnknown_203B140
ldr r1, [r0]
ldr r0, _0813B5F8 @ =0x0000328c
adds r1, r0
b _0813B72C
.align 2, 0
_0813B5E8: .4byte 0x0000323c
_0813B5EC: .4byte gUnknown_8E9B598
_0813B5F0: .4byte gUnknown_8E9B750
_0813B5F4: .4byte gUnknown_203B140
_0813B5F8: .4byte 0x0000328c
_0813B5FC:
bl sub_81360D4
b _0813B724
_0813B602:
ldr r0, [r5]
movs r4, 0xC8
lsls r4, 6
adds r0, r4
ldrb r0, [r0]
cmp r0, 0
bne _0813B614
bl sub_8136350
_0813B614:
ldr r1, [r5]
ldr r0, _0813B61C @ =0x0000328c
adds r1, r0
b _0813B72C
.align 2, 0
_0813B61C: .4byte 0x0000328c
_0813B620:
ldr r0, [r5]
movs r1, 0xC8
lsls r1, 6
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _0813B632
bl sub_81367B0
_0813B632:
ldr r1, [r5]
b _0813B728
_0813B636:
bl sub_8136F4C
bl sub_81374E8
bl sub_8137BD0
ldr r0, _0813B64C @ =gUnknown_203B140
ldr r1, [r0]
ldr r4, _0813B650 @ =0x0000328c
adds r1, r4
b _0813B72C
.align 2, 0
_0813B64C: .4byte gUnknown_203B140
_0813B650: .4byte 0x0000328c
_0813B654:
bl sub_8138A38
bl sub_8138538
ldr r4, _0813B670 @ =gUnknown_203B140
ldr r0, [r4]
ldr r1, _0813B674 @ =0x00003214
adds r0, r1
ldrb r0, [r0]
bl sub_8137D28
ldr r1, [r4]
b _0813B728
.align 2, 0
_0813B670: .4byte gUnknown_203B140
_0813B674: .4byte 0x00003214
_0813B678:
ldr r0, [r5]
movs r4, 0xC0
lsls r4, 6
adds r0, r4
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r5]
ldr r1, _0813B6F8 @ =0x00003001
adds r0, r1
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r5]
ldr r2, _0813B6FC @ =0x00003002
adds r0, r2
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r5]
adds r4, 0x6
adds r0, r4
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r5]
ldr r1, _0813B700 @ =0x00003003
adds r0, r1
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r5]
ldr r2, _0813B704 @ =0x00003004
adds r0, r2
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
ldr r0, [r5]
subs r4, 0x1
adds r0, r4
ldrb r0, [r0]
movs r1, 0x2
bl CopyWindowToVram
movs r0, 0
bl CopyBgTilemapBufferToVram
movs r0, 0x2
bl CopyBgTilemapBufferToVram
movs r0, 0x3
bl CopyBgTilemapBufferToVram
ldr r1, [r5]
ldr r0, _0813B708 @ =0x0000328c
adds r1, r0
b _0813B72C
.align 2, 0
_0813B6F8: .4byte 0x00003001
_0813B6FC: .4byte 0x00003002
_0813B700: .4byte 0x00003003
_0813B704: .4byte 0x00003004
_0813B708: .4byte 0x0000328c
_0813B70C:
bl sub_8058244
cmp r0, 0
bne _0813B746
bl sub_800B270
cmp r0, 0
bne _0813B746
bl sub_813AFC4
bl sub_813B784
_0813B724:
ldr r0, _0813B734 @ =gUnknown_203B140
ldr r1, [r0]
_0813B728:
ldr r2, _0813B738 @ =0x0000328c
adds r1, r2
_0813B72C:
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
b _0813B746
.align 2, 0
_0813B734: .4byte gUnknown_203B140
_0813B738: .4byte 0x0000328c
_0813B73C:
movs r0, 0
strb r0, [r2]
adds r0, r3, 0
bl DestroyTask
_0813B746:
add sp, 0x8
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_813B3F0
thumb_func_start sub_813B750
sub_813B750: @ 813B750
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
movs r5, 0x80
lsls r5, 7
movs r0, 0
adds r1, r5, 0
bl ClearGpuRegBits
cmp r4, 0x2
bgt _0813B77E
cmp r4, 0
blt _0813B77E
movs r0, 0
bl GetGpuReg
adds r1, r5, 0
orrs r1, r0
lsls r1, 16
lsrs r1, 16
movs r0, 0
bl SetGpuReg
_0813B77E:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_813B750
thumb_func_start sub_813B784
sub_813B784: @ 813B784
push {r4,r5,lr}
ldr r4, _0813B7BC @ =gUnknown_203B140
ldr r0, [r4]
ldr r5, _0813B7C0 @ =0x00003290
adds r0, r5
movs r1, 0x2D
bl GetMonData
cmp r0, 0
bne _0813B7DA
ldr r0, [r4]
adds r0, r5
bl ShouldPlayNormalPokeCry
cmp r0, 0x1
bne _0813B7C4
ldr r0, [r4]
adds r0, r5
movs r1, 0x41
bl GetMonData
lsls r0, 16
lsrs r0, 16
movs r1, 0
movs r2, 0
bl PlayCry3
b _0813B7DA
.align 2, 0
_0813B7BC: .4byte gUnknown_203B140
_0813B7C0: .4byte 0x00003290
_0813B7C4:
ldr r0, [r4]
adds r0, r5
movs r1, 0x41
bl GetMonData
lsls r0, 16
lsrs r0, 16
movs r1, 0
movs r2, 0xB
bl PlayCry3
_0813B7DA:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_813B784
thumb_func_start sub_813B7E0
sub_813B7E0: @ 813B7E0
push {lr}
lsls r0, 24
lsrs r0, 24
cmp r0, 0x5
beq _0813B7EE
cmp r0, 0x15
bne _0813B7F2
_0813B7EE:
movs r0, 0x1
b _0813B7F4
_0813B7F2:
movs r0, 0
_0813B7F4:
pop {r1}
bx r1
thumb_func_end sub_813B7E0
thumb_func_start sub_813B7F8
sub_813B7F8: @ 813B7F8
push {lr}
ldr r0, _0813B828 @ =gUnknown_203B140
ldr r0, [r0]
ldr r1, _0813B82C @ =0x00003290
adds r0, r1
movs r1, 0x25
bl GetMonData
lsls r0, 24
lsrs r1, r0, 24
movs r2, 0xFC
lsls r2, 24
adds r0, r2
lsrs r0, 24
cmp r0, 0x1
bls _0813B824
cmp r1, 0x2
beq _0813B824
cmp r1, 0x1
beq _0813B824
cmp r1, 0x3
bne _0813B830
_0813B824:
movs r0, 0x1
b _0813B832
.align 2, 0
_0813B828: .4byte gUnknown_203B140
_0813B82C: .4byte 0x00003290
_0813B830:
movs r0, 0
_0813B832:
pop {r1}
bx r1
thumb_func_end sub_813B7F8
thumb_func_start sub_813B838
sub_813B838: @ 813B838
push {lr}
lsls r0, 24
movs r1, 0xA8
lsls r1, 24
adds r0, r1
lsrs r0, 24
cmp r0, 0x6C
bls _0813B84C
movs r0, 0
b _0813B84E
_0813B84C:
movs r0, 0x1
_0813B84E:
pop {r1}
bx r1
thumb_func_end sub_813B838
thumb_func_start sub_813B854
sub_813B854: @ 813B854
push {lr}
sub sp, 0x4
ldr r3, _0813B86C @ =CB2_ReturnToField
movs r0, 0
str r0, [sp]
movs r1, 0
movs r2, 0
bl sub_81344F8
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
_0813B86C: .4byte CB2_ReturnToField
thumb_func_end sub_813B854
.align 2, 0 @ Don't pad with nop.