.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 debug_sub_80C2C18 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