.if DEBUG .include "constants/gba_constants.inc" .include "include/macros.inc" .text thumb_func_start debug_sub_815F1B8 debug_sub_815F1B8: push {lr} add sp, sp, #0xfffffff8 bl Menu_EraseScreen mov r0, #0xe mov r1, #0x0 mov r2, #0x1d mov r3, #0x13 bl Menu_DrawStdWindowFrame ldr r3, ._1 @ _843E3DC mov r0, #0x10 mov r1, #0x1 mov r2, #0x9 bl Menu_PrintItems mov r0, #0x0 str r0, [sp] mov r0, #0xe str r0, [sp, #0x4] mov r0, #0x0 mov r1, #0xf mov r2, #0x1 mov r3, #0x9 bl InitMenu add sp, sp, #0x8 pop {r0} bx r0 ._2: .align 2, 0 ._1: .word _843E3DC thumb_func_end debug_sub_815F1B8 thumb_func_start InitNakamuraDebugMenu InitNakamuraDebugMenu: push {lr} bl debug_sub_815F1B8 ldr r1, ._3 @ gMenuCallback ldr r0, ._3 + 4 @ debug_sub_815F214 str r0, [r1] mov r0, #0x0 pop {r1} bx r1 ._4: .align 2, 0 ._3: .word gMenuCallback .word debug_sub_815F214+1 thumb_func_end InitNakamuraDebugMenu thumb_func_start debug_sub_815F214 debug_sub_815F214: push {r4, lr} ldr r4, ._9 @ gMain ldrh r1, [r4, #0x2e] mov r0, #0x40 and r0, r0, r1 cmp r0, #0 beq ._5 @cond_branch mov r0, #0x1 neg r0, r0 bl Menu_MoveCursor ._5: ldrh r1, [r4, #0x2e] mov r0, #0x80 and r0, r0, r1 cmp r0, #0 beq ._6 @cond_branch mov r0, #0x1 bl Menu_MoveCursor ._6: ldrh r1, [r4, #0x2e] mov r0, #0x1 and r0, r0, r1 cmp r0, #0 beq ._7 @cond_branch ldr r4, ._9 + 4 @ _843E3DC bl Menu_GetCursorPos lsl r0, r0, #0x18 lsr r0, r0, #0x15 add r4, r4, #0x4 add r0, r0, r4 ldr r4, [r0] bl Menu_DestroyCursor bl _call_via_r4 lsl r0, r0, #0x18 lsr r0, r0, #0x18 b ._12 ._10: .align 2, 0 ._9: .word gMain .word _843E3DC ._7: mov r0, #0x2 and r0, r0, r1 cmp r0, #0 bne ._11 @cond_branch mov r0, #0x0 b ._12 ._11: bl CloseMenu mov r0, #0x1 ._12: pop {r4} pop {r1} bx r1 thumb_func_end debug_sub_815F214 thumb_func_start debug_sub_815F284 debug_sub_815F284: push {r4, lr} lsl r0, r0, #0x18 lsr r4, r0, #0x18 ldr r0, ._14 @ gPaletteFade ldrb r1, [r0, #0x7] mov r0, #0x80 and r0, r0, r1 cmp r0, #0 bne ._13 @cond_branch bl debug_sub_81381B4 mov r0, #0x5 mov r1, #0x0 bl OpenPartyMenu add r0, r4, #0 bl DestroyTask ._13: pop {r4} pop {r0} bx r0 ._15: .align 2, 0 ._14: .word gPaletteFade thumb_func_end debug_sub_815F284 thumb_func_start debug_sub_815F2B4 debug_sub_815F2B4: push {lr} add sp, sp, #0xfffffffc bl CloseMenu bl Menu_EraseScreen ldr r1, ._16 @ gMain ldr r0, ._16 + 4 @ sub_805469C str r0, [r1, #0x8] ldr r0, ._16 + 8 @ debug_sub_815F284 mov r1, #0x0 bl CreateTask mov r0, #0x1 neg r0, r0 mov r1, #0x0 str r1, [sp] mov r2, #0x0 mov r3, #0x10 bl BeginNormalPaletteFade mov r0, #0x1 add sp, sp, #0x4 pop {r1} bx r1 ._17: .align 2, 0 ._16: .word gMain .word sub_805469C+1 .word debug_sub_815F284+1 thumb_func_end debug_sub_815F2B4 thumb_func_start debug_sub_815F2F4 debug_sub_815F2F4: push {r4, r5, r6, r7, lr} mov r7, sl mov r6, r9 mov r5, r8 push {r5, r6, r7} add sp, sp, #0xfffffffc bl CloseMenu mov r7, #0x1 ._34: lsl r1, r7, #0x2 add r0, r1, r7 lsl r2, r0, #0x5 ldr r3, ._24 @ gSaveBlock1 add r0, r2, r3 ldr r5, ._24 + 4 @ 0x1a08 add r0, r0, r5 ldrb r0, [r0] mov r9, r1 add r1, r7, #1 str r1, [sp] cmp r0, #0 beq ._18 @cond_branch b ._19 ._18: mov r5, #0x0 ldr r6, ._24 + 8 @ gSaveBlock2 add r4, r7, #0 sub r4, r4, #0x46 ldr r3, ._24 + 12 @ gSaveBlock1 ._21: add r1, r5, r2 add r1, r1, r3 add r0, r5, r6 ldrb r0, [r0] strb r0, [r1] lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0xff beq ._20 @cond_branch add r0, r5, #1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x6 bls ._21 @cond_branch ._20: cmp r5, #0x7 bne ._22 @cond_branch add r0, r2, #6 b ._23 ._25: .align 2, 0 ._24: .word gSaveBlock1 .word 0x1a08 .word gSaveBlock2 .word gSaveBlock1+0x1a0a ._22: add r0, r5, r2 ._23: add r0, r0, r3 strb r4, [r0] ldr r1, ._35 @ gSaveBlock1 ldr r2, ._35 + 4 @ 0x1a08 add r2, r2, r1 mov sl, r2 mov r3, r9 add r0, r3, r7 lsl r6, r0, #0x5 add r1, r6, r1 ldr r5, ._35 + 4 @ 0x1a08 add r5, r5, r1 mov r8, r5 ._30: bl Random lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x4b bl __umodsi3 lsl r0, r0, #0x10 lsr r0, r0, #0xe ldr r1, ._35 + 8 @ _843E424 add r0, r0, r1 ldrb r0, [r0] mov r2, r8 strb r0, [r2] mov r5, #0x0 cmp r5, r7 bcs ._28 @cond_branch mov r3, sl ldrb r3, [r3] cmp r0, r3 beq ._28 @cond_branch ldr r4, ._35 @ gSaveBlock1 add r0, r6, r4 ldr r2, ._35 + 4 @ 0x1a08 add r3, r0, r2 ._29: add r0, r5, #1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, r7 bcs ._28 @cond_branch lsl r0, r5, #0x2 add r0, r0, r5 lsl r0, r0, #0x5 add r0, r0, r4 add r0, r0, r2 ldrb r1, [r3] ldrb r0, [r0] cmp r1, r0 bne ._29 @cond_branch ._28: cmp r5, r7 bne ._30 @cond_branch bl Random mov r5, r9 add r4, r5, r7 lsl r4, r4, #0x5 ldr r1, ._35 @ gSaveBlock1 add r3, r4, r1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x1 ldr r2, ._35 + 12 @ 0x1a09 add r3, r3, r2 and r0, r0, r1 lsl r0, r0, #0x4 ldrb r1, [r3] mov r5, #0x11 neg r5, r5 add r2, r5, #0 and r1, r1, r2 orr r1, r1, r0 strb r1, [r3] mov r5, #0x0 ldr r6, ._35 + 16 @ gSaveBlock1 ._31: bl Random add r1, r5, r4 add r1, r1, r6 strb r0, [r1] add r0, r5, #1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x3 bls ._31 @cond_branch mov r5, #0x0 mov r1, r9 add r0, r1, r7 lsl r4, r0, #0x5 ldr r3, ._35 + 20 @ gSaveBlock1 mov r2, #0x0 add r6, r3, #0 add r6, r6, #0x10 ._32: add r1, r5, r4 add r0, r1, r3 strb r2, [r0] add r1, r1, r6 strb r2, [r1] add r0, r5, #1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0xf bls ._32 @cond_branch add r0, r7, #0 bl unref_sub_80BCD7C ._19: ldr r2, [sp] lsl r0, r2, #0x18 lsr r7, r0, #0x18 cmp r7, #0x13 bhi ._33 @cond_branch b ._34 ._33: mov r0, #0x1 add sp, sp, #0x4 pop {r3, r4, r5} mov r8, r3 mov r9, r4 mov sl, r5 pop {r4, r5, r6, r7} pop {r1} bx r1 ._36: .align 2, 0 ._35: .word gSaveBlock1 .word 0x1a08 .word _843E424 .word 0x1a09 .word gSaveBlock1+0x1a11 .word gSaveBlock1+0x1a1a thumb_func_end debug_sub_815F2F4 thumb_func_start debug_sub_815F470 debug_sub_815F470: push {r4, r5, r6, r7, lr} add r6, r0, #0 add r7, r1, #0 mov ip, r2 ldr r2, ._39 @ gSaveBlock1 ldr r0, ._39 + 4 @ _nakamuraData0 ldrb r1, [r0] lsl r0, r1, #0x2 add r0, r0, r1 lsl r0, r0, #0x5 add r0, r0, r2 ldr r1, ._39 + 8 @ 0x1a08 add r0, r0, r1 ldrb r4, [r0] mov r2, #0x0 ldr r3, ._39 + 12 @ _843E424 add r5, r3, #0 ._41: lsl r1, r2, #0x2 add r0, r1, r5 ldrb r0, [r0] cmp r0, r4 bne ._37 @cond_branch add r0, r1, #1 add r0, r0, r3 ldrb r0, [r0] strb r0, [r6] add r0, r1, #2 add r0, r0, r3 ldrb r0, [r0] strb r0, [r7] add r0, r1, #3 add r0, r0, r3 ldrb r0, [r0] mov r1, ip strb r0, [r1] b ._38 ._40: .align 2, 0 ._39: .word gSaveBlock1 .word _nakamuraData0 .word 0x1a08 .word _843E424 ._37: add r0, r2, #1 lsl r0, r0, #0x18 lsr r2, r0, #0x18 cmp r2, #0x4a bls ._41 @cond_branch ._38: pop {r4, r5, r6, r7} pop {r0} bx r0 thumb_func_end debug_sub_815F470 thumb_func_start debug_sub_815F4D8 debug_sub_815F4D8: push {r4, r5, r6, r7, lr} add sp, sp, #0xfffffffc mov r0, #0x1 mov r1, #0x1 mov r2, #0xa mov r3, #0xa bl Menu_BlankWindowRect ldr r6, ._43 @ gStringVar1 ldr r7, ._43 + 4 @ _nakamuraData0 ldrb r1, [r7] add r0, r6, #0 mov r2, #0x0 mov r3, #0x2 bl ConvertIntToDecimalStringN add r0, r6, #0 mov r1, #0x1 mov r2, #0x1 bl Menu_PrintText ldr r2, ._43 + 8 @ gSaveBlock1 ldrb r1, [r7] lsl r0, r1, #0x2 add r0, r0, r1 lsl r0, r0, #0x5 add r0, r0, r2 ldr r1, ._43 + 12 @ 0x1a08 add r0, r0, r1 ldrb r0, [r0] cmp r0, #0 beq ._42 @cond_branch mov r4, sp add r4, r4, #0x1 mov r5, sp add r5, r5, #0x2 mov r0, sp add r1, r4, #0 add r2, r5, #0 bl debug_sub_815F470 ldrb r1, [r7] add r0, r6, #0 bl sub_80BC190 add r0, r6, #0 mov r1, #0x1 mov r2, #0x3 bl Menu_PrintText ldr r0, ._43 + 16 @ Str_843E550 mov r1, #0x1 mov r2, #0x5 bl Menu_PrintText mov r0, sp ldrb r1, [r0] add r0, r6, #0 mov r2, #0x0 mov r3, #0x3 bl ConvertIntToDecimalStringN add r0, r6, #0 mov r1, #0x2 mov r2, #0x5 bl Menu_PrintText ldr r0, ._43 + 20 @ Str_843E552 mov r1, #0x1 mov r2, #0x7 bl Menu_PrintText ldrb r1, [r4] add r0, r6, #0 mov r2, #0x0 mov r3, #0x3 bl ConvertIntToDecimalStringN add r0, r6, #0 mov r1, #0x3 mov r2, #0x7 bl Menu_PrintText ldr r0, ._43 + 24 @ Str_843E554 mov r1, #0x1 mov r2, #0x9 bl Menu_PrintText ldrb r1, [r5] add r0, r6, #0 mov r2, #0x0 mov r3, #0x3 bl ConvertIntToDecimalStringN add r0, r6, #0 mov r1, #0x3 mov r2, #0x9 bl Menu_PrintText ._42: add sp, sp, #0x4 pop {r4, r5, r6, r7} pop {r0} bx r0 ._44: .align 2, 0 ._43: .word gStringVar1 .word _nakamuraData0 .word gSaveBlock1 .word 0x1a08 .word Str_843E550 .word Str_843E552 .word Str_843E554 thumb_func_end debug_sub_815F4D8 thumb_func_start debug_sub_815F5C4 debug_sub_815F5C4: push {lr} ldr r0, ._48 @ gMain ldrh r1, [r0, #0x2e] mov r0, #0x20 and r0, r0, r1 lsl r0, r0, #0x10 lsr r2, r0, #0x10 cmp r2, #0 beq ._45 @cond_branch ldr r1, ._48 + 4 @ _nakamuraData0 ldrb r0, [r1] cmp r0, #0 bne ._46 @cond_branch mov r0, #0x13 b ._50 ._49: .align 2, 0 ._48: .word gMain .word _nakamuraData0 ._46: sub r0, r0, #0x1 b ._50 ._45: mov r0, #0x10 and r0, r0, r1 cmp r0, #0 beq ._51 @cond_branch ldr r1, ._54 @ _nakamuraData0 ldrb r0, [r1] cmp r0, #0x13 bne ._52 @cond_branch strb r2, [r1] b ._53 ._55: .align 2, 0 ._54: .word _nakamuraData0 ._52: add r0, r0, #0x1 ._50: strb r0, [r1] ._53: bl debug_sub_815F4D8 mov r0, #0x0 b ._58 ._51: mov r0, #0x2 and r0, r0, r1 cmp r0, #0 bne ._57 @cond_branch mov r0, #0x0 b ._58 ._57: bl CloseMenu mov r0, #0x1 ._58: pop {r1} bx r1 thumb_func_end debug_sub_815F5C4 thumb_func_start debug_sub_815F62C debug_sub_815F62C: push {lr} ldr r1, ._59 @ _nakamuraData0 mov r0, #0x0 strb r0, [r1] ldr r1, ._59 + 4 @ gMenuCallback ldr r0, ._59 + 8 @ debug_sub_815F5C4 str r0, [r1] mov r0, #0x0 mov r1, #0x0 mov r2, #0x1d mov r3, #0x13 bl Menu_EraseWindowRect mov r0, #0x0 mov r1, #0x0 mov r2, #0xb mov r3, #0xb bl Menu_DrawStdWindowFrame bl debug_sub_815F4D8 mov r0, #0x0 pop {r1} bx r1 ._60: .align 2, 0 ._59: .word _nakamuraData0 .word gMenuCallback .word debug_sub_815F5C4+1 thumb_func_end debug_sub_815F62C thumb_func_start debug_sub_815F668 debug_sub_815F668: push {r4, r5, r6, lr} ldr r0, ._61 @ _nakamuraData0 ldrb r0, [r0] lsl r1, r0, #0x2 add r1, r1, r0 lsl r1, r1, #0x5 ldr r0, ._61 + 4 @ gSaveBlock1 add r1, r1, r0 ldrb r4, [r1, #0x3] lsl r4, r4, #0x18 ldrb r0, [r1, #0x2] lsl r0, r0, #0x10 orr r4, r4, r0 ldrb r0, [r1, #0x1] lsl r0, r0, #0x8 orr r4, r4, r0 ldrb r0, [r1] orr r4, r4, r0 ldr r5, ._61 + 8 @ gStringVar1 ldr r6, ._61 + 12 @ 0x186a0 add r0, r4, #0 add r1, r6, #0 bl __udivsi3 add r1, r0, #0 add r0, r5, #0 mov r2, #0x2 mov r3, #0x5 bl ConvertIntToDecimalStringN add r0, r5, #0 mov r1, #0x2 mov r2, #0x7 bl Menu_PrintText add r0, r4, #0 add r1, r6, #0 bl __umodsi3 add r1, r0, #0 add r0, r5, #0 mov r2, #0x2 mov r3, #0x5 bl ConvertIntToDecimalStringN add r0, r5, #0 mov r1, #0x7 mov r2, #0x7 bl Menu_PrintText pop {r4, r5, r6} pop {r0} bx r0 ._62: .align 2, 0 ._61: .word _nakamuraData0 .word gSaveBlock1+0x1a11 .word gStringVar1 .word 0x186a0 thumb_func_end debug_sub_815F668 thumb_func_start debug_sub_815F6E4 debug_sub_815F6E4: push {r4, lr} mov r0, #0x2 mov r1, #0x3 mov r2, #0xb mov r3, #0x4 bl Menu_BlankWindowRect ldr r4, ._63 @ gStringVar1 ldr r0, ._63 + 4 @ _nakamuraData0 ldrb r0, [r0] lsl r1, r0, #0x2 add r1, r1, r0 lsl r1, r1, #0x5 ldr r0, ._63 + 8 @ gSaveBlock1 add r1, r1, r0 add r0, r4, #0 mov r2, #0x7 bl StringCopyN mov r1, #0xff strb r1, [r0] add r0, r4, #0 mov r1, #0x2 mov r2, #0x3 bl Menu_PrintText pop {r4} pop {r0} bx r0 ._64: .align 2, 0 ._63: .word gStringVar1 .word _nakamuraData0 .word gSaveBlock1+0x1a0a thumb_func_end debug_sub_815F6E4 thumb_func_start debug_sub_815F72C debug_sub_815F72C: push {r4, r5, lr} mov r0, #0x2 mov r1, #0x1 mov r2, #0xb mov r3, #0xa bl Menu_BlankWindowRect ldr r4, ._66 @ gStringVar1 ldr r5, ._66 + 4 @ _nakamuraData0 ldrb r1, [r5] add r0, r4, #0 mov r2, #0x0 mov r3, #0x2 bl ConvertIntToDecimalStringN add r0, r4, #0 mov r1, #0x2 mov r2, #0x1 bl Menu_PrintText ldr r2, ._66 + 8 @ gSaveBlock1 ldrb r1, [r5] lsl r0, r1, #0x2 add r0, r0, r1 lsl r0, r0, #0x5 add r0, r0, r2 ldr r1, ._66 + 12 @ 0x1a08 add r0, r0, r1 ldrb r0, [r0] cmp r0, #0 beq ._65 @cond_branch bl debug_sub_815F6E4 bl debug_sub_815F668 ._65: pop {r4, r5} pop {r0} bx r0 ._67: .align 2, 0 ._66: .word gStringVar1 .word _nakamuraData0 .word gSaveBlock1 .word 0x1a08 thumb_func_end debug_sub_815F72C thumb_func_start debug_sub_815F788 debug_sub_815F788: push {lr} mov r0, #0x2 mov r1, #0x5 mov r2, #0xb mov r3, #0x6 bl Menu_BlankWindowRect ldr r0, ._68 @ Str_843E574 ldr r1, ._68 + 4 @ _nakamuraData2 ldrb r1, [r1] add r1, r1, #0x2 lsl r1, r1, #0x18 lsr r1, r1, #0x18 mov r2, #0x5 bl Menu_PrintText pop {r0} bx r0 ._69: .align 2, 0 ._68: .word Str_843E574 .word _nakamuraData2 thumb_func_end debug_sub_815F788 thumb_func_start debug_sub_815F7B4 debug_sub_815F7B4: push {lr} ldr r0, ._72 @ _nakamuraData1 ldrb r0, [r0] cmp r0, #0 beq ._70 @cond_branch mov r0, #0xb mov r1, #0x1 mov r2, #0xb mov r3, #0x2 bl Menu_BlankWindowRect b ._71 ._73: .align 2, 0 ._72: .word _nakamuraData1 ._70: ldr r0, ._74 @ _nakamuraData3 ldrb r0, [r0] lsl r0, r0, #0x1 ldr r1, ._74 + 4 @ Str_843E576 add r0, r0, r1 mov r1, #0xb mov r2, #0x1 bl Menu_PrintText ._71: pop {r0} bx r0 ._75: .align 2, 0 ._74: .word _nakamuraData3 .word Str_843E576 thumb_func_end debug_sub_815F7B4 thumb_func_start debug_sub_815F7F0 debug_sub_815F7F0: push {r4, r5, lr} ldr r1, ._78 @ _nakamuraData0 ldrb r2, [r1] lsl r1, r2, #0x2 add r1, r1, r2 lsl r1, r1, #0x5 ldr r2, ._78 + 4 @ gSaveBlock1 add r3, r1, r2 ldrb r1, [r3, #0x3] lsl r2, r1, #0x18 ldrb r1, [r3, #0x2] lsl r1, r1, #0x10 orr r2, r2, r1 ldrb r1, [r3, #0x1] lsl r1, r1, #0x8 orr r2, r2, r1 ldrb r1, [r3] orr r2, r2, r1 lsl r0, r0, #0x18 asr r1, r0, #0x18 mov r4, #0x9 ldr r0, ._78 + 8 @ _nakamuraData2 ldrb r0, [r0] cmp r4, r0 ble ._76 @cond_branch add r5, r0, #0 ._77: lsl r0, r1, #0x2 add r0, r0, r1 lsl r1, r0, #0x1 lsl r0, r4, #0x18 mov r4, #0xff lsl r4, r4, #0x18 add r0, r0, r4 lsr r4, r0, #0x18 asr r0, r0, #0x18 cmp r0, r5 bgt ._77 @cond_branch ._76: add r2, r2, r1 lsr r0, r2, #0x18 strb r0, [r3, #0x3] mov r0, #0xff lsl r0, r0, #0x10 and r0, r0, r2 lsr r0, r0, #0x10 strb r0, [r3, #0x2] mov r0, #0xff lsl r0, r0, #0x8 and r0, r0, r2 lsr r0, r0, #0x8 strb r0, [r3, #0x1] strb r2, [r3] bl debug_sub_815F668 pop {r4, r5} pop {r0} bx r0 ._79: .align 2, 0 ._78: .word _nakamuraData0 .word gSaveBlock1+0x1a11 .word _nakamuraData2 thumb_func_end debug_sub_815F7F0 thumb_func_start debug_sub_815F86C debug_sub_815F86C: push {r4, r5, r6, lr} lsl r0, r0, #0x18 ldr r1, ._84 @ _nakamuraData0 ldrb r2, [r1] lsl r1, r2, #0x2 add r1, r1, r2 lsl r1, r1, #0x5 ldr r2, ._84 + 4 @ gSaveBlock1 add r5, r1, r2 mov r2, #0x0 mov r3, #0x0 lsr r6, r0, #0x18 asr r0, r0, #0x18 cmp r0, #0x64 bne ._80 @cond_branch ldr r0, ._84 + 8 @ _nakamuraData2 ldrb r1, [r0] cmp r1, #0x6 bhi ._100 @cond_branch mov r2, #0xff ._82: add r0, r5, r1 strb r2, [r0] add r0, r1, #1 lsl r0, r0, #0x18 lsr r1, r0, #0x18 cmp r1, #0x6 bls ._82 @cond_branch b ._100 ._85: .align 2, 0 ._84: .word _nakamuraData0 .word gSaveBlock1+0x1a0a .word _nakamuraData2 ._80: ldr r0, ._87 @ _nakamuraData3 ldrb r0, [r0] cmp r0, #0x4 bhi ._98 @cond_branch lsl r0, r0, #0x2 ldr r1, ._87 + 4 @ add r0, r0, r1 ldr r0, [r0] mov pc, r0 ._88: .align 2, 0 ._87: .word _nakamuraData3 .word ._89 ._89: .word ._90 .word ._91 .word ._92 .word ._93 .word ._94 ._90: mov r3, #0x1 mov r2, #0x50 b ._98 ._91: mov r3, #0x51 mov r2, #0xa0 b ._98 ._92: mov r3, #0xbb mov r2, #0xd4 b ._98 ._93: mov r3, #0xd5 mov r2, #0xee b ._98 ._94: mov r3, #0xa1 mov r2, #0xaa ._98: ldr r4, ._101 @ _nakamuraData2 ldrb r1, [r4] add r1, r5, r1 ldrb r0, [r1] add r0, r0, r6 strb r0, [r1] ldrb r0, [r4] add r1, r5, r0 ldrb r0, [r1] cmp r0, r3 bcs ._99 @cond_branch strb r2, [r1] ._99: ldrb r0, [r4] add r1, r5, r0 ldrb r0, [r1] cmp r0, r2 bls ._100 @cond_branch strb r3, [r1] ._100: bl debug_sub_815F6E4 pop {r4, r5, r6} pop {r0} bx r0 ._102: .align 2, 0 ._101: .word _nakamuraData2 thumb_func_end debug_sub_815F86C thumb_func_start debug_sub_815F930 debug_sub_815F930: push {r4, r5, lr} ldr r0, ._107 @ _nakamuraData1 ldrb r2, [r0] mov r4, #0xa cmp r2, #0 bne ._103 @cond_branch mov r4, #0x7 ._103: ldr r5, ._107 + 4 @ gMain ldrh r1, [r5, #0x30] mov r0, #0x40 and r0, r0, r1 cmp r0, #0 beq ._104 @cond_branch cmp r2, #0 beq ._105 @cond_branch mov r0, #0x1 bl debug_sub_815F7F0 b ._136 ._108: .align 2, 0 ._107: .word _nakamuraData1 .word gMain ._105: mov r0, #0x1 b ._113 ._104: mov r0, #0x80 and r0, r0, r1 cmp r0, #0 beq ._110 @cond_branch cmp r2, #0 beq ._111 @cond_branch mov r0, #0x1 neg r0, r0 bl debug_sub_815F7F0 b ._136 ._111: mov r0, #0x1 neg r0, r0 b ._113 ._110: mov r0, #0x20 and r0, r0, r1 lsl r0, r0, #0x10 lsr r3, r0, #0x10 cmp r3, #0 beq ._114 @cond_branch ldr r1, ._117 @ _nakamuraData2 ldrb r0, [r1] cmp r0, #0 bne ._115 @cond_branch sub r0, r4, #1 b ._116 ._118: .align 2, 0 ._117: .word _nakamuraData2 ._115: sub r0, r0, #0x1 ._116: strb r0, [r1] ._125: bl debug_sub_815F788 b ._136 ._114: mov r0, #0x10 and r0, r0, r1 cmp r0, #0 beq ._120 @cond_branch ldr r2, ._123 @ _nakamuraData2 ldrb r1, [r2] sub r0, r4, #1 cmp r1, r0 bne ._121 @cond_branch strb r3, [r2] b ._125 ._124: .align 2, 0 ._123: .word _nakamuraData2 ._121: add r0, r1, #1 strb r0, [r2] b ._125 ._120: ldrh r1, [r5, #0x2e] mov r0, #0x4 and r0, r0, r1 cmp r0, #0 beq ._126 @cond_branch cmp r2, #0 bne ._127 @cond_branch ldr r4, ._129 @ _nakamuraData3 ldrb r0, [r4] add r0, r0, #0x1 mov r1, #0x5 bl __modsi3 strb r0, [r4] ._127: bl debug_sub_815F7B4 b ._136 ._130: .align 2, 0 ._129: .word _nakamuraData3 ._126: mov r0, #0x1 and r0, r0, r1 cmp r0, #0 beq ._131 @cond_branch mov r0, #0x2 mov r1, #0x5 mov r2, #0xb mov r3, #0x6 bl Menu_BlankWindowRect mov r0, #0xb mov r1, #0x1 mov r2, #0xb mov r3, #0x2 bl Menu_BlankWindowRect ldr r1, ._133 @ gMenuCallback ldr r0, ._133 + 4 @ debug_sub_815FA38 str r0, [r1] b ._136 ._134: .align 2, 0 ._133: .word gMenuCallback .word debug_sub_815FA38+1 ._131: mov r0, #0x2 and r0, r0, r1 cmp r0, #0 beq ._136 @cond_branch cmp r2, #0 bne ._136 @cond_branch mov r0, #0x64 ._113: bl debug_sub_815F86C ._136: mov r0, #0x0 pop {r4, r5} pop {r1} bx r1 thumb_func_end debug_sub_815F930 thumb_func_start debug_sub_815FA38 debug_sub_815FA38: push {r4, lr} ldr r0, ._139 @ gMain ldrh r1, [r0, #0x2e] mov r0, #0x40 and r0, r0, r1 cmp r0, #0 beq ._137 @cond_branch mov r0, #0x2 neg r0, r0 b ._138 ._140: .align 2, 0 ._139: .word gMain ._137: mov r0, #0x80 and r0, r0, r1 cmp r0, #0 beq ._141 @cond_branch mov r0, #0x2 ._138: bl Menu_MoveCursor ._161: mov r0, #0x0 b ._142 ._141: mov r0, #0x20 and r0, r0, r1 lsl r0, r0, #0x10 lsr r2, r0, #0x10 cmp r2, #0 beq ._143 @cond_branch ldr r1, ._146 @ _nakamuraData0 ldrb r0, [r1] cmp r0, #0 bne ._144 @cond_branch mov r0, #0x13 b ._148 ._147: .align 2, 0 ._146: .word _nakamuraData0 ._144: sub r0, r0, #0x1 b ._148 ._143: mov r0, #0x10 and r0, r0, r1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0 beq ._149 @cond_branch ldr r1, ._152 @ _nakamuraData0 ldrb r0, [r1] cmp r0, #0x13 bne ._150 @cond_branch strb r2, [r1] b ._151 ._153: .align 2, 0 ._152: .word _nakamuraData0 ._150: add r0, r0, #0x1 ._148: strb r0, [r1] ._151: bl debug_sub_815F72C b ._161 ._149: mov r0, #0x1 and r0, r0, r1 cmp r0, #0 beq ._155 @cond_branch ldr r1, ._159 @ _nakamuraData0 ldrb r0, [r1] cmp r0, #0 beq ._161 @cond_branch ldr r2, ._159 + 4 @ gSaveBlock1 add r1, r0, #0 lsl r0, r1, #0x2 add r0, r0, r1 lsl r0, r0, #0x5 add r0, r0, r2 ldr r1, ._159 + 8 @ 0x1a08 add r0, r0, r1 ldrb r0, [r0] cmp r0, #0 beq ._161 @cond_branch bl Menu_GetCursorPos ldr r1, ._159 + 12 @ _nakamuraData1 strb r0, [r1] ldr r0, ._159 + 16 @ _nakamuraData2 strb r4, [r0] bl debug_sub_815F788 bl debug_sub_815F7B4 ldr r1, ._159 + 20 @ gMenuCallback ldr r0, ._159 + 24 @ debug_sub_815F930 str r0, [r1] b ._161 ._160: .align 2, 0 ._159: .word _nakamuraData0 .word gSaveBlock1 .word 0x1a08 .word _nakamuraData1 .word _nakamuraData2 .word gMenuCallback .word debug_sub_815F930+1 ._155: mov r0, #0x2 and r0, r0, r1 cmp r0, #0 beq ._161 @cond_branch bl CloseMenu mov r0, #0x1 ._142: pop {r4} pop {r1} bx r1 thumb_func_end debug_sub_815FA38 thumb_func_start debug_sub_815FB1C debug_sub_815FB1C: push {lr} add sp, sp, #0xfffffff8 ldr r0, ._162 @ _nakamuraData0 mov r1, #0x0 strb r1, [r0] ldr r0, ._162 + 4 @ _nakamuraData3 strb r1, [r0] ldr r1, ._162 + 8 @ gMenuCallback ldr r0, ._162 + 12 @ debug_sub_815FA38 str r0, [r1] mov r0, #0x0 mov r1, #0x0 mov r2, #0x1d mov r3, #0x13 bl Menu_EraseWindowRect mov r0, #0x0 mov r1, #0x0 mov r2, #0xc mov r3, #0xb bl Menu_DrawStdWindowFrame bl debug_sub_815F72C mov r0, #0x0 str r0, [sp] mov r0, #0xb str r0, [sp, #0x4] mov r0, #0x0 mov r1, #0x1 mov r2, #0x3 mov r3, #0x3 bl InitMenu mov r0, #0x0 add sp, sp, #0x8 pop {r1} bx r1 ._163: .align 2, 0 ._162: .word _nakamuraData0 .word _nakamuraData3 .word gMenuCallback .word debug_sub_815FA38+1 thumb_func_end debug_sub_815FB1C thumb_func_start debug_sub_815FB78 debug_sub_815FB78: push {lr} ldr r0, ._166 @ gMain ldrh r1, [r0, #0x2e] mov r0, #0x40 and r0, r0, r1 cmp r0, #0 beq ._164 @cond_branch mov r0, #0x1 neg r0, r0 b ._165 ._167: .align 2, 0 ._166: .word gMain ._164: mov r0, #0x80 and r0, r0, r1 cmp r0, #0 beq ._168 @cond_branch mov r0, #0x1 ._165: bl Menu_MoveCursor mov r0, #0x0 b ._177 ._168: mov r0, #0x1 and r0, r0, r1 cmp r0, #0 beq ._170 @cond_branch bl CloseMenu bl Menu_GetCursorPos lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0 beq ._171 @cond_branch cmp r0, #0x1 beq ._172 @cond_branch b ._175 ._171: bl debug_sub_814A714 b ._175 ._172: bl ClearRoamerData bl ClearRoamerLocationData b ._175 ._170: mov r0, #0x2 and r0, r0, r1 cmp r0, #0 bne ._176 @cond_branch mov r0, #0x0 b ._177 ._176: bl CloseMenu ._175: mov r0, #0x1 ._177: pop {r1} bx r1 thumb_func_end debug_sub_815FB78 thumb_func_start debug_sub_815FBE8 debug_sub_815FBE8: push {r4, lr} add sp, sp, #0xfffffff8 ldr r1, ._178 @ gMenuCallback ldr r0, ._178 + 4 @ debug_sub_815FB78 str r0, [r1] mov r0, #0x0 mov r1, #0x0 mov r2, #0x1d mov r3, #0x13 bl Menu_EraseWindowRect ldr r4, ._178 + 8 @ gStringVar1 add r0, r4, #0 bl debug_sub_814A73C mov r0, #0x0 mov r1, #0x0 mov r2, #0xb mov r3, #0x9 bl Menu_DrawStdWindowFrame add r0, r4, #0 mov r1, #0x1 mov r2, #0x1 bl Menu_PrintText ldr r0, ._178 + 12 @ Str_843E580 mov r1, #0x2 mov r2, #0x3 bl Menu_PrintText mov r0, #0x0 str r0, [sp] mov r0, #0xa str r0, [sp, #0x4] mov r0, #0x0 mov r1, #0x1 mov r2, #0x3 mov r3, #0x3 bl InitMenu mov r0, #0x0 add sp, sp, #0x8 pop {r4} pop {r1} bx r1 ._179: .align 2, 0 ._178: .word gMenuCallback .word debug_sub_815FB78+1 .word gStringVar1 .word Str_843E580 thumb_func_end debug_sub_815FBE8 thumb_func_start debug_sub_815FC54 debug_sub_815FC54: push {r4, r5, r6, r7, lr} mov r3, #0x0 ldr r7, ._181 @ gSaveBlock1 mov r6, #0xe8 lsl r6, r6, #0x3 ldr r5, ._181 + 4 @ 0x3e7 ldr r4, ._181 + 8 @ 0x742 ._180: lsl r1, r3, #0x2 add r1, r1, r7 add r2, r3, #0 add r2, r2, #0x85 add r0, r1, r6 strh r2, [r0] add r1, r1, r4 strh r5, [r1] add r0, r3, #1 lsl r0, r0, #0x10 lsr r3, r0, #0x10 cmp r3, #0x2a bls ._180 @cond_branch bl CloseMenu mov r0, #0x1 pop {r4, r5, r6, r7} pop {r1} bx r1 ._182: .align 2, 0 ._181: .word gSaveBlock1 .word 0x3e7 .word 0x742 thumb_func_end debug_sub_815FC54 thumb_func_start debug_sub_815FC94 debug_sub_815FC94: push {lr} bl ClearDecorationInventories bl debug_sub_814A3A8 mov r0, #0x0 mov r1, #0x0 mov r2, #0x1d mov r3, #0x13 bl Menu_EraseWindowRect bl CloseMenu mov r0, #0x1 pop {r1} bx r1 thumb_func_end debug_sub_815FC94 thumb_func_start debug_sub_815FCB4 debug_sub_815FCB4: push {r4, r5, r6, r7, lr} mov r7, r9 mov r6, r8 push {r6, r7} add r4, r0, #0 lsl r4, r4, #0x18 lsr r4, r4, #0x18 mov r7, #0x0 ldr r5, ._188 @ gMapHeader ldr r0, [r5] ldr r0, [r0, #0x4] mov r1, #0x3 bl __divsi3 lsl r0, r0, #0x10 lsr r0, r0, #0x10 add r1, r0, #0 mul r1, r1, r4 lsl r1, r1, #0x10 lsr r6, r1, #0x10 add r0, r6, r0 mov r9, r5 cmp r6, r0 bge ._183 @cond_branch mov r8, r0 ._187: mov r4, #0x0 mov r1, r9 ldr r0, [r1] ldr r0, [r0] add r5, r6, #1 cmp r4, r0 bge ._184 @cond_branch ldr r0, ._188 @ gMapHeader mov r9, r0 ._186: add r0, r4, #7 add r1, r6, #7 bl MapGridGetMetatileBehaviorAt lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl sub_805759C lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x1 bne ._185 @cond_branch add r0, r7, #1 lsl r0, r0, #0x10 lsr r7, r0, #0x10 ._185: add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, ._188 @ gMapHeader ldr r0, [r0] ldr r0, [r0] cmp r4, r0 blt ._186 @cond_branch ._184: lsl r0, r5, #0x10 lsr r6, r0, #0x10 cmp r6, r8 blt ._187 @cond_branch ._183: add r0, r7, #0 pop {r3, r4} mov r8, r3 mov r9, r4 pop {r4, r5, r6, r7} pop {r1} bx r1 ._189: .align 2, 0 ._188: .word gMapHeader thumb_func_end debug_sub_815FCB4 thumb_func_start debug_sub_815FD40 debug_sub_815FD40: push {r4, r5, r6, r7, lr} add sp, sp, #0xfffffffc mov r6, #0x0 mov r4, sp add r4, r4, #0x2 mov r0, sp add r1, r4, #0 bl GetXYCoordsOneStepInFrontOfPlayer mov r1, sp mov r0, sp ldrh r0, [r0] sub r0, r0, #0x7 strh r0, [r1] ldrh r0, [r4] sub r0, r0, #0x7 strh r0, [r4] mov r5, #0x0 ldr r1, ._192 @ gMapHeader ldr r0, [r1] ldr r0, [r0, #0x4] add r7, r4, #0 cmp r6, r0 bge ._190 @cond_branch ._199: mov r4, #0x0 ldr r0, [r1] b ._191 ._193: .align 2, 0 ._192: .word gMapHeader ._198: add r0, r4, #7 add r1, r5, #7 bl MapGridGetMetatileBehaviorAt lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl sub_805759C lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x1 bne ._196 @cond_branch add r0, r6, #1 lsl r0, r0, #0x10 lsr r6, r0, #0x10 mov r0, sp mov r1, #0x0 ldsh r0, [r0, r1] cmp r0, r4 bne ._196 @cond_branch mov r1, #0x0 ldsh r0, [r7, r1] cmp r0, r5 bne ._196 @cond_branch add r0, r6, #0 b ._197 ._196: add r0, r4, #1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, ._200 @ gMapHeader ldr r0, [r0] ._191: ldr r0, [r0] cmp r4, r0 blt ._198 @cond_branch add r0, r5, #1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 ldr r1, ._200 @ gMapHeader ldr r0, [r1] ldr r0, [r0, #0x4] cmp r5, r0 blt ._199 @cond_branch ._190: add r0, r6, #1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 ._197: add sp, sp, #0x4 pop {r4, r5, r6, r7} pop {r1} bx r1 ._201: .align 2, 0 ._200: .word gMapHeader thumb_func_end debug_sub_815FD40 thumb_func_start debug_sub_815FDE4 debug_sub_815FDE4: push {lr} ldr r0, ._205 @ gMain ldrh r1, [r0, #0x2e] mov r0, #0x1 and r0, r0, r1 cmp r0, #0 bne ._202 @cond_branch mov r0, #0x2 and r0, r0, r1 cmp r0, #0 beq ._203 @cond_branch ._202: mov r0, #0x0 mov r1, #0x0 mov r2, #0x1d mov r3, #0x13 bl Menu_EraseWindowRect bl CloseMenu mov r0, #0x1 b ._204 ._206: .align 2, 0 ._205: .word gMain ._203: mov r0, #0x0 ._204: pop {r1} bx r1 thumb_func_end debug_sub_815FDE4 thumb_func_start debug_sub_815FE1C debug_sub_815FE1C: push {r4, r5, r6, r7, lr} mov r0, #0x0 mov r1, #0x0 mov r2, #0x1d mov r3, #0x13 bl Menu_EraseWindowRect mov r0, #0x0 mov r1, #0x0 mov r2, #0x10 mov r3, #0x13 bl Menu_DrawStdWindowFrame ldr r0, ._210 @ Str_843E58D mov r1, #0x1 mov r2, #0x1 bl Menu_PrintText ldr r6, ._210 + 4 @ gStringVar1 mov r0, #0x0 bl debug_sub_815FCB4 add r1, r0, #0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r0, r6, #0 mov r2, #0x1 mov r3, #0x5 bl ConvertIntToDecimalStringN add r0, r6, #0 mov r1, #0x5 mov r2, #0x3 bl Menu_PrintText mov r0, #0x1 bl debug_sub_815FCB4 add r1, r0, #0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r0, r6, #0 mov r2, #0x1 mov r3, #0x5 bl ConvertIntToDecimalStringN add r0, r6, #0 mov r1, #0x5 mov r2, #0x5 bl Menu_PrintText mov r0, #0x2 bl debug_sub_815FCB4 add r1, r0, #0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r0, r6, #0 mov r2, #0x1 mov r3, #0x5 bl ConvertIntToDecimalStringN add r0, r6, #0 mov r1, #0x5 mov r2, #0x7 bl Menu_PrintText mov r0, #0x0 bl debug_sub_8092344 add r1, r0, #0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r0, r6, #0 mov r2, #0x1 mov r3, #0x5 bl ConvertIntToDecimalStringN add r0, r6, #0 mov r1, #0xb mov r2, #0x3 bl Menu_PrintText mov r0, #0x1 bl debug_sub_8092344 add r1, r0, #0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r0, r6, #0 mov r2, #0x1 mov r3, #0x5 bl ConvertIntToDecimalStringN add r0, r6, #0 mov r1, #0xb mov r2, #0x5 bl Menu_PrintText mov r0, #0x2 bl debug_sub_8092344 add r1, r0, #0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r0, r6, #0 mov r2, #0x1 mov r3, #0x5 bl ConvertIntToDecimalStringN add r0, r6, #0 mov r1, #0xb mov r2, #0x7 bl Menu_PrintText ldr r0, ._210 + 8 @ gSaveBlock1 ldr r1, ._210 + 12 @ 0x2dd6 add r0, r0, r1 ldrh r0, [r0] bl FeebasSeedRng mov r0, #0x0 bl debug_sub_815FCB4 add r4, r0, #0 mov r0, #0x1 bl debug_sub_815FCB4 add r5, r0, #0 mov r0, #0x2 bl debug_sub_815FCB4 add r4, r4, r5 add r0, r0, r4 lsl r0, r0, #0x10 lsr r7, r0, #0x10 mov r5, #0x0 ._209: bl FeebasRandom lsl r0, r0, #0x10 lsr r0, r0, #0x10 add r1, r7, #0 bl __umodsi3 lsl r0, r0, #0x10 lsr r1, r0, #0x10 cmp r1, #0 bne ._207 @cond_branch add r1, r7, #0 ._207: sub r0, r1, #1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, #0x2 bls ._208 @cond_branch add r0, r6, #0 mov r2, #0x1 mov r3, #0x4 bl ConvertIntToDecimalStringN add r0, r5, #0 mov r1, #0x3 bl __umodsi3 lsl r0, r0, #0x10 lsr r0, r0, #0x10 lsl r4, r0, #0x2 add r4, r4, r0 add r4, r4, #0x2 lsl r4, r4, #0x18 lsr r4, r4, #0x18 add r0, r5, #0 mov r1, #0x3 bl __udivsi3 add r2, r0, #0 lsl r2, r2, #0x19 mov r0, #0xb0 lsl r0, r0, #0x14 add r2, r2, r0 lsr r2, r2, #0x18 add r0, r6, #0 add r1, r4, #0 bl Menu_PrintText add r0, r5, #1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 ._208: cmp r5, #0x6 bne ._209 @cond_branch ldr r4, ._210 + 4 @ gStringVar1 bl debug_sub_815FD40 add r1, r0, #0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r0, r4, #0 mov r2, #0x1 mov r3, #0x4 bl ConvertIntToDecimalStringN add r0, r4, #0 mov r1, #0x2 mov r2, #0x11 bl Menu_PrintText ldr r1, ._210 + 16 @ gMenuCallback ldr r0, ._210 + 20 @ debug_sub_815FDE4 str r0, [r1] mov r0, #0x0 pop {r4, r5, r6, r7} pop {r1} bx r1 ._211: .align 2, 0 ._210: .word Str_843E58D .word gStringVar1 .word gSaveBlock1 .word 0x2dd6 .word gMenuCallback .word debug_sub_815FDE4+1 thumb_func_end debug_sub_815FE1C thumb_func_start debug_sub_815FFDC debug_sub_815FFDC: push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} mov r0, #0xe mov r1, #0x0 mov r2, #0x1d mov r3, #0xd bl Menu_DrawStdWindowFrame mov r0, #0x0 mov r1, #0xe mov r2, #0x1d mov r3, #0x13 bl Menu_DrawStdWindowFrame ldr r0, ._214 @ Str_843E5D4 mov r1, #0x1 mov r2, #0xf bl Menu_PrintText mov r5, #0x0 ldr r0, ._214 + 4 @ _nakamuraStatic0 mov r8, r0 ._216: mov r0, #0x64 add r1, r5, #0 mul r1, r1, r0 ldr r0, ._214 + 8 @ gPlayerParty add r6, r1, r0 add r0, r6, #0 mov r1, #0xb bl GetMonData lsl r1, r5, #0x2 mov r2, r8 add r4, r1, r2 strh r0, [r4] lsl r0, r0, #0x10 add r7, r1, #0 cmp r0, #0 beq ._212 @cond_branch add r0, r6, #0 mov r1, #0x38 bl GetMonData strb r0, [r4, #0x2] add r0, r5, #0 bl debug_sub_816009C add r0, r5, #0 bl debug_sub_81600D0 add r0, r5, #0 bl debug_sub_816013C b ._213 ._215: .align 2, 0 ._214: .word Str_843E5D4 .word _nakamuraStatic0 .word gPlayerParty ._212: mov r0, #0x1 strb r0, [r4, #0x2] ._213: mov r0, r8 add r1, r7, r0 mov r0, #0x0 strb r0, [r1, #0x3] add r0, r5, #1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x5 bls ._216 @cond_branch ldr r1, ._217 @ _nakamuraData4 mov r0, #0x0 strb r0, [r1] mov r0, #0xf mov r1, #0x1 mov r2, #0xff bl PrintTriangleCursorWithPalette ldr r1, ._217 + 4 @ gMenuCallback ldr r0, ._217 + 8 @ debug_sub_8160498 str r0, [r1] pop {r3} mov r8, r3 pop {r4, r5, r6, r7} pop {r0} bx r0 ._218: .align 2, 0 ._217: .word _nakamuraData4 .word gMenuCallback .word debug_sub_8160498+1 thumb_func_end debug_sub_815FFDC thumb_func_start debug_sub_816009C debug_sub_816009C: push {lr} add r2, r0, #0 lsl r2, r2, #0x18 lsr r2, r2, #0x18 ldr r1, ._219 @ _nakamuraStatic0 lsl r0, r2, #0x2 add r0, r0, r1 mov r3, #0x0 ldsh r1, [r0, r3] mov r0, #0xb mul r0, r0, r1 ldr r1, ._219 + 4 @ gSpeciesNames add r0, r0, r1 lsl r2, r2, #0x1 add r2, r2, #0x1 lsl r2, r2, #0x18 lsr r2, r2, #0x18 mov r1, #0x10 bl Menu_PrintText pop {r0} bx r0 ._220: .align 2, 0 ._219: .word _nakamuraStatic0 .word gSpeciesNames thumb_func_end debug_sub_816009C thumb_func_start debug_sub_81600D0 debug_sub_81600D0: push {r4, r5, lr} add sp, sp, #0xfffffffc lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r5, r4, #0 ldr r1, ._223 @ Str_843E5F0 mov r0, sp mov r2, #0x2 bl memcpy mov r0, #0x64 mul r0, r0, r4 ldr r1, ._223 + 4 @ gPlayerParty add r0, r0, r1 bl GetMonGender lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0 bne ._221 @cond_branch ldr r0, ._223 + 8 @ gOtherText_MaleSymbol2 b ._222 ._224: .align 2, 0 ._223: .word Str_843E5F0 .word gPlayerParty .word gOtherText_MaleSymbol2 ._221: cmp r0, #0xfe bne ._225 @cond_branch ldr r0, ._227 @ gOtherText_FemaleSymbolAndLv ._222: lsl r2, r4, #0x1 add r2, r2, #0x1 lsl r2, r2, #0x18 lsr r2, r2, #0x18 mov r1, #0x17 bl Menu_PrintText b ._226 ._228: .align 2, 0 ._227: .word gOtherText_FemaleSymbolAndLv ._225: lsl r2, r5, #0x1 add r2, r2, #0x1 lsl r2, r2, #0x18 lsr r2, r2, #0x18 mov r0, sp mov r1, #0x17 bl Menu_PrintText ._226: add sp, sp, #0x4 pop {r4, r5} pop {r0} bx r0 thumb_func_end debug_sub_81600D0 thumb_func_start debug_sub_816013C debug_sub_816013C: push {r4, r5, lr} add r4, r0, #0 lsl r4, r4, #0x18 lsr r4, r4, #0x18 ldr r5, ._229 @ gStringVar1 ldr r1, ._229 + 4 @ _nakamuraStatic0 lsl r0, r4, #0x2 add r0, r0, r1 mov r1, #0x2 ldrsb r1, [r0, r1] add r0, r5, #0 mov r2, #0x1 mov r3, #0x3 bl ConvertIntToDecimalStringN lsl r4, r4, #0x1 add r4, r4, #0x1 lsl r4, r4, #0x18 lsr r4, r4, #0x18 add r0, r5, #0 mov r1, #0x1a add r2, r4, #0 bl Menu_PrintText pop {r4, r5} pop {r0} bx r0 ._230: .align 2, 0 ._229: .word gStringVar1 .word _nakamuraStatic0 thumb_func_end debug_sub_816013C thumb_func_start debug_sub_816017C debug_sub_816017C: push {r4, lr} lsl r0, r0, #0x18 lsr r4, r0, #0x18 lsl r3, r4, #0x1 add r1, r3, #1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 add r3, r3, #0x2 lsl r3, r3, #0x18 lsr r3, r3, #0x18 mov r0, #0x10 mov r2, #0x1c bl Menu_BlankWindowRect ldr r1, ._232 @ _nakamuraStatic0 lsl r0, r4, #0x2 add r0, r0, r1 mov r1, #0x0 ldsh r0, [r0, r1] cmp r0, #0 beq ._231 @cond_branch add r0, r4, #0 bl debug_sub_816009C add r0, r4, #0 bl debug_sub_81600D0 add r0, r4, #0 bl debug_sub_816013C ._231: mov r0, #0x5 bl debug_sub_81603B8 pop {r4} pop {r0} bx r0 ._233: .align 2, 0 ._232: .word _nakamuraStatic0 thumb_func_end debug_sub_816017C thumb_func_start debug_sub_81601C8 debug_sub_81601C8: push {r4, r5, lr} add sp, sp, #0xfffffff0 lsl r0, r0, #0x18 lsr r5, r0, #0x18 lsl r1, r1, #0x18 lsr r3, r1, #0x18 ldr r1, ._239 @ _nakamuraStatic0 lsl r0, r5, #0x2 add r2, r0, r1 mov r4, #0x0 ldsh r0, [r2, r4] cmp r0, #0 bne ._236 @cond_branch ldrb r0, [r2, #0x3] cmp r0, #0 bne ._236 @cond_branch cmp r3, #0x1 bne ._236 @cond_branch mov r0, #0x8a lsl r0, r0, #0x1 strh r0, [r2] ._236: lsl r0, r5, #0x2 add r4, r0, r1 lsl r0, r3, #0x18 asr r0, r0, #0x18 ldrh r1, [r4] add r2, r0, r1 mov r3, #0x0 strh r2, [r4] lsl r1, r2, #0x10 mov r0, #0xcd lsl r0, r0, #0x11 cmp r1, r0 ble ._237 @cond_branch ldr r1, ._239 + 4 @ 0xfffffe65 add r0, r2, r1 strh r0, [r4] ._237: ldrh r1, [r4] mov r2, #0x0 ldsh r0, [r4, r2] cmp r0, #0 bge ._238 @cond_branch ldr r2, ._239 + 8 @ 0x19b add r0, r1, r2 strh r0, [r4] ._238: mov r0, #0x64 mul r0, r0, r5 ldr r1, ._239 + 12 @ gPlayerParty add r0, r0, r1 ldrh r1, [r4] ldrb r2, [r4, #0x2] str r3, [sp] str r3, [sp, #0x4] str r3, [sp, #0x8] str r3, [sp, #0xc] mov r3, #0x20 bl CreateMon mov r0, #0x1 strb r0, [r4, #0x3] add sp, sp, #0x10 pop {r4, r5} pop {r0} bx r0 ._240: .align 2, 0 ._239: .word _nakamuraStatic0 .word 0xfffffe65 .word 0x19b .word gPlayerParty thumb_func_end debug_sub_81601C8 thumb_func_start debug_sub_8160258 debug_sub_8160258: push {lr} lsl r0, r0, #0x18 lsr r2, r0, #0x18 ldr r1, ._242 @ _nakamuraStatic0 lsl r0, r2, #0x2 add r0, r0, r1 mov r1, #0x0 ldsh r0, [r0, r1] cmp r0, #0 beq ._241 @cond_branch add r0, r2, #0 bl debug_sub_816062C ._241: pop {r0} bx r0 ._243: .align 2, 0 ._242: .word _nakamuraStatic0 thumb_func_end debug_sub_8160258 thumb_func_start debug_sub_816027C debug_sub_816027C: push {r4, lr} lsl r0, r0, #0x18 lsr r0, r0, #0x18 add r4, r0, #0 lsl r1, r1, #0x18 lsr r2, r1, #0x18 ldr r1, ._247 @ _nakamuraStatic0 lsl r0, r4, #0x2 add r3, r0, r1 mov r1, #0x0 ldsh r0, [r3, r1] cmp r0, #0 beq ._244 @cond_branch lsl r0, r2, #0x18 asr r0, r0, #0x18 ldrb r1, [r3, #0x2] add r0, r0, r1 strb r0, [r3, #0x2] lsl r0, r0, #0x18 asr r0, r0, #0x18 cmp r0, #0x64 ble ._245 @cond_branch mov r0, #0x1 strb r0, [r3, #0x2] ._245: mov r0, #0x2 ldrsb r0, [r3, r0] cmp r0, #0 bgt ._246 @cond_branch mov r0, #0x64 strb r0, [r3, #0x2] ._246: mov r0, #0x64 mul r4, r4, r0 ldr r0, ._247 + 4 @ gPlayerParty add r4, r4, r0 ldr r2, ._247 + 8 @ gBaseStats mov r0, #0x0 ldsh r1, [r3, r0] lsl r0, r1, #0x3 sub r0, r0, r1 lsl r0, r0, #0x2 add r0, r0, r2 ldrb r1, [r0, #0x13] mov r0, #0xca lsl r0, r0, #0x1 add r2, r1, #0 mul r2, r2, r0 mov r0, #0x2 ldrsb r0, [r3, r0] lsl r0, r0, #0x2 ldr r1, ._247 + 12 @ gExperienceTables add r0, r0, r1 add r2, r2, r0 add r0, r4, #0 mov r1, #0x19 bl SetMonData add r0, r4, #0 bl debug_sub_803F55C ._244: pop {r4} pop {r0} bx r0 ._248: .align 2, 0 ._247: .word _nakamuraStatic0 .word gPlayerParty .word gBaseStats .word gExperienceTables thumb_func_end debug_sub_816027C thumb_func_start debug_sub_8160308 debug_sub_8160308: push {r4, r5, r6, r7, lr} mov r7, r9 mov r6, r8 push {r6, r7} add sp, sp, #0xffffff8c mov r0, #0x0 mov r1, #0x0 mov r2, #0x1d mov r3, #0x13 bl Menu_EraseWindowRect mov r2, #0x0 ._252: add r1, r2, #1 lsl r0, r1, #0x18 lsr r5, r0, #0x18 mov r8, r1 cmp r5, #0x5 bhi ._249 @cond_branch mov r0, #0x64 mov r9, r0 mov r0, r9 mul r0, r0, r2 ldr r7, ._254 @ gPlayerParty add r6, r0, r7 ._251: add r0, r6, #0 mov r1, #0xb mov r2, #0x0 bl GetMonData cmp r0, #0 bne ._250 @cond_branch add r0, sp, #0x10 add r1, r6, #0 mov r2, #0x64 bl memcpy mov r4, r9 mul r4, r4, r5 add r4, r4, r7 add r0, r6, #0 add r1, r4, #0 mov r2, #0x64 bl memcpy add r0, r4, #0 add r1, sp, #0x10 mov r2, #0x64 bl memcpy ._250: add r0, r5, #1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x5 bls ._251 @cond_branch ._249: mov r1, r8 lsl r0, r1, #0x18 lsr r2, r0, #0x18 cmp r2, #0x4 bls ._252 @cond_branch bl CalculatePlayerPartyCount ldr r4, ._254 + 4 @ gPlayerPartyCount ldrb r1, [r4] cmp r1, #0 bne ._253 @cond_branch ldr r0, ._254 @ gPlayerParty str r1, [sp] str r1, [sp, #0x4] str r1, [sp, #0x8] str r1, [sp, #0xc] mov r1, #0x1 mov r2, #0xa mov r3, #0x20 bl CreateMon mov r0, #0x1 strb r0, [r4] ._253: add sp, sp, #0x74 pop {r3, r4} mov r8, r3 mov r9, r4 pop {r4, r5, r6, r7} pop {r0} bx r0 ._255: .align 2, 0 ._254: .word gPlayerParty .word gPlayerPartyCount thumb_func_end debug_sub_8160308 thumb_func_start debug_sub_81603B8 debug_sub_81603B8: push {r4, r5, r6, r7, lr} lsl r0, r0, #0x18 lsr r6, r0, #0x18 mov r0, #0x5 bl PlaySE ldr r7, ._259 @ _nakamuraData4 ldrb r4, [r7] add r0, r4, #0 mov r1, #0x6 bl __udivsi3 lsl r0, r0, #0x18 lsr r5, r0, #0x18 add r0, r4, #0 mov r1, #0x6 bl __umodsi3 lsl r0, r0, #0x18 lsr r4, r0, #0x18 ldr r0, ._259 + 4 @ _843E5D1 add r0, r5, r0 ldrb r2, [r0] lsl r3, r4, #0x1 add r1, r3, #1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 add r3, r3, #0x2 lsl r3, r3, #0x18 lsr r3, r3, #0x18 add r0, r2, #0 bl Menu_BlankWindowRect cmp r6, #0 bne ._256 @cond_branch cmp r4, #0 beq ._257 @cond_branch ldrb r0, [r7] sub r0, r0, #0x1 b ._258 ._260: .align 2, 0 ._259: .word _nakamuraData4 .word _843E5D1 ._257: lsl r0, r5, #0x1 add r0, r0, r5 lsl r0, r0, #0x1 add r0, r0, #0x5 ._258: strb r0, [r7] ._256: ldr r1, ._264 @ _nakamuraData4 cmp r6, #0x1 bne ._261 @cond_branch cmp r4, #0x5 beq ._262 @cond_branch ldrb r0, [r1] add r0, r0, #0x1 b ._263 ._265: .align 2, 0 ._264: .word _nakamuraData4 ._262: lsl r0, r5, #0x1 add r0, r0, r5 lsl r0, r0, #0x1 ._263: strb r0, [r1] ._261: cmp r6, #0x2 bne ._266 @cond_branch cmp r5, #0 beq ._267 @cond_branch ldrb r0, [r1] sub r0, r0, #0x6 b ._268 ._267: add r0, r4, #0 add r0, r0, #0xc ._268: strb r0, [r1] ._266: cmp r6, #0x3 bne ._271 @cond_branch cmp r5, #0x2 beq ._270 @cond_branch ldrb r0, [r1] add r0, r0, #0x6 strb r0, [r1] b ._271 ._270: strb r4, [r1] ._271: ldrb r4, [r1] add r0, r4, #0 mov r1, #0x6 bl __udivsi3 lsl r0, r0, #0x18 lsr r5, r0, #0x18 add r0, r4, #0 mov r1, #0x6 bl __umodsi3 add r1, r0, #0 lsl r1, r1, #0x18 ldr r0, ._272 @ _843E5D1 add r0, r5, r0 ldrb r0, [r0] lsr r1, r1, #0x17 add r1, r1, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 mov r2, #0xff bl PrintTriangleCursorWithPalette pop {r4, r5, r6, r7} pop {r0} bx r0 ._273: .align 2, 0 ._272: .word _843E5D1 thumb_func_end debug_sub_81603B8 thumb_func_start debug_sub_8160498 debug_sub_8160498: push {r4, lr} ldr r1, ._276 @ gMain ldrh r2, [r1, #0x2e] mov r0, #0x40 and r0, r0, r2 cmp r0, #0 beq ._274 @cond_branch mov r0, #0x0 b ._281 ._277: .align 2, 0 ._276: .word gMain ._274: mov r0, #0x80 and r0, r0, r2 cmp r0, #0 beq ._278 @cond_branch mov r0, #0x1 b ._281 ._278: mov r0, #0x20 and r0, r0, r2 cmp r0, #0 beq ._280 @cond_branch mov r0, #0x2 b ._281 ._280: mov r0, #0x10 and r0, r0, r2 cmp r0, #0 beq ._282 @cond_branch mov r0, #0x3 ._281: bl debug_sub_81603B8 mov r0, #0x0 b ._311 ._282: ldrh r1, [r1, #0x30] mov r0, #0x1 and r0, r0, r1 cmp r0, #0 beq ._284 @cond_branch ldr r4, ._289 @ _nakamuraData4 ldrb r0, [r4] cmp r0, #0x5 bhi ._285 @cond_branch mov r1, #0x1 bl debug_sub_81601C8 ._285: ldrb r0, [r4] sub r0, r0, #0x6 lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x5 bhi ._286 @cond_branch ldrb r0, [r4] mov r1, #0x6 bl __umodsi3 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl debug_sub_8160258 ._286: ldrb r0, [r4] sub r0, r0, #0xc lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x5 bhi ._306 @cond_branch ldrb r0, [r4] mov r1, #0x6 bl __umodsi3 lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r1, #0x1 b ._300 ._290: .align 2, 0 ._289: .word _nakamuraData4 ._284: mov r0, #0x2 and r0, r0, r1 cmp r0, #0 beq ._291 @cond_branch ldr r4, ._294 @ _nakamuraData4 ldrb r0, [r4] cmp r0, #0x5 bhi ._304 @cond_branch mov r1, #0x1 neg r1, r1 b ._293 ._295: .align 2, 0 ._294: .word _nakamuraData4 ._291: mov r0, #0x80 lsl r0, r0, #0x1 and r0, r0, r1 cmp r0, #0 beq ._296 @cond_branch ldr r4, ._301 @ _nakamuraData4 ldrb r0, [r4] cmp r0, #0x5 bhi ._297 @cond_branch mov r1, #0xa bl debug_sub_81601C8 ._297: ldrb r0, [r4] sub r0, r0, #0x6 lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x5 bhi ._298 @cond_branch ldrb r0, [r4] mov r1, #0x6 bl __umodsi3 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl debug_sub_8160258 ._298: ldrb r0, [r4] sub r0, r0, #0xc lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x5 bhi ._306 @cond_branch ldrb r0, [r4] mov r1, #0x6 bl __umodsi3 lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r1, #0x1 b ._300 ._302: .align 2, 0 ._301: .word _nakamuraData4 ._296: mov r0, #0x80 lsl r0, r0, #0x2 and r0, r0, r1 cmp r0, #0 beq ._303 @cond_branch ldr r4, ._308 @ _nakamuraData4 ldrb r0, [r4] cmp r0, #0x5 bhi ._304 @cond_branch mov r1, #0xa neg r1, r1 ._293: bl debug_sub_81601C8 ._304: ldrb r0, [r4] sub r0, r0, #0x6 lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x5 bhi ._305 @cond_branch ldrb r0, [r4] mov r1, #0x6 bl __umodsi3 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl debug_sub_8160258 ._305: ldrb r0, [r4] sub r0, r0, #0xc lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x5 bhi ._306 @cond_branch ldrb r0, [r4] mov r1, #0x6 bl __umodsi3 lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r1, #0x1 neg r1, r1 ._300: bl debug_sub_816027C ._306: ldrb r0, [r4] mov r1, #0x6 bl __umodsi3 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl debug_sub_816017C mov r0, #0x0 b ._311 ._309: .align 2, 0 ._308: .word _nakamuraData4 ._303: mov r0, #0x8 and r0, r0, r2 cmp r0, #0 bne ._310 @cond_branch mov r0, #0x0 b ._311 ._310: bl debug_sub_8160308 bl CloseMenu mov r0, #0x1 ._311: pop {r4} pop {r1} bx r1 thumb_func_end debug_sub_8160498 thumb_func_start debug_sub_816062C debug_sub_816062C: push {r4, r5, r6, r7, lr} mov r7, r9 mov r6, r8 push {r6, r7} add sp, sp, #0xfffffff0 lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r8, r0 mov r0, #0x64 mov r4, r8 mul r4, r4, r0 ldr r0, ._316 @ gPlayerParty add r4, r4, r0 add r0, r4, #0 mov r1, #0xb bl GetMonData lsl r0, r0, #0x10 lsr r7, r0, #0x10 add r0, r4, #0 bl GetMonGender lsl r0, r0, #0x18 lsr r2, r0, #0x18 ldr r1, ._316 + 4 @ gBaseStats lsl r0, r7, #0x3 sub r0, r0, r7 lsl r0, r0, #0x2 add r0, r0, r1 ldrb r6, [r0, #0x10] cmp r6, #0 beq ._313 @cond_branch cmp r6, #0xfe beq ._313 @cond_branch cmp r6, #0xff bne ._314 @cond_branch ._313: mov r0, #0x64 mov r1, r8 mul r1, r1, r0 add r0, r1, #0 ldr r1, ._316 @ gPlayerParty add r0, r0, r1 bl GetMonGender lsl r0, r0, #0x18 lsr r0, r0, #0x18 b ._320 ._317: .align 2, 0 ._316: .word gPlayerParty .word gBaseStats ._314: cmp r2, #0 beq ._318 @cond_branch cmp r2, #0xfe beq ._319 @cond_branch mov r0, #0x0 b ._320 ._318: mov r6, #0xfe b ._321 ._319: mov r6, #0x0 ._321: mov r0, r8 lsl r0, r0, #0x2 mov r9, r0 ._322: bl Random lsl r0, r0, #0x10 lsr r5, r0, #0x10 bl Random lsl r0, r0, #0x10 orr r5, r5, r0 add r0, r7, #0 add r1, r5, #0 bl GetGenderFromSpeciesAndPersonality lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, r6 bne ._322 @cond_branch mov r0, #0x64 mov r4, r8 mul r4, r4, r0 ldr r0, ._323 @ gPlayerParty add r4, r4, r0 add r0, r4, #0 mov r1, #0x42 bl GetMonData ldr r0, ._323 + 4 @ _nakamuraStatic0 add r0, r0, r9 ldrh r1, [r0] ldrb r2, [r0, #0x2] mov r0, #0x1 str r0, [sp] str r5, [sp, #0x4] mov r0, #0x0 str r0, [sp, #0x8] str r0, [sp, #0xc] add r0, r4, #0 mov r3, #0x20 bl CreateMon add r0, r6, #0 ._320: add sp, sp, #0x10 pop {r3, r4} mov r8, r3 mov r9, r4 pop {r4, r5, r6, r7} pop {r1} bx r1 ._324: .align 2, 0 ._323: .word gPlayerParty .word _nakamuraStatic0 thumb_func_end debug_sub_816062C thumb_func_start debug_sub_8160714 debug_sub_8160714: push {r4, r5, r6, r7, lr} mov r7, r9 mov r6, r8 push {r6, r7} add sp, sp, #0xfffffff0 add r6, r0, #0 mov r9, r1 mov r7, #0x0 mov r0, #0x0 mov r8, r0 mov r2, #0x0 mov r5, #0x0 ._329: add r4, r5, #1 lsl r1, r4, #0x18 lsr r1, r1, #0x18 mov r0, r9 str r2, [sp, #0xc] bl GetPokeblockData add r1, r0, #0 lsl r0, r5, #0x1 add r0, r0, sp strh r1, [r0] ldr r2, [sp, #0xc] cmp r5, #0x5 beq ._328 @cond_branch lsl r0, r1, #0x10 asr r1, r0, #0x10 cmp r1, #0 ble ._326 @cond_branch add r0, r7, #1 lsl r0, r0, #0x18 lsr r7, r0, #0x18 ._326: cmp r1, #0 bge ._327 @cond_branch mov r0, r8 add r0, r0, #0x1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r8, r0 ._327: cmp r1, #0 bne ._328 @cond_branch add r0, r2, #1 lsl r0, r0, #0x18 lsr r2, r0, #0x18 ._328: lsl r0, r4, #0x18 lsr r5, r0, #0x18 cmp r5, #0x5 bls ._329 @cond_branch mov r0, sp mov r1, #0x0 ldsh r0, [r0, r1] cmp r0, #0x31 bgt ._333 @cond_branch mov r0, sp ldrh r0, [r0, #0x2] lsl r0, r0, #0x10 asr r0, r0, #0x10 cmp r0, #0x31 bgt ._333 @cond_branch mov r0, sp mov r4, #0x4 ldsh r0, [r0, r4] cmp r0, #0x31 bgt ._333 @cond_branch mov r0, sp mov r1, #0x6 ldsh r0, [r0, r1] cmp r0, #0x31 bgt ._333 @cond_branch mov r0, sp mov r4, #0x8 ldsh r0, [r0, r4] cmp r0, #0x31 ble ._334 @cond_branch ._333: ldr r1, ._336 @ ContestStatsText_GoldPokeBlock add r0, r6, #0 bl StringCopy mov r0, #0xe b ._400 ._337: .align 2, 0 ._336: .word ContestStatsText_GoldPokeBlock ._334: cmp r7, #0x4 bne ._338 @cond_branch ldr r1, ._340 @ ContestStatsText_WhitePokeBlock add r0, r6, #0 bl StringCopy mov r0, #0xd b ._400 ._341: .align 2, 0 ._340: .word ContestStatsText_WhitePokeBlock ._338: mov r3, #0x0 mov r5, #0x0 ._343: lsl r0, r5, #0x1 add r0, r0, sp mov r1, #0x0 ldsh r0, [r0, r1] cmp r0, #0x2 bne ._342 @cond_branch add r0, r3, #1 lsl r0, r0, #0x18 lsr r3, r0, #0x18 ._342: add r0, r5, #1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x4 bls ._343 @cond_branch cmp r3, #0x3 beq ._345 @cond_branch cmp r2, #0x5 beq ._345 @cond_branch mov r4, r8 cmp r4, #0x4 bne ._346 @cond_branch ._345: ldr r1, ._348 @ ContestStatsText_BlackPokeBlock add r0, r6, #0 bl StringCopy mov r0, #0xc b ._400 ._349: .align 2, 0 ._348: .word ContestStatsText_BlackPokeBlock ._346: cmp r7, #0x3 bne ._350 @cond_branch ldr r1, ._352 @ ContestStatsText_GrayPokeBlock add r0, r6, #0 bl StringCopy mov r0, #0xb b ._400 ._353: .align 2, 0 ._352: .word ContestStatsText_GrayPokeBlock ._350: cmp r7, #0x2 beq ._354 @cond_branch mov r0, r8 cmp r0, #0x2 bne ._377 @cond_branch ._354: mov r3, #0x6 mov r2, #0x0 mov r5, #0x0 ._359: lsl r0, r5, #0x1 add r0, r0, sp mov r1, #0x0 ldsh r0, [r0, r1] cmp r0, #0 beq ._358 @cond_branch cmp r3, #0x6 bne ._357 @cond_branch add r3, r5, #0 b ._358 ._357: add r2, r5, #0 ._358: add r0, r5, #1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x4 bls ._359 @cond_branch lsl r0, r3, #0x1 mov r4, sp add r1, r4, r0 lsl r0, r2, #0x1 add r0, r0, sp mov r4, #0x0 ldsh r1, [r1, r4] mov r4, #0x0 ldsh r0, [r0, r4] cmp r1, r0 blt ._360 @cond_branch add r2, r3, #0 ._360: cmp r2, #0 bne ._361 @cond_branch ldr r1, ._363 @ ContestStatsText_PurplePokeBlock add r0, r6, #0 bl StringCopy mov r0, #0x6 b ._400 ._364: .align 2, 0 ._363: .word ContestStatsText_PurplePokeBlock ._361: cmp r2, #0x1 bne ._365 @cond_branch ldr r1, ._367 @ ContestStatsText_IndigoPokeBlock add r0, r6, #0 bl StringCopy mov r0, #0x7 b ._400 ._368: .align 2, 0 ._367: .word ContestStatsText_IndigoPokeBlock ._365: cmp r2, #0x2 bne ._369 @cond_branch ldr r1, ._371 @ ContestStatsText_BrownPokeBlock add r0, r6, #0 bl StringCopy mov r0, #0x8 b ._400 ._372: .align 2, 0 ._371: .word ContestStatsText_BrownPokeBlock ._369: cmp r2, #0x3 bne ._373 @cond_branch ldr r1, ._375 @ ContestStatsText_LiteBluePokeBlock add r0, r6, #0 bl StringCopy mov r0, #0x9 b ._400 ._376: .align 2, 0 ._375: .word ContestStatsText_LiteBluePokeBlock ._373: cmp r2, #0x4 bne ._377 @cond_branch ldr r1, ._379 @ ContestStatsText_OlivePokeBlock add r0, r6, #0 bl StringCopy mov r0, #0xa b ._400 ._380: .align 2, 0 ._379: .word ContestStatsText_OlivePokeBlock ._377: cmp r7, #0x1 beq ._381 @cond_branch mov r0, r8 cmp r0, #0x1 bne ._399 @cond_branch ._381: mov r0, sp mov r1, #0x0 ldsh r0, [r0, r1] cmp r0, #0 beq ._383 @cond_branch ldr r1, ._385 @ ContestStatsText_RedPokeBlock add r0, r6, #0 bl StringCopy mov r0, #0x1 b ._400 ._386: .align 2, 0 ._385: .word ContestStatsText_RedPokeBlock ._383: mov r0, sp ldrh r0, [r0, #0x2] cmp r0, #0 beq ._387 @cond_branch ldr r1, ._389 @ ContestStatsText_BluePokeBlock add r0, r6, #0 bl StringCopy mov r0, #0x2 b ._400 ._390: .align 2, 0 ._389: .word ContestStatsText_BluePokeBlock ._387: mov r0, sp mov r4, #0x4 ldsh r0, [r0, r4] cmp r0, #0 beq ._391 @cond_branch ldr r1, ._393 @ ContestStatsText_PinkPokeBlock add r0, r6, #0 bl StringCopy mov r0, #0x3 b ._400 ._394: .align 2, 0 ._393: .word ContestStatsText_PinkPokeBlock ._391: mov r0, sp mov r1, #0x6 ldsh r0, [r0, r1] cmp r0, #0 beq ._395 @cond_branch ldr r1, ._397 @ ContestStatsText_GreenPokeBlock add r0, r6, #0 bl StringCopy mov r0, #0x4 b ._400 ._398: .align 2, 0 ._397: .word ContestStatsText_GreenPokeBlock ._395: mov r0, sp mov r4, #0x8 ldsh r0, [r0, r4] cmp r0, #0 beq ._399 @cond_branch ldr r1, ._401 @ ContestStatsText_YellowPokeBlock add r0, r6, #0 bl StringCopy mov r0, #0x5 b ._400 ._402: .align 2, 0 ._401: .word ContestStatsText_YellowPokeBlock ._399: ldr r1, ._403 @ gOtherText_FiveQuestions add r0, r6, #0 bl StringCopy mov r0, #0x0 ._400: add sp, sp, #0x10 pop {r3, r4} mov r8, r3 mov r9, r4 pop {r4, r5, r6, r7} pop {r1} bx r1 ._404: .align 2, 0 ._403: .word gOtherText_FiveQuestions thumb_func_end debug_sub_8160714 thumb_func_start debug_sub_816097C debug_sub_816097C: push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} add r7, r0, #0 lsl r1, r1, #0x10 lsr r5, r1, #0x10 mov r6, #0x0 mov r1, #0x0 ._405: add r0, r7, r6 strb r1, [r0] add r0, r6, #1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 cmp r6, #0x3 bls ._405 @cond_branch mov r0, #0xff strb r0, [r7, #0x4] lsl r0, r5, #0x10 asr r0, r0, #0x10 cmp r0, #0 bne ._406 @cond_branch mov r0, #0xa1 strb r0, [r7, #0x3] b ._414 ._406: cmp r0, #0 ble ._408 @cond_branch mov r4, #0x64 mov r0, #0x0 mov r8, r0 mov r6, #0x0 ._412: lsl r5, r5, #0x10 asr r0, r5, #0x10 lsl r4, r4, #0x10 asr r1, r4, #0x10 bl __divsi3 lsl r0, r0, #0x10 lsr r2, r0, #0x10 mov r1, r8 cmp r1, #0 bne ._410 @cond_branch cmp r6, #0x2 beq ._410 @cond_branch cmp r2, #0 beq ._411 @cond_branch ._410: add r1, r6, r7 add r0, r2, #0 sub r0, r0, #0x5f strb r0, [r1, #0x1] mov r0, #0x1 mov r8, r0 ._411: asr r0, r5, #0x10 asr r4, r4, #0x10 add r1, r4, #0 bl __modsi3 lsl r0, r0, #0x10 lsr r5, r0, #0x10 add r0, r4, #0 mov r1, #0xa bl __divsi3 lsl r0, r0, #0x10 lsr r4, r0, #0x10 add r0, r6, #1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 cmp r6, #0x2 bls ._412 @cond_branch b ._414 ._408: cmp r0, #0 bge ._414 @cond_branch neg r0, r0 lsl r0, r0, #0x10 lsr r5, r0, #0x10 mov r4, #0x64 mov r1, #0x0 mov r8, r1 mov r6, #0x0 ._419: lsl r5, r5, #0x10 asr r0, r5, #0x10 lsl r4, r4, #0x10 asr r1, r4, #0x10 bl __divsi3 lsl r0, r0, #0x10 lsr r2, r0, #0x10 mov r1, r8 lsl r0, r1, #0x10 add r3, r0, #0 cmp r3, #0 bne ._416 @cond_branch cmp r6, #0x2 beq ._416 @cond_branch cmp r2, #0 beq ._417 @cond_branch ._416: add r1, r6, r7 add r0, r2, #0 sub r0, r0, #0x5f strb r0, [r1, #0x1] cmp r3, #0 bne ._418 @cond_branch mov r0, #0xae strb r0, [r1] ._418: mov r0, #0x1 mov r8, r0 ._417: asr r0, r5, #0x10 asr r4, r4, #0x10 add r1, r4, #0 bl __modsi3 lsl r0, r0, #0x10 lsr r5, r0, #0x10 add r0, r4, #0 mov r1, #0xa bl __divsi3 lsl r0, r0, #0x10 lsr r4, r0, #0x10 add r0, r6, #1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 cmp r6, #0x2 bls ._419 @cond_branch ._414: pop {r3} mov r8, r3 pop {r4, r5, r6, r7} pop {r0} bx r0 thumb_func_end debug_sub_816097C thumb_func_start debug_sub_8160A80 debug_sub_8160A80: push {r4, lr} lsl r0, r0, #0x18 lsr r0, r0, #0x18 add r2, r0, #0 ldr r1, ._422 @ _nakamuraStatic18 cmp r0, #0 bne ._420 @cond_branch ldr r4, ._422 + 4 @ gStringVar1 ldrb r1, [r1, #0x1] add r0, r4, #0 bl debug_sub_816097C add r0, r4, #0 mov r1, #0x8 mov r2, #0x3 bl Menu_PrintText b ._440 ._423: .align 2, 0 ._422: .word _nakamuraStatic18 .word gStringVar1 ._420: cmp r0, #0x1 bne ._424 @cond_branch ldr r4, ._426 @ gStringVar1 ldrb r1, [r1, #0x2] add r0, r4, #0 bl debug_sub_816097C add r0, r4, #0 mov r1, #0x8 mov r2, #0x5 bl Menu_PrintText b ._440 ._427: .align 2, 0 ._426: .word gStringVar1 ._424: cmp r0, #0x2 bne ._428 @cond_branch ldr r4, ._430 @ gStringVar1 ldrb r1, [r1, #0x3] add r0, r4, #0 bl debug_sub_816097C add r0, r4, #0 mov r1, #0x8 mov r2, #0x7 bl Menu_PrintText b ._440 ._431: .align 2, 0 ._430: .word gStringVar1 ._428: cmp r0, #0x3 bne ._432 @cond_branch ldr r4, ._434 @ gStringVar1 ldrb r1, [r1, #0x4] add r0, r4, #0 bl debug_sub_816097C add r0, r4, #0 mov r1, #0x8 mov r2, #0x9 bl Menu_PrintText b ._440 ._435: .align 2, 0 ._434: .word gStringVar1 ._432: cmp r0, #0x4 bne ._436 @cond_branch ldr r4, ._438 @ gStringVar1 ldrb r1, [r1, #0x5] add r0, r4, #0 bl debug_sub_816097C add r0, r4, #0 mov r1, #0x8 mov r2, #0xb bl Menu_PrintText b ._440 ._439: .align 2, 0 ._438: .word gStringVar1 ._436: cmp r2, #0x5 bne ._440 @cond_branch ldr r4, ._441 @ gStringVar1 ldrb r1, [r1, #0x6] add r0, r4, #0 bl debug_sub_816097C add r0, r4, #0 mov r1, #0x8 mov r2, #0xd bl Menu_PrintText ._440: pop {r4} pop {r0} bx r0 ._442: .align 2, 0 ._441: .word gStringVar1 thumb_func_end debug_sub_8160A80 thumb_func_start debug_sub_8160B50 debug_sub_8160B50: push {r4, lr} lsl r0, r0, #0x18 lsr r0, r0, #0x18 add r3, r0, #0 lsl r1, r1, #0x18 lsr r1, r1, #0x18 add r4, r1, #0 ldr r2, ._445 @ _nakamuraStatic18 cmp r0, #0 bne ._443 @cond_branch ldrb r0, [r2, #0x1] add r0, r0, r1 strb r0, [r2, #0x1] b ._455 ._446: .align 2, 0 ._445: .word _nakamuraStatic18 ._443: cmp r0, #0x1 bne ._447 @cond_branch ldrb r0, [r2, #0x2] add r0, r0, r1 strb r0, [r2, #0x2] b ._455 ._447: cmp r0, #0x2 bne ._449 @cond_branch ldrb r0, [r2, #0x3] add r0, r0, r1 strb r0, [r2, #0x3] b ._455 ._449: cmp r0, #0x3 bne ._451 @cond_branch ldrb r0, [r2, #0x4] add r0, r0, r1 strb r0, [r2, #0x4] b ._455 ._451: cmp r0, #0x4 bne ._453 @cond_branch ldrb r0, [r2, #0x5] add r0, r0, r1 strb r0, [r2, #0x5] b ._455 ._453: cmp r3, #0x5 bne ._455 @cond_branch ldrb r0, [r2, #0x6] add r0, r0, r4 strb r0, [r2, #0x6] ._455: pop {r4} pop {r0} bx r0 thumb_func_end debug_sub_8160B50 thumb_func_start debug_sub_8160BB0 debug_sub_8160BB0: push {r4, r5, lr} ldr r5, ._456 @ gStringVar1 ldr r4, ._456 + 4 @ _nakamuraStatic18 add r0, r5, #0 add r1, r4, #0 bl debug_sub_8160714 strb r0, [r4] mov r0, #0x1 mov r1, #0x1 mov r2, #0x8 mov r3, #0x2 bl Menu_BlankWindowRect add r0, r5, #0 mov r1, #0x1 mov r2, #0x1 bl Menu_PrintText pop {r4, r5} pop {r0} bx r0 ._457: .align 2, 0 ._456: .word gStringVar1 .word _nakamuraStatic18 thumb_func_end debug_sub_8160BB0 thumb_func_start debug_sub_8160BE4 debug_sub_8160BE4: push {r4, lr} add sp, sp, #0xfffffff8 mov r0, #0x0 mov r1, #0x0 mov r2, #0xc mov r3, #0xf bl Menu_DrawStdWindowFrame bl debug_sub_8160BB0 ldr r0, ._459 @ gContestStatsText_Spicy mov r1, #0x2 mov r2, #0x3 bl Menu_PrintText ldr r0, ._459 + 4 @ gContestStatsText_Dry mov r1, #0x2 mov r2, #0x5 bl Menu_PrintText ldr r0, ._459 + 8 @ gContestStatsText_Sweet mov r1, #0x2 mov r2, #0x7 bl Menu_PrintText ldr r0, ._459 + 12 @ gContestStatsText_Bitter mov r1, #0x2 mov r2, #0x9 bl Menu_PrintText ldr r0, ._459 + 16 @ gContestStatsText_Sour mov r1, #0x2 mov r2, #0xb bl Menu_PrintText ldr r0, ._459 + 20 @ gContestStatsText_Tasty mov r1, #0x2 mov r2, #0xd bl Menu_PrintText mov r4, #0x0 ._458: add r0, r4, #0 bl debug_sub_8160A80 add r0, r4, #1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x5 bls ._458 @cond_branch mov r0, #0x0 str r0, [sp] mov r0, #0xb str r0, [sp, #0x4] mov r0, #0x0 mov r1, #0x1 mov r2, #0x3 mov r3, #0x6 bl InitMenu add sp, sp, #0x8 pop {r4} pop {r0} bx r0 ._460: .align 2, 0 ._459: .word gContestStatsText_Spicy .word gContestStatsText_Dry .word gContestStatsText_Sweet .word gContestStatsText_Bitter .word gContestStatsText_Sour .word gContestStatsText_Tasty thumb_func_end debug_sub_8160BE4 thumb_func_start debug_sub_8160C7C debug_sub_8160C7C: push {r4, lr} ldr r2, ._469 @ _nakamuraStatic18 mov r1, #0x0 ldrb r0, [r2] cmp r0, #0xc bne ._467 @cond_branch ldrb r0, [r2, #0x1] cmp r0, #0x2 bne ._462 @cond_branch mov r1, #0x1 ._462: ldrb r0, [r2, #0x3] cmp r0, #0x2 bne ._463 @cond_branch add r0, r1, #1 lsl r0, r0, #0x18 lsr r1, r0, #0x18 ._463: ldrb r0, [r2, #0x4] cmp r0, #0x2 bne ._464 @cond_branch add r0, r1, #1 lsl r0, r0, #0x18 lsr r1, r0, #0x18 ._464: ldrb r0, [r2, #0x2] cmp r0, #0x2 bne ._465 @cond_branch add r0, r1, #1 lsl r0, r0, #0x18 lsr r1, r0, #0x18 ._465: ldrb r0, [r2, #0x5] cmp r0, #0x2 bne ._466 @cond_branch add r0, r1, #1 lsl r0, r0, #0x18 lsr r1, r0, #0x18 ._466: cmp r1, #0x3 beq ._467 @cond_branch mov r0, #0x2 strb r0, [r2, #0x1] strb r0, [r2, #0x3] strb r0, [r2, #0x4] ._467: add r0, r2, #0 bl sub_810CA34 bl debug_sub_8160BB0 mov r4, #0x0 ._468: add r0, r4, #0 bl debug_sub_8160A80 add r0, r4, #1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 cmp r4, #0x5 bls ._468 @cond_branch pop {r4} pop {r0} bx r0 ._470: .align 2, 0 ._469: .word _nakamuraStatic18 thumb_func_end debug_sub_8160C7C thumb_func_start debug_sub_8160CF4 debug_sub_8160CF4: push {lr} ldr r2, ._473 @ gMain ldrh r1, [r2, #0x30] mov r0, #0x40 and r0, r0, r1 cmp r0, #0 beq ._471 @cond_branch mov r0, #0x1 neg r0, r0 b ._472 ._474: .align 2, 0 ._473: .word gMain ._471: mov r0, #0x80 and r0, r0, r1 cmp r0, #0 beq ._475 @cond_branch mov r0, #0x1 ._472: bl Menu_MoveCursor mov r0, #0x0 b ._484 ._475: mov r0, #0x20 and r0, r0, r1 cmp r0, #0 beq ._477 @cond_branch bl Menu_GetCursorPos lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r1, #0x1 neg r1, r1 b ._478 ._477: mov r0, #0x10 and r0, r0, r1 cmp r0, #0 beq ._479 @cond_branch bl Menu_GetCursorPos lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r1, #0x1 ._478: bl debug_sub_8160B50 bl Menu_GetCursorPos lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl debug_sub_8160A80 bl debug_sub_8160BB0 mov r0, #0x0 b ._484 ._479: ldrh r1, [r2, #0x2e] mov r0, #0x1 and r0, r0, r1 cmp r0, #0 beq ._481 @cond_branch bl debug_sub_8160C7C mov r0, #0x5 bl PlaySE mov r0, #0x0 b ._484 ._481: mov r0, #0x2 and r0, r0, r1 cmp r0, #0 bne ._483 @cond_branch mov r0, #0x0 b ._484 ._483: mov r0, #0x0 mov r1, #0x0 mov r2, #0x1d mov r3, #0x13 bl Menu_EraseWindowRect bl CloseMenu mov r0, #0x1 ._484: pop {r1} bx r1 thumb_func_end debug_sub_8160CF4 thumb_func_start debug_sub_8160D98 debug_sub_8160D98: push {lr} mov r0, #0x0 mov r1, #0x0 mov r2, #0x1d mov r3, #0x13 bl Menu_EraseWindowRect bl debug_sub_8160BE4 ldr r1, ._485 @ gMenuCallback ldr r0, ._485 + 4 @ debug_sub_8160CF4 str r0, [r1] mov r0, #0x0 pop {r1} bx r1 ._486: .align 2, 0 ._485: .word gMenuCallback .word debug_sub_8160CF4+1 thumb_func_end debug_sub_8160D98 thumb_func_start debug_sub_8160DC0 debug_sub_8160DC0: push {lr} mov r0, #0x0 mov r1, #0x0 mov r2, #0x16 mov r3, #0x13 bl Menu_DrawStdWindowFrame ldr r0, ._487 @ gOtherText_Slash mov r1, #0xb mov r2, #0x1 bl Menu_PrintText ldr r0, ._487 + 4 @ Str_843E5F2 mov r1, #0x2 mov r2, #0x3 bl Menu_PrintText ldr r0, ._487 + 8 @ Str_843E5FB mov r1, #0x2 mov r2, #0x5 bl Menu_PrintText ldr r0, ._487 + 12 @ Str_843E606 mov r1, #0x2 mov r2, #0x7 bl Menu_PrintText ldr r0, ._487 + 16 @ Str_843E611 mov r1, #0x2 mov r2, #0x9 bl Menu_PrintText ldr r0, ._487 + 20 @ Str_843E61C mov r1, #0x2 mov r2, #0xb bl Menu_PrintText ldr r0, ._487 + 24 @ Str_843E627 mov r1, #0x2 mov r2, #0xd bl Menu_PrintText ldr r0, ._487 + 28 @ Str_843E637 mov r1, #0x2 mov r2, #0xf bl Menu_PrintText ldr r0, ._487 + 32 @ Str_843E632 mov r1, #0x2 mov r2, #0x11 bl Menu_PrintText pop {r0} bx r0 ._488: .align 2, 0 ._487: .word gOtherText_Slash .word Str_843E5F2 .word Str_843E5FB .word Str_843E606 .word Str_843E611 .word Str_843E61C .word Str_843E627 .word Str_843E637 .word Str_843E632 thumb_func_end debug_sub_8160DC0 thumb_func_start debug_sub_8160E50 debug_sub_8160E50: push {r4, r5, r6, lr} add r6, r0, #0 mov r0, #0x1 mov r1, #0x1 mov r2, #0xa mov r3, #0x2 bl Menu_BlankWindowRect ldr r5, ._489 @ gStringVar1 add r0, r6, #0 mov r1, #0x2 add r2, r5, #0 bl GetMonData add r0, r5, #0 mov r1, #0x1 mov r2, #0x1 bl Menu_PrintText mov r0, #0xc mov r1, #0x1 mov r2, #0x15 mov r3, #0x2 bl Menu_BlankWindowRect add r0, r6, #0 mov r1, #0xb bl GetMonData mov r1, #0xb mul r0, r0, r1 ldr r1, ._489 + 4 @ gSpeciesNames add r0, r0, r1 mov r1, #0xc mov r2, #0x1 bl Menu_PrintText add r0, r6, #0 mov r1, #0x1a bl GetMonData add r4, r0, #0 lsl r4, r4, #0x10 lsr r4, r4, #0x10 add r0, r5, #0 add r1, r4, #0 mov r2, #0x0 mov r3, #0x5 bl ConvertIntToDecimalStringN mov r0, #0xd mov r1, #0x3 mov r2, #0x11 mov r3, #0x4 bl Menu_BlankWindowRect add r0, r5, #0 mov r1, #0xd mov r2, #0x3 bl Menu_PrintText add r0, r6, #0 mov r1, #0x1b bl GetMonData add r1, r0, #0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r4, r4, r1 lsl r4, r4, #0x10 lsr r4, r4, #0x10 add r0, r5, #0 mov r2, #0x0 mov r3, #0x5 bl ConvertIntToDecimalStringN mov r0, #0xd mov r1, #0x5 mov r2, #0x11 mov r3, #0x6 bl Menu_BlankWindowRect add r0, r5, #0 mov r1, #0xd mov r2, #0x5 bl Menu_PrintText add r0, r6, #0 mov r1, #0x1c bl GetMonData add r1, r0, #0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r4, r4, r1 lsl r4, r4, #0x10 lsr r4, r4, #0x10 add r0, r5, #0 mov r2, #0x0 mov r3, #0x5 bl ConvertIntToDecimalStringN mov r0, #0xd mov r1, #0x7 mov r2, #0x11 mov r3, #0x8 bl Menu_BlankWindowRect add r0, r5, #0 mov r1, #0xd mov r2, #0x7 bl Menu_PrintText add r0, r6, #0 mov r1, #0x1d bl GetMonData add r1, r0, #0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r4, r4, r1 lsl r4, r4, #0x10 lsr r4, r4, #0x10 add r0, r5, #0 mov r2, #0x0 mov r3, #0x5 bl ConvertIntToDecimalStringN mov r0, #0xd mov r1, #0x9 mov r2, #0x11 mov r3, #0xa bl Menu_BlankWindowRect add r0, r5, #0 mov r1, #0xd mov r2, #0x9 bl Menu_PrintText add r0, r6, #0 mov r1, #0x1e bl GetMonData add r1, r0, #0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r4, r4, r1 lsl r4, r4, #0x10 lsr r4, r4, #0x10 add r0, r5, #0 mov r2, #0x0 mov r3, #0x5 bl ConvertIntToDecimalStringN mov r0, #0xd mov r1, #0xb mov r2, #0x11 mov r3, #0xc bl Menu_BlankWindowRect add r0, r5, #0 mov r1, #0xd mov r2, #0xb bl Menu_PrintText add r0, r6, #0 mov r1, #0x1f bl GetMonData add r1, r0, #0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r4, r4, r1 lsl r4, r4, #0x10 lsr r4, r4, #0x10 add r0, r5, #0 mov r2, #0x0 mov r3, #0x5 bl ConvertIntToDecimalStringN mov r0, #0xd mov r1, #0xd mov r2, #0x11 mov r3, #0xe bl Menu_BlankWindowRect add r0, r5, #0 mov r1, #0xd mov r2, #0xd bl Menu_PrintText add r0, r5, #0 add r1, r4, #0 mov r2, #0x0 mov r3, #0x5 bl ConvertIntToDecimalStringN mov r0, #0xd mov r1, #0xf mov r2, #0x11 mov r3, #0x10 bl Menu_BlankWindowRect add r0, r5, #0 mov r1, #0xd mov r2, #0xf bl Menu_PrintText add r0, r6, #0 mov r1, #0x20 bl GetMonData add r1, r0, #0 add r0, r5, #0 mov r2, #0x0 mov r3, #0x5 bl ConvertIntToDecimalStringN mov r0, #0xd mov r1, #0x11 mov r2, #0x11 mov r3, #0x12 bl Menu_BlankWindowRect add r0, r5, #0 mov r1, #0xd mov r2, #0x11 bl Menu_PrintText pop {r4, r5, r6} pop {r0} bx r0 ._490: .align 2, 0 ._489: .word gStringVar1 .word gSpeciesNames thumb_func_end debug_sub_8160E50 thumb_func_start debug_sub_8161028 debug_sub_8161028: push {r4, r5, r6, lr} lsl r0, r0, #0x18 lsr r6, r0, #0x18 asr r1, r0, #0x18 mov r0, #0x1 neg r0, r0 cmp r1, r0 bne ._491 @cond_branch ldr r0, ._496 @ _nakamuraData5 ldrb r0, [r0] cmp r0, #0 bne ._492 @cond_branch mov r5, #0x5 ._494: lsl r0, r5, #0x10 asr r4, r0, #0x10 mov r0, #0x64 mul r0, r0, r4 ldr r1, ._496 + 4 @ gPlayerParty add r0, r0, r1 mov r1, #0xb bl GetMonData cmp r0, #0 bne ._493 @cond_branch sub r0, r4, #1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r0, #0 bge ._494 @cond_branch ._492: ldr r1, ._496 @ _nakamuraData5 ldrb r0, [r1] add r0, r0, r6 strb r0, [r1] b ._506 ._497: .align 2, 0 ._496: .word _nakamuraData5 .word gPlayerParty ._491: cmp r1, #0x1 bne ._506 @cond_branch ldr r4, ._501 @ _nakamuraData5 ldrb r0, [r4] add r0, r0, r6 strb r0, [r4] lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x6 bne ._499 @cond_branch mov r0, #0x0 b ._500 ._502: .align 2, 0 ._501: .word _nakamuraData5 ._493: ldr r0, ._504 @ _nakamuraData5 strb r5, [r0] b ._506 ._505: .align 2, 0 ._504: .word _nakamuraData5 ._499: ldrb r1, [r4] mov r0, #0x64 mul r0, r0, r1 ldr r1, ._507 @ gPlayerParty add r0, r0, r1 mov r1, #0xb bl GetMonData cmp r0, #0 bne ._506 @cond_branch ._500: strb r0, [r4] ._506: pop {r4, r5, r6} pop {r0} bx r0 ._508: .align 2, 0 ._507: .word gPlayerParty thumb_func_end debug_sub_8161028 thumb_func_start debug_sub_81610BC debug_sub_81610BC: push {lr} ldr r0, ._511 @ gMain ldrh r1, [r0, #0x2e] mov r0, #0x20 and r0, r0, r1 cmp r0, #0 beq ._509 @cond_branch mov r0, #0x1 neg r0, r0 b ._510 ._512: .align 2, 0 ._511: .word gMain ._509: mov r0, #0x10 and r0, r0, r1 cmp r0, #0 beq ._513 @cond_branch mov r0, #0x1 ._510: bl debug_sub_8161028 ldr r0, ._515 @ _nakamuraData5 ldrb r1, [r0] mov r0, #0x64 mul r0, r0, r1 ldr r1, ._515 + 4 @ gPlayerParty add r0, r0, r1 bl debug_sub_8160E50 mov r0, #0x0 b ._518 ._516: .align 2, 0 ._515: .word _nakamuraData5 .word gPlayerParty ._513: mov r0, #0x2 and r0, r0, r1 cmp r0, #0 bne ._517 @cond_branch mov r0, #0x0 b ._518 ._517: mov r0, #0x0 mov r1, #0x0 mov r2, #0x1d mov r3, #0x13 bl Menu_EraseWindowRect bl CloseMenu mov r0, #0x1 ._518: pop {r1} bx r1 thumb_func_end debug_sub_81610BC thumb_func_start DebugMenu_EffortValues DebugMenu_EffortValues: push {lr} mov r0, #0x0 mov r1, #0x0 mov r2, #0x1d mov r3, #0x13 bl Menu_EraseWindowRect ldr r1, ._519 @ _nakamuraData5 mov r0, #0x0 strb r0, [r1] bl debug_sub_8160DC0 ldr r0, ._519 + 4 @ gPlayerParty bl debug_sub_8160E50 ldr r1, ._519 + 8 @ gMenuCallback ldr r0, ._519 + 12 @ debug_sub_81610BC str r0, [r1] mov r0, #0x0 pop {r1} bx r1 ._520: .align 2, 0 ._519: .word _nakamuraData5 .word gPlayerParty .word gMenuCallback .word debug_sub_81610BC+1 thumb_func_end DebugMenu_EffortValues thumb_func_start debug_sub_8161160 debug_sub_8161160: push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} mov r7, #0x0 ldr r2, ._523 @ _nakamuraData6 ldr r1, ._523 + 4 @ _nakamuraData8 ldrh r0, [r2] ldrh r3, [r1] cmp r0, r3 bhi ._521 @cond_branch add r6, r0, #0 ldrh r5, [r1] b ._522 ._524: .align 2, 0 ._523: .word _nakamuraData6 .word _nakamuraData8 ._521: ldrh r6, [r1] ldrh r5, [r2] ._522: mov r4, #0x0 ldr r0, ._529 @ _nakamuraDataA ldrh r0, [r0] cmp r4, r0 bcs ._525 @cond_branch ldr r0, ._529 + 4 @ _nakamuraDataC mov r8, r0 ._528: bl Random lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r2, r8 ldrh r1, [r2] bl __umodsi3 lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, r6 bcc ._527 @cond_branch cmp r0, r5 bhi ._527 @cond_branch add r0, r7, #1 lsl r0, r0, #0x10 lsr r7, r0, #0x10 ._527: add r4, r4, #0x1 ldr r0, ._529 @ _nakamuraDataA ldrh r0, [r0] cmp r4, r0 bcc ._528 @cond_branch ._525: add r0, r7, #0 pop {r3} mov r8, r3 pop {r4, r5, r6, r7} pop {r1} bx r1 ._530: .align 2, 0 ._529: .word _nakamuraDataA .word _nakamuraDataC thumb_func_end debug_sub_8161160 thumb_func_start debug_sub_81611D8 debug_sub_81611D8: push {r4, lr} add sp, sp, #0xfffffff8 mov r0, #0x0 mov r1, #0x0 mov r2, #0xf mov r3, #0xb bl Menu_DrawStdWindowFrame ldr r0, ._531 @ Str_843E642 mov r1, #0x2 mov r2, #0x1 bl Menu_PrintText ldr r0, ._531 + 4 @ Str_843E647 mov r1, #0x2 mov r2, #0x3 bl Menu_PrintText ldr r0, ._531 + 8 @ Str_843E65A mov r1, #0x2 mov r2, #0x5 bl Menu_PrintText ldr r0, ._531 + 12 @ Str_843E64C mov r1, #0x2 mov r2, #0x7 bl Menu_PrintText ldr r0, ._531 + 16 @ Str_843E651 mov r1, #0x2 mov r2, #0x9 bl Menu_PrintText ldr r0, ._531 + 20 @ Str_843E655 mov r1, #0xd mov r2, #0x9 bl Menu_PrintText ldr r4, ._531 + 24 @ Str_843E658 add r0, r4, #0 mov r1, #0xc mov r2, #0x1 bl Menu_PrintText add r0, r4, #0 mov r1, #0xc mov r2, #0x3 bl Menu_PrintText add r0, r4, #0 mov r1, #0xc mov r2, #0x5 bl Menu_PrintText add r0, r4, #0 mov r1, #0xc mov r2, #0x7 bl Menu_PrintText add r0, r4, #0 mov r1, #0xc mov r2, #0x9 bl Menu_PrintText mov r0, #0x0 str r0, [sp] mov r0, #0xe str r0, [sp, #0x4] mov r0, #0x0 mov r1, #0x1 mov r2, #0x1 mov r3, #0x4 bl InitMenu add sp, sp, #0x8 pop {r4} pop {r0} bx r0 ._532: .align 2, 0 ._531: .word Str_843E642 .word Str_843E647 .word Str_843E65A .word Str_843E64C .word Str_843E651 .word Str_843E655 .word Str_843E658 thumb_func_end debug_sub_81611D8 thumb_func_start debug_sub_8161290 debug_sub_8161290: push {r4, lr} add r1, r0, #0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 ldr r4, ._533 @ gStringVar1 add r0, r4, #0 mov r2, #0x1 mov r3, #0x5 bl ConvertIntToDecimalStringN add r0, r4, #0 mov r1, #0x8 mov r2, #0x9 bl Menu_PrintText pop {r4} pop {r0} bx r0 ._534: .align 2, 0 ._533: .word gStringVar1 thumb_func_end debug_sub_8161290 thumb_func_start debug_sub_81612B8 debug_sub_81612B8: push {r4, r5, lr} add r4, r2, #0 lsl r4, r4, #0x18 lsr r4, r4, #0x18 lsl r1, r1, #0x18 asr r1, r1, #0x18 ldrh r2, [r0] add r1, r1, r2 strh r1, [r0] ldr r5, ._535 @ gStringVar1 ldrh r1, [r0] add r0, r5, #0 mov r2, #0x1 mov r3, #0x5 bl ConvertIntToDecimalStringN add r0, r5, #0 mov r1, #0x8 add r2, r4, #0 bl Menu_PrintText pop {r4, r5} pop {r0} bx r0 ._536: .align 2, 0 ._535: .word gStringVar1 thumb_func_end debug_sub_81612B8 thumb_func_start debug_sub_81612EC debug_sub_81612EC: push {r4, r5, lr} ldr r2, ._540 @ gMain ldrh r1, [r2, #0x2c] mov r0, #0x80 lsl r0, r0, #0x1 and r0, r0, r1 mov r5, #0x1 cmp r0, #0 beq ._537 @cond_branch mov r5, #0x64 ._537: ldrh r1, [r2, #0x30] mov r0, #0x40 and r0, r0, r1 cmp r0, #0 beq ._538 @cond_branch mov r0, #0x1 neg r0, r0 b ._539 ._541: .align 2, 0 ._540: .word gMain ._538: mov r0, #0x80 and r0, r0, r1 cmp r0, #0 beq ._542 @cond_branch mov r0, #0x1 ._539: bl Menu_MoveCursor ._565: mov r0, #0x0 b ._543 ._542: mov r0, #0x20 and r0, r0, r1 cmp r0, #0 beq ._544 @cond_branch bl Menu_GetCursorPos lsl r0, r0, #0x18 asr r4, r0, #0x18 cmp r4, #0 bne ._545 @cond_branch ldr r0, ._550 @ _nakamuraData6 neg r1, r5 mov r2, #0x1 bl debug_sub_81612B8 ._545: cmp r4, #0x1 bne ._546 @cond_branch ldr r0, ._550 + 4 @ _nakamuraData8 neg r1, r5 mov r2, #0x3 bl debug_sub_81612B8 ._546: cmp r4, #0x2 bne ._547 @cond_branch ldr r0, ._550 + 8 @ _nakamuraDataC neg r1, r5 mov r2, #0x5 bl debug_sub_81612B8 ._547: cmp r4, #0x3 bne ._565 @cond_branch ldr r0, ._550 + 12 @ _nakamuraDataA neg r1, r5 mov r2, #0x7 bl debug_sub_81612B8 b ._565 ._551: .align 2, 0 ._550: .word _nakamuraData6 .word _nakamuraData8 .word _nakamuraDataC .word _nakamuraDataA ._544: mov r0, #0x10 and r0, r0, r1 cmp r0, #0 beq ._552 @cond_branch bl Menu_GetCursorPos lsl r0, r0, #0x18 asr r4, r0, #0x18 cmp r4, #0 bne ._553 @cond_branch ldr r0, ._558 @ _nakamuraData6 add r1, r5, #0 mov r2, #0x1 bl debug_sub_81612B8 ._553: cmp r4, #0x1 bne ._554 @cond_branch ldr r0, ._558 + 4 @ _nakamuraData8 add r1, r5, #0 mov r2, #0x3 bl debug_sub_81612B8 ._554: cmp r4, #0x2 bne ._555 @cond_branch ldr r0, ._558 + 8 @ _nakamuraDataC add r1, r5, #0 mov r2, #0x5 bl debug_sub_81612B8 ._555: cmp r4, #0x3 bne ._565 @cond_branch ldr r0, ._558 + 12 @ _nakamuraDataA add r1, r5, #0 mov r2, #0x7 bl debug_sub_81612B8 b ._565 ._559: .align 2, 0 ._558: .word _nakamuraData6 .word _nakamuraData8 .word _nakamuraDataC .word _nakamuraDataA ._552: ldrh r1, [r2, #0x2e] mov r0, #0x1 and r0, r0, r1 cmp r0, #0 beq ._560 @cond_branch ldr r0, ._563 @ _nakamuraDataC ldrh r0, [r0] cmp r0, #0 beq ._565 @cond_branch mov r0, #0x5 bl PlaySE bl debug_sub_8161160 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl debug_sub_8161290 b ._565 ._564: .align 2, 0 ._563: .word _nakamuraDataC ._560: mov r0, #0x2 and r0, r0, r1 cmp r0, #0 beq ._565 @cond_branch mov r0, #0x0 mov r1, #0x0 mov r2, #0x1d mov r3, #0x13 bl Menu_EraseWindowRect bl CloseMenu mov r0, #0x1 ._543: pop {r4, r5} pop {r1} bx r1 thumb_func_end debug_sub_81612EC thumb_func_start DebugMenu_RandomNumberTest DebugMenu_RandomNumberTest: push {lr} ldr r0, ._566 @ _nakamuraData6 mov r1, #0x0 strh r1, [r0] ldr r0, ._566 + 4 @ _nakamuraData8 strh r1, [r0] ldr r0, ._566 + 8 @ _nakamuraDataC strh r1, [r0] ldr r0, ._566 + 12 @ _nakamuraDataA strh r1, [r0] mov r0, #0x0 mov r1, #0x0 mov r2, #0x1d mov r3, #0x13 bl Menu_EraseWindowRect bl debug_sub_81611D8 ldr r1, ._566 + 16 @ gMenuCallback ldr r0, ._566 + 20 @ debug_sub_81612EC str r0, [r1] mov r0, #0x0 pop {r1} bx r1 ._567: .align 2, 0 ._566: .word _nakamuraData6 .word _nakamuraData8 .word _nakamuraDataC .word _nakamuraDataA .word gMenuCallback .word debug_sub_81612EC+1 thumb_func_end DebugMenu_RandomNumberTest .align 2, 0 .endif