.include "asm/macros.inc" .include "constants/constants.inc" .syntax unified .text thumb_func_start GetMonNick GetMonNick: @ 806FA2C push {r4,lr} sub sp, 0x14 adds r4, r1, 0 movs r1, 0x2 mov r2, sp bl GetMonData adds r0, r4, 0 mov r1, sp bl StringCopy10 add sp, 0x14 pop {r4} pop {r1} bx r1 thumb_func_end GetMonNick thumb_func_start GetBoxMonNick GetBoxMonNick: @ 806FA4C push {r4,lr} sub sp, 0x14 adds r4, r1, 0 movs r1, 0x2 mov r2, sp bl GetBoxMonData adds r0, r4, 0 mov r1, sp bl StringCopy10 add sp, 0x14 pop {r4} pop {r1} bx r1 thumb_func_end GetBoxMonNick thumb_func_start daycare_count_pokemon daycare_count_pokemon: @ 806FA6C push {r4-r6,lr} adds r6, r0, 0 movs r5, 0 movs r4, 0 _0806FA74: movs r0, 0x8C muls r0, r4 adds r0, r6, r0 movs r1, 0xB bl GetBoxMonData cmp r0, 0 beq _0806FA8A adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 _0806FA8A: adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x1 bls _0806FA74 adds r0, r5, 0 pop {r4-r6} pop {r1} bx r1 thumb_func_end daycare_count_pokemon thumb_func_start sub_806FA9C sub_806FA9C: @ 806FA9C push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} mov r9, r0 mov r10, r1 movs r7, 0 movs r5, 0 mov r6, r10 adds r6, 0x74 movs r0, 0x1 mov r8, r0 _0806FAB6: movs r0, 0x8C muls r0, r5 mov r1, r9 adds r4, r1, r0 adds r0, r4, 0 movs r1, 0xB bl GetBoxMonData cmp r0, 0 beq _0806FAE4 adds r0, r7, 0x1 lsls r0, 24 lsrs r7, r0, 24 adds r0, r4, 0 movs r1, 0xC bl GetBoxMonData adds r1, r0, 0 cmp r1, 0 bne _0806FAE4 lsls r0, r5, 1 adds r0, r6, r0 b _0806FAEA _0806FAE4: lsls r0, r5, 1 adds r0, r6, r0 mov r1, r8 _0806FAEA: strh r1, [r0] adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0x1 bls _0806FAB6 mov r0, r10 str r7, [r0, 0x70] pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_806FA9C thumb_func_start daycare_empty_slot @ u8 daycare_empty_slot(struct daycare_mon *dayCareMons) daycare_empty_slot: @ 806FB08 push {r4,r5,lr} adds r5, r0, 0 movs r4, 0 _0806FB0E: movs r0, 0x8C muls r0, r4 adds r0, r5, r0 movs r1, 0xB bl GetBoxMonData cmp r0, 0 bne _0806FB24 lsls r0, r4, 24 asrs r0, 24 b _0806FB32 _0806FB24: adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x1 bls _0806FB0E movs r0, 0x1 negs r0, r0 _0806FB32: pop {r4,r5} pop {r1} bx r1 thumb_func_end daycare_empty_slot thumb_func_start sub_806FB38 @ void sub_806FB38(struct pokemon *mon, struct daycare_mon *dayCareMon) sub_806FB38: @ 806FB38 push {r4-r6,lr} adds r6, r0, 0 adds r5, r1, 0 bl sub_80D43F0 lsls r0, 24 cmp r0, 0 beq _0806FBBC adds r0, r5, 0 adds r0, 0x74 ldr r1, =gSaveBlock2Ptr ldr r1, [r1] bl StringCopy adds r4, r5, 0 adds r4, 0x7C adds r0, r6, 0 adds r1, r4, 0 bl GetMonNick adds r0, r4, 0 bl StripExtCtrlCodes adds r4, 0xB ldrb r1, [r4] movs r0, 0x10 negs r0, r0 ands r0, r1 movs r1, 0x2 orrs r0, r1 strb r0, [r4] adds r0, r6, 0 movs r1, 0x3 bl GetMonData lsls r0, 4 ldrb r2, [r4] movs r1, 0xF ands r1, r2 orrs r1, r0 strb r1, [r4] adds r0, r6, 0 movs r1, 0x40 bl GetMonData lsls r0, 24 lsrs r0, 24 ldr r1, =gSaveBlock1Ptr ldr r1, [r1] lsls r2, r0, 3 adds r2, r0 lsls r2, 2 adds r1, r2 adds r0, r5, 0 adds r0, 0x50 ldr r2, =0x00002be0 adds r1, r2 ldm r1!, {r2-r4} stm r0!, {r2-r4} ldm r1!, {r2-r4} stm r0!, {r2-r4} ldm r1!, {r2-r4} stm r0!, {r2-r4} adds r0, r6, 0 bl sub_80D4680 _0806FBBC: adds r0, r5, 0 adds r1, r6, 0 movs r2, 0x50 bl memcpy adds r0, r5, 0 bl BoxMonRestorePP adds r1, r5, 0 adds r1, 0x88 movs r0, 0 str r0, [r1] adds r0, r6, 0 bl ZeroMonData bl party_compaction bl CalculatePlayerPartyCount pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_806FB38 thumb_func_start daycare_send @ void daycare_send(struct pokemon *mon, struct daycare_mon *dayCareMons) daycare_send: @ 806FBF4 push {r4,r5,lr} adds r5, r0, 0 adds r4, r1, 0 adds r0, r4, 0 bl daycare_empty_slot lsls r0, 24 asrs r0, 24 movs r1, 0x8C muls r0, r1 adds r4, r0 adds r0, r5, 0 adds r1, r4, 0 bl sub_806FB38 pop {r4,r5} pop {r0} bx r0 thumb_func_end daycare_send thumb_func_start daycare_send_selected_pokemon daycare_send_selected_pokemon: @ 806FC18 push {lr} bl brm_get_pokemon_selection lsls r0, 24 lsrs r0, 24 movs r1, 0x64 muls r0, r1 ldr r1, =gPlayerParty adds r0, r1 ldr r1, =gSaveBlock1Ptr ldr r1, [r1] ldr r2, =0x00003030 adds r1, r2 bl daycare_send pop {r0} bx r0 .pool thumb_func_end daycare_send_selected_pokemon thumb_func_start sub_806FC48 sub_806FC48: @ 806FC48 push {r4-r6,lr} adds r5, r0, 0 adds r4, r5, 0 adds r4, 0x8C adds r0, r4, 0 movs r1, 0xB bl GetBoxMonData cmp r0, 0 beq _0806FC9E adds r0, r5, 0 movs r1, 0xB bl GetBoxMonData adds r6, r0, 0 cmp r6, 0 bne _0806FC9E adds r0, r5, 0 adds r1, r4, 0 movs r2, 0x50 bl memcpy adds r0, r4, 0 bl ZeroBoxMonData adds r4, 0x50 adds r0, r5, 0 adds r0, 0x50 adds r1, r4, 0 movs r2, 0x38 bl memcpy adds r2, r5, 0 adds r2, 0x88 movs r0, 0x8A lsls r0, 1 adds r1, r5, r0 ldr r0, [r1] str r0, [r2] str r6, [r1] adds r0, r4, 0 bl sub_806FF80 _0806FC9E: pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_806FC48 thumb_func_start sub_806FCA4 sub_806FCA4: @ 806FCA4 push {r4-r7,lr} adds r4, r0, 0 movs r5, 0 ldr r7, =0x0000ffff _0806FCAC: adds r0, r4, 0 bl TryIncrementMonLevel lsls r0, 24 cmp r0, 0 beq _0806FCE8 movs r6, 0x1 adds r5, 0x1 b _0806FCD4 .pool _0806FCC4: movs r6, 0 cmp r0, r7 bne _0806FCD4 ldr r0, =gMoveToLearn ldrh r1, [r0] adds r0, r4, 0 bl DeleteFirstMoveAndGiveMoveToMon _0806FCD4: adds r0, r4, 0 adds r1, r6, 0 bl MonTryLearningNewMove lsls r0, 16 lsrs r0, 16 cmp r0, 0 bne _0806FCC4 cmp r5, 0x63 ble _0806FCAC _0806FCE8: adds r0, r4, 0 bl CalculateMonStats pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_806FCA4 thumb_func_start sub_806FCF8 sub_806FCF8: @ 806FCF8 push {r4-r7,lr} sub sp, 0x68 adds r5, r0, 0 ldr r1, =gStringVar1 bl GetBoxMonNick adds r0, r5, 0 movs r1, 0xB bl GetBoxMonData lsls r0, 16 lsrs r7, r0, 16 adds r0, r5, 0 mov r1, sp bl sub_8069004 mov r0, sp movs r1, 0x38 bl GetMonData cmp r0, 0x64 beq _0806FD46 mov r0, sp movs r1, 0x19 bl GetMonData adds r1, r5, 0 adds r1, 0x88 ldr r1, [r1] adds r0, r1 str r0, [sp, 0x64] add r2, sp, 0x64 mov r0, sp movs r1, 0x19 bl SetMonData mov r0, sp bl sub_806FCA4 _0806FD46: ldr r0, =gPlayerParty movs r1, 0xFA lsls r1, 1 adds r6, r0, r1 adds r0, r6, 0 mov r1, sp movs r2, 0x64 bl memcpy adds r0, r5, 0 adds r0, 0x70 ldrh r0, [r0] cmp r0, 0 beq _0806FD74 adds r4, r5, 0 adds r4, 0x50 adds r0, r6, 0 adds r1, r4, 0 bl sub_80D460C adds r0, r4, 0 bl sub_806FF80 _0806FD74: adds r0, r5, 0 bl ZeroBoxMonData adds r1, r5, 0 adds r1, 0x88 movs r0, 0 str r0, [r1] bl party_compaction bl CalculatePlayerPartyCount adds r0, r7, 0 add sp, 0x68 pop {r4-r7} pop {r1} bx r1 .pool thumb_func_end sub_806FCF8 thumb_func_start sub_806FD9C sub_806FD9C: @ 806FD9C push {r4,r5,lr} adds r5, r0, 0 lsls r1, 24 lsrs r1, 24 movs r0, 0x8C muls r0, r1 adds r0, r5, r0 bl sub_806FCF8 adds r4, r0, 0 lsls r4, 16 lsrs r4, 16 adds r0, r5, 0 bl sub_806FC48 adds r0, r4, 0 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806FD9C thumb_func_start sub_806FDC4 sub_806FDC4: @ 806FDC4 push {lr} ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r1, =0x00003030 adds r0, r1 ldr r1, =gSpecialVar_0x8004 ldrb r1, [r1] bl sub_806FD9C lsls r0, 16 lsrs r0, 16 pop {r1} bx r1 .pool thumb_func_end sub_806FDC4 thumb_func_start sub_806FDEC sub_806FDEC: @ 806FDEC push {r4,r5,lr} sub sp, 0x54 adds r4, r0, 0 adds r5, r1, 0 mov r0, sp adds r1, r4, 0 movs r2, 0x50 bl memcpy adds r0, r4, 0 movs r1, 0x19 bl GetBoxMonData adds r0, r5 str r0, [sp, 0x50] add r2, sp, 0x50 mov r0, sp movs r1, 0x19 bl SetBoxMonData mov r0, sp bl GetLevelFromBoxMonExp lsls r0, 24 lsrs r0, 24 add sp, 0x54 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806FDEC thumb_func_start sub_806FE28 sub_806FE28: @ 806FE28 push {r4,r5,lr} adds r5, r0, 0 bl GetLevelFromBoxMonExp adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 adds r0, 0x88 ldr r1, [r0] adds r0, r5, 0 bl sub_806FDEC lsls r0, 24 lsrs r0, 24 subs r0, r4 lsls r0, 24 lsrs r0, 24 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_806FE28 thumb_func_start sub_806FE54 sub_806FE54: @ 806FE54 push {r4,r5,lr} adds r5, r0, 0 bl sub_806FE28 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r0, =gStringVar2 adds r1, r4, 0 movs r2, 0 movs r3, 0x2 bl ConvertIntToDecimalStringN ldr r1, =gStringVar1 adds r0, r5, 0 bl GetBoxMonNick adds r0, r4, 0 pop {r4,r5} pop {r1} bx r1 .pool thumb_func_end sub_806FE54 thumb_func_start sub_806FE88 sub_806FE88: @ 806FE88 push {r4,r5,lr} adds r5, r0, 0 bl sub_806FE28 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r1, =gStringVar1 adds r0, r5, 0 bl GetBoxMonNick movs r0, 0x64 muls r4, r0 adds r4, 0x64 ldr r0, =gStringVar2 adds r1, r4, 0 movs r2, 0 movs r3, 0x5 bl ConvertIntToDecimalStringN adds r0, r4, 0 pop {r4,r5} pop {r1} bx r1 .pool thumb_func_end sub_806FE88 thumb_func_start sub_806FEC0 sub_806FEC0: @ 806FEC0 push {lr} lsls r1, 24 lsrs r1, 24 movs r2, 0x8C muls r1, r2 adds r0, r1 bl sub_806FE88 lsls r0, 16 lsrs r0, 16 pop {r1} bx r1 thumb_func_end sub_806FEC0 thumb_func_start sub_806FED8 sub_806FED8: @ 806FED8 push {lr} ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r1, =0x00003030 adds r0, r1 ldr r1, =gSpecialVar_0x8004 ldrb r1, [r1] bl sub_806FEC0 ldr r1, =gSpecialVar_0x8005 strh r0, [r1] pop {r0} bx r0 .pool thumb_func_end sub_806FED8 thumb_func_start sub_806FF04 sub_806FF04: @ 806FF04 lsls r0, 16 lsrs r0, 16 ldr r1, =gSaveBlock1Ptr ldr r2, [r1] ldr r1, =0x000030b8 adds r3, r2, r1 ldr r1, [r3] adds r1, r0 str r1, [r3] ldr r1, =0x00003144 adds r2, r1 ldr r1, [r2] adds r1, r0 str r1, [r2] bx lr .pool thumb_func_end sub_806FF04 thumb_func_start sub_806FF30 sub_806FF30: @ 806FF30 push {r4-r6,lr} ldr r6, =gSaveBlock1Ptr ldr r5, =gSpecialVar_0x8004 ldrh r0, [r5] movs r4, 0x8C adds r1, r0, 0 muls r1, r4 ldr r0, =0x00003030 adds r1, r0 ldr r0, [r6] adds r0, r1 movs r1, 0xB bl GetBoxMonData cmp r0, 0 bne _0806FF60 movs r0, 0 b _0806FF76 .pool _0806FF60: ldrh r0, [r5] adds r1, r0, 0 muls r1, r4 ldr r0, =0x00003030 adds r1, r0 ldr r0, [r6] adds r0, r1 bl sub_806FE54 lsls r0, 24 lsrs r0, 24 _0806FF76: pop {r4-r6} pop {r1} bx r1 .pool thumb_func_end sub_806FF30 thumb_func_start sub_806FF80 sub_806FF80: @ 806FF80 push {lr} movs r3, 0 movs r2, 0x7 adds r1, r0, 0 adds r1, 0x2B _0806FF8A: strb r3, [r1] subs r1, 0x1 subs r2, 0x1 cmp r2, 0 bge _0806FF8A adds r2, r0, 0 adds r2, 0x2C movs r3, 0 adds r1, r0, 0 adds r1, 0x36 _0806FF9E: strb r3, [r1] subs r1, 0x1 cmp r1, r2 bge _0806FF9E bl sub_80D439C pop {r0} bx r0 thumb_func_end sub_806FF80 thumb_func_start sub_806FFB0 sub_806FFB0: @ 806FFB0 push {r4,lr} adds r4, r0, 0 bl ZeroBoxMonData adds r1, r4, 0 adds r1, 0x88 movs r0, 0 str r0, [r1] adds r4, 0x50 adds r0, r4, 0 bl sub_806FF80 pop {r4} pop {r0} bx r0 thumb_func_end sub_806FFB0 thumb_func_start sub_806FFD0 sub_806FFD0: @ 806FFD0 push {r4-r6,lr} adds r5, r0, 0 movs r4, 0 movs r6, 0x8C _0806FFD8: adds r0, r4, 0 muls r0, r6 adds r0, r5, r0 bl sub_806FFB0 adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x1 bls _0806FFD8 movs r1, 0x8C lsls r1, 1 adds r0, r5, r1 movs r1, 0 str r1, [r0] movs r2, 0x8E lsls r2, 1 adds r0, r5, r2 strb r1, [r0] pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_806FFD0 thumb_func_start sub_8070004 sub_8070004: @ 8070004 push {r4-r7,lr} mov r7, r8 push {r7} lsls r0, 16 lsrs r2, r0, 16 movs r0, 0 mov r8, r0 ldr r0, =gEvolutionTable mov r12, r0 _08070016: movs r7, 0 movs r6, 0x1 movs r4, 0x80 lsls r4, 9 movs r5, 0x28 mov r3, r12 adds r3, 0x28 _08070024: movs r1, 0 ldrh r0, [r3, 0x4] cmp r0, r2 bne _08070034 lsrs r2, r4, 16 b _08070060 .pool _08070034: adds r1, 0x1 cmp r1, 0x4 bgt _0807004A lsls r0, r1, 3 adds r0, r5 add r0, r12 ldrh r0, [r0, 0x4] cmp r0, r2 bne _08070034 lsrs r2, r4, 16 movs r7, 0x1 _0807004A: cmp r7, 0 bne _08070060 movs r0, 0x80 lsls r0, 9 adds r4, r0 adds r5, 0x28 adds r3, 0x28 adds r6, 0x1 ldr r0, =0x0000019b cmp r6, r0 ble _08070024 _08070060: movs r0, 0xCE lsls r0, 1 cmp r6, r0 beq _08070072 movs r0, 0x1 add r8, r0 mov r0, r8 cmp r0, 0x4 ble _08070016 _08070072: adds r0, r2, 0 pop {r3} mov r8, r3 pop {r4-r7} pop {r1} bx r1 .pool thumb_func_end sub_8070004 thumb_func_start sub_8070084 sub_8070084: @ 8070084 push {r4-r7,lr} sub sp, 0x8 adds r6, r0, 0 movs r7, 0x1 negs r7, r7 movs r4, 0 _08070090: movs r0, 0x8C muls r0, r4 adds r0, r6, r0 bl GetBoxMonGender lsls r0, 24 lsrs r0, 24 cmp r0, 0xFE bne _080700A4 adds r7, r4, 0 _080700A4: adds r4, 0x1 cmp r4, 0x1 ble _08070090 movs r5, 0 movs r4, 0 _080700AE: movs r0, 0x8C muls r0, r4 adds r0, r6, r0 movs r1, 0xB bl GetBoxMonData lsls r1, r4, 2 add r1, sp str r0, [r1] cmp r0, 0x84 bne _080700C8 adds r5, 0x1 adds r7, r4, 0 _080700C8: adds r4, 0x1 cmp r4, 0x1 ble _080700AE cmp r5, 0x2 bne _080700E2 bl Random lsls r0, 16 ldr r1, =0x7ffe0000 movs r7, 0x1 cmp r0, r1 bls _080700E2 movs r7, 0 _080700E2: movs r0, 0x8C muls r0, r7 adds r0, r6, r0 movs r1, 0xC bl GetBoxMonData cmp r0, 0xC3 bne _080700FE bl Random lsls r0, 16 ldr r1, =0x7ffe0000 cmp r0, r1 bls _08070108 _080700FE: movs r0, 0x1 negs r0, r0 b _0807010A .pool _08070108: adds r0, r7, 0 _0807010A: add sp, 0x8 pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_8070084 thumb_func_start sub_8070114 sub_8070114: @ 8070114 push {r4-r7,lr} adds r5, r0, 0 movs r6, 0 ldr r0, =gMain ldrh r0, [r0, 0x24] bl SeedRng2 adds r0, r5, 0 bl sub_8070084 adds r1, r0, 0 cmp r1, 0 bge _08070160 bl Random2 adds r4, r0, 0 bl Random movs r1, 0x8C lsls r1, 1 adds r5, r1 lsls r4, 16 lsls r0, 16 lsrs r0, 16 ldr r1, =0x0000fffe bl __umodsi3 lsls r0, 16 lsrs r0, 16 adds r0, 0x1 orrs r4, r0 str r4, [r5] b _080701AC .pool _08070160: movs r0, 0x8C muls r0, r1 adds r0, r5, r0 movs r1, 0 movs r2, 0 bl GetBoxMonData bl GetNatureFromPersonality lsls r0, 24 lsrs r7, r0, 24 _08070176: bl Random2 adds r4, r0, 0 bl Random lsls r4, 16 lsls r0, 16 lsrs r0, 16 orrs r4, r0 adds r0, r4, 0 bl GetNatureFromPersonality lsls r0, 24 lsrs r0, 24 cmp r7, r0 bne _0807019A cmp r4, 0 bne _080701A4 _0807019A: adds r6, 0x1 movs r0, 0x96 lsls r0, 4 cmp r6, r0 ble _08070176 _080701A4: movs r1, 0x8C lsls r1, 1 adds r0, r5, r1 str r4, [r0] _080701AC: movs r0, 0x86 bl FlagSet pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8070114 thumb_func_start sub_80701B8 sub_80701B8: @ 80701B8 push {r4,lr} adds r4, r0, 0 bl Random movs r1, 0x8C lsls r1, 1 adds r4, r1 movs r2, 0x80 lsls r2, 8 adds r1, r2, 0 orrs r0, r1 lsls r0, 16 lsrs r0, 16 str r0, [r4] movs r0, 0x86 bl FlagSet pop {r4} pop {r0} bx r0 thumb_func_end sub_80701B8 thumb_func_start sub_80701E0 sub_80701E0: @ 80701E0 push {lr} ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r1, =0x00003030 adds r0, r1 bl sub_8070114 pop {r0} bx r0 .pool thumb_func_end sub_80701E0 thumb_func_start sub_80701FC sub_80701FC: @ 80701FC push {lr} ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r1, =0x00003030 adds r0, r1 bl sub_80701B8 pop {r0} bx r0 .pool thumb_func_end sub_80701FC thumb_func_start sub_8070218 sub_8070218: @ 8070218 push {r4,lr} sub sp, 0x8 adds r4, r0, 0 lsls r1, 24 lsrs r1, 24 adds r1, r4, r1 movs r0, 0xFF strb r0, [r1] movs r2, 0 _0807022A: mov r1, sp adds r0, r1, r2 adds r1, r4, r2 ldrb r1, [r1] strb r1, [r0] adds r2, 0x1 cmp r2, 0x5 ble _0807022A movs r3, 0 movs r2, 0 _0807023E: mov r1, sp adds r0, r1, r2 ldrb r1, [r0] adds r0, r1, 0 cmp r0, 0xFF beq _08070250 adds r0, r4, r3 strb r1, [r0] adds r3, 0x1 _08070250: adds r2, 0x1 cmp r2, 0x5 ble _0807023E add sp, 0x8 pop {r4} pop {r0} bx r0 thumb_func_end sub_8070218 thumb_func_start sub_8070260 sub_8070260: @ 8070260 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} sub sp, 0x14 mov r9, r0 mov r8, r1 movs r5, 0 add r1, sp, 0x4 add r7, sp, 0xC adds r2, r1, 0 _08070276: adds r0, r2, r5 strb r5, [r0] adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0x5 bls _08070276 movs r5, 0 adds r6, r1, 0 _08070288: bl Random mov r1, sp adds r4, r1, r5 lsls r0, 16 lsrs r0, 16 movs r1, 0x6 subs r1, r5 bl __modsi3 adds r0, r6, r0 ldrb r0, [r0] strb r0, [r4] adds r0, r6, 0 adds r1, r5, 0 bl sub_8070218 adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0x2 bls _08070288 movs r5, 0 movs r4, 0x1 _080702B8: bl Random adds r1, r7, r5 lsls r0, 16 lsrs r0, 16 ands r0, r4 strb r0, [r1] adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0x2 bls _080702B8 movs r5, 0 _080702D2: mov r1, sp adds r0, r1, r5 ldrb r0, [r0] cmp r0, 0x5 bhi _080703AE lsls r0, 2 ldr r1, =_080702EC adds r0, r1 ldr r0, [r0] mov pc, r0 .pool .align 2, 0 _080702EC: .4byte _08070304 .4byte _08070322 .4byte _0807033C .4byte _08070356 .4byte _08070370 .4byte _08070390 _08070304: adds r0, r7, r5 ldrb r1, [r0] movs r0, 0x8C muls r0, r1 add r0, r8 movs r1, 0x27 bl GetBoxMonData add r2, sp, 0x10 strb r0, [r2] mov r0, r9 movs r1, 0x27 bl SetMonData b _080703AE _08070322: add r4, sp, 0x10 adds r0, r7, r5 ldrb r1, [r0] movs r0, 0x8C muls r0, r1 add r0, r8 movs r1, 0x28 bl GetBoxMonData strb r0, [r4] mov r0, r9 movs r1, 0x28 b _08070388 _0807033C: add r4, sp, 0x10 adds r0, r7, r5 ldrb r1, [r0] movs r0, 0x8C muls r0, r1 add r0, r8 movs r1, 0x29 bl GetBoxMonData strb r0, [r4] mov r0, r9 movs r1, 0x29 b _08070388 _08070356: add r4, sp, 0x10 adds r0, r7, r5 ldrb r1, [r0] movs r0, 0x8C muls r0, r1 add r0, r8 movs r1, 0x2A bl GetBoxMonData strb r0, [r4] mov r0, r9 movs r1, 0x2A b _08070388 _08070370: add r4, sp, 0x10 adds r0, r7, r5 ldrb r1, [r0] movs r0, 0x8C muls r0, r1 add r0, r8 movs r1, 0x2B bl GetBoxMonData strb r0, [r4] mov r0, r9 movs r1, 0x2B _08070388: adds r2, r4, 0 bl SetMonData b _080703AE _08070390: add r4, sp, 0x10 adds r0, r7, r5 ldrb r1, [r0] movs r0, 0x8C muls r0, r1 add r0, r8 movs r1, 0x2C bl GetBoxMonData strb r0, [r4] mov r0, r9 movs r1, 0x2C adds r2, r4, 0 bl SetMonData _080703AE: adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0x2 bls _080702D2 add sp, 0x14 pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8070260 thumb_func_start pokemon_get_eggmoves pokemon_get_eggmoves: @ 80703C8 push {r4-r7,lr} mov r7, r8 push {r7} mov r8, r1 movs r6, 0 movs r4, 0 movs r1, 0xB bl GetMonData lsls r0, 16 lsrs r3, r0, 16 movs r2, 0 ldr r5, =gEggMoves ldrh r1, [r5] ldr r7, =0x00004e20 adds r0, r3, r7 cmp r1, r0 bne _080703F8 movs r4, 0x1 b _0807041A .pool _080703F8: adds r0, r2, 0x1 lsls r0, 16 lsrs r2, r0, 16 ldr r0, =0x00000471 ldr r5, =gEggMoves cmp r2, r0 bhi _0807041A lsls r0, r2, 1 adds r0, r5 ldrh r1, [r0] ldr r7, =0x00004e20 adds r0, r3, r7 cmp r1, r0 bne _080703F8 adds r0, r2, 0x1 lsls r0, 16 lsrs r4, r0, 16 _0807041A: movs r2, 0 lsls r0, r4, 1 adds r0, r5 ldrh r0, [r0] ldr r1, =0x00004e20 cmp r0, r1 bhi _08070456 adds r7, r5, 0 adds r3, r1, 0 _0807042C: lsls r1, r2, 1 add r1, r8 adds r0, r4, r2 lsls r0, 1 adds r0, r7 ldrh r0, [r0] strh r0, [r1] adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 adds r0, r2, 0x1 lsls r0, 16 lsrs r2, r0, 16 cmp r2, 0x9 bhi _08070456 adds r0, r4, r2 lsls r0, 1 adds r0, r5 ldrh r0, [r0] cmp r0, r3 bls _0807042C _08070456: lsls r0, r6, 24 lsrs r0, 24 pop {r3} mov r8, r3 pop {r4-r7} pop {r1} bx r1 .pool thumb_func_end pokemon_get_eggmoves thumb_func_start daycare_build_child_moveset daycare_build_child_moveset: @ 8070470 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0xC adds r7, r0, 0 mov r10, r1 mov r9, r2 movs r0, 0 str r0, [sp] movs r6, 0 ldr r5, =gUnknown_02024A4C movs r2, 0 ldr r4, =gUnknown_02024A28 ldr r3, =gUnknown_02024A30 _08070490: lsls r1, r6, 1 adds r0, r1, r5 strh r2, [r0] adds r0, r1, r4 strh r2, [r0] adds r1, r3 strh r2, [r1] adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 cmp r6, 0x3 bls _08070490 movs r6, 0 ldr r2, =gUnknown_02024A38 movs r1, 0 _080704AE: lsls r0, r6, 1 adds r0, r2 strh r1, [r0] adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 cmp r6, 0x9 bls _080704AE movs r6, 0 ldr r2, =gUnknown_020249C4 movs r1, 0 _080704C4: lsls r0, r6, 1 adds r0, r2 strh r1, [r0] adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 cmp r6, 0x31 bls _080704C4 adds r0, r7, 0 movs r1, 0xB bl GetMonData lsls r0, 16 lsrs r0, 16 ldr r1, =gUnknown_020249C4 bl GetLevelUpMovesBySpecies lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x4] movs r6, 0 ldr r1, =gUnknown_02024A28 mov r8, r1 _080704F2: adds r5, r6, 0 adds r5, 0xD mov r0, r10 adds r1, r5, 0 bl GetBoxMonData lsls r4, r6, 1 mov r2, r8 adds r1, r4, r2 strh r0, [r1] mov r0, r9 adds r1, r5, 0 bl GetBoxMonData ldr r1, =gUnknown_02024A4C adds r4, r1 strh r0, [r4] adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 cmp r6, 0x3 bls _080704F2 ldr r1, =gUnknown_02024A38 adds r0, r7, 0 bl pokemon_get_eggmoves lsls r0, 24 lsrs r0, 24 mov r8, r0 movs r6, 0 _0807052E: ldr r0, =gUnknown_02024A28 lsls r1, r6, 1 adds r2, r1, r0 ldrh r1, [r2] mov r9, r0 cmp r1, 0 beq _080705A4 movs r5, 0 cmp r5, r8 bcs _08070596 adds r4, r2, 0 ldr r2, =0x0000ffff _08070546: ldr r0, =gUnknown_02024A38 lsls r1, r5, 1 adds r1, r0 ldrh r0, [r4] ldrh r1, [r1] cmp r0, r1 bne _0807058C adds r1, r0, 0 adds r0, r7, 0 str r2, [sp, 0x8] bl GiveMoveToMon lsls r0, 16 lsrs r0, 16 ldr r2, [sp, 0x8] cmp r0, r2 bne _08070596 ldrh r1, [r4] adds r0, r7, 0 bl DeleteFirstMoveAndGiveMoveToMon b _08070596 .pool _0807058C: adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, r8 bcc _08070546 _08070596: adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 ldr r3, =gUnknown_02024A28 mov r9, r3 cmp r6, 0x3 bls _0807052E _080705A4: movs r6, 0 _080705A6: lsls r0, r6, 1 mov r2, r9 adds r1, r0, r2 ldrh r1, [r1] adds r2, r0, 0 adds r6, 0x1 mov r8, r6 cmp r1, 0 beq _08070608 movs r5, 0 ldr r0, =gUnknown_02024A28 adds r4, r2, r0 ldr r6, =0x0000ffff mov r9, r0 _080705C2: ldr r3, =0x00000121 adds r0, r5, r3 lsls r0, 16 lsrs r0, 16 bl ItemIdToBattleMoveId ldrh r1, [r4] lsls r0, 16 lsrs r0, 16 cmp r1, r0 bne _080705FE lsls r1, r5, 24 lsrs r1, 24 adds r0, r7, 0 bl CanMonLearnTMHM cmp r0, 0 beq _080705FE ldrh r1, [r4] adds r0, r7, 0 bl GiveMoveToMon lsls r0, 16 lsrs r0, 16 cmp r0, r6 bne _080705FE ldrh r1, [r4] adds r0, r7, 0 bl DeleteFirstMoveAndGiveMoveToMon _080705FE: adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, 0x39 bls _080705C2 _08070608: mov r1, r8 lsls r0, r1, 16 lsrs r6, r0, 16 cmp r6, 0x3 bls _080705A6 movs r6, 0 mov r2, r9 ldrh r0, [r2] ldr r3, =gUnknown_02024A30 mov r10, r3 cmp r0, 0 beq _08070672 mov r4, r9 ldr r0, =gUnknown_02024A4C mov r9, r0 mov r12, r10 _08070628: movs r5, 0 lsls r2, r6, 1 adds r6, 0x1 mov r8, r6 adds r3, r2, r4 _08070632: lsls r0, r5, 1 add r0, r9 ldrh r2, [r3] adds r1, r2, 0 ldrh r0, [r0] cmp r1, r0 bne _08070654 cmp r1, 0 beq _08070654 ldr r1, [sp] adds r0, r1, 0x1 lsls r0, 16 lsrs r0, 16 str r0, [sp] lsls r1, 1 add r1, r12 strh r2, [r1] _08070654: adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, 0x3 bls _08070632 mov r1, r8 lsls r0, r1, 16 lsrs r6, r0, 16 cmp r6, 0x3 bhi _08070672 lsls r0, r6, 1 adds r0, r4 ldrh r0, [r0] cmp r0, 0 bne _08070628 _08070672: movs r6, 0 mov r2, r10 ldrh r0, [r2] cmp r0, 0 beq _080706FC _0807067C: movs r5, 0 adds r3, r6, 0x1 mov r8, r3 ldr r0, [sp, 0x4] cmp r5, r0 bcs _080706E4 ldr r2, =0x0000ffff _0807068A: ldr r1, =gUnknown_020249C4 lsls r0, r5, 1 adds r0, r1 ldrh r1, [r0] cmp r1, 0 beq _080706D8 lsls r0, r6, 1 mov r3, r10 adds r4, r0, r3 ldrh r0, [r4] cmp r0, r1 bne _080706D8 adds r1, r0, 0 adds r0, r7, 0 str r2, [sp, 0x8] bl GiveMoveToMon lsls r0, 16 lsrs r0, 16 ldr r2, [sp, 0x8] cmp r0, r2 bne _080706E4 ldrh r1, [r4] adds r0, r7, 0 bl DeleteFirstMoveAndGiveMoveToMon b _080706E4 .pool _080706D8: adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 ldr r0, [sp, 0x4] cmp r5, r0 bcc _0807068A _080706E4: mov r1, r8 lsls r0, r1, 16 lsrs r6, r0, 16 cmp r6, 0x3 bhi _080706FC ldr r0, =gUnknown_02024A30 lsls r1, r6, 1 adds r1, r0 ldrh r1, [r1] mov r10, r0 cmp r1, 0 bne _0807067C _080706FC: add sp, 0xC pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end daycare_build_child_moveset thumb_func_start sub_8070710 sub_8070710: @ 8070710 adds r2, r0, 0 movs r1, 0x8C lsls r1, 1 adds r0, r2, r1 movs r1, 0 str r1, [r0] movs r3, 0x8E lsls r3, 1 adds r0, r2, r3 strb r1, [r0] bx lr thumb_func_end sub_8070710 thumb_func_start sub_8070728 sub_8070728: @ 8070728 push {lr} ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r1, =0x00003030 adds r0, r1 bl sub_8070710 pop {r0} bx r0 .pool thumb_func_end sub_8070728 thumb_func_start incense_effects incense_effects: @ 8070744 push {r4-r7,lr} adds r4, r0, 0 adds r5, r1, 0 ldrh r1, [r4] movs r7, 0xB4 lsls r7, 1 cmp r1, r7 beq _0807075C movs r0, 0xAF lsls r0, 1 cmp r1, r0 bne _0807079E _0807075C: adds r0, r5, 0 movs r1, 0xC bl GetBoxMonData lsls r0, 16 lsrs r6, r0, 16 adds r0, r5, 0 adds r0, 0x8C movs r1, 0xC bl GetBoxMonData lsls r0, 16 lsrs r2, r0, 16 ldrh r0, [r4] cmp r0, r7 bne _08070788 cmp r6, 0xDD beq _08070788 cmp r2, 0xDD beq _08070788 movs r0, 0xCA strh r0, [r4] _08070788: ldrh r1, [r4] movs r0, 0xAF lsls r0, 1 cmp r1, r0 bne _0807079E cmp r6, 0xDC beq _0807079E cmp r2, 0xDC beq _0807079E movs r0, 0xB7 strh r0, [r4] _0807079E: pop {r4-r7} pop {r0} bx r0 thumb_func_end incense_effects thumb_func_start sub_80707A4 sub_80707A4: @ 80707A4 push {r4-r6,lr} adds r6, r0, 0 adds r4, r1, 0 adds r0, r4, 0 movs r1, 0xC bl GetBoxMonData adds r5, r0, 0 adds r4, 0x8C adds r0, r4, 0 movs r1, 0xC bl GetBoxMonData cmp r5, 0xCA beq _080707C6 cmp r0, 0xCA bne _080707E2 _080707C6: movs r4, 0xAC lsls r4, 1 adds r0, r6, 0 adds r1, r4, 0 bl GiveMoveToMon lsls r0, 16 ldr r1, =0xffff0000 cmp r0, r1 bne _080707E2 adds r0, r6, 0 adds r1, r4, 0 bl DeleteFirstMoveAndGiveMoveToMon _080707E2: pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_80707A4 thumb_func_start sub_80707EC sub_80707EC: @ 80707EC push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x4 adds r7, r0, 0 adds r6, r1, 0 movs r4, 0 movs r0, 0x1 mov r8, r0 _080707FE: movs r0, 0x8C muls r0, r4 adds r5, r7, r0 adds r0, r5, 0 movs r1, 0xB bl GetBoxMonData lsls r1, r4, 1 add r1, sp strh r0, [r1] lsls r0, 16 lsrs r0, 16 cmp r0, 0x84 bne _08070826 adds r0, r4, 0 mov r1, r8 eors r0, r1 strb r0, [r6] strb r4, [r6, 0x1] b _0807083E _08070826: adds r0, r5, 0 bl GetBoxMonGender lsls r0, 24 lsrs r0, 24 cmp r0, 0xFE bne _0807083E strb r4, [r6] adds r0, r4, 0 mov r1, r8 eors r0, r1 strb r0, [r6, 0x1] _0807083E: adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x1 bls _080707FE ldrb r0, [r6] lsls r0, 1 add r0, sp ldrh r0, [r0] bl sub_8070004 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x1D bne _08070870 movs r1, 0x8C lsls r1, 1 adds r0, r7, r1 ldr r0, [r0] movs r1, 0x80 lsls r1, 8 ands r0, r1 cmp r0, 0 beq _08070870 movs r4, 0x20 _08070870: ldr r0, =0x00000183 cmp r4, r0 bne _0807088C movs r1, 0x8C lsls r1, 1 adds r0, r7, r1 ldr r0, [r0] movs r1, 0x80 lsls r1, 8 ands r0, r1 cmp r0, 0 beq _0807088C movs r4, 0xC1 lsls r4, 1 _0807088C: ldrb r0, [r6, 0x1] lsls r0, 1 add r0, sp ldrh r0, [r0] cmp r0, 0x84 bne _080708B4 ldrb r1, [r6] movs r0, 0x8C muls r0, r1 adds r0, r7, r0 bl GetBoxMonGender lsls r0, 24 lsrs r0, 24 cmp r0, 0xFE beq _080708B4 ldrb r1, [r6, 0x1] ldrb r0, [r6] strb r0, [r6, 0x1] strb r1, [r6] _080708B4: adds r0, r4, 0 add sp, 0x4 pop {r3} mov r8, r3 pop {r4-r7} pop {r1} bx r1 .pool thumb_func_end sub_80707EC thumb_func_start sub_80708C8 sub_80708C8: @ 80708C8 push {r4-r6,lr} sub sp, 0x6C adds r6, r0, 0 add r5, sp, 0x64 adds r1, r5, 0 bl sub_80707EC add r4, sp, 0x68 strh r0, [r4] adds r0, r4, 0 adds r1, r6, 0 bl incense_effects ldrh r1, [r4] mov r0, sp adds r2, r6, 0 bl sub_8070A0C mov r0, sp adds r1, r6, 0 bl sub_8070260 ldrb r0, [r5, 0x1] movs r2, 0x8C adds r1, r0, 0 muls r1, r2 adds r1, r6, r1 ldrb r0, [r5] muls r2, r0 adds r2, r6, r2 mov r0, sp bl daycare_build_child_moveset ldrh r0, [r4] cmp r0, 0xAC bne _08070918 mov r0, sp adds r1, r6, 0 bl sub_80707A4 _08070918: mov r2, sp adds r2, 0x6A movs r0, 0x1 strb r0, [r2] mov r0, sp movs r1, 0x2D bl SetMonData ldr r0, =gPlayerParty movs r1, 0xFA lsls r1, 1 adds r0, r1 mov r1, sp movs r2, 0x64 bl memcpy bl party_compaction bl CalculatePlayerPartyCount adds r0, r6, 0 bl sub_8070710 add sp, 0x6C pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_80708C8 thumb_func_start sub_8070954 sub_8070954: @ 8070954 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} sub sp, 0x18 adds r7, r0, 0 adds r5, r1, 0 adds r6, r2, 0 lsls r5, 16 lsrs r5, 16 lsls r6, 24 lsrs r6, 24 movs r4, 0 str r4, [sp] str r4, [sp, 0x4] str r4, [sp, 0x8] str r4, [sp, 0xC] adds r1, r5, 0 movs r2, 0x5 movs r3, 0x20 bl CreateMon movs r0, 0x12 add r0, sp mov r8, r0 strb r4, [r0] movs r1, 0x4 add r0, sp, 0x10 strh r1, [r0] mov r4, sp adds r4, 0x13 movs r0, 0x1 mov r9, r0 mov r0, r9 strb r0, [r4] adds r0, r7, 0 movs r1, 0x26 add r2, sp, 0x10 bl SetMonData ldr r2, =gEggName adds r0, r7, 0 movs r1, 0x2 bl SetMonData lsls r2, r5, 3 subs r2, r5 lsls r2, 2 ldr r0, =gBaseStats + 0x11 @ egg cycles offset adds r2, r0 adds r0, r7, 0 movs r1, 0x20 bl SetMonData adds r0, r7, 0 movs r1, 0x24 mov r2, r8 bl SetMonData adds r0, r7, 0 movs r1, 0x3 adds r2, r4, 0 bl SetMonData cmp r6, 0 beq _080709E6 add r2, sp, 0x14 movs r0, 0xFD strb r0, [r2] adds r0, r7, 0 movs r1, 0x23 bl SetMonData _080709E6: mov r2, sp adds r2, 0x15 mov r0, r9 strb r0, [r2] adds r0, r7, 0 movs r1, 0x2D bl SetMonData add sp, 0x18 pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_8070954 thumb_func_start sub_8070A0C sub_8070A0C: @ 8070A0C push {r4-r6,lr} mov r6, r9 mov r5, r8 push {r5,r6} sub sp, 0x14 adds r6, r0, 0 adds r5, r1, 0 lsls r5, 16 lsrs r5, 16 movs r0, 0x8C lsls r0, 1 adds r2, r0 ldr r0, [r2] movs r1, 0x1 mov r8, r1 str r1, [sp] str r0, [sp, 0x4] movs r4, 0 str r4, [sp, 0x8] str r4, [sp, 0xC] adds r0, r6, 0 adds r1, r5, 0 movs r2, 0x5 movs r3, 0x20 bl CreateMon movs r0, 0x12 add r0, sp mov r9, r0 strb r4, [r0] movs r1, 0x4 add r0, sp, 0x10 strh r1, [r0] mov r4, sp adds r4, 0x13 mov r1, r8 strb r1, [r4] adds r0, r6, 0 movs r1, 0x26 add r2, sp, 0x10 bl SetMonData ldr r2, =gEggName adds r0, r6, 0 movs r1, 0x2 bl SetMonData lsls r2, r5, 3 subs r2, r5 lsls r2, 2 ldr r0, =gBaseStats + 0x11 @ egg cycles offset adds r2, r0 adds r0, r6, 0 movs r1, 0x20 bl SetMonData adds r0, r6, 0 movs r1, 0x24 mov r2, r9 bl SetMonData adds r0, r6, 0 movs r1, 0x3 adds r2, r4, 0 bl SetMonData add sp, 0x14 pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8070A0C thumb_func_start sp0B8_daycare sp0B8_daycare: @ 8070AA8 push {lr} ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r1, =0x00003030 adds r0, r1 bl sub_80708C8 pop {r0} bx r0 .pool thumb_func_end sp0B8_daycare thumb_func_start sub_8070AC4 sub_8070AC4: @ 8070AC4 push {r4-r7,lr} sub sp, 0x4 adds r6, r0, 0 movs r7, 0 movs r5, 0 _08070ACE: movs r0, 0x8C adds r4, r5, 0 muls r4, r0 adds r0, r6, r4 movs r1, 0x5 bl GetBoxMonData cmp r0, 0 beq _08070AEE adds r1, r6, 0 adds r1, 0x88 adds r1, r4 ldr r0, [r1] adds r0, 0x1 str r0, [r1] adds r7, 0x1 _08070AEE: adds r5, 0x1 cmp r5, 0x1 bls _08070ACE movs r1, 0x8C lsls r1, 1 adds r0, r6, r1 ldr r0, [r0] cmp r0, 0 bne _08070B34 cmp r7, 0x2 bne _08070B34 subs r1, 0x4 adds r0, r6, r1 ldrb r0, [r0] cmp r0, 0xFF bne _08070B34 adds r0, r6, 0 bl daycare_relationship_score adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl Random lsls r0, 16 lsrs r0, 16 movs r1, 0x64 muls r0, r1 ldr r1, =0x0000ffff bl __udivsi3 cmp r4, r0 bls _08070B34 bl sub_80701E0 _08070B34: movs r0, 0x8E lsls r0, 1 adds r1, r6, r0 ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] lsls r0, 24 lsrs r0, 24 cmp r0, 0xFF bne _08070BC0 bl GetEggStepsToSubtract lsls r0, 24 lsrs r6, r0, 24 movs r5, 0 ldr r0, =gPlayerPartyCount ldrb r0, [r0] cmp r5, r0 bcs _08070BC0 ldr r4, =gPlayerParty _08070B5C: adds r0, r4, 0 movs r1, 0x2D bl GetMonData cmp r0, 0 beq _08070BB4 adds r0, r4, 0 movs r1, 0x4 bl GetMonData cmp r0, 0 bne _08070BB4 adds r0, r4, 0 movs r1, 0x20 bl GetMonData adds r1, r0, 0 str r1, [sp] cmp r0, 0 beq _08070BA8 cmp r0, r6 bcc _08070B98 subs r0, r6 b _08070B9A .pool _08070B98: subs r0, r1, 0x1 _08070B9A: str r0, [sp] adds r0, r4, 0 movs r1, 0x20 mov r2, sp bl SetMonData b _08070BB4 _08070BA8: ldr r0, =gSpecialVar_0x8004 strh r5, [r0] movs r0, 0x1 b _08070BC2 .pool _08070BB4: adds r4, 0x64 adds r5, 0x1 ldr r0, =gPlayerPartyCount ldrb r0, [r0] cmp r5, r0 bcc _08070B5C _08070BC0: movs r0, 0 _08070BC2: add sp, 0x4 pop {r4-r7} pop {r1} bx r1 .pool thumb_func_end sub_8070AC4 thumb_func_start sub_8070BD0 sub_8070BD0: @ 8070BD0 push {lr} ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r1, =0x00003030 adds r0, r1 bl sub_8070AC4 lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 .pool thumb_func_end sub_8070BD0 thumb_func_start sub_8070BF0 sub_8070BF0: @ 8070BF0 push {lr} movs r1, 0x8C lsls r1, 1 adds r0, r1 ldr r0, [r0] cmp r0, 0 beq _08070C00 movs r0, 0x1 _08070C00: pop {r1} bx r1 thumb_func_end sub_8070BF0 thumb_func_start sub_8070C04 sub_8070C04: @ 8070C04 push {r4,lr} sub sp, 0xC adds r4, r0, 0 movs r1, 0xB bl GetBoxMonData cmp r0, 0 beq _08070C2E ldr r1, =gStringVar1 adds r0, r4, 0 bl GetBoxMonNick adds r0, r4, 0 movs r1, 0x7 mov r2, sp bl GetBoxMonData ldr r0, =gStringVar3 mov r1, sp bl StringCopy _08070C2E: adds r4, 0x8C adds r0, r4, 0 movs r1, 0xB bl GetBoxMonData cmp r0, 0 beq _08070C44 ldr r1, =gStringVar2 adds r0, r4, 0 bl GetBoxMonNick _08070C44: add sp, 0xC pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8070C04 thumb_func_start sub_8070C58 sub_8070C58: @ 8070C58 push {r4,r5,lr} bl brm_get_pokemon_selection lsls r0, 24 lsrs r0, 24 movs r5, 0x64 muls r0, r5 ldr r4, =gPlayerParty adds r0, r4 ldr r1, =gStringVar1 bl GetBoxMonNick bl brm_get_pokemon_selection lsls r0, 24 lsrs r0, 24 muls r0, r5 adds r0, r4 movs r1, 0xB bl GetBoxMonData lsls r0, 16 lsrs r0, 16 pop {r4,r5} pop {r1} bx r1 .pool thumb_func_end sub_8070C58 thumb_func_start sp0B5_daycare sp0B5_daycare: @ 8070C94 push {lr} ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r1, =0x00003030 adds r0, r1 bl sub_8070C04 pop {r0} bx r0 .pool thumb_func_end sp0B5_daycare thumb_func_start sp0B6_daycare sp0B6_daycare: @ 8070CB0 push {r4,lr} ldr r4, =gSaveBlock1Ptr ldr r0, [r4] ldr r1, =0x00003030 adds r0, r1 bl sub_8070BF0 lsls r0, 24 cmp r0, 0 beq _08070CD0 movs r0, 0x1 b _08070CF2 .pool _08070CD0: ldr r0, [r4] ldr r1, =0x00003030 adds r0, r1 bl daycare_count_pokemon lsls r0, 24 lsrs r0, 24 cmp r0, 0 bne _08070CEC movs r0, 0 b _08070CF2 .pool _08070CEC: adds r0, 0x1 lsls r0, 24 lsrs r0, 24 _08070CF2: pop {r4} pop {r1} bx r1 thumb_func_end sp0B6_daycare thumb_func_start sub_8070CF8 sub_8070CF8: @ 8070CF8 push {lr} ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r1, =0x00003030 adds r0, r1 bl daycare_count_pokemon lsls r0, 24 lsrs r0, 24 cmp r0, 0 bne _08070D10 movs r0, 0 _08070D10: pop {r1} bx r1 .pool thumb_func_end sub_8070CF8 thumb_func_start sub_8070D1C sub_8070D1C: @ 8070D1C push {r4-r6,lr} adds r5, r1, 0 movs r4, 0 adds r1, r0, 0 _08070D24: movs r3, 0 ldrh r0, [r1] adds r2, r5, 0 _08070D2A: ldrh r6, [r2] cmp r0, r6 bne _08070D34 movs r0, 0x1 b _08070D46 _08070D34: adds r2, 0x2 adds r3, 0x1 cmp r3, 0x1 ble _08070D2A adds r1, 0x2 adds r4, 0x1 cmp r4, 0x1 ble _08070D24 movs r0, 0 _08070D46: pop {r4-r6} pop {r1} bx r1 thumb_func_end sub_8070D1C thumb_func_start daycare_relationship_score daycare_relationship_score: @ 8070D4C push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x30 str r0, [sp, 0x1C] movs r7, 0 mov r0, sp adds r0, 0x8 str r0, [sp, 0x20] add r1, sp, 0xC mov r9, r1 mov r2, sp adds r2, 0x14 str r2, [sp, 0x24] subs r0, 0x6 ldr r1, =gBaseStats mov r10, r1 ldr r5, [sp, 0x20] mov r8, r0 mov r6, sp str r2, [sp, 0x28] mov r2, r9 str r2, [sp, 0x2C] _08070D7E: movs r0, 0x8C adds r4, r7, 0 muls r4, r0 ldr r0, [sp, 0x1C] adds r4, r0, r4 adds r0, r4, 0 movs r1, 0xB bl GetBoxMonData strh r0, [r5] adds r0, r4, 0 movs r1, 0x1 bl GetBoxMonData ldr r1, [sp, 0x2C] stm r1!, {r0} str r1, [sp, 0x2C] adds r0, r4, 0 movs r1, 0 bl GetBoxMonData adds r1, r0, 0 ldrh r0, [r5] bl GetGenderFromSpeciesAndPersonality lsls r0, 24 lsrs r0, 24 ldr r2, [sp, 0x28] stm r2!, {r0} str r2, [sp, 0x28] ldrh r1, [r5] lsls r0, r1, 3 subs r0, r1 lsls r0, 2 add r0, r10 ldrb r0, [r0, 0x14] strh r0, [r6] ldrh r1, [r5] lsls r0, r1, 3 subs r0, r1 lsls r0, 2 add r0, r10 ldrb r0, [r0, 0x15] mov r1, r8 strh r0, [r1] adds r5, 0x2 movs r2, 0x4 add r8, r2 adds r6, 0x4 adds r7, 0x1 cmp r7, 0x1 bls _08070D7E mov r0, sp ldrh r1, [r0] cmp r1, 0xF beq _08070DFC ldrh r0, [r0, 0x4] cmp r0, 0xF beq _08070DFC cmp r1, 0xD bne _08070E04 cmp r0, 0xD bne _08070E08 _08070DFC: movs r0, 0 b _08070E5C .pool _08070E04: cmp r0, 0xD bne _08070E14 _08070E08: ldr r1, [sp, 0xC] mov r2, r9 ldr r0, [r2, 0x4] cmp r1, r0 beq _08070E56 b _08070E5A _08070E14: ldr r0, [sp, 0x14] ldr r2, [sp, 0x24] ldr r1, [r2, 0x4] cmp r0, r1 beq _08070DFC cmp r0, 0xFF beq _08070DFC cmp r1, 0xFF beq _08070DFC add r1, sp, 0x4 mov r0, sp bl sub_8070D1C lsls r0, 24 cmp r0, 0 beq _08070DFC ldr r0, [sp, 0x20] ldrh r1, [r0, 0x2] ldrh r0, [r0] cmp r0, r1 bne _08070E4C ldr r1, [sp, 0xC] mov r2, r9 ldr r0, [r2, 0x4] cmp r1, r0 beq _08070E5A movs r0, 0x46 b _08070E5C _08070E4C: ldr r1, [sp, 0xC] mov r2, r9 ldr r0, [r2, 0x4] cmp r1, r0 bne _08070E5A _08070E56: movs r0, 0x14 b _08070E5C _08070E5A: movs r0, 0x32 _08070E5C: add sp, 0x30 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r1} bx r1 thumb_func_end daycare_relationship_score thumb_func_start daycare_relationship_score_from_savegame daycare_relationship_score_from_savegame: @ 8070E6C push {lr} ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r1, =0x00003030 adds r0, r1 bl daycare_relationship_score lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 .pool thumb_func_end daycare_relationship_score_from_savegame thumb_func_start sp0B9_daycare_relationship_comment sp0B9_daycare_relationship_comment: @ 8070E8C push {lr} bl daycare_relationship_score_from_savegame lsls r0, 24 lsrs r0, 24 adds r2, r0, 0 movs r1, 0 cmp r0, 0 bne _08070EA0 movs r1, 0x3 _08070EA0: cmp r0, 0x14 bne _08070EA6 movs r1, 0x2 _08070EA6: cmp r0, 0x32 bne _08070EAC movs r1, 0x1 _08070EAC: cmp r2, 0x46 bne _08070EB2 movs r1, 0 _08070EB2: ldr r0, =gStringVar4 ldr r2, =gUnknown_0832B6F8 lsls r1, 2 adds r1, r2 ldr r1, [r1] bl StringCopy pop {r0} bx r0 .pool thumb_func_end sp0B9_daycare_relationship_comment thumb_func_start sub_8070ECC sub_8070ECC: @ 8070ECC push {r4,r5,lr} sub sp, 0x4 adds r4, r0, 0 lsls r1, 24 lsrs r5, r1, 24 mov r2, sp mov r1, sp movs r0, 0 strb r0, [r1, 0x1] strb r0, [r2] movs r3, 0 ldrb r0, [r4] cmp r0, 0xFF beq _08070F10 _08070EE8: adds r1, r4, r3 ldrb r0, [r1] cmp r0, 0xB5 bne _08070EF6 ldrb r0, [r2] adds r0, 0x1 strb r0, [r2] _08070EF6: ldrb r0, [r1] cmp r0, 0xB6 bne _08070F02 ldrb r0, [r2, 0x1] adds r0, 0x1 strb r0, [r2, 0x1] _08070F02: adds r0, r3, 0x1 lsls r0, 24 lsrs r3, r0, 24 adds r0, r4, r3 ldrb r0, [r0] cmp r0, 0xFF bne _08070EE8 _08070F10: cmp r5, 0 bne _08070F24 mov r0, sp ldrb r0, [r0] cmp r0, 0 beq _08070F24 mov r0, sp ldrb r0, [r0, 0x1] cmp r0, 0 beq _08070F38 _08070F24: cmp r5, 0xFE bne _08070F3C mov r0, sp ldrb r0, [r0, 0x1] cmp r0, 0 beq _08070F3C mov r0, sp ldrb r0, [r0] cmp r0, 0 bne _08070F3C _08070F38: movs r0, 0x1 b _08070F3E _08070F3C: movs r0, 0 _08070F3E: add sp, 0x4 pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_8070ECC thumb_func_start sub_8070F48 sub_8070F48: @ 8070F48 push {r4,lr} adds r4, r0, 0 lsls r1, 24 lsrs r1, 24 cmp r1, 0 bne _08070F68 movs r1, 0 bl sub_8070ECC lsls r0, 24 cmp r0, 0 bne _08070F84 ldr r1, =gUnknown_0832DAC7 b _08070F86 .pool _08070F68: cmp r1, 0xFE bne _08070F84 adds r0, r4, 0 movs r1, 0xFE bl sub_8070ECC lsls r0, 24 cmp r0, 0 bne _08070F84 ldr r1, =gUnknown_0832DAC9 b _08070F86 .pool _08070F84: ldr r1, =gUnknown_0832DACB _08070F86: adds r0, r4, 0 bl StringAppend pop {r4} pop {r1} bx r1 .pool thumb_func_end sub_8070F48 thumb_func_start sub_8070F98 sub_8070F98: @ 8070F98 push {r4,lr} adds r4, r0, 0 adds r0, r1, 0 bl GetBoxMonGender adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 bl sub_8070F48 pop {r4} pop {r1} bx r1 thumb_func_end sub_8070F98 thumb_func_start sub_8070FB4 sub_8070FB4: @ 8070FB4 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} sub sp, 0x28 mov r8, r0 adds r7, r1, 0 movs r0, 0xFF strb r0, [r7] movs r6, 0 add r0, sp, 0x14 mov r9, r0 _08070FCC: movs r0, 0x8C adds r4, r6, 0 muls r4, r0 add r4, r8 lsls r0, r6, 2 adds r0, r6 lsls r0, 2 mov r1, sp adds r5, r1, r0 adds r0, r4, 0 adds r1, r5, 0 bl GetBoxMonNick adds r0, r5, 0 adds r1, r4, 0 bl sub_8070F98 adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 cmp r6, 0x1 bls _08070FCC adds r0, r7, 0 mov r1, sp bl StringCopy ldr r4, =gText_NewLine2 adds r0, r7, 0 adds r1, r4, 0 bl StringAppend adds r0, r7, 0 mov r1, r9 bl StringAppend adds r0, r7, 0 adds r1, r4, 0 bl StringAppend ldr r1, =gText_Exit4 adds r0, r7, 0 bl StringAppend add sp, 0x28 pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_8070FB4 thumb_func_start sub_8071038 sub_8071038: @ 8071038 push {r4-r6,lr} sub sp, 0x14 adds r6, r0, 0 adds r4, r1, 0 movs r0, 0xFF strb r0, [r4] movs r5, 0 _08071046: adds r0, r4, 0 ldr r1, =gText_Lv bl StringAppend movs r0, 0x8C adds r2, r5, 0 muls r2, r0 adds r0, r6, r2 adds r1, r6, 0 adds r1, 0x88 adds r1, r2 ldr r1, [r1] bl sub_806FDEC adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 mov r0, sp movs r2, 0 movs r3, 0x3 bl ConvertIntToDecimalStringN adds r0, r4, 0 mov r1, sp bl StringAppend adds r0, r4, 0 ldr r1, =gText_NewLine2 bl StringAppend adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0x1 bls _08071046 add sp, 0x14 pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8071038 thumb_func_start sub_807109C sub_807109C: @ 807109C push {r4-r6,lr} sub sp, 0x10 str r1, [sp] mov r1, sp movs r5, 0 strb r0, [r1, 0x4] mov r0, sp movs r6, 0x1 movs r4, 0x1 strb r4, [r0, 0x5] strb r2, [r0, 0x6] strb r3, [r0, 0x7] strb r2, [r0, 0x8] strb r3, [r0, 0x9] mov r3, sp ldrb r1, [r3, 0xC] movs r2, 0x10 negs r2, r2 adds r0, r2, 0 ands r0, r1 strb r0, [r3, 0xC] ldr r3, =gTextFlags ldrb r1, [r3] movs r0, 0x3 negs r0, r0 ands r0, r1 strb r0, [r3] mov r0, sp strb r5, [r0, 0xA] strb r4, [r0, 0xB] mov r3, sp ldrb r1, [r3, 0xC] movs r4, 0xF adds r0, r4, 0 ands r0, r1 movs r1, 0x20 orrs r0, r1 strb r0, [r3, 0xC] mov r1, sp ldrb r0, [r1, 0xD] ands r2, r0 orrs r2, r6 strb r2, [r1, 0xD] ands r2, r4 movs r0, 0x30 orrs r2, r0 strb r2, [r1, 0xD] mov r0, sp movs r1, 0xFF movs r2, 0 bl AddTextPrinter add sp, 0x10 pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_807109C thumb_func_start sub_8071110 sub_8071110: @ 8071110 push {r4-r6,lr} sub sp, 0x14 adds r5, r0, 0 adds r4, r1, 0 adds r6, r3, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0x8C muls r0, r2 adds r5, r0 adds r0, r5, 0 mov r1, sp bl GetBoxMonNick mov r0, sp adds r1, r5, 0 bl sub_8070F98 adds r0, r4, 0 mov r1, sp movs r2, 0x8 adds r3, r6, 0 bl sub_807109C add sp, 0x14 pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_8071110 thumb_func_start sub_8071148 sub_8071148: @ 8071148 push {r4-r6,lr} mov r6, r8 push {r6} sub sp, 0x14 adds r4, r0, 0 adds r5, r1, 0 adds r6, r2, 0 mov r8, r3 lsls r5, 24 lsrs r5, 24 ldr r1, =gText_Lv mov r0, sp bl StringCopy movs r0, 0x8C adds r1, r6, 0 muls r1, r0 adds r0, r4, r1 adds r4, 0x88 adds r4, r1 ldr r1, [r4] bl sub_806FDEC adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 add r4, sp, 0xC adds r0, r4, 0 movs r2, 0 movs r3, 0x3 bl ConvertIntToDecimalStringN mov r0, sp adds r1, r4, 0 bl StringAppend movs r0, 0x1 mov r1, sp movs r2, 0x70 bl GetStringRightAlignXOffset adds r2, r0, 0 adds r0, r5, 0 mov r1, sp mov r3, r8 bl sub_807109C add sp, 0x14 pop {r3} mov r8, r3 pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8071148 thumb_func_start sub_80711B8 sub_80711B8: @ 80711B8 push {r4-r7,lr} mov r7, r8 push {r7} adds r6, r1, 0 lsls r0, 24 lsrs r7, r0, 24 lsls r2, 24 lsrs r5, r2, 24 cmp r6, 0x1 bhi _080711F0 ldr r0, =gSaveBlock1Ptr mov r8, r0 ldr r0, [r0] ldr r4, =0x00003030 adds r0, r4 adds r1, r7, 0 adds r2, r6, 0 adds r3, r5, 0 bl sub_8071110 mov r1, r8 ldr r0, [r1] adds r0, r4 adds r1, r7, 0 adds r2, r6, 0 adds r3, r5, 0 bl sub_8071148 _080711F0: pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_80711B8 thumb_func_start c3_080469FC c3_080469FC: @ 8071204 push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 adds r5, r0, 0 ldr r1, =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r4, r0, r1 ldrb r0, [r4, 0x8] bl ListMenuHandleInput adds r1, r0, 0 ldr r0, =gMain ldrh r2, [r0, 0x2E] movs r0, 0x1 ands r0, r2 cmp r0, 0 beq _08071284 cmp r1, 0x1 bls _0807123C cmp r1, 0x5 beq _08071248 b _0807124E .pool _0807123C: ldr r0, =gScriptResult strh r1, [r0] b _0807124E .pool _08071248: ldr r1, =gScriptResult movs r0, 0x2 strh r0, [r1] _0807124E: ldr r0, =gTasks lsls r4, r5, 2 adds r4, r5 lsls r4, 3 adds r4, r0 ldrb r0, [r4, 0x8] movs r1, 0 movs r2, 0 bl sub_81AE6C8 ldrb r0, [r4, 0xA] movs r1, 0x1 bl sub_819746C ldrb r0, [r4, 0xA] bl RemoveWindow adds r0, r5, 0 bl DestroyTask bl EnableBothScriptContexts b _080712B4 .pool _08071284: movs r1, 0x2 adds r0, r1, 0 ands r0, r2 cmp r0, 0 beq _080712B4 ldr r0, =gScriptResult strh r1, [r0] ldrb r0, [r4, 0x8] movs r1, 0 movs r2, 0 bl sub_81AE6C8 ldrb r0, [r4, 0xA] movs r1, 0x1 bl sub_819746C ldrb r0, [r4, 0xA] bl RemoveWindow adds r0, r5, 0 bl DestroyTask bl EnableBothScriptContexts _080712B4: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end c3_080469FC thumb_func_start sub_80712C0 sub_80712C0: @ 80712C0 push {r4,r5,lr} sub sp, 0x18 ldr r0, =gUnknown_0832B6C0 bl AddWindow adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 movs r1, 0 bl sub_81973FC mov r1, sp ldr r0, =gUnknown_0832B6E0 ldm r0!, {r2,r3,r5} stm r1!, {r2,r3,r5} ldm r0!, {r2,r3,r5} stm r1!, {r2,r3,r5} mov r0, sp strb r4, [r0, 0x10] movs r1, 0 movs r2, 0 bl ListMenuInit adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 adds r0, r4, 0 movs r1, 0x3 bl CopyWindowToVram ldr r0, =c3_080469FC movs r1, 0x3 bl CreateTask lsls r0, 24 lsrs r0, 24 ldr r2, =gTasks lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r1, r2 strh r5, [r1, 0x8] strh r4, [r1, 0xA] add sp, 0x18 pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80712C0 thumb_func_start sub_8071330 sub_8071330: @ 8071330 push {lr} bl sub_81B9328 ldr r1, =gMain ldr r0, =c2_exit_to_overworld_2_switch str r0, [r1, 0x8] pop {r0} bx r0 .pool thumb_func_end sub_8071330 .align 2, 0 @ Don't pad with nop.