pokeheartgold/asm/overlay_80_02239AF8.s
2023-02-17 18:13:00 -03:00

154 lines
3.7 KiB
ArmAsm

.include "asm/macros.inc"
.include "overlay_80_02239AF8.inc"
.include "global.inc"
.text
thumb_func_start ov80_02239AF8
ov80_02239AF8: ; 0x02239AF8
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r6, r0, #0
add r0, sp, #0x20
ldrh r0, [r0, #0x10]
add r7, r1, #0
add r5, r2, #0
str r3, [sp, #0x18]
cmp r0, #4
blo _02239B10
bl GF_AssertFail
_02239B10:
add r1, sp, #0x20
ldrh r2, [r1, #0x10]
mov r1, #0x34
ldr r0, _02239B78 ; =ov80_0223DA54
mul r1, r2
add r4, r0, r1
ldr r3, [r4, #0x14]
mov r0, #1
str r0, [sp]
str r0, [sp, #4]
str r3, [sp, #8]
add r0, r6, #0
add r1, r7, #0
add r2, r5, #0
bl sub_0200D504
ldr r1, [r4, #0x18]
mov r0, #0
str r5, [sp]
str r1, [sp, #4]
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
str r0, [sp, #0x10]
str r1, [sp, #0x14]
ldr r0, [sp, #0x18]
mov r1, #2
add r2, r6, #0
add r3, r7, #0
bl sub_0200D68C
ldr r3, [r4, #0x1c]
mov r0, #1
str r0, [sp]
str r3, [sp, #4]
add r0, r6, #0
add r1, r7, #0
add r2, r5, #0
bl sub_0200D6EC
ldr r3, [r4, #0x20]
mov r0, #1
str r0, [sp]
add r0, r6, #0
add r1, r7, #0
add r2, r5, #0
str r3, [sp, #4]
bl sub_0200D71C
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
_02239B78: .word ov80_0223DA54
thumb_func_end ov80_02239AF8
thumb_func_start ov80_02239B7C
ov80_02239B7C: ; 0x02239B7C
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
cmp r4, #4
blo _02239B8A
bl GF_AssertFail
_02239B8A:
mov r0, #0x34
ldr r1, _02239BB4 ; =ov80_0223DA54
mul r0, r4
add r4, r1, r0
ldr r1, [r4, #0x14]
add r0, r5, #0
bl sub_0200D958
ldr r1, [r4, #0x18]
add r0, r5, #0
bl sub_0200D968
ldr r1, [r4, #0x1c]
add r0, r5, #0
bl sub_0200D978
ldr r1, [r4, #0x20]
add r0, r5, #0
bl sub_0200D988
pop {r3, r4, r5, pc}
.balign 4, 0
_02239BB4: .word ov80_0223DA54
thumb_func_end ov80_02239B7C
thumb_func_start ov80_02239BB8
ov80_02239BB8: ; 0x02239BB8
push {r4, r5, r6, lr}
add r4, r2, #0
add r5, r0, #0
add r6, r1, #0
cmp r4, #4
blo _02239BC8
bl GF_AssertFail
_02239BC8:
mov r2, #0x34
ldr r3, _02239BE4 ; =ov80_0223DA54
mul r2, r4
add r0, r5, #0
add r1, r6, #0
add r2, r3, r2
bl sub_0200D734
add r4, r0, #0
ldr r0, [r4]
bl sub_0200DC0C
add r0, r4, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_02239BE4: .word ov80_0223DA54
thumb_func_end ov80_02239BB8
thumb_func_start ov80_02239BE8
ov80_02239BE8: ; 0x02239BE8
ldr r3, _02239BEC ; =sub_0200D9DC
bx r3
.balign 4, 0
_02239BEC: .word sub_0200D9DC
thumb_func_end ov80_02239BE8
.rodata
ov80_0223DA54: ; 0x0223DA54
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
.byte 0x23, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
.byte 0x3C, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x18, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00
.byte 0x1C, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00