Files
pokediamond/arm9/modules/52/asm/module_52.s
2020-05-23 14:45:38 -04:00

283 lines
7.5 KiB
ArmAsm

.include "asm/macros.inc"
.include "global.inc"
.section .text
.balign 4, 0
thumb_func_start MOD52_021D74E0
MOD52_021D74E0: ; 0x021D74E0
push {r3, lr}
mov r2, #2
mov r0, #3
mov r1, #0x4d
lsl r2, r2, #0x10
bl FUN_0201681C
bl InitializeMainRNG
mov r0, #1
pop {r3, pc}
.align 2, 0
thumb_func_end MOD52_021D74E0
thumb_func_start MOD52_021D74F8
MOD52_021D74F8: ; 0x021D74F8
push {r3, lr}
bl FUN_0200628C
ldr r1, [r0, #8]
mov r0, #0x4d
bl MOD52_021D769C
mov r0, #1
pop {r3, pc}
.align 2, 0
thumb_func_end MOD52_021D74F8
thumb_func_start MOD52_021D750C
MOD52_021D750C: ; 0x021D750C
push {r3, lr}
mov r0, #0x4d
bl FUN_020168D0
mov r0, #0
ldr r1, _021D7524 ; =UNK_020FD144
mvn r0, r0
bl FUN_02000E7C
mov r0, #1
pop {r3, pc}
nop
_021D7524: .word UNK_020FD144
thumb_func_end MOD52_021D750C
thumb_func_start MOD52_021D7528
MOD52_021D7528: ; 0x021D7528
push {r3, lr}
mov r2, #2
mov r0, #3
mov r1, #0x4d
lsl r2, r2, #0x10
bl FUN_0201681C
bl InitializeMainRNG
mov r0, #1
pop {r3, pc}
.align 2, 0
thumb_func_end MOD52_021D7528
thumb_func_start MOD52_021D7540
MOD52_021D7540: ; 0x021D7540
push {r4, lr}
bl FUN_0200628C
ldr r4, [r0, #8]
mov r0, #0x4d
add r1, r4, #0
mov r2, #1
bl MOD52_021D7604
add r0, r4, #0
bl FUN_02023918
bl FUN_02015E3C
mov r0, #1
pop {r4, pc}
thumb_func_end MOD52_021D7540
thumb_func_start MOD52_021D7560
MOD52_021D7560: ; 0x021D7560
push {r3, lr}
mov r0, #0x4d
bl FUN_020168D0
mov r0, #0
ldr r1, _021D7578 ; =0x020F2B7C
mvn r0, r0
bl FUN_02000E7C
mov r0, #1
pop {r3, pc}
nop
_021D7578: .word 0x020F2B7C
thumb_func_end MOD52_021D7560
thumb_func_start MOD52_021D757C
MOD52_021D757C: ; 0x021D757C
push {r3, lr}
mov r2, #2
mov r0, #3
mov r1, #0x4d
lsl r2, r2, #0x10
bl FUN_0201681C
bl InitializeMainRNG
mov r0, #1
pop {r3, pc}
.align 2, 0
thumb_func_end MOD52_021D757C
thumb_func_start MOD52_021D7594
MOD52_021D7594: ; 0x021D7594
push {r3, r4, r5, lr}
bl FUN_0200628C
ldr r4, [r0, #8]
add r0, r4, #0
bl FUN_02023788
add r5, r0, #0
mov r0, #0x4d
add r1, r4, #0
bl MOD52_021D7688
add r0, r4, #0
mov r1, #0
bl FUN_02024F9C
add r0, r5, #0
bl FUN_020237CC
cmp r0, #0
beq _021D75C8
add r0, r5, #0
bl FUN_020237FC
cmp r0, #0
bne _021D75D8
_021D75C8:
add r0, r4, #0
bl FUN_02023794
bl FUN_020238A4
add r0, r5, #0
bl FUN_020237A0
_021D75D8:
add r0, r4, #0
bl FUN_02023918
bl FUN_02015E3C
mov r0, #1
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD52_021D7594
thumb_func_start MOD52_021D75E8
MOD52_021D75E8: ; 0x021D75E8
push {r3, lr}
mov r0, #0x4d
bl FUN_020168D0
mov r0, #0
ldr r1, _021D7600 ; =0x020F2B8C
mvn r0, r0
bl FUN_02000E7C
mov r0, #1
pop {r3, pc}
nop
_021D7600: .word 0x020F2B8C
thumb_func_end MOD52_021D75E8
thumb_func_start MOD52_021D7604
MOD52_021D7604: ; 0x021D7604
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
str r0, [sp]
add r0, r5, #0
add r6, r2, #0
bl FUN_02023788
bl FUN_020237A0
add r0, r5, #0
bl FUN_02023794
bl FUN_02023840
add r0, r5, #0
bl FUN_0202881C
add r4, r0, #0
bl rand_MT
add r2, r0, #0
add r0, r4, #0
mov r1, #1
bl FUN_02028788
add r0, r5, #0
bl FUN_0206007C
add r0, r5, #0
bl FUN_020238F4
add r4, r0, #0
bl rand_MT
add r7, r0, #0
cmp r6, #0
beq _021D7656
add r0, r4, #0
add r1, r7, #0
bl FUN_020239B8
_021D7656:
add r0, r4, #0
bl FUN_020239CC
add r1, r0, #0
add r0, r7, #0
mov r2, #0
bl FUN_02053678
add r1, r0, #0
lsl r1, r1, #0x18
add r0, r4, #0
lsr r1, r1, #0x18
bl FUN_02023A2C
add r0, r5, #0
bl FUN_02024ECC
ldr r1, [sp]
ldr r2, _021D7684 ; =0x021D76F8
mov r3, #0x76
bl FUN_020250C4
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_021D7684: .word 0x021D76F8
thumb_func_end MOD52_021D7604
thumb_func_start MOD52_021D7688
MOD52_021D7688: ; 0x021D7688
push {r3, lr}
add r0, r1, #0
bl FUN_020226FC
cmp r0, #0
bne _021D769A
mov r0, #0
bl OS_ResetSystem
_021D769A:
pop {r3, pc}
thumb_func_end MOD52_021D7688
thumb_func_start MOD52_021D769C
MOD52_021D769C: ; 0x021D769C
push {r4, lr}
add r4, r1, #0
add r0, r4, #0
bl FUN_020227DC
add r0, r4, #0
bl FUN_020377E0
add r0, r4, #0
bl FUN_020238F4
ldr r1, _021D76C4 ; =0x00000BB8
bl FUN_02023A14
add r0, r4, #0
bl FUN_020462AC
bl FUN_0205ECD4
pop {r4, pc}
.align 2, 0
_021D76C4: .word 0x00000BB8
thumb_func_end MOD52_021D769C
.section .rodata
; 0x021D76C8
.global MOD52_UNK_021D76C8
MOD52_UNK_021D76C8: ; 0x021D76C8
.byte 0x7D, 0x75, 0x1D, 0x02, 0x95, 0x75, 0x1D, 0x02, 0xE9, 0x75, 0x1D, 0x02, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x29, 0x75, 0x1D, 0x02, 0x41, 0x75, 0x1D, 0x02, 0x61, 0x75, 0x1D, 0x02, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xE1, 0x74, 0x1D, 0x02, 0xF9, 0x74, 0x1D, 0x02, 0x0D, 0x75, 0x1D, 0x02, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x9B, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x96, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00
.byte 0x9B, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00, 0xA4, 0x00, 0x02, 0x00, 0xA5, 0x00, 0x02, 0x00
.byte 0x95, 0x00, 0x01, 0x00, 0x9B, 0x00, 0x02, 0x00, 0x9E, 0x00, 0x01, 0x00, 0xA7, 0x00, 0x02, 0x00
.byte 0xA7, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00
.byte 0x9B, 0x00, 0x01, 0x00, 0x9B, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00
.byte 0xA4, 0x00, 0x01, 0x00, 0xA4, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x9B, 0x00, 0x01, 0x00
.byte 0x9B, 0x00, 0x01, 0x00, 0xA5, 0x00, 0x01, 0x00, 0xA6, 0x00, 0x02, 0x00, 0xA4, 0x00, 0x02, 0x00
.byte 0xA5, 0x00, 0x02, 0x00, 0xA8, 0x00, 0x02, 0x00, 0x9A, 0x00, 0x01, 0x00, 0x96, 0x00, 0x01, 0x00
.byte 0xA4, 0x00, 0x01, 0x00, 0xA4, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00, 0xA6, 0x00, 0x01, 0x00
.byte 0xA6, 0x00, 0x01, 0x00, 0x9F, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00
.byte 0xA4, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x01, 0x00, 0x96, 0x00, 0x01, 0x00
.byte 0xA0, 0x00, 0x01, 0x00, 0xA2, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00
.byte 0xA3, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x01, 0x00, 0x99, 0x00, 0x01, 0x00
.byte 0xAE, 0x00, 0x01, 0x00, 0x9D, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x01, 0x00
.byte 0xA8, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00
.byte 0xA6, 0x00, 0x01, 0x00, 0xA6, 0x00, 0x01, 0x00, 0xA2, 0x00, 0x01, 0x00, 0xA3, 0x00, 0x01, 0x00
.byte 0x98, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00, 0x95, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x01, 0x00
.byte 0x96, 0x00, 0x01, 0x00, 0xA9, 0x00, 0x01, 0x00, 0x97, 0x00, 0x02, 0x00, 0xA5, 0x00, 0x02, 0x00
.byte 0xA0, 0x00, 0x01, 0x00, 0xA1, 0x00, 0x01, 0x00, 0x98, 0x00, 0x01, 0x00, 0x9C, 0x00, 0x01, 0x00
.byte 0x9F, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x02, 0x00, 0x9A, 0x00, 0x01, 0x00, 0x97, 0x00, 0x01, 0x00
.byte 0xA1, 0x00, 0x01, 0x00, 0xAC, 0x00, 0x01, 0x00, 0xA0, 0x00, 0x02, 0x00, 0xA1, 0x00, 0x02, 0x00
.byte 0xA2, 0x00, 0x02, 0x00, 0xAB, 0x00, 0x01, 0x00, 0x9E, 0x00, 0x02, 0x00, 0xA5, 0x00, 0x03, 0x00
.byte 0xA6, 0x00, 0x03, 0x00, 0xA7, 0x00, 0x03, 0x00, 0xA9, 0x00, 0x01, 0x00, 0xA9, 0x00, 0x01, 0x00
.byte 0xAC, 0x00, 0x02, 0x00, 0xAC, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x01, 0x00, 0xAA, 0x00, 0x01, 0x00
.byte 0xAE, 0x00, 0x01, 0x00, 0xAE, 0x00, 0x01, 0x00, 0xAB, 0x00, 0x01, 0x00, 0xAB, 0x00, 0x01, 0x00
.byte 0xA9, 0x00, 0x01, 0x00, 0xA9, 0x00, 0x01, 0x00, 0xAC, 0x00, 0x01, 0x00, 0xAC, 0x00, 0x01, 0x00
.byte 0xAE, 0x00, 0x01, 0x00, 0xAE, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00
.byte 0xAB, 0x00, 0x01, 0x00, 0xAB, 0x00, 0x01, 0x00, 0x9D, 0x00, 0x01, 0x00, 0x9A, 0x00, 0x01, 0x00
.byte 0xAB, 0x00, 0x02, 0x00, 0xAD, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x02, 0x00, 0xAA, 0x00, 0x02, 0x00
.byte 0xAD, 0x00, 0x01, 0x00, 0xAD, 0x00, 0x01, 0x00