diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2020-01-08 19:35:48 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-08 19:35:48 -0500 |
commit | 7e2330e7fd01f5eebb7fdeb157d3dd29b4da3f0f (patch) | |
tree | 8e197c66593ace92b61cebf95ca67fb2592aa6f1 /asm | |
parent | 26f7ba482384ad4f63063797a527b7fb33572aa1 (diff) | |
parent | 4e87e3567f91b0b2ebf792a7a2f9030a63578dfd (diff) |
Merge pull request #206 from PikalaxALT/region_map
Region map
Diffstat (limited to 'asm')
-rw-r--r-- | asm/crt0.s | 73 | ||||
-rw-r--r-- | asm/region_map.s | 13825 |
2 files changed, 38 insertions, 13860 deletions
diff --git a/asm/crt0.s b/asm/crt0.s index 609845337..28855d504 100644 --- a/asm/crt0.s +++ b/asm/crt0.s @@ -1,4 +1,6 @@ .include "constants/gba_constants.inc" + .include "constants/misc_constants.inc" + .include "constants/version.inc" .syntax unified @@ -8,8 +10,8 @@ .arm -Start: @ 8000000 - b Init +_start: @ 8000000 + b start_vector .include "asm/rom_header.inc" @@ -32,8 +34,6 @@ GPIOPortReadEnable: @ 80000C8 @ 80000D0 -@ TODO: figure out what this data is - .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF @@ -46,19 +46,21 @@ GPIOPortReadEnable: @ 80000C8 .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF + +@ 8000100 + .global CartIdent +CartIdent: + .4byte GAME_VERSION + .4byte GAME_LANGUAGE +.game_name: .ifdef FIRERED - .4byte 4 - .4byte 2 .ascii "pokemon red version" - .space 13 .else .ifdef LEAFGREEN - .4byte 5 - .4byte 2 .ascii "pokemon green version" - .space 11 .endif .endif + .space .game_name+0x20-. .4byte gMonFrontPicTable .4byte gMonBackPicTable .4byte gMonPaletteTable @@ -118,32 +120,32 @@ GPIOPortReadEnable: @ 80000C8 .arm .align 2, 0 - .global Init -Init: + .global start_vector +start_vector: mov r0, PSR_IRQ_MODE msr cpsr_cf, r0 ldr sp, sp_irq mov r0, PSR_SYS_MODE msr cpsr_cf, r0 - ldr sp, sp_sys + ldr sp, sp_usr ldr r1, =INTR_VECTOR - adr r0, IntrMain + adr r0, intr_main str r0, [r1] ldr r1, =AgbMain mov lr, pc bx r1 - b Init + b start_vector .align 2, 0 -sp_sys: .word IWRAM_END - 0x1C0 +sp_usr: .word IWRAM_END - 0x1C0 sp_irq: .word IWRAM_END - 0x60 .pool .arm .align 2, 0 - .global IntrMain -IntrMain: + .global intr_main +intr_main: mov r3, REG_BASE add r3, r3, 0x200 ldr r2, [r3, OFFSET_REG_IE - 0x200] @@ -155,50 +157,51 @@ IntrMain: and r1, r2, r2, lsr 16 mov r12, 0 ands r0, r1, INTR_FLAG_VCOUNT - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 mov r0, 0x1 strh r0, [r3, OFFSET_REG_IME - 0x200] ands r0, r1, INTR_FLAG_SERIAL - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_TIMER3 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_HBLANK - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_VBLANK - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_TIMER0 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_TIMER1 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_TIMER2 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_DMA0 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_DMA1 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_DMA2 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_DMA3 - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_KEYPAD - bne IntrMain_FoundIntr + bne jump_intr add r12, r12, 0x4 ands r0, r1, INTR_FLAG_GAMEPAK strbne r0, [r3, OFFSET_REG_SOUNDCNT_X - 0x200] - bne . @ spin -IntrMain_FoundIntr: +loop: + bne loop @ spin +jump_intr: strh r0, [r3, OFFSET_REG_IF - 0x200] bic r2, r2, r0 ldr r0, =gRfuState @@ -218,9 +221,9 @@ IntrMain_FoundIntr: add r1, r1, r12 ldr r0, [r1] stmdb sp!, {lr} - adr lr, IntrMain_RetAddr + adr lr, intr_return bx r0 -IntrMain_RetAddr: +intr_return: ldmia sp!, {lr} mrs r3, cpsr bic r3, r3, PSR_I_BIT | PSR_F_BIT | PSR_MODE_MASK diff --git a/asm/region_map.s b/asm/region_map.s deleted file mode 100644 index 662c65fa7..000000000 --- a/asm/region_map.s +++ /dev/null @@ -1,13825 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80BFE18 -sub_80BFE18: @ 80BFE18 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r9, r2 - cmp r1, 0 - beq _080BFE92 - movs r0, 0x1F - mov r10, r0 - mov r8, r1 -_080BFE38: - ldrh r1, [r6] - movs r0, 0x1F - ands r0, r1 - lsls r1, 16 - lsrs r5, r1, 21 - mov r2, r10 - ands r5, r2 - lsrs r4, r1, 26 - ands r4, r2 - lsls r0, 8 - movs r1, 0x64 - bl __divsi3 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - asrs r7, r0, 8 - lsls r0, r5, 8 - movs r1, 0x64 - bl __divsi3 - mov r2, r9 - muls r2, r0 - adds r0, r2, 0 - asrs r5, r0, 8 - lsls r0, r4, 8 - movs r1, 0x64 - bl __divsi3 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - asrs r4, r0, 8 - lsls r0, r4, 10 - lsls r1, r5, 5 - orrs r0, r1 - orrs r0, r7 - strh r0, [r6] - adds r6, 0x2 - movs r2, 0x1 - negs r2, r2 - add r8, r2 - mov r0, r8 - cmp r0, 0 - bne _080BFE38 -_080BFE92: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80BFE18 - - thumb_func_start sub_80BFEA0 -sub_80BFEA0: @ 80BFEA0 - push {r4,lr} - sub sp, 0x20 - ldr r4, _080BFED8 @ =gUnknown_83EF2DC + 0x40 - adds r0, r4, 0 - mov r1, sp - movs r2, 0x10 - bl CpuSet - mov r0, sp - movs r1, 0x10 - movs r2, 0x5F - bl sub_80BFE18 - mov r0, sp - movs r1, 0x20 - movs r2, 0x20 - bl LoadPalette - adds r4, 0x1E - adds r0, r4, 0 - movs r1, 0x2F - movs r2, 0x2 - bl LoadPalette - add sp, 0x20 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BFED8: .4byte gUnknown_83EF2DC + 0x40 - thumb_func_end sub_80BFEA0 - - thumb_func_start sub_80BFEDC -sub_80BFEDC: @ 80BFEDC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080BFEFC @ =gUnknown_20399D4 - ldr r0, _080BFF00 @ =0x000047c0 - bl AllocZeroed - adds r2, r0, 0 - str r2, [r4] - cmp r2, 0 - bne _080BFF08 - ldr r0, _080BFF04 @ =CB2_ReturnToField - bl SetMainCallback2 - b _080BFF38 - .align 2, 0 -_080BFEFC: .4byte gUnknown_20399D4 -_080BFF00: .4byte 0x000047c0 -_080BFF04: .4byte CB2_ReturnToField -_080BFF08: - ldr r1, _080BFF40 @ =gUnknown_2031DE0 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _080BFF44 @ =0x00004796 - adds r0, r2, r1 - movs r1, 0 - strb r5, [r0] - ldr r0, [r4] - ldr r2, _080BFF48 @ =0x000047a0 - adds r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r2, 0x4 - adds r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r2, 0x4 - adds r0, r2 - strb r1, [r0] - bl sub_80BFFD0 - ldr r0, _080BFF4C @ =sub_80C0100 - bl SetMainCallback2 -_080BFF38: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BFF40: .4byte gUnknown_2031DE0 -_080BFF44: .4byte 0x00004796 -_080BFF48: .4byte 0x000047a0 -_080BFF4C: .4byte sub_80C0100 - thumb_func_end sub_80BFEDC - - thumb_func_start sub_80BFF50 -sub_80BFF50: @ 80BFF50 - push {r4-r6,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080BFF70 @ =gUnknown_20399D4 - ldr r0, _080BFF74 @ =0x000047c0 - bl AllocZeroed - adds r2, r0, 0 - str r2, [r4] - cmp r2, 0 - bne _080BFF7C - ldr r0, _080BFF78 @ =CB2_ReturnToField - bl SetMainCallback2 - b _080BFFB4 - .align 2, 0 -_080BFF70: .4byte gUnknown_20399D4 -_080BFF74: .4byte 0x000047c0 -_080BFF78: .4byte CB2_ReturnToField -_080BFF7C: - ldr r1, _080BFFBC @ =gUnknown_2031DE0 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _080BFFC0 @ =0x00004796 - adds r0, r2, r1 - movs r1, 0 - strb r5, [r0] - ldr r0, [r4] - ldr r2, _080BFFC4 @ =0x000047a0 - adds r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r2, 0x4 - adds r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r2, 0x4 - adds r0, r2 - strb r1, [r0] - ldr r0, [r4] - ldr r1, _080BFFC8 @ =0x000047bc - adds r0, r1 - str r6, [r0] - bl sub_80BFFD0 - ldr r0, _080BFFCC @ =sub_80C0100 - bl SetMainCallback2 -_080BFFB4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BFFBC: .4byte gUnknown_2031DE0 -_080BFFC0: .4byte 0x00004796 -_080BFFC4: .4byte 0x000047a0 -_080BFFC8: .4byte 0x000047bc -_080BFFCC: .4byte sub_80C0100 - thumb_func_end sub_80BFF50 - - thumb_func_start sub_80BFFD0 -sub_80BFFD0: @ 80BFFD0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r1, _080C0000 @ =gUnknown_20399D4 - ldr r2, [r1] - ldr r3, _080C0004 @ =0x00004796 - adds r0, r2, r3 - ldrb r0, [r0] - mov r8, r1 - cmp r0, 0 - blt _080BFFF2 - cmp r0, 0x1 - ble _080BFFF2 - cmp r0, 0x2 - beq _080C0010 -_080BFFF2: - mov r4, r8 - ldr r0, [r4] - ldr r1, _080C0008 @ =0x000047b8 - adds r0, r1 - ldr r1, _080C000C @ =sub_80C04E4 - str r1, [r0] - b _080C0018 - .align 2, 0 -_080C0000: .4byte gUnknown_20399D4 -_080C0004: .4byte 0x00004796 -_080C0008: .4byte 0x000047b8 -_080C000C: .4byte sub_80C04E4 -_080C0010: - ldr r3, _080C009C @ =0x000047b8 - adds r1, r2, r3 - ldr r0, _080C00A0 @ =sub_80C4F08 - str r0, [r1] -_080C0018: - movs r3, 0 - ldr r6, _080C00A4 @ =gUnknown_20399D4 - ldr r5, _080C00A8 @ =0x00004797 - ldr r4, _080C00AC @ =gUnknown_83F1B00 - ldr r2, _080C00B0 @ =0x00004796 -_080C0022: - ldr r0, [r6] - adds r1, r0, r5 - adds r1, r3 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3, r0 - adds r0, r4 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _080C0022 - ldr r0, _080C00B4 @ =0x00000845 - bl FlagGet - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080C0058 - ldr r0, _080C00A4 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r4, _080C00A8 @ =0x00004797 - adds r0, r4 - strb r1, [r0] -_080C0058: - movs r7, 0 - movs r1, 0 - ldr r2, _080C00B8 @ =gMapHeader - ldrb r0, [r2, 0x14] - ldr r3, _080C00A4 @ =gUnknown_20399D4 - mov r8, r3 - cmp r0, 0x8E - bls _080C00D8 - ldr r4, _080C00BC @ =gUnknown_83F1AA4 - mov r12, r4 - mov r10, r12 - mov r9, r2 -_080C0070: - movs r3, 0 - lsls r0, r1, 4 - subs r0, r1 - lsls r2, r0, 1 - mov r4, r10 - adds r0, r2, r4 - ldrb r0, [r0] - adds r5, r1, 0x1 - cmp r0, 0xC5 - beq _080C00D0 - ldr r6, _080C00BC @ =gUnknown_83F1AA4 - mov r0, r9 - ldrb r1, [r0, 0x14] - lsls r4, r5, 24 -_080C008C: - adds r0, r3, r2 - adds r0, r6 - ldrb r0, [r0] - cmp r1, r0 - bne _080C00C0 - lsrs r7, r4, 24 - b _080C00D0 - .align 2, 0 -_080C009C: .4byte 0x000047b8 -_080C00A0: .4byte sub_80C4F08 -_080C00A4: .4byte gUnknown_20399D4 -_080C00A8: .4byte 0x00004797 -_080C00AC: .4byte gUnknown_83F1B00 -_080C00B0: .4byte 0x00004796 -_080C00B4: .4byte 0x00000845 -_080C00B8: .4byte gMapHeader -_080C00BC: .4byte gUnknown_83F1AA4 -_080C00C0: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r3, r2 - add r0, r12 - ldrb r0, [r0] - cmp r0, 0xC5 - bne _080C008C -_080C00D0: - lsls r0, r5, 24 - lsrs r1, r0, 24 - cmp r7, 0 - beq _080C0070 -_080C00D8: - mov r1, r8 - ldr r0, [r1] - ldr r2, _080C00F8 @ =0x0000479b - adds r0, r2 - strb r7, [r0] - ldr r0, [r1] - ldr r3, _080C00FC @ =0x0000479c - adds r0, r3 - strb r7, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C00F8: .4byte 0x0000479b -_080C00FC: .4byte 0x0000479c - thumb_func_end sub_80BFFD0 - - thumb_func_start sub_80C0100 -sub_80C0100: @ 80C0100 - push {r4,lr} - sub sp, 0x8 - ldr r0, _080C011C @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C0120 @ =0x000047a4 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x8 - bhi _080C0202 - lsls r0, 2 - ldr r1, _080C0124 @ =_080C0128 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C011C: .4byte gUnknown_20399D4 -_080C0120: .4byte 0x000047a4 -_080C0124: .4byte _080C0128 - .align 2, 0 -_080C0128: - .4byte _080C014C - .4byte _080C0152 - .4byte _080C0158 - .4byte _080C015E - .4byte _080C016A - .4byte _080C0180 - .4byte _080C01D4 - .4byte _080C01E0 - .4byte _080C01EC -_080C014C: - bl sub_80C08E0 - b _080C021A -_080C0152: - bl sub_80C0904 - b _080C021A -_080C0158: - bl sub_80C0A6C - b _080C021A -_080C015E: - bl sub_80C0238 - lsls r0, 24 - cmp r0, 0 - beq _080C0228 - b _080C021A -_080C016A: - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - b _080C01BA -_080C0180: - ldr r4, _080C01C4 @ =gUnknown_20399D4 - ldr r1, [r4] - ldr r2, _080C01C8 @ =0x0000479b - adds r0, r1, r2 - ldrb r0, [r0] - lsls r2, r0, 2 - adds r2, r0 - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 4 - adds r0, 0x26 - adds r1, r0 - movs r0, 0 - bl sub_80C0CC8 - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r1, [r4] - ldr r2, _080C01CC @ =0x00004796 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080C021A - ldr r0, _080C01D0 @ =0x000012e6 - adds r1, r0 - movs r0, 0x1 - bl sub_80C0CC8 -_080C01BA: - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - b _080C021A - .align 2, 0 -_080C01C4: .4byte gUnknown_20399D4 -_080C01C8: .4byte 0x0000479b -_080C01CC: .4byte 0x00004796 -_080C01D0: .4byte 0x000012e6 -_080C01D4: - bl sub_80C0B18 - movs r0, 0 - bl PutWindowTilemap - b _080C021A -_080C01E0: - bl sub_80C0BB0 - movs r0, 0x1 - bl PutWindowTilemap - b _080C021A -_080C01EC: - movs r0, 0x2 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C021A - movs r0, 0x1 - bl sub_80C0A88 - b _080C021A -_080C0202: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - bl sub_80C03E8 - bl sub_80C08F4 -_080C021A: - ldr r0, _080C0230 @ =gUnknown_20399D4 - ldr r1, [r0] - ldr r2, _080C0234 @ =0x000047a4 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080C0228: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C0230: .4byte gUnknown_20399D4 -_080C0234: .4byte 0x000047a4 - thumb_func_end sub_80C0100 - - thumb_func_start sub_80C0238 -sub_80C0238: @ 80C0238 - push {r4,lr} - sub sp, 0x4 - ldr r0, _080C0258 @ =gUnknown_20399D4 - ldr r1, [r0] - ldr r2, _080C025C @ =0x000047a8 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x8 - bls _080C024C - b _080C03B0 -_080C024C: - lsls r0, 2 - ldr r1, _080C0260 @ =_080C0264 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C0258: .4byte gUnknown_20399D4 -_080C025C: .4byte 0x000047a8 -_080C0260: .4byte _080C0264 - .align 2, 0 -_080C0264: - .4byte _080C0288 - .4byte _080C0298 - .4byte _080C02FC - .4byte _080C0302 - .4byte _080C0340 - .4byte _080C034E - .4byte _080C0364 - .4byte _080C037C - .4byte _080C0394 -_080C0288: - ldr r0, _080C0294 @ =gUnknown_83EF23C - movs r1, 0xC0 - movs r2, 0x20 - bl LoadPalette - b _080C03C8 - .align 2, 0 -_080C0294: .4byte gUnknown_83EF23C -_080C0298: - ldr r0, _080C02EC @ =gUnknown_83EF2DC - movs r1, 0 - movs r2, 0xA0 - bl LoadPalette - bl sub_80BFEA0 - ldr r0, _080C02F0 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C02F4 @ =0x00004796 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080C02B6 - b _080C03C8 -_080C02B6: - ldr r4, _080C02F8 @ =gUnknown_83EF23C + 0x1E - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x20 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x30 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x40 - movs r2, 0x2 - bl LoadPalette - b _080C03C8 - .align 2, 0 -_080C02EC: .4byte gUnknown_83EF2DC -_080C02F0: .4byte gUnknown_20399D4 -_080C02F4: .4byte 0x00004796 -_080C02F8: .4byte gUnknown_83EF23C + 0x1E -_080C02FC: - bl ResetTempTileDataBuffers - b _080C03C8 -_080C0302: - ldr r1, _080C0330 @ =gUnknown_83EF61C - movs r4, 0 - str r4, [sp] - movs r0, 0 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r0, _080C0334 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r2, _080C0338 @ =0x00004796 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080C03C8 - ldr r1, _080C033C @ =gUnknown_83F1978 - str r4, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - b _080C03C8 - .align 2, 0 -_080C0330: .4byte gUnknown_83EF61C -_080C0334: .4byte gUnknown_20399D4 -_080C0338: .4byte 0x00004796 -_080C033C: .4byte gUnknown_83F1978 -_080C0340: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C03C8 - b _080C03D6 -_080C034E: - ldr r0, _080C035C @ =gUnknown_83F089C - ldr r1, _080C0360 @ =gUnknown_20399D4 - ldr r1, [r1] - adds r1, 0x26 - bl LZ77UnCompWram - b _080C03C8 - .align 2, 0 -_080C035C: .4byte gUnknown_83F089C -_080C0360: .4byte gUnknown_20399D4 -_080C0364: - ldr r0, _080C0370 @ =gUnknown_83F0AFC - ldr r1, _080C0374 @ =gUnknown_20399D4 - ldr r1, [r1] - ldr r2, _080C0378 @ =0x000004d6 - b _080C039C - .align 2, 0 -_080C0370: .4byte gUnknown_83F0AFC -_080C0374: .4byte gUnknown_20399D4 -_080C0378: .4byte 0x000004d6 -_080C037C: - ldr r0, _080C0388 @ =gUnknown_83F0C0C - ldr r1, _080C038C @ =gUnknown_20399D4 - ldr r1, [r1] - ldr r2, _080C0390 @ =0x00000986 - b _080C039C - .align 2, 0 -_080C0388: .4byte gUnknown_83F0C0C -_080C038C: .4byte gUnknown_20399D4 -_080C0390: .4byte 0x00000986 -_080C0394: - ldr r0, _080C03A4 @ =gUnknown_83F0CF0 - ldr r1, _080C03A8 @ =gUnknown_20399D4 - ldr r1, [r1] - ldr r2, _080C03AC @ =0x00000e36 -_080C039C: - adds r1, r2 - bl LZ77UnCompWram - b _080C03C8 - .align 2, 0 -_080C03A4: .4byte gUnknown_83F0CF0 -_080C03A8: .4byte gUnknown_20399D4 -_080C03AC: .4byte 0x00000e36 -_080C03B0: - ldr r0, _080C03C0 @ =gUnknown_83F19A0 - ldr r2, _080C03C4 @ =0x000012e6 - adds r1, r2 - bl LZ77UnCompWram - movs r0, 0x1 - b _080C03D8 - .align 2, 0 -_080C03C0: .4byte gUnknown_83F19A0 -_080C03C4: .4byte 0x000012e6 -_080C03C8: - ldr r0, _080C03E0 @ =gUnknown_20399D4 - ldr r1, [r0] - ldr r0, _080C03E4 @ =0x000047a8 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080C03D6: - movs r0, 0 -_080C03D8: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C03E0: .4byte gUnknown_20399D4 -_080C03E4: .4byte 0x000047a8 - thumb_func_end sub_80C0238 - - thumb_func_start sub_80C03E8 -sub_80C03E8: @ 80C03E8 - push {lr} - ldr r0, _080C0404 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C0408 @ =0x000047b8 - adds r0, r1 - ldr r0, [r0] - movs r1, 0 - bl CreateTask - ldr r0, _080C040C @ =sub_80C08B4 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080C0404: .4byte gUnknown_20399D4 -_080C0408: .4byte 0x000047b8 -_080C040C: .4byte sub_80C08B4 - thumb_func_end sub_80C03E8 - - thumb_func_start sub_80C0410 -sub_80C0410: @ 80C0410 - push {r4,r5,lr} - bl sub_80C0E20 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - bl sub_80C3514 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - bl sub_80C3508 - adds r3, r0, 0 - lsls r3, 16 - asrs r3, 16 - adds r0, r5, 0 - movs r1, 0 - adds r2, r4, 0 - bl sub_80C4164 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x63 - beq _080C0446 - movs r0, 0x1 - b _080C0448 -_080C0446: - movs r0, 0 -_080C0448: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80C0410 - - thumb_func_start sub_80C0450 -sub_80C0450: @ 80C0450 - push {lr} - bl sub_80C0410 - cmp r0, 0 - beq _080C04E0 - movs r0, 0 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080C0474 - movs r0, 0 - bl sub_80C3AC8 - lsls r0, 24 - cmp r0, 0 - bne _080C048E -_080C0474: - movs r0, 0x1 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080C0494 - movs r0, 0x1 - bl sub_80C3AC8 - lsls r0, 24 - cmp r0, 0 - beq _080C0494 -_080C048E: - movs r0, 0x65 - bl PlaySE -_080C0494: - bl sub_80C3508 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x15 - bne _080C04C2 - bl sub_80C3514 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB - bne _080C04C2 - movs r0, 0 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C04C2 - movs r0, 0xE1 - bl PlaySE - b _080C04E0 -_080C04C2: - bl sub_80C3508 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x15 - bne _080C04E0 - bl sub_80C3514 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xD - bne _080C04E0 - movs r0, 0xE1 - bl PlaySE -_080C04E0: - pop {r0} - bx r0 - thumb_func_end sub_80C0450 - - thumb_func_start sub_80C04E4 -sub_80C04E4: @ 80C04E4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080C0508 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C050C @ =0x000047a0 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x5 - bls _080C04FC - b _080C07B0 -_080C04FC: - lsls r0, 2 - ldr r1, _080C0510 @ =_080C0514 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C0508: .4byte gUnknown_20399D4 -_080C050C: .4byte 0x000047a0 -_080C0510: .4byte _080C0514 - .align 2, 0 -_080C0514: - .4byte _080C052C - .4byte _080C0560 - .4byte _080C05E0 - .4byte _080C0624 - .4byte _080C0760 - .4byte _080C0788 -_080C052C: - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080C0558 @ =gUnknown_20399D4 - ldr r1, [r4] - ldr r2, _080C055C @ =0x000047b8 - adds r1, r2 - ldr r2, [r1] - adds r1, r5, 0 - bl sub_80C4398 - movs r0, 0 - movs r1, 0 - bl sub_80C3008 - movs r0, 0x1 - movs r1, 0x1 - bl sub_80C41D8 - ldr r1, [r4] - b _080C079C - .align 2, 0 -_080C0558: .4byte gUnknown_20399D4 -_080C055C: .4byte 0x000047b8 -_080C0560: - ldr r0, _080C057C @ =gUnknown_20399D4 - ldr r1, [r0] - ldr r2, _080C0580 @ =0x00004799 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080C0584 - adds r2, 0x1F - adds r0, r1, r2 - ldr r1, [r0] - adds r0, r5, 0 - bl sub_80C2208 - b _080C0798 - .align 2, 0 -_080C057C: .4byte gUnknown_20399D4 -_080C0580: .4byte 0x00004799 -_080C0584: - movs r0, 0 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x1 - bl ShowBg - ldr r0, _080C05D8 @ =gUnknown_8418EB5 - bl sub_80C4E18 - ldr r0, _080C05DC @ =gUnknown_8418E8B - bl sub_80C4E74 - movs r0, 0 - bl sub_80C4ED0 - movs r0, 0 - bl sub_80C4324 - movs r0, 0 - bl sub_80C3154 - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0 - bl sub_80C48BC - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0 - bl sub_80C4960 - b _080C0798 - .align 2, 0 -_080C05D8: .4byte gUnknown_8418EB5 -_080C05DC: .4byte gUnknown_8418E8B -_080C05E0: - ldr r0, _080C0618 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C05EE - b _080C07C2 -_080C05EE: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _080C05FA - b _080C07C2 -_080C05FA: - bl sub_80C0B18 - movs r0, 0 - bl PutWindowTilemap - bl sub_80C0BB0 - movs r0, 0x1 - bl PutWindowTilemap - ldr r0, _080C061C @ =gUnknown_20399D4 - ldr r1, [r0] - ldr r2, _080C0620 @ =0x000047a0 - adds r1, r2 - b _080C07A0 - .align 2, 0 -_080C0618: .4byte gPaletteFade -_080C061C: .4byte gUnknown_20399D4 -_080C0620: .4byte 0x000047a0 -_080C0624: - bl sub_80C3400 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x5 - bls _080C0634 - b _080C07C2 -_080C0634: - lsls r0, 2 - ldr r1, _080C0640 @ =_080C0644 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C0640: .4byte _080C0644 - .align 2, 0 -_080C0644: - .4byte _080C065C - .4byte _080C07C2 - .4byte _080C0662 - .4byte _080C070C - .4byte _080C0740 - .4byte _080C0798 -_080C065C: - bl sub_80C3178 - b _080C07C2 -_080C0662: - bl sub_80C0B18 - bl sub_80C0BB0 - bl sub_80C0B9C - bl sub_80C0450 - bl sub_80C3580 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC5 - beq _080C06A8 - movs r0, 0x1 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080C068E - b _080C07C2 -_080C068E: - movs r0, 0x1 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080C0700 - ldr r0, _080C06A4 @ =gUnknown_8418E8D - bl sub_80C4E74 - b _080C07C2 - .align 2, 0 -_080C06A4: .4byte gUnknown_8418E8D -_080C06A8: - bl sub_80C3508 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x15 - bne _080C06DC - bl sub_80C3514 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB - bne _080C06DC - movs r0, 0 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C06DC - ldr r0, _080C06D8 @ =gUnknown_8418EA7 - bl sub_80C4E74 - b _080C07C2 - .align 2, 0 -_080C06D8: .4byte gUnknown_8418EA7 -_080C06DC: - bl sub_80C3508 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x15 - bne _080C0700 - bl sub_80C3514 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xD - bne _080C0700 - ldr r0, _080C06FC @ =gUnknown_8418E95 - bl sub_80C4E74 - b _080C07C2 - .align 2, 0 -_080C06FC: .4byte gUnknown_8418E95 -_080C0700: - ldr r0, _080C0708 @ =gUnknown_8418E8B - bl sub_80C4E74 - b _080C07C2 - .align 2, 0 -_080C0708: .4byte gUnknown_8418E8B -_080C070C: - movs r0, 0x1 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080C07C2 - ldr r0, _080C0734 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C0738 @ =0x00004798 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080C07C2 - ldr r2, _080C073C @ =sub_80C07F8 - movs r0, 0 - adds r1, r5, 0 - bl sub_80C195C - b _080C07C2 - .align 2, 0 -_080C0734: .4byte gUnknown_20399D4 -_080C0738: .4byte 0x00004798 -_080C073C: .4byte sub_80C07F8 -_080C0740: - ldr r0, _080C0754 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r2, _080C0758 @ =0x0000479b - adds r0, r2 - ldrb r0, [r0] - ldr r2, _080C075C @ =sub_80C07F8 - adds r1, r5, 0 - bl sub_80C0E70 - b _080C07C2 - .align 2, 0 -_080C0754: .4byte gUnknown_20399D4 -_080C0758: .4byte 0x0000479b -_080C075C: .4byte sub_80C07F8 -_080C0760: - movs r0, 0x2 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C0776 - adds r0, r5, 0 - bl sub_80C2C1C - b _080C0798 -_080C0776: - ldr r0, _080C0780 @ =gUnknown_20399D4 - ldr r1, [r0] - ldr r2, _080C0784 @ =0x000047a0 - adds r1, r2 - b _080C07A0 - .align 2, 0 -_080C0780: .4byte gUnknown_20399D4 -_080C0784: .4byte 0x000047a0 -_080C0788: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_080C0798: - ldr r0, _080C07A8 @ =gUnknown_20399D4 - ldr r1, [r0] -_080C079C: - ldr r0, _080C07AC @ =0x000047a0 - adds r1, r0 -_080C07A0: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C07C2 - .align 2, 0 -_080C07A8: .4byte gUnknown_20399D4 -_080C07AC: .4byte 0x000047a0 -_080C07B0: - ldr r0, _080C07CC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C07C2 - adds r0, r5, 0 - bl sub_80C0820 -_080C07C2: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C07CC: .4byte gPaletteFade - thumb_func_end sub_80C04E4 - - thumb_func_start sub_80C07D0 -sub_80C07D0: @ 80C07D0 - ldr r1, _080C07DC @ =gUnknown_20399D4 - ldr r1, [r1] - ldr r2, _080C07E0 @ =0x000047b8 - adds r1, r2 - str r0, [r1] - bx lr - .align 2, 0 -_080C07DC: .4byte gUnknown_20399D4 -_080C07E0: .4byte 0x000047b8 - thumb_func_end sub_80C07D0 - - thumb_func_start sub_80C07E4 -sub_80C07E4: @ 80C07E4 - ldr r0, _080C07F0 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C07F4 @ =0x000047b8 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_080C07F0: .4byte gUnknown_20399D4 -_080C07F4: .4byte 0x000047b8 - thumb_func_end sub_80C07E4 - - thumb_func_start sub_80C07F8 -sub_80C07F8: @ 80C07F8 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C0814 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080C0818 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r2, _080C081C @ =0x000047b8 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - bx lr - .align 2, 0 -_080C0814: .4byte gTasks -_080C0818: .4byte gUnknown_20399D4 -_080C081C: .4byte 0x000047b8 - thumb_func_end sub_80C07F8 - - thumb_func_start sub_80C0820 -sub_80C0820: @ 80C0820 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C0838 - bl sub_80C25BC -_080C0838: - bl sub_80C4A04 - bl sub_80C3188 - bl sub_80C4348 - bl sub_80C4D30 - adds r0, r4, 0 - bl DestroyTask - bl FreeAllWindowBuffers - ldr r0, _080C086C @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C0870 @ =0x000047bc - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _080C0878 - ldr r0, _080C0874 @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 - b _080C087C - .align 2, 0 -_080C086C: .4byte gUnknown_20399D4 -_080C0870: .4byte 0x000047bc -_080C0874: .4byte gMain -_080C0878: - bl SetMainCallback2 -_080C087C: - ldr r4, _080C0894 @ =gUnknown_20399D4 - ldr r0, [r4] - cmp r0, 0 - beq _080C088C - bl Free - movs r0, 0 - str r0, [r4] -_080C088C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C0894: .4byte gUnknown_20399D4 - thumb_func_end sub_80C0820 - - thumb_func_start sub_80C0898 -sub_80C0898: @ 80C0898 - push {r4,lr} - ldr r4, _080C08B0 @ =gUnknown_20399D4 - ldr r0, [r4] - cmp r0, 0 - beq _080C08AA - bl Free - movs r0, 0 - str r0, [r4] -_080C08AA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C08B0: .4byte gUnknown_20399D4 - thumb_func_end sub_80C0898 - - thumb_func_start sub_80C08B4 -sub_80C08B4: @ 80C08B4 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80C08B4 - - thumb_func_start sub_80C08CC -sub_80C08CC: @ 80C08CC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80C08CC - - thumb_func_start sub_80C08E0 -sub_80C08E0: @ 80C08E0 - push {lr} - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - pop {r0} - bx r0 - thumb_func_end sub_80C08E0 - - thumb_func_start sub_80C08F4 -sub_80C08F4: @ 80C08F4 - push {lr} - ldr r0, _080C0900 @ =sub_80C08CC - bl SetVBlankCallback - pop {r0} - bx r0 - .align 2, 0 -_080C0900: .4byte sub_80C08CC - thumb_func_end sub_80C08F4 - - thumb_func_start sub_80C0904 -sub_80C0904: @ 80C0904 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0x4 - mov r8, r0 - mov r2, sp - movs r6, 0 - ldr r1, _080C0A18 @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _080C0A1C @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_080C092A: - strh r6, [r2] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _080C092A - strh r6, [r2] - mov r2, sp - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x4] - ldr r2, _080C0A18 @ =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _080C0A20 @ =gUnknown_83F1A50 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - 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 - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r0, _080C0A24 @ =gUnknown_83F1A60 - bl InitWindows - bl DeactivateAllTextPrinters - ldr r1, _080C0A28 @ =0x00006040 - movs r0, 0 - bl SetGpuReg - bl sub_80C0A2C - bl sub_80C0AB8 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C0A18: .4byte 0x040000d4 -_080C0A1C: .4byte 0x81000800 -_080C0A20: .4byte gUnknown_83F1A50 -_080C0A24: .4byte gUnknown_83F1A60 -_080C0A28: .4byte 0x00006040 - thumb_func_end sub_80C0904 - - thumb_func_start sub_80C0A2C -sub_80C0A2C: @ 80C0A2C - push {r4,lr} - ldr r4, _080C0A5C @ =gUnknown_20399D4 - ldr r1, [r4] - ldr r0, _080C0A60 @ =0x00001796 - adds r1, r0 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, _080C0A64 @ =0x00002796 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, _080C0A68 @ =0x00003796 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C0A5C: .4byte gUnknown_20399D4 -_080C0A60: .4byte 0x00001796 -_080C0A64: .4byte 0x00002796 -_080C0A68: .4byte 0x00003796 - thumb_func_end sub_80C0A2C - - thumb_func_start sub_80C0A6C -sub_80C0A6C: @ 80C0A6C - push {lr} - bl ResetSpriteData - bl ResetPaletteFade - bl FreeAllSpritePalettes - bl ResetTasks - bl ScanlineEffect_Stop - pop {r0} - bx r0 - thumb_func_end sub_80C0A6C - - thumb_func_start sub_80C0A88 -sub_80C0A88: @ 80C0A88 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080C0A98 - cmp r0, 0x1 - beq _080C0AA6 - b _080C0AB2 -_080C0A98: - movs r0, 0 - bl ShowBg - movs r0, 0x3 - bl ShowBg - b _080C0AB2 -_080C0AA6: - movs r0, 0 - bl HideBg - movs r0, 0x3 - bl HideBg -_080C0AB2: - pop {r0} - bx r0 - thumb_func_end sub_80C0A88 - - thumb_func_start sub_80C0AB8 -sub_80C0AB8: @ 80C0AB8 - push {r4,lr} - bl sub_80C4BE4 - movs r0, 0 - movs r1, 0x11 - movs r2, 0xC0 - bl sub_80C4C2C - movs r0, 0x6 - bl sub_80C4C48 - movs r0, 0x39 - movs r1, 0x39 - bl sub_80C4C74 - movs r0, 0x1B - bl sub_80C4C88 - ldr r4, _080C0B14 @ =gUnknown_83F1B0C - movs r0, 0 - adds r1, r4, 0 - bl sub_80C4CF0 - adds r4, 0x8 - movs r0, 0x1 - adds r1, r4, 0 - bl sub_80C4CF0 - movs r0, 0 - movs r1, 0 - bl sub_80C4C9C - bl sub_80C3580 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC5 - beq _080C0B0C - movs r0, 0x1 - movs r1, 0 - bl sub_80C4C9C -_080C0B0C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C0B14: .4byte gUnknown_83F1B0C - thumb_func_end sub_80C0AB8 - - thumb_func_start sub_80C0B18 -sub_80C0B18: @ 80C0B18 - push {r4,r5,lr} - sub sp, 0xC - movs r0, 0 - bl ClearWindowTilemap - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - bl sub_80C3520 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC5 - bne _080C0B44 - ldr r1, _080C0B40 @ =gUnknown_83F1B1C - movs r0, 0 - bl sub_80C4CF0 - b _080C0B88 - .align 2, 0 -_080C0B40: .4byte gUnknown_83F1B1C -_080C0B44: - ldr r5, _080C0B90 @ =gUnknown_20399D4 - ldr r4, [r5] - bl sub_80C3520 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl GetMapName - ldr r0, _080C0B94 @ =gUnknown_83F1A90 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - ldr r0, [r5] - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0x2 - movs r2, 0x2 - movs r3, 0x2 - bl AddTextPrinterParameterized3 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - ldr r1, _080C0B98 @ =gUnknown_83F1B0C - movs r0, 0 - bl sub_80C4CF0 -_080C0B88: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C0B90: .4byte gUnknown_20399D4 -_080C0B94: .4byte gUnknown_83F1A90 -_080C0B98: .4byte gUnknown_83F1B0C - thumb_func_end sub_80C0B18 - - thumb_func_start sub_80C0B9C -sub_80C0B9C: @ 80C0B9C - push {lr} - ldr r1, _080C0BAC @ =gUnknown_83F1B14 - movs r0, 0x1 - bl sub_80C4CF0 - pop {r0} - bx r0 - .align 2, 0 -_080C0BAC: .4byte gUnknown_83F1B14 - thumb_func_end sub_80C0B9C - - thumb_func_start sub_80C0BB0 -sub_80C0BB0: @ 80C0BB0 - push {r4-r6,lr} - sub sp, 0xC - ldr r5, _080C0C84 @ =gUnknown_20399D4 - ldr r1, [r5] - ldr r2, _080C0C88 @ =0x000047ac - adds r0, r1, r2 - movs r6, 0 - strh r6, [r0] - ldr r3, _080C0C8C @ =0x000047ae - adds r2, r1, r3 - movs r0, 0x18 - strh r0, [r2] - ldr r0, _080C0C90 @ =0x000047b0 - adds r1, r0 - movs r0, 0x20 - strh r0, [r1] - movs r0, 0x1 - movs r1, 0x1 - bl sub_80C4C9C - movs r0, 0x1 - bl ClearWindowTilemap - bl sub_80C3580 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC5 - beq _080C0C7A - adds r4, r0, 0 - subs r4, 0x58 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x1 - movs r1, 0 - bl sub_80C4C9C - ldr r0, [r5] - ldr r1, _080C0C88 @ =0x000047ac - adds r0, r1 - movs r1, 0x1 - strh r1, [r0] - ldr r0, _080C0C94 @ =gUnknown_83F1CAC - lsls r4, 2 - adds r4, r0 - ldr r4, [r4] - adds r0, r4, 0 - bl StringLength - ldr r2, [r5] - ldr r3, _080C0C98 @ =0x000047aa - adds r1, r2, r3 - strh r0, [r1] - ldrh r1, [r1] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r0, 0x32 - adds r3, 0x4 - adds r1, r2, r3 - strh r0, [r1] - ldr r0, _080C0C90 @ =0x000047b0 - adds r2, r0 - movs r0, 0x30 - strh r0, [r2] - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, [r5] - adds r0, 0x13 - adds r1, r4, 0 - bl StringCopy - ldr r4, _080C0C9C @ =gUnknown_83F1A9C - movs r0, 0x1 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 22 - subs r0, 0x8 - adds r0, r4 - ldr r0, [r0] - str r0, [sp] - str r6, [sp, 0x4] - ldr r0, [r5] - adds r0, 0x13 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0xC - movs r3, 0x2 - bl AddTextPrinterParameterized3 - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram -_080C0C7A: - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C0C84: .4byte gUnknown_20399D4 -_080C0C88: .4byte 0x000047ac -_080C0C8C: .4byte 0x000047ae -_080C0C90: .4byte 0x000047b0 -_080C0C94: .4byte gUnknown_83F1CAC -_080C0C98: .4byte 0x000047aa -_080C0C9C: .4byte gUnknown_83F1A9C - thumb_func_end sub_80C0BB0 - - thumb_func_start sub_80C0CA0 -sub_80C0CA0: @ 80C0CA0 - push {lr} - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_80C0CA0 - - thumb_func_start sub_80C0CC8 -sub_80C0CC8: @ 80C0CC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r7, r1, 0 - lsls r0, 24 - ldr r2, _080C0D0C @ =gUnknown_20399D4 - lsrs r0, 12 - ldr r1, _080C0D10 @ =0x00001796 - adds r0, r1 - ldr r1, [r2] - adds r6, r1, r0 - movs r1, 0 - mov r8, r2 -_080C0CE4: - movs r2, 0 - lsls r5, r1, 16 - asrs r1, r5, 16 - lsls r3, r1, 5 - lsls r0, r1, 4 - subs r0, r1 - lsls r4, r0, 1 -_080C0CF2: - lsls r0, r2, 16 - asrs r1, r0, 16 - adds r2, r0, 0 - cmp r1, 0x1D - bgt _080C0D14 - adds r0, r3, r1 - lsls r0, 1 - adds r0, r6 - adds r1, r4, r1 - lsls r1, 1 - adds r1, r7 - ldrh r1, [r1] - b _080C0D1C - .align 2, 0 -_080C0D0C: .4byte gUnknown_20399D4 -_080C0D10: .4byte 0x00001796 -_080C0D14: - adds r0, r3, r1 - lsls r0, 1 - adds r0, r6 - ldrh r1, [r7] -_080C0D1C: - strh r1, [r0] - movs r1, 0x80 - lsls r1, 9 - adds r0, r2, r1 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, 0x1F - ble _080C0CF2 - adds r0, r5, r1 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080C0CE4 - mov r1, r8 - ldr r0, [r1] - ldr r1, _080C0D94 @ =0x00004797 - adds r0, r1 - ldrb r5, [r0] - cmp r5, 0x1 - bne _080C0D86 - movs r4, 0x3 - str r4, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r5, [sp, 0xC] - movs r0, 0 - movs r1, 0xF0 - movs r2, 0x18 - movs r3, 0xE - bl WriteSequenceToBgTilemapBuffer - movs r1, 0x80 - lsls r1, 1 - str r4, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r5, [sp, 0xC] - movs r0, 0 - movs r2, 0x18 - movs r3, 0xF - bl WriteSequenceToBgTilemapBuffer - movs r1, 0x88 - lsls r1, 1 - str r4, [sp] - str r5, [sp, 0x4] - str r4, [sp, 0x8] - str r5, [sp, 0xC] - movs r0, 0 - movs r2, 0x18 - movs r3, 0x10 - bl WriteSequenceToBgTilemapBuffer -_080C0D86: - ldr r0, _080C0D98 @ =gUnknown_20399D8 - ldr r0, [r0] - cmp r0, 0 - beq _080C0DA0 - ldr r1, _080C0D9C @ =0x00001cca - b _080C0DA6 - .align 2, 0 -_080C0D94: .4byte 0x00004797 -_080C0D98: .4byte gUnknown_20399D8 -_080C0D9C: .4byte 0x00001cca -_080C0DA0: - mov r1, r8 - ldr r0, [r1] - ldr r1, _080C0DF8 @ =0x0000479b -_080C0DA6: - adds r0, r1 - ldrb r4, [r0] - cmp r4, 0x2 - bne _080C0DCC - ldr r0, _080C0DFC @ =0x000008b5 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080C0DCC - movs r0, 0x3 - str r0, [sp] - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0x3 - movs r2, 0xD - movs r3, 0xB - bl FillBgTilemapBufferRect_Palette0 -_080C0DCC: - cmp r4, 0x3 - bne _080C0DEC - ldr r0, _080C0E00 @ =0x000008c2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080C0DEC - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0x3 - movs r2, 0x15 - movs r3, 0x10 - bl FillBgTilemapBufferRect_Palette0 -_080C0DEC: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C0DF8: .4byte 0x0000479b -_080C0DFC: .4byte 0x000008b5 -_080C0E00: .4byte 0x000008c2 - thumb_func_end sub_80C0CC8 - - thumb_func_start sub_80C0E04 -sub_80C0E04: @ 80C0E04 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080C0E18 @ =gUnknown_20399D4 - ldr r1, [r1] - ldr r2, _080C0E1C @ =0x00004797 - adds r1, r2 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_080C0E18: .4byte gUnknown_20399D4 -_080C0E1C: .4byte 0x00004797 - thumb_func_end sub_80C0E04 - - thumb_func_start sub_80C0E20 -sub_80C0E20: @ 80C0E20 - ldr r0, _080C0E2C @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C0E30 @ =0x0000479b - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080C0E2C: .4byte gUnknown_20399D4 -_080C0E30: .4byte 0x0000479b - thumb_func_end sub_80C0E20 - - thumb_func_start sub_80C0E34 -sub_80C0E34: @ 80C0E34 - ldr r0, _080C0E40 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C0E44 @ =0x0000479c - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080C0E40: .4byte gUnknown_20399D4 -_080C0E44: .4byte 0x0000479c - thumb_func_end sub_80C0E34 - - thumb_func_start sub_80C0E48 -sub_80C0E48: @ 80C0E48 - ldr r1, _080C0E54 @ =gUnknown_20399D4 - ldr r1, [r1] - ldr r2, _080C0E58 @ =0x0000479b - adds r1, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_080C0E54: .4byte gUnknown_20399D4 -_080C0E58: .4byte 0x0000479b - thumb_func_end sub_80C0E48 - - thumb_func_start sub_80C0E5C -sub_80C0E5C: @ 80C0E5C - ldr r1, _080C0E68 @ =gUnknown_20399D4 - ldr r1, [r1] - ldr r2, _080C0E6C @ =0x0000479c - adds r1, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_080C0E68: .4byte gUnknown_20399D4 -_080C0E6C: .4byte 0x0000479c - thumb_func_end sub_80C0E5C - - thumb_func_start sub_80C0E70 -sub_80C0E70: @ 80C0E70 - push {r4-r7,lr} - adds r7, r2, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, _080C0EA0 @ =gUnknown_20399D8 - movs r0, 0xE7 - lsls r0, 5 - bl AllocZeroed - str r0, [r4] - ldr r0, _080C0EA4 @ =0x00000846 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080C0EAC - ldr r0, [r4] - ldr r1, _080C0EA8 @ =0x00001ccc - adds r0, r1 - movs r1, 0x3 - b _080C0ED2 - .align 2, 0 -_080C0EA0: .4byte gUnknown_20399D8 -_080C0EA4: .4byte 0x00000846 -_080C0EA8: .4byte 0x00001ccc -_080C0EAC: - ldr r0, _080C0EC4 @ =0x00000845 - bl FlagGet - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080C0ECC - ldr r0, [r4] - ldr r2, _080C0EC8 @ =0x00001ccc - adds r0, r2 - movs r1, 0x1 - b _080C0ED2 - .align 2, 0 -_080C0EC4: .4byte 0x00000845 -_080C0EC8: .4byte 0x00001ccc -_080C0ECC: - ldr r0, [r4] - ldr r3, _080C0F14 @ =0x00001ccc - adds r0, r3 -_080C0ED2: - strb r1, [r0] - ldr r4, _080C0F18 @ =gUnknown_20399D8 - ldr r2, [r4] - ldr r0, _080C0F1C @ =0x000018b8 - adds r1, r2, r0 - movs r0, 0x58 - strh r0, [r1] - ldr r3, _080C0F20 @ =0x00001cc4 - adds r1, r2, r3 - movs r0, 0x98 - strh r0, [r1] - ldr r1, _080C0F14 @ =0x00001ccc - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x2 - beq _080C0F2C - cmp r0, 0x2 - bgt _080C0F4C - cmp r0, 0x1 - bne _080C0F4C - ldr r0, _080C0F24 @ =gUnknown_83F1084 - movs r3, 0x80 - lsls r3, 5 - adds r1, r2, r3 - bl LZ77UnCompWram - ldr r0, [r4] - ldr r1, _080C0F28 @ =0x00001cce - adds r0, r1 - movs r1, 0x6 - strh r1, [r0] - b _080C0F64 - .align 2, 0 -_080C0F14: .4byte 0x00001ccc -_080C0F18: .4byte gUnknown_20399D8 -_080C0F1C: .4byte 0x000018b8 -_080C0F20: .4byte 0x00001cc4 -_080C0F24: .4byte gUnknown_83F1084 -_080C0F28: .4byte 0x00001cce -_080C0F2C: - ldr r0, _080C0F44 @ =gUnknown_83F1190 - movs r3, 0x80 - lsls r3, 5 - adds r1, r2, r3 - bl LZ77UnCompWram - ldr r0, [r4] - ldr r1, _080C0F48 @ =0x00001cce - adds r0, r1 - movs r1, 0x4 - strh r1, [r0] - b _080C0F64 - .align 2, 0 -_080C0F44: .4byte gUnknown_83F1190 -_080C0F48: .4byte 0x00001cce -_080C0F4C: - ldr r0, _080C0FB4 @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r3, _080C0FB8 @ =0x00001cce - adds r2, r1, r3 - movs r0, 0x3 - strh r0, [r2] - ldr r0, _080C0FBC @ =gUnknown_83F0F1C - movs r2, 0x80 - lsls r2, 5 - adds r1, r2 - bl LZ77UnCompWram -_080C0F64: - ldr r0, _080C0FC0 @ =gUnknown_83F0580 - ldr r4, _080C0FB4 @ =gUnknown_20399D8 - ldr r1, [r4] - bl LZ77UnCompWram - ldr r0, [r4] - ldr r3, _080C0FC4 @ =0x00001cc8 - adds r0, r3 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - ldr r1, _080C0FC8 @ =0x00001cca - adds r0, r1 - strb r6, [r0] - ldr r0, [r4] - ldr r2, _080C0FCC @ =0x00001cd0 - adds r0, r2 - str r7, [r0] - bl sub_80C0E34 - ldr r1, [r4] - ldr r3, _080C0FD0 @ =0x00001ccb - adds r1, r3 - strb r0, [r1] - movs r0, 0 - bl sub_80C4AAC - ldr r0, _080C0FD4 @ =gUnknown_8418EB0 - bl sub_80C4E74 - ldr r1, _080C0FD8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C0FDC @ =sub_80C1098 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C0FB4: .4byte gUnknown_20399D8 -_080C0FB8: .4byte 0x00001cce -_080C0FBC: .4byte gUnknown_83F0F1C -_080C0FC0: .4byte gUnknown_83F0580 -_080C0FC4: .4byte 0x00001cc8 -_080C0FC8: .4byte 0x00001cca -_080C0FCC: .4byte 0x00001cd0 -_080C0FD0: .4byte 0x00001ccb -_080C0FD4: .4byte gUnknown_8418EB0 -_080C0FD8: .4byte gTasks -_080C0FDC: .4byte sub_80C1098 - thumb_func_end sub_80C0E70 - - thumb_func_start sub_80C0FE0 -sub_80C0FE0: @ 80C0FE0 - push {lr} - bl sub_80C4BE4 - movs r0, 0x1B - movs r1, 0x4 - movs r2, 0x40 - bl sub_80C4C2C - ldr r0, _080C100C @ =gUnknown_20399D8 - ldr r0, [r0] - ldr r1, _080C1010 @ =0x00001ccd - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x10 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl sub_80C4C5C - pop {r0} - bx r0 - .align 2, 0 -_080C100C: .4byte gUnknown_20399D8 -_080C1010: .4byte 0x00001ccd - thumb_func_end sub_80C0FE0 - - thumb_func_start sub_80C1014 -sub_80C1014: @ 80C1014 - push {r4,lr} - ldr r4, _080C1028 @ =gUnknown_20399D8 - ldr r0, [r4] - ldr r2, _080C102C @ =0x00001ccd - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xF - bls _080C1030 - movs r0, 0x1 - b _080C104C - .align 2, 0 -_080C1028: .4byte gUnknown_20399D8 -_080C102C: .4byte 0x00001ccd -_080C1030: - ldrb r1, [r1] - movs r0, 0x10 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl sub_80C4C5C - ldr r1, [r4] - ldr r0, _080C1054 @ =0x00001ccd - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x2 - strb r0, [r1] - movs r0, 0 -_080C104C: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C1054: .4byte 0x00001ccd - thumb_func_end sub_80C1014 - - thumb_func_start sub_80C1058 -sub_80C1058: @ 80C1058 - push {lr} - ldr r2, _080C106C @ =gUnknown_20399D8 - ldr r0, [r2] - ldr r3, _080C1070 @ =0x00001ccd - adds r1, r0, r3 - ldrb r0, [r1] - cmp r0, 0x1 - bhi _080C1074 - movs r0, 0x1 - b _080C108E - .align 2, 0 -_080C106C: .4byte gUnknown_20399D8 -_080C1070: .4byte 0x00001ccd -_080C1074: - subs r0, 0x2 - strb r0, [r1] - ldr r0, [r2] - ldr r1, _080C1094 @ =0x00001ccd - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x10 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - bl sub_80C4C5C - movs r0, 0 -_080C108E: - pop {r1} - bx r1 - .align 2, 0 -_080C1094: .4byte 0x00001ccd - thumb_func_end sub_80C1058 - - thumb_func_start sub_80C1098 -sub_80C1098: @ 80C1098 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080C10BC @ =gUnknown_20399D8 - ldr r0, [r1] - ldr r3, _080C10C0 @ =0x00001cc8 - adds r0, r3 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0xC - bls _080C10B0 - b _080C1274 -_080C10B0: - lsls r0, 2 - ldr r1, _080C10C4 @ =_080C10C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C10BC: .4byte gUnknown_20399D8 -_080C10C0: .4byte 0x00001cc8 -_080C10C4: .4byte _080C10C8 - .align 2, 0 -_080C10C8: - .4byte _080C10FC - .4byte _080C111C - .4byte _080C112E - .4byte _080C1146 - .4byte _080C115C - .4byte _080C1168 - .4byte _080C1180 - .4byte _080C1192 - .4byte _080C11B0 - .4byte _080C11BE - .4byte _080C1220 - .4byte _080C1236 - .4byte _080C1254 -_080C10FC: - bl sub_80C08E0 - ldr r0, _080C1110 @ =gUnknown_8418EBC - bl sub_80C4E18 - ldr r0, _080C1114 @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r0, _080C1118 @ =0x00001cc8 - adds r1, r0 - b _080C1262 - .align 2, 0 -_080C1110: .4byte gUnknown_8418EBC -_080C1114: .4byte gUnknown_20399D8 -_080C1118: .4byte 0x00001cc8 -_080C111C: - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 5 - movs r0, 0x2 - movs r3, 0 - bl LoadBgTiles - ldr r1, [r4] - b _080C125E -_080C112E: - ldr r1, [r4] - movs r0, 0x80 - lsls r0, 5 - adds r1, r0 - movs r0, 0x2 - bl sub_80C1324 - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r1, [r4] - b _080C125E -_080C1146: - bl sub_80C0CA0 - ldr r0, _080C1154 @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r0, _080C1158 @ =0x00001cc8 - adds r1, r0 - b _080C1262 - .align 2, 0 -_080C1154: .4byte gUnknown_20399D8 -_080C1158: .4byte 0x00001cc8 -_080C115C: - bl sub_80C0FE0 - movs r0, 0x2 - bl ShowBg - b _080C125A -_080C1168: - bl sub_80C08F4 - ldr r0, _080C1178 @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r0, _080C117C @ =0x00001cc8 - adds r1, r0 - b _080C1262 - .align 2, 0 -_080C1178: .4byte gUnknown_20399D8 -_080C117C: .4byte 0x00001cc8 -_080C1180: - bl sub_80C1014 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C127A - bl sub_80C1390 - b _080C125A -_080C1192: - bl sub_80C144C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C127A - ldr r0, _080C11A8 @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r0, _080C11AC @ =0x00001cc8 - adds r1, r0 - b _080C1262 - .align 2, 0 -_080C11A8: .4byte gUnknown_20399D8 -_080C11AC: .4byte 0x00001cc8 -_080C11B0: - bl sub_80C16D0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C127A - b _080C125A -_080C11BE: - bl sub_80C1478 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C127A - ldr r5, _080C1214 @ =gUnknown_20399D8 - ldr r0, [r5] - ldr r4, _080C1218 @ =0x00001cca - adds r0, r4 - ldrb r0, [r0] - bl sub_80C0E48 - bl sub_80C0E34 - ldr r1, [r5] - adds r1, r4 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _080C120C - movs r0, 0 - bl sub_80C4324 - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x19 - movs r2, 0 - bl sub_80C48BC - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x19 - movs r2, 0 - bl sub_80C4960 -_080C120C: - ldr r1, [r5] - ldr r0, _080C121C @ =0x00001cc8 - adds r1, r0 - b _080C1262 - .align 2, 0 -_080C1214: .4byte gUnknown_20399D8 -_080C1218: .4byte 0x00001cca -_080C121C: .4byte 0x00001cc8 -_080C1220: - bl sub_80C12EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C127A - bl sub_80C1880 - bl sub_80C0FE0 - b _080C125A -_080C1236: - bl sub_80C1058 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C127A - ldr r0, _080C124C @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r0, _080C1250 @ =0x00001cc8 - adds r1, r0 - b _080C1262 - .align 2, 0 -_080C124C: .4byte gUnknown_20399D8 -_080C1250: .4byte 0x00001cc8 -_080C1254: - movs r0, 0 - bl sub_80C3154 -_080C125A: - ldr r0, _080C126C @ =gUnknown_20399D8 - ldr r1, [r0] -_080C125E: - ldr r3, _080C1270 @ =0x00001cc8 - adds r1, r3 -_080C1262: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C127A - .align 2, 0 -_080C126C: .4byte gUnknown_20399D8 -_080C1270: .4byte 0x00001cc8 -_080C1274: - adds r0, r2, 0 - bl sub_80C1280 -_080C127A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C1098 - - thumb_func_start sub_80C1280 -sub_80C1280: @ 80C1280 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C12D4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r4, _080C12D8 @ =gUnknown_20399D8 - ldr r0, [r4] - ldr r2, _080C12DC @ =0x00001cd0 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - movs r0, 0x2 - bl HideBg - ldr r0, _080C12E0 @ =gUnknown_8418EB5 - bl sub_80C4E18 - ldr r0, _080C12E4 @ =gUnknown_8418EA7 - bl sub_80C4E74 - bl sub_80C0AB8 - bl sub_80C0B9C - ldr r1, _080C12E8 @ =gUnknown_83F1B1C - movs r0, 0 - bl sub_80C4CF0 - ldr r0, [r4] - cmp r0, 0 - beq _080C12CC - bl Free - movs r0, 0 - str r0, [r4] -_080C12CC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C12D4: .4byte gTasks -_080C12D8: .4byte gUnknown_20399D8 -_080C12DC: .4byte 0x00001cd0 -_080C12E0: .4byte gUnknown_8418EB5 -_080C12E4: .4byte gUnknown_8418EA7 -_080C12E8: .4byte gUnknown_83F1B1C - thumb_func_end sub_80C1280 - - thumb_func_start sub_80C12EC -sub_80C12EC: @ 80C12EC - push {lr} - ldr r0, _080C1308 @ =gUnknown_20399D8 - ldr r0, [r0] - ldr r2, _080C130C @ =0x00001cdc - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0 - bne _080C1310 - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1 - b _080C131E - .align 2, 0 -_080C1308: .4byte gUnknown_20399D8 -_080C130C: .4byte 0x00001cdc -_080C1310: - subs r0, 0x1 - strh r0, [r1] - ldrh r1, [r1] - movs r0, 0x54 - bl SetGpuReg - movs r0, 0 -_080C131E: - pop {r1} - bx r1 - thumb_func_end sub_80C12EC - - thumb_func_start sub_80C1324 -sub_80C1324: @ 80C1324 - push {r4-r7,lr} - adds r7, r1, 0 - lsls r0, 24 - ldr r1, _080C1360 @ =gUnknown_20399D4 - lsrs r0, 12 - ldr r2, _080C1364 @ =0x00001796 - adds r0, r2 - ldr r1, [r1] - adds r6, r1, r0 - movs r1, 0 -_080C1338: - movs r2, 0 - lsls r5, r1, 16 - asrs r1, r5, 16 - lsls r3, r1, 5 - lsls r0, r1, 4 - subs r0, r1 - lsls r4, r0, 1 -_080C1346: - lsls r0, r2, 16 - asrs r1, r0, 16 - adds r2, r0, 0 - cmp r1, 0x1D - bgt _080C1368 - adds r0, r3, r1 - lsls r0, 1 - adds r0, r6 - adds r1, r4, r1 - lsls r1, 1 - adds r1, r7 - ldrh r1, [r1] - b _080C1370 - .align 2, 0 -_080C1360: .4byte gUnknown_20399D4 -_080C1364: .4byte 0x00001796 -_080C1368: - adds r0, r3, r1 - lsls r0, 1 - adds r0, r6 - ldrh r1, [r7] -_080C1370: - strh r1, [r0] - movs r1, 0x80 - lsls r1, 9 - adds r0, r2, r1 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, 0x1F - ble _080C1346 - adds r0, r5, r1 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _080C1338 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C1324 - - thumb_func_start sub_80C1390 -sub_80C1390: @ 80C1390 - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, _080C1428 @ =gUnknown_20399D8 - ldr r2, [r0] - ldr r1, _080C142C @ =0x00001cd4 - adds r0, r2, r1 - movs r1, 0x48 - strh r1, [r0] - ldr r5, _080C1430 @ =0xffff0000 - ldr r0, [sp] - ands r0, r5 - orrs r0, r1 - str r0, [sp] - ldr r0, _080C1434 @ =0x00001cce - adds r3, r2, r0 - ldr r1, _080C1438 @ =0x00001cca - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 2 - ldrh r3, [r3] - adds r1, r3 - lsls r1, 3 - ldr r0, _080C143C @ =0x00001cd6 - adds r4, r2, r0 - strh r1, [r4] - lsls r1, 16 - ldr r3, _080C1440 @ =0x0000ffff - ldr r0, [sp] - ands r0, r3 - orrs r0, r1 - str r0, [sp] - ldr r1, _080C1444 @ =0x00001cd8 - adds r0, r2, r1 - movs r1, 0xA8 - strh r1, [r0] - ldr r0, [sp, 0x4] - ands r0, r5 - orrs r0, r1 - str r0, [sp, 0x4] - ldrh r1, [r4] - adds r1, 0x20 - ldr r0, _080C1448 @ =0x00001cda - adds r2, r0 - strh r1, [r2] - ands r1, r3 - lsls r1, 16 - ldr r0, [sp, 0x4] - ands r0, r3 - orrs r0, r1 - str r0, [sp, 0x4] - bl sub_80C4BE4 - movs r0, 0 - movs r1, 0x15 - movs r2, 0xC0 - bl sub_80C4C2C - movs r0, 0x1F - movs r1, 0x15 - bl sub_80C4C74 - movs r0, 0x3F - bl sub_80C4C88 - movs r0, 0x1 - movs r1, 0 - bl sub_80C4C9C - movs r0, 0x1 - mov r1, sp - bl sub_80C4CF0 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C1428: .4byte gUnknown_20399D8 -_080C142C: .4byte 0x00001cd4 -_080C1430: .4byte 0xffff0000 -_080C1434: .4byte 0x00001cce -_080C1438: .4byte 0x00001cca -_080C143C: .4byte 0x00001cd6 -_080C1440: .4byte 0x0000ffff -_080C1444: .4byte 0x00001cd8 -_080C1448: .4byte 0x00001cda - thumb_func_end sub_80C1390 - - thumb_func_start sub_80C144C -sub_80C144C: @ 80C144C - push {lr} - ldr r0, _080C1460 @ =gUnknown_20399D8 - ldr r0, [r0] - ldr r2, _080C1464 @ =0x00001cdc - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0x5 - bls _080C1468 - movs r0, 0x1 - b _080C1474 - .align 2, 0 -_080C1460: .4byte gUnknown_20399D8 -_080C1464: .4byte 0x00001cdc -_080C1468: - adds r0, 0x1 - strh r0, [r1] - ldrh r0, [r1] - bl sub_80C4C48 - movs r0, 0 -_080C1474: - pop {r1} - bx r1 - thumb_func_end sub_80C144C - - thumb_func_start sub_80C1478 -sub_80C1478: @ 80C1478 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r6, 0 - ldr r0, _080C1574 @ =gUnknown_20399D8 - mov r8, r0 - ldr r5, [r0] - ldr r1, _080C1578 @ =0x00001cd4 - adds r0, r5, r1 - movs r1, 0x48 - strh r1, [r0] - ldr r4, _080C157C @ =0xffff0000 - ldr r0, [sp] - ands r0, r4 - orrs r0, r1 - str r0, [sp] - ldr r3, _080C1580 @ =0x00001cce - adds r2, r5, r3 - ldr r7, _080C1584 @ =0x00001cca - adds r0, r5, r7 - ldrb r1, [r0] - lsls r1, 2 - ldrh r2, [r2] - adds r1, r2 - lsls r1, 3 - ldr r0, _080C1588 @ =0x00001cd6 - adds r3, r5, r0 - strh r1, [r3] - lsls r1, 16 - ldr r2, _080C158C @ =0x0000ffff - ldr r0, [sp] - ands r0, r2 - orrs r0, r1 - str r0, [sp] - ldr r1, _080C1590 @ =0x00001cd8 - adds r0, r5, r1 - movs r1, 0xA8 - strh r1, [r0] - ldr r0, [sp, 0x4] - ands r0, r4 - orrs r0, r1 - str r0, [sp, 0x4] - ldrh r1, [r3] - adds r1, 0x20 - ldr r3, _080C1594 @ =0x00001cda - adds r0, r5, r3 - strh r1, [r0] - ands r1, r2 - lsls r1, 16 - ldr r0, [sp, 0x4] - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x4] - ldr r0, _080C1598 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080C150E - adds r1, r7, 0 - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080C150E - movs r0, 0xF5 - bl PlaySE - mov r2, r8 - ldr r1, [r2] - adds r1, r7 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - movs r6, 0x1 -_080C150E: - ldr r0, _080C1598 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C1542 - ldr r4, _080C1574 @ =gUnknown_20399D8 - ldr r0, [r4] - ldr r3, _080C1584 @ =0x00001cca - adds r1, r0, r3 - ldr r2, _080C159C @ =0x00001ccc - adds r0, r2 - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bcs _080C1542 - movs r0, 0xF5 - bl PlaySE - ldr r1, [r4] - ldr r3, _080C1584 @ =0x00001cca - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r6, 0x1 -_080C1542: - ldr r2, _080C1598 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - ldr r4, _080C1574 @ =gUnknown_20399D8 - cmp r0, 0 - beq _080C15A8 - ldr r0, [r4] - ldr r1, _080C15A0 @ =0x00001cdc - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0x6 - bne _080C15A8 - movs r0, 0xC7 - bl PlaySE - ldr r0, [r4] - ldr r2, _080C1584 @ =0x00001cca - adds r1, r0, r2 - ldrb r1, [r1] - ldr r3, _080C15A4 @ =0x00001ccb - adds r0, r3 - strb r1, [r0] - movs r0, 0x1 - b _080C16AC - .align 2, 0 -_080C1574: .4byte gUnknown_20399D8 -_080C1578: .4byte 0x00001cd4 -_080C157C: .4byte 0xffff0000 -_080C1580: .4byte 0x00001cce -_080C1584: .4byte 0x00001cca -_080C1588: .4byte 0x00001cd6 -_080C158C: .4byte 0x0000ffff -_080C1590: .4byte 0x00001cd8 -_080C1594: .4byte 0x00001cda -_080C1598: .4byte gMain -_080C159C: .4byte 0x00001ccc -_080C15A0: .4byte 0x00001cdc -_080C15A4: .4byte 0x00001ccb -_080C15A8: - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080C1604 - ldr r0, [r4] - ldr r2, _080C15FC @ =0x00001ccb - adds r1, r0, r2 - ldrb r1, [r1] - subs r2, 0x1 - adds r0, r2 - strb r1, [r0] - ldr r3, _080C1600 @ =gUnknown_20399D4 - ldr r0, [r4] - adds r0, r2 - ldrb r0, [r0] - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 4 - adds r0, 0x26 - ldr r1, [r3] - adds r1, r0 - movs r0, 0 - bl sub_80C0CC8 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0xFF - movs r1, 0x19 - movs r2, 0x1 - bl sub_80C48BC - movs r0, 0xFF - movs r1, 0x19 - movs r2, 0x1 - bl sub_80C4960 - movs r0, 0x1 - b _080C16AC - .align 2, 0 -_080C15FC: .4byte 0x00001ccb -_080C1600: .4byte gUnknown_20399D4 -_080C1604: - cmp r6, 0 - beq _080C166C - ldr r2, _080C168C @ =gUnknown_20399D4 - ldr r5, _080C1690 @ =gUnknown_20399D8 - ldr r0, [r5] - ldr r4, _080C1694 @ =0x00001cca - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 2 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 4 - adds r0, 0x26 - ldr r1, [r2] - adds r1, r0 - movs r0, 0 - bl sub_80C0CC8 - ldr r0, _080C1698 @ =gUnknown_8418EB0 - bl sub_80C4E74 - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0xFF - movs r1, 0x19 - movs r2, 0x1 - bl sub_80C48BC - movs r0, 0xFF - movs r1, 0x19 - movs r2, 0x1 - bl sub_80C4960 - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x19 - movs r2, 0 - bl sub_80C48BC - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x19 - movs r2, 0 - bl sub_80C4960 -_080C166C: - ldr r0, _080C1690 @ =gUnknown_20399D8 - ldr r4, [r0] - ldr r3, _080C1694 @ =0x00001cca - adds r4, r3 - bl sub_80C0E34 - ldrb r1, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - beq _080C169C - movs r0, 0x1 - bl sub_80C4324 - b _080C16A2 - .align 2, 0 -_080C168C: .4byte gUnknown_20399D4 -_080C1690: .4byte gUnknown_20399D8 -_080C1694: .4byte 0x00001cca -_080C1698: .4byte gUnknown_8418EB0 -_080C169C: - movs r0, 0 - bl sub_80C4324 -_080C16A2: - movs r0, 0x1 - mov r1, sp - bl sub_80C4CF0 - movs r0, 0 -_080C16AC: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C1478 - - thumb_func_start sub_80C16B8 -sub_80C16B8: @ 80C16B8 - ldr r1, _080C16C8 @ =gUnknown_20399D8 - ldr r1, [r1] - ldr r2, _080C16CC @ =0x00001cd6 - adds r1, r2 - ldrh r1, [r1] - adds r1, 0x10 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_080C16C8: .4byte gUnknown_20399D8 -_080C16CC: .4byte 0x00001cd6 - thumb_func_end sub_80C16B8 - - thumb_func_start sub_80C16D0 -sub_80C16D0: @ 80C16D0 - push {lr} - ldr r0, _080C16EC @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r2, _080C16F0 @ =0x00001cc9 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080C1708 - cmp r0, 0x1 - bgt _080C16F4 - cmp r0, 0 - beq _080C16FA - b _080C1732 - .align 2, 0 -_080C16EC: .4byte gUnknown_20399D8 -_080C16F0: .4byte 0x00001cc9 -_080C16F4: - cmp r0, 0x2 - beq _080C171C - b _080C1732 -_080C16FA: - ldr r0, _080C1700 @ =gUnknown_83EF3C4 - ldr r2, _080C1704 @ =0x000014b0 - b _080C170C - .align 2, 0 -_080C1700: .4byte gUnknown_83EF3C4 -_080C1704: .4byte 0x000014b0 -_080C1708: - ldr r0, _080C1714 @ =gUnknown_83EF450 - ldr r2, _080C1718 @ =0x000018bc -_080C170C: - adds r1, r2 - bl LZ77UnCompWram - b _080C1736 - .align 2, 0 -_080C1714: .4byte gUnknown_83EF450 -_080C1718: .4byte 0x000018bc -_080C171C: - movs r0, 0 - movs r1, 0x2 - movs r2, 0x2 - bl sub_80C1754 - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x3 - bl sub_80C1754 - b _080C1736 -_080C1732: - movs r0, 0x1 - b _080C1746 -_080C1736: - ldr r0, _080C174C @ =gUnknown_20399D8 - ldr r1, [r0] - ldr r0, _080C1750 @ =0x00001cc9 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_080C1746: - pop {r1} - bx r1 - .align 2, 0 -_080C174C: .4byte gUnknown_20399D8 -_080C1750: .4byte 0x00001cc9 - thumb_func_end sub_80C16D0 - - thumb_func_start sub_80C1754 -sub_80C1754: @ 80C1754 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - bl sub_80C176C - pop {r0} - bx r0 - thumb_func_end sub_80C1754 - - thumb_func_start sub_80C176C -sub_80C176C: @ 80C176C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x28 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r3, _080C1848 @ =gUnknown_20399D8 - mov r8, r3 - lsls r5, r0, 6 - adds r5, r0 - lsls r5, 2 - subs r5, r0 - lsls r5, 2 - ldr r4, _080C184C @ =0x000014b0 - adds r0, r5, r4 - ldr r3, [r3] - adds r0, r3, r0 - str r0, [sp, 0x18] - movs r4, 0x80 - lsls r4, 3 - add r0, sp, 0x18 - lsrs r6, r1, 16 - mov r9, r6 - orrs r1, r4 - str r1, [r0, 0x4] - ldr r1, _080C1850 @ =gUnknown_83EF384 - str r1, [sp, 0x20] - ldr r4, _080C1854 @ =0xffff0000 - add r6, sp, 0x20 - ldr r1, [r6, 0x4] - ands r1, r4 - orrs r1, r2 - str r1, [r6, 0x4] - mov r1, sp - movs r4, 0 - mov r7, r9 - strh r7, [r1] - strh r2, [r1, 0x2] - ldr r1, _080C1858 @ =gUnknown_83F1B24 - str r1, [sp, 0x4] - ldr r1, _080C185C @ =gUnknown_83F1B38 - str r1, [sp, 0x8] - str r4, [sp, 0xC] - ldr r1, _080C1860 @ =gDummySpriteAffineAnimTable - str r1, [sp, 0x10] - ldr r1, _080C1864 @ =sub_80C16B8 - str r1, [sp, 0x14] - adds r3, r5 - ldr r4, _080C1868 @ =0x000018b4 - adds r1, r3, r4 - strh r7, [r1] - ldr r1, _080C186C @ =0x000018b6 - adds r3, r1 - strh r2, [r3] - bl LoadSpriteSheet - adds r0, r6, 0 - bl LoadSpritePalette - mov r3, r8 - ldr r2, [r3] - adds r0, r2, r5 - adds r4, 0x4 - adds r0, r4 - movs r6, 0 - ldrsh r1, [r0, r6] - ldr r7, _080C1870 @ =0x00001cce - adds r0, r2, r7 - ldr r3, _080C1874 @ =0x00001cca - adds r2, r3 - ldrb r2, [r2] - lsls r2, 2 - ldrh r0, [r0] - adds r2, r0 - lsls r2, 19 - asrs r2, 16 - mov r0, sp - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r4, r8 - ldr r2, [r4] - ldr r6, _080C1878 @ =0x000018b0 - adds r2, r6 - adds r2, r5 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080C187C @ =gSprites - adds r1, r0 - str r1, [r2] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - add sp, 0x28 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C1848: .4byte gUnknown_20399D8 -_080C184C: .4byte 0x000014b0 -_080C1850: .4byte gUnknown_83EF384 -_080C1854: .4byte 0xffff0000 -_080C1858: .4byte gUnknown_83F1B24 -_080C185C: .4byte gUnknown_83F1B38 -_080C1860: .4byte gDummySpriteAffineAnimTable -_080C1864: .4byte sub_80C16B8 -_080C1868: .4byte 0x000018b4 -_080C186C: .4byte 0x000018b6 -_080C1870: .4byte 0x00001cce -_080C1874: .4byte 0x00001cca -_080C1878: .4byte 0x000018b0 -_080C187C: .4byte gSprites - thumb_func_end sub_80C176C - - thumb_func_start sub_80C1880 -sub_80C1880: @ 80C1880 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _080C18D0 @ =gUnknown_20399D8 -_080C1886: - ldr r1, [r6] - lsls r0, r5, 6 - adds r0, r5 - lsls r0, 2 - subs r0, r5 - lsls r4, r0, 2 - ldr r0, _080C18D4 @ =0x000018b0 - adds r1, r0 - adds r1, r4 - ldr r0, [r1] - cmp r0, 0 - beq _080C18BE - bl DestroySprite - ldr r0, [r6] - adds r0, r4 - ldr r1, _080C18D8 @ =0x000018b4 - adds r0, r1 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r6] - adds r0, r4 - ldr r1, _080C18DC @ =0x000018b6 - adds r0, r1 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_080C18BE: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _080C1886 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C18D0: .4byte gUnknown_20399D8 -_080C18D4: .4byte 0x000018b0 -_080C18D8: .4byte 0x000018b4 -_080C18DC: .4byte 0x000018b6 - thumb_func_end sub_80C1880 - - thumb_func_start sub_80C18E0 -sub_80C18E0: @ 80C18E0 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - movs r2, 0 - ldr r3, _080C1904 @ =gUnknown_83F1B3C - adds r5, r3, 0 - adds r5, 0x8 -_080C18EE: - lsls r0, r2, 1 - adds r0, r2 - lsls r1, r0, 2 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, r4 - bne _080C1908 - adds r0, r1, r5 - ldr r0, [r0] - b _080C1914 - .align 2, 0 -_080C1904: .4byte gUnknown_83F1B3C -_080C1908: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x12 - bls _080C18EE - ldr r0, _080C191C @ =gUnknown_8418EC3 -_080C1914: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080C191C: .4byte gUnknown_8418EC3 - thumb_func_end sub_80C18E0 - - thumb_func_start sub_80C1920 -sub_80C1920: @ 80C1920 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - movs r2, 0 - ldr r3, _080C1940 @ =gUnknown_83F1B3C - adds r5, r3, 0x4 -_080C192C: - lsls r0, r2, 1 - adds r0, r2 - lsls r1, r0, 2 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, r4 - bne _080C1944 - adds r0, r1, r5 - ldr r0, [r0] - b _080C1950 - .align 2, 0 -_080C1940: .4byte gUnknown_83F1B3C -_080C1944: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x12 - bls _080C192C - ldr r0, _080C1958 @ =gUnknown_8418EC3 -_080C1950: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080C1958: .4byte gUnknown_8418EC3 - thumb_func_end sub_80C1920 - - thumb_func_start sub_80C195C -sub_80C195C: @ 80C195C - push {r4-r6,lr} - adds r6, r2, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r4, _080C19E0 @ =gUnknown_20399DC - ldr r0, _080C19E4 @ =0x00003e28 - bl AllocZeroed - str r0, [r4] - bl sub_80C3580 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB8 - bne _080C197C - movs r0, 0xBC -_080C197C: - bl sub_80F8544 - ldr r1, [r4] - movs r2, 0xF5 - lsls r2, 6 - adds r1, r2 - str r0, [r1] - cmp r0, 0 - bne _080C199E - movs r0, 0x8A - bl sub_80F8544 - ldr r1, [r4] - movs r3, 0xF5 - lsls r3, 6 - adds r1, r3 - str r0, [r1] -_080C199E: - ldr r0, [r4] - ldr r1, _080C19E8 @ =0x00003d48 - adds r0, r1 - movs r2, 0 - strb r2, [r0] - ldr r0, [r4] - ldr r3, _080C19EC @ =0x00003d4a - adds r0, r3 - strb r2, [r0] - ldr r0, [r4] - subs r3, 0x6 - adds r1, r0, r3 - str r6, [r1] - ldr r1, _080C19F0 @ =0x00003e14 - adds r0, r1 - strh r2, [r0] - movs r0, 0 - bl sub_80C4AAC - bl sub_80C4BE4 - bl sub_80C0CA0 - ldr r1, _080C19F4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C19F8 @ =sub_80C1A94 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C19E0: .4byte gUnknown_20399DC -_080C19E4: .4byte 0x00003e28 -_080C19E8: .4byte 0x00003d48 -_080C19EC: .4byte 0x00003d4a -_080C19F0: .4byte 0x00003e14 -_080C19F4: .4byte gTasks -_080C19F8: .4byte sub_80C1A94 - thumb_func_end sub_80C195C - - thumb_func_start sub_80C19FC -sub_80C19FC: @ 80C19FC - push {lr} - ldr r0, _080C1A18 @ =gUnknown_20399DC - ldr r1, [r0] - ldr r2, _080C1A1C @ =0x00003d4a - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080C1A3A - cmp r0, 0x1 - bgt _080C1A20 - cmp r0, 0 - beq _080C1A2A - b _080C1A72 - .align 2, 0 -_080C1A18: .4byte gUnknown_20399DC -_080C1A1C: .4byte 0x00003d4a -_080C1A20: - cmp r0, 0x2 - beq _080C1A50 - cmp r0, 0x3 - beq _080C1A5E - b _080C1A72 -_080C1A2A: - movs r2, 0xF5 - lsls r2, 6 - adds r0, r1, r2 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl LZ77UnCompWram - b _080C1A76 -_080C1A3A: - movs r2, 0xF5 - lsls r2, 6 - adds r0, r1, r2 - ldr r0, [r0] - ldr r0, [r0, 0x8] - movs r2, 0xE1 - lsls r2, 6 - adds r1, r2 - bl LZ77UnCompWram - b _080C1A76 -_080C1A50: - movs r2, 0xE1 - lsls r2, 6 - movs r0, 0x2 - movs r3, 0 - bl LoadBgTiles - b _080C1A76 -_080C1A5E: - movs r2, 0xF5 - lsls r2, 6 - adds r0, r1, r2 - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0xD0 - movs r2, 0x60 - bl LoadPalette - b _080C1A76 -_080C1A72: - movs r0, 0x1 - b _080C1A86 -_080C1A76: - ldr r0, _080C1A8C @ =gUnknown_20399DC - ldr r1, [r0] - ldr r0, _080C1A90 @ =0x00003d4a - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_080C1A86: - pop {r1} - bx r1 - .align 2, 0 -_080C1A8C: .4byte gUnknown_20399DC -_080C1A90: .4byte 0x00003d4a - thumb_func_end sub_80C19FC - - thumb_func_start sub_80C1A94 -sub_80C1A94: @ 80C1A94 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080C1AB8 @ =gUnknown_20399DC - ldr r0, [r1] - ldr r3, _080C1ABC @ =0x00003d48 - adds r0, r3 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x9 - bls _080C1AAC - b _080C1BD0 -_080C1AAC: - lsls r0, 2 - ldr r1, _080C1AC0 @ =_080C1AC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C1AB8: .4byte gUnknown_20399DC -_080C1ABC: .4byte 0x00003d48 -_080C1AC0: .4byte _080C1AC4 - .align 2, 0 -_080C1AC4: - .4byte _080C1AEC - .4byte _080C1B04 - .4byte _080C1B12 - .4byte _080C1B34 - .4byte _080C1B54 - .4byte _080C1B5C - .4byte _080C1B74 - .4byte _080C1B84 - .4byte _080C1B9C - .4byte _080C1BBC -_080C1AEC: - bl sub_80C08E0 - ldr r0, _080C1AFC @ =gUnknown_20399DC - ldr r1, [r0] - ldr r0, _080C1B00 @ =0x00003d48 - adds r1, r0 - b _080C1BCA - .align 2, 0 -_080C1AFC: .4byte gUnknown_20399DC -_080C1B00: .4byte 0x00003d48 -_080C1B04: - bl sub_80C19FC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C1BD0 - b _080C1BC2 -_080C1B12: - bl sub_80C1E94 - ldr r0, _080C1B28 @ =gUnknown_8418E9E - bl sub_80C4E74 - ldr r0, _080C1B2C @ =gUnknown_20399DC - ldr r1, [r0] - ldr r0, _080C1B30 @ =0x00003d48 - adds r1, r0 - b _080C1BCA - .align 2, 0 -_080C1B28: .4byte gUnknown_8418E9E -_080C1B2C: .4byte gUnknown_20399DC -_080C1B30: .4byte 0x00003d48 -_080C1B34: - ldr r1, [r4] - movs r3, 0xE1 - lsls r3, 6 - adds r1, r3 - movs r0, 0x2 - bl sub_80C1E78 - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r1, [r4] - ldr r0, _080C1B50 @ =0x00003d48 - adds r1, r0 - b _080C1BCA - .align 2, 0 -_080C1B50: .4byte 0x00003d48 -_080C1B54: - movs r0, 0x2 - bl ShowBg - b _080C1BC2 -_080C1B5C: - bl sub_80C08F4 - ldr r0, _080C1B6C @ =gUnknown_20399DC - ldr r1, [r0] - ldr r0, _080C1B70 @ =0x00003d48 - adds r1, r0 - b _080C1BCA - .align 2, 0 -_080C1B6C: .4byte gUnknown_20399DC -_080C1B70: .4byte 0x00003d48 -_080C1B74: - movs r0, 0 - bl sub_80C1F80 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C1BD0 - b _080C1BC2 -_080C1B84: - ldr r0, _080C1B94 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, _080C1B98 @ =sub_80C1BE0 - str r0, [r1] - b _080C1BD0 - .align 2, 0 -_080C1B94: .4byte gTasks -_080C1B98: .4byte sub_80C1BE0 -_080C1B9C: - movs r0, 0x1 - bl sub_80C1F80 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C1BD0 - ldr r0, _080C1BB4 @ =gUnknown_20399DC - ldr r1, [r0] - ldr r0, _080C1BB8 @ =0x00003d48 - adds r1, r0 - b _080C1BCA - .align 2, 0 -_080C1BB4: .4byte gUnknown_20399DC -_080C1BB8: .4byte 0x00003d48 -_080C1BBC: - adds r0, r2, 0 - bl sub_80C1E14 -_080C1BC2: - ldr r0, _080C1BD8 @ =gUnknown_20399DC - ldr r1, [r0] - ldr r3, _080C1BDC @ =0x00003d48 - adds r1, r3 -_080C1BCA: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080C1BD0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C1BD8: .4byte gUnknown_20399DC -_080C1BDC: .4byte 0x00003d48 - thumb_func_end sub_80C1A94 - - thumb_func_start sub_80C1BE0 -sub_80C1BE0: @ 80C1BE0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080C1C08 @ =gUnknown_20399DC - ldr r0, [r1] - ldr r3, _080C1C0C @ =0x00003d49 - adds r0, r3 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x4 - bls _080C1BFE - b _080C1DF0 -_080C1BFE: - lsls r0, 2 - ldr r1, _080C1C10 @ =_080C1C14 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C1C08: .4byte gUnknown_20399DC -_080C1C0C: .4byte 0x00003d49 -_080C1C10: .4byte _080C1C14 - .align 2, 0 -_080C1C14: - .4byte _080C1C28 - .4byte _080C1C58 - .4byte _080C1C80 - .4byte _080C1CA8 - .4byte _080C1DA0 -_080C1C28: - ldr r1, [r3] - ldr r0, _080C1C48 @ =0x00003e0e - adds r2, r1, r0 - ldr r0, _080C1C4C @ =0x00000133 - strh r0, [r2] - ldr r3, _080C1C50 @ =0x00003e10 - adds r2, r1, r3 - subs r0, 0x33 - strh r0, [r2] - ldr r0, _080C1C54 @ =0x00003e12 - adds r2, r1, r0 - movs r0, 0xF0 - strh r0, [r2] - subs r3, 0xC7 - b _080C1DD6 - .align 2, 0 -_080C1C48: .4byte 0x00003e0e -_080C1C4C: .4byte 0x00000133 -_080C1C50: .4byte 0x00003e10 -_080C1C54: .4byte 0x00003e12 -_080C1C58: - ldr r0, [r3] - ldr r1, _080C1C7C @ =0x00003d4c - adds r0, r1 - ldrb r1, [r0] - adds r2, r1, 0x1 - strb r2, [r0] - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x28 - bhi _080C1C6E - b _080C1DFE -_080C1C6E: - ldr r0, [r3] - ldr r1, _080C1C7C @ =0x00003d4c - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r1, [r3] - b _080C1DD4 - .align 2, 0 -_080C1C7C: .4byte 0x00003d4c -_080C1C80: - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x2 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x2 - bl PutWindowTilemap - ldr r0, _080C1CA0 @ =gUnknown_20399DC - ldr r1, [r0] - ldr r0, _080C1CA4 @ =0x00003d49 - adds r1, r0 - b _080C1DD8 - .align 2, 0 -_080C1CA0: .4byte gUnknown_20399DC -_080C1CA4: .4byte 0x00003d49 -_080C1CA8: - ldr r7, _080C1D10 @ =gUnknown_20399DC - ldr r2, [r7] - ldr r1, _080C1D14 @ =0x00003d4c - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x19 - bls _080C1D24 - bl sub_80C3580 - lsls r0, 16 - lsrs r0, 16 - bl sub_80C1920 - ldr r1, _080C1D18 @ =gUnknown_83F1A94 - str r1, [sp] - movs r4, 0x1 - negs r4, r4 - str r4, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x2 - movs r2, 0x4 - movs r3, 0 - bl AddTextPrinterParameterized3 - bl sub_80C3580 - lsls r0, 16 - lsrs r0, 16 - bl sub_80C18E0 - ldr r1, _080C1D1C @ =gUnknown_83F1A90 - str r1, [sp] - str r4, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x2 - movs r2, 0x2 - movs r3, 0xE - bl AddTextPrinterParameterized3 - movs r0, 0x2 - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, [r7] - ldr r3, _080C1D20 @ =0x00003d49 - adds r1, r3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C1D80 - .align 2, 0 -_080C1D10: .4byte gUnknown_20399DC -_080C1D14: .4byte 0x00003d4c -_080C1D18: .4byte gUnknown_83F1A94 -_080C1D1C: .4byte gUnknown_83F1A90 -_080C1D20: .4byte 0x00003d49 -_080C1D24: - cmp r0, 0x14 - bls _080C1D80 - ldr r6, _080C1D88 @ =0x00003e0e - adds r1, r2, r6 - ldrh r0, [r1] - subs r0, 0x6 - strh r0, [r1] - ldr r4, _080C1D8C @ =0x00003e10 - adds r1, r2, r4 - ldrh r0, [r1] - subs r0, 0x5 - strh r0, [r1] - ldr r0, _080C1D90 @ =0x00003e12 - mov r8, r0 - adds r1, r2, r0 - ldrh r0, [r1] - subs r0, 0x5 - strh r0, [r1] - movs r1, 0xF5 - lsls r1, 6 - adds r0, r2, r1 - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldr r5, _080C1D94 @ =0x00003d4e - adds r1, r2, r5 - movs r2, 0x30 - bl CpuSet - ldr r1, [r7] - adds r0, r1, r5 - adds r6, r1, r6 - ldrh r2, [r6] - adds r4, r1, r4 - ldrh r3, [r4] - add r1, r8 - ldrh r1, [r1] - str r1, [sp] - movs r1, 0x30 - bl TintPalette_CustomTone - ldr r0, [r7] - adds r0, r5 - movs r1, 0xD0 - movs r2, 0x60 - bl LoadPalette -_080C1D80: - ldr r0, _080C1D98 @ =gUnknown_20399DC - ldr r1, [r0] - ldr r3, _080C1D9C @ =0x00003d4c - b _080C1DD6 - .align 2, 0 -_080C1D88: .4byte 0x00003e0e -_080C1D8C: .4byte 0x00003e10 -_080C1D90: .4byte 0x00003e12 -_080C1D94: .4byte 0x00003d4e -_080C1D98: .4byte gUnknown_20399DC -_080C1D9C: .4byte 0x00003d4c -_080C1DA0: - ldr r0, _080C1DE0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080C1DB4 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C1DFE -_080C1DB4: - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x2 - movs r1, 0x3 - bl CopyWindowToVram - ldr r2, _080C1DE4 @ =gUnknown_20399DC - ldr r1, [r2] - ldr r0, _080C1DE8 @ =0x00003d48 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, [r2] -_080C1DD4: - ldr r3, _080C1DEC @ =0x00003d49 -_080C1DD6: - adds r1, r3 -_080C1DD8: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C1DFE - .align 2, 0 -_080C1DE0: .4byte gMain -_080C1DE4: .4byte gUnknown_20399DC -_080C1DE8: .4byte 0x00003d48 -_080C1DEC: .4byte 0x00003d49 -_080C1DF0: - ldr r0, _080C1E0C @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, _080C1E10 @ =sub_80C1A94 - str r0, [r1] -_080C1DFE: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C1E0C: .4byte gTasks -_080C1E10: .4byte sub_80C1A94 - thumb_func_end sub_80C1BE0 - - thumb_func_start sub_80C1E14 -sub_80C1E14: @ 80C1E14 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C1E68 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r4, _080C1E6C @ =gUnknown_20399DC - ldr r0, [r4] - ldr r2, _080C1E70 @ =0x00003d44 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - movs r0, 0x2 - bl HideBg - movs r0, 0 - bl sub_80C4B30 - bl sub_80C0B18 - bl sub_80C0BB0 - bl sub_80C0AB8 - bl sub_80C0B9C - ldr r0, _080C1E74 @ =gUnknown_8418E8D - bl sub_80C4E74 - ldr r0, [r4] - cmp r0, 0 - beq _080C1E60 - bl Free - movs r0, 0 - str r0, [r4] -_080C1E60: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C1E68: .4byte gTasks -_080C1E6C: .4byte gUnknown_20399DC -_080C1E70: .4byte 0x00003d44 -_080C1E74: .4byte gUnknown_8418E8D - thumb_func_end sub_80C1E14 - - thumb_func_start sub_80C1E78 -sub_80C1E78: @ 80C1E78 - push {lr} - sub sp, 0x8 - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_80C1E78 - - thumb_func_start sub_80C1E94 -sub_80C1E94: @ 80C1E94 - push {r4-r6,lr} - bl sub_80C4BE4 - movs r0, 0 - movs r1, 0x11 - movs r2, 0xC0 - bl sub_80C4C2C - ldr r5, _080C1F58 @ =gUnknown_20399DC - ldr r0, [r5] - ldr r1, _080C1F5C @ =0x00003e14 - adds r0, r1 - ldrh r0, [r0] - bl sub_80C4C48 - movs r0, 0 - movs r1, 0xD - bl sub_80C4C74 - movs r0, 0x3B - bl sub_80C4C88 - movs r0, 0x1 - movs r1, 0 - bl sub_80C4C9C - bl sub_80C3508 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_80C3514 - lsls r0, 16 - ldr r5, [r5] - lsls r4, 3 - adds r4, 0x20 - ldr r2, _080C1F60 @ =0x00003e16 - adds r1, r5, r2 - strh r4, [r1] - lsrs r0, 13 - adds r0, 0x18 - ldr r3, _080C1F64 @ =0x00003e18 - adds r2, r5, r3 - strh r0, [r2] - ldrh r0, [r1] - adds r0, 0x8 - ldr r4, _080C1F68 @ =0x00003e1a - adds r3, r5, r4 - strh r0, [r3] - ldrh r0, [r2] - adds r0, 0x8 - ldr r6, _080C1F6C @ =0x00003e1c - adds r4, r5, r6 - strh r0, [r4] - ldrh r1, [r1] - movs r0, 0x10 - subs r0, r1 - cmp r0, 0 - bge _080C1F0E - adds r0, 0x7 -_080C1F0E: - asrs r1, r0, 3 - ldr r6, _080C1F70 @ =0x00003e1e - adds r0, r5, r6 - strh r1, [r0] - ldrh r1, [r2] - movs r0, 0x20 - subs r0, r1 - cmp r0, 0 - bge _080C1F22 - adds r0, 0x7 -_080C1F22: - asrs r1, r0, 3 - ldr r2, _080C1F74 @ =0x00003e20 - adds r0, r5, r2 - strh r1, [r0] - ldrh r1, [r3] - movs r0, 0xE0 - subs r0, r1 - cmp r0, 0 - bge _080C1F36 - adds r0, 0x7 -_080C1F36: - asrs r1, r0, 3 - ldr r3, _080C1F78 @ =0x00003e22 - adds r0, r5, r3 - strh r1, [r0] - ldrh r1, [r4] - movs r0, 0x88 - subs r0, r1 - cmp r0, 0 - bge _080C1F4A - adds r0, 0x7 -_080C1F4A: - asrs r1, r0, 3 - ldr r4, _080C1F7C @ =0x00003e24 - adds r0, r5, r4 - strh r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C1F58: .4byte gUnknown_20399DC -_080C1F5C: .4byte 0x00003e14 -_080C1F60: .4byte 0x00003e16 -_080C1F64: .4byte 0x00003e18 -_080C1F68: .4byte 0x00003e1a -_080C1F6C: .4byte 0x00003e1c -_080C1F70: .4byte 0x00003e1e -_080C1F74: .4byte 0x00003e20 -_080C1F78: .4byte 0x00003e22 -_080C1F7C: .4byte 0x00003e24 - thumb_func_end sub_80C1E94 - - thumb_func_start sub_80C1F80 -sub_80C1F80: @ 80C1F80 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - cmp r0, 0 - bne _080C2014 - ldr r1, _080C1FF0 @ =gUnknown_20399DC - ldr r2, [r1] - ldr r0, _080C1FF4 @ =0x00003d4b - adds r3, r2, r0 - ldrb r0, [r3] - adds r6, r1, 0 - cmp r0, 0x7 - bhi _080C2024 - ldr r4, _080C1FF8 @ =0x00003e16 - adds r1, r2, r4 - adds r4, 0x8 - adds r0, r2, r4 - ldrh r0, [r0] - ldrh r4, [r1] - adds r0, r4 - strh r0, [r1] - ldr r0, _080C1FFC @ =0x00003e18 - adds r1, r2, r0 - ldr r4, _080C2000 @ =0x00003e20 - adds r0, r2, r4 - ldrh r0, [r0] - ldrh r4, [r1] - adds r0, r4 - strh r0, [r1] - ldr r0, _080C2004 @ =0x00003e1a - adds r1, r2, r0 - ldr r4, _080C2008 @ =0x00003e22 - adds r0, r2, r4 - ldrh r0, [r0] - ldrh r4, [r1] - adds r0, r4 - strh r0, [r1] - ldr r0, _080C200C @ =0x00003e1c - adds r1, r2, r0 - ldr r4, _080C2010 @ =0x00003e24 - adds r0, r2, r4 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r3] - ldr r0, [r6] - subs r4, 0x10 - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, 0x5 - bhi _080C2086 - adds r0, 0x1 - b _080C2084 - .align 2, 0 -_080C1FF0: .4byte gUnknown_20399DC -_080C1FF4: .4byte 0x00003d4b -_080C1FF8: .4byte 0x00003e16 -_080C1FFC: .4byte 0x00003e18 -_080C2000: .4byte 0x00003e20 -_080C2004: .4byte 0x00003e1a -_080C2008: .4byte 0x00003e22 -_080C200C: .4byte 0x00003e1c -_080C2010: .4byte 0x00003e24 -_080C2014: - ldr r1, _080C2028 @ =gUnknown_20399DC - ldr r3, [r1] - ldr r0, _080C202C @ =0x00003d4b - adds r5, r3, r0 - ldrb r0, [r5] - adds r6, r1, 0 - cmp r0, 0 - bne _080C2030 -_080C2024: - movs r0, 0x1 - b _080C20DE - .align 2, 0 -_080C2028: .4byte gUnknown_20399DC -_080C202C: .4byte 0x00003d4b -_080C2030: - ldr r1, _080C20E8 @ =0x00003e16 - adds r2, r3, r1 - ldr r4, _080C20EC @ =0x00003e1e - adds r1, r3, r4 - ldrh r0, [r2] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2] - ldr r0, _080C20F0 @ =0x00003e18 - adds r2, r3, r0 - adds r4, 0x2 - adds r1, r3, r4 - ldrh r0, [r2] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2] - ldr r0, _080C20F4 @ =0x00003e1a - adds r2, r3, r0 - adds r4, 0x2 - adds r1, r3, r4 - ldrh r0, [r2] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2] - ldr r0, _080C20F8 @ =0x00003e1c - adds r2, r3, r0 - adds r4, 0x2 - adds r1, r3, r4 - ldrh r0, [r2] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r2] - ldrb r0, [r5] - subs r0, 0x1 - strb r0, [r5] - ldr r0, [r6] - ldr r2, _080C20FC @ =0x00003e14 - adds r1, r0, r2 - ldrh r0, [r1] - cmp r0, 0 - beq _080C2086 - subs r0, 0x1 -_080C2084: - strh r0, [r1] -_080C2086: - ldr r4, [r6] - ldr r1, _080C20E8 @ =0x00003e16 - adds r0, r4, r1 - ldrh r0, [r0] - ldr r5, _080C2100 @ =0xffff0000 - ldr r2, [sp] - ands r2, r5 - orrs r2, r0 - str r2, [sp] - adds r1, 0x2 - adds r0, r4, r1 - ldrh r1, [r0] - lsls r1, 16 - ldr r3, _080C2104 @ =0x0000ffff - adds r0, r3, 0 - ands r0, r2 - orrs r0, r1 - str r0, [sp] - ldr r2, _080C20F4 @ =0x00003e1a - adds r4, r2 - ldrh r0, [r4] - ldr r1, [sp, 0x4] - ands r1, r5 - orrs r1, r0 - str r1, [sp, 0x4] - ldr r0, [r6] - ldr r4, _080C20F8 @ =0x00003e1c - adds r0, r4 - ldrh r0, [r0] - lsls r0, 16 - ands r3, r1 - orrs r3, r0 - str r3, [sp, 0x4] - movs r0, 0x1 - mov r1, sp - bl sub_80C4CF0 - ldr r0, [r6] - ldr r1, _080C20FC @ =0x00003e14 - adds r0, r1 - ldrh r0, [r0] - bl sub_80C4C48 - movs r0, 0 -_080C20DE: - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080C20E8: .4byte 0x00003e16 -_080C20EC: .4byte 0x00003e1e -_080C20F0: .4byte 0x00003e18 -_080C20F4: .4byte 0x00003e1a -_080C20F8: .4byte 0x00003e1c -_080C20FC: .4byte 0x00003e14 -_080C2100: .4byte 0xffff0000 -_080C2104: .4byte 0x0000ffff - thumb_func_end sub_80C1F80 - - thumb_func_start nullsub_63 -nullsub_63: @ 80C2108 - bx lr - thumb_func_end nullsub_63 - - thumb_func_start sub_80C210C -sub_80C210C: @ 80C210C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - adds r5, r0, 0 - lsls r5, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _080C21E0 @ =gUnknown_20399E0 - mov r9, r0 - ldr r6, [r0] - lsrs r5, 22 - adds r6, r5 - ldr r0, [r6] - str r0, [sp, 0x18] - movs r3, 0x80 - lsls r3, 3 - mov r10, r3 - add r0, sp, 0x18 - lsls r3, r1, 16 - mov r4, r10 - orrs r3, r4 - str r3, [r0, 0x4] - ldr r3, _080C21E4 @ =gUnknown_83EF3A4 - str r3, [sp, 0x20] - ldr r4, _080C21E8 @ =0xffff0000 - add r7, sp, 0x20 - mov r8, r7 - ldr r3, [r7, 0x4] - ands r3, r4 - orrs r3, r2 - str r3, [r7, 0x4] - mov r3, sp - movs r4, 0 - strh r1, [r3] - strh r2, [r3, 0x2] - ldr r3, _080C21EC @ =gUnknown_83F1C20 - str r3, [sp, 0x4] - ldr r3, _080C21F0 @ =gUnknown_83F1C30 - str r3, [sp, 0x8] - str r4, [sp, 0xC] - ldr r3, _080C21F4 @ =gDummySpriteAffineAnimTable - str r3, [sp, 0x10] - ldr r3, _080C21F8 @ =nullsub_63 - str r3, [sp, 0x14] - ldr r3, [r6] - movs r4, 0x81 - lsls r4, 3 - adds r3, r4 - strh r1, [r3] - ldr r1, [r6] - ldr r7, _080C21FC @ =0x0000040a - adds r1, r7 - strh r2, [r1] - bl LoadSpriteSheet - mov r0, r8 - bl LoadSpritePalette - mov r1, r9 - ldr r0, [r1] - adds r0, r5 - ldr r0, [r0] - ldr r2, _080C2200 @ =0x00000404 - adds r1, r0, r2 - movs r3, 0 - ldrsh r1, [r1, r3] - subs r4, 0x2 - adds r0, r4 - movs r7, 0 - ldrsh r2, [r0, r7] - mov r0, sp - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r2, r9 - ldr r1, [r2] - adds r1, r5 - ldr r2, [r1] - add r2, r10 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080C2204 @ =gSprites - adds r1, r0 - str r1, [r2] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C21E0: .4byte gUnknown_20399E0 -_080C21E4: .4byte gUnknown_83EF3A4 -_080C21E8: .4byte 0xffff0000 -_080C21EC: .4byte gUnknown_83F1C20 -_080C21F0: .4byte gUnknown_83F1C30 -_080C21F4: .4byte gDummySpriteAffineAnimTable -_080C21F8: .4byte nullsub_63 -_080C21FC: .4byte 0x0000040a -_080C2200: .4byte 0x00000404 -_080C2204: .4byte gSprites - thumb_func_end sub_80C210C - - thumb_func_start sub_80C2208 -sub_80C2208: @ 80C2208 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r4, _080C22A4 @ =gUnknown_20399E0 - ldr r0, _080C22A8 @ =0x00000cd4 - bl AllocZeroed - str r0, [r4] - movs r6, 0 -_080C2224: - ldr r0, _080C22AC @ =0x0000040c - bl AllocZeroed - adds r5, r0, 0 - ldr r7, _080C22A4 @ =gUnknown_20399E0 - ldr r4, [r7] - lsls r0, r6, 2 - adds r4, r0 - str r5, [r4] - adds r0, r6, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 19 - adds r0, 0x68 - ldr r1, _080C22B0 @ =0x00000404 - adds r5, r1 - strh r0, [r5] - ldr r4, [r4] - adds r0, r6, 0 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 18 - adds r0, 0x28 - ldr r2, _080C22B4 @ =0x00000406 - adds r4, r2 - strh r0, [r4] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x5 - bls _080C2224 - movs r0, 0 - bl sub_80C4AAC - bl sub_80C4BE4 - bl sub_80C24BC - movs r0, 0x1 - bl sub_80C0A88 - ldr r0, [r7] - ldr r1, _080C22B8 @ =0x00000cc8 - adds r0, r1 - mov r2, r9 - str r2, [r0] - ldr r1, _080C22BC @ =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C22C0 @ =sub_80C267C - str r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C22A4: .4byte gUnknown_20399E0 -_080C22A8: .4byte 0x00000cd4 -_080C22AC: .4byte 0x0000040c -_080C22B0: .4byte 0x00000404 -_080C22B4: .4byte 0x00000406 -_080C22B8: .4byte 0x00000cc8 -_080C22BC: .4byte gTasks -_080C22C0: .4byte sub_80C267C - thumb_func_end sub_80C2208 - - thumb_func_start sub_80C22C4 -sub_80C22C4: @ 80C22C4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r2, 0x6 - bne _080C2310 - movs r3, 0 - ldr r7, _080C230C @ =gUnknown_20399E0 - movs r6, 0x80 - lsls r6, 3 - movs r1, 0x1 - adds r0, r4, 0 - ands r0, r1 - lsls r4, r0, 2 - movs r5, 0x5 - negs r5, r5 -_080C22E6: - ldr r0, [r7] - lsls r1, r3, 2 - adds r0, r1 - ldr r0, [r0] - adds r0, r6 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r5, 0 - ands r0, r2 - orrs r0, r4 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x5 - bls _080C22E6 - b _080C2338 - .align 2, 0 -_080C230C: .4byte gUnknown_20399E0 -_080C2310: - ldr r0, _080C2340 @ =gUnknown_20399E0 - ldr r0, [r0] - lsls r1, r2, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 3 - adds r0, r1 - ldr r2, [r0] - adds r2, 0x3E - movs r0, 0x1 - adds r1, r4, 0 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_080C2338: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C2340: .4byte gUnknown_20399E0 - thumb_func_end sub_80C22C4 - - thumb_func_start sub_80C2344 -sub_80C2344: @ 80C2344 - push {lr} - ldr r0, _080C2360 @ =gUnknown_20399E0 - ldr r0, [r0] - ldr r1, _080C2364 @ =0x00000ccd - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x8 - bls _080C2356 - b _080C249C -_080C2356: - lsls r0, 2 - ldr r1, _080C2368 @ =_080C236C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C2360: .4byte gUnknown_20399E0 -_080C2364: .4byte 0x00000ccd -_080C2368: .4byte _080C236C - .align 2, 0 -_080C236C: - .4byte _080C2390 - .4byte _080C23B0 - .4byte _080C23D0 - .4byte _080C23F0 - .4byte _080C2410 - .4byte _080C2430 - .4byte _080C2450 - .4byte _080C2468 - .4byte _080C2484 -_080C2390: - ldr r0, _080C23A8 @ =gUnknown_83F12CC - ldr r1, _080C23AC @ =gUnknown_20399E0 - ldr r1, [r1] - ldr r1, [r1] - bl LZ77UnCompWram - movs r0, 0 - movs r1, 0x4 - movs r2, 0x4 - bl sub_80C210C - b _080C24A0 - .align 2, 0 -_080C23A8: .4byte gUnknown_83F12CC -_080C23AC: .4byte gUnknown_20399E0 -_080C23B0: - ldr r0, _080C23C8 @ =gUnknown_83F1550 - ldr r1, _080C23CC @ =gUnknown_20399E0 - ldr r1, [r1] - ldr r1, [r1, 0x4] - bl LZ77UnCompWram - movs r0, 0x1 - movs r1, 0x5 - movs r2, 0x5 - bl sub_80C210C - b _080C24A0 - .align 2, 0 -_080C23C8: .4byte gUnknown_83F1550 -_080C23CC: .4byte gUnknown_20399E0 -_080C23D0: - ldr r0, _080C23E8 @ =gUnknown_83F1738 - ldr r1, _080C23EC @ =gUnknown_20399E0 - ldr r1, [r1] - ldr r1, [r1, 0x8] - bl LZ77UnCompWram - movs r0, 0x2 - movs r1, 0x6 - movs r2, 0x6 - bl sub_80C210C - b _080C24A0 - .align 2, 0 -_080C23E8: .4byte gUnknown_83F1738 -_080C23EC: .4byte gUnknown_20399E0 -_080C23F0: - ldr r0, _080C2408 @ =gUnknown_83F13EC - ldr r1, _080C240C @ =gUnknown_20399E0 - ldr r1, [r1] - ldr r1, [r1, 0xC] - bl LZ77UnCompWram - movs r0, 0x3 - movs r1, 0x7 - movs r2, 0x7 - bl sub_80C210C - b _080C24A0 - .align 2, 0 -_080C2408: .4byte gUnknown_83F13EC -_080C240C: .4byte gUnknown_20399E0 -_080C2410: - ldr r0, _080C2428 @ =gUnknown_83F1640 - ldr r1, _080C242C @ =gUnknown_20399E0 - ldr r1, [r1] - ldr r1, [r1, 0x10] - bl LZ77UnCompWram - movs r0, 0x4 - movs r1, 0x8 - movs r2, 0x8 - bl sub_80C210C - b _080C24A0 - .align 2, 0 -_080C2428: .4byte gUnknown_83F1640 -_080C242C: .4byte gUnknown_20399E0 -_080C2430: - ldr r0, _080C2448 @ =gUnknown_83F1804 - ldr r1, _080C244C @ =gUnknown_20399E0 - ldr r1, [r1] - ldr r1, [r1, 0x14] - bl LZ77UnCompWram - movs r0, 0x5 - movs r1, 0x9 - movs r2, 0x9 - bl sub_80C210C - b _080C24A0 - .align 2, 0 -_080C2448: .4byte gUnknown_83F1804 -_080C244C: .4byte gUnknown_20399E0 -_080C2450: - ldr r0, _080C2460 @ =gUnknown_83F0330 - ldr r1, _080C2464 @ =gUnknown_20399E0 - ldr r1, [r1] - adds r1, 0x18 - bl LZ77UnCompWram - b _080C24A0 - .align 2, 0 -_080C2460: .4byte gUnknown_83F0330 -_080C2464: .4byte gUnknown_20399E0 -_080C2468: - ldr r0, _080C2478 @ =gUnknown_83F0E0C - ldr r1, _080C247C @ =gUnknown_20399E0 - ldr r1, [r1] - ldr r2, _080C2480 @ =0x00000818 - adds r1, r2 - bl LZ77UnCompWram - b _080C24A0 - .align 2, 0 -_080C2478: .4byte gUnknown_83F0E0C -_080C247C: .4byte gUnknown_20399E0 -_080C2480: .4byte 0x00000818 -_080C2484: - ldr r0, _080C2498 @ =gUnknown_20399E0 - ldr r1, [r0] - adds r1, 0x18 - movs r2, 0x80 - lsls r2, 4 - movs r0, 0x1 - movs r3, 0 - bl LoadBgTiles - b _080C24A0 - .align 2, 0 -_080C2498: .4byte gUnknown_20399E0 -_080C249C: - movs r0, 0x1 - b _080C24B0 -_080C24A0: - ldr r0, _080C24B4 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C24B8 @ =0x00000ccd - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_080C24B0: - pop {r1} - bx r1 - .align 2, 0 -_080C24B4: .4byte gUnknown_20399E0 -_080C24B8: .4byte 0x00000ccd - thumb_func_end sub_80C2344 - - thumb_func_start sub_80C24BC -sub_80C24BC: @ 80C24BC - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, _080C252C @ =gUnknown_20399E0 - ldr r3, [r0] - ldr r0, [r3] - ldr r2, _080C2530 @ =0x00000404 - adds r0, r2 - ldrh r0, [r0] - adds r0, 0x8 - lsls r0, 16 - ldr r4, _080C2534 @ =0xffff0000 - ldr r5, _080C2538 @ =0x0000ffff - lsrs r0, 16 - movs r1, 0x80 - lsls r1, 13 - orrs r0, r1 - str r0, [sp] - ldr r0, [r3, 0xC] - adds r0, r2 - ldrh r1, [r0] - subs r1, 0x8 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x4] - ands r0, r4 - orrs r0, r1 - ands r0, r5 - movs r1, 0xA0 - lsls r1, 16 - orrs r0, r1 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - bl sub_80C4C2C - movs r0, 0x12 - movs r1, 0 - bl sub_80C4C74 - movs r0, 0x10 - bl sub_80C4C88 - movs r0, 0 - mov r1, sp - bl sub_80C4CF0 - movs r0, 0 - movs r1, 0 - bl sub_80C4C9C - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C252C: .4byte gUnknown_20399E0 -_080C2530: .4byte 0x00000404 -_080C2534: .4byte 0xffff0000 -_080C2538: .4byte 0x0000ffff - thumb_func_end sub_80C24BC - - thumb_func_start sub_80C253C -sub_80C253C: @ 80C253C - push {lr} - sub sp, 0x8 - ldr r0, _080C258C @ =gUnknown_83F1C34 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - bl sub_80C4BE4 - movs r0, 0x2 - movs r1, 0x29 - movs r2, 0x80 - bl sub_80C4C2C - ldr r0, _080C2590 @ =gUnknown_20399E0 - ldr r0, [r0] - movs r1, 0xCD - lsls r1, 4 - adds r0, r1 - ldrb r0, [r0] - bl sub_80C4C48 - movs r0, 0x37 - movs r1, 0 - bl sub_80C4C74 - movs r0, 0x12 - bl sub_80C4C88 - movs r0, 0 - mov r1, sp - bl sub_80C4CF0 - movs r0, 0 - movs r1, 0 - bl sub_80C4C9C - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_080C258C: .4byte gUnknown_83F1C34 -_080C2590: .4byte gUnknown_20399E0 - thumb_func_end sub_80C253C - - thumb_func_start sub_80C2594 -sub_80C2594: @ 80C2594 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C25B0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080C25B4 @ =gUnknown_20399E0 - ldr r0, [r0] - ldr r2, _080C25B8 @ =0x00000cc8 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - bx lr - .align 2, 0 -_080C25B0: .4byte gTasks -_080C25B4: .4byte gUnknown_20399E0 -_080C25B8: .4byte 0x00000cc8 - thumb_func_end sub_80C2594 - - thumb_func_start sub_80C25BC -sub_80C25BC: @ 80C25BC - push {r4-r6,lr} - bl sub_80C2604 - movs r5, 0 - ldr r6, _080C2600 @ =gUnknown_20399E0 -_080C25C6: - ldr r0, [r6] - lsls r4, r5, 2 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080C25DE - bl Free - ldr r0, [r6] - adds r0, r4 - movs r1, 0 - str r1, [r0] -_080C25DE: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080C25C6 - ldr r4, _080C2600 @ =gUnknown_20399E0 - ldr r0, [r4] - cmp r0, 0 - beq _080C25F8 - bl Free - movs r0, 0 - str r0, [r4] -_080C25F8: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C2600: .4byte gUnknown_20399E0 - thumb_func_end sub_80C25BC - - thumb_func_start sub_80C2604 -sub_80C2604: @ 80C2604 - push {r4-r7,lr} - movs r5, 0 - ldr r7, _080C2670 @ =gUnknown_20399E0 - movs r6, 0x80 - lsls r6, 3 -_080C260E: - ldr r2, [r7] - lsls r4, r5, 2 - adds r2, r4 - ldr r1, [r2] - adds r0, r1, r6 - ldr r0, [r0] - ldrh r0, [r0, 0x20] - ldr r3, _080C2674 @ =0x00000404 - adds r1, r3 - strh r0, [r1] - ldr r1, [r2] - adds r0, r1, r6 - ldr r0, [r0] - ldrh r0, [r0, 0x22] - adds r3, 0x2 - adds r1, r3 - strh r0, [r1] - ldr r0, [r2] - adds r0, r6 - ldr r0, [r0] - cmp r0, 0 - beq _080C2660 - bl DestroySprite - ldr r0, [r7] - adds r0, r4 - ldr r0, [r0] - movs r1, 0x81 - lsls r1, 3 - adds r0, r1 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r7] - adds r0, r4 - ldr r0, [r0] - ldr r3, _080C2678 @ =0x0000040a - adds r0, r3 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_080C2660: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _080C260E - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C2670: .4byte gUnknown_20399E0 -_080C2674: .4byte 0x00000404 -_080C2678: .4byte 0x0000040a - thumb_func_end sub_80C2604 - - thumb_func_start sub_80C267C -sub_80C267C: @ 80C267C - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080C26A0 @ =gUnknown_20399E0 - ldr r0, [r1] - ldr r2, _080C26A4 @ =0x00000ccc - adds r0, r2 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0xD - bls _080C2696 - b _080C2990 -_080C2696: - lsls r0, 2 - ldr r1, _080C26A8 @ =_080C26AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C26A0: .4byte gUnknown_20399E0 -_080C26A4: .4byte 0x00000ccc -_080C26A8: .4byte _080C26AC - .align 2, 0 -_080C26AC: - .4byte _080C26E4 - .4byte _080C26FC - .4byte _080C270C - .4byte _080C272C - .4byte _080C2768 - .4byte _080C2788 - .4byte _080C27B4 - .4byte _080C27C4 - .4byte _080C27E4 - .4byte _080C281E - .4byte _080C2868 - .4byte _080C28A4 - .4byte _080C2928 - .4byte _080C296C -_080C26E4: - bl sub_80C08E0 - ldr r0, _080C26F4 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C26F8 @ =0x00000ccc - adds r1, r0 - b _080C297E - .align 2, 0 -_080C26F4: .4byte gUnknown_20399E0 -_080C26F8: .4byte 0x00000ccc -_080C26FC: - bl sub_80C2344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080C270A - b _080C299A -_080C270A: - b _080C2976 -_080C270C: - ldr r1, [r4] - ldr r0, _080C2728 @ =0x00000818 - adds r1, r0 - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect - ldr r1, [r4] - b _080C297A - .align 2, 0 -_080C2728: .4byte 0x00000818 -_080C272C: - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - bl sub_80C08F4 - ldr r0, _080C2760 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2764 @ =0x00000ccc - adds r1, r0 - b _080C297E - .align 2, 0 -_080C2760: .4byte gUnknown_20399E0 -_080C2764: .4byte 0x00000ccc -_080C2768: - movs r0, 0 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x6 - movs r1, 0 - bl sub_80C22C4 - bl sub_80C2B48 - b _080C2976 -_080C2788: - ldr r0, _080C27AC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C2796 - b _080C299A -_080C2796: - ldr r1, [r4] - ldr r0, _080C27B0 @ =0x00000ccc - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0xF4 - bl PlaySE - b _080C299A - .align 2, 0 -_080C27AC: .4byte gPaletteFade -_080C27B0: .4byte 0x00000ccc -_080C27B4: - bl sub_80C29A4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080C27C2 - b _080C299A -_080C27C2: - b _080C2976 -_080C27C4: - movs r0, 0 - bl sub_80C4324 - movs r0, 0 - bl sub_80C3154 - ldr r0, _080C27DC @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C27E0 @ =0x00000ccc - adds r1, r0 - b _080C297E - .align 2, 0 -_080C27DC: .4byte gUnknown_20399E0 -_080C27E0: .4byte 0x00000ccc -_080C27E4: - ldr r0, [r4] - movs r1, 0xCD - lsls r1, 4 - adds r0, r1 - movs r1, 0xF - strb r1, [r0] - bl sub_80C253C - movs r0, 0 - bl sub_80C0A88 - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0 - bl sub_80C48BC - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0 - bl sub_80C4960 - ldr r1, [r4] - b _080C297A -_080C281E: - ldr r0, _080C283C @ =gUnknown_8418EB5 - bl sub_80C4E18 - movs r0, 0x1 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080C2844 - ldr r0, _080C2840 @ =gUnknown_8418E8B - bl sub_80C4E74 - b _080C284A - .align 2, 0 -_080C283C: .4byte gUnknown_8418EB5 -_080C2840: .4byte gUnknown_8418E8B -_080C2844: - ldr r0, _080C285C @ =gUnknown_8418E8D - bl sub_80C4E74 -_080C284A: - movs r0, 0 - bl sub_80C4ED0 - ldr r0, _080C2860 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2864 @ =0x00000ccc - adds r1, r0 - b _080C297E - .align 2, 0 -_080C285C: .4byte gUnknown_8418E8D -_080C2860: .4byte gUnknown_20399E0 -_080C2864: .4byte 0x00000ccc -_080C2868: - ldr r4, _080C28A0 @ =gUnknown_83EF23C + 0x1E - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x20 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x30 - movs r2, 0x2 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0x40 - movs r2, 0x2 - bl LoadPalette - b _080C2976 - .align 2, 0 -_080C28A0: .4byte gUnknown_83EF23C + 0x1E -_080C28A4: - movs r4, 0x1 - str r4, [sp] - str r4, [sp, 0x4] - movs r5, 0x2 - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x1 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x3 - movs r2, 0x1 - movs r3, 0x1 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x3E - movs r2, 0x1C - movs r3, 0x1 - bl FillBgTilemapBufferRect - str r4, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x3F - movs r2, 0x1D - movs r3, 0x1 - bl FillBgTilemapBufferRect - movs r0, 0x1A - str r0, [sp] - str r4, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x3D - movs r2, 0x2 - movs r3, 0x1 - bl FillBgTilemapBufferRect - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0xF4 - bl m4aSongNumStop - movs r0, 0x2A - bl PlaySE - ldr r0, _080C2920 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2924 @ =0x00000ccc - adds r1, r0 - b _080C297E - .align 2, 0 -_080C2920: .4byte gUnknown_20399E0 -_080C2924: .4byte 0x00000ccc -_080C2928: - ldr r0, [r4] - movs r2, 0xCD - lsls r2, 4 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0x2 - bne _080C2958 - movs r0, 0x6 - movs r1, 0x1 - bl sub_80C22C4 - ldr r1, [r4] - ldr r0, _080C2954 @ =0x00000ccc - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - bl sub_80C4C48 - b _080C299A - .align 2, 0 -_080C2954: .4byte 0x00000ccc -_080C2958: - subs r0, 0x1 - strb r0, [r1] - ldr r0, [r4] - movs r1, 0xCD - lsls r1, 4 - adds r0, r1 - ldrb r0, [r0] - bl sub_80C4C48 - b _080C299A -_080C296C: - movs r0, 0 - bl sub_80C4B30 - bl sub_80C0BB0 -_080C2976: - ldr r0, _080C2988 @ =gUnknown_20399E0 - ldr r1, [r0] -_080C297A: - ldr r2, _080C298C @ =0x00000ccc - adds r1, r2 -_080C297E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C299A - .align 2, 0 -_080C2988: .4byte gUnknown_20399E0 -_080C298C: .4byte 0x00000ccc -_080C2990: - bl sub_80C2604 - adds r0, r5, 0 - bl sub_80C2594 -_080C299A: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C267C - - thumb_func_start sub_80C29A4 -sub_80C29A4: @ 80C29A4 - push {r4,r5,lr} - bl sub_80C2B48 - ldr r0, _080C29C8 @ =gUnknown_20399E0 - ldr r2, [r0] - ldr r0, [r2] - movs r4, 0x80 - lsls r4, 3 - adds r0, r4 - ldr r1, [r0] - ldrh r3, [r1, 0x20] - movs r5, 0x20 - ldrsh r0, [r1, r5] - cmp r0, 0 - bne _080C29CC - movs r0, 0x1 - b _080C2B3A - .align 2, 0 -_080C29C8: .4byte gUnknown_20399E0 -_080C29CC: - ldr r5, _080C2A18 @ =0x00000cce - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, 0x11 - bls _080C2A1C - subs r0, r3, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - b _080C2B28 - .align 2, 0 -_080C2A18: .4byte 0x00000cce -_080C2A1C: - cmp r0, 0xE - bls _080C2A60 - subs r0, r3, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x2 - b _080C2B28 -_080C2A60: - cmp r0, 0xA - bls _080C2AA4 - subs r0, r3, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x3 - b _080C2B28 -_080C2AA4: - cmp r0, 0x6 - bls _080C2AE8 - subs r0, r3, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x5 - b _080C2B28 -_080C2AE8: - adds r0, r3, 0 - subs r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x8 -_080C2B28: - strh r0, [r1, 0x20] - ldr r0, _080C2B40 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2B44 @ =0x00000cce - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_080C2B3A: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080C2B40: .4byte gUnknown_20399E0 -_080C2B44: .4byte 0x00000cce - thumb_func_end sub_80C29A4 - - thumb_func_start sub_80C2B48 -sub_80C2B48: @ 80C2B48 - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, _080C2B90 @ =gUnknown_20399E0 - ldr r3, [r0] - ldr r0, [r3] - movs r2, 0x80 - lsls r2, 3 - adds r0, r2 - ldr r0, [r0] - ldr r4, _080C2B94 @ =0xffff0000 - ldr r5, _080C2B98 @ =0x0000ffff - ldrh r0, [r0, 0x20] - movs r1, 0x80 - lsls r1, 13 - orrs r0, r1 - str r0, [sp] - ldr r0, [r3, 0xC] - adds r0, r2 - ldr r0, [r0] - ldrh r1, [r0, 0x20] - ldr r0, [sp, 0x4] - ands r0, r4 - orrs r0, r1 - ands r0, r5 - movs r1, 0xA0 - lsls r1, 16 - orrs r0, r1 - str r0, [sp, 0x4] - movs r0, 0 - mov r1, sp - bl sub_80C4CF0 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C2B90: .4byte gUnknown_20399E0 -_080C2B94: .4byte 0xffff0000 -_080C2B98: .4byte 0x0000ffff - thumb_func_end sub_80C2B48 - - thumb_func_start sub_80C2B9C -sub_80C2B9C: @ 80C2B9C - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, _080C2C0C @ =gUnknown_20399E0 - ldr r3, [r0] - ldr r0, [r3] - ldr r2, _080C2C10 @ =0x00000404 - adds r0, r2 - ldrh r0, [r0] - adds r0, 0x10 - lsls r0, 16 - ldr r4, _080C2C14 @ =0xffff0000 - ldr r5, _080C2C18 @ =0x0000ffff - lsrs r0, 16 - movs r1, 0x80 - lsls r1, 13 - orrs r0, r1 - str r0, [sp] - ldr r0, [r3, 0xC] - adds r0, r2 - ldrh r1, [r0] - subs r1, 0x10 - lsls r1, 16 - lsrs r1, 16 - ldr r0, [sp, 0x4] - ands r0, r4 - orrs r0, r1 - ands r0, r5 - movs r1, 0xA0 - lsls r1, 16 - orrs r0, r1 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - bl sub_80C4C2C - movs r0, 0x12 - movs r1, 0 - bl sub_80C4C74 - movs r0, 0x10 - bl sub_80C4C88 - movs r0, 0 - mov r1, sp - bl sub_80C4CF0 - movs r0, 0 - movs r1, 0 - bl sub_80C4C9C - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C2C0C: .4byte gUnknown_20399E0 -_080C2C10: .4byte 0x00000404 -_080C2C14: .4byte 0xffff0000 -_080C2C18: .4byte 0x0000ffff - thumb_func_end sub_80C2B9C - - thumb_func_start sub_80C2C1C -sub_80C2C1C: @ 80C2C1C - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C2C30 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080C2C34 @ =sub_80C2C7C - str r0, [r1] - bx lr - .align 2, 0 -_080C2C30: .4byte gTasks -_080C2C34: .4byte sub_80C2C7C - thumb_func_end sub_80C2C1C - - thumb_func_start sub_80C2C38 -sub_80C2C38: @ 80C2C38 - push {lr} - movs r0, 0 - movs r1, 0x4 - movs r2, 0x4 - bl sub_80C210C - movs r0, 0x1 - movs r1, 0x5 - movs r2, 0x5 - bl sub_80C210C - movs r0, 0x2 - movs r1, 0x6 - movs r2, 0x6 - bl sub_80C210C - movs r0, 0x3 - movs r1, 0x7 - movs r2, 0x7 - bl sub_80C210C - movs r0, 0x4 - movs r1, 0x8 - movs r2, 0x8 - bl sub_80C210C - movs r0, 0x5 - movs r1, 0x9 - movs r2, 0x9 - bl sub_80C210C - pop {r0} - bx r0 - thumb_func_end sub_80C2C38 - - thumb_func_start sub_80C2C7C -sub_80C2C7C: @ 80C2C7C - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080C2CA0 @ =gUnknown_20399E0 - ldr r3, [r1] - ldr r4, _080C2CA4 @ =0x00000ccf - adds r0, r3, r4 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x7 - bls _080C2C94 - b _080C2DFC -_080C2C94: - lsls r0, 2 - ldr r1, _080C2CA8 @ =_080C2CAC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C2CA0: .4byte gUnknown_20399E0 -_080C2CA4: .4byte 0x00000ccf -_080C2CA8: .4byte _080C2CAC - .align 2, 0 -_080C2CAC: - .4byte _080C2CCC - .4byte _080C2CF4 - .4byte _080C2CFA - .4byte _080C2D1C - .4byte _080C2D6C - .4byte _080C2D84 - .4byte _080C2DB8 - .4byte _080C2DD8 -_080C2CCC: - movs r0, 0x1 - bl sub_80C4ED0 - movs r0, 0x3 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x4 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _080C2CEC @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2CF0 @ =0x00000ccf - adds r1, r0 - b _080C2DEC - .align 2, 0 -_080C2CEC: .4byte gUnknown_20399E0 -_080C2CF0: .4byte 0x00000ccf -_080C2CF4: - bl sub_80C2C38 - b _080C2DE4 -_080C2CFA: - ldr r0, _080C2D10 @ =gUnknown_83EF2DC - movs r1, 0 - movs r2, 0xA0 - bl LoadPalette - ldr r0, _080C2D14 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r3, _080C2D18 @ =0x00000ccf - adds r1, r3 - b _080C2DEC - .align 2, 0 -_080C2D10: .4byte gUnknown_83EF2DC -_080C2D14: .4byte gUnknown_20399E0 -_080C2D18: .4byte 0x00000ccf -_080C2D1C: - movs r0, 0x6 - movs r1, 0 - bl sub_80C22C4 - movs r0, 0x1 - bl sub_80C4324 - movs r0, 0x1 - bl sub_80C3154 - movs r0, 0xFF - movs r1, 0x19 - movs r2, 0x1 - bl sub_80C4960 - movs r0, 0xFF - movs r1, 0x19 - movs r2, 0x1 - bl sub_80C48BC - ldr r1, _080C2D64 @ =gUnknown_20399E0 - ldr r0, [r1] - ldr r4, _080C2D68 @ =0x00000cce - adds r0, r4 - movs r2, 0 - strb r2, [r0] - ldr r0, [r1] - movs r3, 0xCD - lsls r3, 4 - adds r0, r3 - strb r2, [r0] - ldr r1, [r1] - adds r4, 0x1 - adds r1, r4 - b _080C2DEC - .align 2, 0 -_080C2D64: .4byte gUnknown_20399E0 -_080C2D68: .4byte 0x00000cce -_080C2D6C: - bl sub_80C253C - ldr r0, _080C2D7C @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2D80 @ =0x00000ccf - adds r1, r0 - b _080C2DEC - .align 2, 0 -_080C2D7C: .4byte gUnknown_20399E0 -_080C2D80: .4byte 0x00000ccf -_080C2D84: - ldr r0, [r4] - movs r2, 0xCD - lsls r2, 4 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xF - bne _080C2DA4 - ldrb r0, [r1] - bl sub_80C4C48 - ldr r1, [r4] - ldr r3, _080C2DA0 @ =0x00000ccf - adds r1, r3 - b _080C2DEC - .align 2, 0 -_080C2DA0: .4byte 0x00000ccf -_080C2DA4: - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r4] - movs r4, 0xCD - lsls r4, 4 - adds r0, r4 - ldrb r0, [r0] - bl sub_80C4C48 - b _080C2E0E -_080C2DB8: - bl sub_80C2B9C - bl sub_80C2B48 - movs r0, 0xF3 - bl PlaySE - ldr r0, _080C2DD0 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2DD4 @ =0x00000ccf - adds r1, r0 - b _080C2DEC - .align 2, 0 -_080C2DD0: .4byte gUnknown_20399E0 -_080C2DD4: .4byte 0x00000ccf -_080C2DD8: - bl sub_80C2E1C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C2E0E -_080C2DE4: - ldr r0, _080C2DF4 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r2, _080C2DF8 @ =0x00000ccf - adds r1, r2 -_080C2DEC: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C2E0E - .align 2, 0 -_080C2DF4: .4byte gUnknown_20399E0 -_080C2DF8: .4byte 0x00000ccf -_080C2DFC: - ldr r1, _080C2E14 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldr r4, _080C2E18 @ =0x00000cc8 - adds r1, r3, r4 - ldr r1, [r1] - str r1, [r0] -_080C2E0E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C2E14: .4byte gTasks -_080C2E18: .4byte 0x00000cc8 - thumb_func_end sub_80C2C7C - - thumb_func_start sub_80C2E1C -sub_80C2E1C: @ 80C2E1C - push {r4,r5,lr} - bl sub_80C2B48 - ldr r0, _080C2E40 @ =gUnknown_20399E0 - ldr r2, [r0] - ldr r0, [r2] - movs r4, 0x80 - lsls r4, 3 - adds r0, r4 - ldr r1, [r0] - ldrh r3, [r1, 0x20] - movs r5, 0x20 - ldrsh r0, [r1, r5] - cmp r0, 0x68 - bne _080C2E44 - movs r0, 0x1 - b _080C2FB2 - .align 2, 0 -_080C2E40: .4byte gUnknown_20399E0 -_080C2E44: - ldr r5, _080C2E90 @ =0x00000cce - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, 0x11 - bls _080C2E94 - adds r0, r3, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x1 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x1 - b _080C2FA0 - .align 2, 0 -_080C2E90: .4byte 0x00000cce -_080C2E94: - cmp r0, 0xE - bls _080C2ED8 - adds r0, r3, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x2 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x2 - b _080C2FA0 -_080C2ED8: - cmp r0, 0xA - bls _080C2F1C - adds r0, r3, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x3 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x3 - b _080C2FA0 -_080C2F1C: - cmp r0, 0x6 - bls _080C2F60 - adds r0, r3, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x5 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x5 - b _080C2FA0 -_080C2F60: - adds r0, r3, 0 - adds r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x4] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x8] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - adds r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0xC] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x10] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x8 - strh r0, [r1, 0x20] - ldr r0, [r2, 0x14] - adds r0, r4 - ldr r1, [r0] - ldrh r0, [r1, 0x20] - subs r0, 0x8 -_080C2FA0: - strh r0, [r1, 0x20] - ldr r0, _080C2FB8 @ =gUnknown_20399E0 - ldr r1, [r0] - ldr r0, _080C2FBC @ =0x00000cce - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 -_080C2FB2: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080C2FB8: .4byte gUnknown_20399E0 -_080C2FBC: .4byte 0x00000cce - thumb_func_end sub_80C2E1C - - thumb_func_start sub_80C2FC0 -sub_80C2FC0: @ 80C2FC0 - push {lr} - adds r1, r0, 0 - ldr r0, _080C2FE8 @ =gUnknown_20399E4 - ldr r2, [r0] - ldrh r0, [r2, 0xC] - cmp r0, 0 - beq _080C2FEC - ldrh r0, [r2, 0x8] - ldrh r3, [r1, 0x20] - adds r0, r3 - strh r0, [r1, 0x20] - ldrh r0, [r2, 0xA] - ldrh r3, [r1, 0x22] - adds r0, r3 - strh r0, [r1, 0x22] - ldrh r0, [r2, 0xC] - subs r0, 0x1 - strh r0, [r2, 0xC] - b _080C3004 - .align 2, 0 -_080C2FE8: .4byte gUnknown_20399E4 -_080C2FEC: - ldr r1, [r2, 0x1C] - movs r3, 0 - ldrsh r0, [r2, r3] - lsls r0, 3 - adds r0, 0x24 - strh r0, [r1, 0x20] - ldr r1, [r2, 0x1C] - movs r3, 0x2 - ldrsh r0, [r2, r3] - lsls r0, 3 - adds r0, 0x24 - strh r0, [r1, 0x22] -_080C3004: - pop {r0} - bx r0 - thumb_func_end sub_80C2FC0 - - thumb_func_start sub_80C3008 -sub_80C3008: @ 80C3008 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r6, _080C3090 @ =gUnknown_20399E4 - movs r0, 0x92 - lsls r0, 1 - bl AllocZeroed - adds r1, r0, 0 - str r1, [r6] - ldr r0, _080C3094 @ =gUnknown_83EF4E0 - adds r1, 0x24 - bl LZ77UnCompWram - ldr r0, [r6] - strh r4, [r0, 0x20] - strh r5, [r0, 0x22] - bl sub_80C3D40 - ldr r1, [r6] - movs r2, 0 - ldrsh r0, [r1, r2] - lsls r0, 3 - adds r0, 0x24 - strh r0, [r1, 0x4] - movs r3, 0x2 - ldrsh r0, [r1, r3] - lsls r0, 3 - adds r0, 0x24 - strh r0, [r1, 0x6] - ldr r0, _080C3098 @ =sub_80C31C0 - str r0, [r1, 0x10] - ldrb r0, [r1, 0x14] - bl sub_80C35DC - ldr r1, [r6] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x16] - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r6] - movs r4, 0x2 - ldrsh r2, [r1, r4] - movs r4, 0 - ldrsh r3, [r1, r4] - movs r1, 0x1 - bl sub_80C4164 - lsls r0, 24 - lsrs r0, 24 - bl sub_80C3878 - ldr r1, [r6] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x18] - bl sub_80C309C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C3090: .4byte gUnknown_20399E4 -_080C3094: .4byte gUnknown_83EF4E0 -_080C3098: .4byte sub_80C31C0 - thumb_func_end sub_80C3008 - - thumb_func_start sub_80C309C -sub_80C309C: @ 80C309C - push {r4-r6,lr} - sub sp, 0x40 - ldr r6, _080C3134 @ =gUnknown_20399E4 - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0x24 - str r0, [sp, 0x30] - movs r1, 0x80 - lsls r1, 1 - add r5, sp, 0x30 - str r1, [r5, 0x4] - ldrh r0, [r2, 0x20] - lsls r0, 16 - orrs r0, r1 - str r0, [r5, 0x4] - ldr r0, _080C3138 @ =gUnknown_83EF25C - str r0, [sp, 0x38] - ldrh r3, [r2, 0x22] - ldr r1, _080C313C @ =0xffff0000 - add r4, sp, 0x38 - ldr r0, [r4, 0x4] - ands r0, r1 - orrs r0, r3 - str r0, [r4, 0x4] - ldrh r0, [r2, 0x20] - add r1, sp, 0x18 - movs r3, 0 - strh r0, [r1] - ldrh r2, [r2, 0x22] - mov r0, sp - adds r0, 0x1A - strh r2, [r0] - ldr r0, _080C3140 @ =gUnknown_83F1C3C - str r0, [sp, 0x1C] - ldr r0, _080C3144 @ =gUnknown_83F1C50 - str r0, [sp, 0x20] - str r3, [sp, 0x24] - ldr r0, _080C3148 @ =gDummySpriteAffineAnimTable - str r0, [sp, 0x28] - ldr r0, _080C314C @ =sub_80C2FC0 - str r0, [sp, 0x2C] - mov r0, sp - movs r2, 0x18 - bl memcpy - adds r0, r5, 0 - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - ldr r0, [r6] - movs r2, 0x4 - ldrsh r1, [r0, r2] - movs r3, 0x6 - ldrsh r2, [r0, r3] - mov r0, sp - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r6] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080C3150 @ =gSprites - adds r1, r0 - str r1, [r2, 0x1C] - movs r0, 0x1 - bl sub_80C3154 - add sp, 0x40 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C3134: .4byte gUnknown_20399E4 -_080C3138: .4byte gUnknown_83EF25C -_080C313C: .4byte 0xffff0000 -_080C3140: .4byte gUnknown_83F1C3C -_080C3144: .4byte gUnknown_83F1C50 -_080C3148: .4byte gDummySpriteAffineAnimTable -_080C314C: .4byte sub_80C2FC0 -_080C3150: .4byte gSprites - thumb_func_end sub_80C309C - - thumb_func_start sub_80C3154 -sub_80C3154: @ 80C3154 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080C3174 @ =gUnknown_20399E4 - ldr r1, [r1] - ldr r2, [r1, 0x1C] - adds r2, 0x3E - movs r1, 0x1 - ands r0, r1 - lsls r0, 2 - ldrb r3, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - orrs r1, r0 - strb r1, [r2] - bx lr - .align 2, 0 -_080C3174: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3154 - - thumb_func_start sub_80C3178 -sub_80C3178: @ 80C3178 - ldr r0, _080C3184 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0xE] - bx lr - .align 2, 0 -_080C3184: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3178 - - thumb_func_start sub_80C3188 -sub_80C3188: @ 80C3188 - push {r4,lr} - ldr r4, _080C31BC @ =gUnknown_20399E4 - ldr r0, [r4] - ldr r0, [r0, 0x1C] - cmp r0, 0 - beq _080C31A8 - bl DestroySprite - ldr r0, [r4] - ldrh r0, [r0, 0x20] - bl FreeSpriteTilesByTag - ldr r0, [r4] - ldrh r0, [r0, 0x22] - bl FreeSpritePaletteByTag -_080C31A8: - ldr r0, [r4] - cmp r0, 0 - beq _080C31B6 - bl Free - movs r0, 0 - str r0, [r4] -_080C31B6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C31BC: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3188 - - thumb_func_start sub_80C31C0 -sub_80C31C0: @ 80C31C0 - push {r4-r6,lr} - movs r5, 0 - ldr r3, _080C3278 @ =gUnknown_20399E4 - ldr r4, [r3] - strh r5, [r4, 0x8] - strh r5, [r4, 0xA] - ldr r2, _080C327C @ =gMain - ldrh r1, [r2, 0x2C] - movs r0, 0x40 - ands r0, r1 - adds r6, r3, 0 - cmp r0, 0 - beq _080C31E8 - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0 - ble _080C31E8 - ldr r0, _080C3280 @ =0x0000fffe - strh r0, [r4, 0xA] - movs r5, 0x1 -_080C31E8: - ldrh r1, [r2, 0x2C] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C3202 - ldr r1, [r6] - movs r3, 0x2 - ldrsh r0, [r1, r3] - cmp r0, 0xD - bgt _080C3202 - movs r0, 0x2 - strh r0, [r1, 0xA] - movs r5, 0x1 -_080C3202: - ldrh r1, [r2, 0x2C] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080C321C - ldr r1, [r6] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0x14 - bgt _080C321C - movs r0, 0x2 - strh r0, [r1, 0x8] - movs r5, 0x1 -_080C321C: - ldrh r1, [r2, 0x2C] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080C3236 - ldr r1, [r6] - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0 - ble _080C3236 - ldr r0, _080C3280 @ =0x0000fffe - strh r0, [r1, 0x8] - movs r5, 0x1 -_080C3236: - ldrh r3, [r2, 0x2E] - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _080C328C - movs r5, 0x4 - ldr r0, [r6] - ldr r1, [r0] - ldr r0, _080C3284 @ =0x000d0015 - cmp r1, r0 - bne _080C3254 - movs r0, 0xF0 - bl PlaySE - movs r5, 0x6 -_080C3254: - ldr r0, [r6] - ldr r1, [r0] - ldr r0, _080C3288 @ =0x000b0015 - cmp r1, r0 - bne _080C331A - movs r0, 0 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C331A - movs r0, 0xF0 - bl PlaySE - movs r5, 0x5 - b _080C331A - .align 2, 0 -_080C3278: .4byte gUnknown_20399E4 -_080C327C: .4byte gMain -_080C3280: .4byte 0x0000fffe -_080C3284: .4byte 0x000d0015 -_080C3288: .4byte 0x000b0015 -_080C328C: - movs r0, 0x2 - ands r0, r3 - cmp r0, 0 - bne _080C3318 - ldrh r1, [r2, 0x30] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080C3300 - bl sub_80C3418 - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080C32FC @ =gUnknown_20399E4 - ldr r1, [r4] - movs r5, 0x2 - ldrsh r2, [r1, r5] - movs r5, 0 - ldrsh r3, [r1, r5] - movs r1, 0 - bl sub_80C4164 - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x14] - bl sub_80C35DC - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x16] - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - movs r3, 0x2 - ldrsh r2, [r1, r3] - movs r5, 0 - ldrsh r3, [r1, r5] - movs r1, 0x1 - bl sub_80C4164 - lsls r0, 24 - lsrs r0, 24 - bl sub_80C3878 - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x18] - movs r0, 0x3 - b _080C332C - .align 2, 0 -_080C32FC: .4byte gUnknown_20399E4 -_080C3300: - movs r0, 0x4 - ands r0, r3 - cmp r0, 0 - beq _080C331A - ldr r0, _080C3334 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C3338 @ =0x000047bc - adds r0, r1 - ldr r1, [r0] - ldr r0, _080C333C @ =CB2_ReturnToField - cmp r1, r0 - bne _080C331A -_080C3318: - movs r5, 0x6 -_080C331A: - cmp r5, 0x1 - bne _080C332A - ldr r0, _080C3340 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x4 - strh r0, [r1, 0xC] - ldr r0, _080C3344 @ =sub_80C3348 - str r0, [r1, 0x10] -_080C332A: - adds r0, r5, 0 -_080C332C: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080C3334: .4byte gUnknown_20399D4 -_080C3338: .4byte 0x000047bc -_080C333C: .4byte CB2_ReturnToField -_080C3340: .4byte gUnknown_20399E4 -_080C3344: .4byte sub_80C3348 - thumb_func_end sub_80C31C0 - - thumb_func_start sub_80C3348 -sub_80C3348: @ 80C3348 - push {r4,r5,lr} - ldr r4, _080C3358 @ =gUnknown_20399E4 - ldr r1, [r4] - ldrh r0, [r1, 0xC] - cmp r0, 0 - beq _080C335C - movs r0, 0x2 - b _080C33F4 - .align 2, 0 -_080C3358: .4byte gUnknown_20399E4 -_080C335C: - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - ble _080C336A - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080C336A: - ldr r1, [r4] - movs r3, 0x8 - ldrsh r0, [r1, r3] - cmp r0, 0 - bge _080C337A - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] -_080C337A: - ldr r1, [r4] - movs r5, 0xA - ldrsh r0, [r1, r5] - cmp r0, 0 - ble _080C338A - ldrh r0, [r1, 0x2] - adds r0, 0x1 - strh r0, [r1, 0x2] -_080C338A: - ldr r1, [r4] - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0 - bge _080C339A - ldrh r0, [r1, 0x2] - subs r0, 0x1 - strh r0, [r1, 0x2] -_080C339A: - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - movs r3, 0x2 - ldrsh r2, [r1, r3] - movs r5, 0 - ldrsh r3, [r1, r5] - movs r1, 0 - bl sub_80C4164 - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x14] - bl sub_80C35DC - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x16] - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - movs r3, 0x2 - ldrsh r2, [r1, r3] - movs r5, 0 - ldrsh r3, [r1, r5] - movs r1, 0x1 - bl sub_80C4164 - lsls r0, 24 - lsrs r0, 24 - bl sub_80C3878 - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x18] - ldr r0, _080C33FC @ =sub_80C31C0 - str r0, [r1, 0x10] - movs r0, 0x3 -_080C33F4: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080C33FC: .4byte sub_80C31C0 - thumb_func_end sub_80C3348 - - thumb_func_start sub_80C3400 -sub_80C3400: @ 80C3400 - push {lr} - ldr r0, _080C3414 @ =gUnknown_20399E4 - ldr r0, [r0] - ldr r0, [r0, 0x10] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080C3414: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3400 - - thumb_func_start sub_80C3418 -sub_80C3418: @ 80C3418 - push {r4,r5,lr} - movs r0, 0 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C3482 - ldr r5, _080C3474 @ =gUnknown_20399E4 - ldr r1, [r5] - ldrb r0, [r1, 0xE] - adds r0, 0x1 - strb r0, [r1, 0xE] - ldr r4, [r5] - ldrb r0, [r4, 0xE] - movs r1, 0x3 - bl __umodsi3 - strb r0, [r4, 0xE] - ldr r0, [r5] - ldrb r0, [r0, 0xE] - cmp r0, 0 - bne _080C3460 - bl sub_80C0E20 - adds r4, r0, 0 - bl sub_80C0E34 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _080C3460 - ldr r1, [r5] - ldrb r0, [r1, 0xE] - adds r0, 0x1 - strb r0, [r1, 0xE] -_080C3460: - ldr r4, _080C3474 @ =gUnknown_20399E4 - ldr r1, [r4] - ldrb r0, [r1, 0xE] - cmp r0, 0x1 - beq _080C3478 - cmp r0, 0x1 - ble _080C34A2 - cmp r0, 0x2 - beq _080C34B8 - b _080C34A2 - .align 2, 0 -_080C3474: .4byte gUnknown_20399E4 -_080C3478: - movs r0, 0x15 - strh r0, [r1] - movs r0, 0xB - strh r0, [r1, 0x2] - b _080C34C0 -_080C3482: - ldr r4, _080C34B4 @ =gUnknown_20399E4 - ldr r1, [r4] - ldrb r0, [r1, 0xE] - adds r0, 0x1 - strb r0, [r1, 0xE] - ldr r2, [r4] - ldrb r0, [r2, 0xE] - movs r1, 0x1 - ands r0, r1 - strb r0, [r2, 0xE] - ldr r1, [r4] - ldrb r0, [r1, 0xE] - cmp r0, 0 - beq _080C34A2 - cmp r0, 0x1 - beq _080C34B8 -_080C34A2: - bl sub_80C4380 - ldr r1, [r4] - strh r0, [r1] - bl sub_80C438C - ldr r1, [r4] - strh r0, [r1, 0x2] - b _080C34C0 - .align 2, 0 -_080C34B4: .4byte gUnknown_20399E4 -_080C34B8: - movs r0, 0xD - strh r0, [r1, 0x2] - movs r0, 0x15 - strh r0, [r1] -_080C34C0: - ldr r4, _080C3504 @ =gUnknown_20399E4 - ldr r1, [r4] - ldr r2, [r1, 0x1C] - movs r3, 0 - ldrsh r0, [r1, r3] - lsls r0, 3 - adds r0, 0x24 - strh r0, [r2, 0x20] - ldr r2, [r1, 0x1C] - movs r5, 0x2 - ldrsh r0, [r1, r5] - lsls r0, 3 - adds r0, 0x24 - strh r0, [r2, 0x22] - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - movs r3, 0x2 - ldrsh r2, [r1, r3] - movs r5, 0 - ldrsh r3, [r1, r5] - movs r1, 0 - bl sub_80C4164 - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x14] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C3504: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3418 - - thumb_func_start sub_80C3508 -sub_80C3508: @ 80C3508 - ldr r0, _080C3510 @ =gUnknown_20399E4 - ldr r0, [r0] - ldrh r0, [r0] - bx lr - .align 2, 0 -_080C3510: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3508 - - thumb_func_start sub_80C3514 -sub_80C3514: @ 80C3514 - ldr r0, _080C351C @ =gUnknown_20399E4 - ldr r0, [r0] - ldrh r0, [r0, 0x2] - bx lr - .align 2, 0 -_080C351C: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3514 - - thumb_func_start sub_80C3520 -sub_80C3520: @ 80C3520 - push {r4,lr} - ldr r4, _080C353C @ =gUnknown_20399E4 - ldr r1, [r4] - ldrh r0, [r1, 0x2] - cmp r0, 0xE - bhi _080C3538 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - blt _080C3538 - cmp r0, 0x15 - ble _080C3540 -_080C3538: - movs r0, 0xC5 - b _080C3574 - .align 2, 0 -_080C353C: .4byte gUnknown_20399E4 -_080C3540: - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - movs r3, 0x2 - ldrsh r2, [r1, r3] - movs r4, 0 - ldrsh r3, [r1, r4] - movs r1, 0 - bl sub_80C4164 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xAE - beq _080C3564 - cmp r4, 0xBB - bne _080C3572 -_080C3564: - ldr r0, _080C357C @ =0x000008b5 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080C3572 - movs r4, 0xC5 -_080C3572: - adds r0, r4, 0 -_080C3574: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C357C: .4byte 0x000008b5 - thumb_func_end sub_80C3520 - - thumb_func_start sub_80C3580 -sub_80C3580: @ 80C3580 - push {r4,lr} - ldr r4, _080C359C @ =gUnknown_20399E4 - ldr r1, [r4] - ldrh r0, [r1, 0x2] - cmp r0, 0xE - bhi _080C3598 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - blt _080C3598 - cmp r0, 0x15 - ble _080C35A0 -_080C3598: - movs r0, 0xC5 - b _080C35D0 - .align 2, 0 -_080C359C: .4byte gUnknown_20399E4 -_080C35A0: - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - movs r3, 0x2 - ldrsh r2, [r1, r3] - movs r4, 0 - ldrsh r3, [r1, r4] - movs r1, 0x1 - bl sub_80C4164 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x8D - bne _080C35CE - ldr r0, _080C35D8 @ =0x00000844 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _080C35CE - movs r4, 0xC5 -_080C35CE: - adds r0, r4, 0 -_080C35D0: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C35D8: .4byte 0x00000844 - thumb_func_end sub_80C3580 - - thumb_func_start sub_80C35DC -sub_80C35DC: @ 80C35DC - push {lr} - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x58 - cmp r0, 0x6D - bls _080C35EA - b _080C3870 -_080C35EA: - lsls r0, 2 - ldr r1, _080C35F4 @ =_080C35F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C35F4: .4byte _080C35F8 - .align 2, 0 -_080C35F8: - .4byte _080C37B0 - .4byte _080C37B6 - .4byte _080C37C0 - .4byte _080C37C8 - .4byte _080C37D0 - .4byte _080C37D8 - .4byte _080C37E0 - .4byte _080C37E8 - .4byte _080C37F0 - .4byte _080C37F8 - .4byte _080C3800 - .4byte _080C3840 - .4byte _080C3858 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3808 - .4byte _080C3810 - .4byte _080C3818 - .4byte _080C3820 - .4byte _080C3828 - .4byte _080C3830 - .4byte _080C3836 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C3870 - .4byte _080C384C -_080C37B0: - movs r0, 0x89 - lsls r0, 4 - b _080C385A -_080C37B6: - ldr r0, _080C37BC @ =0x00000891 - b _080C385A - .align 2, 0 -_080C37BC: .4byte 0x00000891 -_080C37C0: - ldr r0, _080C37C4 @ =0x00000892 - b _080C385A - .align 2, 0 -_080C37C4: .4byte 0x00000892 -_080C37C8: - ldr r0, _080C37CC @ =0x00000893 - b _080C385A - .align 2, 0 -_080C37CC: .4byte 0x00000893 -_080C37D0: - ldr r0, _080C37D4 @ =0x00000894 - b _080C385A - .align 2, 0 -_080C37D4: .4byte 0x00000894 -_080C37D8: - ldr r0, _080C37DC @ =0x00000895 - b _080C385A - .align 2, 0 -_080C37DC: .4byte 0x00000895 -_080C37E0: - ldr r0, _080C37E4 @ =0x00000896 - b _080C385A - .align 2, 0 -_080C37E4: .4byte 0x00000896 -_080C37E8: - ldr r0, _080C37EC @ =0x00000897 - b _080C385A - .align 2, 0 -_080C37EC: .4byte 0x00000897 -_080C37F0: - ldr r0, _080C37F4 @ =0x00000898 - b _080C385A - .align 2, 0 -_080C37F4: .4byte 0x00000898 -_080C37F8: - ldr r0, _080C37FC @ =0x00000899 - b _080C385A - .align 2, 0 -_080C37FC: .4byte 0x00000899 -_080C3800: - ldr r0, _080C3804 @ =0x0000089a - b _080C385A - .align 2, 0 -_080C3804: .4byte 0x0000089a -_080C3808: - ldr r0, _080C380C @ =0x0000089b - b _080C385A - .align 2, 0 -_080C380C: .4byte 0x0000089b -_080C3810: - ldr r0, _080C3814 @ =0x0000089c - b _080C385A - .align 2, 0 -_080C3814: .4byte 0x0000089c -_080C3818: - ldr r0, _080C381C @ =0x0000089d - b _080C385A - .align 2, 0 -_080C381C: .4byte 0x0000089d -_080C3820: - ldr r0, _080C3824 @ =0x0000089e - b _080C385A - .align 2, 0 -_080C3824: .4byte 0x0000089e -_080C3828: - ldr r0, _080C382C @ =0x0000089f - b _080C385A - .align 2, 0 -_080C382C: .4byte 0x0000089f -_080C3830: - movs r0, 0x8A - lsls r0, 4 - b _080C385A -_080C3836: - ldr r0, _080C383C @ =0x000008a1 - b _080C385A - .align 2, 0 -_080C383C: .4byte 0x000008a1 -_080C3840: - movs r0, 0x3 - bl sub_80C0E04 - lsls r0, 24 - cmp r0, 0 - bne _080C3850 -_080C384C: - movs r0, 0 - b _080C3872 -_080C3850: - ldr r0, _080C3854 @ =0x000008a2 - b _080C385A - .align 2, 0 -_080C3854: .4byte 0x000008a2 -_080C3858: - ldr r0, _080C386C @ =0x000008a3 -_080C385A: - bl FlagGet - lsls r0, 24 - movs r1, 0x3 - cmp r0, 0 - beq _080C3868 - movs r1, 0x2 -_080C3868: - adds r0, r1, 0 - b _080C3872 - .align 2, 0 -_080C386C: .4byte 0x000008a3 -_080C3870: - movs r0, 0x1 -_080C3872: - pop {r1} - bx r1 - thumb_func_end sub_80C35DC - - thumb_func_start sub_80C3878 -sub_80C3878: @ 80C3878 - push {lr} - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x7E - cmp r0, 0x47 - bls _080C3886 - b _080C3AC0 -_080C3886: - lsls r0, 2 - ldr r1, _080C3890 @ =_080C3894 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C3890: .4byte _080C3894 - .align 2, 0 -_080C3894: - .4byte _080C39B8 - .4byte _080C39C0 - .4byte _080C39C8 - .4byte _080C39D0 - .4byte _080C39D8 - .4byte _080C39E0 - .4byte _080C39E8 - .4byte _080C39F0 - .4byte _080C39F8 - .4byte _080C3A00 - .4byte _080C3A08 - .4byte _080C3A10 - .4byte _080C3A18 - .4byte _080C3A1E - .4byte _080C3A28 - .4byte _080C3A30 - .4byte _080C3A38 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3A40 - .4byte _080C3A48 - .4byte _080C3A50 - .4byte _080C3A58 - .4byte _080C3A60 - .4byte _080C3A68 - .4byte _080C3A70 - .4byte _080C3A78 - .4byte _080C3A80 - .4byte _080C3A88 - .4byte _080C3A90 - .4byte _080C3A98 - .4byte _080C3A9E - .4byte _080C3AA8 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C3AC0 - .4byte _080C39B4 -_080C39B4: - movs r0, 0 - b _080C3AC2 -_080C39B8: - ldr r0, _080C39BC @ =0x000008a4 - b _080C3AAA - .align 2, 0 -_080C39BC: .4byte 0x000008a4 -_080C39C0: - ldr r0, _080C39C4 @ =0x000008a5 - b _080C3AAA - .align 2, 0 -_080C39C4: .4byte 0x000008a5 -_080C39C8: - ldr r0, _080C39CC @ =0x000008a6 - b _080C3AAA - .align 2, 0 -_080C39CC: .4byte 0x000008a6 -_080C39D0: - ldr r0, _080C39D4 @ =0x000008a7 - b _080C3AAA - .align 2, 0 -_080C39D4: .4byte 0x000008a7 -_080C39D8: - ldr r0, _080C39DC @ =0x000008a8 - b _080C3AAA - .align 2, 0 -_080C39DC: .4byte 0x000008a8 -_080C39E0: - ldr r0, _080C39E4 @ =0x000008a9 - b _080C3AAA - .align 2, 0 -_080C39E4: .4byte 0x000008a9 -_080C39E8: - ldr r0, _080C39EC @ =0x000008aa - b _080C3AAA - .align 2, 0 -_080C39EC: .4byte 0x000008aa -_080C39F0: - ldr r0, _080C39F4 @ =0x000008ab - b _080C3AAA - .align 2, 0 -_080C39F4: .4byte 0x000008ab -_080C39F8: - ldr r0, _080C39FC @ =0x000008ac - b _080C3AAA - .align 2, 0 -_080C39FC: .4byte 0x000008ac -_080C3A00: - ldr r0, _080C3A04 @ =0x000008ad - b _080C3AAA - .align 2, 0 -_080C3A04: .4byte 0x000008ad -_080C3A08: - ldr r0, _080C3A0C @ =0x000008ae - b _080C3AAA - .align 2, 0 -_080C3A0C: .4byte 0x000008ae -_080C3A10: - ldr r0, _080C3A14 @ =0x000008af - b _080C3AAA - .align 2, 0 -_080C3A14: .4byte 0x000008af -_080C3A18: - movs r0, 0x8B - lsls r0, 4 - b _080C3AAA -_080C3A1E: - ldr r0, _080C3A24 @ =0x000008b1 - b _080C3AAA - .align 2, 0 -_080C3A24: .4byte 0x000008b1 -_080C3A28: - ldr r0, _080C3A2C @ =0x000008b2 - b _080C3AAA - .align 2, 0 -_080C3A2C: .4byte 0x000008b2 -_080C3A30: - ldr r0, _080C3A34 @ =0x000008b3 - b _080C3AAA - .align 2, 0 -_080C3A34: .4byte 0x000008b3 -_080C3A38: - ldr r0, _080C3A3C @ =0x000008b4 - b _080C3AAA - .align 2, 0 -_080C3A3C: .4byte 0x000008b4 -_080C3A40: - ldr r0, _080C3A44 @ =0x000008b5 - b _080C3AAA - .align 2, 0 -_080C3A44: .4byte 0x000008b5 -_080C3A48: - ldr r0, _080C3A4C @ =0x000008b6 - b _080C3AAA - .align 2, 0 -_080C3A4C: .4byte 0x000008b6 -_080C3A50: - ldr r0, _080C3A54 @ =0x000008b7 - b _080C3AAA - .align 2, 0 -_080C3A54: .4byte 0x000008b7 -_080C3A58: - ldr r0, _080C3A5C @ =0x000008b8 - b _080C3AAA - .align 2, 0 -_080C3A5C: .4byte 0x000008b8 -_080C3A60: - ldr r0, _080C3A64 @ =0x000008b9 - b _080C3AAA - .align 2, 0 -_080C3A64: .4byte 0x000008b9 -_080C3A68: - ldr r0, _080C3A6C @ =0x000008ba - b _080C3AAA - .align 2, 0 -_080C3A6C: .4byte 0x000008ba -_080C3A70: - ldr r0, _080C3A74 @ =0x000008bb - b _080C3AAA - .align 2, 0 -_080C3A74: .4byte 0x000008bb -_080C3A78: - ldr r0, _080C3A7C @ =0x000008bc - b _080C3AAA - .align 2, 0 -_080C3A7C: .4byte 0x000008bc -_080C3A80: - ldr r0, _080C3A84 @ =0x000008bd - b _080C3AAA - .align 2, 0 -_080C3A84: .4byte 0x000008bd -_080C3A88: - ldr r0, _080C3A8C @ =0x000008be - b _080C3AAA - .align 2, 0 -_080C3A8C: .4byte 0x000008be -_080C3A90: - ldr r0, _080C3A94 @ =0x000008bf - b _080C3AAA - .align 2, 0 -_080C3A94: .4byte 0x000008bf -_080C3A98: - movs r0, 0x8C - lsls r0, 4 - b _080C3AAA -_080C3A9E: - ldr r0, _080C3AA4 @ =0x000008c1 - b _080C3AAA - .align 2, 0 -_080C3AA4: .4byte 0x000008c1 -_080C3AA8: - ldr r0, _080C3ABC @ =0x000008c2 -_080C3AAA: - bl FlagGet - lsls r0, 24 - movs r1, 0x3 - cmp r0, 0 - beq _080C3AB8 - movs r1, 0x2 -_080C3AB8: - adds r0, r1, 0 - b _080C3AC2 - .align 2, 0 -_080C3ABC: .4byte 0x000008c2 -_080C3AC0: - movs r0, 0x1 -_080C3AC2: - pop {r1} - bx r1 - thumb_func_end sub_80C3878 - - thumb_func_start sub_80C3AC8 -sub_80C3AC8: @ 80C3AC8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080C3AE4 - cmp r0, 0x1 - beq _080C3AF0 - ldr r0, _080C3AE0 @ =gUnknown_20399E4 - ldr r0, [r0] - ldrb r0, [r0, 0x16] - b _080C3AF6 - .align 2, 0 -_080C3AE0: .4byte gUnknown_20399E4 -_080C3AE4: - ldr r0, _080C3AEC @ =gUnknown_20399E4 - ldr r0, [r0] - ldrb r0, [r0, 0x16] - b _080C3AF6 - .align 2, 0 -_080C3AEC: .4byte gUnknown_20399E4 -_080C3AF0: - ldr r0, _080C3AFC @ =gUnknown_20399E4 - ldr r0, [r0] - ldrb r0, [r0, 0x18] -_080C3AF6: - pop {r1} - bx r1 - .align 2, 0 -_080C3AFC: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3AC8 - - thumb_func_start sub_80C3B00 -sub_80C3B00: @ 80C3B00 - push {lr} - ldr r0, _080C3B24 @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - ldrb r0, [r0, 0x14] - pop {r1} - bx r1 - .align 2, 0 -_080C3B24: .4byte gSaveBlock1Ptr - thumb_func_end sub_80C3B00 - - thumb_func_start sub_80C3B28 -sub_80C3B28: @ 80C3B28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _080C3B58 @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - bl get_map_light_level_by_bank_and_number - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x8 - bhi _080C3B84 - lsls r0, 2 - ldr r1, _080C3B5C @ =_080C3B60 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C3B58: .4byte gSaveBlock1Ptr -_080C3B5C: .4byte _080C3B60 - .align 2, 0 -_080C3B60: - .4byte _080C3B84 - .4byte _080C3B84 - .4byte _080C3B84 - .4byte _080C3BAC - .4byte _080C3B84 - .4byte _080C3B84 - .4byte _080C3BAC - .4byte _080C3C2C - .4byte _080C3BF0 -_080C3B84: - ldr r0, _080C3BA0 @ =gUnknown_20399E4 - ldr r2, [r0] - ldr r1, _080C3BA4 @ =gMapHeader - ldrb r0, [r1, 0x14] - strh r0, [r2, 0x14] - ldr r0, [r1] - ldrh r1, [r0] - ldrh r0, [r0, 0x4] - mov r8, r0 - ldr r0, _080C3BA8 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r4, [r0] - ldrh r5, [r0, 0x2] - b _080C3C9A - .align 2, 0 -_080C3BA0: .4byte gUnknown_20399E4 -_080C3BA4: .4byte gMapHeader -_080C3BA8: .4byte gSaveBlock1Ptr -_080C3BAC: - ldr r4, _080C3BE8 @ =gSaveBlock1Ptr - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x24 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r0, 16 - adds r1, 0x25 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - adds r2, r0, 0 - ldr r0, _080C3BEC @ =gUnknown_20399E4 - ldr r1, [r0] - ldrb r0, [r2, 0x14] - strh r0, [r1, 0x14] - ldr r0, [r2] - ldrh r1, [r0] - ldrh r0, [r0, 0x4] - mov r8, r0 - ldr r0, [r4] - ldrh r4, [r0, 0x28] - ldrh r5, [r0, 0x2A] - b _080C3C9A - .align 2, 0 -_080C3BE8: .4byte gSaveBlock1Ptr -_080C3BEC: .4byte gUnknown_20399E4 -_080C3BF0: - ldr r4, _080C3C24 @ =gSaveBlock1Ptr - ldr r1, [r4] - movs r0, 0x14 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x15] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - adds r2, r0, 0 - ldr r0, _080C3C28 @ =gUnknown_20399E4 - ldr r1, [r0] - ldrb r0, [r2, 0x14] - strh r0, [r1, 0x14] - ldr r0, [r2] - ldrh r1, [r0] - ldrh r0, [r0, 0x4] - mov r8, r0 - ldr r0, [r4] - ldrh r4, [r0, 0x18] - ldrh r5, [r0, 0x1A] - b _080C3C9A - .align 2, 0 -_080C3C24: .4byte gSaveBlock1Ptr -_080C3C28: .4byte gUnknown_20399E4 -_080C3C2C: - ldr r4, _080C3C5C @ =gUnknown_20399E4 - ldr r0, [r4] - ldr r1, _080C3C60 @ =gMapHeader - ldrb r1, [r1, 0x14] - strh r1, [r0, 0x14] - cmp r1, 0xC4 - beq _080C3C68 - ldr r0, _080C3C64 @ =gSaveBlock1Ptr - ldr r0, [r0] - adds r5, r0, 0 - adds r5, 0x24 - movs r0, 0 - ldrsb r0, [r5, r0] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ldrsb r1, [r5, r1] - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - adds r2, r0, 0 - b _080C3C8E - .align 2, 0 -_080C3C5C: .4byte gUnknown_20399E4 -_080C3C60: .4byte gMapHeader -_080C3C64: .4byte gSaveBlock1Ptr -_080C3C68: - ldr r0, _080C3D30 @ =gSaveBlock1Ptr - ldr r0, [r0] - adds r5, r0, 0 - adds r5, 0x14 - ldrb r0, [r0, 0x14] - lsls r0, 24 - asrs r0, 24 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ldrsb r1, [r5, r1] - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - adds r2, r0, 0 - ldr r1, [r4] - ldrb r0, [r2, 0x14] - strh r0, [r1, 0x14] -_080C3C8E: - ldr r0, [r2] - ldrh r1, [r0] - ldrh r0, [r0, 0x4] - mov r8, r0 - ldrh r4, [r5, 0x4] - ldrh r5, [r5, 0x6] -_080C3C9A: - ldr r0, _080C3D34 @ =gUnknown_20399E4 - ldr r7, [r0] - ldrh r0, [r7, 0x14] - subs r0, 0x58 - strh r0, [r7, 0x14] - ldr r0, _080C3D38 @ =gUnknown_83F2178 - mov r10, r0 - ldrh r0, [r7, 0x14] - lsls r0, 2 - mov r9, r0 - add r0, r10 - ldrh r6, [r0] - adds r0, r1, 0 - adds r1, r6, 0 - bl __udivsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _080C3CC4 - movs r1, 0x1 -_080C3CC4: - adds r0, r4, 0 - bl __udivsi3 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r6 - bcc _080C3CD8 - subs r0, r6, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_080C3CD8: - mov r0, r10 - adds r0, 0x2 - add r0, r9 - ldrh r6, [r0] - mov r0, r8 - adds r1, r6, 0 - bl __udivsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _080C3CF2 - movs r1, 0x1 -_080C3CF2: - adds r0, r5, 0 - bl __udivsi3 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r6 - bcc _080C3D06 - subs r0, r6, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080C3D06: - ldr r1, _080C3D3C @ =gUnknown_83F1E60 - mov r2, r9 - adds r0, r2, r1 - ldrh r0, [r0] - adds r0, r4, r0 - strh r0, [r7] - ldrh r0, [r7, 0x14] - lsls r0, 2 - adds r1, 0x2 - adds r0, r1 - ldrh r0, [r0] - adds r0, r5, r0 - strh r0, [r7, 0x2] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C3D30: .4byte gSaveBlock1Ptr -_080C3D34: .4byte gUnknown_20399E4 -_080C3D38: .4byte gUnknown_83F2178 -_080C3D3C: .4byte gUnknown_83F1E60 - thumb_func_end sub_80C3B28 - - thumb_func_start sub_80C3D40 -sub_80C3D40: @ 80C3D40 - push {r4,r5,lr} - bl sub_80C3B00 - lsls r0, 16 - lsrs r0, 16 - subs r0, 0x66 - cmp r0, 0x5C - bls _080C3D52 - b _080C4132 -_080C3D52: - lsls r0, 2 - ldr r1, _080C3D5C @ =_080C3D60 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C3D5C: .4byte _080C3D60 - .align 2, 0 -_080C3D60: - .4byte _080C4034 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C40A0 - .4byte _080C40C4 - .4byte _080C40E8 - .4byte _080C4108 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4064 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4028 - .4byte _080C4132 - .4byte _080C3F24 - .4byte _080C3F50 - .4byte _080C3F78 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C3F44 - .4byte _080C3EE4 - .4byte _080C3EF0 - .4byte _080C3ED4 - .4byte _080C3F38 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C3F04 - .4byte _080C4132 - .4byte _080C3F10 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C3FB0 - .4byte _080C3FC8 - .4byte _080C3FD4 - .4byte _080C4132 - .4byte _080C3FF4 - .4byte _080C3FBC - .4byte _080C4014 - .4byte _080C4132 - .4byte _080C3FE0 - .4byte _080C4132 - .4byte _080C4008 - .4byte _080C4132 - .4byte _080C4132 - .4byte _080C3FA4 - .4byte _080C4008 - .4byte _080C4008 - .4byte _080C4008 - .4byte _080C4008 - .4byte _080C4008 - .4byte _080C4008 - .4byte _080C4008 -_080C3ED4: - ldr r0, _080C3EE0 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xC - strh r0, [r1] - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C3EE0: .4byte gUnknown_20399E4 -_080C3EE4: - ldr r0, _080C3EEC @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xE - b _080C411C - .align 2, 0 -_080C3EEC: .4byte gUnknown_20399E4 -_080C3EF0: - ldr r0, _080C3F00 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x4 - strh r0, [r1] - movs r0, 0xE - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C3F00: .4byte gUnknown_20399E4 -_080C3F04: - ldr r0, _080C3F0C @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x12 - b _080C411C - .align 2, 0 -_080C3F0C: .4byte gUnknown_20399E4 -_080C3F10: - ldr r0, _080C3F20 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x12 - strh r0, [r1] - movs r0, 0x4 - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C3F20: .4byte gUnknown_20399E4 -_080C3F24: - ldr r0, _080C3F34 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xE - strh r0, [r1] - movs r0, 0x9 - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C3F34: .4byte gUnknown_20399E4 -_080C3F38: - ldr r0, _080C3F40 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x2 - b _080C3FE6 - .align 2, 0 -_080C3F40: .4byte gUnknown_20399E4 -_080C3F44: - ldr r0, _080C3F4C @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xB - b _080C411C - .align 2, 0 -_080C3F4C: .4byte gUnknown_20399E4 -_080C3F50: - ldr r0, _080C3F70 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r2, 0xE - strh r2, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - ldr r0, _080C3F74 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1E - beq _080C3F6C - b _080C4136 -_080C3F6C: - b _080C40B6 - .align 2, 0 -_080C3F70: .4byte gUnknown_20399E4 -_080C3F74: .4byte gSaveBlock1Ptr -_080C3F78: - ldr r0, _080C3F9C @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xC - strh r0, [r1] - movs r2, 0x6 - strh r2, [r1, 0x2] - ldr r0, _080C3FA0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x23 - beq _080C3F94 - b _080C4136 -_080C3F94: - movs r0, 0xF - strh r0, [r1] - b _080C4136 - .align 2, 0 -_080C3F9C: .4byte gUnknown_20399E4 -_080C3FA0: .4byte gSaveBlock1Ptr -_080C3FA4: - ldr r0, _080C3FAC @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x12 - b _080C4092 - .align 2, 0 -_080C3FAC: .4byte gUnknown_20399E4 -_080C3FB0: - ldr r0, _080C3FB8 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xA - b _080C401A - .align 2, 0 -_080C3FB8: .4byte gUnknown_20399E4 -_080C3FBC: - ldr r0, _080C3FC4 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x5 - b _080C411C - .align 2, 0 -_080C3FC4: .4byte gUnknown_20399E4 -_080C3FC8: - ldr r0, _080C3FD0 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x2 - b _080C3FE6 - .align 2, 0 -_080C3FD0: .4byte gUnknown_20399E4 -_080C3FD4: - ldr r0, _080C3FDC @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xE - b _080C4078 - .align 2, 0 -_080C3FDC: .4byte gUnknown_20399E4 -_080C3FE0: - ldr r0, _080C3FF0 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x11 -_080C3FE6: - strh r0, [r1] - movs r0, 0x3 - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C3FF0: .4byte gUnknown_20399E4 -_080C3FF4: - ldr r0, _080C4004 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x11 - strh r0, [r1] - movs r0, 0xB - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C4004: .4byte gUnknown_20399E4 -_080C4008: - ldr r0, _080C4010 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x9 - b _080C4078 - .align 2, 0 -_080C4010: .4byte gUnknown_20399E4 -_080C4014: - ldr r0, _080C4024 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x10 -_080C401A: - strh r0, [r1] - movs r0, 0x8 - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C4024: .4byte gUnknown_20399E4 -_080C4028: - ldr r0, _080C4030 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x4 - b _080C411C - .align 2, 0 -_080C4030: .4byte gUnknown_20399E4 -_080C4034: - ldr r0, _080C404C @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080C4054 - ldr r0, _080C4050 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x4 - b _080C40D8 - .align 2, 0 -_080C404C: .4byte gSaveBlock1Ptr -_080C4050: .4byte gUnknown_20399E4 -_080C4054: - cmp r0, 0x3 - bne _080C412C - ldr r0, _080C4060 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x4 - b _080C40B4 - .align 2, 0 -_080C4060: .4byte gUnknown_20399E4 -_080C4064: - ldr r0, _080C4080 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x27 - bne _080C4088 - ldr r0, _080C4084 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x4 -_080C4078: - strh r0, [r1] - movs r0, 0xC - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C4080: .4byte gSaveBlock1Ptr -_080C4084: .4byte gUnknown_20399E4 -_080C4088: - cmp r0, 0x28 - bne _080C4136 - ldr r0, _080C409C @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0x4 -_080C4092: - strh r0, [r1] - movs r0, 0xD - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C409C: .4byte gUnknown_20399E4 -_080C40A0: - ldr r0, _080C40BC @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _080C412C - ldr r0, _080C40C0 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xE -_080C40B4: - strh r0, [r1] -_080C40B6: - movs r0, 0x5 - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C40BC: .4byte gSaveBlock1Ptr -_080C40C0: .4byte gUnknown_20399E4 -_080C40C4: - ldr r0, _080C40E0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080C412C - ldr r0, _080C40E4 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xE -_080C40D8: - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C40E0: .4byte gSaveBlock1Ptr -_080C40E4: .4byte gUnknown_20399E4 -_080C40E8: - ldr r0, _080C4100 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080C412C - ldr r0, _080C4104 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xD - b _080C411C - .align 2, 0 -_080C4100: .4byte gSaveBlock1Ptr -_080C4104: .4byte gUnknown_20399E4 -_080C4108: - ldr r0, _080C4124 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080C412C - ldr r0, _080C4128 @ =gUnknown_20399E4 - ldr r1, [r0] - movs r0, 0xF -_080C411C: - strh r0, [r1] - movs r0, 0x6 - strh r0, [r1, 0x2] - b _080C4136 - .align 2, 0 -_080C4124: .4byte gSaveBlock1Ptr -_080C4128: .4byte gUnknown_20399E4 -_080C412C: - bl sub_80C3B28 - b _080C4136 -_080C4132: - bl sub_80C3B28 -_080C4136: - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080C4160 @ =gUnknown_20399E4 - ldr r1, [r4] - movs r3, 0x2 - ldrsh r2, [r1, r3] - movs r5, 0 - ldrsh r3, [r1, r5] - movs r1, 0 - bl sub_80C4164 - ldr r1, [r4] - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x14] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C4160: .4byte gUnknown_20399E4 - thumb_func_end sub_80C3D40 - - thumb_func_start sub_80C4164 -sub_80C4164: @ 80C4164 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 16 - lsrs r1, r3, 16 - cmp r0, 0x1 - beq _080C4198 - cmp r0, 0x1 - bgt _080C4186 - cmp r0, 0 - beq _080C4190 - b _080C41D0 -_080C4186: - cmp r5, 0x2 - beq _080C41A0 - cmp r5, 0x3 - beq _080C41A8 - b _080C41D0 -_080C4190: - ldr r3, _080C4194 @ =gUnknown_83F2490 - b _080C41AA - .align 2, 0 -_080C4194: .4byte gUnknown_83F2490 -_080C4198: - ldr r3, _080C419C @ =gUnknown_83F2724 - b _080C41AA - .align 2, 0 -_080C419C: .4byte gUnknown_83F2724 -_080C41A0: - ldr r3, _080C41A4 @ =gUnknown_83F29B8 - b _080C41AA - .align 2, 0 -_080C41A4: .4byte gUnknown_83F29B8 -_080C41A8: - ldr r3, _080C41CC @ =gUnknown_83F2C4C -_080C41AA: - lsls r1, 16 - asrs r1, 16 - lsls r0, r2, 16 - asrs r0, 16 - movs r2, 0x16 - muls r0, r2 - adds r1, r0 - lsls r0, r4, 2 - adds r0, r4 - lsls r2, r0, 5 - adds r0, r2 - lsls r0, 1 - adds r1, r0 - adds r1, r3 - ldrb r0, [r1] - b _080C41D2 - .align 2, 0 -_080C41CC: .4byte gUnknown_83F2C4C -_080C41D0: - movs r0, 0xC5 -_080C41D2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80C4164 - - thumb_func_start sub_80C41D8 -sub_80C41D8: @ 80C41D8 - push {r4-r6,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r5, r1, 16 - ldr r4, _080C4204 @ =gUnknown_20399E8 - movs r0, 0x8C - bl AllocZeroed - adds r1, r0, 0 - str r1, [r4] - ldr r0, _080C4208 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0x1 - bne _080C4210 - ldr r0, _080C420C @ =gUnknown_83EF59C - adds r1, 0xC - bl LZ77UnCompWram - b _080C4218 - .align 2, 0 -_080C4204: .4byte gUnknown_20399E8 -_080C4208: .4byte gSaveBlock2Ptr -_080C420C: .4byte gUnknown_83EF59C -_080C4210: - ldr r0, _080C423C @ =gUnknown_83EF524 - adds r1, 0xC - bl LZ77UnCompWram -_080C4218: - ldr r4, _080C4240 @ =gUnknown_20399E8 - ldr r0, [r4] - strh r6, [r0, 0x8] - strh r5, [r0, 0xA] - bl sub_80C3508 - ldr r1, [r4] - strh r0, [r1] - bl sub_80C3514 - ldr r1, [r4] - strh r0, [r1, 0x2] - bl sub_80C4244 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C423C: .4byte gUnknown_83EF524 -_080C4240: .4byte gUnknown_20399E8 - thumb_func_end sub_80C41D8 - - thumb_func_start sub_80C4244 -sub_80C4244: @ 80C4244 - push {r4-r6,lr} - sub sp, 0x40 - ldr r6, _080C42FC @ =gUnknown_20399E8 - ldr r2, [r6] - adds r0, r2, 0 - adds r0, 0xC - str r0, [sp, 0x30] - movs r1, 0x80 - add r5, sp, 0x30 - str r1, [r5, 0x4] - ldrh r0, [r2, 0x8] - lsls r0, 16 - orrs r0, r1 - str r0, [r5, 0x4] - ldr r0, _080C4300 @ =gUnknown_83EF27C - str r0, [sp, 0x38] - ldrh r3, [r2, 0xA] - ldr r1, _080C4304 @ =0xffff0000 - add r4, sp, 0x38 - ldr r0, [r4, 0x4] - ands r0, r1 - orrs r0, r3 - str r0, [r4, 0x4] - ldrh r0, [r2, 0x8] - add r1, sp, 0x18 - movs r3, 0 - strh r0, [r1] - ldrh r2, [r2, 0xA] - mov r0, sp - adds r0, 0x1A - strh r2, [r0] - ldr r0, _080C4308 @ =gUnknown_83F1C54 - str r0, [sp, 0x1C] - ldr r0, _080C430C @ =gUnknown_83F1C64 - str r0, [sp, 0x20] - str r3, [sp, 0x24] - ldr r0, _080C4310 @ =gDummySpriteAffineAnimTable - str r0, [sp, 0x28] - ldr r0, _080C4314 @ =SpriteCallbackDummy - str r0, [sp, 0x2C] - mov r0, sp - movs r2, 0x18 - bl memcpy - ldr r0, _080C4318 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0x1 - bne _080C42AA - ldr r0, _080C431C @ =gUnknown_83EF29C - str r0, [sp, 0x38] -_080C42AA: - adds r0, r5, 0 - bl LoadSpriteSheet - adds r0, r4, 0 - bl LoadSpritePalette - ldr r0, [r6] - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r1, 19 - movs r3, 0x90 - lsls r3, 14 - adds r1, r3 - asrs r1, 16 - movs r3, 0x2 - ldrsh r2, [r0, r3] - lsls r2, 19 - movs r0, 0x90 - lsls r0, 14 - adds r2, r0 - asrs r2, 16 - mov r0, sp - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r6] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080C4320 @ =gSprites - adds r1, r0 - str r1, [r2, 0x4] - movs r0, 0x1 - bl sub_80C4324 - add sp, 0x40 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C42FC: .4byte gUnknown_20399E8 -_080C4300: .4byte gUnknown_83EF27C -_080C4304: .4byte 0xffff0000 -_080C4308: .4byte gUnknown_83F1C54 -_080C430C: .4byte gUnknown_83F1C64 -_080C4310: .4byte gDummySpriteAffineAnimTable -_080C4314: .4byte SpriteCallbackDummy -_080C4318: .4byte gSaveBlock2Ptr -_080C431C: .4byte gUnknown_83EF29C -_080C4320: .4byte gSprites - thumb_func_end sub_80C4244 - - thumb_func_start sub_80C4324 -sub_80C4324: @ 80C4324 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080C4344 @ =gUnknown_20399E8 - ldr r1, [r1] - ldr r2, [r1, 0x4] - adds r2, 0x3E - movs r1, 0x1 - ands r0, r1 - lsls r0, 2 - ldrb r3, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - orrs r1, r0 - strb r1, [r2] - bx lr - .align 2, 0 -_080C4344: .4byte gUnknown_20399E8 - thumb_func_end sub_80C4324 - - thumb_func_start sub_80C4348 -sub_80C4348: @ 80C4348 - push {r4,lr} - ldr r4, _080C437C @ =gUnknown_20399E8 - ldr r0, [r4] - ldr r0, [r0, 0x4] - cmp r0, 0 - beq _080C4368 - bl DestroySprite - ldr r0, [r4] - ldrh r0, [r0, 0x8] - bl FreeSpriteTilesByTag - ldr r0, [r4] - ldrh r0, [r0, 0xA] - bl FreeSpritePaletteByTag -_080C4368: - ldr r0, [r4] - cmp r0, 0 - beq _080C4376 - bl Free - movs r0, 0 - str r0, [r4] -_080C4376: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C437C: .4byte gUnknown_20399E8 - thumb_func_end sub_80C4348 - - thumb_func_start sub_80C4380 -sub_80C4380: @ 80C4380 - ldr r0, _080C4388 @ =gUnknown_20399E8 - ldr r0, [r0] - ldrh r0, [r0] - bx lr - .align 2, 0 -_080C4388: .4byte gUnknown_20399E8 - thumb_func_end sub_80C4380 - - thumb_func_start sub_80C438C -sub_80C438C: @ 80C438C - ldr r0, _080C4394 @ =gUnknown_20399E8 - ldr r0, [r0] - ldrh r0, [r0, 0x2] - bx lr - .align 2, 0 -_080C4394: .4byte gUnknown_20399E8 - thumb_func_end sub_80C438C - - thumb_func_start sub_80C4398 -sub_80C4398: @ 80C4398 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r5, _080C43F4 @ =gUnknown_20399EC - ldr r0, _080C43F8 @ =0x0000046c - bl AllocZeroed - str r0, [r5] - movs r2, 0x8D - lsls r2, 3 - adds r1, r0, r2 - mov r2, r8 - str r2, [r1] - movs r1, 0x8C - lsls r1, 3 - adds r0, r1 - strb r4, [r0] - ldr r0, _080C43FC @ =gUnknown_83F18D8 - ldr r1, [r5] - bl LZ77UnCompWram - ldr r0, _080C4400 @ =gUnknown_83F1908 - ldr r1, [r5] - adds r1, 0x40 - bl LZ77UnCompWram - ldr r1, _080C4404 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C4408 @ =sub_80C440C - str r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C43F4: .4byte gUnknown_20399EC -_080C43F8: .4byte 0x0000046c -_080C43FC: .4byte gUnknown_83F18D8 -_080C4400: .4byte gUnknown_83F1908 -_080C4404: .4byte gTasks -_080C4408: .4byte sub_80C440C - thumb_func_end sub_80C4398 - - thumb_func_start sub_80C440C -sub_80C440C: @ 80C440C - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080C442C @ =gUnknown_20399EC - ldr r0, [r0] - ldr r1, _080C4430 @ =0x00000463 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bhi _080C44BC - lsls r0, 2 - ldr r1, _080C4434 @ =_080C4438 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C442C: .4byte gUnknown_20399EC -_080C4430: .4byte 0x00000463 -_080C4434: .4byte _080C4438 - .align 2, 0 -_080C4438: - .4byte _080C444C - .4byte _080C4452 - .4byte _080C4468 - .4byte _080C446E - .4byte _080C44A0 -_080C444C: - bl sub_80C08E0 - b _080C44A4 -_080C4452: - bl sub_80C47F0 - ldr r0, _080C4460 @ =gUnknown_20399EC - ldr r1, [r0] - ldr r0, _080C4464 @ =0x00000463 - adds r1, r0 - b _080C44AC - .align 2, 0 -_080C4460: .4byte gUnknown_20399EC -_080C4464: .4byte 0x00000463 -_080C4468: - bl sub_80C4750 - b _080C44A4 -_080C446E: - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _080C4498 @ =gUnknown_20399EC - ldr r1, [r0] - ldr r0, _080C449C @ =0x00000463 - adds r1, r0 - b _080C44AC - .align 2, 0 -_080C4498: .4byte gUnknown_20399EC -_080C449C: .4byte 0x00000463 -_080C44A0: - bl sub_80C08F4 -_080C44A4: - ldr r0, _080C44B4 @ =gUnknown_20399EC - ldr r1, [r0] - ldr r2, _080C44B8 @ =0x00000463 - adds r1, r2 -_080C44AC: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C44DC - .align 2, 0 -_080C44B4: .4byte gUnknown_20399EC -_080C44B8: .4byte 0x00000463 -_080C44BC: - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - movs r2, 0x80 - lsls r2, 5 - adds r0, r2, 0 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - adds r0, r4, 0 - bl sub_80C44E4 -_080C44DC: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80C440C - - thumb_func_start sub_80C44E4 -sub_80C44E4: @ 80C44E4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C4504 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080C4508 @ =gUnknown_20399EC - ldr r0, [r0] - movs r2, 0x8D - lsls r2, 3 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - bx lr - .align 2, 0 -_080C4504: .4byte gTasks -_080C4508: .4byte gUnknown_20399EC - thumb_func_end sub_80C44E4 - - thumb_func_start sub_80C450C -sub_80C450C: @ 80C450C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - mov r10, r0 - mov r9, r1 - adds r4, r2, 0 - adds r5, r3, 0 - ldr r3, [sp, 0x4C] - ldr r6, [sp, 0x50] - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - str r5, [sp, 0x28] - lsls r3, 24 - lsrs r3, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r7, _080C45F4 @ =gUnknown_20399EC - ldr r0, [r7] - adds r0, 0x40 - str r0, [sp, 0x18] - movs r2, 0x80 - lsls r2, 1 - add r0, sp, 0x18 - lsls r1, r3, 16 - orrs r1, r2 - str r1, [r0, 0x4] - ldr r1, _080C45F8 @ =gUnknown_83EF2BC - str r1, [sp, 0x20] - ldr r2, _080C45FC @ =0xffff0000 - add r5, sp, 0x20 - mov r8, r5 - ldr r1, [r5, 0x4] - ands r1, r2 - orrs r1, r6 - str r1, [r5, 0x4] - mov r1, sp - movs r2, 0 - strh r3, [r1] - strh r6, [r1, 0x2] - ldr r1, _080C4600 @ =gUnknown_83F1C68 - str r1, [sp, 0x4] - ldr r1, _080C4604 @ =gUnknown_83F1C94 - str r1, [sp, 0x8] - str r2, [sp, 0xC] - ldr r1, _080C4608 @ =gDummySpriteAffineAnimTable - str r1, [sp, 0x10] - ldr r1, _080C460C @ =SpriteCallbackDummy - str r1, [sp, 0x14] - bl LoadSpriteSheet - mov r0, r8 - bl LoadSpritePalette - lsls r4, 19 - movs r0, 0x90 - lsls r0, 14 - adds r4, r0 - asrs r4, 16 - ldr r1, [sp, 0x28] - lsls r5, r1, 19 - adds r5, r0 - asrs r5, 16 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r7] - mov r5, r9 - lsls r5, 4 - mov r9, r5 - movs r1, 0xB6 - lsls r1, 2 - adds r2, r1 - add r2, r9 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080C4610 @ =gSprites - adds r1, r0 - str r1, [r2] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, [r7] - add r0, r9 - movs r2, 0xB5 - lsls r2, 2 - adds r0, r2 - mov r5, r10 - strb r5, [r0] - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C45F4: .4byte gUnknown_20399EC -_080C45F8: .4byte gUnknown_83EF2BC -_080C45FC: .4byte 0xffff0000 -_080C4600: .4byte gUnknown_83F1C68 -_080C4604: .4byte gUnknown_83F1C94 -_080C4608: .4byte gDummySpriteAffineAnimTable -_080C460C: .4byte SpriteCallbackDummy -_080C4610: .4byte gSprites - thumb_func_end sub_80C450C - - thumb_func_start sub_80C4614 -sub_80C4614: @ 80C4614 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - ldr r4, [sp, 0x4C] - ldr r5, [sp, 0x50] - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x28] - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - lsls r3, 16 - lsrs r3, 16 - mov r9, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r7, 0 - ldr r0, _080C4730 @ =gUnknown_20399EC - ldr r0, [r0] - str r0, [sp, 0x18] - movs r2, 0x40 - add r0, sp, 0x18 - lsls r1, r4, 16 - orrs r1, r2 - str r1, [r0, 0x4] - ldr r1, _080C4734 @ =gUnknown_83EF2BC - str r1, [sp, 0x20] - ldr r2, _080C4738 @ =0xffff0000 - add r6, sp, 0x20 - ldr r1, [r6, 0x4] - ands r1, r2 - orrs r1, r5 - str r1, [r6, 0x4] - mov r1, sp - strh r4, [r1] - strh r5, [r1, 0x2] - ldr r1, _080C473C @ =gUnknown_83F1C70 - str r1, [sp, 0x4] - ldr r1, _080C4740 @ =gUnknown_83F1C98 - str r1, [sp, 0x8] - str r7, [sp, 0xC] - ldr r1, _080C4744 @ =gDummySpriteAffineAnimTable - str r1, [sp, 0x10] - ldr r1, _080C4748 @ =SpriteCallbackDummy - str r1, [sp, 0x14] - bl LoadSpriteSheet - adds r0, r6, 0 - bl LoadSpritePalette - mov r0, r9 - lsls r2, r0, 16 - asrs r2, 16 - mov r1, r8 - lsls r3, r1, 16 - asrs r3, 16 - mov r0, r10 - movs r1, 0 - bl sub_80C4164 - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - adds r0, r4, 0 - bl sub_80C35DC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080C46BE - adds r0, r4, 0 - bl sub_80C35DC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _080C46C4 -_080C46BE: - cmp r5, 0x64 - beq _080C46C4 - movs r7, 0x2 -_080C46C4: - mov r3, r8 - lsls r1, r3, 3 - lsls r0, r7, 16 - asrs r0, 16 - adds r0, 0x24 - adds r1, r0 - lsls r1, 16 - asrs r1, 16 - mov r3, r9 - lsls r2, r3, 3 - adds r2, r0 - lsls r2, 16 - asrs r2, 16 - mov r0, sp - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r4, _080C4730 @ =gUnknown_20399EC - ldr r2, [r4] - ldr r1, [sp, 0x28] - lsls r3, r1, 4 - movs r1, 0xA4 - lsls r1, 1 - adds r2, r1 - adds r2, r3 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _080C474C @ =gSprites - adds r1, r0 - str r1, [r2] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - ldr r0, [r4] - adds r0, r3 - movs r3, 0xA2 - lsls r3, 1 - adds r0, r3 - mov r1, r10 - strb r1, [r0] - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C4730: .4byte gUnknown_20399EC -_080C4734: .4byte gUnknown_83EF2BC -_080C4738: .4byte 0xffff0000 -_080C473C: .4byte gUnknown_83F1C70 -_080C4740: .4byte gUnknown_83F1C98 -_080C4744: .4byte gDummySpriteAffineAnimTable -_080C4748: .4byte SpriteCallbackDummy -_080C474C: .4byte gSprites - thumb_func_end sub_80C4614 - - thumb_func_start sub_80C4750 -sub_80C4750: @ 80C4750 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r7, 0 - movs r0, 0x3 - bl sub_80C0E04 - lsls r0, 24 - cmp r0, 0 - beq _080C47E0 - movs r1, 0 -_080C476C: - movs r5, 0 - lsls r0, r1, 24 - adds r1, 0x1 - mov r10, r1 - lsrs r0, 24 - str r0, [sp, 0x8] -_080C4778: - movs r4, 0 - lsls r0, r5, 16 - mov r8, r0 - adds r1, r5, 0x1 - mov r9, r1 -_080C4782: - lsls r3, r4, 16 - asrs r3, 16 - ldr r0, [sp, 0x8] - movs r1, 0 - mov r6, r8 - asrs r2, r6, 16 - bl sub_80C4164 - lsls r0, 24 - lsrs r0, 24 - bl sub_80C35DC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080C47C2 - adds r0, r7, 0 - adds r0, 0xA - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xA - str r0, [sp, 0x4] - ldr r0, [sp, 0x8] - adds r1, r7, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_80C450C - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080C47C2: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x15 - bls _080C4782 - mov r1, r9 - lsls r0, r1, 16 - lsrs r5, r0, 16 - cmp r5, 0xE - bls _080C4778 - mov r6, r10 - lsls r0, r6, 16 - lsrs r1, r0, 16 - cmp r1, 0x3 - bls _080C476C -_080C47E0: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C4750 - - thumb_func_start sub_80C47F0 -sub_80C47F0: @ 80C47F0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - movs r6, 0 - movs r1, 0 -_080C4800: - movs r7, 0 - lsls r0, r1, 24 - adds r1, 0x1 - str r1, [sp, 0x8] - lsrs r0, 24 - mov r8, r0 -_080C480C: - movs r5, 0 - lsls r0, r7, 16 - mov r9, r0 - adds r1, r7, 0x1 - mov r10, r1 -_080C4816: - lsls r3, r5, 16 - asrs r3, 16 - mov r0, r8 - movs r1, 0x1 - mov r4, r9 - asrs r2, r4, 16 - bl sub_80C4164 - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - cmp r0, 0xC5 - beq _080C4884 - cmp r0, 0x8D - bne _080C4840 - ldr r0, _080C48B4 @ =0x00000844 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080C4884 -_080C4840: - adds r0, r6, 0 - adds r0, 0x23 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xA - str r0, [sp, 0x4] - mov r0, r8 - adds r1, r6, 0 - adds r2, r5, 0 - adds r3, r7, 0 - bl sub_80C4614 - adds r0, r4, 0 - bl sub_80C3878 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080C487E - ldr r0, _080C48B8 @ =gUnknown_20399EC - ldr r0, [r0] - lsls r1, r6, 4 - movs r2, 0xA4 - lsls r2, 1 - adds r0, r2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim -_080C487E: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_080C4884: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x15 - bls _080C4816 - mov r4, r10 - lsls r0, r4, 16 - lsrs r7, r0, 16 - cmp r7, 0xE - bls _080C480C - ldr r1, [sp, 0x8] - lsls r0, r1, 16 - lsrs r1, r0, 16 - cmp r1, 0x3 - bls _080C4800 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C48B4: .4byte 0x00000844 -_080C48B8: .4byte gUnknown_20399EC - thumb_func_end sub_80C47F0 - - thumb_func_start sub_80C48BC -sub_80C48BC: @ 80C48BC - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - cmp r1, 0x19 - bne _080C4920 - movs r3, 0 - ldr r0, _080C491C @ =gUnknown_20399EC - mov r12, r0 - movs r1, 0x1 - adds r0, r5, 0 - ands r0, r1 - lsls r5, r0, 2 - movs r6, 0x5 - negs r6, r6 -_080C48E0: - mov r7, r12 - ldr r1, [r7] - lsls r2, r3, 4 - adds r0, r1, r2 - movs r7, 0xB5 - lsls r7, 2 - adds r0, r7 - ldrb r0, [r0] - cmp r0, r4 - beq _080C48F8 - cmp r4, 0xFF - bne _080C490E -_080C48F8: - movs r7, 0xB6 - lsls r7, 2 - adds r0, r1, r7 - adds r0, r2 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - orrs r0, r5 - strb r0, [r1] -_080C490E: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x18 - bls _080C48E0 - b _080C4954 - .align 2, 0 -_080C491C: .4byte gUnknown_20399EC -_080C4920: - ldr r0, _080C495C @ =gUnknown_20399EC - ldr r2, [r0] - lsls r1, 4 - adds r0, r2, r1 - movs r3, 0xB5 - lsls r3, 2 - adds r0, r3 - ldrb r0, [r0] - cmp r0, r4 - bne _080C4954 - movs r7, 0xB6 - lsls r7, 2 - adds r0, r2, r7 - adds r0, r1 - ldr r2, [r0] - adds r2, 0x3E - movs r0, 0x1 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_080C4954: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C495C: .4byte gUnknown_20399EC - thumb_func_end sub_80C48BC - - thumb_func_start sub_80C4960 -sub_80C4960: @ 80C4960 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - cmp r1, 0x19 - bne _080C49C4 - movs r3, 0 - ldr r0, _080C49C0 @ =gUnknown_20399EC - mov r12, r0 - movs r1, 0x1 - adds r0, r5, 0 - ands r0, r1 - lsls r5, r0, 2 - movs r6, 0x5 - negs r6, r6 -_080C4984: - mov r7, r12 - ldr r1, [r7] - lsls r2, r3, 4 - adds r0, r1, r2 - movs r7, 0xA2 - lsls r7, 1 - adds r0, r7 - ldrb r0, [r0] - cmp r0, r4 - beq _080C499C - cmp r4, 0xFF - bne _080C49B2 -_080C499C: - movs r7, 0xA4 - lsls r7, 1 - adds r0, r1, r7 - adds r0, r2 - ldr r1, [r0] - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - orrs r0, r5 - strb r0, [r1] -_080C49B2: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x18 - bls _080C4984 - b _080C49F8 - .align 2, 0 -_080C49C0: .4byte gUnknown_20399EC -_080C49C4: - ldr r0, _080C4A00 @ =gUnknown_20399EC - ldr r2, [r0] - lsls r1, 4 - adds r0, r2, r1 - movs r3, 0xA2 - lsls r3, 1 - adds r0, r3 - ldrb r0, [r0] - cmp r0, r4 - beq _080C49F8 - movs r7, 0xA4 - lsls r7, 1 - adds r0, r2, r7 - adds r0, r1 - ldr r2, [r0] - adds r2, 0x3E - movs r0, 0x1 - adds r1, r5, 0 - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_080C49F8: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C4A00: .4byte gUnknown_20399EC - thumb_func_end sub_80C4960 - - thumb_func_start sub_80C4A04 -sub_80C4A04: @ 80C4A04 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _080C4AA4 @ =gUnknown_20399EC -_080C4A0A: - ldr r0, [r6] - lsls r4, r5, 4 - movs r1, 0xB6 - lsls r1, 2 - adds r0, r1 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080C4A3E - bl DestroySprite - ldr r0, [r6] - adds r0, r4 - movs r1, 0xB7 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r6] - adds r0, r4 - ldr r1, _080C4AA8 @ =0x000002de - adds r0, r1 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_080C4A3E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x18 - bls _080C4A0A - movs r5, 0 - ldr r6, _080C4AA4 @ =gUnknown_20399EC -_080C4A4C: - ldr r0, [r6] - lsls r4, r5, 4 - movs r1, 0xA4 - lsls r1, 1 - adds r0, r1 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080C4A82 - bl DestroySprite - ldr r0, [r6] - adds r0, r4 - movs r1, 0xA6 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - bl FreeSpriteTilesByTag - ldr r0, [r6] - adds r0, r4 - movs r1, 0xA7 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - bl FreeSpritePaletteByTag -_080C4A82: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x18 - bls _080C4A4C - ldr r4, _080C4AA4 @ =gUnknown_20399EC - ldr r0, [r4] - cmp r0, 0 - beq _080C4A9C - bl Free - movs r0, 0 - str r0, [r4] -_080C4A9C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C4AA4: .4byte gUnknown_20399EC -_080C4AA8: .4byte 0x000002de - thumb_func_end sub_80C4A04 - - thumb_func_start sub_80C4AAC -sub_80C4AAC: @ 80C4AAC - push {r4,lr} - lsls r0, 24 - ldr r1, _080C4B24 @ =gUnknown_20399F0 - lsrs r0, 22 - adds r4, r0, r1 - ldr r0, [r4] - cmp r0, 0 - bne _080C4B28 - movs r0, 0x14 - bl AllocZeroed - str r0, [r4] - movs r0, 0x50 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1] - movs r0, 0x54 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0x2] - movs r0, 0x52 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0x4] - movs r0, 0x48 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0x6] - movs r0, 0x4A - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0x8] - movs r0, 0x40 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0xA] - movs r0, 0x42 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0xC] - movs r0, 0x44 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0xE] - movs r0, 0x46 - bl GetGpuReg - ldr r1, [r4] - strh r0, [r1, 0x10] - movs r0, 0x1 - b _080C4B2A - .align 2, 0 -_080C4B24: .4byte gUnknown_20399F0 -_080C4B28: - movs r0, 0 -_080C4B2A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C4AAC - - thumb_func_start sub_80C4B30 -sub_80C4B30: @ 80C4B30 - push {r4,lr} - lsls r0, 24 - ldr r1, _080C4B44 @ =gUnknown_20399F0 - lsrs r0, 22 - adds r4, r0, r1 - ldr r0, [r4] - cmp r0, 0 - bne _080C4B48 - movs r0, 0 - b _080C4BB0 - .align 2, 0 -_080C4B44: .4byte gUnknown_20399F0 -_080C4B48: - ldrh r1, [r0] - movs r0, 0x50 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x2] - movs r0, 0x54 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x4] - movs r0, 0x52 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x6] - movs r0, 0x48 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x8] - movs r0, 0x4A - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0xA] - movs r0, 0x40 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0xC] - movs r0, 0x42 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0xE] - movs r0, 0x44 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x10] - movs r0, 0x46 - bl SetGpuReg - ldr r0, [r4] - cmp r0, 0 - beq _080C4BAE - bl Free - movs r0, 0 - str r0, [r4] -_080C4BAE: - movs r0, 0x1 -_080C4BB0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C4B30 - - thumb_func_start sub_80C4BB8 -sub_80C4BB8: @ 80C4BB8 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _080C4BE0 @ =gUnknown_20399F0 -_080C4BBE: - lsls r0, r5, 2 - adds r4, r0, r6 - ldr r0, [r4] - cmp r0, 0 - beq _080C4BD0 - bl Free - movs r0, 0 - str r0, [r4] -_080C4BD0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _080C4BBE - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C4BE0: .4byte gUnknown_20399F0 - thumb_func_end sub_80C4BB8 - - thumb_func_start sub_80C4BE4 -sub_80C4BE4: @ 80C4BE4 - push {lr} - sub sp, 0x8 - movs r0, 0 - movs r1, 0 - str r0, [sp] - str r1, [sp, 0x4] - movs r1, 0 - movs r2, 0 - bl sub_80C4C2C - movs r0, 0 - bl sub_80C4C48 - movs r0, 0 - mov r1, sp - bl sub_80C4CF0 - movs r0, 0x1 - mov r1, sp - bl sub_80C4CF0 - movs r0, 0 - movs r1, 0 - bl sub_80C4C74 - movs r0, 0 - movs r1, 0x1 - bl sub_80C4C9C - movs r0, 0x1 - movs r1, 0x1 - bl sub_80C4C9C - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_80C4BE4 - - thumb_func_start sub_80C4C2C -sub_80C4C2C: @ 80C4C2C - push {lr} - adds r3, r0, 0 - lsls r1, 16 - lsls r2, 16 - lsls r3, 24 - orrs r3, r1 - orrs r3, r2 - lsrs r3, 16 - movs r0, 0x50 - adds r1, r3, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_80C4C2C - - thumb_func_start sub_80C4C48 -sub_80C4C48: @ 80C4C48 - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x54 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_80C4C48 - - thumb_func_start sub_80C4C5C -sub_80C4C5C: @ 80C4C5C - push {lr} - adds r2, r0, 0 - lsls r1, 16 - lsls r2, 24 - orrs r2, r1 - lsrs r2, 16 - movs r0, 0x52 - adds r1, r2, 0 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_80C4C5C - - thumb_func_start sub_80C4C74 -sub_80C4C74: @ 80C4C74 - push {lr} - lsls r0, 16 - lsls r1, 24 - orrs r1, r0 - lsrs r1, 16 - movs r0, 0x48 - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_80C4C74 - - thumb_func_start sub_80C4C88 -sub_80C4C88: @ 80C4C88 - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4A - bl SetGpuReg - pop {r0} - bx r0 - thumb_func_end sub_80C4C88 - - thumb_func_start sub_80C4C9C -sub_80C4C9C: @ 80C4C9C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r1, _080C4CBC @ =gUnknown_83F1CA0 - mov r0, sp - movs r2, 0x4 - bl memcpy - cmp r4, 0 - beq _080C4CC0 - cmp r4, 0x1 - beq _080C4CDC - b _080C4CE8 - .align 2, 0 -_080C4CBC: .4byte gUnknown_83F1CA0 -_080C4CC0: - movs r0, 0 - bl GetGpuReg - adds r1, r0, 0 - lsls r0, r5, 1 - add r0, sp - ldrh r0, [r0] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl SetGpuReg - b _080C4CE8 -_080C4CDC: - lsls r0, r5, 1 - add r0, sp - ldrh r1, [r0] - movs r0, 0 - bl ClearGpuRegBits -_080C4CE8: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C4C9C - - thumb_func_start sub_80C4CF0 -sub_80C4CF0: @ 80C4CF0 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 24 - ldr r5, _080C4D2C @ =gUnknown_83F1CA4 - lsrs r4, 23 - adds r0, r4, r5 - ldrb r0, [r0] - ldrh r1, [r6, 0x2] - lsls r1, 8 - ldrh r2, [r6, 0x6] - orrs r1, r2 - lsls r1, 16 - lsrs r1, 16 - bl SetGpuReg - adds r5, 0x1 - adds r4, r5 - ldrb r0, [r4] - ldrh r1, [r6] - lsls r1, 8 - ldrh r2, [r6, 0x4] - orrs r1, r2 - lsls r1, 16 - lsrs r1, 16 - bl SetGpuReg - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C4D2C: .4byte gUnknown_83F1CA4 - thumb_func_end sub_80C4CF0 - - thumb_func_start sub_80C4D30 -sub_80C4D30: @ 80C4D30 - push {lr} - bl sub_80C4BB8 - bl sub_80C4BE4 - pop {r0} - bx r0 - thumb_func_end sub_80C4D30 - - thumb_func_start sub_80C4D40 -sub_80C4D40: @ 80C4D40 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _080C4D68 @ =gUnknown_20399D4 - ldr r0, [r0] - cmp r0, 0 - bne _080C4D70 - cmp r1, 0x5E - bne _080C4D70 - ldr r0, _080C4D6C @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - cmp r0, 0xA - bne _080C4D70 - ldrb r0, [r1, 0x5] - cmp r0, 0x6 - bhi _080C4D70 - movs r0, 0x1 - b _080C4D72 - .align 2, 0 -_080C4D68: .4byte gUnknown_20399D4 -_080C4D6C: .4byte gSaveBlock1Ptr -_080C4D70: - movs r0, 0 -_080C4D72: - pop {r1} - bx r1 - thumb_func_end sub_80C4D40 - - thumb_func_start GetMapName -GetMapName: @ 80C4D78 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - lsrs r0, r1, 16 - ldr r2, _080C4D9C @ =0xffa80000 - adds r1, r2 - lsrs r5, r1, 16 - cmp r5, 0x6C - bhi _080C4DBC - bl sub_80C4D40 - cmp r0, 0x1 - bne _080C4DA4 - ldr r1, _080C4DA0 @ =gMapSecName_CeladonDept - b _080C4DAC - .align 2, 0 -_080C4D9C: .4byte 0xffa80000 -_080C4DA0: .4byte gMapSecName_CeladonDept -_080C4DA4: - ldr r0, _080C4DB8 @ =gUnknown_83F1CAC - lsls r1, r5, 2 - adds r1, r0 - ldr r1, [r1] -_080C4DAC: - adds r0, r6, 0 - bl StringCopy - adds r1, r0, 0 - b _080C4DCE - .align 2, 0 -_080C4DB8: .4byte gUnknown_83F1CAC -_080C4DBC: - cmp r4, 0 - bne _080C4DC2 - movs r4, 0x12 -_080C4DC2: - adds r0, r6, 0 - movs r1, 0 - adds r2, r4, 0 - bl StringFill - b _080C4DF2 -_080C4DCE: - cmp r4, 0 - beq _080C4DF0 - subs r0, r1, r6 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - bcs _080C4DEC - movs r2, 0 -_080C4DDE: - strb r2, [r1] - adds r1, 0x1 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - bcc _080C4DDE -_080C4DEC: - movs r0, 0xFF - strb r0, [r1] -_080C4DF0: - adds r0, r1, 0 -_080C4DF2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetMapName - - thumb_func_start GetMapNameGeneric -GetMapNameGeneric: @ 80C4DF8 - push {lr} - lsls r1, 16 - lsrs r1, 16 - movs r2, 0 - bl GetMapName - pop {r1} - bx r1 - thumb_func_end GetMapNameGeneric - - thumb_func_start sub_80C4E08 -sub_80C4E08: @ 80C4E08 - push {lr} - lsls r1, 16 - lsrs r1, 16 - bl GetMapNameGeneric - pop {r1} - bx r1 - thumb_func_end sub_80C4E08 - - thumb_func_start sub_80C4E18 -sub_80C4E18: @ 80C4E18 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r0, _080C4E38 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C4E3C @ =0x00004799 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080C4E40 - movs r0, 0x3 - movs r1, 0 - bl FillWindowPixelBuffer - b _080C4E48 - .align 2, 0 -_080C4E38: .4byte gUnknown_20399D4 -_080C4E3C: .4byte 0x00004799 -_080C4E40: - movs r0, 0x3 - movs r1, 0xFF - bl FillWindowPixelBuffer -_080C4E48: - ldr r0, _080C4E70 @ =gUnknown_83F1CA8 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl AddTextPrinterParameterized3 - movs r0, 0x3 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C4E70: .4byte gUnknown_83F1CA8 - thumb_func_end sub_80C4E18 - - thumb_func_start sub_80C4E74 -sub_80C4E74: @ 80C4E74 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r0, _080C4E94 @ =gUnknown_20399D4 - ldr r0, [r0] - ldr r1, _080C4E98 @ =0x00004799 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080C4E9C - movs r0, 0x4 - movs r1, 0 - bl FillWindowPixelBuffer - b _080C4EA4 - .align 2, 0 -_080C4E94: .4byte gUnknown_20399D4 -_080C4E98: .4byte 0x00004799 -_080C4E9C: - movs r0, 0x4 - movs r1, 0xFF - bl FillWindowPixelBuffer -_080C4EA4: - ldr r0, _080C4ECC @ =gUnknown_83F1CA8 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x4 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl AddTextPrinterParameterized3 - movs r0, 0x4 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C4ECC: .4byte gUnknown_83F1CA8 - thumb_func_end sub_80C4E74 - - thumb_func_start sub_80C4ED0 -sub_80C4ED0: @ 80C4ED0 - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _080C4EE6 - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - b _080C4EF2 -_080C4EE6: - movs r0, 0x3 - bl ClearWindowTilemap - movs r0, 0x4 - bl ClearWindowTilemap -_080C4EF2: - pop {r0} - bx r0 - thumb_func_end sub_80C4ED0 - - thumb_func_start MCB2_FlyMap -MCB2_FlyMap: @ 80C4EF8 - push {lr} - bl sub_80C51E8 - movs r0, 0x2 - bl sub_80BFEDC - pop {r0} - bx r0 - thumb_func_end MCB2_FlyMap - - thumb_func_start sub_80C4F08 -sub_80C4F08: @ 80C4F08 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080C4F28 @ =gUnknown_20399FC - ldr r2, [r0] - ldrb r0, [r2] - cmp r0, 0x6 - bls _080C4F1C - b _080C51B8 -_080C4F1C: - lsls r0, 2 - ldr r1, _080C4F2C @ =_080C4F30 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C4F28: .4byte gUnknown_20399FC -_080C4F2C: .4byte _080C4F30 - .align 2, 0 -_080C4F30: - .4byte _080C4F4C - .4byte _080C4F92 - .4byte _080C4FEC - .4byte _080C5000 - .4byte _080C5028 - .4byte _080C5180 - .4byte _080C5196 -_080C4F4C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - bl sub_80C0E20 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80C07E4 - adds r2, r0, 0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80C4398 - movs r0, 0 - movs r1, 0 - bl sub_80C3008 - movs r0, 0x1 - movs r1, 0x1 - bl sub_80C41D8 - movs r0, 0 - bl sub_80C3154 - movs r0, 0 - bl sub_80C4324 - b _080C51A6 -_080C4F92: - movs r0, 0x2 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C4FAE - bl sub_80C07E4 - adds r1, r0, 0 - adds r0, r5, 0 - bl sub_80C2208 - b _080C51A6 -_080C4FAE: - movs r0, 0 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0x1 - bl ShowBg - ldr r0, _080C4FE8 @ =gUnknown_8418EB5 - bl sub_80C4E18 - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0 - bl sub_80C48BC - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x19 - movs r2, 0 - bl sub_80C4960 - b _080C51A6 - .align 2, 0 -_080C4FE8: .4byte gUnknown_8418EB5 -_080C4FEC: - ldr r0, _080C4FFC @ =gUnknown_8418EB0 - bl sub_80C4E74 - movs r0, 0 - bl sub_80C4ED0 - b _080C51A6 - .align 2, 0 -_080C4FFC: .4byte gUnknown_8418EB0 -_080C5000: - ldr r0, _080C5024 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080C500E - b _080C51DC -_080C500E: - bl sub_80C0B18 - movs r0, 0 - bl PutWindowTilemap - bl sub_80C0BB0 - movs r0, 0x1 - bl PutWindowTilemap - b _080C51A6 - .align 2, 0 -_080C5024: .4byte gPaletteFade -_080C5028: - bl sub_80C3400 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x5 - bls _080C5038 - b _080C51DC -_080C5038: - lsls r0, 2 - ldr r1, _080C5044 @ =_080C5048 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C5044: .4byte _080C5048 - .align 2, 0 -_080C5048: - .4byte _080C51DC - .4byte _080C51DC - .4byte _080C5070 - .4byte _080C50F8 - .4byte _080C5168 - .4byte _080C5060 -_080C5060: - ldr r0, _080C506C @ =gUnknown_20399FC - ldr r1, [r0] - movs r0, 0x6 - strb r0, [r1] - b _080C51DC - .align 2, 0 -_080C506C: .4byte gUnknown_20399FC -_080C5070: - movs r0, 0 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080C5086 - movs r0, 0x66 - bl PlaySE - b _080C508A -_080C5086: - bl sub_80C0450 -_080C508A: - bl sub_80C3178 - bl sub_80C0B18 - bl sub_80C0BB0 - bl sub_80C0B9C - bl sub_80C3508 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x15 - bne _080C50C4 - bl sub_80C3514 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xD - bne _080C50C4 - movs r0, 0xE1 - bl PlaySE - ldr r0, _080C50C0 @ =gUnknown_8418E95 - bl sub_80C4E74 - b _080C51DC - .align 2, 0 -_080C50C0: .4byte gUnknown_8418E95 -_080C50C4: - movs r0, 0 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080C50E0 - movs r0, 0 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _080C50EC -_080C50E0: - ldr r0, _080C50E8 @ =gUnknown_8418EB0 - bl sub_80C4E74 - b _080C51DC - .align 2, 0 -_080C50E8: .4byte gUnknown_8418EB0 -_080C50EC: - ldr r0, _080C50F4 @ =gUnknown_8418E8B - bl sub_80C4E74 - b _080C51DC - .align 2, 0 -_080C50F4: .4byte gUnknown_8418E8B -_080C50F8: - movs r0, 0 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080C5114 - movs r0, 0 - bl sub_80C3AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bne _080C51DC -_080C5114: - movs r0, 0x3 - bl sub_80C0E04 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bne _080C51DC - ldr r0, _080C514C @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - bl get_map_light_level_by_bank_and_number - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - beq _080C5140 - cmp r0, 0x8 - bne _080C5154 -_080C5140: - ldr r2, _080C5150 @ =gUnknown_20399FC - ldr r1, [r2] - movs r0, 0 - strb r0, [r1, 0x2] - ldr r1, [r2] - b _080C51AA - .align 2, 0 -_080C514C: .4byte gSaveBlock1Ptr -_080C5150: .4byte gUnknown_20399FC -_080C5154: - movs r0, 0x1 - bl PlaySE - ldr r1, _080C5164 @ =gUnknown_20399FC - ldr r0, [r1] - strb r4, [r0, 0x2] - ldr r1, [r1] - b _080C51AA - .align 2, 0 -_080C5164: .4byte gUnknown_20399FC -_080C5168: - bl sub_80C0E20 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C517C @ =sub_80C07F8 - adds r1, r5, 0 - bl sub_80C0E70 - b _080C51DC - .align 2, 0 -_080C517C: .4byte sub_80C07F8 -_080C5180: - movs r0, 0x2 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C51A6 - adds r0, r5, 0 - bl sub_80C2C1C - b _080C51A6 -_080C5196: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_080C51A6: - ldr r0, _080C51B4 @ =gUnknown_20399FC - ldr r1, [r0] -_080C51AA: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080C51DC - .align 2, 0 -_080C51B4: .4byte gUnknown_20399FC -_080C51B8: - ldr r0, _080C51E4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C51DC - ldrb r0, [r2, 0x2] - cmp r0, 0x1 - bne _080C51D6 - bl sub_80C3520 - lsls r0, 16 - lsrs r0, 16 - bl sub_80C527C -_080C51D6: - adds r0, r5, 0 - bl sub_80C5208 -_080C51DC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C51E4: .4byte gPaletteFade - thumb_func_end sub_80C4F08 - - thumb_func_start sub_80C51E8 -sub_80C51E8: @ 80C51E8 - push {r4,lr} - ldr r4, _080C5204 @ =gUnknown_20399FC - movs r0, 0x4 - bl AllocZeroed - str r0, [r4] - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - strb r1, [r0, 0x1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C5204: .4byte gUnknown_20399FC - thumb_func_end sub_80C51E8 - - thumb_func_start sub_80C5208 -sub_80C5208: @ 80C5208 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x2 - bl sub_80C0E04 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C5220 - bl sub_80C25BC -_080C5220: - bl sub_80C4A04 - bl sub_80C3188 - bl sub_80C4348 - bl sub_80C4D30 - bl sub_80C0898 - adds r0, r4, 0 - bl DestroyTask - bl FreeAllWindowBuffers - ldr r0, _080C5250 @ =gUnknown_20399FC - ldr r0, [r0] - ldrb r0, [r0, 0x2] - cmp r0, 0x1 - bne _080C5258 - ldr r0, _080C5254 @ =CB2_ReturnToField - bl SetMainCallback2 - b _080C525E - .align 2, 0 -_080C5250: .4byte gUnknown_20399FC -_080C5254: .4byte CB2_ReturnToField -_080C5258: - ldr r0, _080C5274 @ =CB2_ReturnToPartyMenuFromFlyMap - bl SetMainCallback2 -_080C525E: - ldr r4, _080C5278 @ =gUnknown_20399FC - ldr r0, [r4] - cmp r0, 0 - beq _080C526E - bl Free - movs r0, 0 - str r0, [r4] -_080C526E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C5274: .4byte CB2_ReturnToPartyMenuFromFlyMap -_080C5278: .4byte gUnknown_20399FC - thumb_func_end sub_80C5208 - - thumb_func_start sub_80C527C -sub_80C527C: @ 80C527C - push {r4,r5,lr} - lsls r0, 16 - ldr r1, _080C52A4 @ =0xffa80000 - adds r0, r1 - lsrs r0, 16 - ldr r5, _080C52A8 @ =gUnknown_83F2EE0 - lsls r1, r0, 1 - adds r4, r1, r0 - adds r0, r5, 0x2 - adds r1, r4, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _080C52AC - bl sub_805546C - adds r0, r4, r5 - bl sub_8124C1C - b _080C52C6 - .align 2, 0 -_080C52A4: .4byte 0xffa80000 -_080C52A8: .4byte gUnknown_83F2EE0 -_080C52AC: - adds r0, r4, r5 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r1, r5, 0x1 - adds r1, r4, r1 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - movs r2, 0x1 - negs r2, r2 - bl warp1_set_2 -_080C52C6: - bl sub_80842C8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C527C - - thumb_func_start sub_80C52D0 -sub_80C52D0: @ 80C52D0 - push {lr} - ldr r2, _080C5318 @ =gUnknown_3005334 - ldr r1, [r0, 0x4] - str r1, [r2] - ldr r2, _080C531C @ =gUnknown_3005348 - ldrb r1, [r0, 0x1F] - strb r1, [r2] - ldr r2, _080C5320 @ =gUnknown_3005330 - ldrb r1, [r0, 0x19] - strb r1, [r2] - ldr r2, _080C5324 @ =gUnknown_3005344 - ldrb r1, [r0, 0x1A] - strb r1, [r2] - ldr r2, _080C5328 @ =gUnknown_3005340 - ldrb r1, [r0, 0x1B] - strb r1, [r2] - ldr r2, _080C532C @ =gUnknown_3005338 - ldrb r1, [r0, 0x1C] - strb r1, [r2] - ldr r2, _080C5330 @ =gUnknown_300534C - ldrb r1, [r0, 0x1D] - strb r1, [r2] - ldr r2, _080C5334 @ =gUnknown_300533C - ldrb r1, [r0, 0x1E] - strb r1, [r2] - ldrb r0, [r0] - subs r0, 0x2 - cmp r0, 0x22 - bls _080C530C - b _080C5458 -_080C530C: - lsls r0, 2 - ldr r1, _080C5338 @ =_080C533C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C5318: .4byte gUnknown_3005334 -_080C531C: .4byte gUnknown_3005348 -_080C5320: .4byte gUnknown_3005330 -_080C5324: .4byte gUnknown_3005344 -_080C5328: .4byte gUnknown_3005340 -_080C532C: .4byte gUnknown_3005338 -_080C5330: .4byte gUnknown_300534C -_080C5334: .4byte gUnknown_300533C -_080C5338: .4byte _080C533C - .align 2, 0 -_080C533C: - .4byte _080C53C8 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5428 - .4byte _080C5458 - .4byte _080C53CE - .4byte _080C53D4 - .4byte _080C53E8 - .4byte _080C53FA - .4byte _080C5458 - .4byte _080C5410 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5416 - .4byte _080C53F4 - .4byte _080C541C - .4byte _080C5422 - .4byte _080C5458 - .4byte _080C5458 - .4byte _080C5434 -_080C53C8: - bl sub_80C55D4 - b _080C5458 -_080C53CE: - bl sub_80C568C - b _080C5458 -_080C53D4: - bl sub_80C5884 - ldr r0, _080C53E4 @ =gUnknown_3005348 - ldrb r0, [r0] - bl sub_80C5748 - b _080C5458 - .align 2, 0 -_080C53E4: .4byte gUnknown_3005348 -_080C53E8: - bl sub_80C5884 - bl sub_80C59D4 - bl sub_80C57EC -_080C53F4: - bl sub_80C59D4 - b _080C5458 -_080C53FA: - bl sub_80C5884 - bl sub_80C5B9C - bl sub_80C5B9C - bl sub_80C5C44 - bl sub_80C57EC - b _080C5458 -_080C5410: - bl sub_80C5A6C - b _080C5458 -_080C5416: - bl sub_80C5884 - b _080C5458 -_080C541C: - bl sub_80C5B9C - b _080C5458 -_080C5422: - bl sub_80C5C44 - b _080C5458 -_080C5428: - bl sub_80C55F4 - movs r0, 0x3 - bl sub_80C545C - b _080C5458 -_080C5434: - bl sub_80C5884 - bl sub_80C5B9C - bl sub_80C5C44 - bl sub_80C57EC - bl sub_80C568C - bl sub_80C568C - movs r0, 0x2 - bl sub_80C545C - movs r0, 0x4 - bl sub_80C5514 -_080C5458: - pop {r0} - bx r0 - thumb_func_end sub_80C52D0 - - thumb_func_start sub_80C545C -sub_80C545C: @ 80C545C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - movs r2, 0 - ldr r0, _080C54FC @ =gUnknown_3005338 - mov r8, r0 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C54EE - ldr r1, _080C5500 @ =gUnknown_3005340 - mov r12, r1 - ldr r3, _080C5504 @ =gUnknown_300534C - mov r10, r3 - ldr r0, _080C5508 @ =gUnknown_3005330 - mov r9, r0 -_080C5482: - ldr r1, _080C550C @ =gUnknown_3005344 - ldrb r0, [r1] - adds r0, r2 - mov r3, r10 - ldrb r1, [r3] - muls r0, r1 - lsls r0, 1 - ldr r3, _080C5510 @ =gUnknown_3005334 - ldr r1, [r3] - adds r1, r0 - mov r3, r9 - ldrb r0, [r3] - lsls r0, 1 - adds r3, r1, r0 - movs r4, 0 - adds r5, r2, 0x1 - mov r0, r12 - ldrb r0, [r0] - cmp r4, r0 - bcs _080C54E2 - movs r6, 0x80 - lsls r6, 8 -_080C54AE: - ldrh r1, [r3] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _080C54D2 - movs r0, 0x1F - ands r0, r1 - adds r0, r7 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1F - bls _080C54C8 - movs r2, 0x1F -_080C54C8: - lsls r0, r2, 10 - lsls r1, r2, 5 - orrs r0, r1 - orrs r0, r2 - strh r0, [r3] -_080C54D2: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r3, 0x2 - mov r1, r12 - ldrb r1, [r1] - cmp r4, r1 - bcc _080C54AE -_080C54E2: - lsls r0, r5, 24 - lsrs r2, r0, 24 - mov r3, r8 - ldrb r3, [r3] - cmp r2, r3 - bcc _080C5482 -_080C54EE: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C54FC: .4byte gUnknown_3005338 -_080C5500: .4byte gUnknown_3005340 -_080C5504: .4byte gUnknown_300534C -_080C5508: .4byte gUnknown_3005330 -_080C550C: .4byte gUnknown_3005344 -_080C5510: .4byte gUnknown_3005334 - thumb_func_end sub_80C545C - - thumb_func_start sub_80C5514 -sub_80C5514: @ 80C5514 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r2, 0 - ldr r0, _080C55BC @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C55AC - ldr r1, _080C55C0 @ =gUnknown_3005340 - mov r10, r1 -_080C5532: - ldr r3, _080C55C4 @ =gUnknown_3005344 - ldrb r0, [r3] - adds r0, r2 - ldr r3, _080C55C8 @ =gUnknown_300534C - ldrb r1, [r3] - muls r0, r1 - lsls r0, 1 - ldr r3, _080C55CC @ =gUnknown_3005334 - ldr r1, [r3] - adds r1, r0 - ldr r3, _080C55D0 @ =gUnknown_3005330 - ldrb r0, [r3] - lsls r0, 1 - adds r3, r1, r0 - movs r5, 0 - adds r7, r2, 0x1 - mov r0, r10 - ldrb r0, [r0] - cmp r5, r0 - bcs _080C55A0 - movs r1, 0x80 - lsls r1, 8 - mov r9, r1 - movs r0, 0x1F - mov r12, r0 - mov r1, r8 - subs r6, r0, r1 -_080C5568: - ldrh r1, [r3] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - bne _080C5590 - movs r4, 0x1F - mov r2, r12 - ands r2, r1 - cmp r2, r6 - ble _080C5586 - mov r1, r8 - lsrs r0, r1, 1 - subs r0, r4, r0 - lsls r0, 24 - lsrs r2, r0, 24 -_080C5586: - lsls r0, r2, 10 - lsls r1, r2, 5 - orrs r0, r1 - orrs r0, r2 - strh r0, [r3] -_080C5590: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r3, 0x2 - mov r0, r10 - ldrb r0, [r0] - cmp r5, r0 - bcc _080C5568 -_080C55A0: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r1, _080C55BC @ =gUnknown_3005338 - ldrb r1, [r1] - cmp r2, r1 - bcc _080C5532 -_080C55AC: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C55BC: .4byte gUnknown_3005338 -_080C55C0: .4byte gUnknown_3005340 -_080C55C4: .4byte gUnknown_3005344 -_080C55C8: .4byte gUnknown_300534C -_080C55CC: .4byte gUnknown_3005334 -_080C55D0: .4byte gUnknown_3005330 - thumb_func_end sub_80C5514 - - thumb_func_start sub_80C55D4 -sub_80C55D4: @ 80C55D4 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _080C55F0 @ =0x00000c7f -_080C55DA: - lsls r0, r4, 16 - lsrs r0, 16 - bl sub_80C5CF8 - adds r4, 0x1 - cmp r4, r5 - bls _080C55DA - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C55F0: .4byte 0x00000c7f - thumb_func_end sub_80C55D4 - - thumb_func_start sub_80C55F4 -sub_80C55F4: @ 80C55F4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080C5674 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C5666 - ldr r0, _080C5678 @ =gUnknown_3005334 - mov r8, r0 - ldr r3, _080C567C @ =gUnknown_3005340 -_080C560C: - ldr r0, _080C5680 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C5684 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, _080C5688 @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _080C565A - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_080C5638: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _080C564C - adds r0, r4, 0 - str r3, [sp] - bl sub_80C5ECC - strh r0, [r4] - ldr r3, [sp] -_080C564C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _080C5638 -_080C565A: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080C5674 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C560C -_080C5666: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C5674: .4byte gUnknown_3005338 -_080C5678: .4byte gUnknown_3005334 -_080C567C: .4byte gUnknown_3005340 -_080C5680: .4byte gUnknown_3005344 -_080C5684: .4byte gUnknown_300534C -_080C5688: .4byte gUnknown_3005330 - thumb_func_end sub_80C55F4 - - thumb_func_start sub_80C568C -sub_80C568C: @ 80C568C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r2, 0 - ldr r0, _080C5730 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C5722 - ldr r0, _080C5734 @ =gUnknown_3005334 - mov r8, r0 - ldr r3, _080C5738 @ =gUnknown_300534C -_080C56A4: - ldr r0, _080C573C @ =gUnknown_3005344 - ldrb r1, [r0] - ldrb r0, [r3] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, _080C5740 @ =gUnknown_3005330 - ldrb r0, [r0] - adds r0, r2 - lsls r0, 1 - adds r4, r1, r0 - ldrh r1, [r4] - mov r0, sp - strh r1, [r0] - movs r5, 0x1 - ldrb r0, [r3] - lsls r0, 1 - adds r4, r0 - ldr r0, _080C5744 @ =gUnknown_3005338 - ldrb r0, [r0] - subs r0, 0x1 - adds r7, r2, 0x1 - cmp r5, r0 - bge _080C5716 - ldr r6, _080C5738 @ =gUnknown_300534C -_080C56DA: - ldrh r0, [r4] - movs r2, 0x80 - lsls r2, 8 - adds r1, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _080C5700 - ldrb r2, [r6] - lsls r2, 1 - adds r2, r4, r2 - mov r0, sp - adds r1, r4, 0 - str r3, [sp, 0x4] - bl sub_80C61BC - strh r0, [r4] - mov r1, sp - strh r0, [r1] - ldr r3, [sp, 0x4] -_080C5700: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r6] - lsls r0, 1 - adds r4, r0 - ldr r0, _080C5744 @ =gUnknown_3005338 - ldrb r0, [r0] - subs r0, 0x1 - cmp r5, r0 - blt _080C56DA -_080C5716: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, _080C5730 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C56A4 -_080C5722: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C5730: .4byte gUnknown_3005340 -_080C5734: .4byte gUnknown_3005334 -_080C5738: .4byte gUnknown_300534C -_080C573C: .4byte gUnknown_3005344 -_080C5740: .4byte gUnknown_3005330 -_080C5744: .4byte gUnknown_3005338 - thumb_func_end sub_80C568C - - thumb_func_start sub_80C5748 -sub_80C5748: @ 80C5748 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r2, 0 - ldr r0, _080C57D4 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C57C4 - ldr r0, _080C57D8 @ =gUnknown_3005334 - mov r9, r0 - ldr r3, _080C57DC @ =gUnknown_3005340 -_080C5768: - ldr r0, _080C57E0 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C57E4 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r9 - ldr r1, [r4] - adds r1, r0 - ldr r0, _080C57E8 @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _080C57B8 - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_080C5794: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _080C57AA - adds r0, r4, 0 - mov r1, r8 - str r3, [sp] - bl sub_80C5F00 - strh r0, [r4] - ldr r3, [sp] -_080C57AA: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _080C5794 -_080C57B8: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080C57D4 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C5768 -_080C57C4: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C57D4: .4byte gUnknown_3005338 -_080C57D8: .4byte gUnknown_3005334 -_080C57DC: .4byte gUnknown_3005340 -_080C57E0: .4byte gUnknown_3005344 -_080C57E4: .4byte gUnknown_300534C -_080C57E8: .4byte gUnknown_3005330 - thumb_func_end sub_80C5748 - - thumb_func_start sub_80C57EC -sub_80C57EC: @ 80C57EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080C586C @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C585E - ldr r0, _080C5870 @ =gUnknown_3005334 - mov r8, r0 - ldr r3, _080C5874 @ =gUnknown_3005340 -_080C5804: - ldr r0, _080C5878 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C587C @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, _080C5880 @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _080C5852 - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_080C5830: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _080C5844 - adds r0, r4, 0 - str r3, [sp] - bl sub_80C600C - strh r0, [r4] - ldr r3, [sp] -_080C5844: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _080C5830 -_080C5852: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080C586C @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C5804 -_080C585E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C586C: .4byte gUnknown_3005338 -_080C5870: .4byte gUnknown_3005334 -_080C5874: .4byte gUnknown_3005340 -_080C5878: .4byte gUnknown_3005344 -_080C587C: .4byte gUnknown_300534C -_080C5880: .4byte gUnknown_3005330 - thumb_func_end sub_80C57EC - - thumb_func_start sub_80C5884 -sub_80C5884: @ 80C5884 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r7, 0 - ldr r0, _080C59BC @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r7, r0 - bcs _080C5910 - ldr r0, _080C59C0 @ =gUnknown_3005334 - mov r8, r0 -_080C589A: - ldr r0, _080C59C4 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r7 - ldr r0, _080C59C8 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r2, r8 - ldr r1, [r2] - adds r1, r0 - ldr r0, _080C59CC @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r5, r1, r0 - adds r4, r5, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80C603C - strh r0, [r5] - movs r6, 0x1 - adds r5, r4, 0 - ldr r0, _080C59D0 @ =gUnknown_3005340 - ldrb r0, [r0] - subs r0, 0x1 - adds r7, 0x1 - cmp r6, r0 - bge _080C58FA -_080C58D2: - adds r4, r5, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80C603C - strh r0, [r5] - subs r1, r5, 0x2 - adds r0, r5, 0 - bl sub_80C603C - strh r0, [r5] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r5, r4, 0 - ldr r0, _080C59D0 @ =gUnknown_3005340 - ldrb r0, [r0] - subs r0, 0x1 - cmp r6, r0 - blt _080C58D2 -_080C58FA: - subs r1, r5, 0x2 - adds r0, r5, 0 - bl sub_80C603C - strh r0, [r5] - lsls r0, r7, 24 - lsrs r7, r0, 24 - ldr r0, _080C59BC @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r7, r0 - bcc _080C589A -_080C5910: - movs r6, 0 - ldr r0, _080C59D0 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r6, r0 - bcs _080C59B0 - ldr r3, _080C59C0 @ =gUnknown_3005334 - mov r9, r3 - ldr r0, _080C59C8 @ =gUnknown_300534C - mov r8, r0 -_080C5922: - ldr r0, _080C59C4 @ =gUnknown_3005344 - ldrb r0, [r0] - mov r2, r8 - ldrb r1, [r2] - muls r0, r1 - lsls r0, 1 - mov r3, r9 - ldr r2, [r3] - adds r2, r0 - ldr r0, _080C59CC @ =gUnknown_3005330 - ldrb r0, [r0] - adds r0, r6 - lsls r0, 1 - adds r5, r2, r0 - lsls r1, 1 - adds r1, r5, r1 - adds r0, r5, 0 - bl sub_80C603C - strh r0, [r5] - movs r7, 0x1 - mov r1, r8 - ldrb r0, [r1] - lsls r0, 1 - adds r5, r0 - ldr r0, _080C59BC @ =gUnknown_3005338 - ldrb r0, [r0] - subs r0, 0x1 - adds r6, 0x1 - cmp r7, r0 - bge _080C5994 - ldr r4, _080C59C8 @ =gUnknown_300534C -_080C5962: - ldrb r1, [r4] - lsls r1, 1 - adds r1, r5, r1 - adds r0, r5, 0 - bl sub_80C603C - strh r0, [r5] - ldrb r1, [r4] - lsls r1, 1 - subs r1, r5, r1 - adds r0, r5, 0 - bl sub_80C603C - strh r0, [r5] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r4] - lsls r0, 1 - adds r5, r0 - ldr r0, _080C59BC @ =gUnknown_3005338 - ldrb r0, [r0] - subs r0, 0x1 - cmp r7, r0 - blt _080C5962 -_080C5994: - mov r2, r8 - ldrb r1, [r2] - lsls r1, 1 - subs r1, r5, r1 - adds r0, r5, 0 - bl sub_80C603C - strh r0, [r5] - lsls r0, r6, 24 - lsrs r6, r0, 24 - ldr r0, _080C59D0 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r6, r0 - bcc _080C5922 -_080C59B0: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C59BC: .4byte gUnknown_3005338 -_080C59C0: .4byte gUnknown_3005334 -_080C59C4: .4byte gUnknown_3005344 -_080C59C8: .4byte gUnknown_300534C -_080C59CC: .4byte gUnknown_3005330 -_080C59D0: .4byte gUnknown_3005340 - thumb_func_end sub_80C5884 - - thumb_func_start sub_80C59D4 -sub_80C59D4: @ 80C59D4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080C5A54 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C5A46 - ldr r0, _080C5A58 @ =gUnknown_3005334 - mov r8, r0 - ldr r3, _080C5A5C @ =gUnknown_3005340 -_080C59EC: - ldr r0, _080C5A60 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C5A64 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, _080C5A68 @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _080C5A3A - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_080C5A18: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _080C5A2C - adds r0, r4, 0 - str r3, [sp] - bl sub_80C606C - strh r0, [r4] - ldr r3, [sp] -_080C5A2C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _080C5A18 -_080C5A3A: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080C5A54 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C59EC -_080C5A46: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C5A54: .4byte gUnknown_3005338 -_080C5A58: .4byte gUnknown_3005334 -_080C5A5C: .4byte gUnknown_3005340 -_080C5A60: .4byte gUnknown_3005344 -_080C5A64: .4byte gUnknown_300534C -_080C5A68: .4byte gUnknown_3005330 - thumb_func_end sub_80C59D4 - - thumb_func_start sub_80C5A6C -sub_80C5A6C: @ 80C5A6C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, _080C5B98 @ =gUnknown_3005334 - ldr r4, [r0] - movs r6, 0 - movs r0, 0x80 - lsls r0, 8 - adds r5, r0, 0 -_080C5A84: - movs r7, 0 -_080C5A86: - ldrh r0, [r4] - ands r0, r5 - cmp r0, 0 - bne _080C5A96 - adds r0, r4, 0 - bl sub_80C606C - strh r0, [r4] -_080C5A96: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r4, 0x2 - cmp r7, 0x3F - bls _080C5A86 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3F - bls _080C5A84 - movs r7, 0 - ldr r1, _080C5B98 @ =gUnknown_3005334 - mov r10, r1 - mov r3, sp - movs r2, 0x80 - lsls r2, 8 - mov r9, r2 -_080C5ABA: - lsls r0, r7, 1 - mov r2, r10 - ldr r1, [r2] - adds r4, r1, r0 - ldrh r1, [r4] - strh r1, [r3] - mov r1, r9 - strh r1, [r4] - movs r6, 0x1 - adds r4, 0x80 - adds r5, r0, 0 -_080C5AD0: - ldrh r0, [r4] - movs r2, 0x80 - lsls r2, 8 - ands r0, r2 - cmp r0, 0 - bne _080C5AF0 - adds r2, r4, 0 - adds r2, 0x80 - mov r0, sp - adds r1, r4, 0 - str r3, [sp, 0x4] - bl sub_80C62DC - strh r0, [r4] - ldr r3, [sp, 0x4] - strh r0, [r3] -_080C5AF0: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, 0x80 - cmp r6, 0x3E - bls _080C5AD0 - mov r0, r9 - strh r0, [r4] - mov r1, r10 - ldr r0, [r1] - adds r4, r0, r5 - ldrh r0, [r4] - strh r0, [r3] - mov r2, r9 - strh r2, [r4] - movs r6, 0x1 - adds r4, 0x80 - movs r0, 0x80 - lsls r0, 8 - mov r8, r0 -_080C5B18: - ldrh r0, [r4] - mov r1, r8 - ands r0, r1 - adds r5, r4, 0 - adds r5, 0x80 - cmp r0, 0 - bne _080C5B38 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - str r3, [sp, 0x4] - bl sub_80C62DC - strh r0, [r4] - ldr r3, [sp, 0x4] - strh r0, [r3] -_080C5B38: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, r5, 0 - cmp r6, 0x3E - bls _080C5B18 - mov r2, r9 - strh r2, [r4] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3F - bls _080C5ABA - ldr r0, _080C5B98 @ =gUnknown_3005334 - ldr r4, [r0] - movs r6, 0 - movs r0, 0x80 - lsls r0, 8 - mov r8, r0 -_080C5B5E: - movs r7, 0 - adds r5, r6, 0x1 -_080C5B62: - ldrh r0, [r4] - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _080C5B74 - adds r0, r4, 0 - bl sub_80C606C - strh r0, [r4] -_080C5B74: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r4, 0x2 - cmp r7, 0x3F - bls _080C5B62 - lsls r0, r5, 24 - lsrs r6, r0, 24 - cmp r6, 0x3F - bls _080C5B5E - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C5B98: .4byte gUnknown_3005334 - thumb_func_end sub_80C5A6C - - thumb_func_start sub_80C5B9C -sub_80C5B9C: @ 80C5B9C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080C5C2C @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C5C1E - ldr r0, _080C5C30 @ =gUnknown_3005334 - mov r8, r0 -_080C5BB2: - ldr r0, _080C5C34 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C5C38 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, _080C5C3C @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - ldrh r1, [r4] - mov r0, sp - strh r1, [r0] - movs r5, 0x1 - adds r4, 0x2 - ldr r0, _080C5C40 @ =gUnknown_3005340 - ldrb r0, [r0] - subs r0, 0x1 - adds r6, r2, 0x1 - cmp r5, r0 - bge _080C5C12 - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_080C5BEA: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _080C5C00 - mov r0, sp - adds r1, r4, 0 - bl sub_80C6098 - strh r0, [r4] - mov r1, sp - strh r0, [r1] -_080C5C00: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldr r0, _080C5C40 @ =gUnknown_3005340 - ldrb r0, [r0] - subs r0, 0x1 - cmp r5, r0 - blt _080C5BEA -_080C5C12: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080C5C2C @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C5BB2 -_080C5C1E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C5C2C: .4byte gUnknown_3005338 -_080C5C30: .4byte gUnknown_3005334 -_080C5C34: .4byte gUnknown_3005344 -_080C5C38: .4byte gUnknown_300534C -_080C5C3C: .4byte gUnknown_3005330 -_080C5C40: .4byte gUnknown_3005340 - thumb_func_end sub_80C5B9C - - thumb_func_start sub_80C5C44 -sub_80C5C44: @ 80C5C44 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r2, 0 - ldr r0, _080C5CE0 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C5CD2 - ldr r0, _080C5CE4 @ =gUnknown_3005334 - mov r8, r0 - ldr r7, _080C5CE8 @ =gUnknown_300534C -_080C5C5C: - ldr r0, _080C5CEC @ =gUnknown_3005344 - ldrb r1, [r0] - ldrb r0, [r7] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, _080C5CF0 @ =gUnknown_3005330 - ldrb r0, [r0] - adds r0, r2 - lsls r0, 1 - adds r4, r1, r0 - ldrh r1, [r4] - mov r0, sp - strh r1, [r0] - movs r5, 0x1 - ldrb r0, [r7] - lsls r0, 1 - adds r4, r0 - ldr r0, _080C5CF4 @ =gUnknown_3005338 - ldrb r0, [r0] - subs r0, 0x1 - adds r6, r2, 0x1 - cmp r5, r0 - bge _080C5CC6 - movs r0, 0x80 - lsls r0, 8 - adds r2, r0, 0 -_080C5C96: - ldrh r0, [r4] - ands r0, r2 - cmp r0, 0 - bne _080C5CB0 - mov r0, sp - adds r1, r4, 0 - str r2, [sp, 0x4] - bl sub_80C6098 - strh r0, [r4] - mov r1, sp - strh r0, [r1] - ldr r2, [sp, 0x4] -_080C5CB0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r7] - lsls r0, 1 - adds r4, r0 - ldr r0, _080C5CF4 @ =gUnknown_3005338 - ldrb r0, [r0] - subs r0, 0x1 - cmp r5, r0 - blt _080C5C96 -_080C5CC6: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080C5CE0 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C5C5C -_080C5CD2: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C5CE0: .4byte gUnknown_3005340 -_080C5CE4: .4byte gUnknown_3005334 -_080C5CE8: .4byte gUnknown_300534C -_080C5CEC: .4byte gUnknown_3005344 -_080C5CF0: .4byte gUnknown_3005330 -_080C5CF4: .4byte gUnknown_3005338 - thumb_func_end sub_80C5C44 - - thumb_func_start sub_80C5CF8 -sub_80C5CF8: @ 80C5CF8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - mov r2, sp - ldr r3, _080C5D64 @ =gUnknown_83F3024 - lsls r1, r0, 1 - add r1, r10 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - strb r0, [r2, 0x1] - mov r5, sp - adds r0, r3, 0x2 - adds r1, r0 - ldrb r4, [r1] - lsls r2, r4, 24 - lsrs r1, r2, 27 - movs r0, 0x7 - ands r1, r0 - strh r1, [r5, 0x2] - lsrs r2, 25 - mov r9, r2 - movs r0, 0x3 - ands r2, r0 - mov r9, r2 - movs r5, 0x1 - ands r5, r4 - movs r4, 0x1 - mov r8, r4 - cmp r8, r1 - bcs _080C5DAA - mov r3, sp -_080C5D4A: - cmp r5, 0 - bne _080C5D68 - mov r0, r8 - lsls r2, r0, 2 - mov r4, sp - adds r1, r4, r2 - ldrb r0, [r3] - mov r4, r8 - subs r0, r4 - strb r0, [r1] - ldrb r0, [r3, 0x1] - add r0, r8 - b _080C5D7A - .align 2, 0 -_080C5D64: .4byte gUnknown_83F3024 -_080C5D68: - mov r0, r8 - lsls r2, r0, 2 - mov r4, sp - adds r1, r4, r2 - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r1] - ldrb r0, [r3, 0x1] - subs r0, 0x1 -_080C5D7A: - strb r0, [r1, 0x1] - add r2, sp - ldrb r0, [r2] - cmp r0, 0x3F - bhi _080C5D8A - ldrb r0, [r2, 0x1] - cmp r0, 0x3F - bls _080C5D92 -_080C5D8A: - mov r0, r8 - subs r0, 0x1 - strh r0, [r3, 0x2] - b _080C5DAA -_080C5D92: - ldrh r0, [r3, 0x2] - mov r1, r8 - subs r0, r1 - strh r0, [r2, 0x2] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r0, [r3, 0x2] - cmp r8, r0 - bcc _080C5D4A -_080C5DAA: - movs r2, 0 - mov r8, r2 - mov r0, sp - ldrh r0, [r0, 0x2] - cmp r8, r0 - bcc _080C5DB8 - b _080C5EBA -_080C5DB8: - movs r3, 0x1F -_080C5DBA: - ldr r1, _080C5E18 @ =gUnknown_3005334 - mov r4, r8 - lsls r0, r4, 2 - mov r2, sp - adds r6, r2, r0 - ldrb r0, [r6, 0x1] - lsls r0, 7 - ldr r1, [r1] - adds r1, r0 - ldrb r0, [r6] - lsls r0, 1 - adds r2, r1, r0 - ldrh r1, [r2] - movs r4, 0x80 - lsls r4, 8 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _080C5EA6 - movs r7, 0x1F - ands r7, r1 - lsls r0, r1, 16 - lsrs r5, r0, 21 - ands r5, r3 - lsrs r4, r0, 26 - ands r4, r3 - mov r0, r9 - cmp r0, 0 - blt _080C5E9C - cmp r0, 0x1 - ble _080C5E1C - cmp r0, 0x3 - bgt _080C5E9C - ldrh r0, [r6, 0x2] - adds r1, r7, r0 - lsls r1, 16 - lsrs r7, r1, 16 - adds r1, r5, r0 - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r7, 0x1F - bls _080C5E90 - movs r7, 0x1F - b _080C5E90 - .align 2, 0 -_080C5E18: .4byte gUnknown_3005334 -_080C5E1C: - mov r1, r10 - lsls r0, r1, 1 - add r0, r10 - ldr r1, _080C5E50 @ =gUnknown_83F3024 - adds r1, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsrs r0, 3 - movs r1, 0x7 - ands r0, r1 - movs r1, 0x3 - str r2, [sp, 0x18] - str r3, [sp, 0x1C] - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp, 0x18] - ldr r3, [sp, 0x1C] - cmp r0, 0x1 - beq _080C5E6C - cmp r0, 0x1 - bgt _080C5E54 - cmp r0, 0 - beq _080C5E5A - b _080C5E9C - .align 2, 0 -_080C5E50: .4byte gUnknown_83F3024 -_080C5E54: - cmp r0, 0x2 - beq _080C5E7E - b _080C5E9C -_080C5E5A: - ldrh r0, [r6, 0x2] - cmp r7, r0 - bcc _080C5E68 - subs r0, r7, r0 - lsls r0, 16 - lsrs r7, r0, 16 - b _080C5E9C -_080C5E68: - movs r7, 0 - b _080C5E9C -_080C5E6C: - ldrh r0, [r6, 0x2] - cmp r5, r0 - bcc _080C5E7A - subs r0, r5, r0 - lsls r0, 16 - lsrs r5, r0, 16 - b _080C5E9C -_080C5E7A: - movs r5, 0 - b _080C5E9C -_080C5E7E: - ldrh r0, [r6, 0x2] - cmp r4, r0 - bcc _080C5E8C - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - b _080C5E9C -_080C5E8C: - movs r4, 0 - b _080C5E9C -_080C5E90: - cmp r5, 0x1F - bls _080C5E96 - movs r5, 0x1F -_080C5E96: - cmp r4, 0x1F - bls _080C5E9C - movs r4, 0x1F -_080C5E9C: - lsls r0, r4, 10 - lsls r1, r5, 5 - orrs r0, r1 - orrs r7, r0 - strh r7, [r2] -_080C5EA6: - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, sp - ldrh r0, [r0, 0x2] - cmp r8, r0 - bcs _080C5EBA - b _080C5DBA -_080C5EBA: - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C5CF8 - - thumb_func_start sub_80C5ECC -sub_80C5ECC: @ 80C5ECC - push {lr} - ldrh r1, [r0] - movs r3, 0x1F - movs r0, 0x1F - ands r0, r1 - lsls r1, 16 - lsrs r2, r1, 21 - ands r2, r3 - lsrs r1, 26 - ands r1, r3 - adds r0, r2 - adds r0, r1 - movs r1, 0x3 - bl __divsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r0, r1, 10 - lsls r2, r1, 5 - orrs r0, r2 - orrs r0, r1 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80C5ECC - - thumb_func_start sub_80C5F00 -sub_80C5F00: @ 80C5F00 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldrh r0, [r0] - movs r2, 0x1F - movs r1, 0x1F - ands r1, r0 - lsls r0, 16 - lsrs r3, r0, 21 - ands r3, r2 - lsrs r0, 26 - ands r0, r2 - cmp r1, 0x10 - bhi _080C5F30 - cmp r3, 0x10 - bhi _080C5F30 - cmp r0, 0x10 - bhi _080C5F30 - adds r0, r4, 0 - bl sub_80C5F3C - lsls r0, 16 - lsrs r0, 16 - b _080C5F32 -_080C5F30: - ldr r0, _080C5F38 @ =0x00007fff -_080C5F32: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C5F38: .4byte 0x00007fff - thumb_func_end sub_80C5F00 - - thumb_func_start sub_80C5F3C -sub_80C5F3C: @ 80C5F3C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - mov r8, r0 - movs r6, 0 - movs r7, 0 - adds r0, r4, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bhi _080C5FF4 - lsls r0, 2 - ldr r1, _080C5F80 @ =_080C5F84 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C5F80: .4byte _080C5F84 - .align 2, 0 -_080C5F84: - .4byte _080C5F9C - .4byte _080C5FAC - .4byte _080C5FBC - .4byte _080C5FCA - .4byte _080C5FD8 - .4byte _080C5FE6 -_080C5F9C: - movs r0, 0x15 - subs r0, r5 - lsls r0, 16 - lsrs r6, r0, 16 - adds r7, r6, 0 - movs r1, 0 - mov r8, r1 - b _080C5FF4 -_080C5FAC: - movs r7, 0 - movs r0, 0x15 - subs r0, r5 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - mov r6, r8 - b _080C5FF4 -_080C5FBC: - movs r0, 0x15 - subs r0, r5 - lsls r0, 16 - lsrs r7, r0, 16 - movs r6, 0 - mov r8, r7 - b _080C5FF4 -_080C5FCA: - movs r7, 0 - movs r6, 0 - movs r0, 0x17 - subs r0, r5 - lsls r0, 16 - lsrs r0, 16 - b _080C5FF2 -_080C5FD8: - movs r0, 0x17 - subs r0, r5 - lsls r0, 16 - lsrs r7, r0, 16 - movs r6, 0 - mov r8, r6 - b _080C5FF4 -_080C5FE6: - movs r7, 0 - movs r0, 0x17 - subs r0, r5 - lsls r0, 16 - lsrs r6, r0, 16 - movs r0, 0 -_080C5FF2: - mov r8, r0 -_080C5FF4: - lsls r0, r7, 10 - lsls r1, r6, 5 - orrs r0, r1 - mov r1, r8 - orrs r1, r0 - lsls r0, r1, 16 - lsrs r0, 16 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C5F3C - - thumb_func_start sub_80C600C -sub_80C600C: @ 80C600C - push {lr} - ldrh r0, [r0] - movs r2, 0x1F - movs r1, 0x1F - ands r1, r0 - lsls r0, 16 - lsrs r3, r0, 21 - ands r3, r2 - lsrs r0, 26 - ands r0, r2 - cmp r1, 0x10 - bhi _080C6030 - cmp r3, 0x10 - bhi _080C6030 - cmp r0, 0x10 - bhi _080C6030 - movs r0, 0 - b _080C6032 -_080C6030: - ldr r0, _080C6038 @ =0x00007fff -_080C6032: - pop {r1} - bx r1 - .align 2, 0 -_080C6038: .4byte 0x00007fff - thumb_func_end sub_80C600C - - thumb_func_start sub_80C603C -sub_80C603C: @ 80C603C - push {r4,lr} - adds r4, r0, 0 - ldrh r3, [r4] - cmp r3, 0 - beq _080C6064 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - ands r0, r3 - cmp r0, 0 - beq _080C6056 - adds r0, r2, 0 - b _080C6066 -_080C6056: - ldrh r1, [r1] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _080C6064 - ldrh r0, [r4] - b _080C6066 -_080C6064: - movs r0, 0 -_080C6066: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C603C - - thumb_func_start sub_80C606C -sub_80C606C: @ 80C606C - push {r4,lr} - ldrh r1, [r0] - movs r0, 0x1F - movs r3, 0x1F - ands r3, r1 - lsls r1, 16 - lsrs r2, r1, 21 - lsrs r1, 26 - subs r3, r0, r3 - adds r4, r0, 0 - bics r4, r2 - adds r2, r4, 0 - bics r0, r1 - lsls r0, 10 - lsls r2, 5 - orrs r0, r2 - orrs r0, r3 - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C606C - - thumb_func_start sub_80C6098 -sub_80C6098: @ 80C6098 - push {r4-r7,lr} - sub sp, 0x14 - adds r7, r1, 0 - ldrh r4, [r0] - ldrh r5, [r7] - lsls r6, r4, 16 - lsls r0, r5, 16 - mov r12, r0 - cmp r4, r5 - beq _080C610A - mov r2, sp - movs r3, 0x1F - movs r1, 0x1F - adds r0, r1, 0 - ands r0, r4 - strh r0, [r2] - lsrs r0, r6, 21 - ands r0, r3 - strh r0, [r2, 0x2] - lsrs r0, r6, 26 - ands r0, r3 - strh r0, [r2, 0x4] - mov r0, sp - ands r1, r5 - strh r1, [r0, 0x6] - mov r1, sp - mov r2, r12 - lsrs r0, r2, 21 - ands r0, r3 - strh r0, [r1, 0x8] - lsrs r0, r2, 26 - ands r0, r3 - strh r0, [r1, 0xA] - mov r0, sp - ldrh r0, [r0] - cmp r0, 0x19 - bls _080C60F2 - mov r0, sp - ldrh r0, [r0, 0x2] - cmp r0, 0x19 - bls _080C60F2 - mov r0, sp - ldrh r0, [r0, 0x4] - cmp r0, 0x19 - bhi _080C610A -_080C60F2: - mov r0, sp - ldrh r0, [r0, 0x6] - cmp r0, 0x19 - bls _080C610E - mov r0, sp - ldrh r0, [r0, 0x8] - cmp r0, 0x19 - bls _080C610E - mov r0, sp - ldrh r0, [r0, 0xA] - cmp r0, 0x19 - bls _080C610E -_080C610A: - ldrh r0, [r7] - b _080C61B4 -_080C610E: - movs r4, 0 - add r6, sp, 0xC - mov r7, sp - adds r7, 0x6 - adds r5, r6, 0 -_080C6118: - lsls r2, r4, 1 - mov r1, sp - adds r0, r1, r2 - adds r1, r7, r2 - ldrh r3, [r0] - ldrh r0, [r1] - cmp r3, r0 - bls _080C612E - adds r1, r5, r2 - subs r0, r3, r0 - b _080C6132 -_080C612E: - adds r1, r5, r2 - subs r0, r3 -_080C6132: - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _080C6118 - adds r1, r6, 0 - ldrh r0, [r1, 0x2] - ldrh r3, [r1] - cmp r3, r0 - bcc _080C6158 - ldrh r2, [r1, 0x4] - cmp r3, r2 - bcc _080C6152 - adds r2, r3, 0 - b _080C616C -_080C6152: - cmp r0, r2 - bcs _080C615E - b _080C6166 -_080C6158: - ldrh r2, [r1, 0x4] - cmp r0, r2 - bcc _080C6162 -_080C615E: - ldrh r2, [r1, 0x2] - b _080C616C -_080C6162: - cmp r2, r3 - bcc _080C616A -_080C6166: - ldrh r2, [r1, 0x4] - b _080C616C -_080C616A: - ldrh r2, [r6] -_080C616C: - mov r0, sp - ldrh r1, [r0, 0x6] - lsrs r0, r2, 1 - movs r6, 0x1F - subs r6, r0 - adds r0, r1, 0 - muls r0, r6 - movs r1, 0x1F - bl __divsi3 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - mov r0, sp - ldrh r0, [r0, 0x8] - muls r0, r6 - movs r1, 0x1F - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, sp - ldrh r0, [r0, 0xA] - muls r0, r6 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 6 - lsls r4, 5 - orrs r0, r4 - orrs r5, r0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r5, 0 -_080C61B4: - add sp, 0x14 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C6098 - - thumb_func_start sub_80C61BC -sub_80C61BC: @ 80C61BC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r3, r0, 0 - mov r10, r1 - str r2, [sp] - ldrh r1, [r3] - mov r0, r10 - ldrh r0, [r0] - cmp r1, r0 - bne _080C61E4 - ldrh r0, [r2] - cmp r0, r1 - bne _080C61E4 - mov r1, r10 - ldrh r0, [r1] - b _080C62CC -_080C61E4: - mov r2, r10 - ldrh r0, [r2] - movs r1, 0x1F - mov r9, r1 - movs r4, 0x1F - adds r5, r4, 0 - ands r5, r0 - lsls r0, 16 - lsrs r2, r0, 21 - mov r1, r9 - ands r1, r2 - mov r8, r1 - lsrs r0, 26 - mov r2, r9 - ands r2, r0 - str r2, [sp, 0x4] - ldrh r2, [r3] - adds r0, r4, 0 - ands r0, r2 - lsls r2, 16 - lsrs r1, r2, 21 - mov r3, r9 - ands r1, r3 - adds r0, r1 - lsrs r2, 26 - ands r2, r3 - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - mov r1, r8 - adds r0, r5, r1 - ldr r2, [sp, 0x4] - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, [sp] - ldrh r1, [r3] - ands r4, r1 - lsls r1, 16 - lsrs r0, r1, 21 - mov r2, r9 - ands r0, r2 - adds r4, r0 - lsrs r1, 26 - ands r1, r2 - adds r4, r1 - adds r0, r4, 0 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r7, r6 - bne _080C6266 - cmp r1, r6 - bne _080C6266 - mov r3, r10 - ldrh r0, [r3] - b _080C62CC -_080C6266: - cmp r7, r6 - bls _080C626E - subs r0, r7, r6 - b _080C6270 -_080C626E: - subs r0, r6, r7 -_080C6270: - lsls r0, 16 - lsrs r2, r0, 16 - cmp r1, r6 - bls _080C627C - subs r0, r1, r6 - b _080C627E -_080C627C: - subs r0, r6, r1 -_080C627E: - lsls r0, 16 - lsrs r0, 16 - cmp r2, r0 - bcc _080C6288 - adds r0, r2, 0 -_080C6288: - lsrs r0, 1 - movs r4, 0x1F - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, r8 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r1, [sp, 0x4] - adds r0, r1, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 6 - mov r2, r8 - lsls r1, r2, 5 - orrs r0, r1 - orrs r5, r0 - lsls r0, r5, 16 - lsrs r0, 16 -_080C62CC: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C61BC - - thumb_func_start sub_80C62DC -sub_80C62DC: @ 80C62DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r3, r0, 0 - mov r10, r1 - str r2, [sp] - ldrh r1, [r3] - mov r0, r10 - ldrh r0, [r0] - cmp r1, r0 - bne _080C6304 - ldrh r0, [r2] - cmp r0, r1 - bne _080C6304 - mov r1, r10 - ldrh r0, [r1] - b _080C63EA -_080C6304: - mov r2, r10 - ldrh r0, [r2] - movs r1, 0x1F - mov r9, r1 - movs r4, 0x1F - adds r5, r4, 0 - ands r5, r0 - lsls r0, 16 - lsrs r2, r0, 21 - mov r1, r9 - ands r1, r2 - mov r8, r1 - lsrs r0, 26 - mov r2, r9 - ands r2, r0 - str r2, [sp, 0x4] - ldrh r2, [r3] - adds r0, r4, 0 - ands r0, r2 - lsls r2, 16 - lsrs r1, r2, 21 - mov r3, r9 - ands r1, r3 - adds r0, r1 - lsrs r2, 26 - ands r2, r3 - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - mov r1, r8 - adds r0, r5, r1 - ldr r2, [sp, 0x4] - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, [sp] - ldrh r1, [r3] - ands r4, r1 - lsls r1, 16 - lsrs r0, r1, 21 - mov r2, r9 - ands r0, r2 - adds r4, r0 - lsrs r1, 26 - ands r1, r2 - adds r4, r1 - adds r0, r4, 0 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r7, r6 - bne _080C6386 - cmp r1, r6 - bne _080C6386 - mov r3, r10 - ldrh r0, [r3] - b _080C63EA -_080C6386: - cmp r7, r6 - bls _080C638E - subs r0, r7, r6 - b _080C6390 -_080C638E: - subs r0, r6, r7 -_080C6390: - lsls r0, 16 - lsrs r2, r0, 16 - cmp r1, r6 - bls _080C639C - subs r0, r1, r6 - b _080C639E -_080C639C: - subs r0, r6, r1 -_080C639E: - lsls r0, 16 - lsrs r0, 16 - cmp r2, r0 - bcc _080C63A8 - adds r0, r2, 0 -_080C63A8: - movs r4, 0x1F - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, r8 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r1, [sp, 0x4] - adds r0, r1, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 6 - mov r2, r8 - lsls r1, r2, 5 - orrs r0, r1 - orrs r5, r0 - lsls r0, r5, 16 - lsrs r0, 16 -_080C63EA: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80C62DC - - thumb_func_start sub_80C63FC -sub_80C63FC: @ 80C63FC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - ldrb r1, [r0, 0x1D] - lsrs r5, r1, 3 - ldrb r1, [r0, 0x1E] - lsrs r1, 3 - str r1, [sp, 0x8] - ldr r1, [r0, 0x4] - str r1, [sp] - ldr r2, [r0, 0x10] - str r2, [sp, 0x4] - ldrh r0, [r0, 0x16] - cmp r0, 0x2 - bne _080C64AC - movs r1, 0 - ldr r0, [sp, 0x8] - cmp r1, r0 - bcc _080C642A - b _080C6538 -_080C642A: - movs r0, 0 - adds r2, r1, 0x1 - mov r10, r2 - cmp r0, r5 - bcs _080C649E - adds r2, r1, 0 - muls r2, r5 - mov r9, r2 - lsls r1, 3 - mov r8, r1 -_080C643E: - movs r4, 0 - lsls r6, r0, 4 - adds r7, r0, 0x1 - add r0, r9 - lsls r0, 6 - ldr r1, [sp, 0x4] - adds r1, r0 - mov r12, r1 -_080C644E: - lsls r0, r4, 3 - mov r2, r12 - adds r3, r2, r0 - mov r1, r8 - adds r0, r1, r4 - lsls r0, 3 - muls r0, r5 - lsls r0, 1 - ldr r2, [sp] - adds r0, r2, r0 - adds r2, r0, r6 - ldrh r0, [r2, 0x2] - lsls r0, 8 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r3] - ldrh r0, [r2, 0x6] - lsls r0, 8 - ldrh r1, [r2, 0x4] - orrs r0, r1 - strh r0, [r3, 0x2] - ldrh r0, [r2, 0xA] - lsls r0, 8 - ldrh r1, [r2, 0x8] - orrs r0, r1 - strh r0, [r3, 0x4] - ldrh r0, [r2, 0xE] - lsls r0, 8 - ldrh r1, [r2, 0xC] - orrs r0, r1 - strh r0, [r3, 0x6] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x7 - bls _080C644E - lsls r0, r7, 16 - lsrs r0, 16 - cmp r0, r5 - bcc _080C643E -_080C649E: - mov r1, r10 - lsls r0, r1, 16 - lsrs r1, r0, 16 - ldr r2, [sp, 0x8] - cmp r1, r2 - bcc _080C642A - b _080C6538 -_080C64AC: - movs r1, 0 - ldr r0, [sp, 0x8] - cmp r1, r0 - bcs _080C6538 -_080C64B4: - movs r0, 0 - adds r2, r1, 0x1 - mov r10, r2 - cmp r0, r5 - bcs _080C652C - adds r2, r1, 0 - muls r2, r5 - mov r9, r2 - lsls r1, 3 - mov r8, r1 -_080C64C8: - movs r4, 0 - lsls r6, r0, 4 - adds r7, r0, 0x1 - add r0, r9 - lsls r0, 5 - ldr r1, [sp, 0x4] - adds r1, r0 - mov r12, r1 -_080C64D8: - lsls r0, r4, 2 - mov r2, r12 - adds r3, r2, r0 - mov r1, r8 - adds r0, r1, r4 - lsls r0, 3 - muls r0, r5 - lsls r0, 1 - ldr r2, [sp] - adds r0, r2, r0 - adds r2, r0, r6 - ldrh r1, [r2, 0x2] - lsls r1, 4 - ldrh r0, [r2] - orrs r1, r0 - ldrh r0, [r2, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrh r0, [r2, 0x6] - lsls r0, 12 - orrs r1, r0 - strh r1, [r3] - ldrh r1, [r2, 0xA] - lsls r1, 4 - ldrh r0, [r2, 0x8] - orrs r1, r0 - ldrh r0, [r2, 0xC] - lsls r0, 8 - orrs r1, r0 - ldrh r0, [r2, 0xE] - lsls r0, 12 - orrs r1, r0 - strh r1, [r3, 0x2] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x7 - bls _080C64D8 - lsls r0, r7, 16 - lsrs r0, 16 - cmp r0, r5 - bcc _080C64C8 -_080C652C: - mov r1, r10 - lsls r0, r1, 16 - lsrs r1, r0, 16 - ldr r2, [sp, 0x8] - cmp r1, r2 - bcc _080C64B4 -_080C6538: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80C63FC - - thumb_func_start sub_80C6548 -sub_80C6548: @ 80C6548 - push {lr} - ldr r2, _080C6598 @ =gUnknown_3005354 - ldrb r1, [r0, 0x18] - lsls r1, 4 - strh r1, [r2] - ldr r3, _080C659C @ =gUnknown_3005350 - ldrh r2, [r2] - lsls r2, 1 - ldr r1, [r0, 0x8] - adds r1, r2 - str r1, [r3] - ldr r2, _080C65A0 @ =gUnknown_3005334 - ldr r1, [r0, 0x4] - str r1, [r2] - ldr r2, _080C65A4 @ =gUnknown_3005330 - ldrb r1, [r0, 0x19] - strb r1, [r2] - ldr r2, _080C65A8 @ =gUnknown_3005344 - ldrb r1, [r0, 0x1A] - strb r1, [r2] - ldr r2, _080C65AC @ =gUnknown_3005340 - ldrb r1, [r0, 0x1B] - strb r1, [r2] - ldr r2, _080C65B0 @ =gUnknown_3005338 - ldrb r1, [r0, 0x1C] - strb r1, [r2] - ldr r2, _080C65B4 @ =gUnknown_300534C - ldrb r1, [r0, 0x1D] - strb r1, [r2] - ldr r2, _080C65B8 @ =gUnknown_300533C - ldrb r1, [r0, 0x1E] - strb r1, [r2] - ldrh r0, [r0, 0x14] - cmp r0, 0x5 - bhi _080C660E - lsls r0, 2 - ldr r1, _080C65BC @ =_080C65C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C6598: .4byte gUnknown_3005354 -_080C659C: .4byte gUnknown_3005350 -_080C65A0: .4byte gUnknown_3005334 -_080C65A4: .4byte gUnknown_3005330 -_080C65A8: .4byte gUnknown_3005344 -_080C65AC: .4byte gUnknown_3005340 -_080C65B0: .4byte gUnknown_3005338 -_080C65B4: .4byte gUnknown_300534C -_080C65B8: .4byte gUnknown_300533C -_080C65BC: .4byte _080C65C0 - .align 2, 0 -_080C65C0: - .4byte _080C65D8 - .4byte _080C65E0 - .4byte _080C65E8 - .4byte _080C65F2 - .4byte _080C65FC - .4byte _080C6606 -_080C65D8: - movs r0, 0 - bl sub_80C6748 - b _080C660E -_080C65E0: - movs r0, 0x1 - bl sub_80C6748 - b _080C660E -_080C65E8: - bl sub_80C6614 - bl sub_80C6AB8 - b _080C660E -_080C65F2: - bl sub_80C6714 - bl sub_80C6A08 - b _080C660E -_080C65FC: - bl sub_80C66D8 - bl sub_80C6958 - b _080C660E -_080C6606: - bl sub_80C66BC - bl sub_80C68A0 -_080C660E: - pop {r0} - bx r0 - thumb_func_end sub_80C6548 - - thumb_func_start sub_80C6614 -sub_80C6614: @ 80C6614 - ldr r2, _080C667C @ =gUnknown_3005350 - ldr r1, [r2] - movs r0, 0 - strh r0, [r1] - ldr r0, [r2] - ldr r2, _080C6680 @ =0x000018c6 - adds r1, r2, 0 - strh r1, [r0, 0x2] - ldr r2, _080C6684 @ =0x000077bd - adds r1, r2, 0 - strh r1, [r0, 0x4] - ldr r2, _080C6688 @ =0x00002d6b - adds r1, r2, 0 - strh r1, [r0, 0x6] - ldr r2, _080C668C @ =0x000018dd - adds r1, r2, 0 - strh r1, [r0, 0x8] - ldr r2, _080C6690 @ =0x00001ba6 - adds r1, r2, 0 - strh r1, [r0, 0xA] - ldr r2, _080C6694 @ =0x000074c6 - adds r1, r2, 0 - strh r1, [r0, 0xC] - ldr r2, _080C6698 @ =0x00001bbd - adds r1, r2, 0 - strh r1, [r0, 0xE] - ldr r2, _080C669C @ =0x000074dd - adds r1, r2, 0 - strh r1, [r0, 0x10] - ldr r2, _080C66A0 @ =0x000077a6 - adds r1, r2, 0 - strh r1, [r0, 0x12] - ldr r2, _080C66A4 @ =0x0000197d - adds r1, r2, 0 - strh r1, [r0, 0x14] - ldr r2, _080C66A8 @ =0x00001bab - adds r1, r2, 0 - strh r1, [r0, 0x16] - ldr r2, _080C66AC @ =0x00007566 - adds r1, r2, 0 - strh r1, [r0, 0x18] - ldr r2, _080C66B0 @ =0x00002cdd - adds r1, r2, 0 - strh r1, [r0, 0x1A] - ldr r2, _080C66B4 @ =0x00002fa6 - adds r1, r2, 0 - strh r1, [r0, 0x1C] - ldr r2, _080C66B8 @ =0x000074cb - adds r1, r2, 0 - strh r1, [r0, 0x1E] - bx lr - .align 2, 0 -_080C667C: .4byte gUnknown_3005350 -_080C6680: .4byte 0x000018c6 -_080C6684: .4byte 0x000077bd -_080C6688: .4byte 0x00002d6b -_080C668C: .4byte 0x000018dd -_080C6690: .4byte 0x00001ba6 -_080C6694: .4byte 0x000074c6 -_080C6698: .4byte 0x00001bbd -_080C669C: .4byte 0x000074dd -_080C66A0: .4byte 0x000077a6 -_080C66A4: .4byte 0x0000197d -_080C66A8: .4byte 0x00001bab -_080C66AC: .4byte 0x00007566 -_080C66B0: .4byte 0x00002cdd -_080C66B4: .4byte 0x00002fa6 -_080C66B8: .4byte 0x000074cb - thumb_func_end sub_80C6614 - - thumb_func_start sub_80C66BC -sub_80C66BC: @ 80C66BC - ldr r2, _080C66D0 @ =gUnknown_3005350 - ldr r0, [r2] - movs r1, 0 - strh r1, [r0] - ldr r2, [r2] - strh r1, [r2, 0x2] - ldr r1, _080C66D4 @ =0x00007fff - adds r0, r1, 0 - strh r0, [r2, 0x4] - bx lr - .align 2, 0 -_080C66D0: .4byte gUnknown_3005350 -_080C66D4: .4byte 0x00007fff - thumb_func_end sub_80C66BC - - thumb_func_start sub_80C66D8 -sub_80C66D8: @ 80C66D8 - push {r4,r5,lr} - ldr r1, _080C6710 @ =gUnknown_3005350 - ldr r0, [r1] - movs r2, 0 - strh r2, [r0] - ldr r0, [r1] - strh r2, [r0, 0x2] - movs r4, 0 - adds r5, r1, 0 -_080C66EA: - ldr r0, [r5] - lsls r2, r4, 1 - adds r2, r0 - adds r0, r4, 0x2 - lsls r3, r0, 1 - lsls r1, r0, 11 - lsls r0, 6 - orrs r1, r0 - orrs r1, r3 - strh r1, [r2, 0x4] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xD - bls _080C66EA - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C6710: .4byte gUnknown_3005350 - thumb_func_end sub_80C66D8 - - thumb_func_start sub_80C6714 -sub_80C6714: @ 80C6714 - push {r4,lr} - ldr r2, _080C6744 @ =gUnknown_3005350 - ldr r1, [r2] - movs r0, 0 - strh r0, [r1] - movs r3, 0 - adds r4, r2, 0 -_080C6722: - ldr r0, [r4] - lsls r2, r3, 1 - adds r2, r0 - lsls r0, r3, 10 - lsls r1, r3, 5 - orrs r0, r1 - orrs r0, r3 - strh r0, [r2, 0x2] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1F - bls _080C6722 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C6744: .4byte gUnknown_3005350 - thumb_func_end sub_80C6714 - - thumb_func_start sub_80C6748 -sub_80C6748: @ 80C6748 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - movs r1, 0xDF - mov r9, r1 - cmp r0, 0 - bne _080C6760 - movs r2, 0xFF - mov r9, r2 -_080C6760: - movs r6, 0 - ldr r3, _080C67E4 @ =gUnknown_3005350 - mov r12, r3 - mov r0, r9 - lsls r4, r0, 1 - ldr r5, _080C67E8 @ =gUnknown_3005338 - cmp r6, r9 - bcs _080C6784 - movs r2, 0 -_080C6772: - ldr r0, [r3] - lsls r1, r6, 1 - adds r1, r0 - strh r2, [r1] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r9 - bcc _080C6772 -_080C6784: - mov r1, r12 - ldr r0, [r1] - adds r0, r4, r0 - ldr r2, _080C67EC @ =0x00003def - adds r1, r2, 0 - strh r1, [r0] - movs r3, 0 - ldrb r5, [r5] - cmp r3, r5 - bcs _080C6888 -_080C6798: - ldr r2, _080C67F0 @ =gUnknown_3005334 - ldr r0, _080C67F4 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r3 - ldr r0, _080C67F8 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - ldr r1, [r2] - adds r1, r0 - ldr r0, _080C67FC @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r6, 0 - ldr r0, _080C6800 @ =gUnknown_3005340 - adds r2, r0, 0 - adds r3, 0x1 - mov r10, r3 - ldrb r3, [r2] - cmp r6, r3 - bcs _080C687A - ldr r0, _080C6804 @ =gUnknown_3005354 - mov r8, r0 -_080C67C8: - ldrh r0, [r4] - movs r3, 0x80 - lsls r3, 8 - adds r1, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _080C6808 - mov r1, r8 - ldrh r0, [r1] - strh r0, [r4] - adds r6, 0x1 - adds r7, r4, 0x2 - b _080C686E - .align 2, 0 -_080C67E4: .4byte gUnknown_3005350 -_080C67E8: .4byte gUnknown_3005338 -_080C67EC: .4byte 0x00003def -_080C67F0: .4byte gUnknown_3005334 -_080C67F4: .4byte gUnknown_3005344 -_080C67F8: .4byte gUnknown_300534C -_080C67FC: .4byte gUnknown_3005330 -_080C6800: .4byte gUnknown_3005340 -_080C6804: .4byte gUnknown_3005354 -_080C6808: - adds r0, r4, 0 - bl sub_80C6B68 - lsls r0, 16 - lsrs r5, r0, 16 - movs r3, 0x1 - adds r6, 0x1 - adds r7, r4, 0x2 - cmp r3, r9 - bcs _080C6864 - ldr r0, _080C6834 @ =gUnknown_3005350 - ldr r2, [r0] - ldrh r1, [r2, 0x2] - mov r12, r0 - cmp r1, 0 - bne _080C6838 - strh r5, [r2, 0x2] - mov r2, r8 - ldrh r0, [r2] - adds r0, 0x1 - b _080C6862 - .align 2, 0 -_080C6834: .4byte gUnknown_3005350 -_080C6838: - mov r2, r12 - ldr r1, [r2] - lsls r0, r3, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r5 - beq _080C685C - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, r9 - bcs _080C6864 - lsls r0, r3, 1 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r0, 0 - bne _080C6838 - strh r5, [r1] -_080C685C: - mov r1, r8 - ldrh r0, [r1] - adds r0, r3 -_080C6862: - strh r0, [r4] -_080C6864: - ldr r2, _080C6898 @ =gUnknown_3005340 - cmp r3, r9 - bne _080C686E - mov r3, r9 - strh r3, [r4] -_080C686E: - lsls r0, r6, 24 - lsrs r6, r0, 24 - adds r4, r7, 0 - ldrb r0, [r2] - cmp r6, r0 - bcc _080C67C8 -_080C687A: - mov r1, r10 - lsls r0, r1, 24 - lsrs r3, r0, 24 - ldr r0, _080C689C @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r3, r0 - bcc _080C6798 -_080C6888: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C6898: .4byte gUnknown_3005340 -_080C689C: .4byte gUnknown_3005338 - thumb_func_end sub_80C6748 - - thumb_func_start sub_80C68A0 -sub_80C68A0: @ 80C68A0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r2, 0 - ldr r0, _080C68F4 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C6944 - ldr r0, _080C68F8 @ =gUnknown_3005334 - mov r8, r0 -_080C68B4: - ldr r0, _080C68FC @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C6900 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, _080C6904 @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r6, 0 - ldr r0, _080C6908 @ =gUnknown_3005340 - adds r3, r0, 0 - adds r7, r2, 0x1 - ldrb r0, [r3] - cmp r6, r0 - bcs _080C6938 - ldr r5, _080C690C @ =gUnknown_3005354 -_080C68E0: - ldrh r0, [r4] - movs r2, 0x80 - lsls r2, 8 - adds r1, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _080C6910 - ldrh r0, [r5] - strh r0, [r4] - b _080C692A - .align 2, 0 -_080C68F4: .4byte gUnknown_3005338 -_080C68F8: .4byte gUnknown_3005334 -_080C68FC: .4byte gUnknown_3005344 -_080C6900: .4byte gUnknown_300534C -_080C6904: .4byte gUnknown_3005330 -_080C6908: .4byte gUnknown_3005340 -_080C690C: .4byte gUnknown_3005354 -_080C6910: - adds r0, r4, 0 - bl sub_80C600C - lsls r0, 16 - cmp r0, 0 - bne _080C6922 - ldrh r0, [r5] - adds r0, 0x1 - b _080C6926 -_080C6922: - ldrh r0, [r5] - adds r0, 0x2 -_080C6926: - strh r0, [r4] - ldr r3, _080C6950 @ =gUnknown_3005340 -_080C692A: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r6, r0 - bcc _080C68E0 -_080C6938: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, _080C6954 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C68B4 -_080C6944: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C6950: .4byte gUnknown_3005340 -_080C6954: .4byte gUnknown_3005338 - thumb_func_end sub_80C68A0 - - thumb_func_start sub_80C6958 -sub_80C6958: @ 80C6958 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080C69AC @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C69F4 - ldr r0, _080C69B0 @ =gUnknown_3005334 - mov r8, r0 -_080C696E: - ldr r0, _080C69B4 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C69B8 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, _080C69BC @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - ldr r0, _080C69C0 @ =gUnknown_3005340 - adds r7, r2, 0x1 - ldrb r0, [r0] - cmp r5, r0 - bcs _080C69E8 - ldr r6, _080C69C4 @ =gUnknown_3005354 - movs r0, 0x80 - lsls r0, 8 - adds r2, r0, 0 -_080C699E: - ldrh r0, [r4] - ands r0, r2 - cmp r0, 0 - beq _080C69C8 - ldrh r0, [r6] - strh r0, [r4] - b _080C69D8 - .align 2, 0 -_080C69AC: .4byte gUnknown_3005338 -_080C69B0: .4byte gUnknown_3005334 -_080C69B4: .4byte gUnknown_3005344 -_080C69B8: .4byte gUnknown_300534C -_080C69BC: .4byte gUnknown_3005330 -_080C69C0: .4byte gUnknown_3005340 -_080C69C4: .4byte gUnknown_3005354 -_080C69C8: - adds r0, r4, 0 - str r2, [sp] - bl sub_80C6CAC - ldrh r1, [r6] - adds r0, r1 - strh r0, [r4] - ldr r2, [sp] -_080C69D8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldr r0, _080C6A00 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r5, r0 - bcc _080C699E -_080C69E8: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, _080C6A04 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C696E -_080C69F4: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C6A00: .4byte gUnknown_3005340 -_080C6A04: .4byte gUnknown_3005338 - thumb_func_end sub_80C6958 - - thumb_func_start sub_80C6A08 -sub_80C6A08: @ 80C6A08 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080C6A5C @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C6AA4 - ldr r0, _080C6A60 @ =gUnknown_3005334 - mov r8, r0 -_080C6A1E: - ldr r0, _080C6A64 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C6A68 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, _080C6A6C @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - ldr r0, _080C6A70 @ =gUnknown_3005340 - adds r7, r2, 0x1 - ldrb r0, [r0] - cmp r5, r0 - bcs _080C6A98 - ldr r6, _080C6A74 @ =gUnknown_3005354 - movs r0, 0x80 - lsls r0, 8 - adds r2, r0, 0 -_080C6A4E: - ldrh r0, [r4] - ands r0, r2 - cmp r0, 0 - beq _080C6A78 - ldrh r0, [r6] - strh r0, [r4] - b _080C6A88 - .align 2, 0 -_080C6A5C: .4byte gUnknown_3005338 -_080C6A60: .4byte gUnknown_3005334 -_080C6A64: .4byte gUnknown_3005344 -_080C6A68: .4byte gUnknown_300534C -_080C6A6C: .4byte gUnknown_3005330 -_080C6A70: .4byte gUnknown_3005340 -_080C6A74: .4byte gUnknown_3005354 -_080C6A78: - adds r0, r4, 0 - str r2, [sp] - bl sub_80C6CE0 - ldrh r1, [r6] - adds r0, r1 - strh r0, [r4] - ldr r2, [sp] -_080C6A88: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldr r0, _080C6AB0 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r5, r0 - bcc _080C6A4E -_080C6A98: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, _080C6AB4 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C6A1E -_080C6AA4: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C6AB0: .4byte gUnknown_3005340 -_080C6AB4: .4byte gUnknown_3005338 - thumb_func_end sub_80C6A08 - - thumb_func_start sub_80C6AB8 -sub_80C6AB8: @ 80C6AB8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080C6B0C @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcs _080C6B54 - ldr r0, _080C6B10 @ =gUnknown_3005334 - mov r8, r0 -_080C6ACE: - ldr r0, _080C6B14 @ =gUnknown_3005344 - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080C6B18 @ =gUnknown_300534C - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, _080C6B1C @ =gUnknown_3005330 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - ldr r0, _080C6B20 @ =gUnknown_3005340 - adds r7, r2, 0x1 - ldrb r0, [r0] - cmp r5, r0 - bcs _080C6B48 - ldr r6, _080C6B24 @ =gUnknown_3005354 - movs r0, 0x80 - lsls r0, 8 - adds r2, r0, 0 -_080C6AFE: - ldrh r0, [r4] - ands r0, r2 - cmp r0, 0 - beq _080C6B28 - ldrh r0, [r6] - strh r0, [r4] - b _080C6B38 - .align 2, 0 -_080C6B0C: .4byte gUnknown_3005338 -_080C6B10: .4byte gUnknown_3005334 -_080C6B14: .4byte gUnknown_3005344 -_080C6B18: .4byte gUnknown_300534C -_080C6B1C: .4byte gUnknown_3005330 -_080C6B20: .4byte gUnknown_3005340 -_080C6B24: .4byte gUnknown_3005354 -_080C6B28: - adds r0, r4, 0 - str r2, [sp] - bl sub_80C6BDC - ldrh r1, [r6] - adds r0, r1 - strh r0, [r4] - ldr r2, [sp] -_080C6B38: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldr r0, _080C6B60 @ =gUnknown_3005340 - ldrb r0, [r0] - cmp r5, r0 - bcc _080C6AFE -_080C6B48: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, _080C6B64 @ =gUnknown_3005338 - ldrb r0, [r0] - cmp r2, r0 - bcc _080C6ACE -_080C6B54: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C6B60: .4byte gUnknown_3005340 -_080C6B64: .4byte gUnknown_3005338 - thumb_func_end sub_80C6AB8 - - thumb_func_start sub_80C6B68 -sub_80C6B68: @ 80C6B68 - push {r4,lr} - ldrh r0, [r0] - movs r1, 0x1F - movs r4, 0x1F - ands r4, r0 - lsls r0, 16 - lsrs r3, r0, 21 - ands r3, r1 - lsrs r2, r0, 26 - ands r2, r1 - movs r1, 0x3 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _080C6B8C - movs r0, 0x1C - ands r0, r4 - adds r4, r0, 0x4 -_080C6B8C: - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _080C6B9A - movs r0, 0x1C - ands r0, r3 - adds r3, r0, 0x4 -_080C6B9A: - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _080C6BA8 - movs r0, 0x1C - ands r0, r2 - adds r2, r0, 0x4 -_080C6BA8: - cmp r4, 0x5 - bhi _080C6BAE - movs r4, 0x6 -_080C6BAE: - cmp r4, 0x1E - bls _080C6BB4 - movs r4, 0x1E -_080C6BB4: - cmp r3, 0x5 - bhi _080C6BBA - movs r3, 0x6 -_080C6BBA: - cmp r3, 0x1E - bls _080C6BC0 - movs r3, 0x1E -_080C6BC0: - cmp r2, 0x5 - bhi _080C6BC6 - movs r2, 0x6 -_080C6BC6: - cmp r2, 0x1E - bls _080C6BCC - movs r2, 0x1E -_080C6BCC: - lsls r0, r2, 10 - lsls r1, r3, 5 - orrs r0, r1 - orrs r4, r0 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80C6B68 - - thumb_func_start sub_80C6BDC -sub_80C6BDC: @ 80C6BDC - push {lr} - ldrh r0, [r0] - movs r1, 0x1F - movs r3, 0x1F - ands r3, r0 - lsls r0, 16 - lsrs r2, r0, 21 - ands r2, r1 - lsrs r0, 26 - ands r0, r1 - cmp r3, 0xB - bhi _080C6C00 - cmp r2, 0xA - bhi _080C6C00 - cmp r0, 0xA - bhi _080C6C00 - movs r0, 0x1 - b _080C6CA6 -_080C6C00: - cmp r3, 0x13 - bls _080C6C24 - cmp r2, 0x13 - bls _080C6C0C - cmp r0, 0x13 - bhi _080C6C30 -_080C6C0C: - cmp r3, 0x13 - bls _080C6C24 - cmp r2, 0x13 - bls _080C6C1A - cmp r0, 0xE - bhi _080C6C30 - b _080C6C68 -_080C6C1A: - cmp r0, 0x13 - bls _080C6C24 - cmp r2, 0xE - bhi _080C6C30 - b _080C6C44 -_080C6C24: - cmp r2, 0x13 - bls _080C6C34 - cmp r0, 0x13 - bls _080C6C34 - cmp r3, 0xE - bls _080C6C8C -_080C6C30: - movs r0, 0x2 - b _080C6CA6 -_080C6C34: - cmp r3, 0x13 - bls _080C6C58 - cmp r2, 0xB - bls _080C6C4C - cmp r0, 0xB - bls _080C6C48 - cmp r2, r0 - bcs _080C6C68 -_080C6C44: - movs r0, 0x8 - b _080C6CA6 -_080C6C48: - movs r0, 0xA - b _080C6CA6 -_080C6C4C: - cmp r0, 0xB - bls _080C6C54 - movs r0, 0xD - b _080C6CA6 -_080C6C54: - movs r0, 0x4 - b _080C6CA6 -_080C6C58: - cmp r2, 0x13 - bls _080C6C7C - cmp r3, 0xB - bls _080C6C70 - cmp r0, 0xB - bls _080C6C6C - cmp r3, r0 - bcc _080C6C8C -_080C6C68: - movs r0, 0x7 - b _080C6CA6 -_080C6C6C: - movs r0, 0xB - b _080C6CA6 -_080C6C70: - cmp r0, 0xB - bls _080C6C78 - movs r0, 0xE - b _080C6CA6 -_080C6C78: - movs r0, 0x5 - b _080C6CA6 -_080C6C7C: - cmp r0, 0x13 - bls _080C6CA4 - cmp r3, 0xB - bls _080C6C90 - cmp r2, 0xB - bls _080C6C98 - cmp r3, r2 - bcs _080C6C44 -_080C6C8C: - movs r0, 0x9 - b _080C6CA6 -_080C6C90: - cmp r2, 0xB - bls _080C6C98 - movs r0, 0xC - b _080C6CA6 -_080C6C98: - cmp r0, 0xB - bls _080C6CA0 - movs r0, 0xF - b _080C6CA6 -_080C6CA0: - movs r0, 0x6 - b _080C6CA6 -_080C6CA4: - movs r0, 0x3 -_080C6CA6: - pop {r1} - bx r1 - thumb_func_end sub_80C6BDC - - thumb_func_start sub_80C6CAC -sub_80C6CAC: @ 80C6CAC - push {lr} - ldrh r1, [r0] - movs r3, 0x1F - movs r0, 0x1F - ands r0, r1 - lsls r1, 16 - lsrs r2, r1, 21 - ands r2, r3 - lsrs r1, 26 - ands r1, r3 - adds r0, r2 - adds r0, r1 - movs r1, 0x3 - bl __divsi3 - movs r1, 0x1E - ands r0, r1 - lsls r0, 16 - cmp r0, 0 - beq _080C6CD8 - lsrs r0, 17 - b _080C6CDA -_080C6CD8: - movs r0, 0x1 -_080C6CDA: - pop {r1} - bx r1 - thumb_func_end sub_80C6CAC - - thumb_func_start sub_80C6CE0 -sub_80C6CE0: @ 80C6CE0 - push {lr} - ldrh r1, [r0] - movs r3, 0x1F - movs r0, 0x1F - ands r0, r1 - lsls r1, 16 - lsrs r2, r1, 21 - ands r2, r3 - lsrs r1, 26 - ands r1, r3 - adds r0, r2 - adds r0, r1 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 9 - adds r0, r1 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80C6CE0 - - .align 2, 0 @ Don't pad with nop. |