pokeruby/asm/unk_debug_menu_3.s
2018-01-27 16:41:07 -06:00

748 lines
13 KiB
ArmAsm

.if DEBUG
.include "constants/gba_constants.inc"
.include "include/macros.inc"
.text
thumb_func_start debug_sub_813C404
debug_sub_813C404:
push {r4, r5, r6, lr}
add r6, r0, #0
ldr r5, ._1 @ gUnknown_Debug_845DDB2
ldr r4, ._1 + 4 @ gUnknown_Debug_845DAE1
sub r5, r5, r4
add r1, r4, #0
add r2, r5, #0
bl memcpy
add r0, r6, #0
add r1, r4, #0
bl unref_sub_812620C
add r0, r5, #0
pop {r4, r5, r6}
pop {r1}
bx r1
._2:
.align 2, 0
._1:
.word gUnknown_Debug_845DDB2
.word gUnknown_Debug_845DAE1
thumb_func_end debug_sub_813C404
thumb_func_start debug_sub_813C430
debug_sub_813C430:
push {r4, r5, r6, lr}
add r6, r0, #0
ldr r5, ._3 @ gUnknown_Debug_845E402
ldr r4, ._3 + 4 @ gUnknown_Debug_845E3E0
sub r5, r5, r4
add r1, r4, #0
add r2, r5, #0
bl memcpy
add r0, r6, #0
add r1, r4, #0
bl unref_sub_812620C
add r0, r5, #0
pop {r4, r5, r6}
pop {r1}
bx r1
._4:
.align 2, 0
._3:
.word gUnknown_Debug_845E402
.word gUnknown_Debug_845E3E0
thumb_func_end debug_sub_813C430
thumb_func_start debug_sub_813C45C
debug_sub_813C45C:
push {r4, r5, r6, lr}
add r6, r0, #0
ldr r5, ._5 @ gUnknown_Debug_845E443
ldr r4, ._5 + 4 @ gUnknown_Debug_845E422
sub r5, r5, r4
add r1, r4, #0
add r2, r5, #0
bl memcpy
add r0, r6, #0
add r1, r4, #0
bl unref_sub_812620C
add r0, r5, #0
pop {r4, r5, r6}
pop {r1}
bx r1
._6:
.align 2, 0
._5:
.word gUnknown_Debug_845E443
.word gUnknown_Debug_845E422
thumb_func_end debug_sub_813C45C
thumb_func_start debug_sub_813C488
debug_sub_813C488:
push {r4, r5, r6, lr}
add r6, r0, #0
ldr r5, ._7 @ gUnknown_Debug_845E422
ldr r4, ._7 + 4 @ gUnknown_Debug_845E402
sub r5, r5, r4
add r1, r4, #0
add r2, r5, #0
bl memcpy
add r0, r6, #0
add r1, r4, #0
bl unref_sub_812620C
add r0, r5, #0
pop {r4, r5, r6}
pop {r1}
bx r1
._8:
.align 2, 0
._7:
.word gUnknown_Debug_845E422
.word gUnknown_Debug_845E402
thumb_func_end debug_sub_813C488
thumb_func_start debug_sub_813C4B4
debug_sub_813C4B4:
push {r4, lr}
ldr r4, ._9 @ gUnknown_Debug_845E619
ldr r1, ._9 + 4 @ gUnknown_Debug_845E606
sub r4, r4, r1
add r2, r4, #0
bl memcpy
add r0, r4, #0
pop {r4}
pop {r1}
bx r1
._10:
.align 2, 0
._9:
.word gUnknown_Debug_845E619
.word gUnknown_Debug_845E606
thumb_func_end debug_sub_813C4B4
thumb_func_start debug_sub_813C4D4
debug_sub_813C4D4:
push {r4, r5, r6, lr}
add r6, r0, #0
ldr r5, ._11 @ gUnknown_Debug_845E712
ldr r4, ._11 + 4 @ gUnknown_Debug_845E619
sub r5, r5, r4
add r1, r4, #0
add r2, r5, #0
bl memcpy
add r0, r6, #0
add r1, r4, #0
bl unref_sub_81261B4
add r0, r5, #0
pop {r4, r5, r6}
pop {r1}
bx r1
._12:
.align 2, 0
._11:
.word gUnknown_Debug_845E712
.word gUnknown_Debug_845E619
thumb_func_end debug_sub_813C4D4
thumb_func_start debug_sub_813C500
debug_sub_813C500:
push {r4, r5, r6, lr}
add r6, r0, #0
ldr r5, ._13 @ gUnknown_Debug_845E797
ldr r4, ._13 + 4 @ gUnknown_Debug_845E712
sub r5, r5, r4
add r1, r4, #0
add r2, r5, #0
bl memcpy
add r0, r6, #0
add r1, r4, #0
bl unref_sub_812620C
add r0, r5, #0
pop {r4, r5, r6}
pop {r1}
bx r1
._14:
.align 2, 0
._13:
.word gUnknown_Debug_845E797
.word gUnknown_Debug_845E712
thumb_func_end debug_sub_813C500
thumb_func_start debug_sub_813C52C
debug_sub_813C52C:
push {r4, r5, r6, lr}
mov r6, r9
mov r5, r8
push {r5, r6}
mov r8, r0
lsl r5, r1, #0x10
lsr r0, r5, #0x10
mov r9, r0
ldr r6, ._15 @ gUnknown_Debug_845E7BB
ldr r4, ._15 + 4 @ gUnknown_Debug_845E797
sub r6, r6, r4
mov r0, r8
add r1, r4, #0
add r2, r6, #0
bl memcpy
ldr r0, ._15 + 8 @ gUnknown_Debug_845E7B5
sub r0, r0, r4
add r0, r0, r8
add r0, r0, #0x3
mov r1, r9
strb r1, [r0]
lsr r5, r5, #0x18
strb r5, [r0, #0x1]
mov r0, r8
add r1, r4, #0
bl unref_sub_812620C
add r0, r6, #0
pop {r3, r4}
mov r8, r3
mov r9, r4
pop {r4, r5, r6}
pop {r1}
bx r1
._16:
.align 2, 0
._15:
.word gUnknown_Debug_845E7BB
.word gUnknown_Debug_845E797
.word gUnknown_Debug_845E7B5
thumb_func_end debug_sub_813C52C
thumb_func_start debug_sub_813C580
debug_sub_813C580:
push {lr}
mov r1, #0xd
bl debug_sub_813C52C
pop {r1}
bx r1
thumb_func_end debug_sub_813C580
thumb_func_start debug_sub_813C58C
debug_sub_813C58C:
push {lr}
mov r1, #0x4
bl debug_sub_813C52C
pop {r1}
bx r1
thumb_func_end debug_sub_813C58C
thumb_func_start debug_sub_813C598
debug_sub_813C598:
push {lr}
mov r1, #0x85
bl debug_sub_813C52C
pop {r1}
bx r1
thumb_func_end debug_sub_813C598
thumb_func_start debug_sub_813C5A4
debug_sub_813C5A4:
push {lr}
ldr r1, ._17 @ 0x121
bl debug_sub_813C52C
pop {r1}
bx r1
._18:
.align 2, 0
._17:
.word 0x121
thumb_func_end debug_sub_813C5A4
thumb_func_start debug_sub_813C5B4
debug_sub_813C5B4:
push {r4, r5, r6, r7, lr}
add r4, r0, #0
ldr r7, ._23 @ gSaveBlock1
ldr r0, ._23 + 4 @ gUnknown_Debug_845DDD6
ldr r1, ._23 + 8 @ gUnknown_Debug_845DDB2
sub r0, r0, r1
add r6, r0, r4
ldr r0, ._23 + 12 @ gUnknown_Debug_845E306
sub r5, r0, r1
ldr r0, ._23 + 16 @ Str_842E23C
mov r1, #0x0
mov r2, #0x0
bl GetEnigmaBerryChecksum
mov r2, #0x0
ldr r3, ._23 + 20 @ 0xfff
mov r1, #0x0
._19:
add r0, r4, r2
strb r1, [r0]
add r2, r2, #0x1
cmp r2, r3
ble ._19 @cond_branch
mov r2, #0x0
cmp r2, r5
bcs ._20 @cond_branch
ldr r3, ._23 + 8 @ gUnknown_Debug_845DDB2
._21:
add r0, r4, r2
add r1, r2, r3
ldrb r1, [r1]
strb r1, [r0]
add r2, r2, #0x1
cmp r2, r5
bcc ._21 @cond_branch
._20:
mov r2, #0x0
ldr r3, ._23 + 24 @ 0x52f
._22:
add r0, r6, r2
add r1, r7, r2
ldrb r1, [r1]
strb r1, [r0]
add r2, r2, #0x1
cmp r2, r3
bls ._22 @cond_branch
bl ClearEnigmaBerries
ldr r1, ._23 + 8 @ gUnknown_Debug_845DDB2
add r0, r4, #0
bl unref_sub_81261B4
add r0, r5, #0
pop {r4, r5, r6, r7}
pop {r1}
bx r1
._24:
.align 2, 0
._23:
.word gSaveBlock1+0x3160
.word gUnknown_Debug_845DDD6
.word gUnknown_Debug_845DDB2
.word gUnknown_Debug_845E306
.word Str_842E23C
.word 0xfff
.word 0x52f
thumb_func_end debug_sub_813C5B4
thumb_func_start debug_sub_813C638
debug_sub_813C638:
push {r4, r5, r6, lr}
mov r6, r8
push {r6}
add sp, sp, #0xffffffec
mov r8, r0
add r4, r1, #0
add r5, r2, #0
add r6, r3, #0
lsl r4, r4, #0x10
lsr r4, r4, #0x10
lsl r5, r5, #0x18
lsr r5, r5, #0x18
lsl r6, r6, #0x10
lsr r6, r6, #0x10
bl ZeroMonData
mov r0, #0x0
str r0, [sp]
str r0, [sp, #0x4]
mov r0, #0x1
str r0, [sp, #0x8]
ldr r0, ._25 @ 0x270f
str r0, [sp, #0xc]
mov r0, r8
add r1, r4, #0
add r2, r5, #0
mov r3, #0x20
bl CreateMon
ldr r2, ._25 + 4 @ Str_842E240
mov r0, r8
mov r1, #0x7
bl SetMonData
ldr r2, ._25 + 8 @ Str_842E248
mov r0, r8
mov r1, #0x2
bl SetMonData
str r6, [sp, #0x10]
mov r0, r8
mov r1, #0xc
add r2, sp, #0x10
bl SetMonData
add sp, sp, #0x14
pop {r3}
mov r8, r3
pop {r4, r5, r6}
pop {r0}
bx r0
._26:
.align 2, 0
._25:
.word 0x270f
.word Str_842E240
.word Str_842E248
thumb_func_end debug_sub_813C638
thumb_func_start debug_sub_813C6AC
debug_sub_813C6AC:
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
add sp, sp, #0xfffffff8
add r6, r0, #0
add r5, r1, #0
add r0, r5, #0
bl ClearMailStruct
add r0, r6, #0
mov r1, #0xc
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
mov r8, r0
bl ItemIsMail
lsl r0, r0, #0x18
cmp r0, #0
beq ._27 @cond_branch
add r4, r5, #0
add r4, r4, #0x12
add r7, r5, #0
add r7, r7, #0x1a
mov r1, #0x9
add r0, r5, #0
add r0, r0, #0x10
._28:
strh r1, [r0]
sub r1, r1, #0x1
sub r0, r0, #0x2
cmp r0, r5
bge ._28 @cond_branch
add r0, r6, #0
mov r1, #0x7
mov r2, sp
bl GetMonData
add r0, r4, #0
mov r1, sp
mov r2, #0x8
bl StringCopyN
add r0, r6, #0
mov r1, #0x1
bl GetMonData
add r1, r7, #0
bl write_word_to_mem
add r0, r6, #0
mov r1, #0xb
bl GetMonData
add r4, r0, #0
lsl r4, r4, #0x10
lsr r4, r4, #0x10
add r0, r6, #0
mov r1, #0x0
bl GetMonData
add r1, r0, #0
add r0, r4, #0
bl SpeciesToMailSpecies
strh r0, [r5, #0x1e]
mov r0, r8
strh r0, [r5, #0x20]
._27:
add sp, sp, #0x8
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7}
pop {r0}
bx r0
thumb_func_end debug_sub_813C6AC
thumb_func_start debug_sub_813C740
debug_sub_813C740:
push {r4, r5, r6, lr}
mov r6, sl
mov r5, r9
mov r4, r8
push {r4, r5, r6}
add sp, sp, #0xffffffd0
add r6, r0, #0
ldr r0, ._29 @ gUnknown_Debug_845E443
mov r8, r0
ldr r1, ._29 + 4 @ gUnknown_Debug_845E4EF
ldr r5, ._29 + 8 @ gEnemyParty
sub r1, r1, r0
mov r9, r1
add r0, r6, #0
mov r1, r8
mov r2, r9
bl memcpy
add r0, r5, #0
mov r1, #0x19
mov r2, #0x5
mov r3, #0x0
bl debug_sub_813C638
add r4, sp, #0x24
mov r0, #0x1
mov sl, r0
mov r1, sl
strb r1, [r4]
add r0, r5, #0
mov r1, #0x2d
add r2, r4, #0
bl SetMonData
mov r0, #0x3
strb r0, [r4]
add r0, r5, #0
mov r1, #0x20
add r2, r4, #0
bl SetMonData
mov r0, #0xff
strb r0, [r4]
add r0, r5, #0
mov r1, #0x23
add r2, r4, #0
bl SetMonData
ldr r1, ._29 + 12 @ Str_842E238
add r0, r4, #0
mov r2, #0xb
bl StringCopyN
add r0, r5, #0
mov r1, #0x2
add r2, r4, #0
bl SetMonData
mov r0, sl
strb r0, [r4]
add r0, r5, #0
mov r1, #0x3
add r2, r4, #0
bl SetMonData
ldr r0, ._29 + 16 @ gUnknown_Debug_845E467
add r0, r6, r0
mov r1, r8
sub r0, r0, r1
add r1, r5, #0
mov r2, #0x64
bl memcpy
ldr r0, ._29 + 20 @ gUnknown_Debug_845E4CB
add r6, r6, r0
mov r0, r8
sub r6, r6, r0
add r0, r6, #0
mov r1, sp
mov r2, #0x24
bl memcpy
mov r0, r9
add sp, sp, #0x30
pop {r3, r4, r5}
mov r8, r3
mov r9, r4
mov sl, r5
pop {r4, r5, r6}
pop {r1}
bx r1
._30:
.align 2, 0
._29:
.word gUnknown_Debug_845E443
.word gUnknown_Debug_845E4EF
.word gEnemyParty
.word Str_842E238
.word gUnknown_Debug_845E467
.word gUnknown_Debug_845E4CB
thumb_func_end debug_sub_813C740
thumb_func_start debug_sub_813C810
debug_sub_813C810:
push {r4, r5, r6, lr}
mov r6, r8
push {r6}
add sp, sp, #0xffffffdc
add r6, r0, #0
ldr r5, ._31 @ gUnknown_Debug_845E443
ldr r0, ._31 + 4 @ gUnknown_Debug_845E4EF
ldr r4, ._31 + 8 @ gEnemyParty
sub r0, r0, r5
mov r8, r0
add r0, r6, #0
add r1, r5, #0
mov r2, r8
bl memcpy
add r0, r4, #0
mov r1, #0xc9
mov r2, #0x15
mov r3, #0x82
bl debug_sub_813C638
add r0, r4, #0
mov r1, sp
bl debug_sub_813C6AC
ldr r0, ._31 + 12 @ gUnknown_Debug_845E467
add r0, r6, r0
sub r0, r0, r5
add r1, r4, #0
mov r2, #0x64
bl memcpy
ldr r0, ._31 + 16 @ gUnknown_Debug_845E4CB
add r0, r6, r0
sub r0, r0, r5
mov r1, sp
mov r2, #0x24
bl memcpy
add r0, r6, #0
add r1, r5, #0
bl unref_sub_812620C
mov r0, r8
add sp, sp, #0x24
pop {r3}
mov r8, r3
pop {r4, r5, r6}
pop {r1}
bx r1
._32:
.align 2, 0
._31:
.word gUnknown_Debug_845E443
.word gUnknown_Debug_845E4EF
.word gEnemyParty
.word gUnknown_Debug_845E467
.word gUnknown_Debug_845E4CB
thumb_func_end debug_sub_813C810
thumb_func_start debug_sub_813C888
debug_sub_813C888:
push {r4, r5, r6, lr}
mov r6, r8
push {r6}
add sp, sp, #0xffffffdc
add r6, r0, #0
ldr r5, ._33 @ gUnknown_Debug_845E443
ldr r0, ._33 + 4 @ gUnknown_Debug_845E4EF
ldr r4, ._33 + 8 @ gEnemyParty
sub r0, r0, r5
mov r8, r0
add r0, r6, #0
add r1, r5, #0
mov r2, r8
bl memcpy
add r0, r4, #0
mov r1, #0xc9
mov r2, #0x15
mov r3, #0x82
bl debug_sub_813C638
add r0, r4, #0
mov r1, sp
bl debug_sub_813C6AC
mov r0, #0x0
strh r0, [r4, #0x1c]
ldr r0, ._33 + 12 @ gUnknown_Debug_845E467
add r0, r6, r0
sub r0, r0, r5
add r1, r4, #0
mov r2, #0x64
bl memcpy
ldr r0, ._33 + 16 @ gUnknown_Debug_845E4CB
add r0, r6, r0
sub r0, r0, r5
mov r1, sp
mov r2, #0x24
bl memcpy
add r0, r6, #0
add r1, r5, #0
bl unref_sub_812620C
mov r0, r8
add sp, sp, #0x24
pop {r3}
mov r8, r3
pop {r4, r5, r6}
pop {r1}
bx r1
._34:
.align 2, 0
._33:
.word gUnknown_Debug_845E443
.word gUnknown_Debug_845E4EF
.word gEnemyParty
.word gUnknown_Debug_845E467
.word gUnknown_Debug_845E4CB
thumb_func_end debug_sub_813C888
thumb_func_start debug_sub_813C904
debug_sub_813C904:
push {r4, lr}
ldr r4, ._35 @ gPlayerParty
add r0, r4, #0
mov r1, #0x5
mov r2, #0x32
mov r3, #0xb7
bl debug_sub_813C638
add r0, r4, #0
add r0, r0, #0x64
mov r1, #0x8
mov r2, #0x32
mov r3, #0xc4
bl debug_sub_813C638
add r4, r4, #0xc8
add r0, r4, #0
mov r1, #0x2
mov r2, #0x32
mov r3, #0x8d
bl debug_sub_813C638
pop {r4}
pop {r0}
bx r0
._36:
.align 2, 0
._35:
.word gPlayerParty
thumb_func_end debug_sub_813C904
thumb_func_start debug_sub_813C93C
debug_sub_813C93C:
push {r4, r5, r6, lr}
add sp, sp, #0xffffff44
add r4, r0, #0
ldr r6, ._37 @ gUnknown_Debug_845E4EF
ldr r5, ._37 + 4 @ gUnknown_Debug_845E606
sub r5, r5, r6
add r1, r6, #0
add r2, r5, #0
bl memcpy
bl SavePlayerParty
bl debug_sub_813C904
ldr r1, ._37 + 8 @ Str_842E253
ldr r2, ._37 + 12 @ 0x270f
mov r0, sp
bl debug_sub_8075DB4
bl LoadPlayerParty
ldr r0, ._37 + 16 @ gUnknown_Debug_845E506
add r4, r4, r0
sub r4, r4, r6
add r0, r4, #0
mov r1, sp
mov r2, #0xbc
bl memcpy
add r0, r5, #0
add sp, sp, #0xbc
pop {r4, r5, r6}
pop {r1}
bx r1
._38:
.align 2, 0
._37:
.word gUnknown_Debug_845E4EF
.word gUnknown_Debug_845E606
.word Str_842E253+5 @ weird...
.word 0x270f
.word gUnknown_Debug_845E506
thumb_func_end debug_sub_813C93C
.align 2, 0
.endif