diff options
author | YamaArashi <shadow962@live.com> | 2016-11-01 10:08:48 -0700 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-11-01 10:16:34 -0700 |
commit | 6f0e42a91aeeedd64725ce57e3dad6a38421d8e9 (patch) | |
tree | dcea69ec49430f004c17ff71b77587cafd78c69a /asm/berry_blender.s | |
parent | fef81187dce23adc635d7f4b7fd82298eab09ec2 (diff) |
split asm files
Diffstat (limited to 'asm/berry_blender.s')
-rw-r--r-- | asm/berry_blender.s | 8788 |
1 files changed, 8788 insertions, 0 deletions
diff --git a/asm/berry_blender.s b/asm/berry_blender.s new file mode 100644 index 000000000..549efa90c --- /dev/null +++ b/asm/berry_blender.s @@ -0,0 +1,8788 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_807F738 +sub_807F738: @ 807F738 + push {lr} + ldr r0, =0x03007630 + ldr r1, =0x0000ffff + ldr r2, =0x020322a4 + ldr r2, [r2] + adds r2, 0x4C + movs r3, 0 + ldrsh r2, [r2, r3] + subs r2, 0x80 + lsls r2, 17 + asrs r2, 16 + bl MPlayPitchControl + pop {r0} + bx r0 + .pool + thumb_func_end sub_807F738 + + thumb_func_start sub_807F764 +sub_807F764: @ 807F764 + push {r4,lr} + sub sp, 0x10 + bl sub_8082DF4 + ldr r0, =0x020322a4 + ldr r0, [r0] + mov r12, r0 + movs r0, 0xA0 + lsls r0, 1 + add r0, r12 + ldr r1, [r0] + movs r0, 0xA2 + lsls r0, 1 + add r0, r12 + ldr r2, [r0] + movs r0, 0xA4 + lsls r0, 1 + add r0, r12 + movs r4, 0 + ldrsh r3, [r0, r4] + movs r0, 0xA5 + lsls r0, 1 + add r0, r12 + movs r4, 0 + ldrsh r0, [r0, r4] + str r0, [sp] + movs r0, 0xA6 + lsls r0, 1 + add r0, r12 + movs r4, 0 + ldrsh r0, [r0, r4] + str r0, [sp, 0x4] + movs r0, 0xA7 + lsls r0, 1 + add r0, r12 + movs r4, 0 + ldrsh r0, [r0, r4] + str r0, [sp, 0x8] + movs r0, 0xA8 + lsls r0, 1 + add r0, r12 + ldrh r0, [r0] + str r0, [sp, 0xC] + movs r0, 0x2 + bl SetBgAffine + bl LoadOamFromSprites + bl ProcessObjectCopyRequests + bl copy_pal_bg_faded_to_pal_ram + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_807F764 + + thumb_func_start sub_807F7D8 +sub_807F7D8: @ 807F7D8 + push {r4,r5,lr} + ldr r1, =0x020322a4 + ldr r0, [r1] + ldrb r0, [r0, 0x1] + adds r5, r1, 0 + cmp r0, 0x9 + bls _0807F7E8 + b _0807F9C8 +_0807F7E8: + lsls r0, 2 + ldr r1, =_0807F7FC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0807F7FC: + .4byte _0807F824 + .4byte _0807F854 + .4byte _0807F880 + .4byte _0807F8AC + .4byte _0807F8C8 + .4byte _0807F8F4 + .4byte _0807F910 + .4byte _0807F940 + .4byte _0807F950 + .4byte _0807F980 +_0807F824: + ldr r5, =gUnknown_08D91598 + adds r0, r5, 0 + bl sub_8034974 + adds r0, 0x64 + bl AllocZeroed + adds r1, r0, 0 + ldr r4, =0x020322a4 + ldr r0, [r4] + ldr r2, =0x000011bc + adds r0, r2 + str r1, [r0] + adds r0, r5, 0 + bl LZDecompressWram + ldr r1, [r4] + b _0807F966 + .pool +_0807F854: + ldr r1, =gUnknown_083390F4 + movs r2, 0x80 + lsls r2, 3 + movs r0, 0x2 + movs r3, 0 + bl CopyToBgTilemapBuffer + movs r0, 0x2 + bl CopyBgTilemapBufferToVram + ldr r0, =gUnknown_083390D4 + movs r2, 0x80 + lsls r2, 1 + movs r1, 0 + bl gpu_pal_apply + b _0807F962 + .pool +_0807F880: + ldr r0, [r5] + ldr r1, =0x000011bc + adds r0, r1 + ldr r4, [r0] + ldr r0, =gUnknown_08D91598 + bl sub_8034974 + adds r2, r0, 0 + lsls r2, 16 + lsrs r2, 16 + movs r0, 0x2 + adds r1, r4, 0 + movs r3, 0 + bl LoadBgTiles + ldr r1, [r5] + b _0807F966 + .pool +_0807F8AC: + ldr r0, =gUnknown_08D91DB8 + ldr r1, [r5] + ldr r2, =0x000011bc + adds r1, r2 + ldr r1, [r1] + bl LZDecompressWram + ldr r1, [r5] + b _0807F966 + .pool +_0807F8C8: + ldr r0, [r5] + ldr r1, =0x000011bc + adds r0, r1 + ldr r4, [r0] + ldr r0, =gUnknown_08D91DB8 + bl sub_8034974 + adds r2, r0, 0 + lsls r2, 16 + lsrs r2, 16 + movs r0, 0x1 + adds r1, r4, 0 + movs r3, 0 + bl LoadBgTiles + ldr r1, [r5] + b _0807F966 + .pool +_0807F8F4: + ldr r0, =gUnknown_08D927EC + ldr r1, [r5] + ldr r2, =0x000011bc + adds r1, r2 + ldr r1, [r1] + bl LZDecompressWram + ldr r1, [r5] + b _0807F966 + .pool +_0807F910: + ldr r0, [r5] + ldr r1, =0x000011bc + adds r0, r1 + ldr r4, [r0] + ldr r0, =gUnknown_08D927EC + bl sub_8034974 + adds r2, r0, 0 + lsls r2, 16 + lsrs r2, 16 + movs r0, 0x1 + adds r1, r4, 0 + movs r3, 0 + bl CopyToBgTilemapBuffer + movs r0, 0x1 + bl CopyBgTilemapBufferToVram + ldr r1, [r5] + b _0807F966 + .pool +_0807F940: + ldr r0, =gUnknown_083394F4 + movs r1, 0x80 + movs r2, 0x20 + bl gpu_pal_apply + b _0807F962 + .pool +_0807F950: + ldr r0, =gUnknown_08339AC0 + bl LoadObjectPic + ldr r0, =gUnknown_08339BD8 + bl LoadObjectPic + ldr r0, =gUnknown_08339B38 + bl LoadObjectPic +_0807F962: + ldr r0, =0x020322a4 + ldr r1, [r0] +_0807F966: + ldrb r0, [r1, 0x1] + adds r0, 0x1 + strb r0, [r1, 0x1] + b _0807F9C8 + .pool +_0807F980: + ldr r0, =gUnknown_08339C24 + bl LoadObjectPic + ldr r0, =gUnknown_08339C58 + bl LoadObjectPic + ldr r0, =gUnknown_08339AD0 + bl LoadTaggedObjectPalette + ldr r0, =gUnknown_08339AC8 + bl LoadTaggedObjectPalette + ldr r4, =0x020322a4 + ldr r0, [r4] + ldr r2, =0x000011bc + adds r0, r2 + ldr r0, [r0] + bl Free + ldr r1, [r4] + movs r0, 0 + strb r0, [r1, 0x1] + movs r0, 0x1 + b _0807F9CA + .pool +_0807F9C8: + movs r0, 0 +_0807F9CA: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_807F7D8 + + thumb_func_start sub_807F9D0 +sub_807F9D0: @ 807F9D0 + push {lr} + sub sp, 0x8 + movs r0, 0x1E + str r0, [sp] + movs r0, 0x14 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl FillBgTilemapBufferRect_Palette0 + movs r0, 0 + bl CopyBgTilemapBufferToVram + movs r0, 0 + bl ShowBg + movs r0, 0x1 + bl ShowBg + movs r1, 0x82 + lsls r1, 5 + movs r0, 0 + bl SetGpuRegBits + movs r0, 0 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgX + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + bl ChangeBgY + add sp, 0x8 + pop {r0} + bx r0 + thumb_func_end sub_807F9D0 + + thumb_func_start sub_807FA34 +sub_807FA34: @ 807FA34 + push {r4,lr} + sub sp, 0x8 + ldr r0, =gUnknown_08339980 + bl InitWindows + lsls r0, 16 + cmp r0, 0 + beq _0807FA74 + bl DeactivateAllTextPrinters + movs r4, 0 +_0807FA4A: + lsls r0, r4, 24 + lsrs r0, 24 + movs r1, 0 + bl FillWindowPixelBuffer + adds r4, 0x1 + cmp r4, 0x4 + ble _0807FA4A + movs r0, 0x1E + str r0, [sp] + movs r0, 0x14 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl FillBgTilemapBufferRect_Palette0 + movs r0, 0xE0 + bl sub_81978B0 +_0807FA74: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_807FA34 + + thumb_func_start sub_807FA80 +sub_807FA80: @ 807FA80 + push {r4,lr} + ldr r4, =0x020322a4 + ldr r0, [r4] + cmp r0, 0 + bne _0807FA94 + movs r0, 0x8F + lsls r0, 5 + bl AllocZeroed + str r0, [r4] +_0807FA94: + ldr r0, [r4] + adds r0, 0x63 + movs r1, 0 + strb r1, [r0] + ldr r0, [r4] + strb r1, [r0] + ldr r0, [r4] + adds r0, 0x63 + strb r1, [r0] + ldr r0, =0x020375e0 + ldrb r0, [r0] + bl sub_807FE54 + ldr r0, =sub_807FAC8 + bl SetMainCallback2 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_807FA80 + + thumb_func_start sub_807FAC8 +sub_807FAC8: @ 807FAC8 + push {r4-r6,lr} + sub sp, 0x4 + ldr r1, =0x020322a4 + ldr r0, [r1] + ldrb r0, [r0] + adds r6, r1, 0 + cmp r0, 0x6 + bls _0807FADA + b _0807FCE2 +_0807FADA: + lsls r0, 2 + ldr r1, =_0807FAEC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0807FAEC: + .4byte _0807FB08 + .4byte _0807FBAC + .4byte _0807FC38 + .4byte _0807FC4E + .4byte _0807FC64 + .4byte _0807FC90 + .4byte _0807FCB0 +_0807FB08: + movs r0, 0 + movs r1, 0 + bl SetGpuReg + bl ResetAllObjectData + bl ResetObjectPaletteAllocator + movs r0, 0 + bl SetVBlankCallback + movs r0, 0 + bl ResetBgsAndClearDma3BusyFlags + ldr r1, =gUnknown_08339974 + movs r0, 0x1 + movs r2, 0x3 + bl InitBgsFromTemplates + ldr r4, =0x020322a4 + ldr r1, [r4] + movs r0, 0xDC + lsls r0, 1 + adds r1, r0 + movs r0, 0x1 + bl SetBgTilemapBuffer + ldr r1, [r4] + ldr r0, =0x000009b8 + adds r1, r0 + movs r0, 0x2 + bl SetBgTilemapBuffer + movs r0, 0 + movs r1, 0x1 + movs r2, 0xD0 + bl sub_809882C + movs r0, 0 + movs r1, 0x14 + movs r2, 0xF0 + bl copy_textbox_border_tile_patterns_to_vram + bl sub_807FA34 + ldr r1, [r4] + ldrb r0, [r1] + adds r0, 0x1 + movs r2, 0 + strb r0, [r1] + ldr r3, [r4] + movs r1, 0x8C + lsls r1, 1 + adds r0, r3, r1 + movs r1, 0 + strh r2, [r0] + movs r4, 0x8B + lsls r4, 1 + adds r0, r3, r4 + strh r2, [r0] + movs r0, 0x8D + lsls r0, 1 + adds r4, r3, r0 + movs r0, 0x50 + strh r0, [r4] + movs r4, 0x8E + lsls r4, 1 + adds r0, r3, r4 + strh r2, [r0] + adds r4, 0x2 + adds r0, r3, r4 + strh r2, [r0] + strb r1, [r3, 0x1] + bl sub_8082D28 + b _0807FCE2 + .pool +_0807FBAC: + bl sub_807F7D8 + lsls r0, 24 + cmp r0, 0 + bne _0807FBB8 + b _0807FCE2 +_0807FBB8: + movs r4, 0 + ldr r5, =gUnknown_083399C8 + ldr r6, =0x020322a4 +_0807FBBE: + ldrb r1, [r5] + ldrb r2, [r5, 0x1] + ldr r0, =gUnknown_08339AD8 + movs r3, 0x1 + bl AddObjectToFront + ldr r1, [r6] + adds r1, 0x50 + adds r1, r4 + strb r0, [r1] + ldr r0, [r6] + adds r0, 0x50 + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =0x02020630 + adds r0, r1 + adds r1, r4, 0 + adds r1, 0x8 + lsls r1, 24 + lsrs r1, 24 + bl StartObjectImageAnim + adds r5, 0x2 + adds r4, 0x1 + cmp r4, 0x3 + ble _0807FBBE + ldr r0, =0x03003124 + ldrb r0, [r0] + cmp r0, 0 + beq _0807FC14 + ldr r0, =0x030030fc + ldrb r0, [r0] + cmp r0, 0 + beq _0807FC14 + bl sub_800E0E8 + movs r0, 0 + movs r1, 0 + bl sub_800DFB4 +_0807FC14: + ldr r0, =sub_807F764 + bl SetVBlankCallback + b _0807FCA0 + .pool +_0807FC38: + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0x10 + movs r3, 0 + bl pal_fade_maybe + bl sub_8082D28 + b _0807FCA0 +_0807FC4E: + bl sub_807F9D0 + ldr r0, =0x02037fd4 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0807FCE2 + b _0807FCA0 + .pool +_0807FC64: + ldr r4, [r6] + ldr r0, =0x000011b8 + adds r4, r0 + ldr r5, =gUnknown_0833973A + bl sav2_get_text_speed + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_808417C + cmp r0, 0 + beq _0807FCE2 + ldr r1, [r6] + b _0807FCA4 + .pool +_0807FC90: + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0x10 + bl pal_fade_maybe +_0807FCA0: + ldr r0, =0x020322a4 + ldr r1, [r0] +_0807FCA4: + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _0807FCE2 + .pool +_0807FCB0: + ldr r0, =0x02037fd4 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0 + bne _0807FCE2 + bl FreeAllWindowBuffers + movs r0, 0x2 + bl UnsetBgTilemapBuffer + movs r0, 0x1 + bl UnsetBgTilemapBuffer + movs r0, 0 + bl SetVBlankCallback + ldr r0, =sub_807FFA4 + bl sub_81AABF0 + ldr r0, =0x020322a4 + ldr r0, [r0] + strb r4, [r0] +_0807FCE2: + bl CallObjectCallbacks + bl PrepareSpritesForOamLoad + bl RunTextPrinters + bl fade_and_return_progress_probably + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_807FAC8 + + thumb_func_start sub_807FD08 +sub_807FD08: @ 807FD08 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x3A] + ldrh r1, [r4, 0x30] + adds r0, r1 + strh r0, [r4, 0x30] + ldrh r1, [r4, 0x32] + ldrh r2, [r4, 0x36] + subs r1, r2 + ldrh r0, [r4, 0x3C] + adds r1, r0 + strh r1, [r4, 0x32] + ldrh r3, [r4, 0x2E] + adds r0, r3 + strh r0, [r4, 0x2E] + subs r2, 0x1 + strh r2, [r4, 0x36] + lsls r0, 16 + lsls r1, 16 + cmp r0, r1 + bge _0807FD56 + ldrh r0, [r4, 0x34] + subs r0, 0x1 + strh r0, [r4, 0x36] + strh r0, [r4, 0x34] + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + ble _0807FD50 + adds r0, r4, 0 + bl RemoveObjectAndFreeTiles + b _0807FD56 +_0807FD50: + movs r0, 0x74 + bl audio_play +_0807FD56: + ldrh r0, [r4, 0x30] + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x32] + strh r0, [r4, 0x22] + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_807FD08 + + thumb_func_start sub_807FD64 +sub_807FD64: @ 807FD64 + push {r4-r6,lr} + ldr r5, [sp, 0x10] + ldr r6, [sp, 0x14] + lsls r2, 16 + lsrs r2, 16 + movs r4, 0 + strh r2, [r0, 0x2E] + strh r1, [r0, 0x30] + strh r2, [r0, 0x32] + strh r3, [r0, 0x34] + movs r1, 0xA + strh r1, [r0, 0x36] + strh r4, [r0, 0x38] + strh r5, [r0, 0x3A] + strh r6, [r0, 0x3C] + ldr r1, =sub_807FD08 + str r1, [r0, 0x1C] + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_807FD64 + + thumb_func_start sub_807FD90 +sub_807FD90: @ 807FD90 + push {r4-r6,lr} + mov r6, r8 + push {r6} + sub sp, 0x8 + adds r6, r1, 0 + lsls r6, 24 + lsrs r6, 24 + lsls r0, 24 + movs r1, 0xF6 + lsls r1, 23 + adds r0, r1 + lsrs r0, 24 + movs r3, 0x1 + ands r3, r6 + movs r1, 0 + movs r2, 0x50 + bl sub_80D511C + lsls r0, 24 + lsrs r0, 24 + lsls r2, r0, 4 + mov r8, r2 + add r8, r0 + mov r3, r8 + lsls r3, 2 + mov r8, r3 + ldr r0, =0x02020630 + add r8, r0 + ldr r5, =gUnknown_08339C78 + lsls r4, r6, 2 + adds r4, r6 + lsls r4, 1 + adds r0, r4, r5 + movs r6, 0 + ldrsh r1, [r0, r6] + adds r0, r5, 0x2 + adds r0, r4, r0 + movs r3, 0 + ldrsh r2, [r0, r3] + adds r0, r5, 0x4 + adds r0, r4, r0 + movs r6, 0 + ldrsh r3, [r0, r6] + adds r0, r5, 0x6 + adds r0, r4, r0 + movs r6, 0 + ldrsh r0, [r0, r6] + str r0, [sp] + adds r5, 0x8 + adds r4, r5 + movs r5, 0 + ldrsh r0, [r4, r5] + str r0, [sp, 0x4] + mov r0, r8 + bl sub_807FD64 + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_807FD90 + + thumb_func_start sub_807FE14 +sub_807FE14: @ 807FE14 + push {r4-r6,lr} + adds r6, r0, 0 + lsls r5, r1, 16 + lsrs r5, 16 + adds r0, r5, 0 + adds r0, 0x7C + lsls r0, 24 + lsrs r0, 24 + bl GetBerryInfo + adds r4, r0, 0 + strh r5, [r6] + adds r0, r6, 0x2 + adds r1, r4, 0 + bl CopyString + ldrb r0, [r4, 0x15] + strb r0, [r6, 0x9] + ldrb r0, [r4, 0x16] + strb r0, [r6, 0xA] + ldrb r0, [r4, 0x17] + strb r0, [r6, 0xB] + ldrb r0, [r4, 0x18] + strb r0, [r6, 0xC] + ldrb r0, [r4, 0x19] + strb r0, [r6, 0xD] + ldrb r0, [r4, 0x1A] + strb r0, [r6, 0xE] + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_807FE14 + + thumb_func_start sub_807FE54 +sub_807FE54: @ 807FE54 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x1 + beq _0807FE7C + cmp r5, 0x1 + bgt _0807FE68 + cmp r5, 0 + beq _0807FE72 + b _0807FF88 +_0807FE68: + cmp r5, 0x2 + beq _0807FEE8 + cmp r5, 0x3 + beq _0807FF3C + b _0807FF88 +_0807FE72: + ldr r0, =0x03005d98 + strb r5, [r0] + b _0807FF88 + .pool +_0807FE7C: + ldr r0, =0x03005d98 + strb r5, [r0] + ldr r0, =0x020322a4 + ldr r0, [r0] + adds r0, 0x7C + movs r1, 0x2 + strb r1, [r0] + ldr r4, =0x020229f0 + ldr r0, =0x03005d90 + ldr r1, [r0] + adds r0, r4, 0 + bl CopyString + movs r0, 0xD0 + lsls r0, 2 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + bne _0807FEC8 + adds r0, r4, 0 + adds r0, 0x1C + ldr r1, =gUnknown_083397D0 + ldr r1, [r1, 0xC] + bl CopyString + b _0807FED4 + .pool +_0807FEC8: + adds r0, r4, 0 + adds r0, 0x1C + ldr r1, =gUnknown_083397D0 + ldr r1, [r1] + bl CopyString +_0807FED4: + ldr r1, =0x020229e8 + movs r0, 0x2 + strh r0, [r1, 0x1A] + strh r0, [r1, 0x36] + b _0807FF88 + .pool +_0807FEE8: + ldr r0, =0x03005d98 + strb r5, [r0] + ldr r0, =0x020322a4 + ldr r0, [r0] + adds r0, 0x7C + movs r1, 0x3 + strb r1, [r0] + ldr r6, =0x020229f0 + ldr r0, =0x03005d90 + ldr r1, [r0] + adds r0, r6, 0 + bl CopyString + adds r0, r6, 0 + adds r0, 0x1C + ldr r4, =gUnknown_083397D0 + ldr r1, [r4, 0x10] + bl CopyString + adds r0, r6, 0 + adds r0, 0x38 + ldr r1, [r4, 0x8] + bl CopyString + adds r0, r6, 0 + subs r0, 0x8 + strh r5, [r0, 0x1A] + strh r5, [r0, 0x36] + adds r0, 0x52 + strh r5, [r0] + b _0807FF88 + .pool +_0807FF3C: + ldr r0, =0x03005d98 + strb r5, [r0] + ldr r0, =0x020322a4 + ldr r0, [r0] + adds r0, 0x7C + movs r1, 0x4 + strb r1, [r0] + ldr r5, =0x020229f0 + ldr r0, =0x03005d90 + ldr r1, [r0] + adds r0, r5, 0 + bl CopyString + adds r0, r5, 0 + adds r0, 0x1C + ldr r4, =gUnknown_083397D0 + ldr r1, [r4, 0x14] + bl CopyString + adds r0, r5, 0 + adds r0, 0x38 + ldr r1, [r4, 0x4] + bl CopyString + adds r0, r5, 0 + adds r0, 0x54 + ldr r1, [r4, 0x8] + bl CopyString + adds r0, r5, 0 + subs r0, 0x8 + movs r1, 0x2 + strh r1, [r0, 0x1A] + strh r1, [r0, 0x36] + adds r0, 0x52 + strh r1, [r0] + adds r0, 0x1C + strh r1, [r0] +_0807FF88: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_807FE54 + + thumb_func_start sub_807FFA4 +sub_807FFA4: @ 807FFA4 + push {r4,r5,lr} + movs r0, 0 + movs r1, 0 + bl SetGpuReg + ldr r4, =0x020322a4 + ldr r0, [r4] + cmp r0, 0 + bne _0807FFC0 + movs r0, 0x8F + lsls r0, 5 + bl AllocZeroed + str r0, [r4] +_0807FFC0: + ldr r0, [r4] + movs r1, 0 + strb r1, [r0] + ldr r0, [r4] + movs r2, 0x86 + lsls r2, 1 + adds r0, r2 + str r1, [r0] + movs r2, 0 + ldr r5, =0x020375e0 + movs r3, 0 +_0807FFD6: + ldr r0, [r4] + lsls r1, r2, 1 + adds r0, 0x74 + adds r0, r1 + strh r3, [r0] + adds r2, 0x1 + cmp r2, 0x3 + ble _0807FFD6 + ldrb r0, [r5] + bl sub_807FE54 + ldrh r0, [r5] + cmp r0, 0 + bne _08080008 + ldr r0, =sub_8080018 + bl SetMainCallback2 + b _0808000E + .pool +_08080008: + ldr r0, =sub_80808D4 + bl SetMainCallback2 +_0808000E: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_807FFA4 + + thumb_func_start sub_8080018 +sub_8080018: @ 8080018 + push {r4-r7,lr} + sub sp, 0x4 + ldr r1, =0x020322a4 + ldr r0, [r1] + ldrb r0, [r0] + adds r2, r1, 0 + cmp r0, 0x15 + bls _0808002A + b _08080546 +_0808002A: + lsls r0, 2 + ldr r1, =_0808003C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0808003C: + .4byte _08080094 + .4byte _08080100 + .4byte _08080120 + .4byte _0808019C + .4byte _080801AE + .4byte _080801C8 + .4byte _08080546 + .4byte _08080546 + .4byte _080801F8 + .4byte _08080248 + .4byte _0808026C + .4byte _08080302 + .4byte _0808035C + .4byte _080803D4 + .4byte _08080408 + .4byte _0808049C + .4byte _080804D0 + .4byte _08080546 + .4byte _080804F8 + .4byte _080804E4 + .4byte _080804EA + .4byte _08080508 +_08080094: + bl sub_8080588 + ldr r1, =0x020229c6 + ldr r2, =0x00004422 + adds r0, r2, 0 + strh r0, [r1] + ldr r2, =0x020322a4 + ldr r0, [r2] + adds r0, 0x72 + movs r1, 0 + strb r1, [r0] + movs r5, 0 + movs r6, 0 + movs r7, 0x92 + lsls r7, 1 +_080800B2: + ldr r0, [r2] + lsls r1, r5, 1 + adds r0, 0x64 + adds r0, r1 + strh r6, [r0] + adds r4, r5, 0x1 + adds r1, r5 + lsls r1, 1 + movs r3, 0x2 +_080800C4: + ldr r0, [r2] + adds r0, r7 + adds r0, r1 + strh r6, [r0] + adds r1, 0x2 + subs r3, 0x1 + cmp r3, 0 + bge _080800C4 + adds r5, r4, 0 + cmp r5, 0x3 + ble _080800B2 + ldr r3, =0x020322a4 + ldr r4, [r3] + adds r1, r4, 0 + adds r1, 0x70 + movs r2, 0 + movs r0, 0 + strh r0, [r1] + subs r1, 0x22 + strh r0, [r1] + strb r2, [r4, 0x1] + ldr r1, [r3] + b _080804FC + .pool +_08080100: + bl sub_807F7D8 + lsls r0, 24 + cmp r0, 0 + bne _0808010C + b _08080546 +_0808010C: + ldr r0, =0x020322a4 + ldr r1, [r0] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + bl sub_8082D28 + b _08080546 + .pool +_08080120: + movs r5, 0 + ldr r4, =gUnknown_083399C8 + ldr r6, =0x020322a4 +_08080126: + ldrb r1, [r4] + ldrb r2, [r4, 0x1] + ldr r0, =gUnknown_08339AD8 + movs r3, 0x1 + bl AddObjectToFront + ldr r1, [r6] + adds r1, 0x54 + adds r1, r5 + strb r0, [r1] + ldr r0, [r6] + adds r0, 0x54 + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =0x02020630 + adds r0, r1 + adds r1, r5, 0 + adds r1, 0x8 + lsls r1, 24 + lsrs r1, 24 + bl StartObjectImageAnim + adds r4, 0x2 + adds r5, 0x1 + cmp r5, 0x3 + ble _08080126 + ldr r0, =0x03003124 + ldrb r0, [r0] + cmp r0, 0 + bne _0808016A + b _080804F8 +_0808016A: + ldr r0, =0x030030fc + ldrb r0, [r0] + cmp r0, 0 + bne _08080174 + b _080804F8 +_08080174: + bl sub_800E0E8 + movs r0, 0 + movs r1, 0 + bl sub_800DFB4 + b _080804F8 + .pool +_0808019C: + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0x10 + movs r3, 0 + bl pal_fade_maybe + b _080804F8 +_080801AE: + bl sub_807F9D0 + ldr r0, =0x02037fd4 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _080801C0 + b _08080546 +_080801C0: + b _080804F8 + .pool +_080801C8: + ldr r4, =0x020322a4 + ldr r0, [r4] + ldr r3, =0x000011b8 + adds r0, r3 + ldr r1, =gUnknown_0833981A + movs r2, 0 + bl sub_808417C + ldr r1, [r4] + movs r2, 0 + movs r0, 0x8 + strb r0, [r1] + ldr r0, [r4] + movs r1, 0x84 + lsls r1, 1 + adds r0, r1 + str r2, [r0] + b _08080546 + .pool +_080801F8: + ldr r4, =0x020322a4 + ldr r1, [r4] + ldrb r0, [r1] + adds r0, 0x1 + movs r6, 0 + strb r0, [r1] + ldr r0, [r4] + movs r2, 0x8A + lsls r2, 1 + adds r0, r2 + strb r6, [r0] + ldr r0, [r4] + movs r5, 0xAC + lsls r5, 1 + adds r0, r5 + ldr r1, =0x0203ce7c + ldrh r1, [r1] + bl sub_807FE14 + ldr r0, =0x020228c4 + ldr r1, [r4] + adds r1, r5 + movs r2, 0x10 + bl memcpy + bl sub_800ADF8 + ldr r0, [r4] + movs r3, 0x84 + lsls r3, 1 + adds r0, r3 + str r6, [r0] + b _08080546 + .pool +_08080248: + bl sub_800A520 + lsls r0, 24 + cmp r0, 0 + bne _08080254 + b _08080546 +_08080254: + bl sub_800A5B4 + bl link_get_multiplayer_id + lsls r0, 24 + cmp r0, 0 + beq _08080264 + b _080804F8 +_08080264: + movs r0, 0x4 + bl sub_800A4D8 + b _080804F8 +_0808026C: + ldr r6, =0x020322a4 + ldr r1, [r6] + movs r0, 0x84 + lsls r0, 1 + adds r1, r0 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + cmp r0, 0x14 + bgt _08080282 + b _08080546 +_08080282: + movs r0, 0x4 + movs r1, 0x1 + bl sub_8197DF8 + bl sub_800A550 + adds r4, r0, 0 + bl sub_800A9D8 + lsls r4, 24 + lsls r0, 24 + cmp r4, r0 + beq _0808029E + b _08080546 +_0808029E: + movs r5, 0 + adds r7, r6, 0 + movs r6, 0xAC + lsls r6, 1 + b _080802D4 + .pool +_080802AC: + ldr r0, [r7] + lsls r4, r5, 4 + adds r0, r4, r0 + adds r0, r6 + lsls r1, r5, 8 + ldr r2, =0x020223c4 + adds r1, r2 + movs r2, 0x10 + bl memcpy + ldr r0, [r7] + lsls r2, r5, 1 + adds r1, r0, 0 + adds r1, 0x74 + adds r1, r2 + adds r0, r4 + adds r0, r6 + ldrh r0, [r0] + strh r0, [r1] + adds r5, 0x1 +_080802D4: + bl sub_8009FCC + lsls r0, 24 + lsrs r0, 24 + cmp r5, r0 + blt _080802AC + bl sub_800A5B4 + b _080804F8 + .pool +_080802EC: + ldrb r1, [r4] + lsls r1, 1 + adds r0, r2, 0 + adds r0, 0x74 + adds r0, r1 + ldrh r0, [r0] + lsls r1, r5, 24 + lsrs r1, 24 + bl sub_807FD90 + b _08080336 +_08080302: + bl sub_8009FCC + ldr r2, =0x020322a4 + ldr r1, [r2] + adds r1, 0x7C + strb r0, [r1] + movs r5, 0 + ldr r2, [r2] + movs r1, 0x8A + lsls r1, 1 + adds r4, r2, r1 + ldr r1, =gUnknown_083399D0 + adds r0, r2, 0 + adds r0, 0x7C + ldrb r0, [r0] + subs r0, 0x2 + lsls r0, 2 + ldrb r3, [r4] + adds r0, r1 +_08080328: + ldrb r1, [r0] + cmp r3, r1 + beq _080802EC + adds r0, 0x1 + adds r5, 0x1 + cmp r5, 0x3 + ble _08080328 +_08080336: + ldr r3, =0x020322a4 + ldr r1, [r3] + movs r0, 0x84 + lsls r0, 1 + adds r2, r1, r0 + movs r0, 0 + str r0, [r2] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + ldr r1, [r3] + movs r2, 0x8A + lsls r2, 1 + adds r1, r2 + b _080804FC + .pool +_0808035C: + ldr r3, [r2] + movs r0, 0x84 + lsls r0, 1 + adds r1, r3, r0 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + cmp r0, 0x3C + bgt _08080370 + b _08080546 +_08080370: + movs r1, 0x8A + lsls r1, 1 + adds r0, r3, r1 + adds r1, r3, 0 + adds r1, 0x7C + ldrb r0, [r0] + ldrb r1, [r1] + cmp r0, r1 + bcc _080803B8 + ldrb r0, [r3] + adds r0, 0x1 + strb r0, [r3] + ldr r2, [r2] + ldr r3, =gUnknown_083399DC + ldr r1, =gUnknown_083399E4 + adds r0, r2, 0 + adds r0, 0x7C + ldrb r0, [r0] + subs r0, 0x2 + adds r0, r1 + ldrb r0, [r0] + lsls r0, 1 + adds r0, r3 + ldr r3, =0xffffa800 + adds r1, r3, 0 + ldrh r0, [r0] + adds r1, r0 + adds r2, 0x4A + strh r1, [r2] + b _080803BE + .pool +_080803B8: + ldrb r0, [r3] + subs r0, 0x1 + strb r0, [r3] +_080803BE: + ldr r0, =0x020322a4 + ldr r0, [r0] + movs r1, 0x84 + lsls r1, 1 + adds r0, r1 + movs r1, 0 + str r1, [r0] + b _08080546 + .pool +_080803D4: + bl sub_800A520 + lsls r0, 24 + cmp r0, 0 + bne _080803E0 + b _08080546 +_080803E0: + ldr r2, =0x020322a4 + ldr r1, [r2] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + ldr r0, [r2] + movs r2, 0xA0 + lsls r2, 1 + adds r0, r2 + bl sub_8082CB4 + movs r0, 0x2B + bl audio_play + movs r0, 0x2 + bl ShowBg + b _08080546 + .pool +_08080408: + movs r1, 0x80 + lsls r1, 3 + movs r0, 0 + bl SetGpuRegBits + ldr r4, =0x020322a4 + ldr r2, [r4] + adds r1, r2, 0 + adds r1, 0x4A + movs r3, 0x80 + lsls r3, 2 + adds r0, r3, 0 + ldrh r3, [r1] + adds r0, r3 + strh r0, [r1] + movs r0, 0x8D + lsls r0, 1 + adds r1, r2, r0 + ldrh r0, [r1] + adds r0, 0x4 + strh r0, [r1] + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0xFF + bls _0808048C + movs r0, 0xC + movs r1, 0x2 + bl SetGpuRegBits + ldr r1, [r4] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + ldr r3, [r4] + movs r2, 0x8D + lsls r2, 1 + adds r1, r3, r2 + movs r0, 0x80 + lsls r0, 1 + strh r0, [r1] + ldr r2, =gUnknown_083399DC + ldr r1, =gUnknown_083399E4 + adds r0, r3, 0 + adds r0, 0x7C + ldrb r0, [r0] + subs r0, 0x2 + adds r0, r1 + ldrb r0, [r0] + lsls r0, 1 + adds r0, r2 + ldrh r0, [r0] + adds r1, r3, 0 + adds r1, 0x4A + strh r0, [r1] + movs r0, 0x84 + lsls r0, 1 + adds r1, r3, r0 + movs r0, 0 + str r0, [r1] + movs r0, 0x34 + bl audio_play + bl sub_808074C + bl sub_80807BC +_0808048C: + ldr r0, [r4] + b _080804BE + .pool +_0808049C: + bl sub_8083380 + lsls r0, 24 + cmp r0, 0 + beq _080804BA + ldr r0, =0x020322a4 + ldr r1, [r0] + movs r3, 0x84 + lsls r3, 1 + adds r2, r1, r3 + movs r0, 0 + str r0, [r2] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] +_080804BA: + ldr r0, =0x020322a4 + ldr r0, [r0] +_080804BE: + movs r1, 0xA0 + lsls r1, 1 + adds r0, r1 + bl sub_8082CB4 + b _08080546 + .pool +_080804D0: + ldr r0, =gUnknown_08339C2C + movs r2, 0x10 + negs r2, r2 + movs r1, 0x78 + movs r3, 0x3 + bl AddObjectToFront + b _080804F8 + .pool +_080804E4: + bl sub_800ADF8 + b _080804F8 +_080804EA: + bl sub_800A520 + lsls r0, 24 + cmp r0, 0 + beq _08080546 + bl sub_800A418 +_080804F8: + ldr r0, =0x020322a4 + ldr r1, [r0] +_080804FC: + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _08080546 + .pool +_08080508: + ldr r5, =0x020322a4 + ldr r3, [r5] + adds r1, r3, 0 + adds r1, 0x4C + movs r2, 0 + movs r0, 0x80 + strh r0, [r1] + movs r1, 0x82 + lsls r1, 1 + adds r0, r3, r1 + str r2, [r0] + ldr r0, =sub_8081898 + bl SetMainCallback2 + bl current_map_music_get + lsls r0, 16 + lsrs r0, 16 + ldr r4, =0x00000193 + cmp r0, r4 + beq _08080540 + bl current_map_music_get + ldr r1, [r5] + movs r2, 0xAA + lsls r2, 1 + adds r1, r2 + strh r0, [r1] +_08080540: + adds r0, r4, 0 + bl song_play_for_text +_08080546: + ldr r0, =0x020322a4 + ldr r1, [r0] + movs r3, 0x8E + lsls r3, 1 + adds r0, r1, r3 + movs r2, 0 + ldrsh r0, [r0, r2] + adds r3, 0x2 + adds r1, r3 + movs r2, 0 + ldrsh r1, [r1, r2] + bl nullsub_31 + bl RunTasks + bl CallObjectCallbacks + bl PrepareSpritesForOamLoad + bl RunTextPrinters + bl fade_and_return_progress_probably + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8080018 + + thumb_func_start sub_8080588 +sub_8080588: @ 8080588 + push {r4,lr} + movs r0, 0 + movs r1, 0 + bl SetGpuReg + bl ResetAllObjectData + bl ResetObjectPaletteAllocator + bl ResetTasks + ldr r0, =sub_807F764 + bl SetVBlankCallback + movs r0, 0 + bl ResetBgsAndClearDma3BusyFlags + ldr r1, =gUnknown_08339974 + movs r0, 0x1 + movs r2, 0x3 + bl InitBgsFromTemplates + ldr r4, =0x020322a4 + ldr r1, [r4] + movs r0, 0xDC + lsls r0, 1 + adds r1, r0 + movs r0, 0x1 + bl SetBgTilemapBuffer + ldr r1, [r4] + ldr r3, =0x000009b8 + adds r1, r3 + movs r0, 0x2 + bl SetBgTilemapBuffer + movs r0, 0 + movs r1, 0x1 + movs r2, 0xD0 + bl sub_809882C + movs r0, 0 + movs r1, 0x14 + movs r2, 0xF0 + bl copy_textbox_border_tile_patterns_to_vram + bl sub_807FA34 + ldr r2, [r4] + adds r0, r2, 0 + adds r0, 0x44 + movs r1, 0 + strh r1, [r0] + adds r0, 0x8 + strh r1, [r0] + subs r0, 0x2 + strh r1, [r0] + adds r0, 0x4 + strh r1, [r0] + movs r3, 0x8E + lsls r3, 1 + adds r0, r2, r3 + strh r1, [r0] + adds r3, 0x2 + adds r0, r2, r3 + strh r1, [r0] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8080588 + + thumb_func_start task_tutorial_oak_boy_girl +task_tutorial_oak_boy_girl: @ 8080624 + push {lr} + lsls r0, 16 + lsls r1, 24 + lsrs r0, 24 + adds r2, r0, 0 + adds r2, 0x18 + ldr r0, =0x020322a4 + ldr r0, [r0] + lsrs r1, 23 + adds r0, 0x96 + adds r0, r1 + ldrb r0, [r0] + ldr r1, =gUnknown_083399E7 + adds r0, r1 + ldrb r1, [r0] + cmp r2, r1 + bcc _0808066C + adds r0, r1, 0 + adds r0, 0x30 + cmp r2, r0 + bcs _0808066C + subs r0, 0x1C + cmp r2, r0 + bcc _08080668 + adds r0, 0x8 + cmp r2, r0 + bcs _08080668 + movs r0, 0x2 + b _0808066E + .pool +_08080668: + movs r0, 0x1 + b _0808066E +_0808066C: + movs r0, 0 +_0808066E: + pop {r1} + bx r1 + thumb_func_end task_tutorial_oak_boy_girl + + thumb_func_start sub_8080674 +sub_8080674: @ 8080674 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 16 + lsrs r5, r0, 16 + lsls r1, 24 + lsrs r1, 24 + movs r6, 0 + cmp r5, 0xAF + bne _080806AC + movs r4, 0 + subs r7, r1, 0x1 + adds r2, 0x9 +_08080690: + adds r0, r2, r6 + adds r1, r2, r4 + ldrb r0, [r0] + ldrb r1, [r1] + cmp r0, r1 + bls _0808069E + adds r6, r4, 0 +_0808069E: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x4 + bls _08080690 + adds r0, r6, 0x5 + b _080806C4 +_080806AC: + adds r0, r5, 0 + subs r0, 0x85 + lsls r0, 16 + lsrs r6, r0, 16 + subs r7, r1, 0x1 + cmp r6, 0x4 + bls _080806C8 + adds r0, r6, 0 + movs r1, 0x5 + bl __umodsi3 + adds r0, 0x5 +_080806C4: + lsls r0, 16 + lsrs r6, r0, 16 +_080806C8: + movs r4, 0 + cmp r4, r7 + bge _08080734 + ldr r0, =gUnknown_08339CA0 + mov r9, r0 + adds r0, r5, 0 + subs r0, 0xA3 + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 +_080806DC: + lsls r0, r6, 1 + adds r0, r6 + adds r0, r4, r0 + add r0, r9 + ldrb r5, [r0] + movs r0, 0xD0 + lsls r0, 2 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + bne _0808071A + ldr r0, =0x020375e0 + ldrh r0, [r0] + cmp r0, 0x1 + bne _0808071A + adds r0, r6, 0 + movs r1, 0x5 + bl __umodsi3 + lsls r0, 16 + lsrs r6, r0, 16 + ldr r0, =gUnknown_08339CBE + adds r0, r6, r0 + ldrb r5, [r0] + mov r0, r8 + cmp r0, 0x4 + bhi _0808071A + subs r0, r5, 0x5 + lsls r0, 16 + lsrs r5, r0, 16 +_0808071A: + adds r4, 0x1 + lsls r0, r4, 24 + lsrs r0, 24 + adds r1, r5, 0 + adds r1, 0x85 + lsls r1, 16 + lsrs r1, 16 + bl sub_8082FDC + lsls r4, 16 + lsrs r4, 16 + cmp r4, r7 + blt _080806DC +_08080734: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8080674 + + thumb_func_start sub_808074C +sub_808074C: @ 808074C + push {r4-r7,lr} + movs r4, 0 + ldr r7, =0x020322a4 + movs r6, 0xFF + ldr r5, =gUnknown_083399D0 +_08080756: + ldr r3, [r7] + lsls r2, r4, 1 + adds r0, r3, 0 + adds r0, 0x96 + adds r0, r2 + strh r6, [r0] + adds r1, r3, 0 + adds r1, 0x8E + adds r1, r2 + adds r0, r3, 0 + adds r0, 0x7C + ldrb r0, [r0] + subs r0, 0x2 + lsls r0, 2 + adds r0, r4, r0 + adds r0, r5 + ldrb r0, [r0] + strh r0, [r1] + adds r4, 0x1 + cmp r4, 0x3 + ble _08080756 + movs r3, 0 + ldr r7, =0x020322a4 +_08080784: + movs r4, 0 + adds r6, r3, 0x1 + lsls r5, r3, 1 +_0808078A: + ldr r2, [r7] + lsls r0, r4, 1 + adds r1, r2, 0 + adds r1, 0x8E + adds r1, r0 + ldrh r0, [r1] + cmp r0, r3 + bne _080807A2 + adds r0, r2, 0 + adds r0, 0x96 + adds r0, r5 + strh r4, [r0] +_080807A2: + adds r4, 0x1 + cmp r4, 0x3 + ble _0808078A + adds r3, r6, 0 + cmp r3, 0x3 + ble _08080784 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_808074C + + thumb_func_start sub_80807BC +sub_80807BC: @ 80807BC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x1C + movs r0, 0 + mov r10, r0 + ldr r0, =0x03003124 + ldrb r0, [r0] + cmp r0, 0 + beq _080807DE + bl link_get_multiplayer_id + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 +_080807DE: + movs r6, 0 + ldr r7, =0x020322a4 + mov r8, r6 +_080807E4: + ldr r2, [r7] + lsls r5, r6, 1 + adds r0, r2, 0 + adds r0, 0x8E + adds r3, r0, r5 + ldrh r0, [r3] + cmp r0, 0xFF + beq _080808B6 + adds r1, r2, 0 + adds r1, 0x50 + ldrh r3, [r3] + adds r1, r3 + adds r0, r2, 0 + adds r0, 0x54 + adds r0, r6 + ldrb r0, [r0] + movs r2, 0 + mov r9, r2 + strb r0, [r1] + ldr r0, [r7] + adds r1, r0, 0 + adds r1, 0x8E + adds r1, r5 + adds r0, 0x50 + ldrh r1, [r1] + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =0x02020630 + adds r0, r1 + mov r1, r8 + lsrs r4, r1, 24 + adds r1, r4, 0 + bl StartObjectImageAnim + add r1, sp, 0x8 + movs r0, 0xFF + strb r0, [r1] + ldr r0, [r7] + adds r0, 0x8E + adds r0, r5 + ldrh r0, [r0] + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + ldr r0, =0x020229f0 + adds r1, r0 + add r0, sp, 0x8 + bl CopyString + movs r0, 0x1 + add r1, sp, 0x8 + movs r2, 0x38 + bl GetStringCenterAlignXOffset + adds r2, r0, 0 + ldr r0, [r7] + adds r0, 0x8E + adds r0, r5 + mov r5, r8 + ldrh r0, [r0] + cmp r10, r0 + bne _08080890 + lsls r2, 24 + lsrs r2, 24 + mov r0, r9 + str r0, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + adds r0, r4, 0 + add r1, sp, 0x8 + movs r3, 0x1 + bl sub_80840D4 + b _080808A6 + .pool +_08080890: + lsls r2, 24 + lsrs r2, 24 + mov r1, r9 + str r1, [sp] + movs r0, 0x1 + str r0, [sp, 0x4] + adds r0, r4, 0 + add r1, sp, 0x8 + movs r3, 0x1 + bl sub_80840D4 +_080808A6: + lsrs r4, r5, 24 + adds r0, r4, 0 + bl PutWindowTilemap + adds r0, r4, 0 + movs r1, 0x3 + bl CopyWindowToVram +_080808B6: + movs r2, 0x80 + lsls r2, 17 + add r8, r2 + adds r6, 0x1 + cmp r6, 0x3 + ble _080807E4 + add sp, 0x1C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80807BC + + thumb_func_start sub_80808D4 +sub_80808D4: @ 80808D4 + push {r4-r7,lr} + sub sp, 0x4 + ldr r1, =0x020322a4 + ldr r0, [r1] + ldrb r0, [r0] + adds r2, r1, 0 + cmp r0, 0x15 + bls _080808E6 + b _08080DAE +_080808E6: + lsls r0, 2 + ldr r1, =_080808F8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_080808F8: + .4byte _08080950 + .4byte _080809E4 + .4byte _08080A04 + .4byte _08080A58 + .4byte _08080A84 + .4byte _08080DAE + .4byte _08080DAE + .4byte _08080DAE + .4byte _08080ABC + .4byte _08080DAE + .4byte _08080DAE + .4byte _08080AEC + .4byte _08080B3C + .4byte _08080BB0 + .4byte _08080BDC + .4byte _08080C78 + .4byte _08080CA0 + .4byte _08080DAE + .4byte _08080CAE + .4byte _08080CAE + .4byte _08080CAE + .4byte _08080CC4 +_08080950: + bl sub_800B4C0 + bl sub_8080588 + ldr r4, =0x0203ce7c + ldrh r1, [r4] + movs r0, 0 + bl sub_8082FDC + ldr r5, =0x020322a4 + ldr r0, [r5] + movs r6, 0xAC + lsls r6, 1 + adds r0, r6 + ldrh r1, [r4] + bl sub_807FE14 + ldrh r0, [r4] + ldr r2, [r5] + adds r1, r2, 0 + adds r1, 0x7C + ldrb r1, [r1] + adds r2, r6 + bl sub_8080674 + movs r4, 0 + movs r6, 0 + ldr r0, =0x020229c6 + mov r12, r0 + movs r7, 0x92 + lsls r7, 1 +_0808098E: + ldr r0, [r5] + lsls r1, r4, 1 + adds r0, 0x64 + adds r0, r1 + strh r6, [r0] + adds r3, r4, 0x1 + adds r1, r4 + lsls r1, 1 + movs r2, 0x2 +_080809A0: + ldr r0, [r5] + adds r0, r7 + adds r0, r1 + strh r6, [r0] + adds r1, 0x2 + subs r2, 0x1 + cmp r2, 0 + bge _080809A0 + adds r4, r3, 0 + cmp r4, 0x3 + ble _0808098E + ldr r4, =0x020322a4 + ldr r3, [r4] + adds r1, r3, 0 + adds r1, 0x70 + movs r2, 0 + movs r0, 0 + strh r0, [r1] + strb r2, [r3, 0x1] + ldr r1, =0x00004422 + adds r0, r1, 0 + mov r2, r12 + strh r0, [r2] + ldr r1, [r4] + b _08080CB2 + .pool +_080809E4: + bl sub_807F7D8 + lsls r0, 24 + cmp r0, 0 + bne _080809F0 + b _08080DAE +_080809F0: + ldr r0, =0x020322a4 + ldr r1, [r0] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + bl sub_8082D28 + b _08080DAE + .pool +_08080A04: + movs r4, 0 + ldr r5, =gUnknown_083399C8 + ldr r6, =0x020322a4 +_08080A0A: + ldrb r1, [r5] + ldrb r2, [r5, 0x1] + ldr r0, =gUnknown_08339AD8 + movs r3, 0x1 + bl AddObjectToFront + ldr r1, [r6] + adds r1, 0x54 + adds r1, r4 + strb r0, [r1] + ldr r0, [r6] + adds r0, 0x54 + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =0x02020630 + adds r0, r1 + adds r1, r4, 0 + adds r1, 0x8 + lsls r1, 24 + lsrs r1, 24 + bl StartObjectImageAnim + adds r5, 0x2 + adds r4, 0x1 + cmp r4, 0x3 + ble _08080A0A + b _08080CAE + .pool +_08080A58: + movs r0, 0x1 + negs r0, r0 + movs r4, 0 + str r4, [sp] + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl pal_fade_maybe + ldr r2, =0x020322a4 + ldr r1, [r2] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + ldr r0, [r2] + movs r3, 0x84 + lsls r3, 1 + adds r0, r3 + str r4, [r0] + b _08080DAE + .pool +_08080A84: + ldr r4, =0x020322a4 + ldr r1, [r4] + movs r5, 0x84 + lsls r5, 1 + adds r1, r5 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + cmp r0, 0x2 + bne _08080A9C + bl sub_807F9D0 +_08080A9C: + ldr r0, =0x02037fd4 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _08080AAA + b _08080DAE +_08080AAA: + ldr r1, [r4] + movs r0, 0x8 + strb r0, [r1] + b _08080DAE + .pool +_08080ABC: + ldr r2, =0x020322a4 + ldr r1, [r2] + movs r3, 0 + movs r0, 0xB + strb r0, [r1] + ldr r0, [r2] + movs r1, 0x8A + lsls r1, 1 + adds r0, r1 + strb r3, [r0] + b _08080DAE + .pool +_08080AD8: + lsls r1, 1 + adds r0, r3, 0 + adds r0, 0x74 + adds r0, r1 + ldrh r0, [r0] + lsls r1, r4, 24 + lsrs r1, 24 + bl sub_807FD90 + b _08080B16 +_08080AEC: + movs r4, 0 + ldr r2, =gUnknown_083399D0 + ldr r0, =0x020322a4 + ldr r3, [r0] + adds r0, r3, 0 + adds r0, 0x7C + ldrb r0, [r0] + subs r0, 0x2 + lsls r0, 2 + movs r5, 0x8A + lsls r5, 1 + adds r1, r3, r5 + ldrb r1, [r1] + adds r0, r2 +_08080B08: + ldrb r2, [r0] + cmp r1, r2 + beq _08080AD8 + adds r0, 0x1 + adds r4, 0x1 + cmp r4, 0x3 + ble _08080B08 +_08080B16: + ldr r3, =0x020322a4 + ldr r1, [r3] + movs r5, 0x84 + lsls r5, 1 + adds r2, r1, r5 + movs r0, 0 + str r0, [r2] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + ldr r1, [r3] + movs r0, 0x8A + lsls r0, 1 + adds r1, r0 + b _08080CB2 + .pool +_08080B3C: + ldr r3, [r2] + movs r2, 0x84 + lsls r2, 1 + adds r1, r3, r2 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + cmp r0, 0x3C + bgt _08080B50 + b _08080DAE +_08080B50: + movs r5, 0x8A + lsls r5, 1 + adds r0, r3, r5 + adds r4, r3, 0 + adds r4, 0x7C + ldrb r0, [r0] + ldrb r1, [r4] + cmp r0, r1 + bcc _08080B94 + ldr r2, =gUnknown_083399DC + ldr r1, =gUnknown_083399E4 + ldrb r0, [r4] + subs r0, 0x2 + adds r0, r1 + ldrb r0, [r0] + lsls r0, 1 + adds r0, r2 + ldr r2, =0xffffa800 + adds r1, r2, 0 + ldrh r0, [r0] + adds r1, r0 + adds r0, r3, 0 + adds r0, 0x4A + strh r1, [r0] + ldrb r0, [r3] + adds r0, 0x1 + b _08080B98 + .pool +_08080B94: + ldrb r0, [r3] + subs r0, 0x1 +_08080B98: + strb r0, [r3] + ldr r0, =0x020322a4 + ldr r0, [r0] + movs r3, 0x84 + lsls r3, 1 + adds r0, r3 + movs r1, 0 + str r1, [r0] + b _08080DAE + .pool +_08080BB0: + ldr r4, =0x020322a4 + ldr r1, [r4] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + bl sub_808074C + movs r0, 0x2B + bl audio_play + ldr r0, [r4] + movs r5, 0xA0 + lsls r5, 1 + adds r0, r5 + bl sub_8082CB4 + movs r0, 0x2 + bl ShowBg + b _08080DAE + .pool +_08080BDC: + movs r1, 0x80 + lsls r1, 3 + movs r0, 0 + bl SetGpuRegBits + ldr r4, =0x020322a4 + ldr r2, [r4] + adds r1, r2, 0 + adds r1, 0x4A + movs r3, 0x80 + lsls r3, 2 + adds r0, r3, 0 + ldrh r5, [r1] + adds r0, r5 + strh r0, [r1] + movs r0, 0x8D + lsls r0, 1 + adds r1, r2, r0 + ldrh r0, [r1] + adds r0, 0x4 + strh r0, [r1] + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0xFF + bls _08080C5C + ldrb r0, [r2] + adds r0, 0x1 + strb r0, [r2] + ldr r3, [r4] + movs r2, 0x8D + lsls r2, 1 + adds r1, r3, r2 + movs r0, 0x80 + lsls r0, 1 + strh r0, [r1] + ldr r2, =gUnknown_083399DC + ldr r1, =gUnknown_083399E4 + adds r0, r3, 0 + adds r0, 0x7C + ldrb r0, [r0] + subs r0, 0x2 + adds r0, r1 + ldrb r0, [r0] + lsls r0, 1 + adds r0, r2 + ldrh r1, [r0] + adds r0, r3, 0 + adds r0, 0x4A + strh r1, [r0] + movs r0, 0xC + movs r1, 0x2 + bl SetGpuRegBits + ldr r0, [r4] + movs r3, 0x84 + lsls r3, 1 + adds r0, r3 + movs r1, 0 + str r1, [r0] + movs r0, 0x34 + bl audio_play + bl sub_80807BC +_08080C5C: + ldr r0, [r4] + movs r5, 0xA0 + lsls r5, 1 + adds r0, r5 + bl sub_8082CB4 + b _08080DAE + .pool +_08080C78: + bl sub_8083380 + lsls r0, 24 + cmp r0, 0 + beq _08080C8C + ldr r0, =0x020322a4 + ldr r1, [r0] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] +_08080C8C: + ldr r0, =0x020322a4 + ldr r0, [r0] + movs r1, 0xA0 + lsls r1, 1 + adds r0, r1 + bl sub_8082CB4 + b _08080DAE + .pool +_08080CA0: + ldr r0, =gUnknown_08339C2C + movs r2, 0x10 + negs r2, r2 + movs r1, 0x78 + movs r3, 0x3 + bl AddObjectToFront +_08080CAE: + ldr r0, =0x020322a4 + ldr r1, [r0] +_08080CB2: + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _08080DAE + .pool +_08080CC4: + bl sub_8080DF8 + ldr r5, =0x020322a4 + ldr r4, [r5] + adds r1, r4, 0 + adds r1, 0x4C + movs r3, 0 + movs r2, 0 + movs r0, 0x80 + strh r0, [r1] + movs r1, 0x82 + lsls r1, 1 + adds r0, r4, r1 + str r2, [r0] + ldr r2, =0x00000123 + adds r0, r4, r2 + strb r3, [r0] + ldr r0, [r5] + adds r0, 0x72 + strb r3, [r0] + ldr r0, =sub_8081898 + bl SetMainCallback2 + ldr r0, =0x020375e0 + ldrh r0, [r0] + cmp r0, 0x1 + bne _08080D44 + movs r0, 0xD0 + lsls r0, 2 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + bne _08080D30 + ldr r0, =sub_8081224 + movs r1, 0xA + bl CreateTask + ldr r1, [r5] + movs r3, 0x90 + lsls r3, 1 + adds r1, r3 + b _08080D42 + .pool +_08080D30: + ldr r0, =gUnknown_083399EC + ldr r0, [r0] + movs r1, 0xA + bl CreateTask + ldr r1, [r5] + movs r5, 0x90 + lsls r5, 1 + adds r1, r5 +_08080D42: + strb r0, [r1] +_08080D44: + ldr r1, =0x020375e0 + ldrh r0, [r1] + cmp r0, 0x1 + bls _08080D80 + movs r4, 0 + ldrh r1, [r1] + cmp r4, r1 + bge _08080D80 + movs r5, 0xA0 + lsls r5, 20 + ldr r6, =gUnknown_083399EC +_08080D5A: + ldm r6!, {r0} + lsrs r1, r5, 24 + bl CreateTask + ldr r1, =0x020322a4 + ldr r1, [r1] + movs r2, 0x90 + lsls r2, 1 + adds r1, r2 + adds r1, r4 + strb r0, [r1] + movs r3, 0x80 + lsls r3, 17 + adds r5, r3 + adds r4, 0x1 + ldr r0, =0x020375e0 + ldrh r0, [r0] + cmp r4, r0 + blt _08080D5A +_08080D80: + bl current_map_music_get + lsls r0, 16 + lsrs r0, 16 + ldr r4, =0x00000193 + cmp r0, r4 + beq _08080D9E + bl current_map_music_get + ldr r1, =0x020322a4 + ldr r1, [r1] + movs r5, 0xAA + lsls r5, 1 + adds r1, r5 + strh r0, [r1] +_08080D9E: + adds r0, r4, 0 + bl song_play_for_text + movs r0, 0x35 + bl audio_play + bl sub_807F738 +_08080DAE: + ldr r0, =0x020322a4 + ldr r1, [r0] + movs r2, 0x8E + lsls r2, 1 + adds r0, r1, r2 + movs r3, 0 + ldrsh r0, [r0, r3] + movs r5, 0x8F + lsls r5, 1 + adds r1, r5 + movs r2, 0 + ldrsh r1, [r1, r2] + bl nullsub_31 + bl RunTasks + bl CallObjectCallbacks + bl PrepareSpritesForOamLoad + bl RunTextPrinters + bl fade_and_return_progress_probably + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80808D4 + + thumb_func_start sub_8080DF8 +sub_8080DF8: @ 8080DF8 + push {lr} + ldr r3, =0x03003110 + movs r0, 0 + ldr r1, =0x03003090 + movs r2, 0x3 +_08080E02: + strh r0, [r3] + strh r0, [r3, 0x4] + strh r0, [r1] + strh r0, [r1, 0x4] + adds r1, 0x10 + subs r2, 0x1 + cmp r2, 0 + bge _08080E02 + pop {r0} + bx r0 + .pool + thumb_func_end sub_8080DF8 + + thumb_func_start sub_8080E20 +sub_8080E20: @ 8080E20 + push {r4,lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r1, =0x03005e00 + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r2, r0, r1 + ldrh r0, [r2, 0x8] + adds r0, 0x1 + strh r0, [r2, 0x8] + lsls r0, 16 + asrs r0, 16 + movs r4, 0xA + ldrsh r1, [r2, r4] + cmp r0, r1 + ble _08080E58 + ldr r0, =0x03003090 + movs r4, 0xC + ldrsh r1, [r2, r4] + lsls r1, 4 + adds r0, 0x4 + adds r1, r0 + ldr r0, =0x00002345 + strh r0, [r1] + adds r0, r3, 0 + bl DestroyTask +_08080E58: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8080E20 + + thumb_func_start sub_8080E6C +sub_8080E6C: @ 8080E6C + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + lsls r5, 24 + lsrs r5, 24 + lsls r4, 24 + lsrs r4, 24 + ldr r0, =sub_8080E20 + movs r1, 0x50 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, =0x03005e00 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r4, [r1, 0xA] + strh r5, [r1, 0xC] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8080E6C + + thumb_func_start sub_8080EA4 +sub_8080EA4: @ 8080EA4 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r4, =0x020322a4 + ldr r0, [r4] + adds r0, 0x4A + ldrh r0, [r0] + movs r1, 0x1 + bl task_tutorial_oak_boy_girl + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + beq _08080EC2 + b _08080FB8 +_08080EC2: + ldr r2, =0x03005e00 + lsls r1, r5, 2 + adds r0, r1, r5 + lsls r0, 3 + adds r0, r2 + movs r2, 0x8 + ldrsh r0, [r0, r2] + adds r6, r1, 0 + cmp r0, 0 + beq _08080ED8 + b _08080FC6 +_08080ED8: + ldr r0, [r4] + ldr r1, =0x00000123 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _08080F9A + bl GenerateRandomNumber + lsls r0, 16 + lsrs r0, 16 + ldr r1, =0x0000028f + bl __udivsi3 + lsls r0, 24 + lsrs r1, r0, 24 + adds r3, r1, 0 + ldr r0, [r4] + adds r0, 0x4C + movs r4, 0 + ldrsh r2, [r0, r4] + ldr r0, =0x000001f3 + cmp r2, r0 + bgt _08080F40 + cmp r1, 0x4B + bls _08080F2C + ldr r1, =0x03003090 + ldr r0, =0x00004523 + b _08080F30 + .pool +_08080F2C: + ldr r1, =0x03003090 + ldr r0, =0x00005432 +_08080F30: + strh r0, [r1, 0x14] + ldr r0, =0x00005432 + b _08080F9E + .pool +_08080F40: + ldr r0, =0x000005db + cmp r2, r0 + bgt _08080F6E + cmp r1, 0x50 + bhi _08080F9A + adds r0, r1, 0 + subs r0, 0x15 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3B + bhi _08080F68 + ldr r1, =0x03003090 + ldr r0, =0x00005432 + b _08080F9E + .pool +_08080F68: + cmp r1, 0x9 + bhi _08080FA0 + b _08080F90 +_08080F6E: + cmp r1, 0x5A + bhi _08080F9A + adds r0, r1, 0 + subs r0, 0x47 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x13 + bhi _08080F8C + ldr r1, =0x03003090 + ldr r0, =0x00005432 + b _08080F9E + .pool +_08080F8C: + cmp r3, 0x1D + bhi _08080FA0 +_08080F90: + movs r0, 0x1 + movs r1, 0x5 + bl sub_8080E6C + b _08080FA0 +_08080F9A: + ldr r1, =0x03003090 + ldr r0, =0x00004523 +_08080F9E: + strh r0, [r1, 0x14] +_08080FA0: + ldr r0, =0x03005e00 + adds r1, r6, r5 + lsls r1, 3 + adds r1, r0 + movs r0, 0x1 + b _08080FC4 + .pool +_08080FB8: + ldr r0, =0x03005e00 + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + movs r0, 0 +_08080FC4: + strh r0, [r1, 0x8] +_08080FC6: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8080EA4 + + thumb_func_start sub_8080FD0 +sub_8080FD0: @ 8080FD0 + push {r4-r6,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r6, =0x020322a4 + ldr r3, [r6] + adds r0, r3, 0 + adds r0, 0x4A + ldrh r0, [r0] + movs r1, 0xC0 + lsls r1, 5 + adds r0, r1 + ldr r1, =0x0000ffff + ands r0, r1 + adds r1, r3, 0 + adds r1, 0x9A + ldrb r1, [r1] + lsrs r2, r0, 8 + ldr r0, =gUnknown_083399E7 + adds r1, r0 + ldrb r1, [r1] + adds r0, r1, 0 + adds r0, 0x14 + cmp r2, r0 + bls _080810E0 + adds r0, 0x14 + cmp r2, r0 + bcs _080810E0 + ldr r2, =0x03005e00 + lsls r1, r4, 2 + adds r0, r1, r4 + lsls r0, 3 + adds r2, r0, r2 + movs r5, 0x8 + ldrsh r0, [r2, r5] + adds r5, r1, 0 + cmp r0, 0 + bne _080810EE + ldr r1, =0x00000123 + adds r0, r3, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _080810CC + bl GenerateRandomNumber + lsls r0, 16 + lsrs r0, 16 + ldr r1, =0x0000028f + bl __udivsi3 + lsls r0, 24 + lsrs r2, r0, 24 + adds r3, r2, 0 + ldr r0, [r6] + adds r0, 0x4C + movs r6, 0 + ldrsh r1, [r0, r6] + ldr r0, =0x000001f3 + cmp r1, r0 + bgt _08081088 + cmp r2, 0x42 + bls _08081078 + ldr r1, =0x03003090 + ldr r0, =0x00004523 + strh r0, [r1, 0x24] + b _080810B0 + .pool +_08081078: + ldr r1, =0x03003090 + ldr r0, =0x00005432 + strh r0, [r1, 0x24] + b _080810B0 + .pool +_08081088: + cmp r2, 0x41 + bls _08081092 + ldr r1, =0x03003090 + ldr r0, =0x00004523 + strh r0, [r1, 0x24] +_08081092: + adds r0, r2, 0 + subs r0, 0x29 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x18 + bhi _080810A4 + ldr r1, =0x03003090 + ldr r0, =0x00005432 + strh r0, [r1, 0x24] +_080810A4: + cmp r3, 0x9 + bhi _080810B0 + movs r0, 0x2 + movs r1, 0x5 + bl sub_8080E6C +_080810B0: + ldr r0, =0x03005e00 + adds r1, r5, r4 + lsls r1, 3 + adds r1, r0 + movs r0, 0x1 + b _080810EC + .pool +_080810CC: + ldr r0, =0x03003090 + ldr r1, =0x00004523 + strh r1, [r0, 0x24] + movs r0, 0x1 + strh r0, [r2, 0x8] + b _080810EE + .pool +_080810E0: + ldr r0, =0x03005e00 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + movs r0, 0 +_080810EC: + strh r0, [r1, 0x8] +_080810EE: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8080FD0 + + thumb_func_start sub_80810F8 +sub_80810F8: @ 80810F8 + push {r4-r6,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r5, =0x020322a4 + ldr r3, [r5] + adds r0, r3, 0 + adds r0, 0x4A + ldrh r0, [r0] + movs r1, 0xC0 + lsls r1, 5 + adds r0, r1 + ldr r1, =0x0000ffff + ands r0, r1 + adds r1, r3, 0 + adds r1, 0x9C + ldrb r1, [r1] + lsrs r2, r0, 8 + ldr r0, =gUnknown_083399E7 + adds r1, r0 + ldrb r1, [r1] + adds r0, r1, 0 + adds r0, 0x14 + cmp r2, r0 + bls _0808120C + adds r0, 0x14 + cmp r2, r0 + bcs _0808120C + ldr r2, =0x03005e00 + lsls r1, r4, 2 + adds r0, r1, r4 + lsls r0, 3 + adds r2, r0, r2 + movs r6, 0x8 + ldrsh r0, [r2, r6] + adds r6, r1, 0 + cmp r0, 0 + bne _0808121A + ldr r1, =0x00000123 + adds r0, r3, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _080811F8 + bl GenerateRandomNumber + lsls r0, 16 + lsrs r0, 16 + ldr r1, =0x0000028f + bl __udivsi3 + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, [r5] + adds r0, 0x4C + movs r3, 0 + ldrsh r1, [r0, r3] + ldr r0, =0x000001f3 + cmp r1, r0 + bgt _080811AC + cmp r2, 0x58 + bls _0808119C + ldr r1, =0x03003090 + ldr r0, =0x00004523 + strh r0, [r1, 0x34] + b _080811DE + .pool +_0808119C: + ldr r1, =0x03003090 + ldr r0, =0x00005432 + strh r0, [r1, 0x34] + b _080811DE + .pool +_080811AC: + cmp r2, 0x3C + bls _080811C0 + ldr r1, =0x03003090 + ldr r0, =0x00004523 + b _080811D0 + .pool +_080811C0: + adds r0, r2, 0 + subs r0, 0x38 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x4 + bhi _080811D2 + ldr r1, =0x03003090 + ldr r0, =0x00005432 +_080811D0: + strh r0, [r1, 0x34] +_080811D2: + cmp r2, 0x4 + bhi _080811DE + movs r0, 0x3 + movs r1, 0x5 + bl sub_8080E6C +_080811DE: + ldr r0, =0x03005e00 + adds r1, r6, r4 + lsls r1, 3 + adds r1, r0 + movs r0, 0x1 + b _08081218 + .pool +_080811F8: + ldr r0, =0x03003090 + ldr r1, =0x00004523 + strh r1, [r0, 0x34] + movs r0, 0x1 + strh r0, [r2, 0x8] + b _0808121A + .pool +_0808120C: + ldr r0, =0x03005e00 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + movs r0, 0 +_08081218: + strh r0, [r1, 0x8] +_0808121A: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80810F8 + + thumb_func_start sub_8081224 +sub_8081224: @ 8081224 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, =0x020322a4 + ldr r0, [r0] + adds r0, 0x4A + ldrh r0, [r0] + movs r1, 0x1 + bl task_tutorial_oak_boy_girl + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bne _08081270 + ldr r0, =0x03005e00 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r2, r1, r0 + movs r1, 0x8 + ldrsh r0, [r2, r1] + cmp r0, 0 + bne _0808127E + ldr r0, =0x03003090 + ldr r1, =0x00004523 + strh r1, [r0, 0x14] + movs r0, 0x1 + strh r0, [r2, 0x8] + b _0808127E + .pool +_08081270: + ldr r0, =0x03005e00 + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + movs r0, 0 + strh r0, [r1, 0x8] +_0808127E: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8081224 + + thumb_func_start sub_8081288 +sub_8081288: @ 8081288 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 16 + lsrs r7, r0, 16 + mov r8, r7 + lsls r1, 24 + ldr r0, =gUnknown_08339B40 + ldr r4, =gUnknown_083399C8 + lsrs r1, 23 + adds r2, r1, r4 + ldrb r6, [r2] + ldr r5, =gUnknown_083399C0 + adds r2, r1, r5 + movs r3, 0 + ldrsb r3, [r2, r3] + lsls r2, r3, 2 + adds r2, r3 + lsls r2, 1 + subs r6, r2 + adds r4, 0x1 + adds r4, r1, r4 + ldrb r2, [r4] + adds r5, 0x1 + adds r1, r5 + movs r3, 0 + ldrsb r3, [r1, r3] + lsls r1, r3, 2 + adds r1, r3 + lsls r1, 1 + subs r2, r1 + adds r1, r6, 0 + movs r3, 0x1 + bl AddObjectToFront + lsls r0, 24 + lsrs r1, r0, 24 + adds r2, r1, 0 + ldr r0, =0x00004523 + cmp r7, r0 + bne _08081314 + lsls r4, r1, 4 + adds r4, r1 + lsls r4, 2 + ldr r5, =0x02020630 + adds r0, r4, r5 + movs r1, 0x2 + bl StartObjectImageAnim + adds r5, 0x1C + adds r4, r5 + ldr r0, =sub_8082F9C + str r0, [r4] + movs r0, 0x28 + bl audio_play + b _08081358 + .pool +_08081314: + ldr r0, =0x00005432 + cmp r7, r0 + bne _0808133C + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =0x02020630 + adds r0, r1 + movs r1, 0 + bl StartObjectImageAnim + movs r0, 0x1F + bl audio_play + b _08081358 + .pool +_0808133C: + ldr r0, =0x00002345 + cmp r8, r0 + bne _08081358 + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + ldr r1, =0x02020630 + adds r0, r1 + movs r1, 0x1 + bl StartObjectImageAnim + movs r0, 0x20 + bl audio_play +_08081358: + bl sub_8082E84 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8081288 + + thumb_func_start sub_8081370 +sub_8081370: @ 8081370 + push {r4-r7,lr} + lsls r0, 16 + lsrs r4, r0, 16 + adds r5, r4, 0 + bl sub_807F738 + ldr r0, =0x00004523 + cmp r4, r0 + beq _080813A4 + cmp r4, r0 + bgt _08081398 + ldr r0, =0x00002345 + cmp r4, r0 + beq _08081474 + b _080814A0 + .pool +_08081398: + ldr r0, =0x00005432 + cmp r5, r0 + beq _0808143C + b _080814A0 + .pool +_080813A4: + ldr r7, =0x020322a4 + ldr r4, [r7] + adds r5, r4, 0 + adds r5, 0x4C + ldrh r6, [r5] + movs r0, 0 + ldrsh r1, [r5, r0] + ldr r0, =0x000005db + cmp r1, r0 + bgt _080813E0 + ldr r1, =gUnknown_08339CC3 + adds r0, r4, 0 + adds r0, 0x7C + ldrb r0, [r0] + adds r0, r1 + ldrb r1, [r0] + movs r0, 0xC0 + lsls r0, 1 + bl __divsi3 + adds r0, r6, r0 + strh r0, [r5] + b _080814A0 + .pool +_080813E0: + ldr r1, =gUnknown_08339CC3 + adds r0, r4, 0 + adds r0, 0x7C + ldrb r0, [r0] + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x80 + bl __divsi3 + adds r0, r6, r0 + strh r0, [r5] + movs r1, 0x8E + lsls r1, 1 + adds r4, r1 + movs r1, 0 + ldrsh r0, [r5, r1] + movs r1, 0x64 + bl __divsi3 + adds r1, r0, 0 + subs r1, 0xA + lsls r1, 16 + lsrs r1, 16 + adds r0, r4, 0 + bl sub_80832BC + ldr r0, [r7] + movs r1, 0x8F + lsls r1, 1 + adds r4, r0, r1 + adds r0, 0x4C + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0x64 + bl __divsi3 + adds r1, r0, 0 + subs r1, 0xA + lsls r1, 16 + lsrs r1, 16 + adds r0, r4, 0 + bl sub_80832BC + b _080814A0 + .pool +_0808143C: + ldr r0, =0x020322a4 + ldr r2, [r0] + adds r4, r2, 0 + adds r4, 0x4C + ldrh r5, [r4] + movs r0, 0 + ldrsh r1, [r4, r0] + ldr r0, =0x000005db + cmp r1, r0 + bgt _080814A0 + ldr r1, =gUnknown_08339CC3 + adds r0, r2, 0 + adds r0, 0x7C + ldrb r0, [r0] + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x80 + lsls r0, 1 + bl __divsi3 + adds r0, r5, r0 + b _0808149E + .pool +_08081474: + ldr r0, =0x020322a4 + ldr r0, [r0] + adds r4, r0, 0 + adds r4, 0x4C + ldr r1, =gUnknown_08339CC3 + adds r0, 0x7C + ldrb r0, [r0] + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x80 + lsls r0, 1 + bl __divsi3 + ldrh r1, [r4] + subs r1, r0 + strh r1, [r4] + lsls r1, 16 + asrs r1, 16 + cmp r1, 0x7F + bgt _080814A0 + movs r0, 0x80 +_0808149E: + strh r0, [r4] +_080814A0: + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8081370 + + thumb_func_start sub_80814B0 +sub_80814B0: @ 80814B0 + push {lr} + lsls r0, 16 + lsrs r3, r0, 16 + lsls r1, 16 + lsrs r1, 16 + lsls r2, 16 + lsrs r2, 16 + ldr r0, =0x03003124 + ldrb r0, [r0] + cmp r0, 0 + beq _080814E4 + ldr r0, =0x030030fc + ldrb r0, [r0] + cmp r0, 0 + beq _080814E4 + movs r0, 0xFF + lsls r0, 8 + ands r0, r3 + cmp r0, r2 + bne _080814EC + movs r0, 0x1 + b _080814EE + .pool +_080814E4: + cmp r3, r1 + bne _080814EC + movs r0, 0x1 + b _080814EE +_080814EC: + movs r0, 0 +_080814EE: + pop {r1} + bx r1 + thumb_func_end sub_80814B0 + + thumb_func_start sub_80814F4 +sub_80814F4: @ 80814F4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + ldr r0, =0x020375e0 + ldrh r0, [r0] + cmp r0, 0 + beq _0808153C + ldr r3, =0x03003110 + ldrh r0, [r3, 0x4] + ldr r2, =0x03003090 + cmp r0, 0 + beq _0808151C + movs r1, 0 + strh r0, [r2, 0x4] + ldr r0, =0x00004444 + strh r0, [r2] + strh r1, [r3, 0x4] +_0808151C: + ldr r0, =0x03003090 + ldr r3, =0x00004444 + adds r1, r2, 0 + adds r1, 0x10 + adds r2, r0, 0 + adds r2, 0x14 + movs r7, 0x2 +_0808152A: + ldrh r0, [r2] + cmp r0, 0 + beq _08081532 + strh r3, [r1] +_08081532: + adds r1, 0x10 + adds r2, 0x10 + subs r7, 0x1 + cmp r7, 0 + bge _0808152A +_0808153C: + movs r7, 0 + ldr r1, =0x020322a4 + ldr r0, [r1] + adds r0, 0x7C + ldrb r0, [r0] + cmp r7, r0 + blt _0808154C + b _080816F6 +_0808154C: + ldr r0, =0x03003090 + adds r2, r0, 0 + adds r2, 0x20 + str r2, [sp] + movs r1, 0 + mov r9, r1 + movs r2, 0 + str r2, [sp, 0x4] + mov r8, r0 + ldr r0, =0x00005432 + mov r10, r0 +_08081562: + mov r1, r8 + ldrh r0, [r1] + ldr r1, =0x00004444 + movs r2, 0x88 + lsls r2, 7 + bl sub_80814B0 + cmp r0, 0 + bne _08081576 + b _080816D2 +_08081576: + ldr r6, =0x020322a4 + ldr r0, [r6] + adds r0, 0x96 + ldr r2, [sp, 0x4] + adds r0, r2 + ldrh r5, [r0] + mov r0, r8 + ldrh r4, [r0, 0x4] + ldr r1, =0x00004523 + cmp r4, r1 + bne _080815F4 + adds r0, r1, 0 + bl sub_8081370 + ldr r0, [r6] + movs r2, 0x8B + lsls r2, 1 + adds r4, r0, r2 + adds r0, 0x4C + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0x37 + bl __divsi3 + ldrh r1, [r4] + adds r1, r0 + strh r1, [r4] + lsls r1, 16 + ldr r0, =0x03e70000 + cmp r1, r0 + bls _080815BA + movs r0, 0xFA + lsls r0, 2 + strh r0, [r4] +_080815BA: + lsls r1, r5, 24 + lsrs r1, 24 + ldr r0, =0x00004523 + bl sub_8081288 + ldr r1, [r6] + movs r2, 0x92 + lsls r2, 1 + adds r1, r2 + add r1, r9 + ldrh r0, [r1] + adds r0, 0x1 + b _0808165E + .pool +_080815F4: + cmp r4, r10 + bne _08081632 + mov r0, r10 + bl sub_8081370 + ldr r0, [r6] + movs r1, 0x8B + lsls r1, 1 + adds r4, r0, r1 + adds r0, 0x4C + movs r2, 0 + ldrsh r0, [r0, r2] + movs r1, 0x46 + bl __divsi3 + ldrh r1, [r4] + adds r1, r0 + strh r1, [r4] + lsls r1, r5, 24 + lsrs r1, 24 + mov r0, r10 + bl sub_8081288 + ldr r1, [r6] + movs r0, 0x93 + lsls r0, 1 + adds r1, r0 + add r1, r9 + ldrh r0, [r1] + adds r0, 0x1 + b _0808165E +_08081632: + ldr r0, =0x00002345 + cmp r4, r0 + bne _0808166A + lsls r1, r5, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl sub_8081288 + adds r0, r4, 0 + bl sub_8081370 + ldr r0, [r6] + movs r1, 0x94 + lsls r1, 1 + adds r0, r1 + mov r2, r9 + adds r1, r0, r2 + ldrh r2, [r1] + ldr r0, =0x000003e6 + cmp r2, r0 + bhi _08081660 + adds r0, r2, 0x1 +_0808165E: + strh r0, [r1] +_08081660: + mov r0, r8 + ldrh r1, [r0, 0x4] + ldr r0, =0x00002345 + cmp r1, r0 + beq _08081678 +_0808166A: + ldr r1, [sp] + ldrh r0, [r1] + ldr r2, =0x00004523 + cmp r0, r2 + beq _08081678 + cmp r0, r10 + bne _080816D2 +_08081678: + ldr r0, =0x020322a4 + ldr r0, [r0] + adds r2, r0, 0 + adds r2, 0x4C + movs r0, 0 + ldrsh r1, [r2, r0] + ldr r0, =0x000005dc + cmp r1, r0 + ble _080816C8 + adds r0, r1, 0 + ldr r2, =0xfffffd12 + adds r0, r2 + movs r1, 0x14 + bl __divsi3 + adds r1, r0, 0 + movs r0, 0x80 + lsls r0, 1 + adds r1, r0 + lsls r1, 16 + lsrs r1, 16 + ldr r0, =0x03007420 + bl MPlayTempoControl + b _080816D2 + .pool +_080816C8: + ldr r0, =0x03007420 + movs r1, 0x80 + lsls r1, 1 + bl MPlayTempoControl +_080816D2: + ldr r1, [sp] + adds r1, 0x2 + str r1, [sp] + movs r2, 0x6 + add r9, r2 + ldr r0, [sp, 0x4] + adds r0, 0x2 + str r0, [sp, 0x4] + movs r1, 0x10 + add r8, r1 + adds r7, 0x1 + ldr r0, =0x020322a4 + ldr r0, [r0] + adds r0, 0x7C + ldrb r0, [r0] + cmp r7, r0 + bge _080816F6 + b _08081562 +_080816F6: + ldr r0, =0x020375e0 + ldrh r0, [r0] + cmp r0, 0 + beq _08081722 + movs r7, 0 + ldr r3, =0x020322a4 + ldr r0, [r3] + adds r0, 0x7C + ldrb r0, [r0] + cmp r7, r0 + bge _08081722 + movs r2, 0 + ldr r1, =0x03003090 +_08081710: + strh r2, [r1] + strh r2, [r1, 0x4] + adds r1, 0x10 + adds r7, 0x1 + ldr r0, [r3] + adds r0, 0x7C + ldrb r0, [r0] + cmp r7, r0 + blt _08081710 +_08081722: + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80814F4 + + thumb_func_start sub_8081744 +sub_8081744: @ 8081744 + push {r4-r6,lr} + movs r4, 0 + movs r6, 0 + ldr r0, =0x03003124 + ldrb r0, [r0] + cmp r0, 0 + beq _0808175A + bl link_get_multiplayer_id + lsls r0, 24 + lsrs r6, r0, 24 +_0808175A: + ldr r3, =0x020322a4 + ldr r1, [r3] + lsls r2, r6, 1 + adds r0, r1, 0 + adds r0, 0x96 + adds r0, r2 + ldrb r5, [r0] + adds r1, 0x63 + ldrb r0, [r1] + cmp r0, 0 + bne _0808182C + ldr r0, =0x03005d90 + ldr r0, [r0] + ldrb r0, [r0, 0x13] + cmp r0, 0x2 + bne _080817A8 + ldr r2, =0x030022c0 + ldrh r1, [r2, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080817B6 + ldrh r2, [r2, 0x28] + ldr r1, =0x00000201 + adds r0, r1, 0 + ands r0, r2 + cmp r0, r1 + beq _080817B6 + b _080817BA + .pool +_080817A8: + ldr r0, =0x030022c0 + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080817B6 + movs r4, 0x1 +_080817B6: + cmp r4, 0 + beq _0808182C +_080817BA: + ldr r4, =0x020322a4 + ldr r1, [r4] + lsls r2, r5, 1 + adds r0, r1, 0 + adds r0, 0x8E + adds r0, r2 + adds r1, 0x50 + ldrh r0, [r0] + adds r1, r0 + ldrb r1, [r1] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =0x02020630 + adds r0, r1 + adds r1, r5, 0x4 + lsls r1, 24 + lsrs r1, 24 + bl StartObjectImageAnim + ldr r0, [r4] + adds r0, 0x4A + ldrh r0, [r0] + adds r1, r6, 0 + bl task_tutorial_oak_boy_girl + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bne _08081810 + ldr r1, =0x03003110 + ldr r0, =0x00004523 + b _08081828 + .pool +_08081810: + cmp r0, 0x1 + bne _08081824 + ldr r1, =0x03003110 + ldr r0, =0x00005432 + b _08081828 + .pool +_08081824: + ldr r1, =0x03003110 + ldr r0, =0x00002345 +_08081828: + strh r0, [r1, 0x4] + adds r3, r4, 0 +_0808182C: + ldr r1, [r3] + adds r1, 0x72 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x5 + bls _0808185A + ldr r0, [r3] + adds r1, r0, 0 + adds r1, 0x4C + ldrh r2, [r1] + movs r4, 0 + ldrsh r0, [r1, r4] + cmp r0, 0x80 + ble _08081852 + subs r0, r2, 0x1 + strh r0, [r1] +_08081852: + ldr r0, [r3] + adds r0, 0x72 + movs r1, 0 + strb r1, [r0] +_0808185A: + ldr r0, =0x020322d5 + ldrb r0, [r0] + cmp r0, 0 + beq _0808187E + ldr r0, =0x030022c0 + ldrh r1, [r0, 0x2E] + movs r0, 0x80 + lsls r0, 2 + ands r0, r1 + cmp r0, 0 + beq _0808187E + ldr r0, [r3] + ldr r1, =0x00000123 + adds r2, r0, r1 + ldrb r0, [r2] + movs r1, 0x1 + eors r0, r1 + strb r0, [r2] +_0808187E: + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8081744 + + thumb_func_start sub_8081898 +sub_8081898: @ 8081898 + push {r4-r6,lr} + bl sub_8082D28 + ldr r4, =0x020322a4 + ldr r0, [r4] + movs r1, 0x82 + lsls r1, 1 + adds r2, r0, r1 + ldr r1, [r2] + ldr r0, =0x00057e03 + cmp r1, r0 + bhi _080818B4 + adds r0, r1, 0x1 + str r0, [r2] +_080818B4: + bl sub_8081744 + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x4C + ldrh r0, [r0] + movs r5, 0x8B + lsls r5, 1 + adds r1, r5 + ldrh r1, [r1] + bl sub_800A994 + bl sub_80814F4 + ldr r0, [r4] + adds r0, r5 + ldrh r0, [r0] + movs r6, 0xFA + lsls r6, 2 + adds r1, r6, 0 + bl sub_8083140 + ldr r0, [r4] + adds r0, 0x4C + ldrh r0, [r0] + bl sub_8083230 + bl sub_808330C + bl sub_8082AD4 + ldr r2, [r4] + adds r3, r2, 0 + adds r3, 0x63 + ldrb r0, [r3] + cmp r0, 0 + bne _0808191A + movs r1, 0x8C + lsls r1, 1 + adds r0, r2, r1 + ldrh r1, [r0] + ldr r0, =0x000003e7 + cmp r1, r0 + bls _0808191A + adds r0, r2, r5 + strh r6, [r0] + movs r0, 0x1 + strb r0, [r3] + ldr r0, =sub_8081FC8 + bl SetMainCallback2 +_0808191A: + ldr r0, =0x020322a4 + ldr r1, [r0] + movs r2, 0x8E + lsls r2, 1 + adds r0, r1, r2 + movs r2, 0 + ldrsh r0, [r0, r2] + movs r2, 0x8F + lsls r2, 1 + adds r1, r2 + movs r2, 0 + ldrsh r1, [r1, r2] + bl nullsub_31 + bl RunTasks + bl CallObjectCallbacks + bl PrepareSpritesForOamLoad + bl RunTextPrinters + bl fade_and_return_progress_probably + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8081898 + + thumb_func_start nullsub_31 +nullsub_31: @ 8081960 + bx lr + thumb_func_end nullsub_31 + + thumb_func_start help_system_is_not_first_time +help_system_is_not_first_time: @ 8081964 + push {r4,r5,lr} + lsls r1, 24 + lsls r2, 24 + lsrs r1, 20 + adds r4, r1, r0 + lsrs r2, 20 + adds r5, r2, r0 + ldrh r0, [r4] + ldrh r1, [r5] + cmp r0, r1 + bne _080819A2 + adds r0, r4, 0x2 + adds r1, r5, 0x2 + bl CompareString + cmp r0, 0 + bne _080819B0 + ldr r0, [r4, 0x8] + ldr r2, =0xffffff00 + ands r0, r2 + ldr r1, [r5, 0x8] + ands r1, r2 + cmp r0, r1 + bne _080819B0 + ldr r0, [r4, 0xC] + ldr r2, =0x00ffffff + ands r0, r2 + ldr r1, [r5, 0xC] + ands r1, r2 + cmp r0, r1 + bne _080819B0 +_080819A2: + movs r0, 0x1 + b _080819B2 + .pool +_080819B0: + movs r0, 0 +_080819B2: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end help_system_is_not_first_time + + thumb_func_start sub_80819B8 +sub_80819B8: @ 80819B8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + mov r10, r0 + lsls r2, 24 + lsrs r2, 24 + str r2, [sp, 0x10] + lsls r3, 24 + lsrs r3, 24 + mov r2, sp + movs r4, 0x5 +_080819D4: + ldrh r0, [r1] + strh r0, [r2] + adds r1, 0x2 + adds r2, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _080819D4 + movs r6, 0 + mov r1, sp + movs r4, 0x4 +_080819E8: + movs r2, 0 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _080819F2 + adds r6, 0x1 +_080819F2: + adds r1, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _080819E8 + cmp r6, 0x5 + beq _08081A46 + cmp r3, 0x3 + bhi _08081A46 + movs r4, 0 + ldr r3, [sp, 0x10] + cmp r4, r3 + bge _08081A5E + mov r3, r10 +_08081A0C: + movs r6, 0 + ldr r7, [sp, 0x10] + cmp r6, r7 + bge _08081A54 + mov r9, r3 + mov r5, r10 + lsls r0, r4, 24 + mov r8, r0 +_08081A1C: + mov r1, r9 + ldrh r0, [r1] + ldrh r2, [r5] + cmp r0, r2 + bne _08081A4A + cmp r4, r6 + beq _08081A4A + cmp r0, 0xAF + bne _08081A46 + lsls r2, r6, 24 + lsrs r2, 24 + mov r0, r10 + mov r7, r8 + lsrs r1, r7, 24 + str r3, [sp, 0xC] + bl help_system_is_not_first_time + lsls r0, 24 + ldr r3, [sp, 0xC] + cmp r0, 0 + beq _08081A4A +_08081A46: + movs r0, 0xC + b _08081B9E +_08081A4A: + adds r5, 0x10 + adds r6, 0x1 + ldr r0, [sp, 0x10] + cmp r6, r0 + blt _08081A1C +_08081A54: + adds r3, 0x10 + adds r4, 0x1 + ldr r1, [sp, 0x10] + cmp r4, r1 + blt _08081A0C +_08081A5E: + movs r2, 0 + mov r1, sp + movs r4, 0x4 +_08081A64: + movs r3, 0 + ldrsh r0, [r1, r3] + cmp r0, 0 + ble _08081A72 + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 +_08081A72: + adds r1, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _08081A64 + cmp r2, 0x3 + bls _08081A82 + movs r0, 0xD + b _08081B9E +_08081A82: + cmp r2, 0x3 + bne _08081A8A + movs r0, 0xB + b _08081B9E +_08081A8A: + movs r4, 0 + mov r1, sp +_08081A8E: + movs r7, 0 + ldrsh r0, [r1, r7] + cmp r0, 0x32 + ble _08081A98 + b _08081B98 +_08081A98: + adds r1, 0x2 + adds r4, 0x1 + cmp r4, 0x4 + ble _08081A8E + cmp r2, 0x1 + bne _08081AEA + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + ble _08081AB2 + movs r0, 0x1 + b _08081B9E +_08081AB2: + mov r0, sp + ldrh r0, [r0, 0x2] + lsls r0, 16 + cmp r0, 0 + ble _08081AC0 + movs r0, 0x2 + b _08081B9E +_08081AC0: + mov r0, sp + movs r3, 0x4 + ldrsh r0, [r0, r3] + cmp r0, 0 + ble _08081ACE + movs r0, 0x3 + b _08081B9E +_08081ACE: + mov r0, sp + movs r4, 0x6 + ldrsh r0, [r0, r4] + cmp r0, 0 + ble _08081ADC + movs r0, 0x4 + b _08081B9E +_08081ADC: + mov r0, sp + movs r7, 0x8 + ldrsh r0, [r0, r7] + cmp r0, 0 + ble _08081AEA + movs r0, 0x5 + b _08081B9E +_08081AEA: + cmp r2, 0x2 + bne _08081B9C + movs r4, 0 + ldr r5, =0x03000df8 + mov r1, sp + adds r2, r5, 0 +_08081AF6: + movs r3, 0 + ldrsh r0, [r1, r3] + cmp r0, 0 + ble _08081B02 + strh r4, [r2] + adds r2, 0x2 +_08081B02: + adds r1, 0x2 + adds r4, 0x1 + cmp r4, 0x4 + ble _08081AF6 + movs r4, 0 + ldrsh r3, [r5, r4] + lsls r0, r3, 1 + mov r7, sp + adds r1, r7, r0 + movs r0, 0x2 + ldrsh r2, [r5, r0] + lsls r0, r2, 1 + add r0, sp + movs r4, 0 + ldrsh r1, [r1, r4] + movs r7, 0 + ldrsh r0, [r0, r7] + cmp r1, r0 + blt _08081B58 + adds r0, r3, 0 + cmp r0, 0 + bne _08081B38 + lsls r0, r2, 16 + b _08081B62 + .pool +_08081B38: + cmp r0, 0x1 + bne _08081B40 + lsls r0, r2, 16 + b _08081B6E +_08081B40: + cmp r0, 0x2 + bne _08081B48 + lsls r0, r2, 16 + b _08081B7A +_08081B48: + cmp r0, 0x3 + bne _08081B50 + lsls r0, r2, 16 + b _08081B86 +_08081B50: + cmp r0, 0x4 + bne _08081B9C + lsls r0, r2, 16 + b _08081B92 +_08081B58: + movs r2, 0x2 + ldrsh r0, [r5, r2] + cmp r0, 0 + bne _08081B68 + lsls r0, r3, 16 +_08081B62: + movs r1, 0x6 + orrs r0, r1 + b _08081B9E +_08081B68: + cmp r0, 0x1 + bne _08081B74 + lsls r0, r3, 16 +_08081B6E: + movs r1, 0x7 + orrs r0, r1 + b _08081B9E +_08081B74: + cmp r0, 0x2 + bne _08081B80 + lsls r0, r3, 16 +_08081B7A: + movs r1, 0x8 + orrs r0, r1 + b _08081B9E +_08081B80: + cmp r0, 0x3 + bne _08081B8C + lsls r0, r3, 16 +_08081B86: + movs r1, 0x9 + orrs r0, r1 + b _08081B9E +_08081B8C: + cmp r0, 0x4 + bne _08081B9C + lsls r0, r3, 16 +_08081B92: + movs r1, 0xA + orrs r0, r1 + b _08081B9E +_08081B98: + movs r0, 0xE + b _08081B9E +_08081B9C: + movs r0, 0 +_08081B9E: + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80819B8 + + thumb_func_start sub_8081BB0 +sub_8081BB0: @ 8081BB0 + ldr r1, =0x03000e04 + strh r0, [r1] + bx lr + .pool + thumb_func_end sub_8081BB0 + + thumb_func_start sub_8081BBC +sub_8081BBC: @ 8081BBC + ldr r0, =0x03000e04 + movs r1, 0 + ldrsh r0, [r0, r1] + bx lr + .pool + thumb_func_end sub_8081BBC + + thumb_func_start sub_8081BC8 +sub_8081BC8: @ 8081BC8 + ldr r1, =0x03000e06 + strh r0, [r1] + bx lr + .pool + thumb_func_end sub_8081BC8 + + thumb_func_start sub_8081BD4 +sub_8081BD4: @ 8081BD4 + ldr r0, =0x03000e06 + movs r1, 0 + ldrsh r0, [r0, r1] + bx lr + .pool + thumb_func_end sub_8081BD4 + + thumb_func_start sub_8081BE0 +sub_8081BE0: @ 8081BE0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + str r0, [sp] + mov r8, r1 + str r3, [sp, 0x4] + ldr r0, [sp, 0x30] + lsls r2, 24 + lsrs r2, 24 + mov r9, r2 + lsls r0, 16 + lsrs r0, 16 + str r0, [sp, 0x8] + ldr r7, =0x03000de8 + adds r2, r7, 0 + movs r1, 0 + adds r0, r7, 0 + adds r0, 0xA +_08081C0A: + strh r1, [r0] + subs r0, 0x2 + cmp r0, r2 + bge _08081C0A + movs r6, 0 + cmp r6, r9 + bge _08081C40 + ldr r0, =0x03000de8 + mov r12, r0 + ldr r5, [sp] + adds r5, 0x9 +_08081C20: + movs r3, 0 + adds r4, r5, 0 + mov r2, r12 +_08081C26: + adds r1, r4, r3 + ldrh r0, [r2] + ldrb r1, [r1] + adds r0, r1 + strh r0, [r2] + adds r2, 0x2 + adds r3, 0x1 + cmp r3, 0x5 + ble _08081C26 + adds r5, 0x10 + adds r6, 0x1 + cmp r6, r9 + blt _08081C20 +_08081C40: + movs r1, 0 + ldrsh r3, [r7, r1] + ldrh r0, [r7] + ldrh r1, [r7, 0x2] + subs r0, r1 + strh r0, [r7] + ldrh r0, [r7, 0x4] + subs r1, r0 + strh r1, [r7, 0x2] + ldrh r1, [r7, 0x6] + subs r0, r1 + strh r0, [r7, 0x4] + ldrh r0, [r7, 0x8] + subs r1, r0 + strh r1, [r7, 0x6] + subs r0, r3 + strh r0, [r7, 0x8] + movs r3, 0 + movs r2, 0 + adds r1, r7, 0 + movs r6, 0x4 +_08081C6A: + movs r4, 0 + ldrsh r0, [r1, r4] + cmp r0, 0 + bge _08081C76 + strh r2, [r1] + adds r3, 0x1 +_08081C76: + adds r1, 0x2 + subs r6, 0x1 + cmp r6, 0 + bge _08081C6A + lsls r0, r3, 24 + lsrs r0, 24 + mov r10, r0 + movs r4, 0 + ldr r1, =0x03000de8 + movs r6, 0x4 +_08081C8A: + ldrh r2, [r1] + movs r5, 0 + ldrsh r0, [r1, r5] + cmp r0, 0 + ble _08081CA4 + cmp r0, r3 + bge _08081CA0 + strh r4, [r1] + b _08081CA4 + .pool +_08081CA0: + subs r0, r2, r3 + strh r0, [r1] +_08081CA4: + adds r1, 0x2 + subs r6, 0x1 + cmp r6, 0 + bge _08081C8A + ldr r1, =0x03000de8 + ldr r2, =0x020322a8 + movs r6, 0x4 +_08081CB2: + movs r3, 0 + ldrsh r0, [r1, r3] + stm r2!, {r0} + adds r1, 0x2 + subs r6, 0x1 + cmp r6, 0 + bge _08081CB2 + ldr r1, =0x0000014d + ldr r0, [sp, 0x8] + bl __udivsi3 + lsls r0, 16 + lsrs r0, 16 + adds r3, r0, 0 + adds r3, 0x64 + ldr r4, =0x020322d0 + str r3, [r4] + movs r6, 0x4 +_08081CD6: + movs r0, 0 + ldrsh r5, [r7, r0] + adds r0, r5, 0 + muls r0, r3 + movs r1, 0xA + str r3, [sp, 0xC] + bl __divsi3 + adds r5, r0, 0 + movs r1, 0xA + bl __modsi3 + adds r4, r0, 0 + adds r0, r5, 0 + movs r1, 0xA + bl __divsi3 + adds r5, r0, 0 + ldr r3, [sp, 0xC] + cmp r4, 0x4 + ble _08081D02 + adds r5, 0x1 +_08081D02: + strh r5, [r7] + adds r7, 0x2 + subs r6, 0x1 + cmp r6, 0 + bge _08081CD6 + ldr r1, =0x03000de8 + ldr r2, =0x020322bc + movs r6, 0x4 +_08081D12: + movs r3, 0 + ldrsh r0, [r1, r3] + stm r2!, {r0} + adds r1, 0x2 + subs r6, 0x1 + cmp r6, 0 + bge _08081D12 + ldr r4, =0x03000de8 + ldr r0, [sp] + adds r1, r4, 0 + mov r2, r9 + mov r3, r10 + bl sub_80819B8 + mov r5, r8 + strb r0, [r5] + movs r1, 0xA + ldrsh r0, [r4, r1] + mov r1, r9 + bl __divsi3 + mov r3, r9 + subs r0, r3 + strh r0, [r4, 0xA] + lsls r0, 16 + cmp r0, 0 + bge _08081D4C + movs r0, 0 + strh r0, [r4, 0xA] +_08081D4C: + mov r5, r8 + ldrb r0, [r5] + cmp r0, 0xC + bne _08081DA6 + bl GenerateRandomNumber + lsls r0, 16 + lsrs r0, 16 + movs r1, 0xA + bl __umodsi3 + lsls r0, 16 + lsrs r3, r0, 16 + movs r6, 0 + ldr r0, =gUnknown_08339CC8 + adds r0, r3, r0 + ldrb r0, [r0] + adds r1, r4, 0 + movs r4, 0x1 + movs r3, 0x2 +_08081D74: + adds r2, r0, 0 + asrs r2, r6 + ands r2, r4 + cmp r2, 0 + beq _08081D9C + strh r3, [r1] + b _08081D9E + .pool +_08081D9C: + strh r2, [r1] +_08081D9E: + adds r1, 0x2 + adds r6, 0x1 + cmp r6, 0x4 + ble _08081D74 +_08081DA6: + ldr r7, =0x03000de8 + movs r2, 0xFF + adds r1, r7, 0 + movs r6, 0x5 +_08081DAE: + movs r3, 0 + ldrsh r0, [r1, r3] + cmp r0, 0xFF + ble _08081DB8 + strh r2, [r1] +_08081DB8: + adds r1, 0x2 + subs r6, 0x1 + cmp r6, 0 + bge _08081DAE + ldrh r0, [r7] + mov r4, r8 + strb r0, [r4, 0x1] + ldrh r0, [r7, 0x2] + strb r0, [r4, 0x2] + ldrh r0, [r7, 0x4] + strb r0, [r4, 0x3] + ldrh r0, [r7, 0x6] + strb r0, [r4, 0x4] + ldrh r0, [r7, 0x8] + strb r0, [r4, 0x5] + ldrh r0, [r7, 0xA] + strb r0, [r4, 0x6] + movs r6, 0 + adds r2, r7, 0 +_08081DDE: + ldr r5, [sp, 0x4] + adds r1, r5, r6 + ldrh r0, [r2] + strb r0, [r1] + adds r2, 0x2 + adds r6, 0x1 + cmp r6, 0x5 + ble _08081DDE + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8081BE0 + + thumb_func_start sub_8081E04 +sub_8081E04: @ 8081E04 + push {r4,lr} + sub sp, 0x4 + ldr r4, [sp, 0xC] + lsls r2, 24 + lsrs r2, 24 + lsls r4, 16 + lsrs r4, 16 + str r4, [sp] + bl sub_8081BE0 + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8081E04 + + thumb_func_start sub_8081E20 +sub_8081E20: @ 8081E20 + push {r4-r6,lr} + ldr r0, =0x020322a4 + ldr r0, [r0] + movs r2, 0x82 + lsls r2, 1 + adds r1, r0, r2 + ldrh r1, [r1] + adds r0, 0x4E + ldrh r4, [r0] + movs r2, 0 + ldr r5, =0x00000383 + cmp r1, r5 + bhi _08081E48 + movs r2, 0x5 + b _08081E9A + .pool +_08081E48: + ldr r3, =0xfffffc7c + adds r0, r1, r3 + lsls r0, 16 + lsrs r0, 16 + ldr r3, =0x00000257 + cmp r0, r3 + bhi _08081E64 + movs r2, 0x4 + b _08081E9A + .pool +_08081E64: + ldr r6, =0xfffffa24 + adds r0, r1, r6 + lsls r0, 16 + lsrs r0, 16 + cmp r0, r3 + bhi _08081E78 + movs r2, 0x3 + b _08081E9A + .pool +_08081E78: + ldr r3, =0xfffff7cc + adds r0, r1, r3 + lsls r0, 16 + lsrs r0, 16 + cmp r0, r5 + bhi _08081E8C + movs r2, 0x2 + b _08081E9A + .pool +_08081E8C: + ldr r6, =0xfffff31c + adds r0, r1, r6 + lsls r0, 16 + ldr r1, =0x012b0000 + cmp r0, r1 + bhi _08081E9A + movs r2, 0x1 +_08081E9A: + lsls r0, r2, 16 + asrs r0, 16 + bl sub_8081BC8 + movs r2, 0 + cmp r4, 0x40 + bhi _08081F7C + adds r0, r4, 0 + subs r0, 0x32 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x31 + bhi _08081EC4 + ldr r2, =0x0000ffff + b _08081F7C + .pool +_08081EC4: + adds r0, r4, 0 + subs r0, 0x64 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x31 + bhi _08081ED8 + ldr r2, =0x0000fffe + b _08081F7C + .pool +_08081ED8: + adds r0, r4, 0 + subs r0, 0x96 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x31 + bhi _08081EEC + ldr r2, =0x0000fffd + b _08081F7C + .pool +_08081EEC: + adds r0, r4, 0 + subs r0, 0xC8 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x31 + bhi _08081F00 + ldr r2, =0x0000fffc + b _08081F7C + .pool +_08081F00: + adds r0, r4, 0 + subs r0, 0xFA + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x31 + bhi _08081F14 + ldr r2, =0x0000fffb + b _08081F7C + .pool +_08081F14: + ldr r1, =0xfffffea2 + adds r0, r4, r1 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x31 + bhi _08081F2C + ldr r2, =0x0000fffa + b _08081F7C + .pool +_08081F2C: + ldr r3, =0xfffffe70 + adds r0, r4, r3 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x31 + bhi _08081F44 + ldr r2, =0x0000fff9 + b _08081F7C + .pool +_08081F44: + ldr r6, =0xfffffe0c + adds r0, r4, r6 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x31 + bhi _08081F5C + ldr r2, =0x0000fff8 + b _08081F7C + .pool +_08081F5C: + ldr r1, =0xfffffdda + adds r0, r4, r1 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x31 + bhi _08081F74 + ldr r2, =0x0000fff7 + b _08081F7C + .pool +_08081F74: + ldr r0, =0x00000257 + cmp r4, r0 + bls _08081F7C + ldr r2, =0x0000fff6 +_08081F7C: + lsls r0, r2, 16 + asrs r0, 16 + bl sub_8081BB0 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8081E20 + + thumb_func_start sub_8081F94 +sub_8081F94: @ 8081F94 + push {lr} + adds r1, r0, 0 + ldr r0, =0x03003124 + ldrb r0, [r0] + cmp r0, 0 + beq _08081FB8 + ldr r0, =0x030030fc + ldrb r0, [r0] + cmp r0, 0 + beq _08081FB8 + movs r2, 0xBC + lsls r2, 6 + b _08081FBA + .pool +_08081FB8: + ldr r2, =0x00002fff +_08081FBA: + adds r0, r2, 0 + strh r0, [r1] + pop {r0} + bx r0 + .pool + thumb_func_end sub_8081F94 + + thumb_func_start sub_8081FC8 +sub_8081FC8: @ 8081FC8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, =0x020322a4 + ldr r0, [r4] + adds r0, 0x63 + ldrb r0, [r0] + cmp r0, 0x2 + bhi _08081FDE + bl sub_8082D28 +_08081FDE: + bl link_get_multiplayer_id + ldr r0, [r4] + adds r0, 0x63 + ldrb r0, [r0] + subs r0, 0x1 + cmp r0, 0xC + bls _08081FF0 + b _0808249E +_08081FF0: + lsls r0, 2 + ldr r1, =_08082004 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08082004: + .4byte _08082038 + .4byte _08082078 + .4byte _080820D4 + .4byte _080821C8 + .4byte _08082278 + .4byte _08082286 + .4byte _080822B0 + .4byte _08082458 + .4byte _080822E4 + .4byte _08082308 + .4byte _080823B0 + .4byte _08082430 + .4byte _0808246C +_08082038: + ldr r0, =0x03007420 + movs r1, 0x80 + lsls r1, 1 + bl MPlayTempoControl + movs r4, 0 + b _08082064 + .pool +_0808204C: + ldr r0, =0x020322a4 + ldr r0, [r0] + movs r1, 0x90 + lsls r1, 1 + adds r0, r1 + adds r0, r4 + ldrb r0, [r0] + bl DestroyTask + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 +_08082064: + ldr r0, =0x020375e0 + ldrh r0, [r0] + cmp r4, r0 + bcc _0808204C + b _08082458 + .pool +_08082078: + ldr r4, =0x020322a4 + ldr r1, [r4] + adds r1, 0x4C + ldrh r0, [r1] + subs r0, 0x20 + strh r0, [r1] + lsls r0, 16 + cmp r0, 0 + bgt _080820C6 + bl sub_8009F8C + ldr r2, [r4] + adds r1, r2, 0 + adds r1, 0x4C + movs r0, 0 + strh r0, [r1] + ldr r0, =0x03003124 + ldrb r0, [r0] + cmp r0, 0 + beq _080820B0 + adds r1, 0x17 + ldrb r0, [r1] + adds r0, 0x1 + b _080820B6 + .pool +_080820B0: + adds r1, r2, 0 + adds r1, 0x63 + movs r0, 0x5 +_080820B6: + strb r0, [r1] + ldr r0, =0x020322a4 + ldr r1, [r0] + movs r0, 0 + strb r0, [r1] + ldr r0, =0x03007630 + bl MPlayStop_rev01 +_080820C6: + bl sub_807F738 + b _0808249E + .pool +_080820D4: + bl link_get_multiplayer_id + lsls r0, 24 + cmp r0, 0 + beq _080820E0 + b _08082458 +_080820E0: + bl sub_800A520 + lsls r0, 24 + cmp r0, 0 + bne _080820EC + b _0808249E +_080820EC: + ldr r0, =0x03003124 + ldrb r0, [r0] + cmp r0, 0 + beq _0808218C + ldr r0, =0x030030fc + ldrb r0, [r0] + cmp r0, 0 + beq _0808218C + ldr r3, =0x020322a4 + ldr r1, [r3] + movs r4, 0x8E + lsls r4, 5 + adds r2, r1, r4 + movs r5, 0x82 + lsls r5, 1 + adds r0, r1, r5 + ldr r0, [r0] + str r0, [r2] + adds r0, r1, 0 + adds r0, 0x4E + ldrh r0, [r0] + ldr r2, =0x000011c4 + adds r1, r2 + strh r0, [r1] + movs r4, 0 + mov r8, r3 + mov r12, r8 + ldr r7, =0x000011c8 + movs r6, 0x92 + lsls r6, 1 +_08082128: + movs r3, 0 + adds r5, r4, 0x1 + lsls r0, r4, 1 + adds r0, r4 + lsls r4, r0, 1 +_08082132: + mov r1, r12 + ldr r0, [r1] + lsls r1, r3, 1 + adds r1, r4 + adds r2, r0, r7 + adds r2, r1 + adds r0, r6 + adds r0, r1 + ldrh r0, [r0] + strh r0, [r2] + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x2 + bls _08082132 + lsls r0, r5, 24 + lsrs r4, r0, 24 + cmp r4, 0x3 + bls _08082128 + mov r2, r8 + ldr r1, [r2] + movs r4, 0x8E + lsls r4, 5 + adds r1, r4 + movs r0, 0 + movs r2, 0x20 + bl link_0800A448 + lsls r0, 24 + cmp r0, 0 + bne _08082172 + b _0808249E +_08082172: + mov r5, r8 + ldr r1, [r5] + b _0808245C + .pool +_0808218C: + ldr r4, =0x020322a4 + ldr r3, [r4] + movs r0, 0xCC + lsls r0, 1 + adds r1, r3, r0 + movs r2, 0x82 + lsls r2, 1 + adds r0, r3, r2 + ldr r0, [r0] + str r0, [r1] + adds r0, r3, 0 + adds r0, 0x4E + ldrh r2, [r0] + movs r5, 0xCE + lsls r5, 1 + adds r0, r3, r5 + strh r2, [r0] + movs r0, 0 + movs r2, 0x28 + bl link_0800A448 + lsls r0, 24 + cmp r0, 0 + bne _080821BE + b _0808249E +_080821BE: + ldr r1, [r4] + b _0808245C + .pool +_080821C8: + bl sub_800A550 + lsls r0, 24 + cmp r0, 0 + bne _080821D4 + b _0808249E +_080821D4: + bl sub_800A5B4 + ldr r5, =0x020322a4 + ldr r1, [r5] + adds r1, 0x63 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + ldr r0, =0x03003124 + ldrb r0, [r0] + cmp r0, 0 + beq _08082254 + ldr r0, =0x030030fc + ldrb r0, [r0] + cmp r0, 0 + beq _08082254 + ldr r2, =0x020223c4 + ldr r3, [r5] + ldrh r0, [r2, 0x4] + adds r1, r3, 0 + adds r1, 0x4E + strh r0, [r1] + movs r0, 0x82 + lsls r0, 1 + adds r1, r3, r0 + ldr r0, [r2] + str r0, [r1] + movs r4, 0 + adds r7, r2, 0 + adds r7, 0x8 + adds r6, r5, 0 + movs r2, 0x92 + lsls r2, 1 +_08082216: + movs r3, 0 + adds r5, r4, 0x1 + lsls r0, r4, 1 + adds r0, r4 + lsls r4, r0, 1 +_08082220: + ldr r1, [r6] + lsls r0, r3, 1 + adds r0, r4 + adds r1, r2 + adds r1, r0 + adds r0, r7, r0 + ldrh r0, [r0] + strh r0, [r1] + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x2 + bls _08082220 + lsls r0, r5, 24 + lsrs r4, r0, 24 + cmp r4, 0x3 + bls _08082216 + b _0808249E + .pool +_08082254: + ldr r2, =0x020223c4 + ldr r0, =0x020322a4 + ldr r3, [r0] + ldrh r0, [r2, 0x4] + adds r1, r3, 0 + adds r1, 0x4E + strh r0, [r1] + movs r4, 0x82 + lsls r4, 1 + adds r1, r3, r4 + ldr r0, [r2] + str r0, [r1] + b _0808249E + .pool +_08082278: + bl sub_8083B08 + lsls r0, 24 + cmp r0, 0 + bne _08082284 + b _0808249E +_08082284: + b _08082458 +_08082286: + bl berry_blender_related + lsls r0, 24 + cmp r0, 0 + bne _08082292 + b _0808249E +_08082292: + ldr r0, =0x03005d98 + ldrb r0, [r0] + cmp r0, 0 + bne _080822A8 + movs r0, 0x22 + bl sav12_xor_increment + b _08082458 + .pool +_080822A8: + movs r0, 0x21 + bl sav12_xor_increment + b _08082458 +_080822B0: + ldr r6, =0x020322a4 + ldr r4, [r6] + ldr r5, =0x000011b8 + adds r4, r5 + ldr r5, =gUnknown_08339831 + bl sav2_get_text_speed + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_808417C + cmp r0, 0 + bne _080822D2 + b _0808249E +_080822D2: + ldr r1, [r6] + b _0808245C + .pool +_080822E4: + ldr r4, =0x020322a4 + ldr r0, [r4] + adds r0, 0x9E + movs r1, 0 + strb r1, [r0] + ldr r0, =gUnknown_083399B8 + movs r1, 0x1 + movs r2, 0xD + movs r3, 0 + bl CreateYesNoMenu + ldr r1, [r4] + b _0808245C + .pool +_08082308: + bl sub_8198C58 + lsls r0, 24 + asrs r2, r0, 24 + cmp r2, 0 + beq _0808236C + cmp r2, 0 + bgt _08082322 + movs r0, 0x1 + negs r0, r0 + cmp r2, r0 + beq _08082328 + b _0808249E +_08082322: + cmp r2, 0x1 + beq _08082328 + b _0808249E +_08082328: + ldr r2, =0x020322a4 + ldr r0, [r2] + adds r0, 0x9E + movs r1, 0x1 + strb r1, [r0] + ldr r1, [r2] + adds r1, 0x63 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + movs r4, 0 +_0808233E: + ldr r0, =0x020322a4 + ldr r0, [r0] + lsls r1, r4, 1 + adds r0, 0x8E + adds r0, r1 + ldrh r0, [r0] + cmp r0, 0xFF + beq _0808235C + adds r0, r4, 0 + bl PutWindowTilemap + adds r0, r4, 0 + movs r1, 0x3 + bl CopyWindowToVram +_0808235C: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x3 + bls _0808233E + b _0808249E + .pool +_0808236C: + ldr r1, =0x020322a4 + ldr r0, [r1] + adds r0, 0x9E + strb r2, [r0] + ldr r1, [r1] + adds r1, 0x63 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + movs r4, 0 +_08082380: + ldr r0, =0x020322a4 + ldr r0, [r0] + lsls r1, r4, 1 + adds r0, 0x8E + adds r0, r1 + ldrh r0, [r0] + cmp r0, 0xFF + beq _0808239E + adds r0, r4, 0 + bl PutWindowTilemap + adds r0, r4, 0 + movs r1, 0x3 + bl CopyWindowToVram +_0808239E: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x3 + bls _08082380 + b _0808249E + .pool +_080823B0: + ldr r6, =0x03003110 + adds r0, r6, 0 + bl sub_8081F94 + ldr r4, =0x020322a4 + ldr r2, [r4] + adds r0, r2, 0 + adds r0, 0x9E + ldrb r5, [r0] + cmp r5, 0 + bne _0808241C + movs r0, 0x4 + bl IsBagPocketNonEmpty + lsls r0, 24 + cmp r0, 0 + bne _080823EC + ldr r0, [r4] + adds r0, 0x70 + movs r1, 0x2 + strh r1, [r0] + ldr r0, =0x00009999 + b _08082414 + .pool +_080823EC: + bl sub_8136EF4 + lsls r0, 24 + asrs r0, 24 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _0808240C + ldr r0, [r4] + adds r0, 0x70 + movs r1, 0x3 + strh r1, [r0] + ldr r0, =0x0000aaaa + b _08082414 + .pool +_0808240C: + ldr r0, [r4] + adds r0, 0x70 + strh r5, [r0] + ldr r0, =0x00007779 +_08082414: + strh r0, [r6, 0x2] + b _08082458 + .pool +_0808241C: + adds r1, r2, 0 + adds r1, 0x70 + movs r0, 0x1 + strh r0, [r1] + ldr r0, =0x00008888 + strh r0, [r6, 0x2] + subs r1, 0xD + b _0808245E + .pool +_08082430: + ldr r0, =0x03005d98 + ldrb r0, [r0] + cmp r0, 0 + beq _08082458 + ldr r0, =sub_8082924 + bl SetMainCallback2 + ldr r2, =0x020322a4 + ldr r0, [r2] + adds r0, 0x63 + movs r1, 0 + strb r1, [r0] + ldr r0, [r2] + b _0808249C + .pool +_08082458: + ldr r0, =0x020322a4 + ldr r1, [r0] +_0808245C: + adds r1, 0x63 +_0808245E: + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _0808249E + .pool +_0808246C: + ldr r6, =0x020322a4 + ldr r4, [r6] + ldr r0, =0x000011b8 + adds r4, r0 + ldr r5, =gUnknown_0833981A + bl sav2_get_text_speed + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_808417C + cmp r0, 0 + beq _0808249E + ldr r0, =sub_8082644 + bl SetMainCallback2 + ldr r0, [r6] + adds r0, 0x63 + movs r1, 0 + strb r1, [r0] + ldr r0, [r6] +_0808249C: + strb r1, [r0] +_0808249E: + bl sub_808330C + ldr r4, =0x020322a4 + ldr r0, [r4] + adds r0, 0x4C + ldrh r0, [r0] + bl sub_8083230 + bl sub_8082AD4 + ldr r1, [r4] + movs r2, 0x8E + lsls r2, 1 + adds r0, r1, r2 + movs r4, 0 + ldrsh r0, [r0, r4] + movs r5, 0x8F + lsls r5, 1 + adds r1, r5 + movs r2, 0 + ldrsh r1, [r1, r2] + bl nullsub_31 + bl RunTasks + bl CallObjectCallbacks + bl PrepareSpritesForOamLoad + bl RunTextPrinters + bl fade_and_return_progress_probably + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8081FC8 + + thumb_func_start sub_80824FC +sub_80824FC: @ 80824FC + push {r4,lr} + ldr r1, =0x020322a4 + ldr r0, [r1] + movs r2, 0xD0 + lsls r2, 1 + adds r0, r2 + ldr r0, [r0] + adds r4, r1, 0 + cmp r0, 0x6 + bls _08082512 + b _0808263C +_08082512: + lsls r0, 2 + ldr r1, =_08082524 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08082524: + .4byte _08082540 + .4byte _08082558 + .4byte _08082584 + .4byte _08082594 + .4byte _080825BA + .4byte _08082600 + .4byte _0808261A +_08082540: + bl sub_800ADF8 + ldr r0, =0x020322a4 + ldr r2, [r0] + movs r3, 0xD0 + lsls r3, 1 + adds r1, r2, r3 + movs r0, 0x1 + b _0808260C + .pool +_08082558: + bl sub_800A520 + lsls r0, 24 + cmp r0, 0 + beq _0808263C + ldr r0, =0x020322a4 + ldr r1, [r0] + movs r2, 0xD0 + lsls r2, 1 + adds r1, r2 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + ldr r1, =0x03002700 + movs r0, 0x1 + strb r0, [r1] + b _0808263C + .pool +_08082584: + bl sub_8153430 + ldr r0, =0x020322a4 + ldr r2, [r0] + b _08082602 + .pool +_08082594: + ldr r1, [r4] + movs r2, 0x84 + lsls r2, 1 + adds r1, r2 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + cmp r0, 0xA + bne _0808263C + bl sub_800ADF8 + ldr r1, [r4] + movs r3, 0xD0 + lsls r3, 1 + adds r1, r3 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + b _0808263C +_080825BA: + bl sub_800A520 + lsls r0, 24 + cmp r0, 0 + beq _0808263C + bl sub_8153474 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0 + beq _080825E4 + ldr r0, =0x020322a4 + ldr r0, [r0] + movs r1, 0xD0 + lsls r1, 1 + adds r0, r1 + movs r1, 0x5 + str r1, [r0] + b _0808263C + .pool +_080825E4: + ldr r0, =0x020322a4 + ldr r1, [r0] + movs r3, 0x84 + lsls r3, 1 + adds r0, r1, r3 + str r2, [r0] + movs r0, 0xD0 + lsls r0, 1 + adds r1, r0 + movs r0, 0x3 + str r0, [r1] + b _0808263C + .pool +_08082600: + ldr r2, [r4] +_08082602: + movs r3, 0xD0 + lsls r3, 1 + adds r1, r2, r3 + ldr r0, [r1] + adds r0, 0x1 +_0808260C: + str r0, [r1] + movs r0, 0x84 + lsls r0, 1 + adds r1, r2, r0 + movs r0, 0 + str r0, [r1] + b _0808263C +_0808261A: + ldr r1, [r4] + movs r2, 0x84 + lsls r2, 1 + adds r1, r2 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + cmp r0, 0x5 + ble _0808263C + ldr r1, =0x03002700 + movs r0, 0 + strb r0, [r1] + movs r0, 0x1 + b _0808263E + .pool +_0808263C: + movs r0, 0 +_0808263E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80824FC + + thumb_func_start sub_8082644 +sub_8082644: @ 8082644 + push {r4-r6,lr} + sub sp, 0x4 + ldr r1, =0x020322a4 + ldr r0, [r1] + adds r0, 0x63 + ldrb r0, [r0] + adds r6, r1, 0 + cmp r0, 0xC + bls _08082658 + b _080828DC +_08082658: + lsls r0, 2 + ldr r1, =_0808266C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0808266C: + .4byte _080826A0 + .4byte _080826EC + .4byte _0808271C + .4byte _08082754 + .4byte _0808278C + .4byte _080827AA + .4byte _080827C8 + .4byte _080827FC + .4byte _08082818 + .4byte _08082828 + .4byte _0808284C + .4byte _080828A4 + .4byte _080828C6 +_080826A0: + ldr r1, [r6] + adds r0, r1, 0 + adds r0, 0x64 + ldrh r2, [r0] + ldr r0, =0x00002222 + cmp r2, r0 + bne _080826B0 + b _080827A2 +_080826B0: + ldr r0, =0x00001111 + cmp r2, r0 + beq _080826B8 + b _080828DC +_080826B8: + adds r0, r1, 0 + adds r0, 0x6C + ldrh r2, [r0] + ldr r0, =0x00009999 + cmp r2, r0 + bne _080826D8 + adds r1, 0x63 + movs r0, 0x2 + strb r0, [r1] + b _080828DC + .pool +_080826D8: + ldr r0, =0x0000aaaa + cmp r2, r0 + bne _080827A2 + adds r1, 0x63 + movs r0, 0x1 + strb r0, [r1] + b _080828DC + .pool +_080826EC: + ldr r0, [r6] + adds r0, 0x63 + movs r1, 0x3 + strb r1, [r0] + ldr r4, =0x02021fc4 + ldr r0, [r6] + adds r0, 0x6E + ldrh r0, [r0] + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + ldr r0, =0x020229f0 + adds r1, r0 + adds r0, r4, 0 + bl CopyString + ldr r1, =gUnknown_083398DD + b _08082740 + .pool +_0808271C: + ldr r1, [r6] + adds r1, 0x63 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + ldr r4, =0x02021fc4 + ldr r0, [r6] + adds r0, 0x6E + ldrh r0, [r0] + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + ldr r0, =0x020229f0 + adds r1, r0 + adds r0, r4, 0 + bl CopyString + ldr r1, =gUnknown_083398B0 +_08082740: + adds r0, r4, 0 + bl AppendString + b _080828DC + .pool +_08082754: + ldr r4, [r6] + ldr r0, =0x000011b8 + adds r4, r0 + ldr r5, =0x02021fc4 + bl sav2_get_text_speed + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_808417C + cmp r0, 0 + bne _08082774 + b _080828DC +_08082774: + ldr r1, [r6] + movs r0, 0x84 + lsls r0, 1 + adds r2, r1, r0 + movs r0, 0 + str r0, [r2] + b _080828BC + .pool +_0808278C: + ldr r4, [r6] + movs r2, 0x84 + lsls r2, 1 + adds r1, r4, r2 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + cmp r0, 0x3C + bgt _080827A0 + b _080828DC +_080827A0: + adds r1, r4, 0 +_080827A2: + adds r1, 0x63 + movs r0, 0x5 + strb r0, [r1] + b _080828DC +_080827AA: + ldr r0, [r6] + ldr r1, =0x000011b8 + adds r0, r1 + ldr r1, =gUnknown_085EE42D + movs r2, 0 + bl sub_808417C + bl sub_800ADF8 + b _080828BA + .pool +_080827C8: + bl sub_800A520 + lsls r0, 24 + cmp r0, 0 + bne _080827D4 + b _080828DC +_080827D4: + ldr r3, =0x020322a4 + ldr r1, [r3] + movs r2, 0x84 + lsls r2, 1 + adds r0, r1, r2 + movs r2, 0 + str r2, [r0] + adds r1, 0x63 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + ldr r0, [r3] + movs r1, 0xD0 + lsls r1, 1 + adds r0, r1 + str r2, [r0] + b _080828DC + .pool +_080827FC: + bl sub_80824FC + lsls r0, 24 + cmp r0, 0 + beq _080828DC + movs r0, 0x37 + bl audio_play + ldr r0, =0x020322a4 + ldr r1, [r0] + b _080828BC + .pool +_08082818: + ldr r1, [r6] + adds r1, 0x63 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + bl sub_800ADF8 + b _080828DC +_08082828: + bl sub_800A520 + lsls r0, 24 + cmp r0, 0 + beq _080828DC + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0x10 + bl pal_fade_maybe + ldr r0, =0x020322a4 + ldr r1, [r0] + b _080828BC + .pool +_0808284C: + ldr r0, =0x02037fd4 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0 + bne _080828DC + ldr r2, [r6] + adds r0, r2, 0 + adds r0, 0x64 + ldrh r1, [r0] + ldr r0, =0x00002222 + cmp r1, r0 + bne _08082898 + bl FreeAllWindowBuffers + movs r0, 0x2 + bl UnsetBgTilemapBuffer + movs r0, 0x1 + bl UnsetBgTilemapBuffer + ldr r0, [r6] + bl Free + str r4, [r6] + ldr r0, =sub_807FA80 + bl SetMainCallback2 + b _080828DC + .pool +_08082898: + movs r1, 0x84 + lsls r1, 1 + adds r0, r2, r1 + str r4, [r0] + adds r1, r2, 0 + b _080828BC +_080828A4: + ldr r1, [r6] + movs r2, 0x84 + lsls r2, 1 + adds r1, r2 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + cmp r0, 0x1E + ble _080828DC + bl sub_800AC34 +_080828BA: + ldr r1, [r6] +_080828BC: + adds r1, 0x63 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _080828DC +_080828C6: + ldr r0, =0x03003124 + ldrb r4, [r0] + cmp r4, 0 + bne _080828DC + ldr r0, [r6] + bl Free + str r4, [r6] + ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music + bl SetMainCallback2 +_080828DC: + bl sub_8082AD4 + ldr r0, =0x020322a4 + ldr r1, [r0] + movs r2, 0x8E + lsls r2, 1 + adds r0, r1, r2 + movs r2, 0 + ldrsh r0, [r0, r2] + movs r2, 0x8F + lsls r2, 1 + adds r1, r2 + movs r2, 0 + ldrsh r1, [r1, r2] + bl nullsub_31 + bl RunTasks + bl CallObjectCallbacks + bl PrepareSpritesForOamLoad + bl RunTextPrinters + bl fade_and_return_progress_probably + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8082644 + + thumb_func_start sub_8082924 +sub_8082924: @ 8082924 + push {r4-r6,lr} + ldr r1, =0x020322a4 + ldr r0, [r1] + adds r0, 0x63 + ldrb r0, [r0] + adds r6, r1, 0 + cmp r0, 0xA + bls _08082936 + b _08082A92 +_08082936: + lsls r0, 2 + ldr r1, =_08082948 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08082948: + .4byte _08082974 + .4byte _080829AA + .4byte _080829D4 + .4byte _08082A00 + .4byte _08082A92 + .4byte _08082A92 + .4byte _08082A92 + .4byte _08082A92 + .4byte _08082A92 + .4byte _08082A30 + .4byte _08082A48 +_08082974: + ldr r1, [r6] + adds r0, r1, 0 + adds r0, 0x70 + ldrh r0, [r0] + cmp r0, 0x1 + bhi _08082986 + adds r1, 0x63 + movs r0, 0x9 + strb r0, [r1] +_08082986: + ldr r2, [r6] + adds r0, r2, 0 + adds r0, 0x70 + ldrh r1, [r0] + cmp r1, 0x2 + bne _08082996 + subs r0, 0xD + strb r1, [r0] +_08082996: + ldr r1, [r6] + adds r0, r1, 0 + adds r0, 0x70 + ldrh r0, [r0] + cmp r0, 0x3 + bne _08082A92 + adds r1, 0x63 + movs r0, 0x1 + strb r0, [r1] + b _08082A92 +_080829AA: + ldr r0, [r6] + adds r0, 0x63 + movs r2, 0 + movs r1, 0x3 + strb r1, [r0] + ldr r0, [r6] + ldr r1, =0x000011b8 + adds r0, r1 + strh r2, [r0] + ldr r0, =0x02021fc4 + ldr r1, =gUnknown_08339896 + bl CopyString + b _08082A92 + .pool +_080829D4: + ldr r1, [r6] + adds r1, 0x63 + ldrb r0, [r1] + adds r0, 0x1 + movs r2, 0 + strb r0, [r1] + ldr r0, [r6] + ldr r1, =0x000011b8 + adds r0, r1 + strh r2, [r0] + ldr r0, =0x02021fc4 + ldr r1, =gUnknown_08339858 + bl CopyString + b _08082A92 + .pool +_08082A00: + ldr r4, [r6] + ldr r2, =0x000011b8 + adds r4, r2 + ldr r5, =0x02021fc4 + bl sav2_get_text_speed + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_808417C + cmp r0, 0 + beq _08082A92 + ldr r0, [r6] + adds r0, 0x63 + movs r1, 0x9 + strb r1, [r0] + b _08082A92 + .pool +_08082A30: + movs r0, 0x3 + bl sub_80A2390 + ldr r0, =0x020322a4 + ldr r1, [r0] + adds r1, 0x63 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _08082A92 + .pool +_08082A48: + ldr r0, =0x02037fd4 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08082A92 + ldr r0, [r6] + adds r0, 0x70 + ldrh r0, [r0] + cmp r0, 0 + bne _08082A70 + ldr r0, =sub_807FA80 + bl SetMainCallback2 + b _08082A76 + .pool +_08082A70: + ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music + bl SetMainCallback2 +_08082A76: + bl FreeAllWindowBuffers + movs r0, 0x2 + bl UnsetBgTilemapBuffer + movs r0, 0x1 + bl UnsetBgTilemapBuffer + ldr r4, =0x020322a4 + ldr r0, [r4] + bl Free + movs r0, 0 + str r0, [r4] +_08082A92: + bl sub_8082AD4 + ldr r0, =0x020322a4 + ldr r1, [r0] + movs r2, 0x8E + lsls r2, 1 + adds r0, r1, r2 + movs r2, 0 + ldrsh r0, [r0, r2] + movs r2, 0x8F + lsls r2, 1 + adds r1, r2 + movs r2, 0 + ldrsh r1, [r1, r2] + bl nullsub_31 + bl RunTasks + bl CallObjectCallbacks + bl PrepareSpritesForOamLoad + bl RunTextPrinters + bl fade_and_return_progress_probably + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8082924 + + thumb_func_start sub_8082AD4 +sub_8082AD4: @ 8082AD4 + push {r4-r7,lr} + ldr r0, =0x03003124 + ldrb r0, [r0] + cmp r0, 0 + bne _08082AE0 + b _08082CA4 +_08082AE0: + ldr r4, =0x03003090 + ldrh r0, [r4] + ldr r1, =0x00002fff + movs r2, 0xBC + lsls r2, 6 + bl sub_80814B0 + cmp r0, 0 + beq _08082B66 + ldrh r1, [r4, 0x2] + ldr r0, =0x00001111 + cmp r1, r0 + bne _08082B58 + ldrh r3, [r4, 0x4] + ldr r0, =0x00009999 + cmp r3, r0 + beq _08082B38 + cmp r3, r0 + bgt _08082B24 + ldr r0, =0x00008888 + b _08082B26 + .pool +_08082B24: + ldr r0, =0x0000aaaa +_08082B26: + cmp r3, r0 + beq _08082B38 + ldr r2, =0x020322a4 + b _08082B48 + .pool +_08082B38: + ldr r2, =0x020322a4 + ldr r0, [r2] + adds r1, r0, 0 + adds r1, 0x6C + strh r3, [r1] + ldrh r1, [r4, 0x6] + adds r0, 0x6E + strh r1, [r0] +_08082B48: + ldr r0, [r2] + adds r0, 0x64 + ldr r1, =0x00001111 + b _08082B64 + .pool +_08082B58: + ldr r0, =0x00002222 + cmp r1, r0 + bne _08082B66 + ldr r0, =0x020322a4 + ldr r0, [r0] + adds r0, 0x64 +_08082B64: + strh r1, [r0] +_08082B66: + bl link_get_multiplayer_id + lsls r0, 24 + cmp r0, 0 + beq _08082B72 + b _08082CA4 +_08082B72: + ldr r2, =0x020322a4 + ldr r0, [r2] + adds r0, 0x64 + ldrh r1, [r0] + ldr r0, =0x00001111 + cmp r1, r0 + bne _08082B82 + b _08082CA4 +_08082B82: + ldr r0, =0x00002222 + cmp r1, r0 + bne _08082B8A + b _08082CA4 +_08082B8A: + movs r5, 0 + adds r7, r2, 0 + b _08082BF4 + .pool +_08082B9C: + ldr r6, =0x03003090 + lsls r4, r5, 4 + adds r0, r4, r6 + ldrh r0, [r0] + ldr r1, =0x00002fff + movs r2, 0xBC + lsls r2, 6 + bl sub_80814B0 + cmp r0, 0 + beq _08082BEE + adds r0, r6, 0x2 + adds r0, r4, r0 + ldrh r2, [r0] + ldr r0, =0x00008888 + cmp r2, r0 + beq _08082BE4 + cmp r2, r0 + bgt _08082BD8 + ldr r0, =0x00007779 + b _08082BE0 + .pool +_08082BD8: + ldr r0, =0x00009999 + cmp r2, r0 + beq _08082BE4 + ldr r0, =0x0000aaaa +_08082BE0: + cmp r2, r0 + bne _08082BEE +_08082BE4: + ldr r0, [r7] + lsls r1, r5, 1 + adds r0, 0x64 + adds r0, r1 + strh r2, [r0] +_08082BEE: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 +_08082BF4: + bl sub_8009FCC + lsls r0, 24 + lsrs r0, 24 + cmp r5, r0 + bcc _08082B9C + movs r5, 0 + b _08082C12 + .pool +_08082C0C: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 +_08082C12: + bl sub_8009FCC + lsls r0, 24 + lsrs r0, 24 + cmp r5, r0 + bcs _08082C2E + ldr r0, =0x020322a4 + ldr r0, [r0] + lsls r1, r5, 1 + adds r0, 0x64 + adds r0, r1 + ldrh r0, [r0] + cmp r0, 0 + bne _08082C0C +_08082C2E: + bl sub_8009FCC + lsls r0, 24 + lsrs r0, 24 + cmp r5, r0 + bne _08082CA4 + movs r5, 0 + ldr r4, =0x00007779 + b _08082C4E + .pool +_08082C48: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 +_08082C4E: + bl sub_8009FCC + lsls r0, 24 + lsrs r0, 24 + cmp r5, r0 + bcs _08082C6A + ldr r0, =0x020322a4 + ldr r0, [r0] + lsls r1, r5, 1 + adds r0, 0x64 + adds r0, r1 + ldrh r0, [r0] + cmp r0, r4 + beq _08082C48 +_08082C6A: + ldr r4, =0x03003110 + adds r0, r4, 0 + bl sub_8081F94 + bl sub_8009FCC + lsls r0, 24 + lsrs r0, 24 + cmp r5, r0 + bne _08082C90 + ldr r0, =0x00002222 + strh r0, [r4, 0x2] + b _08082CA4 + .pool +_08082C90: + ldr r0, =0x00001111 + strh r0, [r4, 0x2] + ldr r0, =0x020322a4 + ldr r0, [r0] + lsls r1, r5, 1 + adds r0, 0x64 + adds r0, r1 + ldrh r0, [r0] + strh r0, [r4, 0x4] + strh r5, [r4, 0x6] +_08082CA4: + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8082AD4 + + thumb_func_start sub_8082CB4 +sub_8082CB4: @ 8082CB4 + push {r4,lr} + sub sp, 0x14 + movs r1, 0xF0 + lsls r1, 7 + str r1, [sp] + movs r1, 0xA0 + lsls r1, 7 + str r1, [sp, 0x4] + mov r3, sp + ldr r1, =0x020322a4 + ldr r1, [r1] + mov r12, r1 + movs r1, 0x8E + lsls r1, 1 + add r1, r12 + ldrh r2, [r1] + movs r1, 0x78 + subs r1, r2 + strh r1, [r3, 0x8] + movs r1, 0x8F + lsls r1, 1 + add r1, r12 + ldrh r2, [r1] + movs r1, 0x50 + subs r1, r2 + strh r1, [r3, 0xA] + mov r2, sp + movs r3, 0x8D + lsls r3, 1 + add r3, r12 + ldrh r1, [r3] + strh r1, [r2, 0xC] + ldrh r1, [r3] + strh r1, [r2, 0xE] + mov r1, r12 + adds r1, 0x4A + ldrh r1, [r1] + strh r1, [r2, 0x10] + mov r1, sp + ldm r1!, {r2-r4} + stm r0!, {r2-r4} + ldm r1!, {r2,r3} + stm r0!, {r2,r3} + add sp, 0x14 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8082CB4 + + thumb_func_start sub_8082D18 +sub_8082D18: @ 8082D18 + ldr r0, =0x020322a4 + ldr r0, [r0] + adds r0, 0x4A + ldrh r0, [r0] + bx lr + .pool + thumb_func_end sub_8082D18 + + thumb_func_start sub_8082D28 +sub_8082D28: @ 8082D28 + push {r4,lr} + movs r1, 0 + ldr r4, =0x03003124 + ldrb r0, [r4] + cmp r0, 0 + beq _08082D3C + bl link_get_multiplayer_id + lsls r0, 24 + lsrs r1, r0, 24 +_08082D3C: + ldr r0, =0x030030fc + ldrb r0, [r0] + cmp r0, 0 + beq _08082DCC + ldrb r0, [r4] + cmp r0, 0 + beq _08082DCC + cmp r1, 0 + bne _08082D90 + ldr r0, =0x020322a4 + ldr r3, [r0] + adds r2, r3, 0 + adds r2, 0x4A + adds r0, r3, 0 + adds r0, 0x4C + ldrh r0, [r0] + ldrh r1, [r2] + adds r0, r1 + strh r0, [r2] + ldr r1, =0x03003110 + movs r4, 0x8B + lsls r4, 1 + adds r0, r3, r4 + ldrh r0, [r0] + strh r0, [r1, 0xA] + ldrh r0, [r2] + strh r0, [r1, 0xC] + movs r1, 0xA0 + lsls r1, 1 + adds r0, r3, r1 + bl sub_8082CB4 + b _08082DEA + .pool +_08082D90: + ldr r3, =0x03003090 + ldrh r0, [r3] + movs r1, 0xFF + lsls r1, 8 + ands r1, r0 + movs r0, 0x88 + lsls r0, 7 + cmp r1, r0 + bne _08082DEA + ldr r0, =0x020322a4 + ldr r2, [r0] + ldrh r0, [r3, 0xA] + movs r4, 0x8B + lsls r4, 1 + adds r1, r2, r4 + strh r0, [r1] + ldrh r0, [r3, 0xC] + adds r1, r2, 0 + adds r1, 0x4A + strh r0, [r1] + movs r1, 0xA0 + lsls r1, 1 + adds r0, r2, r1 + bl sub_8082CB4 + b _08082DEA + .pool +_08082DCC: + ldr r0, =0x020322a4 + ldr r1, [r0] + adds r2, r1, 0 + adds r2, 0x4A + adds r0, r1, 0 + adds r0, 0x4C + ldrh r0, [r0] + ldrh r3, [r2] + adds r0, r3 + strh r0, [r2] + movs r4, 0xA0 + lsls r4, 1 + adds r0, r1, r4 + bl sub_8082CB4 +_08082DEA: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8082D28 + + thumb_func_start sub_8082DF4 +sub_8082DF4: @ 8082DF4 + push {r4-r6,lr} + ldr r4, =0x020322a4 + ldr r0, [r4] + movs r6, 0x8E + lsls r6, 1 + adds r0, r6 + ldrh r1, [r0] + movs r0, 0x14 + bl SetGpuReg + ldr r0, [r4] + movs r5, 0x8F + lsls r5, 1 + adds r0, r5 + ldrh r1, [r0] + movs r0, 0x16 + bl SetGpuReg + ldr r0, [r4] + adds r0, r6 + ldrh r1, [r0] + movs r0, 0x10 + bl SetGpuReg + ldr r0, [r4] + adds r0, r5 + ldrh r1, [r0] + movs r0, 0x12 + bl SetGpuReg + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8082DF4 + + thumb_func_start sub_8082E3C +sub_8082E3C: @ 8082E3C + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x2E] + ldrh r1, [r2, 0x32] + adds r0, r1 + strh r0, [r2, 0x32] + ldrh r0, [r2, 0x30] + ldrh r1, [r2, 0x34] + adds r0, r1 + strh r0, [r2, 0x34] + movs r1, 0x32 + ldrsh r0, [r2, r1] + cmp r0, 0 + bge _08082E5A + adds r0, 0x7 +_08082E5A: + asrs r0, 3 + strh r0, [r2, 0x24] + movs r1, 0x34 + ldrsh r0, [r2, r1] + cmp r0, 0 + bge _08082E68 + adds r0, 0x7 +_08082E68: + asrs r0, 3 + strh r0, [r2, 0x26] + adds r0, r2, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08082E80 + adds r0, r2, 0 + bl RemoveObjectAndFreeTiles +_08082E80: + pop {r0} + bx r0 + thumb_func_end sub_8082E3C + + thumb_func_start sub_8082E84 +sub_8082E84: @ 8082E84 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + bl GenerateRandomNumber + lsls r0, 16 + lsrs r1, r0, 16 + movs r0, 0x1 + ands r1, r0 + adds r0, r1, 0x1 + cmp r0, 0 + beq _08082F40 + ldr r0, =gUnknown_08329F40 + mov r9, r0 + ldr r2, =0x02020630 + mov r10, r2 + adds r6, r1, 0x1 + movs r3, 0x1F + mov r8, r3 + movs r7, 0x10 +_08082EB0: + bl GenerateRandomNumber + ldr r1, =0x020322a4 + ldr r4, [r1] + adds r4, 0x4A + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x14 + bl __umodsi3 + ldrh r1, [r4] + adds r1, r0 + lsls r1, 16 + movs r0, 0xFF + lsls r0, 16 + ands r0, r1 + lsrs r2, r0, 16 + adds r0, r2, 0 + adds r0, 0x40 + lsls r0, 1 + add r0, r9 + movs r3, 0 + ldrsh r1, [r0, r3] + cmp r1, 0 + bge _08082EE4 + adds r1, 0x3 +_08082EE4: + asrs r1, 2 + lsls r0, r2, 1 + add r0, r9 + movs r2, 0 + ldrsh r0, [r0, r2] + cmp r0, 0 + bge _08082EF4 + adds r0, 0x3 +_08082EF4: + asrs r2, r0, 2 + adds r1, 0x78 + adds r2, 0x50 + ldr r0, =gUnknown_08339BE0 + movs r3, 0x1 + bl AddObjectToFront + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl GenerateRandomNumber + lsls r5, r4, 4 + adds r5, r4 + lsls r5, 2 + mov r3, r10 + adds r4, r5, r3 + lsls r0, 16 + lsrs r0, 16 + mov r1, r8 + ands r0, r1 + subs r0, r7, r0 + strh r0, [r4, 0x2E] + bl GenerateRandomNumber + lsls r0, 16 + lsrs r0, 16 + mov r2, r8 + ands r0, r2 + subs r0, r7, r0 + strh r0, [r4, 0x30] + ldr r3, =0x0202064c + adds r5, r3 + ldr r0, =sub_8082E3C + str r0, [r5] + subs r6, 0x1 + cmp r6, 0 + bne _08082EB0 +_08082F40: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8082E84 + + thumb_func_start sub_8082F68 +sub_8082F68: @ 8082F68 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r1, 0x3 + bl __divsi3 + negs r0, r0 + strh r0, [r4, 0x26] + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08082F94 + adds r0, r4, 0 + bl RemoveObjectAndFreeTiles +_08082F94: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8082F68 + + thumb_func_start sub_8082F9C +sub_8082F9C: @ 8082F9C + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x2E] + adds r0, 0x1 + strh r0, [r2, 0x2E] + movs r1, 0x2E + ldrsh r0, [r2, r1] + lsls r0, 1 + negs r0, r0 + strh r0, [r2, 0x26] + lsls r0, 16 + asrs r0, 16 + movs r1, 0xC + negs r1, r1 + cmp r0, r1 + bge _08082FC0 + ldr r0, =0x0000fff4 + strh r0, [r2, 0x26] +_08082FC0: + adds r0, r2, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08082FD4 + adds r0, r2, 0 + bl RemoveObjectAndFreeTiles +_08082FD4: + pop {r0} + bx r0 + .pool + thumb_func_end sub_8082F9C + + thumb_func_start sub_8082FDC +sub_8082FDC: @ 8082FDC + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 16 + lsrs r1, 16 + ldr r2, =0x020322a4 + ldr r3, [r2] + lsls r4, r0, 1 + adds r2, r3, 0 + adds r2, 0x74 + adds r2, r4 + strh r1, [r2] + lsls r0, 4 + movs r2, 0xAC + lsls r2, 1 + adds r0, r2 + adds r3, r0 + adds r0, r3, 0 + bl sub_807FE14 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8082FDC + + thumb_func_start sub_8083010 +sub_8083010: @ 8083010 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _0808304C + cmp r0, 0x1 + bgt _08083026 + cmp r0, 0 + beq _0808302C + b _080830B2 +_08083026: + cmp r0, 0x2 + beq _08083066 + b _080830B2 +_0808302C: + ldrh r0, [r4, 0x30] + adds r0, 0x8 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x58 + ble _080830B2 + movs r0, 0x58 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + movs r0, 0x38 + bl audio_play + b _080830B2 +_0808304C: + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x14 + ble _080830B2 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + movs r0, 0 + strh r0, [r4, 0x32] + b _080830B2 +_08083066: + ldrh r0, [r4, 0x30] + adds r0, 0x4 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xB0 + ble _080830B2 + ldrh r0, [r4, 0x34] + adds r0, 0x1 + adds r1, r0, 0 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x3 + bne _080830A0 + adds r0, r4, 0 + bl RemoveObjectAndFreeTiles + ldr r0, =gUnknown_08339C60 + movs r2, 0x14 + negs r2, r2 + movs r1, 0x78 + movs r3, 0x2 + bl AddObjectToFront + b _080830B2 + .pool +_080830A0: + movs r0, 0 + strh r0, [r4, 0x2E] + ldr r0, =0x0000fff0 + strh r0, [r4, 0x30] + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl StartObjectImageAnim +_080830B2: + ldrh r0, [r4, 0x30] + strh r0, [r4, 0x26] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8083010 + + thumb_func_start sub_80830C0 +sub_80830C0: @ 80830C0 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _080830FC + cmp r0, 0x1 + bgt _080830D6 + cmp r0, 0 + beq _080830DC + b _08083130 +_080830D6: + cmp r0, 0x2 + beq _08083112 + b _08083130 +_080830DC: + ldrh r0, [r4, 0x30] + adds r0, 0x8 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5C + ble _08083130 + movs r0, 0x5C + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + movs r0, 0x15 + bl audio_play + b _08083130 +_080830FC: + ldrh r0, [r4, 0x32] + adds r0, 0x1 + strh r0, [r4, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x14 + ble _08083130 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _08083130 +_08083112: + ldrh r0, [r4, 0x30] + adds r0, 0x4 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xB0 + ble _08083130 + ldr r0, =0x020322a4 + ldr r1, [r0] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + adds r0, r4, 0 + bl RemoveObjectAndFreeTiles +_08083130: + ldrh r0, [r4, 0x30] + strh r0, [r4, 0x26] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80830C0 + + thumb_func_start sub_8083140 +sub_8083140: @ 8083140 + push {lr} + lsls r0, 16 + lsrs r0, 16 + lsls r1, 16 + lsrs r3, r1, 16 + ldr r1, =0x020322a4 + ldr r1, [r1] + movs r2, 0x8C + lsls r2, 1 + adds r1, r2 + ldrh r2, [r1] + cmp r2, r0 + bcs _08083166 + adds r0, r2, 0x2 + strh r0, [r1] + ldrh r0, [r1] + adds r1, r3, 0 + bl sub_8083170 +_08083166: + pop {r0} + bx r0 + .pool + thumb_func_end sub_8083140 + + thumb_func_start sub_8083170 +sub_8083170: @ 8083170 + push {r4-r7,lr} + lsls r0, 16 + lsls r1, 16 + lsrs r1, 16 + ldr r7, =0x06006000 + lsrs r0, 10 + bl __divsi3 + adds r1, r0, 0 + cmp r1, 0 + bge _08083188 + adds r0, r1, 0x7 +_08083188: + asrs r4, r0, 3 + movs r3, 0 + cmp r3, r4 + bge _080831B0 + ldr r0, =0x000080e9 + adds r6, r0, 0 + adds r0, 0x10 + adds r5, r0, 0 + adds r2, r7, 0 + adds r2, 0x56 + adds r0, r7, 0 + adds r3, r4, 0 +_080831A0: + strh r6, [r0, 0x16] + strh r5, [r2] + adds r2, 0x2 + adds r0, 0x2 + subs r3, 0x1 + cmp r3, 0 + bne _080831A0 + adds r3, r4, 0 +_080831B0: + adds r0, r1, 0 + cmp r1, 0 + bge _080831B8 + adds r0, r1, 0x7 +_080831B8: + asrs r2, r0, 3 + lsls r0, r2, 3 + subs r2, r1, r0 + cmp r2, 0 + beq _080831D6 + lsls r0, r3, 1 + adds r0, r7 + ldr r4, =0xffff80e1 + adds r1, r2, r4 + strh r1, [r0, 0x16] + adds r0, 0x56 + adds r4, 0x10 + adds r1, r2, r4 + strh r1, [r0] + adds r3, 0x1 +_080831D6: + cmp r3, 0x7 + bgt _080831FA + ldr r0, =0x000080e1 + adds r4, r0, 0 + adds r0, 0x10 + adds r2, r0, 0 + lsls r1, r3, 1 + adds r0, r1, 0 + adds r0, 0x56 + adds r0, r7 + adds r1, r7 +_080831EC: + strh r4, [r1, 0x16] + strh r2, [r0] + adds r0, 0x2 + adds r1, 0x2 + adds r3, 0x1 + cmp r3, 0x7 + ble _080831EC +_080831FA: + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8083170 + + thumb_func_start sub_8083210 +sub_8083210: @ 8083210 + push {lr} + lsls r0, 16 + lsrs r0, 16 + ldr r1, =0x00057e40 + muls r0, r1 + cmp r0, 0 + bge _08083222 + ldr r1, =0x0000ffff + adds r0, r1 +_08083222: + asrs r0, 16 + pop {r1} + bx r1 + .pool + thumb_func_end sub_8083210 + + thumb_func_start sub_8083230 +sub_8083230: @ 8083230 + push {r4-r6,lr} + sub sp, 0x8 + lsls r0, 16 + lsrs r0, 16 + bl sub_8083210 + adds r5, r0, 0 + ldr r0, =0x020322a4 + ldr r0, [r0] + adds r1, r0, 0 + adds r1, 0x4E + ldrh r0, [r1] + cmp r0, r5 + bcs _0808324E + strh r5, [r1] +_0808324E: + movs r6, 0 +_08083250: + mov r0, sp + adds r4, r0, r6 + adds r0, r5, 0 + movs r1, 0xA + bl __umodsi3 + strb r0, [r4] + adds r0, r5, 0 + movs r1, 0xA + bl __udivsi3 + adds r5, r0, 0 + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x4 + bls _08083250 + ldr r2, =0x06006458 + mov r0, sp + ldr r3, =0x00008072 + adds r1, r3, 0 + ldrb r0, [r0, 0x4] + adds r0, r1, r0 + strh r0, [r2] + adds r2, 0x2 + mov r0, sp + ldrb r0, [r0, 0x3] + adds r0, r1 + strh r0, [r2] + adds r2, 0x2 + mov r0, sp + ldrb r0, [r0, 0x2] + adds r0, r1 + strh r0, [r2] + adds r2, 0x4 + mov r0, sp + ldrb r0, [r0, 0x1] + adds r0, r1 + strh r0, [r2] + adds r2, 0x2 + mov r0, sp + ldrb r0, [r0] + adds r1, r0 + strh r1, [r2] + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8083230 + + thumb_func_start sub_80832BC +sub_80832BC: @ 80832BC + push {r4-r6,lr} + adds r6, r0, 0 + lsls r4, r1, 16 + lsrs r5, r4, 16 + movs r1, 0 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _080832E0 + bl GenerateRandomNumber + lsls r0, 16 + lsrs r0, 16 + adds r1, r5, 0 + bl __umodsi3 + lsrs r1, r4, 17 + subs r0, r1 + strh r0, [r6] +_080832E0: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80832BC + + thumb_func_start sub_80832E8 +sub_80832E8: @ 80832E8 + push {lr} + adds r1, r0, 0 + ldrh r2, [r1] + movs r3, 0 + ldrsh r0, [r1, r3] + cmp r0, 0 + bge _080832FA + adds r0, r2, 0x1 + strh r0, [r1] +_080832FA: + ldrh r2, [r1] + movs r3, 0 + ldrsh r0, [r1, r3] + cmp r0, 0 + ble _08083308 + subs r0, r2, 0x1 + strh r0, [r1] +_08083308: + pop {r0} + bx r0 + thumb_func_end sub_80832E8 + + thumb_func_start sub_808330C +sub_808330C: @ 808330C + push {r4,lr} + ldr r4, =0x020322a4 + ldr r0, [r4] + movs r1, 0x8E + lsls r1, 1 + adds r0, r1 + bl sub_80832E8 + ldr r0, [r4] + movs r1, 0x8F + lsls r1, 1 + adds r0, r1 + bl sub_80832E8 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_808330C + + thumb_func_start sub_8083334 +sub_8083334: @ 8083334 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r1, 16 + lsrs r1, 16 + movs r5, 0x8 + cmp r1, 0x9 + bhi _08083344 + movs r5, 0x10 +_08083344: + ldrh r0, [r4] + movs r2, 0 + ldrsh r1, [r4, r2] + cmp r1, 0 + bne _08083362 + bl GenerateRandomNumber + lsls r0, 16 + lsrs r0, 16 + adds r1, r5, 0 + bl __modsi3 + lsrs r1, r5, 1 + subs r0, r1 + b _08083376 +_08083362: + cmp r1, 0 + bge _0808336A + adds r0, 0x1 + strh r0, [r4] +_0808336A: + ldrh r1, [r4] + movs r2, 0 + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _08083378 + subs r0, r1, 0x1 +_08083376: + strh r0, [r4] +_08083378: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8083334 + + thumb_func_start sub_8083380 +sub_8083380: @ 8083380 + push {r4,r5,lr} + ldr r5, =0x020322a4 + ldr r2, [r5] + movs r4, 0x84 + lsls r4, 1 + adds r0, r2, r4 + ldr r1, [r0] + cmp r1, 0 + bne _080833A0 + movs r3, 0x8E + lsls r3, 1 + adds r0, r2, r3 + strh r1, [r0] + adds r3, 0x2 + adds r0, r2, r3 + strh r1, [r0] +_080833A0: + ldr r0, [r5] + adds r2, r0, r4 + ldr r1, [r2] + adds r1, 0x1 + str r1, [r2] + movs r2, 0x8E + lsls r2, 1 + adds r0, r2 + lsls r1, 16 + lsrs r1, 16 + bl sub_8083334 + ldr r1, [r5] + movs r3, 0x8F + lsls r3, 1 + adds r0, r1, r3 + adds r1, r4 + ldrh r1, [r1] + bl sub_8083334 + ldr r2, [r5] + adds r0, r2, r4 + ldr r0, [r0] + cmp r0, 0x14 + beq _080833DC + movs r0, 0 + b _080833F0 + .pool +_080833DC: + movs r1, 0x8E + lsls r1, 1 + adds r0, r2, r1 + movs r1, 0 + strh r1, [r0] + movs r3, 0x8F + lsls r3, 1 + adds r0, r2, r3 + strh r1, [r0] + movs r0, 0x1 +_080833F0: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8083380 + + thumb_func_start sub_80833F8 +sub_80833F8: @ 80833F8 + ldr r1, =0x020322a4 + ldr r2, [r1] + movs r3, 0x8E + lsls r3, 1 + adds r1, r2, r3 + ldrh r1, [r1] + negs r1, r1 + strh r1, [r0, 0x24] + adds r3, 0x2 + adds r1, r2, r3 + ldrh r1, [r1] + negs r1, r1 + strh r1, [r0, 0x26] + bx lr + .pool + thumb_func_end sub_80833F8 + + thumb_func_start UpdateBerryBlenderRecord +@ void UpdateBerryBlenderRecord() +UpdateBerryBlenderRecord: @ 8083418 + push {lr} + ldr r0, =0x03005d8c + ldr r2, [r0] + ldr r0, =0x020322a4 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x7C + ldrb r0, [r0] + subs r0, 0x2 + lsls r0, 1 + ldr r3, =0x000009bc + adds r2, r3 + adds r2, r0 + adds r1, 0x4E + ldrh r1, [r1] + ldrh r0, [r2] + cmp r0, r1 + bcs _0808343E + strh r1, [r2] +_0808343E: + pop {r0} + bx r0 + .pool + thumb_func_end UpdateBerryBlenderRecord + + thumb_func_start berry_blender_related +berry_blender_related: @ 8083450 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4C + ldr r1, =0x020322a4 + ldr r0, [r1] + ldrb r0, [r0] + adds r4, r1, 0 + cmp r0, 0x6 + bls _0808346A + b _08083898 +_0808346A: + lsls r0, 2 + ldr r1, =_0808347C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_0808347C: + .4byte _08083498 + .4byte _080834AE + .4byte _080834C8 + .4byte _08083518 + .4byte _08083790 + .4byte _080837A8 + .4byte _0808386C +_08083498: + ldr r1, [r4] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + ldr r0, [r4] + movs r1, 0x84 + lsls r1, 1 + adds r0, r1 + movs r1, 0x11 + str r1, [r0] + b _08083898 +_080834AE: + ldr r1, [r4] + movs r3, 0x84 + lsls r3, 1 + adds r2, r1, r3 + ldr r0, [r2] + subs r0, 0xA + str r0, [r2] + cmp r0, 0 + blt _080834C2 + b _08083898 +_080834C2: + movs r0, 0 + str r0, [r2] + b _08083854 +_080834C8: + ldr r1, [r4] + movs r0, 0x84 + lsls r0, 1 + adds r1, r0 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + cmp r0, 0x14 + bgt _080834DC + b _08083898 +_080834DC: + movs r6, 0 +_080834DE: + ldr r4, =0x020322a4 + ldr r0, [r4] + adds r0, 0x46 + adds r0, r6 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =0x02020630 + adds r0, r1 + bl RemoveObjectAndFreeTiles + adds r0, r6, 0x1 + lsls r0, 16 + lsrs r6, r0, 16 + cmp r6, 0x2 + bls _080834DE + ldr r1, [r4] + movs r3, 0x84 + lsls r3, 1 + adds r2, r1, r3 + movs r0, 0 + str r0, [r2] + b _08083854 + .pool +_08083518: + ldr r4, =gUnknown_083398F5 + movs r0, 0x1 + adds r1, r4, 0 + movs r2, 0xA8 + bl GetStringCenterAlignXOffset + lsls r2, r0, 24 + lsrs r2, 24 + movs r0, 0xFF + str r0, [sp] + movs r0, 0 + str r0, [sp, 0x4] + movs r0, 0x5 + adds r1, r4, 0 + movs r3, 0x1 + bl sub_80840D4 + ldr r1, =0x020322a4 + ldr r0, [r1] + adds r2, r0, 0 + adds r2, 0x7C + ldrb r0, [r2] + movs r3, 0x15 + mov r9, r3 + cmp r0, 0x4 + bne _08083550 + movs r0, 0x11 + mov r9, r0 +_08083550: + movs r6, 0 + mov r3, sp + adds r3, 0x10 + str r3, [sp, 0x48] + ldrb r2, [r2] + cmp r6, r2 + bcs _0808361A + adds r7, r1, 0 + movs r0, 0x3 + mov r10, r0 +_08083564: + ldr r0, [r7] + movs r2, 0x9E + lsls r2, 1 + adds r1, r0, r2 + adds r1, r6 + ldrb r5, [r1] + adds r0, 0x9F + adds r6, 0x1 + mov r8, r6 + mov r1, r8 + movs r2, 0 + movs r3, 0x1 + bl ConvertIntToDecimalString + ldr r0, [r7] + adds r0, 0x9F + ldr r1, =gUnknown_08339941 + bl AppendString + ldr r0, [r7] + adds r0, 0x9F + ldr r1, =gUnknown_085E8D5E + bl AppendString + ldr r0, [r7] + adds r0, 0x9F + lsls r4, r5, 3 + subs r4, r5 + lsls r4, 2 + ldr r3, =0x020229f0 + adds r1, r4, r3 + bl AppendString + ldr r1, [r7] + adds r1, 0x9F + mov r0, r9 + lsls r6, r0, 24 + lsrs r6, 24 + movs r2, 0xFF + str r2, [sp] + mov r3, r10 + str r3, [sp, 0x4] + movs r0, 0x5 + movs r2, 0x8 + adds r3, r6, 0 + bl sub_80840D4 + ldr r1, [r7] + adds r0, r1, 0 + adds r0, 0x9F + lsls r5, 4 + adds r5, r1 + movs r1, 0xAD + lsls r1, 1 + adds r5, r1 + adds r1, r5, 0 + bl CopyString + ldr r0, [r7] + adds r0, 0x9F + ldr r2, =0x020229e8 + adds r4, r2 + ldrb r1, [r4, 0x1A] + bl StopMusicWhileStringIsPrinted + ldr r0, [r7] + adds r0, 0x9F + ldr r1, =gUnknown_08339914 + bl AppendString + ldr r1, [r7] + adds r1, 0x9F + movs r3, 0xFF + str r3, [sp] + mov r0, r10 + str r0, [sp, 0x4] + movs r0, 0x5 + movs r2, 0x54 + adds r3, r6, 0 + bl sub_80840D4 + movs r1, 0x10 + add r9, r1 + mov r2, r8 + lsls r2, 16 + lsrs r6, r2, 16 + ldr r0, [r7] + adds r0, 0x7C + ldrb r0, [r0] + cmp r6, r0 + bcc _08083564 +_0808361A: + ldr r1, =gUnknown_0833992E + movs r3, 0xFF + mov r10, r3 + str r3, [sp] + movs r0, 0x3 + mov r9, r0 + str r0, [sp, 0x4] + movs r0, 0x5 + movs r2, 0 + movs r3, 0x51 + bl sub_80840D4 + ldr r6, =0x020322a4 + ldr r0, [r6] + adds r4, r0, 0 + adds r4, 0x9F + adds r0, 0x4E + ldrh r0, [r0] + movs r1, 0x64 + bl __udivsi3 + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + adds r0, r4, 0 + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalString + ldr r0, [r6] + adds r0, 0x9F + ldr r1, =gUnknown_08339941 + bl AppendString + ldr r0, [r6] + adds r0, 0x4E + ldrh r0, [r0] + movs r1, 0x64 + bl __umodsi3 + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + ldr r0, [sp, 0x48] + movs r2, 0x2 + movs r3, 0x2 + bl ConvertIntToDecimalString + ldr r0, [r6] + adds r0, 0x9F + ldr r1, [sp, 0x48] + bl AppendString + ldr r0, [r6] + adds r0, 0x9F + ldr r1, =gUnknown_0833993C + bl AppendString + ldr r1, [r6] + adds r1, 0x9F + movs r0, 0x1 + movs r2, 0xA8 + bl GetStringRightAlignXOffset + ldr r1, [r6] + adds r1, 0x9F + lsls r2, r0, 24 + lsrs r2, 24 + mov r3, r10 + str r3, [sp] + mov r0, r9 + str r0, [sp, 0x4] + movs r0, 0x5 + movs r3, 0x51 + bl sub_80840D4 + ldr r1, =gUnknown_0833991B + mov r2, r10 + str r2, [sp] + mov r3, r9 + str r3, [sp, 0x4] + movs r0, 0x5 + movs r2, 0 + movs r3, 0x61 + bl sub_80840D4 + ldr r5, [r6] + movs r1, 0x82 + lsls r1, 1 + adds r0, r5, r1 + ldr r0, [r0] + mov r8, r0 + movs r1, 0x3C + bl __udivsi3 + movs r1, 0x3C + bl __umodsi3 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + movs r1, 0xE1 + lsls r1, 4 + mov r0, r8 + bl __udivsi3 + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + adds r5, 0x9F + adds r0, r5, 0 + movs r2, 0x2 + movs r3, 0x2 + bl ConvertIntToDecimalString + ldr r0, [r6] + adds r0, 0x9F + ldr r1, =gUnknown_08339921 + bl AppendString + adds r1, r4, 0 + movs r2, 0x2 + movs r3, 0x2 + bl ConvertIntToDecimalString + ldr r0, [r6] + adds r0, 0x9F + ldr r1, =gUnknown_08339928 + bl AppendString + ldr r1, [r6] + adds r1, 0x9F + movs r0, 0x1 + movs r2, 0xA8 + bl GetStringRightAlignXOffset + ldr r1, [r6] + adds r1, 0x9F + lsls r2, r0, 24 + lsrs r2, 24 + mov r3, r10 + str r3, [sp] + mov r0, r9 + str r0, [sp, 0x4] + movs r0, 0x5 + movs r3, 0x61 + bl sub_80840D4 + ldr r1, [r6] + movs r3, 0x84 + lsls r3, 1 + adds r2, r1, r3 + movs r0, 0 + str r0, [r2] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + movs r0, 0x5 + movs r1, 0x2 + bl CopyWindowToVram + b _08083898 + .pool +_08083790: + ldr r0, =0x030022c0 + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0808379E + b _08083898 +_0808379E: + ldr r1, [r4] + b _08083854 + .pool +_080837A8: + movs r0, 0x5 + movs r1, 0x1 + bl sub_8198070 + movs r6, 0 + add r7, sp, 0x40 + ldr r5, =0x020322a4 +_080837B6: + ldr r0, [r5] + lsls r2, r6, 1 + adds r0, 0x74 + adds r0, r2 + ldrh r1, [r0] + cmp r1, 0 + beq _080837CC + add r0, sp, 0x38 + adds r0, r2 + subs r1, 0x85 + strh r1, [r0] +_080837CC: + ldr r0, [r5] + adds r0, 0x8E + adds r0, r2 + ldrh r0, [r0] + cmp r0, 0xFF + beq _080837EA + lsls r4, r6, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl PutWindowTilemap + adds r0, r4, 0 + movs r1, 0x3 + bl CopyWindowToVram +_080837EA: + adds r0, r6, 0x1 + lsls r0, 16 + lsrs r6, r0, 16 + cmp r6, 0x3 + bls _080837B6 + bl sub_8081E20 + ldr r4, =0x020322a4 + ldr r3, [r4] + movs r1, 0xAC + lsls r1, 1 + adds r0, r3, r1 + adds r1, r3, 0 + adds r1, 0x7C + ldrb r2, [r1] + subs r1, 0x2E + ldrh r1, [r1] + str r1, [sp] + adds r1, r7, 0 + add r3, sp, 0x8 + bl sub_8081BE0 + ldr r1, [r4] + adds r1, 0x9F + adds r0, r7, 0 + bl sub_80838AC + ldr r1, [r4] + movs r2, 0xD4 + lsls r2, 1 + adds r1, r2 + adds r0, r7, 0 + bl sub_8083F94 + ldr r0, =sub_8083F3C + movs r1, 0x6 + bl CreateTask + bl sub_80EECEC + ldr r0, =0x0203ce7c + ldrh r0, [r0] + movs r1, 0x1 + bl remove_item + adds r0, r7, 0 + bl sub_8136F2C + ldr r1, [r4] + ldr r3, =0x000011b8 + adds r2, r1, r3 + movs r0, 0 + strh r0, [r2] +_08083854: + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _08083898 + .pool +_0808386C: + ldr r4, [r4] + ldr r0, =0x000011b8 + adds r5, r4, r0 + adds r4, 0x9F + bl sav2_get_text_speed + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_808417C + cmp r0, 0 + beq _08083898 + bl UpdateBerryBlenderRecord + movs r0, 0x1 + b _0808389A + .pool +_08083898: + movs r0, 0 +_0808389A: + add sp, 0x4C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end berry_blender_related + + thumb_func_start sub_80838AC +sub_80838AC: @ 80838AC + push {r4-r6,lr} + sub sp, 0xC + adds r5, r0, 0 + adds r6, r1, 0 + movs r0, 0xFF + strb r0, [r6] + ldr r1, =gUnknown_085B262C + ldrb r0, [r5] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + adds r0, r6, 0 + bl CopyString + ldr r1, =gUnknown_0833979D + adds r0, r6, 0 + bl AppendString + ldr r1, =gUnknown_08339943 + adds r0, r6, 0 + bl AppendString + adds r0, r5, 0 + bl sub_8136EA4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + bl sub_8136EDC + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r1, =gUnknown_0833994F + adds r0, r6, 0 + bl AppendString + mov r0, sp + adds r1, r4, 0 + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalString + adds r0, r6, 0 + mov r1, sp + bl AppendString + ldr r1, =gUnknown_0833995D + adds r0, r6, 0 + bl AppendString + mov r0, sp + adds r1, r5, 0 + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalString + adds r0, r6, 0 + mov r1, sp + bl AppendString + ldr r1, =gUnknown_08339970 + adds r0, r6, 0 + bl AppendString + ldr r1, =gUnknown_0833979B + adds r0, r6, 0 + bl AppendString + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80838AC + + thumb_func_start sub_808395C +sub_808395C: @ 808395C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + mov r9, r0 + mov r12, r2 + lsls r1, 24 + lsrs r7, r1, 24 + movs r0, 0 + cmp r0, r7 + bge _080839A8 +_08083972: + movs r5, 0 + adds r1, r0, 0x1 + mov r8, r1 + cmp r5, r7 + bge _080839A2 + mov r1, r9 + adds r6, r1, r0 +_08083980: + ldrb r4, [r6] + lsls r1, r4, 2 + add r1, r12 + mov r0, r9 + adds r2, r0, r5 + ldrb r3, [r2] + lsls r0, r3, 2 + add r0, r12 + ldr r1, [r1] + ldr r0, [r0] + cmp r1, r0 + bls _0808399C + strb r3, [r6] + strb r4, [r2] +_0808399C: + adds r5, 0x1 + cmp r5, r7 + blt _08083980 +_080839A2: + mov r0, r8 + cmp r0, r7 + blt _08083972 +_080839A8: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_808395C + + thumb_func_start sub_80839B4 +sub_80839B4: @ 80839B4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + movs r5, 0 + ldr r2, =0x020322a4 + ldr r0, [r2] + adds r0, 0x7C + adds r1, r2, 0 + add r3, sp, 0x4 + mov r10, r3 + b _080839E4 + .pool +_080839D4: + mov r4, sp + adds r0, r4, r5 + strb r5, [r0] + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, [r2] + adds r0, 0x7C +_080839E4: + ldrb r0, [r0] + cmp r5, r0 + bcc _080839D4 + movs r5, 0 + ldr r0, [r1] + adds r1, r0, 0 + adds r1, 0x7C + ldrb r2, [r1] + cmp r5, r2 + bcs _08083A5E + mov r9, r10 + movs r3, 0x92 + lsls r3, 1 + adds r3, r0 + mov r8, r3 + mov r12, r1 + movs r4, 0x93 + lsls r4, 1 + adds r7, r0, r4 + movs r1, 0x94 + lsls r1, 1 + adds r6, r0, r1 +_08083A10: + lsls r4, r5, 2 + add r4, r9 + lsls r3, r5, 1 + adds r3, r5 + lsls r3, 1 + mov r2, r8 + adds r0, r2, r3 + ldrh r2, [r0] + lsls r0, r2, 5 + subs r0, r2 + lsls r1, r0, 6 + subs r1, r0 + lsls r1, 3 + adds r1, r2 + lsls r1, 6 + str r1, [r4] + adds r0, r7, r3 + ldrh r2, [r0] + lsls r0, r2, 5 + subs r0, r2 + lsls r0, 2 + adds r0, r2 + lsls r0, 3 + adds r1, r0 + str r1, [r4] + movs r0, 0xFA + lsls r0, 2 + adds r1, r0 + adds r3, r6, r3 + ldrh r0, [r3] + subs r1, r0 + str r1, [r4] + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + mov r1, r12 + ldrb r1, [r1] + cmp r5, r1 + bcc _08083A10 +_08083A5E: + ldr r4, =0x020322a4 + ldr r0, [r4] + adds r0, 0x7C + ldrb r1, [r0] + mov r0, sp + mov r2, r10 + bl sub_808395C + movs r5, 0 + ldr r0, [r4] + adds r0, 0x7C + ldrb r0, [r0] + cmp r5, r0 + bcs _08083A9E + adds r2, r4, 0 + movs r3, 0x9E + lsls r3, 1 +_08083A80: + ldr r1, [r2] + adds r1, r3 + adds r1, r5 + mov r4, sp + adds r0, r4, r5 + ldrb r0, [r0] + strb r0, [r1] + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, [r2] + adds r0, 0x7C + ldrb r0, [r0] + cmp r5, r0 + bcc _08083A80 +_08083A9E: + ldr r0, =0x03003124 + ldrb r0, [r0] + cmp r0, 0 + bne _08083AB4 + movs r3, 0 + b _08083ABC + .pool +_08083AB4: + bl link_get_multiplayer_id + lsls r0, 24 + lsrs r3, r0, 24 +_08083ABC: + movs r5, 0 + ldr r1, =0x020322a4 + ldr r0, [r1] + adds r0, 0x7C + ldrb r0, [r0] + cmp r5, r0 + bcs _08083AF2 + movs r6, 0x9E + lsls r6, 1 + movs r4, 0xD2 + lsls r4, 1 +_08083AD2: + ldr r2, [r1] + adds r0, r2, r6 + adds r0, r5 + ldrb r0, [r0] + cmp r0, r3 + bne _08083AE2 + adds r0, r2, r4 + strb r5, [r0] +_08083AE2: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, [r1] + adds r0, 0x7C + ldrb r0, [r0] + cmp r5, r0 + bcc _08083AD2 +_08083AF2: + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_80839B4 + + thumb_func_start sub_8083B08 +sub_8083B08: @ 8083B08 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xC + ldr r1, =0x020322a4 + ldr r0, [r1] + ldrb r0, [r0] + adds r2, r1, 0 + cmp r0, 0x6 + bls _08083B22 + b _08083E12 +_08083B22: + lsls r0, 2 + ldr r1, =_08083B34 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08083B34: + .4byte _08083B50 + .4byte _08083B66 + .4byte _08083B80 + .4byte _08083B9A + .4byte _08083DC8 + .4byte _08083DE2 + .4byte _08083E08 +_08083B50: + ldr r1, [r2] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + ldr r0, [r2] + movs r1, 0x84 + lsls r1, 1 + adds r0, r1 + movs r1, 0xFF + str r1, [r0] + b _08083E12 +_08083B66: + ldr r1, [r2] + movs r3, 0x84 + lsls r3, 1 + adds r2, r1, r3 + ldr r0, [r2] + subs r0, 0xA + str r0, [r2] + cmp r0, 0 + blt _08083B7A + b _08083E12 +_08083B7A: + movs r0, 0 + str r0, [r2] + b _08083DF8 +_08083B80: + ldr r1, [r2] + movs r0, 0x84 + lsls r0, 1 + adds r2, r1, r0 + ldr r0, [r2] + adds r0, 0x1 + str r0, [r2] + cmp r0, 0x14 + bgt _08083B94 + b _08083E12 +_08083B94: + movs r0, 0 + str r0, [r2] + b _08083DF8 +_08083B9A: + movs r0, 0x5 + movs r1, 0 + movs r2, 0x1 + movs r3, 0xD + bl SetWindowBorderStyle + ldr r4, =gUnknown_08339947 + movs r0, 0x1 + adds r1, r4, 0 + movs r2, 0xA8 + bl GetStringCenterAlignXOffset + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + movs r0, 0xFF + str r0, [sp] + movs r0, 0 + str r0, [sp, 0x4] + movs r0, 0x5 + adds r1, r4, 0 + movs r3, 0x1 + bl sub_80840D4 + ldr r1, =gUnknown_08339B40 + mov r8, r1 + mov r0, r8 + movs r1, 0x80 + movs r2, 0x34 + movs r3, 0 + bl AddObjectToFront + ldr r7, =0x020322a4 + ldr r1, [r7] + adds r1, 0x46 + strb r0, [r1] + ldr r0, [r7] + adds r0, 0x46 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r6, =0x02020630 + adds r0, r6 + movs r1, 0x3 + bl StartObjectImageAnim + ldr r0, [r7] + adds r0, 0x46 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r5, r6, 0 + adds r5, 0x1C + adds r0, r5 + ldr r4, =DummyObjectCallback + str r4, [r0] + mov r0, r8 + movs r1, 0xA0 + movs r2, 0x34 + movs r3, 0 + bl AddObjectToFront + ldr r1, [r7] + adds r1, 0x47 + strb r0, [r1] + ldr r0, [r7] + adds r0, 0x47 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + str r4, [r0] + mov r0, r8 + movs r1, 0xC0 + movs r2, 0x34 + movs r3, 0 + bl AddObjectToFront + ldr r1, [r7] + adds r1, 0x48 + strb r0, [r1] + ldr r0, [r7] + adds r0, 0x48 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + movs r1, 0x1 + bl StartObjectImageAnim + ldr r0, [r7] + adds r0, 0x48 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + str r4, [r0] + bl sub_80839B4 + movs r2, 0x29 + str r2, [sp, 0x8] + movs r2, 0 + ldr r0, [r7] + adds r0, 0x7C + ldrb r0, [r0] + cmp r2, r0 + bcc _08083C7C + b _08083D8A +_08083C7C: + movs r3, 0xFF + mov r10, r3 + movs r0, 0x3 + mov r9, r0 +_08083C84: + ldr r0, [r7] + movs r3, 0x9E + lsls r3, 1 + adds r1, r0, r3 + adds r1, r2 + ldrb r5, [r1] + adds r0, 0x9F + adds r2, 0x1 + mov r8, r2 + mov r1, r8 + movs r2, 0 + movs r3, 0x1 + bl ConvertIntToDecimalString + ldr r0, [r7] + adds r0, 0x9F + ldr r1, =gUnknown_08339941 + bl AppendString + ldr r0, [r7] + adds r0, 0x9F + ldr r1, =gUnknown_085E8D5E + bl AppendString + ldr r0, [r7] + adds r0, 0x9F + lsls r1, r5, 3 + subs r1, r5 + lsls r1, 2 + ldr r2, =0x020229f0 + adds r1, r2 + bl AppendString + ldr r1, [r7] + adds r1, 0x9F + ldr r0, [sp, 0x8] + lsls r6, r0, 24 + lsrs r6, 24 + mov r2, r10 + str r2, [sp] + mov r3, r9 + str r3, [sp, 0x4] + movs r0, 0x5 + movs r2, 0 + adds r3, r6, 0 + bl sub_80840D4 + ldr r1, [r7] + adds r0, r1, 0 + adds r0, 0x9F + lsls r4, r5, 1 + adds r4, r5 + lsls r4, 1 + movs r2, 0x92 + lsls r2, 1 + adds r1, r2 + adds r1, r4 + ldrh r1, [r1] + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalString + ldr r1, [r7] + adds r1, 0x9F + mov r3, r10 + str r3, [sp] + mov r0, r9 + str r0, [sp, 0x4] + movs r0, 0x5 + movs r2, 0x4E + adds r3, r6, 0 + bl sub_80840D4 + ldr r1, [r7] + adds r0, r1, 0 + adds r0, 0x9F + movs r2, 0x93 + lsls r2, 1 + adds r1, r2 + adds r1, r4 + ldrh r1, [r1] + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalString + ldr r1, [r7] + adds r1, 0x9F + mov r3, r10 + str r3, [sp] + mov r0, r9 + str r0, [sp, 0x4] + movs r0, 0x5 + movs r2, 0x6E + adds r3, r6, 0 + bl sub_80840D4 + ldr r1, [r7] + adds r0, r1, 0 + adds r0, 0x9F + movs r2, 0x94 + lsls r2, 1 + adds r1, r2 + adds r1, r4 + ldrh r1, [r1] + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalString + ldr r1, [r7] + adds r1, 0x9F + mov r3, r10 + str r3, [sp] + mov r0, r9 + str r0, [sp, 0x4] + movs r0, 0x5 + movs r2, 0x8E + adds r3, r6, 0 + bl sub_80840D4 + ldr r1, [sp, 0x8] + adds r1, 0x10 + str r1, [sp, 0x8] + mov r2, r8 + lsls r2, 16 + lsrs r2, 16 + ldr r0, [r7] + adds r0, 0x7C + ldrb r0, [r0] + cmp r2, r0 + bcs _08083D8A + b _08083C84 +_08083D8A: + movs r0, 0x5 + bl PutWindowTilemap + movs r0, 0x5 + movs r1, 0x3 + bl CopyWindowToVram + ldr r0, =0x020322a4 + ldr r1, [r0] + movs r3, 0x84 + lsls r3, 1 + adds r2, r1, r3 + movs r0, 0 + str r0, [r2] + b _08083DF8 + .pool +_08083DC8: + ldr r2, [r2] + movs r0, 0x84 + lsls r0, 1 + adds r1, r2, r0 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + cmp r0, 0x14 + ble _08083E12 + ldrb r0, [r2] + adds r0, 0x1 + strb r0, [r2] + b _08083E12 +_08083DE2: + ldr r0, =0x030022c0 + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08083E12 + movs r0, 0x5 + bl audio_play + ldr r0, =0x020322a4 + ldr r1, [r0] +_08083DF8: + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _08083E12 + .pool +_08083E08: + ldr r1, [r2] + movs r0, 0 + strb r0, [r1] + movs r0, 0x1 + b _08083E14 +_08083E12: + movs r0, 0 +_08083E14: + add sp, 0xC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8083B08 + + thumb_func_start ShowBerryBlenderRecordWindow +ShowBerryBlenderRecordWindow: @ 8083E24 + push {r4-r7,lr} + sub sp, 0x34 + ldr r0, =gUnknown_08339D14 + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [sp, 0x2C] + str r1, [sp, 0x30] + ldr r5, =0x0203ab74 + add r0, sp, 0x2C + bl AddWindow + strb r0, [r5] + ldrb r0, [r5] + movs r1, 0 + bl sub_81973FC + ldrb r0, [r5] + movs r1, 0x11 + bl FillWindowPixelBuffer + ldr r6, =gUnknown_085EE44F + movs r0, 0x1 + adds r1, r6, 0 + movs r2, 0x90 + bl GetStringCenterAlignXOffset + adds r3, r0, 0 + ldrb r0, [r5] + lsls r3, 24 + lsrs r3, 24 + movs r1, 0x1 + str r1, [sp] + movs r4, 0 + str r4, [sp, 0x4] + str r4, [sp, 0x8] + adds r2, r6, 0 + bl Print + ldrb r0, [r5] + ldr r2, =gUnknown_085EE473 + movs r1, 0x29 + str r1, [sp] + str r4, [sp, 0x4] + str r4, [sp, 0x8] + movs r1, 0x1 + movs r3, 0x4 + bl Print + movs r6, 0 + movs r7, 0xA4 + lsls r7, 22 +_08083E8A: + ldr r0, =0x03005d8c + ldr r0, [r0] + lsls r1, r6, 1 + ldr r2, =0x000009bc + adds r0, r2 + adds r0, r1 + ldrh r4, [r0] + adds r0, r4, 0 + movs r1, 0x64 + bl __udivsi3 + adds r1, r0, 0 + add r0, sp, 0xC + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalString + adds r5, r0, 0 + ldr r1, =gUnknown_08339941 + bl AppendString + adds r5, r0, 0 + adds r0, r4, 0 + movs r1, 0x64 + bl __umodsi3 + adds r1, r0, 0 + adds r0, r5, 0 + movs r2, 0x2 + movs r3, 0x2 + bl ConvertIntToDecimalString + adds r5, r0, 0 + ldr r1, =gUnknown_0833993C + bl AppendString + movs r0, 0x1 + add r1, sp, 0xC + movs r2, 0x8C + bl GetStringRightAlignXOffset + adds r3, r0, 0 + ldr r4, =0x0203ab74 + ldrb r0, [r4] + lsls r3, 24 + lsrs r3, 24 + lsrs r1, r7, 24 + str r1, [sp] + movs r1, 0 + str r1, [sp, 0x4] + str r1, [sp, 0x8] + movs r1, 0x1 + add r2, sp, 0xC + bl Print + movs r0, 0x80 + lsls r0, 21 + adds r7, r0 + adds r6, 0x1 + cmp r6, 0x2 + ble _08083E8A + ldrb r0, [r4] + bl PutWindowTilemap + ldrb r0, [r4] + movs r1, 0x3 + bl CopyWindowToVram + add sp, 0x34 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end ShowBerryBlenderRecordWindow + + thumb_func_start sub_8083F3C +sub_8083F3C: @ 8083F3C + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r1, =0x03005e00 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _08083F62 + ldr r0, =0x0000016f + bl fanfare_play + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] +_08083F62: + bl task_is_not_running_overworld_fanfare + lsls r0, 24 + cmp r0, 0 + beq _08083F82 + ldr r0, =0x020322a4 + ldr r0, [r0] + movs r1, 0xAA + lsls r1, 1 + adds r0, r1 + ldrh r0, [r0] + bl song_play_for_text + adds r0, r5, 0 + bl DestroyTask +_08083F82: + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8083F3C + + thumb_func_start sub_8083F94 +sub_8083F94: @ 8083F94 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + adds r6, r0, 0 + adds r7, r1, 0 + bl sub_8136EA4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r6, 0 + bl sub_8136EDC + adds r1, r0, 0 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 1 + lsls r1, 24 + lsrs r1, 24 + bl __divsi3 + lsls r0, 16 + lsrs r3, r0, 16 + strb r3, [r7, 0xD] + ldrb r0, [r6] + strb r0, [r7, 0xC] + movs r0, 0xFF + strb r0, [r7] + ldr r0, =0x03003124 + ldrb r0, [r0] + cmp r0, 0 + beq _080840C4 + ldr r0, =0x020322a4 + ldr r2, [r0] + movs r4, 0xD2 + lsls r4, 1 + adds r1, r2, r4 + ldrb r1, [r1] + mov r8, r0 + cmp r1, 0 + bne _08084058 + cmp r3, 0x14 + bls _08084058 + adds r0, r2, 0 + adds r0, 0x7C + ldrb r1, [r0] + subs r1, 0x1 + movs r0, 0x9E + lsls r0, 1 + mov r9, r0 + adds r0, r2, r0 + adds r0, r1 + ldrb r0, [r0] + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + ldr r5, =0x020229f0 + adds r1, r5 + adds r0, r7, 0 + bl CopyString + adds r0, r6, 0 + bl sub_81370B4 + strb r0, [r7, 0xB] + ldrb r1, [r7, 0xB] + ldrb r2, [r7, 0xC] + ldrb r3, [r7, 0xD] + mov r6, r8 + ldr r4, [r6] + adds r0, r4, 0 + adds r0, 0x7C + ldrb r0, [r0] + subs r0, 0x1 + add r4, r9 + adds r4, r0 + ldrb r4, [r4] + lsls r0, r4, 3 + subs r0, r4 + lsls r0, 2 + adds r5, r0 + ldrb r0, [r5, 0x12] + str r0, [sp] + adds r0, r7, 0 + bl sub_80ECC04 + lsls r0, 24 + cmp r0, 0 + bne _080840BA + b _080840C4 + .pool +_08084058: + mov r0, r8 + ldr r2, [r0] + movs r1, 0xD2 + lsls r1, 1 + adds r0, r2, r1 + ldrb r1, [r0] + adds r0, r2, 0 + adds r0, 0x7C + ldrb r0, [r0] + subs r0, 0x1 + cmp r1, r0 + bne _080840C4 + cmp r3, 0x14 + bhi _080840C4 + movs r4, 0x9E + lsls r4, 1 + adds r0, r2, r4 + ldrb r0, [r0] + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + ldr r5, =0x020229f0 + adds r1, r5 + adds r0, r7, 0 + bl CopyString + adds r0, r6, 0 + bl sub_81370B4 + strb r0, [r7, 0xB] + ldrb r1, [r7, 0xB] + ldrb r2, [r7, 0xC] + ldrb r3, [r7, 0xD] + mov r6, r8 + ldr r0, [r6] + adds r0, r4 + ldrb r4, [r0] + lsls r0, r4, 3 + subs r0, r4 + lsls r0, 2 + adds r5, r0 + ldrb r0, [r5, 0x12] + str r0, [sp] + adds r0, r7, 0 + bl sub_80ECC04 + lsls r0, 24 + cmp r0, 0 + beq _080840C4 +_080840BA: + movs r0, 0x1 + b _080840C6 + .pool +_080840C4: + movs r0, 0 +_080840C6: + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8083F94 + + thumb_func_start sub_80840D4 +sub_80840D4: @ 80840D4 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x18 + mov r9, r1 + ldr r4, [sp, 0x38] + lsls r0, 24 + lsrs r6, r0, 24 + lsls r2, 24 + lsrs r2, 24 + mov r8, r2 + lsls r3, 24 + lsrs r7, r3, 24 + movs r5, 0 + cmp r4, 0x1 + beq _08084116 + cmp r4, 0x1 + bgt _08084100 + cmp r4, 0 + beq _08084108 + b _08084132 +_08084100: + cmp r4, 0x2 + beq _08084124 + cmp r4, 0x3 + bne _08084136 +_08084108: + add r1, sp, 0x14 + movs r0, 0x1 + strb r0, [r1] + movs r0, 0x2 + strb r0, [r1, 0x1] + movs r0, 0x3 + b _08084130 +_08084116: + add r0, sp, 0x14 + strb r5, [r0] + adds r1, r0, 0 + movs r0, 0x2 + strb r0, [r1, 0x1] + movs r0, 0x3 + b _08084130 +_08084124: + add r0, sp, 0x14 + strb r5, [r0] + adds r1, r0, 0 + movs r0, 0x4 + strb r0, [r1, 0x1] + movs r0, 0x5 +_08084130: + strb r0, [r1, 0x2] +_08084132: + cmp r4, 0x3 + beq _08084148 +_08084136: + add r0, sp, 0x14 + ldrb r0, [r0] + lsls r1, r0, 4 + orrs r1, r0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r6, 0 + bl FillWindowPixelBuffer +_08084148: + movs r0, 0 + str r0, [sp] + movs r0, 0x1 + str r0, [sp, 0x4] + add r0, sp, 0x14 + str r0, [sp, 0x8] + ldr r0, [sp, 0x34] + lsls r0, 24 + asrs r0, 24 + str r0, [sp, 0xC] + mov r0, r9 + str r0, [sp, 0x10] + adds r0, r6, 0 + movs r1, 0x1 + mov r2, r8 + adds r3, r7, 0 + bl AddTextPrinterParametrized2 + add sp, 0x18 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80840D4 + + thumb_func_start sub_808417C +sub_808417C: @ 808417C + push {r4-r7,lr} + sub sp, 0x8 + adds r5, r0, 0 + adds r7, r1, 0 + adds r6, r2, 0 + movs r0, 0 + ldrsh r4, [r5, r0] + cmp r4, 0 + beq _08084194 + cmp r4, 0x1 + beq _080841C6 + b _080841DA +_08084194: + movs r0, 0x4 + movs r1, 0 + movs r2, 0x14 + movs r3, 0xF + bl sub_8197B1C + str r6, [sp] + str r4, [sp, 0x4] + movs r0, 0x4 + adds r1, r7, 0 + movs r2, 0 + movs r3, 0x1 + bl sub_80840D4 + movs r0, 0x4 + bl PutWindowTilemap + movs r0, 0x4 + movs r1, 0x3 + bl CopyWindowToVram + ldrh r0, [r5] + adds r0, 0x1 + strh r0, [r5] + b _080841DA +_080841C6: + movs r0, 0x4 + bl IsTextPrinterActive + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0 + bne _080841DA + strh r0, [r5] + movs r0, 0x1 + b _080841DC +_080841DA: + movs r0, 0 +_080841DC: + add sp, 0x8 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_808417C + + .align 2, 0 @ Don't pad with nop. |