.include "constants/gba_constants.inc" .include "constants/species_constants.inc" .include "asm/macros.inc" .syntax unified .text thumb_func_start sub_8136130 sub_8136130: @ 8136130 push {r4,r5,lr} ldr r4, _0813615C @ =gUnknown_02039304 ldr r2, _08136160 @ =gUnknown_083DFEC4 ldr r3, [r2] ldr r5, _08136164 @ =0x0000d164 adds r2, r3, r5 str r2, [r4] str r0, [r2, 0x8] str r1, [r2, 0x4] ldr r0, _08136168 @ =0x0000d162 adds r3, r0 movs r0, 0x2 strb r0, [r3] ldr r0, _0813616C @ =sub_8136294 bl launch_c3_walk_stairs_and_run_once ldr r0, _08136170 @ =sub_8136244 bl SetMainCallback2 pop {r4,r5} pop {r0} bx r0 .align 2, 0 _0813615C: .4byte gUnknown_02039304 _08136160: .4byte gUnknown_083DFEC4 _08136164: .4byte 0x0000d164 _08136168: .4byte 0x0000d162 _0813616C: .4byte sub_8136294 _08136170: .4byte sub_8136244 thumb_func_end sub_8136130 thumb_func_start sub_8136174 sub_8136174: @ 8136174 push {r4,r5,lr} ldr r5, _081361C4 @ =gUnknown_02039304 ldr r1, [r5] ldr r0, _081361C8 @ =gUnknown_0203930C ldr r0, [r0] str r0, [r1, 0x8] ldr r0, _081361CC @ =gUnknown_02039308 ldr r0, [r0] str r0, [r1, 0x4] ldr r4, _081361D0 @ =gUnknown_02039310 ldrb r0, [r4] bl sub_81370E4 strb r0, [r4] ldr r5, [r5] movs r1, 0 lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 bls _0813619E movs r1, 0x1 _0813619E: adds r0, r5, 0 adds r0, 0x56 strb r1, [r0] ldr r0, _081361D4 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _081361D8 @ =0x0000d162 adds r0, r1 movs r1, 0x2 strb r1, [r0] ldr r0, _081361DC @ =sub_8136294 bl launch_c3_walk_stairs_and_run_once ldr r0, _081361E0 @ =sub_81361E4 bl SetMainCallback2 pop {r4,r5} pop {r0} bx r0 .align 2, 0 _081361C4: .4byte gUnknown_02039304 _081361C8: .4byte gUnknown_0203930C _081361CC: .4byte gUnknown_02039308 _081361D0: .4byte gUnknown_02039310 _081361D4: .4byte gUnknown_083DFEC4 _081361D8: .4byte 0x0000d162 _081361DC: .4byte sub_8136294 _081361E0: .4byte sub_81361E4 thumb_func_end sub_8136174 thumb_func_start sub_81361E4 sub_81361E4: @ 81361E4 push {r4,lr} ldr r4, _08136220 @ =gUnknown_02039304 ldr r0, [r4] ldr r0, [r0] bl _call_via_r0 bl AnimateSprites bl BuildOamBuffer bl UpdatePaletteFade ldr r4, [r4] ldr r1, [r4] ldr r0, _08136224 @ =sub_81365C8 cmp r1, r0 bne _0813621A movs r0, 0x80 lsls r0, 19 movs r1, 0 strh r1, [r0] adds r0, r4, 0 adds r0, 0x50 strb r1, [r0] ldr r0, _08136228 @ =sub_813622C bl SetMainCallback2 _0813621A: pop {r4} pop {r0} bx r0 .align 2, 0 _08136220: .4byte gUnknown_02039304 _08136224: .4byte sub_81365C8 _08136228: .4byte sub_813622C thumb_func_end sub_81361E4 thumb_func_start sub_813622C sub_813622C: @ 813622C push {lr} bl sub_81368A4 bl AnimateSprites bl BuildOamBuffer bl UpdatePaletteFade pop {r0} bx r0 thumb_func_end sub_813622C thumb_func_start sub_8136244 sub_8136244: @ 8136244 push {lr} ldr r0, _08136260 @ =gUnknown_02039304 ldr r0, [r0] ldr r0, [r0] bl _call_via_r0 bl AnimateSprites bl BuildOamBuffer bl UpdatePaletteFade pop {r0} bx r0 .align 2, 0 _08136260: .4byte gUnknown_02039304 thumb_func_end sub_8136244 thumb_func_start sub_8136264 sub_8136264: @ 8136264 push {lr} bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer movs r0, 0x6 bl sub_80F5CDC bl sub_8089668 pop {r0} bx r0 thumb_func_end sub_8136264 thumb_func_start launch_c3_walk_stairs_and_run_once launch_c3_walk_stairs_and_run_once: @ 8136280 ldr r1, _08136290 @ =gUnknown_02039304 ldr r1, [r1] str r0, [r1] adds r1, 0x50 movs r0, 0 strb r0, [r1] bx lr .align 2, 0 _08136290: .4byte gUnknown_02039304 thumb_func_end launch_c3_walk_stairs_and_run_once thumb_func_start sub_8136294 sub_8136294: @ 8136294 push {r4,r5,lr} sub sp, 0x4 ldr r1, _081362B4 @ =gUnknown_02039304 ldr r0, [r1] adds r0, 0x50 ldrb r0, [r0] adds r3, r1, 0 cmp r0, 0x16 bls _081362A8 b _0813657A _081362A8: lsls r0, 2 ldr r1, _081362B8 @ =_081362BC adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _081362B4: .4byte gUnknown_02039304 _081362B8: .4byte _081362BC .align 2, 0 _081362BC: .4byte _08136318 .4byte _08136354 .4byte _0813635E .4byte _08136366 .4byte _08136374 .4byte _08136380 .4byte _0813638C .4byte _081363B8 .4byte _081363C8 .4byte _081363DC .4byte _081363EE .4byte _08136404 .4byte _08136448 .4byte _08136464 .4byte _08136488 .4byte _08136494 .4byte _0813649A .4byte _081364D8 .4byte _081364FC .4byte _08136508 .4byte _08136520 .4byte _08136538 .4byte _0813656C _08136318: bl is_c1_link_related_active ldr r1, _08136344 @ =gUnknown_083DFEC4 ldr r1, [r1] ldr r2, _08136348 @ =0x00006dac adds r1, r2 strb r0, [r1] lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 beq _08136330 b _0813657A _08136330: ldr r4, _0813634C @ =gUnknown_02039304 ldr r0, [r4] adds r0, 0x55 strb r1, [r0] ldr r0, _08136350 @ =sub_81365A0 bl launch_c3_walk_stairs_and_run_once ldr r1, [r4] b _08136528 .align 2, 0 _08136344: .4byte gUnknown_083DFEC4 _08136348: .4byte 0x00006dac _0813634C: .4byte gUnknown_02039304 _08136350: .4byte sub_81365A0 _08136354: bl ResetSpriteData bl FreeAllSpritePalettes b _08136524 _0813635E: movs r0, 0 bl SetVBlankCallback b _08136524 _08136366: ldr r0, _08136370 @ =gWindowConfig_81E7080 bl SetUpWindowConfig b _08136524 .align 2, 0 _08136370: .4byte gWindowConfig_81E7080 _08136374: ldr r0, _0813637C @ =gWindowConfig_81E7080 bl MultistepInitMenuWindowBegin b _08136524 .align 2, 0 _0813637C: .4byte gWindowConfig_81E7080 _08136380: bl MultistepInitMenuWindowContinue cmp r0, 0 bne _0813638A b _0813657A _0813638A: b _08136524 _0813638C: ldr r0, _081363AC @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r4, _081363B0 @ =0x000076aa adds r0, r1, r4 movs r2, 0 strb r2, [r0] ldr r4, _081363B4 @ =0x000087e0 adds r0, r1, r4 str r2, [r0] movs r0, 0xC3 lsls r0, 2 adds r1, r0 movs r0, 0x20 strh r0, [r1] ldr r1, [r3] b _08136528 .align 2, 0 _081363AC: .4byte gUnknown_083DFEC4 _081363B0: .4byte 0x000076aa _081363B4: .4byte 0x000087e0 _081363B8: bl sub_80F2688 ldr r0, _081363D8 @ =gUnknown_02039304 ldr r1, [r0] adds r1, 0x50 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] _081363C8: bl sub_80F26BC lsls r0, 24 cmp r0, 0 beq _081363D4 b _0813657A _081363D4: b _08136524 .align 2, 0 _081363D8: .4byte gUnknown_02039304 _081363DC: movs r0, 0x1 bl sub_80F2C80 ldr r0, _08136400 @ =gUnknown_02039304 ldr r1, [r0] adds r1, 0x50 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] _081363EE: movs r0, 0x1 bl sub_80F2CBC lsls r0, 24 cmp r0, 0 beq _081363FC b _0813657A _081363FC: b _08136524 .align 2, 0 _08136400: .4byte gUnknown_02039304 _08136404: ldr r1, _08136434 @ =gKeyRepeatStartDelay movs r0, 0x14 strh r0, [r1] bl CalculatePlayerPartyCount ldr r1, _08136438 @ =gUnknown_083DFEC4 ldr r4, [r1] ldr r2, _0813643C @ =0x00008828 adds r1, r4, r2 movs r5, 0 strb r0, [r1] ldr r1, _08136440 @ =0x00009344 adds r0, r4, r1 strb r5, [r0] subs r2, 0xC0 adds r0, r4, r2 str r5, [r0] bl sub_80F4BD0 ldr r0, _08136444 @ =0x0000d160 adds r4, r0 strh r5, [r4] b _08136524 .align 2, 0 _08136434: .4byte gKeyRepeatStartDelay _08136438: .4byte gUnknown_083DFEC4 _0813643C: .4byte 0x00008828 _08136440: .4byte 0x00009344 _08136444: .4byte 0x0000d160 _08136448: bl sub_80F1778 lsls r0, 24 cmp r0, 0 beq _08136454 b _0813657A _08136454: ldr r0, _08136460 @ =REG_BG2VOFS movs r1, 0x6 strh r1, [r0] adds r0, 0x4 strh r1, [r0] b _08136524 .align 2, 0 _08136460: .4byte REG_BG2VOFS _08136464: movs r0, 0 bl sub_80F2E18 ldr r0, _0813647C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _08136480 @ =0x00008768 adds r0, r1 ldr r1, [r0] ldr r0, _08136484 @ =0x0000ffd8 strh r0, [r1, 0x26] b _08136524 .align 2, 0 _0813647C: .4byte gUnknown_083DFEC4 _08136480: .4byte 0x00008768 _08136484: .4byte 0x0000ffd8 _08136488: bl sub_80F170C lsls r0, 24 cmp r0, 0 bne _0813657A b _08136524 _08136494: bl sub_80F33A8 b _08136524 _0813649A: ldr r1, _081364C4 @ =0x0600f800 movs r2, 0 str r2, [sp] ldr r0, _081364C8 @ =0x040000d4 mov r4, sp str r4, [r0] str r1, [r0, 0x4] ldr r1, _081364CC @ =0x85000200 str r1, [r0, 0x8] ldr r0, [r0, 0x8] ldr r0, _081364D0 @ =REG_BG1VOFS strh r2, [r0] subs r0, 0x2 strh r2, [r0] ldr r1, _081364D4 @ =REG_BG1CNT movs r2, 0xF8 lsls r2, 5 adds r0, r2, 0 strh r0, [r1] ldr r1, [r3] b _08136528 .align 2, 0 _081364C4: .4byte 0x0600f800 _081364C8: .4byte 0x040000d4 _081364CC: .4byte 0x85000200 _081364D0: .4byte REG_BG1VOFS _081364D4: .4byte REG_BG1CNT _081364D8: ldr r0, _081364F0 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r4, _081364F4 @ =0x00008ff0 adds r0, r1, r4 ldr r2, _081364F8 @ =0x00009004 adds r1, r2 bl sub_80F567C bl sub_80F5B38 b _08136524 .align 2, 0 _081364F0: .4byte gUnknown_083DFEC4 _081364F4: .4byte 0x00008ff0 _081364F8: .4byte 0x00009004 _081364FC: bl sub_80F5B50 lsls r0, 24 cmp r0, 0 bne _0813657A b _08136524 _08136508: ldr r0, _08136518 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r4, _0813651C @ =0x00009004 adds r0, r4 bl sub_80F556C b _08136524 .align 2, 0 _08136518: .4byte gUnknown_083DFEC4 _0813651C: .4byte 0x00009004 _08136520: bl sub_80F1934 _08136524: ldr r0, _08136534 @ =gUnknown_02039304 ldr r1, [r0] _08136528: adds r1, 0x50 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _0813657A .align 2, 0 _08136534: .4byte gUnknown_02039304 _08136538: ldr r1, _08136584 @ =REG_WIN0H movs r0, 0xF0 strh r0, [r1] adds r1, 0x2 movs r0, 0x9B strh r0, [r1] ldr r0, _08136588 @ =REG_WIN0V ldr r2, _0813658C @ =0x00003273 adds r1, r2, 0 strh r1, [r0] adds r0, 0x2 strh r1, [r0] ldr r1, _08136590 @ =REG_WININ ldr r4, _08136594 @ =0x00003f3f adds r0, r4, 0 strh r0, [r1] adds r1, 0x2 movs r0, 0x1B strh r0, [r1] subs r1, 0x38 movs r0, 0x28 strh r0, [r1] subs r1, 0x12 ldr r2, _08136598 @ =0x00007f40 adds r0, r2, 0 strh r0, [r1] _0813656C: ldr r0, [r3] adds r0, 0x55 movs r1, 0x1 strb r1, [r0] ldr r0, _0813659C @ =sub_81365C8 bl launch_c3_walk_stairs_and_run_once _0813657A: add sp, 0x4 pop {r4,r5} pop {r0} bx r0 .align 2, 0 _08136584: .4byte REG_WIN0H _08136588: .4byte REG_WIN0V _0813658C: .4byte 0x00003273 _08136590: .4byte REG_WININ _08136594: .4byte 0x00003f3f _08136598: .4byte 0x00007f40 _0813659C: .4byte sub_81365C8 thumb_func_end sub_8136294 thumb_func_start sub_81365A0 sub_81365A0: @ 81365A0 push {r4,lr} ldr r1, _081365C4 @ =gUnknown_02039304 ldr r0, [r1] adds r0, 0x55 ldrb r0, [r0] cmp r0, 0 bne _081365BE adds r4, r1, 0 _081365B0: bl sub_8136294 ldr r0, [r4] adds r0, 0x55 ldrb r0, [r0] cmp r0, 0 beq _081365B0 _081365BE: pop {r4} pop {r0} bx r0 .align 2, 0 _081365C4: .4byte gUnknown_02039304 thumb_func_end sub_81365A0 thumb_func_start sub_81365C8 sub_81365C8: @ 81365C8 push {r4,lr} sub sp, 0x4 ldr r4, _081365E0 @ =gUnknown_02039304 ldr r0, [r4] adds r0, 0x50 ldrb r1, [r0] cmp r1, 0 beq _081365E4 cmp r1, 0x1 beq _0813660C b _08136626 .align 2, 0 _081365E0: .4byte gUnknown_02039304 _081365E4: movs r0, 0x1 negs r0, r0 str r1, [sp] movs r1, 0 movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade ldr r0, _08136608 @ =sub_8136264 bl SetVBlankCallback ldr r1, [r4] adds r1, 0x50 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _08136626 .align 2, 0 _08136608: .4byte sub_8136264 _0813660C: ldr r0, _08136630 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _08136626 bl sub_80F3C94 bl sub_80F3D00 ldr r0, _08136634 @ =sub_8136638 bl launch_c3_walk_stairs_and_run_once _08136626: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _08136630: .4byte gPaletteFade _08136634: .4byte sub_8136638 thumb_func_end sub_81365C8 thumb_func_start sub_8136638 sub_8136638: @ 8136638 push {r4,lr} ldr r0, _08136654 @ =gUnknown_02039304 ldr r0, [r0] adds r0, 0x50 ldrb r0, [r0] cmp r0, 0x7 bls _08136648 b _081367FA _08136648: lsls r0, 2 ldr r1, _08136658 @ =_0813665C adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _08136654: .4byte gUnknown_02039304 _08136658: .4byte _0813665C .align 2, 0 _0813665C: .4byte _0813667C .4byte _08136748 .4byte _08136754 .4byte _08136774 .4byte _081367FA .4byte _08136780 .4byte _08136798 .4byte _081367E0 _0813667C: ldr r2, _081366A4 @ =gMain ldrh r1, [r2, 0x2C] movs r0, 0x40 ands r0, r1 cmp r0, 0 beq _081366AC movs r0, 0x5 bl PlaySE movs r0, 0x1 bl sub_80F5060 bl move_anim_execute ldr r0, _081366A8 @ =gUnknown_02039304 ldr r0, [r0] adds r0, 0x50 movs r1, 0x1 b _081367F8 .align 2, 0 _081366A4: .4byte gMain _081366A8: .4byte gUnknown_02039304 _081366AC: movs r0, 0x80 ands r0, r1 cmp r0, 0 beq _081366D4 movs r0, 0x5 bl PlaySE movs r0, 0 bl sub_80F5060 bl move_anim_execute ldr r0, _081366D0 @ =gUnknown_02039304 ldr r0, [r0] adds r0, 0x50 movs r1, 0x1 b _081367F8 .align 2, 0 _081366D0: .4byte gUnknown_02039304 _081366D4: ldrh r1, [r2, 0x2E] movs r0, 0x2 ands r0, r1 cmp r0, 0 beq _081366F4 movs r0, 0x5 bl PlaySE ldr r0, _081366F0 @ =gUnknown_02039304 ldr r0, [r0] adds r0, 0x50 movs r1, 0x3 b _081367F8 .align 2, 0 _081366F0: .4byte gUnknown_02039304 _081366F4: movs r0, 0x1 ands r0, r1 cmp r0, 0 bne _081366FE b _081367FA _081366FE: movs r0, 0x5 bl PlaySE ldr r0, _08136728 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r2, _0813672C @ =0x000087dc adds r1, r0, r2 movs r2, 0 ldrsh r1, [r1, r2] ldr r2, _08136730 @ =0x000087da adds r0, r2 movs r2, 0 ldrsh r0, [r0, r2] subs r0, 0x1 cmp r1, r0 bne _08136738 ldr r0, _08136734 @ =gUnknown_02039304 ldr r0, [r0] adds r0, 0x50 movs r1, 0x3 b _081367F8 .align 2, 0 _08136728: .4byte gUnknown_083DFEC4 _0813672C: .4byte 0x000087dc _08136730: .4byte 0x000087da _08136734: .4byte gUnknown_02039304 _08136738: ldr r0, _08136744 @ =gUnknown_02039304 ldr r0, [r0] adds r0, 0x50 movs r1, 0x5 b _081367F8 .align 2, 0 _08136744: .4byte gUnknown_02039304 _08136748: bl gpu_sync_bg_show lsls r0, 24 cmp r0, 0 bne _081367FA b _08136784 _08136754: bl sub_8055870 adds r4, r0, 0 cmp r4, 0 bne _081367FA bl sub_80F1934 bl sub_80F3D00 ldr r0, _08136770 @ =gUnknown_02039304 ldr r0, [r0] adds r0, 0x50 strb r4, [r0] b _081367FA .align 2, 0 _08136770: .4byte gUnknown_02039304 _08136774: ldr r0, _0813677C @ =sub_8136B44 bl launch_c3_walk_stairs_and_run_once b _081367FA .align 2, 0 _0813677C: .4byte sub_8136B44 _08136780: bl sub_8136BB8 _08136784: ldr r0, _08136794 @ =gUnknown_02039304 ldr r1, [r0] adds r1, 0x50 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _081367FA .align 2, 0 _08136794: .4byte gUnknown_02039304 _08136798: bl sub_8136C40 lsls r0, 24 asrs r1, r0, 24 cmp r1, 0 beq _081367B8 cmp r1, 0 bgt _081367B2 movs r0, 0x1 negs r0, r0 cmp r1, r0 beq _081367F0 b _081367FA _081367B2: cmp r1, 0x1 bne _081367FA b _081367F0 _081367B8: bl sub_8137058 lsls r0, 24 cmp r0, 0 beq _081367D4 bl sub_8136D60 ldr r0, _081367D0 @ =gUnknown_02039304 ldr r0, [r0] adds r0, 0x50 movs r1, 0x7 b _081367F8 .align 2, 0 _081367D0: .4byte gUnknown_02039304 _081367D4: ldr r0, _081367DC @ =sub_8136808 bl launch_c3_walk_stairs_and_run_once b _081367FA .align 2, 0 _081367DC: .4byte sub_8136808 _081367E0: ldr r0, _08136800 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 cmp r0, 0 beq _081367FA bl sub_8136D8C _081367F0: ldr r0, _08136804 @ =gUnknown_02039304 ldr r0, [r0] adds r0, 0x50 movs r1, 0 _081367F8: strb r1, [r0] _081367FA: pop {r4} pop {r0} bx r0 .align 2, 0 _08136800: .4byte gMain _08136804: .4byte gUnknown_02039304 thumb_func_end sub_8136638 thumb_func_start sub_8136808 sub_8136808: @ 8136808 push {r4,r5,lr} sub sp, 0x4 ldr r5, _08136820 @ =gUnknown_02039304 ldr r0, [r5] adds r0, 0x50 ldrb r4, [r0] cmp r4, 0 beq _08136824 cmp r4, 0x1 beq _08136874 b _0813688C .align 2, 0 _08136820: .4byte gUnknown_02039304 _08136824: ldr r0, _08136860 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _08136864 @ =0x000087dc adds r0, r1 ldrb r0, [r0] bl sub_81370A4 ldr r1, _08136868 @ =gUnknown_02039310 strb r0, [r1] ldr r1, _0813686C @ =gUnknown_02039308 ldr r2, [r5] ldr r0, [r2, 0x4] str r0, [r1] ldr r1, _08136870 @ =gUnknown_0203930C ldr r0, [r2, 0x8] str r0, [r1] movs r0, 0x1 negs r0, r0 str r4, [sp] movs r1, 0 movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade ldr r1, [r5] adds r1, 0x50 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _0813688C .align 2, 0 _08136860: .4byte gUnknown_083DFEC4 _08136864: .4byte 0x000087dc _08136868: .4byte gUnknown_02039310 _0813686C: .4byte gUnknown_02039308 _08136870: .4byte gUnknown_0203930C _08136874: ldr r0, _08136894 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _0813688C ldr r0, _08136898 @ =gMain ldr r1, _0813689C @ =sub_8136174 str r1, [r0, 0x8] ldr r0, _081368A0 @ =sub_8147ADC bl SetMainCallback2 _0813688C: add sp, 0x4 pop {r4,r5} pop {r0} bx r0 .align 2, 0 _08136894: .4byte gPaletteFade _08136898: .4byte gMain _0813689C: .4byte sub_8136174 _081368A0: .4byte sub_8147ADC thumb_func_end sub_8136808 thumb_func_start sub_81368A4 sub_81368A4: @ 81368A4 push {r4,lr} sub sp, 0x4 ldr r1, _081368C4 @ =gUnknown_02039304 ldr r0, [r1] adds r0, 0x50 ldrb r0, [r0] adds r4, r1, 0 cmp r0, 0x6 bls _081368B8 b _081369B8 _081368B8: lsls r0, 2 ldr r1, _081368C8 @ =_081368CC adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _081368C4: .4byte gUnknown_02039304 _081368C8: .4byte _081368CC .align 2, 0 _081368CC: .4byte _081368E8 .4byte _08136922 .4byte _0813692E .4byte _0813694C .4byte _0813695A .4byte _0813696C .4byte _08136998 _081368E8: ldr r0, _0813690C @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _08136910 @ =0x000087dc adds r0, r1 movs r2, 0 ldrsh r1, [r0, r2] ldr r0, _08136914 @ =gUnknown_02039310 ldrb r0, [r0] cmp r1, r0 beq _08136918 ldr r0, [r4] adds r0, 0x56 ldrb r0, [r0] bl sub_80F5060 ldr r1, [r4] b _08136986 .align 2, 0 _0813690C: .4byte gUnknown_083DFEC4 _08136910: .4byte 0x000087dc _08136914: .4byte gUnknown_02039310 _08136918: ldr r0, [r4] adds r0, 0x50 movs r1, 0x3 strb r1, [r0] b _081369B8 _08136922: bl gpu_sync_bg_show lsls r0, 24 cmp r0, 0 bne _081369B8 b _08136982 _0813692E: bl sub_8055870 adds r4, r0, 0 cmp r4, 0 bne _081369B8 bl sub_80F1934 ldr r0, _08136948 @ =gUnknown_02039304 ldr r0, [r0] adds r0, 0x50 strb r4, [r0] b _081369B8 .align 2, 0 _08136948: .4byte gUnknown_02039304 _0813694C: movs r0, 0x1 negs r0, r0 movs r1, 0x10 movs r2, 0 bl BlendPalettes b _08136982 _0813695A: movs r1, 0x80 lsls r1, 19 ldr r2, _08136968 @ =0x00007f40 adds r0, r2, 0 strh r0, [r1] ldr r1, [r4] b _08136986 .align 2, 0 _08136968: .4byte 0x00007f40 _0813696C: ldr r0, _08136990 @ =sub_8136264 bl SetVBlankCallback movs r0, 0x1 negs r0, r0 movs r1, 0 str r1, [sp] movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade _08136982: ldr r0, _08136994 @ =gUnknown_02039304 ldr r1, [r0] _08136986: adds r1, 0x50 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _081369B8 .align 2, 0 _08136990: .4byte sub_8136264 _08136994: .4byte gUnknown_02039304 _08136998: ldr r0, _081369C0 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _081369B8 bl sub_80F3C94 bl sub_80F3D00 ldr r0, _081369C4 @ =sub_81369CC bl launch_c3_walk_stairs_and_run_once ldr r0, _081369C8 @ =sub_8136244 bl SetMainCallback2 _081369B8: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 _081369C0: .4byte gPaletteFade _081369C4: .4byte sub_81369CC _081369C8: .4byte sub_8136244 thumb_func_end sub_81368A4 thumb_func_start sub_81369CC sub_81369CC: @ 81369CC push {r4-r6,lr} ldr r1, _081369E8 @ =gUnknown_02039304 ldr r0, [r1] adds r0, 0x50 ldrb r0, [r0] adds r4, r1, 0 cmp r0, 0x5 bls _081369DE b _08136B32 _081369DE: lsls r0, 2 ldr r1, _081369EC @ =_081369F0 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _081369E8: .4byte gUnknown_02039304 _081369EC: .4byte _081369F0 .align 2, 0 _081369F0: .4byte _08136A08 .4byte _08136A48 .4byte _08136A5C .4byte _08136AAC .4byte _08136AEC .4byte _08136B0E _08136A08: ldr r3, [r4] ldr r2, _08136A38 @ =gPlayerParty str r2, [r3, 0xC] ldr r0, _08136A3C @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r5, _08136A40 @ =0x000087dc adds r0, r1, r5 movs r5, 0 ldrsh r0, [r0, r5] lsls r0, 2 adds r1, r0 ldr r0, _08136A44 @ =0x0000893e adds r1, r0 ldrb r0, [r1] lsls r0, 27 lsrs r0, 27 movs r1, 0x64 muls r0, r1 adds r0, r2 str r0, [r3, 0xC] bl move_anim_execute b _08136B02 .align 2, 0 _08136A38: .4byte gPlayerParty _08136A3C: .4byte gUnknown_083DFEC4 _08136A40: .4byte 0x000087dc _08136A44: .4byte 0x0000893e _08136A48: ldr r0, _08136A58 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 cmp r0, 0 beq _08136B32 b _08136B02 .align 2, 0 _08136A58: .4byte gMain _08136A5C: bl sub_8136EF0 ldr r6, _08136A98 @ =gUnknown_02039304 ldr r0, [r6] adds r0, 0x5C ldr r1, _08136A9C @ =gUnknown_083DFEC4 ldr r4, [r1] ldr r1, _08136AA0 @ =0x00009040 adds r5, r4, r1 adds r1, r5, 0 bl sub_80F567C ldr r1, _08136AA4 @ =0x00008fe9 adds r0, r4, r1 movs r1, 0 ldrsb r1, [r0, r1] lsls r0, r1, 2 adds r0, r1 lsls r0, 2 ldr r1, _08136AA8 @ =0x00009004 adds r0, r1 adds r4, r0 adds r0, r4, 0 adds r1, r5, 0 bl sub_80F5550 bl sub_8137138 ldr r1, [r6] b _08136B04 .align 2, 0 _08136A98: .4byte gUnknown_02039304 _08136A9C: .4byte gUnknown_083DFEC4 _08136AA0: .4byte 0x00009040 _08136AA4: .4byte 0x00008fe9 _08136AA8: .4byte 0x00009004 _08136AAC: bl sub_80F555C lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 bne _08136B32 ldr r0, _08136AE0 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r5, _08136AE4 @ =0x000087dc adds r0, r5 ldrb r0, [r0] bl sub_81370A4 lsls r0, 24 lsrs r0, 24 bl sub_80F7224 bl sub_80F3D00 ldr r1, _08136AE8 @ =gUnknown_02039304 ldr r0, [r1] adds r0, 0x52 strb r4, [r0] ldr r1, [r1] b _08136B04 .align 2, 0 _08136AE0: .4byte gUnknown_083DFEC4 _08136AE4: .4byte 0x000087dc _08136AE8: .4byte gUnknown_02039304 _08136AEC: ldr r1, [r4] adds r1, 0x52 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] lsls r0, 24 lsrs r0, 24 cmp r0, 0x10 bls _08136B32 bl sub_8136C6C _08136B02: ldr r1, [r4] _08136B04: adds r1, 0x50 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _08136B32 _08136B0E: ldr r0, _08136B38 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 cmp r0, 0 beq _08136B32 bl sub_8136D00 lsls r0, 24 cmp r0, 0 bne _08136B32 ldr r0, _08136B3C @ =gScriptItemId ldrb r0, [r0] bl sub_810CA6C ldr r0, _08136B40 @ =sub_8136B44 bl launch_c3_walk_stairs_and_run_once _08136B32: pop {r4-r6} pop {r0} bx r0 .align 2, 0 _08136B38: .4byte gMain _08136B3C: .4byte gScriptItemId _08136B40: .4byte sub_8136B44 thumb_func_end sub_81369CC thumb_func_start sub_8136B44 sub_8136B44: @ 8136B44 push {r4,lr} sub sp, 0x4 ldr r4, _08136B60 @ =gUnknown_02039304 ldr r0, [r4] adds r2, r0, 0 adds r2, 0x50 ldrb r1, [r2] cmp r1, 0x1 beq _08136B80 cmp r1, 0x1 bgt _08136B64 cmp r1, 0 beq _08136B6E b _08136BAE .align 2, 0 _08136B60: .4byte gUnknown_02039304 _08136B64: cmp r1, 0x2 beq _08136B98 cmp r1, 0x3 beq _08136BA8 b _08136BAE _08136B6E: movs r0, 0x1 negs r0, r0 str r1, [sp] movs r1, 0 movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade b _08136B9C _08136B80: ldr r0, _08136B94 @ =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _08136BAE movs r0, 0x2 strb r0, [r2] b _08136BAE .align 2, 0 _08136B94: .4byte gPaletteFade _08136B98: bl sub_80F5BDC _08136B9C: ldr r1, [r4] adds r1, 0x50 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] b _08136BAE _08136BA8: ldr r0, [r0, 0x4] bl SetMainCallback2 _08136BAE: add sp, 0x4 pop {r4} pop {r0} bx r0 thumb_func_end sub_8136B44 thumb_func_start sub_8136BB8 sub_8136BB8: @ 8136BB8 push {r4,lr} ldr r0, _08136C28 @ =gUnknown_083DFEC4 ldr r0, [r0] ldr r1, _08136C2C @ =0x000087dc adds r0, r1 ldrb r0, [r0] bl sub_81370A4 lsls r0, 24 lsrs r0, 24 movs r1, 0x64 muls r0, r1 ldr r1, _08136C30 @ =gPlayerParty adds r0, r1 ldr r4, _08136C34 @ =gUnknown_02039304 ldr r2, [r4] adds r2, 0x10 movs r1, 0x2 bl GetMonData ldr r0, [r4] adds r0, 0x10 bl StringGetEnd10 ldr r0, [r4] adds r0, 0x10 ldr r1, _08136C38 @ =gOtherText_GetsAPokeBlock bl StringAppend ldr r0, _08136C3C @ =gWindowConfig_81E709C bl BasicInitMenuWindow movs r0, 0 movs r1, 0x10 movs r2, 0x1D movs r3, 0x13 bl MenuDrawTextWindow ldr r0, [r4] adds r0, 0x10 movs r1, 0x1 movs r2, 0x11 bl MenuPrint movs r0, 0x17 movs r1, 0xA movs r2, 0x1 bl DisplayYesNoMenu movs r0, 0 bl MoveMenuCursor pop {r4} pop {r0} bx r0 .align 2, 0 _08136C28: .4byte gUnknown_083DFEC4 _08136C2C: .4byte 0x000087dc _08136C30: .4byte gPlayerParty _08136C34: .4byte gUnknown_02039304 _08136C38: .4byte gOtherText_GetsAPokeBlock _08136C3C: .4byte gWindowConfig_81E709C thumb_func_end sub_8136BB8 thumb_func_start sub_8136C40 sub_8136C40: @ 8136C40 push {r4,lr} bl ProcessMenuInputNoWrap lsls r0, 24 asrs r4, r0, 24 movs r1, 0x80 lsls r1, 17 adds r0, r1 lsrs r0, 24 cmp r0, 0x2 bhi _08136C60 bl MenuZeroFillScreen ldr r0, _08136C68 @ =gWindowConfig_81E7080 bl BasicInitMenuWindow _08136C60: adds r0, r4, 0 pop {r4} pop {r1} bx r1 .align 2, 0 _08136C68: .4byte gWindowConfig_81E7080 thumb_func_end sub_8136C40 thumb_func_start sub_8136C6C sub_8136C6C: @ 8136C6C push {lr} ldr r0, _08136C8C @ =gWindowConfig_81E709C bl BasicInitMenuWindow movs r0, 0 movs r1, 0x10 movs r2, 0x1D movs r3, 0x13 bl MenuDrawTextWindow ldr r3, _08136C90 @ =gUnknown_02039304 ldr r0, [r3] adds r0, 0x53 movs r1, 0 b _08136C9C .align 2, 0 _08136C8C: .4byte gWindowConfig_81E709C _08136C90: .4byte gUnknown_02039304 _08136C94: ldr r0, [r3] adds r0, 0x53 ldrb r1, [r0] adds r1, 0x1 _08136C9C: strb r1, [r0] ldr r2, [r3] adds r1, r2, 0 adds r1, 0x53 ldrb r0, [r1] cmp r0, 0x4 bhi _08136CDC adds r0, r2, 0 adds r0, 0x61 ldrb r1, [r1] adds r0, r1 ldrb r0, [r0] cmp r0, 0 beq _08136C94 ldr r0, _08136CD8 @ =gUnknown_02039304 ldr r2, [r0] adds r1, r2, 0 adds r1, 0x53 ldrb r0, [r1] cmp r0, 0x4 bhi _08136CDC adds r0, r2, 0 adds r0, 0x10 ldrb r1, [r1] adds r2, 0x61 adds r2, r1 ldrb r2, [r2] bl sub_8136DC0 b _08136CEE .align 2, 0 _08136CD8: .4byte gUnknown_02039304 _08136CDC: ldr r0, _08136CFC @ =gUnknown_02039304 ldr r1, [r0] adds r0, r1, 0 adds r0, 0x10 adds r1, 0x53 ldrb r1, [r1] movs r2, 0 bl sub_8136DC0 _08136CEE: ldr r0, _08136CFC @ =gUnknown_02039304 ldr r0, [r0] adds r0, 0x10 bl sub_8136DA0 pop {r0} bx r0 .align 2, 0 _08136CFC: .4byte gUnknown_02039304 thumb_func_end sub_8136C6C thumb_func_start sub_8136D00 sub_8136D00: @ 8136D00 push {r4,r5,lr} ldr r4, _08136D30 @ =gUnknown_02039304 adds r3, r4, 0 movs r5, 0x5 _08136D08: ldr r0, [r3] adds r0, 0x53 ldrb r1, [r0] adds r1, 0x1 strb r1, [r0] ldr r2, [r3] adds r1, r2, 0 adds r1, 0x53 ldrb r0, [r1] cmp r0, 0x4 bhi _08136D34 adds r0, r2, 0 adds r0, 0x61 ldrb r1, [r1] adds r0, r1 ldrb r0, [r0] cmp r0, 0 bne _08136D3A b _08136D08 .align 2, 0 _08136D30: .4byte gUnknown_02039304 _08136D34: strb r5, [r1] movs r0, 0 b _08136D5A _08136D3A: ldr r2, [r4] adds r0, r2, 0 adds r0, 0x10 adds r1, r2, 0 adds r1, 0x53 ldrb r1, [r1] adds r2, 0x61 adds r2, r1 ldrb r2, [r2] bl sub_8136DC0 ldr r0, [r4] adds r0, 0x10 bl sub_8136DA0 movs r0, 0x1 _08136D5A: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8136D00 thumb_func_start sub_8136D60 sub_8136D60: @ 8136D60 push {lr} ldr r0, _08136D84 @ =gWindowConfig_81E709C bl BasicInitMenuWindow movs r0, 0 movs r1, 0x10 movs r2, 0x1D movs r3, 0x13 bl MenuDrawTextWindow ldr r0, _08136D88 @ =gOtherText_WontEat movs r1, 0x1 movs r2, 0x11 bl MenuPrint pop {r0} bx r0 .align 2, 0 _08136D84: .4byte gWindowConfig_81E709C _08136D88: .4byte gOtherText_WontEat thumb_func_end sub_8136D60 thumb_func_start sub_8136D8C sub_8136D8C: @ 8136D8C push {lr} bl MenuZeroFillScreen ldr r0, _08136D9C @ =gWindowConfig_81E7080 bl BasicInitMenuWindow pop {r0} bx r0 .align 2, 0 _08136D9C: .4byte gWindowConfig_81E7080 thumb_func_end sub_8136D8C thumb_func_start sub_8136DA0 sub_8136DA0: @ 8136DA0 push {r4,lr} adds r4, r0, 0 movs r0, 0 movs r1, 0x10 movs r2, 0x1D movs r3, 0x13 bl MenuDrawTextWindow adds r0, r4, 0 movs r1, 0x1 movs r2, 0x11 bl MenuPrint pop {r4} pop {r0} bx r0 thumb_func_end sub_8136DA0 thumb_func_start sub_8136DC0 sub_8136DC0: @ 8136DC0 push {r4,lr} adds r4, r0, 0 lsls r1, 24 lsrs r3, r1, 24 lsls r2, 16 lsrs r0, r2, 16 asrs r2, 16 cmp r2, 0 beq _08136DFC cmp r2, 0 ble _08136DD8 movs r0, 0 _08136DD8: lsls r0, 16 ldr r1, _08136DF4 @ =gUnknown_08406134 lsls r0, r3, 2 adds r0, r1 ldr r1, [r0] adds r0, r4, 0 bl StringCopy ldr r1, _08136DF8 @ =gOtherText_WasEnhanced adds r0, r4, 0 bl StringAppend b _08136E04 .align 2, 0 _08136DF4: .4byte gUnknown_08406134 _08136DF8: .4byte gOtherText_WasEnhanced _08136DFC: ldr r1, _08136E0C @ =gOtherText_NothingChanged adds r0, r4, 0 bl StringCopy _08136E04: pop {r4} pop {r0} bx r0 .align 2, 0 _08136E0C: .4byte gOtherText_NothingChanged thumb_func_end sub_8136DC0 thumb_func_start sub_8136E10 sub_8136E10: @ 8136E10 push {r4-r7,lr} adds r6, r0, 0 adds r5, r1, 0 movs r4, 0 ldr r7, _08136E3C @ =gUnknown_08406118 _08136E1A: lsls r0, r4, 2 adds r0, r7 ldr r1, [r0] adds r0, r6, 0 bl GetMonData adds r1, r5, r4 strb r0, [r1] adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x4 bls _08136E1A pop {r4-r7} pop {r0} bx r0 .align 2, 0 _08136E3C: .4byte gUnknown_08406118 thumb_func_end sub_8136E10 thumb_func_start sub_8136E40 sub_8136E40: @ 8136E40 push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x4 mov r8, r0 adds r5, r1, 0 adds r0, r5, 0 movs r1, 0x30 bl GetMonData cmp r0, 0xFF beq _08136EDC mov r0, r8 adds r1, r5, 0 bl sub_8136F74 movs r4, 0 mov r7, sp _08136E64: ldr r1, _08136EE8 @ =gUnknown_08406118 lsls r0, r4, 2 adds r0, r1 ldr r6, [r0] adds r0, r5, 0 adds r1, r6, 0 bl GetMonData lsls r0, 24 lsrs r0, 24 strb r0, [r7] ldr r1, _08136EEC @ =gUnknown_02039304 ldr r1, [r1] lsls r2, r4, 1 adds r1, 0x66 adds r1, r2 ldrh r1, [r1] adds r0, r1 lsls r0, 16 lsrs r1, r0, 16 cmp r0, 0 bge _08136E92 movs r1, 0 _08136E92: lsls r0, r1, 16 asrs r0, 16 cmp r0, 0xFF ble _08136E9C movs r1, 0xFF _08136E9C: strb r1, [r7] adds r0, r5, 0 adds r1, r6, 0 mov r2, sp bl SetMonData adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x4 bls _08136E64 adds r0, r5, 0 movs r1, 0x30 bl GetMonData lsls r0, 24 lsrs r0, 24 mov r2, r8 ldrb r2, [r2, 0x6] adds r1, r0, r2 lsls r0, r1, 16 asrs r0, 16 cmp r0, 0xFF ble _08136ECE movs r1, 0xFF _08136ECE: mov r0, sp strb r1, [r0] adds r0, r5, 0 movs r1, 0x30 mov r2, sp bl SetMonData _08136EDC: add sp, 0x4 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _08136EE8: .4byte gUnknown_08406118 _08136EEC: .4byte gUnknown_02039304 thumb_func_end sub_8136E40 thumb_func_start sub_8136EF0 sub_8136EF0: @ 8136EF0 push {r4,r5,lr} ldr r5, _08136F60 @ =gPlayerParty ldr r0, _08136F64 @ =gUnknown_083DFEC4 ldr r1, [r0] ldr r2, _08136F68 @ =0x000087dc adds r0, r1, r2 movs r2, 0 ldrsh r0, [r0, r2] lsls r0, 2 adds r1, r0 ldr r0, _08136F6C @ =0x0000893e adds r1, r0 ldrb r0, [r1] lsls r0, 27 lsrs r0, 27 movs r1, 0x64 muls r0, r1 adds r5, r0, r5 ldr r4, _08136F70 @ =gUnknown_02039304 ldr r1, [r4] adds r1, 0x57 adds r0, r5, 0 bl sub_8136E10 ldr r0, [r4] ldr r0, [r0, 0x8] adds r1, r5, 0 bl sub_8136E40 ldr r1, [r4] adds r1, 0x5C adds r0, r5, 0 bl sub_8136E10 movs r3, 0 _08136F36: ldr r0, [r4] adds r2, r0, 0 adds r2, 0x61 adds r2, r3 adds r1, r0, 0 adds r1, 0x5C adds r1, r3 adds r0, 0x57 adds r0, r3 ldrb r1, [r1] ldrb r0, [r0] subs r1, r0 strb r1, [r2] adds r0, r3, 0x1 lsls r0, 16 lsrs r3, r0, 16 cmp r3, 0x4 bls _08136F36 pop {r4,r5} pop {r0} bx r0 .align 2, 0 _08136F60: .4byte gPlayerParty _08136F64: .4byte gUnknown_083DFEC4 _08136F68: .4byte 0x000087dc _08136F6C: .4byte 0x0000893e _08136F70: .4byte gUnknown_02039304 thumb_func_end sub_8136EF0 thumb_func_start sub_8136F74 sub_8136F74: @ 8136F74 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} mov r10, r1 ldr r1, _08136FBC @ =gUnknown_02039304 ldr r3, [r1] ldrb r1, [r0, 0x1] adds r2, r3, 0 adds r2, 0x66 strh r1, [r2] ldrb r2, [r0, 0x5] adds r1, r3, 0 adds r1, 0x68 strh r2, [r1] ldrb r1, [r0, 0x4] adds r2, r3, 0 adds r2, 0x6A strh r1, [r2] ldrb r2, [r0, 0x3] adds r1, r3, 0 adds r1, 0x6C strh r2, [r1] ldrb r1, [r0, 0x2] adds r0, r3, 0 adds r0, 0x6E strh r1, [r0] ldr r0, _08136FC0 @ =gUnknown_02039312 movs r1, 0 ldrsh r0, [r0, r1] cmp r0, 0 ble _08136FC4 movs r0, 0x1 b _08136FCA .align 2, 0 _08136FBC: .4byte gUnknown_02039304 _08136FC0: .4byte gUnknown_02039312 _08136FC4: cmp r0, 0 bge _08137040 movs r0, 0xFF _08136FCA: movs r2, 0 lsls r0, 24 mov r9, r0 ldr r0, _08137050 @ =gUnknown_02039304 mov r8, r0 _08136FD4: mov r0, r8 ldr r1, [r0] lsls r0, r2, 24 asrs r6, r0, 24 lsls r7, r6, 1 adds r1, 0x66 adds r1, r7 movs r2, 0 ldrsh r4, [r1, r2] adds r0, r4, 0 movs r1, 0xA bl __divsi3 lsls r0, 24 lsrs r5, r0, 24 adds r0, r4, 0 movs r1, 0xA bl __modsi3 lsls r0, 16 asrs r0, 16 cmp r0, 0x4 ble _0813700C lsls r0, r5, 24 movs r1, 0x80 lsls r1, 17 adds r0, r1 lsrs r5, r0, 24 _0813700C: ldr r0, _08137054 @ =gUnknown_0840612C adds r0, r6, r0 ldrb r1, [r0] mov r0, r10 bl sub_8040A54 lsls r0, 24 asrs r2, r0, 24 cmp r0, r9 bne _08137034 mov r1, r8 ldr r0, [r1] adds r0, 0x66 adds r0, r7 lsls r1, r5, 24 asrs r1, 24 muls r1, r2 ldrh r2, [r0] adds r1, r2 strh r1, [r0] _08137034: adds r0, r6, 0x1 lsls r0, 24 lsrs r2, r0, 24 asrs r0, 24 cmp r0, 0x4 ble _08136FD4 _08137040: pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _08137050: .4byte gUnknown_02039304 _08137054: .4byte gUnknown_0840612C thumb_func_end sub_8136F74 thumb_func_start sub_8137058 sub_8137058: @ 8137058 push {lr} ldr r0, _0813708C @ =gPlayerParty ldr r1, _08137090 @ =gUnknown_083DFEC4 ldr r2, [r1] ldr r3, _08137094 @ =0x000087dc adds r1, r2, r3 movs r3, 0 ldrsh r1, [r1, r3] lsls r1, 2 adds r2, r1 ldr r1, _08137098 @ =0x0000893e adds r2, r1 ldrb r1, [r2] lsls r1, 27 lsrs r1, 27 movs r2, 0x64 muls r1, r2 adds r0, r1, r0 movs r1, 0x30 bl GetMonData cmp r0, 0xFF beq _0813709C movs r0, 0 b _0813709E .align 2, 0 _0813708C: .4byte gPlayerParty _08137090: .4byte gUnknown_083DFEC4 _08137094: .4byte 0x000087dc _08137098: .4byte 0x0000893e _0813709C: movs r0, 0x1 _0813709E: pop {r1} bx r1 thumb_func_end sub_8137058 thumb_func_start sub_81370A4 sub_81370A4: @ 81370A4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 movs r4, 0 _081370AC: movs r0, 0x64 muls r0, r4 ldr r1, _081370C8 @ =gPlayerParty adds r0, r1 movs r1, 0x2D bl GetMonData cmp r0, 0 bne _081370D2 cmp r5, 0 bne _081370CC adds r0, r4, 0 b _081370DE .align 2, 0 _081370C8: .4byte gPlayerParty _081370CC: subs r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 _081370D2: adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x5 bls _081370AC movs r0, 0 _081370DE: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_81370A4 thumb_func_start sub_81370E4 sub_81370E4: @ 81370E4 push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 movs r4, 0 movs r6, 0 cmp r6, r5 bcs _08137114 _081370F2: movs r0, 0x64 muls r0, r4 ldr r1, _08137120 @ =gPlayerParty adds r0, r1 movs r1, 0x2D bl GetMonData cmp r0, 0 beq _0813710A adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 _0813710A: adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 cmp r4, r5 bcc _081370F2 _08137114: subs r0, r5, r6 lsls r0, 24 lsrs r0, 24 pop {r4-r6} pop {r1} bx r1 .align 2, 0 _08137120: .4byte gPlayerParty thumb_func_end sub_81370E4 thumb_func_start sub_8137124 sub_8137124: @ 8137124 push {lr} lsls r0, 24 lsrs r0, 24 bl sub_81370A4 lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 thumb_func_end sub_8137124 thumb_func_start sub_8137138 sub_8137138: @ 8137138 push {r4-r7,lr} mov r7, r8 push {r7} ldr r0, _081371C0 @ =gSpriteSheet_ConditionUpDown bl LoadSpriteSheet ldr r0, _081371C4 @ =gSpritePalette_ConditionUpDown bl LoadSpritePalette ldr r2, _081371C8 @ =gUnknown_02039304 ldr r0, [r2] adds r0, 0x54 movs r1, 0 strb r1, [r0] movs r4, 0 adds r5, r2, 0 ldr r6, _081371CC @ =gUnknown_08406158 adds r0, r6, 0x2 mov r8, r0 ldr r7, _081371D0 @ =gSprites + 0x1C _08137160: ldr r0, [r5] adds r0, 0x61 adds r0, r4 ldrb r0, [r0] cmp r0, 0 beq _081371AC lsls r2, r4, 2 adds r0, r2, r6 movs r3, 0 ldrsh r1, [r0, r3] add r2, r8 movs r0, 0 ldrsh r2, [r2, r0] ldr r0, _081371D4 @ =gSpriteTemplate_840618C movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0x40 beq _081371AC ldr r0, [r5] adds r0, 0x61 adds r0, r4 ldrb r0, [r0] cmp r0, 0 beq _081371A2 lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r7 ldr r1, _081371D8 @ =sub_81371DC str r1, [r0] _081371A2: ldr r1, [r5] adds r1, 0x54 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] _081371AC: adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x4 bls _08137160 pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .align 2, 0 _081371C0: .4byte gSpriteSheet_ConditionUpDown _081371C4: .4byte gSpritePalette_ConditionUpDown _081371C8: .4byte gUnknown_02039304 _081371CC: .4byte gUnknown_08406158 _081371D0: .4byte gSprites + 0x1C _081371D4: .4byte gSpriteTemplate_840618C _081371D8: .4byte sub_81371DC thumb_func_end sub_8137138 thumb_func_start sub_81371DC sub_81371DC: @ 81371DC push {lr} adds r1, r0, 0 movs r2, 0x2E ldrsh r0, [r1, r2] cmp r0, 0x5 bgt _081371EE ldrh r0, [r1, 0x26] subs r0, 0x2 b _081371F6 _081371EE: cmp r0, 0xB bgt _081371F8 ldrh r0, [r1, 0x26] adds r0, 0x2 _081371F6: strh r0, [r1, 0x26] _081371F8: ldrh r0, [r1, 0x2E] adds r0, 0x1 strh r0, [r1, 0x2E] lsls r0, 16 asrs r0, 16 cmp r0, 0x3C ble _08137218 adds r0, r1, 0 bl DestroySprite ldr r0, _0813721C @ =gUnknown_02039304 ldr r1, [r0] adds r1, 0x54 ldrb r0, [r1] subs r0, 0x1 strb r0, [r1] _08137218: pop {r0} bx r0 .align 2, 0 _0813721C: .4byte gUnknown_02039304 thumb_func_end sub_81371DC .align 2, 0 @ Don't pad with nop.