diff options
| author | theo <arisstephenson2@gmail.com> | 2020-05-18 16:22:11 -0700 |
|---|---|---|
| committer | theo <arisstephenson2@gmail.com> | 2020-05-18 16:22:11 -0700 |
| commit | cfc757cd5829ebe138884febd57568e2a8db23ed (patch) | |
| tree | 6fb839eb4bd06a36bffd58a8cb7d7b2be527b535 /asm/code_0804B058.s | |
| parent | 1e34d9fcc6c2a5b3d2300eb0f227d567328086d0 (diff) | |
including ommitted files
Diffstat (limited to 'asm/code_0804B058.s')
| -rw-r--r-- | asm/code_0804B058.s | 17390 |
1 files changed, 17390 insertions, 0 deletions
diff --git a/asm/code_0804B058.s b/asm/code_0804B058.s new file mode 100644 index 00000000..4d0db031 --- /dev/null +++ b/asm/code_0804B058.s @@ -0,0 +1,17390 @@ + .include "asm/macros.inc" + .text + .syntax unified + + thumb_func_start sub_0804B058 +sub_0804B058: @ 0x0804B058 + push {r4, r5, lr} + adds r4, r0, #0 + cmp r4, #0 + beq _0804B0AE + ldrb r0, [r4] + cmp r0, #0xff + beq _0804B0AE + movs r5, #0 +_0804B068: + cmp r5, #0x1f + bhi _0804B09E + ldrb r1, [r4] + movs r0, #0xf + ands r0, r1 + cmp r0, #3 + bne _0804B09E + adds r0, r5, #0 + bl sub_08049D1C + cmp r0, #0 + beq _0804B0A4 + adds r0, r4, #0 + bl sub_0804ADF8 + adds r2, r0, #0 + cmp r2, #0 + beq _0804B0A4 + ldrb r0, [r2, #8] + cmp r0, #3 + bne _0804B0A4 + movs r0, #0x80 + adds r2, #0x6c + adds r1, r5, #0 + orrs r1, r0 + strb r1, [r2] + b _0804B0A4 +_0804B09E: + adds r0, r4, #0 + bl sub_0804ADF8 +_0804B0A4: + adds r5, #1 + adds r4, #0x10 + ldrb r0, [r4] + cmp r0, #0xff + bne _0804B068 +_0804B0AE: + pop {r4, r5, pc} + + thumb_func_start sub_0804B0B0 +sub_0804B0B0: @ 0x0804B0B0 + push {lr} + movs r2, #1 + bl sub_0804B0FC + bl sub_0804ADDC + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B0C0 +sub_0804B0C0: @ 0x0804B0C0 + push {lr} + adds r2, r1, #0 + ldr r3, _0804B0E0 @ =gUnk_02017654 + movs r1, #0 + str r1, [r3] + ldr r1, _0804B0E4 @ =gUnk_080D50FC + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r1, [r0] + cmp r1, #0 + beq _0804B0DE + lsls r0, r2, #2 + adds r0, r0, r1 + ldr r0, [r0] + str r0, [r3] +_0804B0DE: + pop {pc} + .align 2, 0 +_0804B0E0: .4byte gUnk_02017654 +_0804B0E4: .4byte gUnk_080D50FC + + thumb_func_start sub_0804B0E8 +sub_0804B0E8: @ 0x0804B0E8 + push {lr} + movs r2, #4 + bl sub_0804B0FC + cmp r0, #0 + beq _0804B0F8 + bl _call_via_r0 +_0804B0F8: + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B0FC +sub_0804B0FC: @ 0x0804B0FC + push {r4, lr} + adds r3, r1, #0 + adds r4, r2, #0 + movs r2, #0 + ldr r1, _0804B124 @ =gUnk_080D50FC + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r1, [r0] + cmp r1, #0 + beq _0804B120 + lsls r0, r3, #2 + adds r0, r0, r1 + ldr r2, [r0] + cmp r2, #0 + beq _0804B120 + lsls r0, r4, #2 + adds r0, r0, r2 + ldr r2, [r0] +_0804B120: + adds r0, r2, #0 + pop {r4, pc} + .align 2, 0 +_0804B124: .4byte gUnk_080D50FC + + thumb_func_start sub_0804B128 +sub_0804B128: @ 0x0804B128 + push {lr} + adds r2, r0, #0 + ldr r0, _0804B138 @ =gUnk_02017654 + ldr r1, [r0] + cmp r1, #0 + bne _0804B13C + movs r0, #0 + b _0804B166 + .align 2, 0 +_0804B138: .4byte gUnk_02017654 +_0804B13C: + cmp r2, #0x7f + bls _0804B150 + ldr r0, _0804B14C @ =gUnk_02034350 + movs r1, #7 + ands r1, r2 + lsls r1, r1, #2 + adds r0, #0x8c + b _0804B162 + .align 2, 0 +_0804B14C: .4byte gUnk_02034350 +_0804B150: + cmp r2, #7 + bls _0804B15C + lsls r0, r2, #2 + adds r0, r0, r1 + ldr r0, [r0] + b _0804B166 +_0804B15C: + ldr r0, _0804B168 @ =gUnk_02034350 + lsls r1, r2, #2 + adds r0, #0x6c +_0804B162: + adds r1, r1, r0 + ldr r0, [r1] +_0804B166: + pop {pc} + .align 2, 0 +_0804B168: .4byte gUnk_02034350 + + thumb_func_start sub_0804B16C +sub_0804B16C: @ 0x0804B16C + push {r4, lr} + ldr r4, _0804B1A4 @ =gUnk_02017660 +_0804B170: + ldrh r0, [r4, #4] + cmp r0, #0 + beq _0804B198 + ldrb r0, [r4, #1] + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B198 + ldrh r3, [r4, #4] + ldrb r1, [r4, #6] + movs r0, #1 + ands r0, r1 + movs r2, #1 + cmp r0, #0 + beq _0804B190 + movs r2, #2 +_0804B190: + movs r0, #0x74 + adds r1, r3, #0 + bl sub_0807B314 +_0804B198: + adds r4, #8 + ldr r0, _0804B1A8 @ =gUnk_020176A0 + cmp r4, r0 + blo _0804B170 + pop {r4, pc} + .align 2, 0 +_0804B1A4: .4byte gUnk_02017660 +_0804B1A8: .4byte gUnk_020176A0 + + thumb_func_start sub_0804B1AC +sub_0804B1AC: @ 0x0804B1AC + push {r4, lr} + adds r4, r0, #0 + cmp r4, #0 + beq _0804B25A + b _0804B254 +_0804B1B6: + ldrb r0, [r4] + subs r0, #1 + cmp r0, #0xc + bhi _0804B252 + lsls r0, r0, #2 + ldr r1, _0804B1C8 @ =_0804B1CC + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0804B1C8: .4byte _0804B1CC +_0804B1CC: @ jump table + .4byte _0804B200 @ case 0 + .4byte _0804B208 @ case 1 + .4byte _0804B252 @ case 2 + .4byte _0804B210 @ case 3 + .4byte _0804B252 @ case 4 + .4byte _0804B252 @ case 5 + .4byte _0804B218 @ case 6 + .4byte _0804B252 @ case 7 + .4byte _0804B22C @ case 8 + .4byte _0804B234 @ case 9 + .4byte _0804B23C @ case 10 + .4byte _0804B244 @ case 11 + .4byte _0804B24C @ case 12 +_0804B200: + adds r0, r4, #0 + bl sub_0804B290 + b _0804B252 +_0804B208: + adds r0, r4, #0 + bl sub_0804B29C + b _0804B252 +_0804B210: + adds r0, r4, #0 + bl sub_0804B300 + b _0804B252 +_0804B218: + ldr r0, _0804B224 @ =gUnk_02033A90 + ldr r1, _0804B228 @ =0x00000864 + adds r0, r0, r1 + ldrb r1, [r4, #3] + str r1, [r0] + b _0804B252 + .align 2, 0 +_0804B224: .4byte gUnk_02033A90 +_0804B228: .4byte 0x00000864 +_0804B22C: + adds r0, r4, #0 + bl sub_0804B334 + b _0804B252 +_0804B234: + adds r0, r4, #0 + bl sub_0804B340 + b _0804B252 +_0804B23C: + adds r0, r4, #0 + bl sub_0804B260 + b _0804B252 +_0804B244: + adds r0, r4, #0 + bl sub_0804B27C + b _0804B252 +_0804B24C: + ldr r1, _0804B25C @ =gUnk_02034350 + ldrb r0, [r4, #3] + strb r0, [r1, #9] +_0804B252: + adds r4, #8 +_0804B254: + ldrb r0, [r4] + cmp r0, #0 + bne _0804B1B6 +_0804B25A: + pop {r4, pc} + .align 2, 0 +_0804B25C: .4byte gUnk_02034350 + + thumb_func_start sub_0804B260 +sub_0804B260: @ 0x0804B260 + push {lr} + ldrb r0, [r0, #1] + lsls r0, r0, #5 + ldr r1, _0804B274 @ =gUnk_080015BC + adds r0, r0, r1 + ldr r1, _0804B278 @ =gUnk_02034398 + movs r2, #0x20 + bl sub_0801D66C + pop {pc} + .align 2, 0 +_0804B274: .4byte gUnk_080015BC +_0804B278: .4byte gUnk_02034398 + + thumb_func_start sub_0804B27C +sub_0804B27C: @ 0x0804B27C + push {lr} + ldr r1, _0804B28C @ =gUnk_02033A90 + ldrb r0, [r0, #1] + strb r0, [r1, #1] + bl sub_08054524 + pop {pc} + .align 2, 0 +_0804B28C: .4byte gUnk_02033A90 + + thumb_func_start sub_0804B290 +sub_0804B290: @ 0x0804B290 + push {lr} + ldrb r0, [r0, #1] + bl sub_0807CCB4 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B29C +sub_0804B29C: @ 0x0804B29C + push {r4, lr} + adds r2, r0, #0 + ldr r4, _0804B2EC @ =gUnk_02017660 + movs r1, #0 +_0804B2A4: + ldrh r0, [r4, #4] + cmp r0, #0 + bne _0804B2F4 + adds r0, r2, #0 + adds r1, r4, #0 + movs r2, #8 + bl sub_0801D66C + ldrb r1, [r4, #6] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _0804B2FC + ldr r0, _0804B2F0 @ =gUnk_03000BF0 + ldrb r1, [r0, #0xf] + movs r0, #2 + ands r0, r1 + cmp r0, #0 + beq _0804B2FC + ldrb r0, [r4, #1] + bl sub_0807CBD0 + cmp r0, #0 + bne _0804B2FC + ldrb r1, [r4, #1] + movs r0, #0x52 + movs r2, #0 + bl sub_080A2960 + cmp r0, #0 + beq _0804B2FC + ldrh r1, [r4, #4] + bl sub_0806F704 + b _0804B2FC + .align 2, 0 +_0804B2EC: .4byte gUnk_02017660 +_0804B2F0: .4byte gUnk_03000BF0 +_0804B2F4: + adds r1, #1 + adds r4, #8 + cmp r1, #7 + bls _0804B2A4 +_0804B2FC: + pop {r4, pc} + .align 2, 0 + + thumb_func_start sub_0804B300 +sub_0804B300: @ 0x0804B300 + push {r4, lr} + adds r4, r0, #0 + bl sub_0805E8D4 + adds r1, r0, #0 + cmp r1, #0 + beq _0804B332 + movs r0, #9 + strb r0, [r1, #8] + movs r0, #0x24 + strb r0, [r1, #9] + ldrh r0, [r4, #4] + strh r0, [r1, #0x38] + ldrh r0, [r4, #6] + strh r0, [r1, #0x3a] + ldrb r0, [r4, #2] + adds r2, r1, #0 + adds r2, #0x35 + strb r0, [r2] + ldrb r0, [r4, #1] + strh r0, [r1, #0x3e] + adds r0, r1, #0 + movs r1, #6 + bl sub_0805EA2C +_0804B332: + pop {r4, pc} + + thumb_func_start sub_0804B334 +sub_0804B334: @ 0x0804B334 + push {lr} + ldrb r0, [r0, #3] + movs r1, #1 + bl sub_0805BB00 + pop {pc} + + thumb_func_start sub_0804B340 +sub_0804B340: @ 0x0804B340 + push {r4, lr} + adds r4, r0, #0 + ldrh r0, [r4, #2] + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B35A + ldrh r0, [r4, #6] + ldrh r1, [r4, #4] + ldrb r2, [r4, #1] + bl sub_0807B314 + b _0804B380 +_0804B35A: + ldr r1, _0804B384 @ =gUnk_02034350 + ldrb r0, [r1, #1] + cmp r0, #0 + bne _0804B380 + movs r0, #1 + strb r0, [r1, #1] + bl sub_0805E8D4 + adds r1, r0, #0 + cmp r1, #0 + beq _0804B380 + movs r0, #9 + strb r0, [r1, #8] + movs r0, #0x2a + strb r0, [r1, #9] + adds r0, r1, #0 + movs r1, #6 + bl sub_0805EA2C +_0804B380: + pop {r4, pc} + .align 2, 0 +_0804B384: .4byte gUnk_02034350 + + thumb_func_start sub_0804B388 +sub_0804B388: @ 0x0804B388 + push {r4, r5, lr} + adds r5, r0, #0 + adds r4, r1, #0 + movs r0, #0x34 + cmp r4, #1 + bne _0804B396 + movs r0, #0x26 +_0804B396: + adds r1, r5, #0 + adds r2, r4, #0 + bl sub_0807B314 + movs r0, #0xf + movs r1, #2 + movs r2, #0 + bl sub_080A2960 + adds r1, r0, #0 + cmp r1, #0 + beq _0804B3BA + adds r0, #0x38 + strb r4, [r0] + adds r0, r1, #0 + adds r1, r5, #0 + bl sub_0806F704 +_0804B3BA: + movs r0, #1 + rsbs r0, r0, #0 + bl sub_080526F8 + pop {r4, r5, pc} + + thumb_func_start sub_0804B3C4 +sub_0804B3C4: @ 0x0804B3C4 + push {lr} + bl sub_0804B29C + pop {pc} + + thumb_func_start sub_0804B3CC +sub_0804B3CC: @ 0x0804B3CC + movs r0, #1 + bx lr + + thumb_func_start sub_0804B3D0 +sub_0804B3D0: @ 0x0804B3D0 + push {lr} + movs r0, #0 + bl sub_08030118 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B3DC +sub_0804B3DC: @ 0x0804B3DC + movs r0, #1 + bx lr + + thumb_func_start sub_0804B3E0 +sub_0804B3E0: @ 0x0804B3E0 + push {lr} + movs r0, #1 + bl sub_08030118 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B3EC +sub_0804B3EC: @ 0x0804B3EC + movs r0, #1 + bx lr + + thumb_func_start sub_0804B3F0 +sub_0804B3F0: @ 0x0804B3F0 + push {lr} + movs r0, #2 + bl sub_08030118 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B3FC +sub_0804B3FC: @ 0x0804B3FC + movs r0, #1 + bx lr + + thumb_func_start sub_0804B400 +sub_0804B400: @ 0x0804B400 + push {lr} + movs r0, #3 + bl sub_08030118 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B40C +sub_0804B40C: @ 0x0804B40C + movs r0, #1 + bx lr + + thumb_func_start sub_0804B410 +sub_0804B410: @ 0x0804B410 + push {lr} + movs r0, #4 + bl sub_08030118 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B41C +sub_0804B41C: @ 0x0804B41C + movs r0, #1 + bx lr + + thumb_func_start sub_0804B420 +sub_0804B420: @ 0x0804B420 + push {lr} + movs r0, #5 + bl sub_08030118 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B42C +sub_0804B42C: @ 0x0804B42C + movs r0, #1 + bx lr + + thumb_func_start sub_0804B430 +sub_0804B430: @ 0x0804B430 + push {lr} + movs r0, #6 + bl sub_08030118 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B43C +sub_0804B43C: @ 0x0804B43C + movs r0, #1 + bx lr + + thumb_func_start sub_0804B440 +sub_0804B440: @ 0x0804B440 + push {lr} + movs r0, #7 + bl sub_08030118 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B44C +sub_0804B44C: @ 0x0804B44C + movs r0, #1 + bx lr + + thumb_func_start sub_0804B450 +sub_0804B450: @ 0x0804B450 + push {lr} + movs r0, #8 + bl sub_08030118 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B45C +sub_0804B45C: @ 0x0804B45C + movs r0, #1 + bx lr + + thumb_func_start sub_0804B460 +sub_0804B460: @ 0x0804B460 + push {lr} + movs r0, #9 + bl sub_08030118 + ldr r0, _0804B474 @ =gUnk_02033A90 + movs r1, #3 + strb r1, [r0, #3] + movs r1, #0x4e + strb r1, [r0] + pop {pc} + .align 2, 0 +_0804B474: .4byte gUnk_02033A90 + + thumb_func_start sub_0804B478 +sub_0804B478: @ 0x0804B478 + movs r0, #1 + bx lr + + thumb_func_start sub_0804B47C +sub_0804B47C: @ 0x0804B47C + push {lr} + movs r0, #0xa + bl sub_08030118 + ldr r0, _0804B490 @ =gUnk_02033A90 + movs r1, #3 + strb r1, [r0, #3] + movs r1, #0x4e + strb r1, [r0] + pop {pc} + .align 2, 0 +_0804B490: .4byte gUnk_02033A90 + + thumb_func_start sub_0804B494 +sub_0804B494: @ 0x0804B494 + movs r0, #1 + bx lr + + thumb_func_start sub_0804B498 +sub_0804B498: @ 0x0804B498 + push {lr} + movs r0, #0x23 + bl sub_080575C8 + bl sub_08057688 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B4A8 +sub_0804B4A8: @ 0x0804B4A8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804B4AC +sub_0804B4AC: @ 0x0804B4AC + push {lr} + movs r0, #0x23 + bl sub_080575C8 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B4B8 +sub_0804B4B8: @ 0x0804B4B8 + push {lr} + movs r0, #0x23 + bl sub_080575C8 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B4C4 +sub_0804B4C4: @ 0x0804B4C4 + movs r0, #1 + bx lr + + thumb_func_start sub_0804B4C8 +sub_0804B4C8: @ 0x0804B4C8 + push {lr} + movs r0, #0x22 + bl sub_080580B0 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B4D4 +sub_0804B4D4: @ 0x0804B4D4 + push {lr} + movs r0, #0x22 + bl sub_080580B0 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B4E0 +sub_0804B4E0: @ 0x0804B4E0 + movs r0, #1 + bx lr + + thumb_func_start sub_0804B4E4 +sub_0804B4E4: @ 0x0804B4E4 + push {lr} + movs r0, #0x22 + bl sub_080580B0 + movs r0, #2 + bl sub_0807CA84 + cmp r0, #0 + beq _0804B4FC + movs r0, #0x56 + bl sub_0807CD04 +_0804B4FC: + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B500 +sub_0804B500: @ 0x0804B500 + push {lr} + movs r0, #0x22 + bl sub_080580B0 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B50C +sub_0804B50C: @ 0x0804B50C + movs r0, #1 + bx lr + + thumb_func_start sub_0804B510 +sub_0804B510: @ 0x0804B510 + push {lr} + movs r0, #0x1e + bl sub_080575C8 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B51C +sub_0804B51C: @ 0x0804B51C + push {lr} + movs r0, #0x1e + bl sub_080575C8 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B528 +sub_0804B528: @ 0x0804B528 + movs r0, #1 + bx lr + + thumb_func_start sub_0804B52C +sub_0804B52C: @ 0x0804B52C + push {lr} + movs r0, #0x21 + bl sub_080575C8 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B538 +sub_0804B538: @ 0x0804B538 + push {lr} + movs r0, #0x21 + bl sub_080575C8 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B544 +sub_0804B544: @ 0x0804B544 + movs r0, #1 + bx lr + + thumb_func_start sub_0804B548 +sub_0804B548: @ 0x0804B548 + push {lr} + movs r0, #0x1f + bl sub_080575C8 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B554 +sub_0804B554: @ 0x0804B554 + push {lr} + movs r0, #0x1f + bl sub_080575C8 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B560 +sub_0804B560: @ 0x0804B560 + movs r0, #1 + bx lr + + thumb_func_start sub_0804B564 +sub_0804B564: @ 0x0804B564 + push {lr} + movs r0, #0x20 + bl sub_080575C8 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B570 +sub_0804B570: @ 0x0804B570 + push {lr} + movs r0, #0x20 + bl sub_080575C8 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B57C +sub_0804B57C: @ 0x0804B57C + movs r0, #1 + bx lr + + thumb_func_start sub_0804B580 +sub_0804B580: @ 0x0804B580 + push {lr} + movs r0, #0x20 + bl sub_080575C8 + ldr r0, _0804B5A0 @ =gLinkEntity + movs r1, #0x32 + ldrsh r0, [r0, r1] + ldr r1, _0804B5A4 @ =gUnk_03000BF0 + ldrh r1, [r1, #8] + subs r0, r0, r1 + cmp r0, #0x40 + ble _0804B59E + ldr r0, _0804B5A8 @ =gUnk_080D6138 + bl sub_0804ADDC +_0804B59E: + pop {pc} + .align 2, 0 +_0804B5A0: .4byte gLinkEntity +_0804B5A4: .4byte gUnk_03000BF0 +_0804B5A8: .4byte gUnk_080D6138 + + thumb_func_start sub_0804B5AC +sub_0804B5AC: @ 0x0804B5AC + push {lr} + movs r0, #0x20 + bl sub_080575C8 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804B5B8 +sub_0804B5B8: @ 0x0804B5B8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804B5BC +sub_0804B5BC: @ 0x0804B5BC + push {lr} + ldr r0, _0804B5D0 @ =gUnk_030010A0 + ldrh r0, [r0, #0x12] + cmp r0, #0x40 + bls _0804B5CC + ldr r0, _0804B5D4 @ =gUnk_080D6210 + bl sub_0804ADDC +_0804B5CC: + pop {pc} + .align 2, 0 +_0804B5D0: .4byte gUnk_030010A0 +_0804B5D4: .4byte gUnk_080D6210 + + thumb_func_start sub_0804B5D8 +sub_0804B5D8: @ 0x0804B5D8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804B5DC +sub_0804B5DC: @ 0x0804B5DC + push {r4, r5, r6, lr} + movs r0, #0x2c + bl sub_0801E7F4 + cmp r0, #0 + beq _0804B5EE + ldr r0, _0804B618 @ =gUnk_080D6340 + bl sub_0804ADDC +_0804B5EE: + movs r6, #0 + ldr r4, _0804B61C @ =gUnk_080D64F8 + movs r5, #7 +_0804B5F4: + ldrh r0, [r4] + adds r4, #2 + bl sub_0807CA84 + cmp r0, #0 + beq _0804B602 + adds r6, #1 +_0804B602: + subs r5, #1 + cmp r5, #0 + bge _0804B5F4 + movs r0, #0x8b + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B648 + ldr r4, _0804B620 @ =gUnk_080D6508 + movs r5, #0 + b _0804B628 + .align 2, 0 +_0804B618: .4byte gUnk_080D6340 +_0804B61C: .4byte gUnk_080D64F8 +_0804B620: .4byte gUnk_080D6508 +_0804B624: + adds r5, #1 + adds r4, #2 +_0804B628: + cmp r5, r6 + bge _0804B648 + ldrh r0, [r4] + bl sub_0807CBD0 + cmp r0, #0 + bne _0804B624 + ldrh r0, [r4] + bl sub_0807CCB4 + movs r0, #0x8b + bl sub_0807CD34 + movs r0, #0x8c + bl sub_0807CCB4 +_0804B648: + movs r0, #0x1f + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B658 + ldr r0, _0804B6CC @ =gUnk_080D6360 + bl sub_0804ADDC +_0804B658: + movs r0, #0x20 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B668 + ldr r0, _0804B6D0 @ =gUnk_080D6380 + bl sub_0804ADDC +_0804B668: + movs r0, #0x21 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B678 + ldr r0, _0804B6D4 @ =gUnk_080D63A0 + bl sub_0804ADDC +_0804B678: + movs r0, #0x22 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B688 + ldr r0, _0804B6D8 @ =gUnk_080D63C0 + bl sub_0804ADDC +_0804B688: + movs r0, #0x23 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B698 + ldr r0, _0804B6DC @ =gUnk_080D63E0 + bl sub_0804ADDC +_0804B698: + movs r0, #0x24 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B6A8 + ldr r0, _0804B6E0 @ =gUnk_080D6400 + bl sub_0804ADDC +_0804B6A8: + movs r0, #0x25 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B6B8 + ldr r0, _0804B6E4 @ =gUnk_080D6420 + bl sub_0804ADDC +_0804B6B8: + movs r0, #0x26 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B6C8 + ldr r0, _0804B6E8 @ =gUnk_080D6440 + bl sub_0804ADDC +_0804B6C8: + pop {r4, r5, r6, pc} + .align 2, 0 +_0804B6CC: .4byte gUnk_080D6360 +_0804B6D0: .4byte gUnk_080D6380 +_0804B6D4: .4byte gUnk_080D63A0 +_0804B6D8: .4byte gUnk_080D63C0 +_0804B6DC: .4byte gUnk_080D63E0 +_0804B6E0: .4byte gUnk_080D6400 +_0804B6E4: .4byte gUnk_080D6420 +_0804B6E8: .4byte gUnk_080D6440 + + thumb_func_start sub_0804B6EC +sub_0804B6EC: @ 0x0804B6EC + movs r0, #1 + bx lr + + thumb_func_start sub_0804B6F0 +sub_0804B6F0: @ 0x0804B6F0 + push {lr} + movs r0, #0x46 + bl sub_0807CA84 + cmp r0, #0 + bne _0804B71C + ldr r0, _0804B714 @ =gUnk_080D6578 + bl sub_0804ADDC + movs r0, #0x73 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804B722 + ldr r0, _0804B718 @ =gUnk_080D6638 + bl sub_0804ADDC + b _0804B728 + .align 2, 0 +_0804B714: .4byte gUnk_080D6578 +_0804B718: .4byte gUnk_080D6638 +_0804B71C: + ldr r0, _0804B72C @ =gUnk_080D6558 + bl sub_0804ADDC +_0804B722: + ldr r0, _0804B730 @ =gUnk_080D6618 + bl sub_0804ADDC +_0804B728: + pop {pc} + .align 2, 0 +_0804B72C: .4byte gUnk_080D6558 +_0804B730: .4byte gUnk_080D6618 + + thumb_func_start sub_0804B734 +sub_0804B734: @ 0x0804B734 + movs r0, #1 + bx lr + + thumb_func_start sub_0804B738 +sub_0804B738: @ 0x0804B738 + push {lr} + ldr r0, _0804B770 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #4 + bls _0804B748 + ldr r0, _0804B774 @ =gUnk_080D6714 + bl sub_0804ADDC +_0804B748: + movs r0, #0x46 + bl sub_0807CA84 + cmp r0, #0 + bne _0804B77C + movs r0, #0x29 + bl GetProgressFlag + cmp r0, #0 + beq _0804B77C + movs r0, #0x6a + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B77C + ldr r0, _0804B778 @ =gUnk_080D6734 + bl sub_0804ADDC + b _0804B782 + .align 2, 0 +_0804B770: .4byte gUnk_02002A40 +_0804B774: .4byte gUnk_080D6714 +_0804B778: .4byte gUnk_080D6734 +_0804B77C: + ldr r0, _0804B784 @ =gUnk_080D66F4 + bl sub_0804ADDC +_0804B782: + pop {pc} + .align 2, 0 +_0804B784: .4byte gUnk_080D66F4 + + thumb_func_start sub_0804B788 +sub_0804B788: @ 0x0804B788 + movs r0, #1 + bx lr + + thumb_func_start sub_0804B78C +sub_0804B78C: @ 0x0804B78C + push {lr} + ldr r0, _0804B7A0 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #7 + bls _0804B79C + ldr r0, _0804B7A4 @ =gUnk_080D6924 + bl sub_0804ADDC +_0804B79C: + pop {pc} + .align 2, 0 +_0804B7A0: .4byte gUnk_02002A40 +_0804B7A4: .4byte gUnk_080D6924 + + thumb_func_start sub_0804B7A8 +sub_0804B7A8: @ 0x0804B7A8 + push {r4, lr} + movs r0, #0x91 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B7C8 + bl sub_08000E50 + movs r1, #3 + bl __modsi3 + adds r4, r0, #0 + movs r0, #1 + bl sub_0807CD34 + b _0804B7D0 +_0804B7C8: + movs r4, #0 + movs r0, #1 + bl sub_0807CCB4 +_0804B7D0: + ldr r2, _0804B7E0 @ =gUnk_02034350 + ldr r1, _0804B7E4 @ =gUnk_080D6A74 + lsls r0, r4, #2 + adds r0, r0, r1 + ldr r0, [r0] + str r0, [r2, #0x78] + movs r0, #1 + pop {r4, pc} + .align 2, 0 +_0804B7E0: .4byte gUnk_02034350 +_0804B7E4: .4byte gUnk_080D6A74 + + thumb_func_start sub_0804B7E8 +sub_0804B7E8: @ 0x0804B7E8 + push {lr} + movs r0, #0x91 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B81E + movs r0, #0x91 + bl sub_0807CD34 + movs r1, #0x80 + lsls r1, r1, #1 + movs r0, #5 + bl sub_08050054 + ldr r2, _0804B820 @ =gLinkEntity + ldr r1, _0804B824 @ =gUnk_03000BF0 + ldrh r0, [r1, #6] + adds r0, #0x50 + strh r0, [r2, #0x2e] + ldrh r0, [r1, #8] + adds r0, #0x38 + strh r0, [r2, #0x32] + ldr r2, _0804B828 @ =gUnk_08010A5C + movs r0, #1 + movs r1, #2 + bl sub_080751E8 +_0804B81E: + pop {pc} + .align 2, 0 +_0804B820: .4byte gLinkEntity +_0804B824: .4byte gUnk_03000BF0 +_0804B828: .4byte gUnk_08010A5C + + thumb_func_start sub_0804B82C +sub_0804B82C: @ 0x0804B82C + push {r4, lr} + movs r0, #0x91 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B84A + bl sub_08000E50 + adds r4, r0, #0 + movs r0, #1 + ands r4, r0 + movs r0, #2 + bl sub_0807CD34 + b _0804B852 +_0804B84A: + movs r4, #0 + movs r0, #2 + bl sub_0807CCB4 +_0804B852: + ldr r2, _0804B864 @ =gUnk_02034350 + ldr r1, _0804B868 @ =gUnk_080D6B18 + lsls r0, r4, #2 + adds r0, r0, r1 + ldr r0, [r0] + str r0, [r2, #0x78] + movs r0, #1 + pop {r4, pc} + .align 2, 0 +_0804B864: .4byte gUnk_02034350 +_0804B868: .4byte gUnk_080D6B18 + + thumb_func_start sub_0804B86C +sub_0804B86C: @ 0x0804B86C + push {lr} + movs r0, #0x91 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B8A2 + movs r0, #0x91 + bl sub_0807CD34 + movs r1, #0x80 + lsls r1, r1, #1 + movs r0, #5 + bl sub_08050054 + ldr r2, _0804B8A4 @ =gLinkEntity + ldr r1, _0804B8A8 @ =gUnk_03000BF0 + ldrh r0, [r1, #6] + adds r0, #0x50 + strh r0, [r2, #0x2e] + ldrh r0, [r1, #8] + adds r0, #0x38 + strh r0, [r2, #0x32] + ldr r2, _0804B8AC @ =gUnk_08010A5C + movs r0, #1 + movs r1, #2 + bl sub_080751E8 +_0804B8A2: + pop {pc} + .align 2, 0 +_0804B8A4: .4byte gLinkEntity +_0804B8A8: .4byte gUnk_03000BF0 +_0804B8AC: .4byte gUnk_08010A5C + + thumb_func_start sub_0804B8B0 +sub_0804B8B0: @ 0x0804B8B0 + push {r4, lr} + movs r0, #0x91 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B8D0 + bl sub_08000E50 + movs r1, #3 + bl __modsi3 + adds r4, r0, #0 + movs r0, #3 + bl sub_0807CD34 + b _0804B8D8 +_0804B8D0: + movs r4, #0 + movs r0, #3 + bl sub_0807CCB4 +_0804B8D8: + ldr r2, _0804B8E8 @ =gUnk_02034350 + ldr r1, _0804B8EC @ =gUnk_080D6BB8 + lsls r0, r4, #2 + adds r0, r0, r1 + ldr r0, [r0] + str r0, [r2, #0x78] + movs r0, #1 + pop {r4, pc} + .align 2, 0 +_0804B8E8: .4byte gUnk_02034350 +_0804B8EC: .4byte gUnk_080D6BB8 + + thumb_func_start sub_0804B8F0 +sub_0804B8F0: @ 0x0804B8F0 + push {lr} + movs r0, #0x91 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804B926 + movs r0, #0x91 + bl sub_0807CD34 + movs r1, #0x80 + lsls r1, r1, #1 + movs r0, #5 + bl sub_08050054 + ldr r2, _0804B928 @ =gLinkEntity + ldr r1, _0804B92C @ =gUnk_03000BF0 + ldrh r0, [r1, #6] + adds r0, #0x60 + strh r0, [r2, #0x2e] + ldrh r0, [r1, #8] + adds r0, #0x38 + strh r0, [r2, #0x32] + ldr r2, _0804B930 @ =gUnk_08010A5C + movs r0, #1 + movs r1, #2 + bl sub_080751E8 +_0804B926: + pop {pc} + .align 2, 0 +_0804B928: .4byte gLinkEntity +_0804B92C: .4byte gUnk_03000BF0 +_0804B930: .4byte gUnk_08010A5C + + thumb_func_start sub_0804B934 +sub_0804B934: @ 0x0804B934 + movs r0, #1 + bx lr + + thumb_func_start sub_0804B938 +sub_0804B938: @ 0x0804B938 + push {lr} + ldr r0, _0804B968 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #3 + bls _0804B9F2 + movs r0, #0x2b + bl GetProgressFlag + cmp r0, #0 + beq _0804B970 + movs r0, #0x2f + bl GetProgressFlag + cmp r0, #0 + bne _0804B984 + movs r0, #0x30 + bl GetProgressFlag + cmp r0, #0 + bne _0804B9BC + ldr r0, _0804B96C @ =gUnk_080D6C64 + bl sub_0804ADDC + b _0804B9F2 + .align 2, 0 +_0804B968: .4byte gUnk_02002A40 +_0804B96C: .4byte gUnk_080D6C64 +_0804B970: + movs r0, #0x2c + bl GetProgressFlag + cmp r0, #0 + beq _0804B9A8 + movs r0, #0x2e + bl GetProgressFlag + cmp r0, #0 + beq _0804B990 +_0804B984: + ldr r0, _0804B98C @ =gUnk_080D6D04 + bl sub_0804ADDC + b _0804B9F2 + .align 2, 0 +_0804B98C: .4byte gUnk_080D6D04 +_0804B990: + movs r0, #0x30 + bl GetProgressFlag + cmp r0, #0 + bne _0804B9D2 + ldr r0, _0804B9A4 @ =gUnk_080D6C94 + bl sub_0804ADDC + b _0804B9F2 + .align 2, 0 +_0804B9A4: .4byte gUnk_080D6C94 +_0804B9A8: + movs r0, #0x2d + bl GetProgressFlag + cmp r0, #0 + beq _0804B9EC + movs r0, #0x2e + bl GetProgressFlag + cmp r0, #0 + beq _0804B9C8 +_0804B9BC: + ldr r0, _0804B9C4 @ =gUnk_080D6CE4 + bl sub_0804ADDC + b _0804B9F2 + .align 2, 0 +_0804B9C4: .4byte gUnk_080D6CE4 +_0804B9C8: + movs r0, #0x2f + bl GetProgressFlag + cmp r0, #0 + beq _0804B9E0 +_0804B9D2: + ldr r0, _0804B9DC @ =gUnk_080D6CC4 + bl sub_0804ADDC + b _0804B9F2 + .align 2, 0 +_0804B9DC: .4byte gUnk_080D6CC4 +_0804B9E0: + ldr r0, _0804B9E8 @ =gUnk_080D6C34 + bl sub_0804ADDC + b _0804B9F2 + .align 2, 0 +_0804B9E8: .4byte gUnk_080D6C34 +_0804B9EC: + ldr r0, _0804B9F4 @ =gUnk_080D6BF4 + bl sub_0804ADDC +_0804B9F2: + pop {pc} + .align 2, 0 +_0804B9F4: .4byte gUnk_080D6BF4 + + thumb_func_start sub_0804B9F8 +sub_0804B9F8: @ 0x0804B9F8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_176 +nullsub_176: @ 0x0804B9FC + bx lr + .align 2, 0 + + thumb_func_start sub_0804BA00 +sub_0804BA00: @ 0x0804BA00 + movs r0, #1 + bx lr + + thumb_func_start nullsub_177 +nullsub_177: @ 0x0804BA04 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BA08 +sub_0804BA08: @ 0x0804BA08 + movs r0, #1 + bx lr + + thumb_func_start sub_0804BA0C +sub_0804BA0C: @ 0x0804BA0C + push {lr} + ldr r0, _0804BA34 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #7 + bhi _0804BA1C + ldr r0, _0804BA38 @ =gUnk_080D7038 + bl sub_0804ADDC +_0804BA1C: + ldr r0, _0804BA3C @ =gUnk_02034350 + ldrb r0, [r0] + cmp r0, #0 + bne _0804BA32 + movs r2, #0xb2 + lsls r2, r2, #2 + movs r0, #2 + movs r1, #0 + movs r3, #0xa8 + bl sub_08052CA4 +_0804BA32: + pop {pc} + .align 2, 0 +_0804BA34: .4byte gUnk_02002A40 +_0804BA38: .4byte gUnk_080D7038 +_0804BA3C: .4byte gUnk_02034350 + + thumb_func_start sub_0804BA40 +sub_0804BA40: @ 0x0804BA40 + movs r0, #1 + bx lr + + thumb_func_start sub_0804BA44 +sub_0804BA44: @ 0x0804BA44 + push {r4, lr} + ldr r4, _0804BA7C @ =gUnk_02002A40 + ldrb r0, [r4, #8] + cmp r0, #6 + bne _0804BA54 + ldr r0, _0804BA80 @ =gUnk_080D7140 + bl sub_0804ADDC +_0804BA54: + ldrb r0, [r4, #8] + cmp r0, #7 + bne _0804BA60 + ldr r0, _0804BA84 @ =gUnk_080D7170 + bl sub_0804ADDC +_0804BA60: + ldrb r0, [r4, #8] + cmp r0, #7 + bls _0804BA72 + ldr r0, _0804BA88 @ =gUnk_080D71A0 + bl sub_0804ADDC + ldrb r0, [r4, #8] + cmp r0, #7 + bhi _0804BA90 +_0804BA72: + ldr r0, _0804BA8C @ =gUnk_080D71D0 + bl sub_0804ADDC + b _0804BA96 + .align 2, 0 +_0804BA7C: .4byte gUnk_02002A40 +_0804BA80: .4byte gUnk_080D7140 +_0804BA84: .4byte gUnk_080D7170 +_0804BA88: .4byte gUnk_080D71A0 +_0804BA8C: .4byte gUnk_080D71D0 +_0804BA90: + ldr r0, _0804BA98 @ =gUnk_080D71F0 + bl sub_0804ADDC +_0804BA96: + pop {r4, pc} + .align 2, 0 +_0804BA98: .4byte gUnk_080D71F0 + + thumb_func_start sub_0804BA9C +sub_0804BA9C: @ 0x0804BA9C + push {lr} + movs r0, #0x51 + bl GetProgressFlag + cmp r0, #0 + beq _0804BAB2 + ldr r0, _0804BAB8 @ =gUnk_02034350 + ldr r1, _0804BABC @ =gUnk_080D7348 + str r1, [r0, #0x6c] + movs r1, #0 + str r1, [r0, #0x74] +_0804BAB2: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804BAB8: .4byte gUnk_02034350 +_0804BABC: .4byte gUnk_080D7348 + + thumb_func_start sub_0804BAC0 +sub_0804BAC0: @ 0x0804BAC0 + push {lr} + movs r0, #3 + bl GetProgressFlag + cmp r0, #0 + bne _0804BAD2 + ldr r0, _0804BAE8 @ =gUnk_080D7328 + bl sub_0804ADDC +_0804BAD2: + movs r0, #0x64 + bl GetProgressFlag + cmp r0, #0 + beq _0804BAF4 + ldr r0, _0804BAEC @ =gUnk_02033A90 + ldr r1, _0804BAF0 @ =0x00000864 + adds r0, r0, r1 + movs r1, #0x1b + str r1, [r0] + b _0804BB0C + .align 2, 0 +_0804BAE8: .4byte gUnk_080D7328 +_0804BAEC: .4byte gUnk_02033A90 +_0804BAF0: .4byte 0x00000864 +_0804BAF4: + movs r0, #0x51 + bl GetProgressFlag + cmp r0, #0 + beq _0804BB0C + ldr r0, _0804BB10 @ =gUnk_02033A90 + ldr r2, _0804BB14 @ =0x00000864 + adds r1, r0, r2 + subs r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] +_0804BB0C: + pop {pc} + .align 2, 0 +_0804BB10: .4byte gUnk_02033A90 +_0804BB14: .4byte 0x00000864 + + thumb_func_start sub_0804BB18 +sub_0804BB18: @ 0x0804BB18 + push {lr} + movs r0, #0x51 + bl GetProgressFlag + cmp r0, #0 + beq _0804BB2E + ldr r0, _0804BB34 @ =gUnk_02034350 + ldr r1, _0804BB38 @ =gUnk_080D7410 + str r1, [r0, #0x6c] + movs r1, #0 + str r1, [r0, #0x74] +_0804BB2E: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804BB34: .4byte gUnk_02034350 +_0804BB38: .4byte gUnk_080D7410 + + thumb_func_start sub_0804BB3C +sub_0804BB3C: @ 0x0804BB3C + push {lr} + movs r0, #0x51 + bl GetProgressFlag + cmp r0, #0 + bne _0804BB7C + movs r0, #3 + bl GetProgressFlag + cmp r0, #0 + bne _0804BB58 + ldr r0, _0804BB8C @ =gUnk_080D73B0 + bl sub_0804ADDC +_0804BB58: + movs r0, #2 + bl GetProgressFlag + cmp r0, #0 + bne _0804BB72 + movs r0, #0x15 + bl GetProgressFlag + cmp r0, #0 + beq _0804BB72 + ldr r0, _0804BB90 @ =gUnk_080D73E0 + bl sub_0804ADDC +_0804BB72: + movs r0, #0x64 + bl GetProgressFlag + cmp r0, #0 + beq _0804BB8A +_0804BB7C: + ldr r0, _0804BB94 @ =gUnk_02033A90 + ldr r2, _0804BB98 @ =0x00000864 + adds r1, r0, r2 + subs r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] +_0804BB8A: + pop {pc} + .align 2, 0 +_0804BB8C: .4byte gUnk_080D73B0 +_0804BB90: .4byte gUnk_080D73E0 +_0804BB94: .4byte gUnk_02033A90 +_0804BB98: .4byte 0x00000864 + + thumb_func_start sub_0804BB9C +sub_0804BB9C: @ 0x0804BB9C + movs r0, #1 + bx lr + + thumb_func_start sub_0804BBA0 +sub_0804BBA0: @ 0x0804BBA0 + push {lr} + movs r0, #0x64 + bl GetProgressFlag + cmp r0, #0 + beq _0804BBBA + ldr r0, _0804BBDC @ =gUnk_02033A90 + ldr r2, _0804BBE0 @ =0x00000864 + adds r1, r0, r2 + subs r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] +_0804BBBA: + movs r0, #0x51 + bl GetProgressFlag + cmp r0, #0 + beq _0804BBE8 + ldr r0, _0804BBE4 @ =gUnk_080D7618 + bl sub_0804ADDC + ldr r0, _0804BBDC @ =gUnk_02033A90 + ldr r2, _0804BBE0 @ =0x00000864 + adds r1, r0, r2 + subs r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] + b _0804BC2E + .align 2, 0 +_0804BBDC: .4byte gUnk_02033A90 +_0804BBE0: .4byte 0x00000864 +_0804BBE4: .4byte gUnk_080D7618 +_0804BBE8: + movs r0, #0x15 + bl GetProgressFlag + cmp r0, #0 + bne _0804BC10 + ldr r0, _0804BC04 @ =gUnk_080D74C8 + bl sub_0804ADDC + ldr r0, _0804BC08 @ =gUnk_02033A90 + ldr r1, _0804BC0C @ =0x00000864 + adds r0, r0, r1 + movs r1, #0x1b + str r1, [r0] + b _0804BC2E + .align 2, 0 +_0804BC04: .4byte gUnk_080D74C8 +_0804BC08: .4byte gUnk_02033A90 +_0804BC0C: .4byte 0x00000864 +_0804BC10: + movs r0, #2 + bl GetProgressFlag + cmp r0, #0 + bne _0804BC28 + ldr r0, _0804BC24 @ =gUnk_080D7588 + bl sub_0804ADDC + b _0804BC2E + .align 2, 0 +_0804BC24: .4byte gUnk_080D7588 +_0804BC28: + ldr r0, _0804BC30 @ =gUnk_080D75D8 + bl sub_0804ADDC +_0804BC2E: + pop {pc} + .align 2, 0 +_0804BC30: .4byte gUnk_080D75D8 + + thumb_func_start sub_0804BC34 +sub_0804BC34: @ 0x0804BC34 + movs r0, #1 + bx lr + + thumb_func_start sub_0804BC38 +sub_0804BC38: @ 0x0804BC38 + push {lr} + movs r0, #0x9c + bl sub_0807CBD0 + cmp r0, #0 + beq _0804BC4A + ldr r0, _0804BC4C @ =gUnk_080D7690 + bl sub_0804ADDC +_0804BC4A: + pop {pc} + .align 2, 0 +_0804BC4C: .4byte gUnk_080D7690 + + thumb_func_start sub_0804BC50 +sub_0804BC50: @ 0x0804BC50 + push {lr} + movs r0, #0x9f + bl sub_0807CBD0 + cmp r0, #0 + bne _0804BC68 + ldr r1, _0804BC6C @ =gUnk_030010A0 + movs r0, #5 + strb r0, [r1, #0xf] + movs r0, #0x1c + bl sub_0807CD80 +_0804BC68: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804BC6C: .4byte gUnk_030010A0 + + thumb_func_start sub_0804BC70 +sub_0804BC70: @ 0x0804BC70 + push {lr} + movs r0, #0x9f + bl sub_0807CBD0 + cmp r0, #0 + bne _0804BCA0 + movs r1, #0x80 + lsls r1, r1, #1 + movs r0, #5 + bl sub_08050054 + ldr r2, _0804BCB0 @ =gLinkEntity + ldr r1, _0804BCB4 @ =gUnk_03000BF0 + ldrh r0, [r1, #6] + adds r0, #0xb0 + strh r0, [r2, #0x2e] + ldrh r0, [r1, #8] + adds r0, #0x40 + strh r0, [r2, #0x32] + ldr r2, _0804BCB8 @ =gUnk_08009E88 + movs r0, #0 + movs r1, #6 + bl sub_080751E8 +_0804BCA0: + movs r0, #0x15 + bl GetProgressFlag + cmp r0, #0 + bne _0804BCBC + bl sub_08052878 + b _0804BCD0 + .align 2, 0 +_0804BCB0: .4byte gLinkEntity +_0804BCB4: .4byte gUnk_03000BF0 +_0804BCB8: .4byte gUnk_08009E88 +_0804BCBC: + movs r0, #0x64 + bl GetProgressFlag + cmp r0, #0 + beq _0804BCD0 + ldr r0, _0804BCD4 @ =gUnk_02033A90 + ldr r1, _0804BCD8 @ =0x00000864 + adds r0, r0, r1 + movs r1, #0x1b + str r1, [r0] +_0804BCD0: + pop {pc} + .align 2, 0 +_0804BCD4: .4byte gUnk_02033A90 +_0804BCD8: .4byte 0x00000864 + + thumb_func_start sub_0804BCDC +sub_0804BCDC: @ 0x0804BCDC + push {lr} + ldr r0, _0804BCE8 @ =gUnk_0813AB80 + movs r1, #4 + bl sub_0808091C + pop {pc} + .align 2, 0 +_0804BCE8: .4byte gUnk_0813AB80 + + thumb_func_start sub_0804BCEC +sub_0804BCEC: @ 0x0804BCEC + movs r0, #1 + bx lr + + thumb_func_start nullsub_178 +nullsub_178: @ 0x0804BCF0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BCF4 +sub_0804BCF4: @ 0x0804BCF4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_179 +nullsub_179: @ 0x0804BCF8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BCFC +sub_0804BCFC: @ 0x0804BCFC + movs r0, #1 + bx lr + + thumb_func_start nullsub_180 +nullsub_180: @ 0x0804BD00 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BD04 +sub_0804BD04: @ 0x0804BD04 + movs r0, #1 + bx lr + + thumb_func_start nullsub_181 +nullsub_181: @ 0x0804BD08 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BD0C +sub_0804BD0C: @ 0x0804BD0C + movs r0, #1 + bx lr + + thumb_func_start nullsub_182 +nullsub_182: @ 0x0804BD10 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BD14 +sub_0804BD14: @ 0x0804BD14 + movs r0, #1 + bx lr + + thumb_func_start nullsub_183 +nullsub_183: @ 0x0804BD18 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BD1C +sub_0804BD1C: @ 0x0804BD1C + movs r0, #1 + bx lr + + thumb_func_start nullsub_184 +nullsub_184: @ 0x0804BD20 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BD24 +sub_0804BD24: @ 0x0804BD24 + movs r0, #1 + bx lr + + thumb_func_start nullsub_185 +nullsub_185: @ 0x0804BD28 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BD2C +sub_0804BD2C: @ 0x0804BD2C + movs r0, #1 + bx lr + + thumb_func_start nullsub_186 +nullsub_186: @ 0x0804BD30 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BD34 +sub_0804BD34: @ 0x0804BD34 + movs r0, #1 + bx lr + + thumb_func_start nullsub_187 +nullsub_187: @ 0x0804BD38 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BD3C +sub_0804BD3C: @ 0x0804BD3C + movs r0, #1 + bx lr + + thumb_func_start nullsub_188 +nullsub_188: @ 0x0804BD40 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BD44 +sub_0804BD44: @ 0x0804BD44 + movs r0, #1 + bx lr + + thumb_func_start nullsub_189 +nullsub_189: @ 0x0804BD48 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BD4C +sub_0804BD4C: @ 0x0804BD4C + movs r0, #1 + bx lr + + thumb_func_start sub_0804BD50 +sub_0804BD50: @ 0x0804BD50 + push {r4, lr} + movs r0, #6 + bl sub_0807CA84 + cmp r0, #0 + beq _0804BD94 + ldr r4, _0804BD98 @ =0x00004072 + ldr r1, _0804BD9C @ =0x0000014D + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + movs r1, #0x86 + lsls r1, r1, #1 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + adds r4, #0x1e + movs r1, #0xa6 + lsls r1, r1, #1 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + movs r1, #0xc6 + lsls r1, r1, #1 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + ldr r0, _0804BDA0 @ =gUnk_080D7D34 + bl sub_0804ADDC +_0804BD94: + pop {r4, pc} + .align 2, 0 +_0804BD98: .4byte 0x00004072 +_0804BD9C: .4byte 0x0000014D +_0804BDA0: .4byte gUnk_080D7D34 + + thumb_func_start sub_0804BDA4 +sub_0804BDA4: @ 0x0804BDA4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_190 +nullsub_190: @ 0x0804BDA8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BDAC +sub_0804BDAC: @ 0x0804BDAC + movs r0, #1 + bx lr + + thumb_func_start nullsub_191 +nullsub_191: @ 0x0804BDB0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BDB4 +sub_0804BDB4: @ 0x0804BDB4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_192 +nullsub_192: @ 0x0804BDB8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BDBC +sub_0804BDBC: @ 0x0804BDBC + movs r0, #1 + bx lr + + thumb_func_start nullsub_193 +nullsub_193: @ 0x0804BDC0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BDC4 +sub_0804BDC4: @ 0x0804BDC4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_194 +nullsub_194: @ 0x0804BDC8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BDCC +sub_0804BDCC: @ 0x0804BDCC + movs r0, #1 + bx lr + + thumb_func_start sub_0804BDD0 +sub_0804BDD0: @ 0x0804BDD0 + push {lr} + movs r0, #3 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804BDE8 + ldr r0, _0804BDE4 @ =gUnk_080D827C + bl sub_0804ADDC + b _0804BE00 + .align 2, 0 +_0804BDE4: .4byte gUnk_080D827C +_0804BDE8: + bl sub_0805BC4C + movs r0, #0x76 + movs r1, #0x82 + movs r2, #2 + bl sub_0807B314 + movs r0, #0x76 + movs r1, #0x8c + movs r2, #2 + bl sub_0807B314 +_0804BE00: + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804BE04 +sub_0804BE04: @ 0x0804BE04 + movs r0, #1 + bx lr + + thumb_func_start nullsub_28 +nullsub_28: @ 0x0804BE08 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BE0C +sub_0804BE0C: @ 0x0804BE0C + movs r0, #1 + bx lr + + thumb_func_start nullsub_29 +nullsub_29: @ 0x0804BE10 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BE14 +sub_0804BE14: @ 0x0804BE14 + movs r0, #1 + bx lr + + thumb_func_start nullsub_30 +nullsub_30: @ 0x0804BE18 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BE1C +sub_0804BE1C: @ 0x0804BE1C + movs r0, #1 + bx lr + + thumb_func_start nullsub_31 +nullsub_31: @ 0x0804BE20 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BE24 +sub_0804BE24: @ 0x0804BE24 + movs r0, #1 + bx lr + + thumb_func_start nullsub_32 +nullsub_32: @ 0x0804BE28 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BE2C +sub_0804BE2C: @ 0x0804BE2C + movs r0, #1 + bx lr + + thumb_func_start nullsub_33 +nullsub_33: @ 0x0804BE30 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BE34 +sub_0804BE34: @ 0x0804BE34 + movs r0, #1 + bx lr + + thumb_func_start nullsub_34 +nullsub_34: @ 0x0804BE38 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BE3C +sub_0804BE3C: @ 0x0804BE3C + movs r0, #1 + bx lr + + thumb_func_start nullsub_35 +nullsub_35: @ 0x0804BE40 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BE44 +sub_0804BE44: @ 0x0804BE44 + movs r0, #1 + bx lr + + thumb_func_start nullsub_36 +nullsub_36: @ 0x0804BE48 + bx lr + .align 2, 0 + + thumb_func_start sub_0804BE4C +sub_0804BE4C: @ 0x0804BE4C + movs r0, #1 + bx lr + + thumb_func_start sub_0804BE50 +sub_0804BE50: @ 0x0804BE50 + push {lr} + movs r0, #0x68 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804BE62 + movs r0, #0x68 + bl sub_0807CCB4 +_0804BE62: + movs r0, #0x2f + bl sub_0801E7F4 + cmp r0, #0 + beq _0804BE78 + ldr r0, _0804BE74 @ =gUnk_080D8B24 + bl sub_0804ADDC + b _0804BEDE + .align 2, 0 +_0804BE74: .4byte gUnk_080D8B24 +_0804BE78: + movs r0, #0x2b + bl sub_0801E7F4 + cmp r0, #0 + beq _0804BE90 + ldr r0, _0804BE8C @ =gUnk_080D8AC4 + bl sub_0804ADDC + b _0804BEDE + .align 2, 0 +_0804BE8C: .4byte gUnk_080D8AC4 +_0804BE90: + movs r0, #0x26 + bl sub_0801E7F4 + cmp r0, #0 + beq _0804BEA8 + ldr r0, _0804BEA4 @ =gUnk_080D8A74 + bl sub_0804ADDC + b _0804BEDE + .align 2, 0 +_0804BEA4: .4byte gUnk_080D8A74 +_0804BEA8: + movs r0, #0x2a + bl sub_0801E7F4 + cmp r0, #0 + beq _0804BEC0 + ldr r0, _0804BEBC @ =gUnk_080D8A34 + bl sub_0804ADDC + b _0804BEDE + .align 2, 0 +_0804BEBC: .4byte gUnk_080D8A34 +_0804BEC0: + movs r0, #0x25 + bl sub_0801E7F4 + cmp r0, #0 + beq _0804BED8 + ldr r0, _0804BED4 @ =gUnk_080D8A04 + bl sub_0804ADDC + b _0804BEDE + .align 2, 0 +_0804BED4: .4byte gUnk_080D8A04 +_0804BED8: + ldr r0, _0804BF1C @ =gUnk_080D89E4 + bl sub_0804ADDC +_0804BEDE: + movs r0, #0x25 + bl sub_0801E7F4 + cmp r0, #0 + beq _0804BEF2 + ldr r0, _0804BF20 @ =gUnk_080D8BBC + ldr r1, _0804BF24 @ =0x000007C5 + movs r2, #1 + bl sub_0807BB68 +_0804BEF2: + movs r0, #0x26 + bl sub_0801E7F4 + cmp r0, #0 + beq _0804BF06 + ldr r0, _0804BF28 @ =gUnk_080D8BFA + ldr r1, _0804BF2C @ =0x00000503 + movs r2, #1 + bl sub_0807BB68 +_0804BF06: + movs r0, #0x2f + bl sub_0801E7F4 + cmp r0, #0 + beq _0804BF1A + ldr r0, _0804BF30 @ =gUnk_080D8C68 + ldr r1, _0804BF34 @ =0x00000281 + movs r2, #1 + bl sub_0807BB68 +_0804BF1A: + pop {pc} + .align 2, 0 +_0804BF1C: .4byte gUnk_080D89E4 +_0804BF20: .4byte gUnk_080D8BBC +_0804BF24: .4byte 0x000007C5 +_0804BF28: .4byte gUnk_080D8BFA +_0804BF2C: .4byte 0x00000503 +_0804BF30: .4byte gUnk_080D8C68 +_0804BF34: .4byte 0x00000281 + + thumb_func_start sub_0804BF38 +sub_0804BF38: @ 0x0804BF38 + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + ldr r0, [r1, #4] + lsls r0, r0, #4 + ldr r1, _0804C000 @ =gUnk_080D8E50 + adds r4, r0, r1 + ldr r0, [r4] + ldrh r1, [r4, #4] + lsrs r1, r1, #4 + movs r3, #0x3f + ands r1, r3 + ldrh r2, [r4, #6] + lsrs r2, r2, #4 + ands r2, r3 + lsls r2, r2, #6 + orrs r1, r2 + movs r2, #1 + bl sub_0807BB68 + ldrh r0, [r4, #8] + mov r8, r0 + movs r5, #0 + cmp r5, r8 + bhs _0804BFE8 + ldr r7, _0804C004 @ =gUnk_03000BF0 + movs r1, #0 + mov sl, r1 + movs r6, #0 + movs r3, #1 + mov sb, r3 +_0804BF7A: + movs r0, #0xf + movs r1, #0xf + movs r2, #0 + bl sub_080A2960 + adds r2, r0, #0 + cmp r2, #0 + beq _0804BFA6 + ldrh r0, [r7, #6] + ldrh r1, [r4, #4] + adds r0, r0, r1 + adds r0, r0, r6 + strh r0, [r2, #0x2e] + ldrh r1, [r7, #8] + ldrh r3, [r4, #6] + adds r1, r1, r3 + adds r0, r5, #0 + mov r3, sb + ands r0, r3 + lsls r0, r0, #3 + adds r1, r1, r0 + strh r1, [r2, #0x32] +_0804BFA6: + movs r0, #0xf + movs r1, #0x54 + movs r2, #0 + bl sub_080A2960 + adds r2, r0, #0 + cmp r2, #0 + beq _0804BFE0 + ldrh r0, [r7, #6] + ldrh r1, [r4, #4] + adds r0, r0, r1 + adds r0, r0, r6 + strh r0, [r2, #0x2e] + ldrh r1, [r7, #8] + ldrh r3, [r4, #6] + adds r1, r1, r3 + ldr r0, _0804C008 @ =0x0000FFF4 + adds r1, r1, r0 + adds r0, r5, #0 + mov r3, sb + ands r0, r3 + lsls r0, r0, #3 + adds r1, r1, r0 + strh r1, [r2, #0x32] + mov r0, sl + strb r0, [r2, #0x15] + movs r0, #0x80 + lsls r0, r0, #1 + strh r0, [r2, #0x24] +_0804BFE0: + adds r6, #0x10 + adds r5, #1 + cmp r5, r8 + blo _0804BF7A +_0804BFE8: + ldrh r0, [r4, #0xa] + ldrh r1, [r4, #0xc] + bl sub_08080964 + ldrh r0, [r4, #0xe] + bl sub_080A3268 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_0804C000: .4byte gUnk_080D8E50 +_0804C004: .4byte gUnk_03000BF0 +_0804C008: .4byte 0x0000FFF4 + + thumb_func_start sub_0804C00C +sub_0804C00C: @ 0x0804C00C + movs r0, #1 + bx lr + + thumb_func_start nullsub_195 +nullsub_195: @ 0x0804C010 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C014 +sub_0804C014: @ 0x0804C014 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C018 +sub_0804C018: @ 0x0804C018 + push {r4, lr} + movs r0, #0x20 + bl GetProgressFlag + cmp r0, #0 + bne _0804C044 + movs r0, #0x3c + bl sub_0807CA84 + cmp r0, #1 + bne _0804C054 + ldr r0, _0804C03C @ =gUnk_080D90C8 + bl sub_0804ADDC + ldr r0, _0804C040 @ =gUnk_080D9108 + bl sub_0804ADDC + b _0804C054 + .align 2, 0 +_0804C03C: .4byte gUnk_080D90C8 +_0804C040: .4byte gUnk_080D9108 +_0804C044: + movs r0, #0x21 + bl GetProgressFlag + cmp r0, #0 + bne _0804C054 + ldr r0, _0804C0D0 @ =gUnk_080D9108 + bl sub_0804ADDC +_0804C054: + movs r0, #0x3c + bl sub_0807CA84 + cmp r0, #2 + beq _0804C090 + ldr r0, _0804C0D4 @ =gUnk_080D9098 + bl sub_0804ADDC + movs r0, #0xbd + lsls r0, r0, #1 + ldr r1, _0804C0D8 @ =0x0000058E + movs r2, #1 + bl sub_0807B314 + ldr r0, _0804C0DC @ =0x0000017B + ldr r1, _0804C0E0 @ =0x0000058F + movs r2, #1 + bl sub_0807B314 + movs r0, #0xbe + lsls r0, r0, #1 + ldr r1, _0804C0E4 @ =0x000005CE + movs r2, #1 + bl sub_0807B314 + ldr r0, _0804C0E8 @ =0x0000017D + ldr r1, _0804C0EC @ =0x000005CF + movs r2, #1 + bl sub_0807B314 +_0804C090: + bl sub_08054570 + bl sub_08059278 + ldr r4, _0804C0F0 @ =0x00004072 + ldr r1, _0804C0F4 @ =0x00000A47 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + ldr r1, _0804C0F8 @ =0x00000C47 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + movs r0, #0x62 + bl GetProgressFlag + cmp r0, #0 + beq _0804C0C8 + ldr r0, _0804C0FC @ =gUnk_030010A0 + ldr r1, [r0, #0x10] + ldr r0, _0804C100 @ =0x02780078 + cmp r1, r0 + bne _0804C0C8 + movs r0, #0x72 + bl sub_080A3268 +_0804C0C8: + movs r0, #0x62 + bl sub_0807CD80 + pop {r4, pc} + .align 2, 0 +_0804C0D0: .4byte gUnk_080D9108 +_0804C0D4: .4byte gUnk_080D9098 +_0804C0D8: .4byte 0x0000058E +_0804C0DC: .4byte 0x0000017B +_0804C0E0: .4byte 0x0000058F +_0804C0E4: .4byte 0x000005CE +_0804C0E8: .4byte 0x0000017D +_0804C0EC: .4byte 0x000005CF +_0804C0F0: .4byte 0x00004072 +_0804C0F4: .4byte 0x00000A47 +_0804C0F8: .4byte 0x00000C47 +_0804C0FC: .4byte gUnk_030010A0 +_0804C100: .4byte 0x02780078 + + thumb_func_start sub_0804C104 +sub_0804C104: @ 0x0804C104 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C108 +sub_0804C108: @ 0x0804C108 + push {lr} + ldr r2, _0804C124 @ =gUnk_02033A90 + ldrb r1, [r2] + movs r0, #0x40 + orrs r0, r1 + strb r0, [r2] + ldrb r0, [r2, #0xd] + movs r1, #1 + orrs r0, r1 + strb r0, [r2, #0xd] + bl sub_0804C128 + pop {pc} + .align 2, 0 +_0804C124: .4byte gUnk_02033A90 + + thumb_func_start sub_0804C128 +sub_0804C128: @ 0x0804C128 + push {r4, r5, lr} + movs r0, #0 + bl sub_080AF250 + ldr r0, _0804C15C @ =gUnk_02034350 + ldrb r0, [r0] + cmp r0, #0 + bne _0804C13A + b _0804C24C +_0804C13A: + ldr r1, _0804C160 @ =gUnk_02033A90 + ldrb r3, [r1, #0xd] + movs r0, #0xe + ands r0, r3 + adds r5, r1, #0 + cmp r0, #0 + bne _0804C164 + movs r0, #0xf0 + ands r0, r3 + cmp r0, #0 + bne _0804C19C + movs r0, #0xf + rsbs r0, r0, #0 + ands r0, r3 + movs r1, #2 + orrs r0, r1 + b _0804C19A + .align 2, 0 +_0804C15C: .4byte gUnk_02034350 +_0804C160: .4byte gUnk_02033A90 +_0804C164: + ldr r2, _0804C18C @ =gUnk_03000BF0 + ldr r1, _0804C190 @ =gUnk_080D9338 + lsls r4, r3, #0x1c + lsrs r0, r4, #0x1d + adds r0, r0, r1 + ldrb r1, [r2, #0x10] + ldrb r0, [r0] + cmp r1, r0 + bne _0804C194 + lsrs r0, r4, #0x1d + adds r0, #1 + movs r1, #7 + ands r0, r1 + lsls r0, r0, #1 + movs r1, #0xf + rsbs r1, r1, #0 + ands r1, r3 + orrs r1, r0 + strb r1, [r5, #0xd] + b _0804C19C + .align 2, 0 +_0804C18C: .4byte gUnk_03000BF0 +_0804C190: .4byte gUnk_080D9338 +_0804C194: + movs r0, #0xf + rsbs r0, r0, #0 + ands r0, r3 +_0804C19A: + strb r0, [r5, #0xd] +_0804C19C: + ldrb r3, [r5, #0xd] + movs r0, #0xe + ands r0, r3 + cmp r0, #0 + bne _0804C1DE + ldr r2, _0804C1D0 @ =gUnk_03000BF0 + ldr r1, _0804C1D4 @ =gUnk_080D9340 + lsls r4, r3, #0x18 + lsrs r0, r4, #0x1c + adds r0, r0, r1 + ldrb r1, [r2, #0x10] + ldrb r0, [r0] + cmp r1, r0 + bne _0804C1D8 + lsrs r0, r4, #0x1c + adds r0, #1 + lsls r0, r0, #4 + movs r1, #0xf + ands r1, r3 + orrs r1, r0 + movs r0, #0xf + rsbs r0, r0, #0 + ands r1, r0 + strb r1, [r5, #0xd] + b _0804C1DE + .align 2, 0 +_0804C1D0: .4byte gUnk_03000BF0 +_0804C1D4: .4byte gUnk_080D9340 +_0804C1D8: + movs r0, #0xf + ands r0, r3 + strb r0, [r5, #0xd] +_0804C1DE: + adds r4, r5, #0 + ldrb r1, [r4, #0xd] + movs r0, #0xe + ands r0, r1 + cmp r0, #0xc + bne _0804C206 + movs r0, #1 + bl sub_080AF250 + movs r0, #0x62 + bl sub_0807CD04 + bl sub_0804C290 + ldrb r1, [r4, #0xd] + movs r0, #0xf + rsbs r0, r0, #0 + ands r0, r1 + strb r0, [r4, #0xd] + b _0804C254 +_0804C206: + movs r0, #0xf0 + ands r0, r1 + cmp r0, #0x60 + bne _0804C250 + movs r0, #1 + bl sub_080AF250 + movs r0, #0x5c + bl sub_0807CBD0 + cmp r0, #0 + bne _0804C228 + ldr r1, _0804C244 @ =0x00000107 + movs r0, #0x73 + movs r2, #1 + bl sub_0807B314 +_0804C228: + ldr r0, _0804C248 @ =gUnk_080D9328 + bl sub_0804B1AC + movs r0, #0x62 + bl sub_0807CD04 + bl sub_0804C290 + ldrb r1, [r5, #0xd] + movs r0, #0xf + ands r0, r1 + strb r0, [r5, #0xd] + b _0804C254 + .align 2, 0 +_0804C244: .4byte 0x00000107 +_0804C248: .4byte gUnk_080D9328 +_0804C24C: + bl sub_0804C258 +_0804C250: + bl sub_0804C290 +_0804C254: + pop {r4, r5, pc} + .align 2, 0 + + thumb_func_start sub_0804C258 +sub_0804C258: @ 0x0804C258 + push {lr} + ldr r3, _0804C288 @ =gUnk_02033A90 + ldrb r0, [r3, #0xd] + movs r2, #0xf + rsbs r2, r2, #0 + ands r2, r0 + movs r0, #2 + orrs r2, r0 + movs r0, #0xf + ands r2, r0 + strb r2, [r3, #0xd] + ldr r0, _0804C28C @ =gUnk_030010A0 + ldrb r0, [r0, #0xe] + cmp r0, #4 + bne _0804C284 + movs r1, #0xe + adds r0, r2, #0 + orrs r0, r1 + strb r0, [r3, #0xd] + movs r0, #1 + bl sub_080AF250 +_0804C284: + pop {pc} + .align 2, 0 +_0804C288: .4byte gUnk_02033A90 +_0804C28C: .4byte gUnk_030010A0 + + thumb_func_start sub_0804C290 +sub_0804C290: @ 0x0804C290 + push {lr} + ldr r0, _0804C2B4 @ =gUnk_02033A90 + ldrb r1, [r0, #0xd] + movs r0, #0xe + ands r0, r1 + cmp r0, #0 + beq _0804C2B2 + lsls r1, r1, #0x1c + lsrs r1, r1, #0x1d + lsls r1, r1, #2 + ldr r0, _0804C2B8 @ =gUnk_080D9348 + adds r1, r1, r0 + ldrh r0, [r1] + ldrh r1, [r1, #2] + movs r2, #1 + bl sub_0807B314 +_0804C2B2: + pop {pc} + .align 2, 0 +_0804C2B4: .4byte gUnk_02033A90 +_0804C2B8: .4byte gUnk_080D9348 + + thumb_func_start sub_0804C2BC +sub_0804C2BC: @ 0x0804C2BC + movs r0, #1 + bx lr + + thumb_func_start nullsub_196 +nullsub_196: @ 0x0804C2C0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C2C4 +sub_0804C2C4: @ 0x0804C2C4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_197 +nullsub_197: @ 0x0804C2C8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C2CC +sub_0804C2CC: @ 0x0804C2CC + movs r0, #1 + bx lr + + thumb_func_start sub_0804C2D0 +sub_0804C2D0: @ 0x0804C2D0 + push {lr} + movs r0, #0 + bl sub_08058324 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804C2DC +sub_0804C2DC: @ 0x0804C2DC + movs r0, #1 + bx lr + + thumb_func_start sub_0804C2E0 +sub_0804C2E0: @ 0x0804C2E0 + push {lr} + movs r0, #1 + bl sub_08058324 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804C2EC +sub_0804C2EC: @ 0x0804C2EC + movs r0, #1 + bx lr + + thumb_func_start sub_0804C2F0 +sub_0804C2F0: @ 0x0804C2F0 + push {lr} + movs r0, #2 + bl sub_08058324 + movs r0, #0x29 + bl GetProgressFlag + cmp r0, #0 + beq _0804C312 + movs r0, #0x2a + bl GetProgressFlag + cmp r0, #0 + bne _0804C312 + ldr r0, _0804C314 @ =gUnk_080D9800 + bl sub_0804ADDC +_0804C312: + pop {pc} + .align 2, 0 +_0804C314: .4byte gUnk_080D9800 + + thumb_func_start sub_0804C318 +sub_0804C318: @ 0x0804C318 + push {lr} + bl sub_0804C2F0 + pop {pc} + + thumb_func_start sub_0804C320 +sub_0804C320: @ 0x0804C320 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C324 +sub_0804C324: @ 0x0804C324 + push {lr} + movs r0, #3 + bl sub_08058324 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804C330 +sub_0804C330: @ 0x0804C330 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C334 +sub_0804C334: @ 0x0804C334 + push {lr} + movs r0, #0x1e + bl sub_0807CD04 + movs r0, #0x5b + bl sub_0801E7F4 + cmp r0, #0 + beq _0804C34C + ldr r0, _0804C374 @ =gUnk_080D9CC8 + bl sub_0804ADDC +_0804C34C: + ldr r0, _0804C378 @ =gUnk_02002A40 + ldr r0, [r0, #0x40] + movs r1, #0x80 + lsls r1, r1, #0x16 + ands r0, r1 + cmp r0, #0 + bne _0804C360 + ldr r0, _0804C37C @ =gUnk_080D9CE8 + bl sub_0804ADDC +_0804C360: + movs r0, #0x15 + bl sub_0807CA84 + cmp r0, #0 + bne _0804C370 + ldr r0, _0804C380 @ =gUnk_080D9C38 + bl sub_0804ADDC +_0804C370: + pop {pc} + .align 2, 0 +_0804C374: .4byte gUnk_080D9CC8 +_0804C378: .4byte gUnk_02002A40 +_0804C37C: .4byte gUnk_080D9CE8 +_0804C380: .4byte gUnk_080D9C38 + + thumb_func_start sub_0804C384 +sub_0804C384: @ 0x0804C384 + push {lr} + ldr r0, _0804C39C @ =gUnk_02002A40 + ldr r0, [r0, #0x40] + movs r1, #0x80 + lsls r1, r1, #0x16 + ands r0, r1 + cmp r0, #0 + bne _0804C39A + ldr r0, _0804C3A0 @ =gUnk_080D9CE8 + bl sub_0804ADDC +_0804C39A: + pop {pc} + .align 2, 0 +_0804C39C: .4byte gUnk_02002A40 +_0804C3A0: .4byte gUnk_080D9CE8 + + thumb_func_start sub_0804C3A4 +sub_0804C3A4: @ 0x0804C3A4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_198 +nullsub_198: @ 0x0804C3A8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C3AC +sub_0804C3AC: @ 0x0804C3AC + movs r0, #1 + bx lr + + thumb_func_start nullsub_199 +nullsub_199: @ 0x0804C3B0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C3B4 +sub_0804C3B4: @ 0x0804C3B4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_200 +nullsub_200: @ 0x0804C3B8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C3BC +sub_0804C3BC: @ 0x0804C3BC + movs r0, #1 + bx lr + + thumb_func_start nullsub_201 +nullsub_201: @ 0x0804C3C0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C3C4 +sub_0804C3C4: @ 0x0804C3C4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_202 +nullsub_202: @ 0x0804C3C8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C3CC +sub_0804C3CC: @ 0x0804C3CC + push {lr} + movs r0, #0x39 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804C3DE + ldr r1, _0804C3E4 @ =gUnk_02034350 + ldr r0, _0804C3E8 @ =gUnk_080DA230 + str r0, [r1, #0x6c] +_0804C3DE: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804C3E4: .4byte gUnk_02034350 +_0804C3E8: .4byte gUnk_080DA230 + + thumb_func_start nullsub_203 +nullsub_203: @ 0x0804C3EC + bx lr + .align 2, 0 + + thumb_func_start sub_0804C3F0 +sub_0804C3F0: @ 0x0804C3F0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_204 +nullsub_204: @ 0x0804C3F4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C3F8 +sub_0804C3F8: @ 0x0804C3F8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_205 +nullsub_205: @ 0x0804C3FC + bx lr + .align 2, 0 + + thumb_func_start sub_0804C400 +sub_0804C400: @ 0x0804C400 + movs r0, #1 + bx lr + + thumb_func_start nullsub_206 +nullsub_206: @ 0x0804C404 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C408 +sub_0804C408: @ 0x0804C408 + movs r0, #1 + bx lr + + thumb_func_start nullsub_207 +nullsub_207: @ 0x0804C40C + bx lr + .align 2, 0 + + thumb_func_start sub_0804C410 +sub_0804C410: @ 0x0804C410 + movs r0, #1 + bx lr + + thumb_func_start nullsub_208 +nullsub_208: @ 0x0804C414 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C418 +sub_0804C418: @ 0x0804C418 + movs r0, #1 + bx lr + + thumb_func_start nullsub_209 +nullsub_209: @ 0x0804C41C + bx lr + .align 2, 0 + + thumb_func_start sub_0804C420 +sub_0804C420: @ 0x0804C420 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C424 +sub_0804C424: @ 0x0804C424 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C42C +sub_0804C42C: @ 0x0804C42C + movs r0, #1 + bx lr + + thumb_func_start sub_0804C430 +sub_0804C430: @ 0x0804C430 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C438 +sub_0804C438: @ 0x0804C438 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C43C +sub_0804C43C: @ 0x0804C43C + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C444 +sub_0804C444: @ 0x0804C444 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C448 +sub_0804C448: @ 0x0804C448 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C450 +sub_0804C450: @ 0x0804C450 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C454 +sub_0804C454: @ 0x0804C454 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C45C +sub_0804C45C: @ 0x0804C45C + movs r0, #1 + bx lr + + thumb_func_start sub_0804C460 +sub_0804C460: @ 0x0804C460 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C468 +sub_0804C468: @ 0x0804C468 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C46C +sub_0804C46C: @ 0x0804C46C + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C474 +sub_0804C474: @ 0x0804C474 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C478 +sub_0804C478: @ 0x0804C478 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C480 +sub_0804C480: @ 0x0804C480 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C484 +sub_0804C484: @ 0x0804C484 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C48C +sub_0804C48C: @ 0x0804C48C + movs r0, #1 + bx lr + + thumb_func_start sub_0804C490 +sub_0804C490: @ 0x0804C490 + push {r4, lr} + movs r0, #0x5b + bl sub_0807CA84 + cmp r0, #0 + bne _0804C4A8 + ldr r0, _0804C4A4 @ =gUnk_080DAB44 + bl sub_0804ADDC + b _0804C4AE + .align 2, 0 +_0804C4A4: .4byte gUnk_080DAB44 +_0804C4A8: + ldr r0, _0804C4D8 @ =gUnk_080DAB64 + bl sub_0804ADDC +_0804C4AE: + movs r0, #0x54 + bl GetProgressFlag + cmp r0, #0 + beq _0804C4F0 + bl sub_08060354 + cmp r0, #0 + beq _0804C4F0 + movs r0, #0 + bl sub_0807CD10 + movs r0, #0x3b + bl GetProgressFlag + cmp r0, #0 + bne _0804C4DC + movs r4, #0xc8 + lsls r4, r4, #6 + b _0804C522 + .align 2, 0 +_0804C4D8: .4byte gUnk_080DAB64 +_0804C4DC: + movs r0, #0x3c + bl GetProgressFlag + movs r4, #0x91 + lsls r4, r4, #7 + cmp r0, #0 + bne _0804C522 + movs r4, #0x8c + lsls r4, r4, #7 + b _0804C522 +_0804C4F0: + movs r0, #0x3d + bl GetProgressFlag + cmp r0, #0 + beq _0804C500 + movs r4, #0x92 + lsls r4, r4, #7 + b _0804C522 +_0804C500: + movs r0, #0x3c + bl GetProgressFlag + cmp r0, #0 + beq _0804C510 + movs r4, #0x94 + lsls r4, r4, #7 + b _0804C522 +_0804C510: + movs r0, #0x3b + bl GetProgressFlag + movs r4, #0x92 + lsls r4, r4, #8 + cmp r0, #0 + beq _0804C522 + movs r4, #0xa4 + lsls r4, r4, #7 +_0804C522: + movs r0, #0x80 + lsls r0, r0, #8 + ands r0, r4 + cmp r0, #0 + beq _0804C532 + ldr r0, _0804C5B8 @ =gUnk_080DAB84 + bl sub_0804ADDC +_0804C532: + movs r0, #0x80 + lsls r0, r0, #7 + ands r0, r4 + cmp r0, #0 + beq _0804C542 + ldr r0, _0804C5BC @ =gUnk_080DAC54 + bl sub_0804ADDC +_0804C542: + movs r0, #0x80 + lsls r0, r0, #6 + ands r0, r4 + cmp r0, #0 + beq _0804C552 + ldr r0, _0804C5C0 @ =gUnk_080DAD24 + bl sub_0804ADDC +_0804C552: + movs r0, #0x80 + lsls r0, r0, #5 + ands r0, r4 + cmp r0, #0 + beq _0804C562 + ldr r0, _0804C5C4 @ =gUnk_080DABC4 + bl sub_0804ADDC +_0804C562: + movs r0, #0x80 + lsls r0, r0, #4 + ands r0, r4 + cmp r0, #0 + beq _0804C572 + ldr r0, _0804C5C8 @ =gUnk_080DAC94 + bl sub_0804ADDC +_0804C572: + movs r0, #0x80 + lsls r0, r0, #3 + ands r0, r4 + cmp r0, #0 + beq _0804C582 + ldr r0, _0804C5CC @ =gUnk_080DAD64 + bl sub_0804ADDC +_0804C582: + movs r0, #0x80 + lsls r0, r0, #2 + ands r0, r4 + cmp r0, #0 + beq _0804C592 + ldr r0, _0804C5D0 @ =gUnk_080DAC04 + bl sub_0804ADDC +_0804C592: + movs r0, #0x80 + lsls r0, r0, #1 + ands r0, r4 + cmp r0, #0 + beq _0804C5A2 + ldr r0, _0804C5D4 @ =gUnk_080DACD4 + bl sub_0804ADDC +_0804C5A2: + movs r0, #0x80 + ands r4, r0 + cmp r4, #0 + beq _0804C5B0 + ldr r0, _0804C5D8 @ =gUnk_080DADA4 + bl sub_0804ADDC +_0804C5B0: + bl sub_0801AFE4 + pop {r4, pc} + .align 2, 0 +_0804C5B8: .4byte gUnk_080DAB84 +_0804C5BC: .4byte gUnk_080DAC54 +_0804C5C0: .4byte gUnk_080DAD24 +_0804C5C4: .4byte gUnk_080DABC4 +_0804C5C8: .4byte gUnk_080DAC94 +_0804C5CC: .4byte gUnk_080DAD64 +_0804C5D0: .4byte gUnk_080DAC04 +_0804C5D4: .4byte gUnk_080DACD4 +_0804C5D8: .4byte gUnk_080DADA4 + + thumb_func_start sub_0804C5DC +sub_0804C5DC: @ 0x0804C5DC + movs r0, #1 + bx lr + + thumb_func_start sub_0804C5E0 +sub_0804C5E0: @ 0x0804C5E0 + push {lr} + movs r0, #0x56 + bl GetProgressFlag + cmp r0, #0 + beq _0804C5F2 + ldr r0, _0804C5F8 @ =gUnk_080DAEE8 + bl sub_0804ADDC +_0804C5F2: + bl sub_0801AFE4 + pop {pc} + .align 2, 0 +_0804C5F8: .4byte gUnk_080DAEE8 + + thumb_func_start sub_0804C5FC +sub_0804C5FC: @ 0x0804C5FC + movs r0, #1 + bx lr + + thumb_func_start sub_0804C600 +sub_0804C600: @ 0x0804C600 + push {lr} + movs r0, #0x56 + bl GetProgressFlag + cmp r0, #0 + beq _0804C612 + ldr r0, _0804C618 @ =gUnk_080DAF80 + bl sub_0804ADDC +_0804C612: + bl sub_0801AFE4 + pop {pc} + .align 2, 0 +_0804C618: .4byte gUnk_080DAF80 + + thumb_func_start sub_0804C61C +sub_0804C61C: @ 0x0804C61C + movs r0, #1 + bx lr + + thumb_func_start sub_0804C620 +sub_0804C620: @ 0x0804C620 + push {lr} + movs r0, #0x56 + bl GetProgressFlag + cmp r0, #0 + beq _0804C632 + ldr r0, _0804C638 @ =gUnk_080DB018 + bl sub_0804ADDC +_0804C632: + bl sub_0801AFE4 + pop {pc} + .align 2, 0 +_0804C638: .4byte gUnk_080DB018 + + thumb_func_start sub_0804C63C +sub_0804C63C: @ 0x0804C63C + movs r0, #1 + bx lr + + thumb_func_start sub_0804C640 +sub_0804C640: @ 0x0804C640 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C648 +sub_0804C648: @ 0x0804C648 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C64C +sub_0804C64C: @ 0x0804C64C + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C654 +sub_0804C654: @ 0x0804C654 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C658 +sub_0804C658: @ 0x0804C658 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C660 +sub_0804C660: @ 0x0804C660 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C664 +sub_0804C664: @ 0x0804C664 + push {lr} + ldr r0, _0804C67C @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #8 + bls _0804C674 + ldr r0, _0804C680 @ =gUnk_080DB238 + bl sub_0804ADDC +_0804C674: + bl sub_0801AFE4 + pop {pc} + .align 2, 0 +_0804C67C: .4byte gUnk_02002A40 +_0804C680: .4byte gUnk_080DB238 + + thumb_func_start sub_0804C684 +sub_0804C684: @ 0x0804C684 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C688 +sub_0804C688: @ 0x0804C688 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C690 +sub_0804C690: @ 0x0804C690 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C694 +sub_0804C694: @ 0x0804C694 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C69C +sub_0804C69C: @ 0x0804C69C + movs r0, #1 + bx lr + + thumb_func_start sub_0804C6A0 +sub_0804C6A0: @ 0x0804C6A0 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C6A8 +sub_0804C6A8: @ 0x0804C6A8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C6AC +sub_0804C6AC: @ 0x0804C6AC + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C6B4 +sub_0804C6B4: @ 0x0804C6B4 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C6B8 +sub_0804C6B8: @ 0x0804C6B8 + push {lr} + movs r0, #0x46 + bl sub_0807CA84 + cmp r0, #0 + bne _0804C6E4 + movs r0, #0x3b + bl sub_0807CA84 + cmp r0, #0 + bne _0804C6E4 + movs r0, #0x71 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804C6E4 + ldr r0, _0804C6E0 @ =gUnk_080DB4D0 + bl sub_0804ADDC + b _0804C6EA + .align 2, 0 +_0804C6E0: .4byte gUnk_080DB4D0 +_0804C6E4: + ldr r0, _0804C6F0 @ =gUnk_080DB4A0 + bl sub_0804ADDC +_0804C6EA: + bl sub_0801AFE4 + pop {pc} + .align 2, 0 +_0804C6F0: .4byte gUnk_080DB4A0 + + thumb_func_start sub_0804C6F4 +sub_0804C6F4: @ 0x0804C6F4 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C6F8 +sub_0804C6F8: @ 0x0804C6F8 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C700 +sub_0804C700: @ 0x0804C700 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C704 +sub_0804C704: @ 0x0804C704 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C70C +sub_0804C70C: @ 0x0804C70C + movs r0, #1 + bx lr + + thumb_func_start sub_0804C710 +sub_0804C710: @ 0x0804C710 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C718 +sub_0804C718: @ 0x0804C718 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C71C +sub_0804C71C: @ 0x0804C71C + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C724 +sub_0804C724: @ 0x0804C724 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C728 +sub_0804C728: @ 0x0804C728 + push {lr} + bl sub_0801AFE4 + pop {pc} + + thumb_func_start sub_0804C730 +sub_0804C730: @ 0x0804C730 + push {lr} + movs r0, #0x29 + bl GetProgressFlag + cmp r0, #0 + beq _0804C74C + movs r0, #0x73 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804C74C + ldr r1, _0804C750 @ =gUnk_02034350 + ldr r0, _0804C754 @ =gUnk_080DB910 + str r0, [r1, #0x70] +_0804C74C: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804C750: .4byte gUnk_02034350 +_0804C754: .4byte gUnk_080DB910 + + thumb_func_start sub_0804C758 +sub_0804C758: @ 0x0804C758 + push {lr} + ldr r0, _0804C780 @ =gUnk_080DB8F0 + bl sub_0804ADDC + movs r0, #0x46 + bl sub_0807CA84 + cmp r0, #0 + bne _0804C77A + movs r0, #0x29 + bl GetProgressFlag + cmp r0, #0 + beq _0804C77A + ldr r0, _0804C784 @ =gUnk_080DB820 + bl sub_0804ADDC +_0804C77A: + bl sub_0801AFE4 + pop {pc} + .align 2, 0 +_0804C780: .4byte gUnk_080DB8F0 +_0804C784: .4byte gUnk_080DB820 + + thumb_func_start sub_0804C788 +sub_0804C788: @ 0x0804C788 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C78C +sub_0804C78C: @ 0x0804C78C + push {lr} + movs r0, #0x46 + bl sub_0807CA84 + cmp r0, #0 + bne _0804C7A2 + movs r0, #0x73 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804C7A8 +_0804C7A2: + ldr r0, _0804C7B0 @ =gUnk_080DBA08 + bl sub_0804ADDC +_0804C7A8: + bl sub_0801AFE4 + pop {pc} + .align 2, 0 +_0804C7B0: .4byte gUnk_080DBA08 + + thumb_func_start sub_0804C7B4 +sub_0804C7B4: @ 0x0804C7B4 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C7B8 +sub_0804C7B8: @ 0x0804C7B8 + push {r4, r5, lr} + movs r0, #0x60 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804C7CA + ldr r0, _0804C7E4 @ =gUnk_080DBB50 + bl sub_0804ADDC +_0804C7CA: + movs r0, #0x15 + bl sub_0807CA84 + cmp r0, #1 + bne _0804C7F0 + ldr r0, _0804C7E8 @ =gUnk_080DBB70 + bl sub_0804ADDC + ldr r0, _0804C7EC @ =gUnk_080DBB10 + bl sub_0804ADDC + b _0804C7F6 + .align 2, 0 +_0804C7E4: .4byte gUnk_080DBB50 +_0804C7E8: .4byte gUnk_080DBB70 +_0804C7EC: .4byte gUnk_080DBB10 +_0804C7F0: + ldr r0, _0804C824 @ =gUnk_080DBAD0 + bl sub_0804ADDC +_0804C7F6: + movs r0, #0x62 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804C818 + movs r5, #0xa0 + lsls r5, r5, #1 + movs r4, #0 +_0804C806: + ldr r0, _0804C828 @ =0x00004072 + adds r1, r5, #0 + movs r2, #1 + bl sub_0807B314 + adds r4, #1 + adds r5, #1 + cmp r4, #0x12 + bls _0804C806 +_0804C818: + ldr r0, _0804C82C @ =gUnk_080DBB90 + bl sub_0804ADDC + bl sub_0801AFE4 + pop {r4, r5, pc} + .align 2, 0 +_0804C824: .4byte gUnk_080DBAD0 +_0804C828: .4byte 0x00004072 +_0804C82C: .4byte gUnk_080DBB90 + + thumb_func_start sub_0804C830 +sub_0804C830: @ 0x0804C830 + movs r0, #1 + bx lr + + thumb_func_start nullsub_210 +nullsub_210: @ 0x0804C834 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C838 +sub_0804C838: @ 0x0804C838 + movs r0, #1 + bx lr + + thumb_func_start nullsub_211 +nullsub_211: @ 0x0804C83C + bx lr + .align 2, 0 + + thumb_func_start sub_0804C840 +sub_0804C840: @ 0x0804C840 + movs r0, #1 + bx lr + + thumb_func_start nullsub_212 +nullsub_212: @ 0x0804C844 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C848 +sub_0804C848: @ 0x0804C848 + movs r0, #1 + bx lr + + thumb_func_start nullsub_213 +nullsub_213: @ 0x0804C84C + bx lr + .align 2, 0 + + thumb_func_start sub_0804C850 +sub_0804C850: @ 0x0804C850 + movs r0, #1 + bx lr + + thumb_func_start nullsub_214 +nullsub_214: @ 0x0804C854 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C858 +sub_0804C858: @ 0x0804C858 + movs r0, #1 + bx lr + + thumb_func_start nullsub_215 +nullsub_215: @ 0x0804C85C + bx lr + .align 2, 0 + + thumb_func_start sub_0804C860 +sub_0804C860: @ 0x0804C860 + movs r0, #1 + bx lr + + thumb_func_start nullsub_216 +nullsub_216: @ 0x0804C864 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C868 +sub_0804C868: @ 0x0804C868 + movs r0, #1 + bx lr + + thumb_func_start nullsub_217 +nullsub_217: @ 0x0804C86C + bx lr + .align 2, 0 + + thumb_func_start sub_0804C870 +sub_0804C870: @ 0x0804C870 + movs r0, #1 + bx lr + + thumb_func_start nullsub_218 +nullsub_218: @ 0x0804C874 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C878 +sub_0804C878: @ 0x0804C878 + movs r0, #1 + bx lr + + thumb_func_start nullsub_219 +nullsub_219: @ 0x0804C87C + bx lr + .align 2, 0 + + thumb_func_start sub_0804C880 +sub_0804C880: @ 0x0804C880 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C884 +sub_0804C884: @ 0x0804C884 + push {lr} + movs r0, #0x5b + bl sub_0807CA84 + cmp r0, #0 + bne _0804C8B4 + ldr r0, _0804C8AC @ =gUnk_080DC390 + bl sub_0804ADDC + movs r0, #0x80 + lsls r0, r0, #2 + movs r1, #0x80 + bl GetProgressFlagWithOffset + cmp r0, #0 + bne _0804C8CA + ldr r0, _0804C8B0 @ =gUnk_080DC3F0 + bl sub_0804ADDC + b _0804C8CA + .align 2, 0 +_0804C8AC: .4byte gUnk_080DC390 +_0804C8B0: .4byte gUnk_080DC3F0 +_0804C8B4: + ldr r0, _0804C900 @ =gUnk_080DC430 + bl sub_0804ADDC + movs r0, #0x11 + bl sub_0807CA84 + cmp r0, #0 + bne _0804C8CA + ldr r0, _0804C904 @ =gUnk_080DC530 + bl sub_0804ADDC +_0804C8CA: + movs r0, #0x80 + lsls r0, r0, #2 + movs r1, #0x83 + bl GetProgressFlagWithOffset + cmp r0, #0 + bne _0804C8E8 + movs r0, #0x11 + bl sub_0807CA84 + cmp r0, #0 + beq _0804C8E8 + ldr r0, _0804C908 @ =gUnk_080DC470 + bl sub_0804ADDC +_0804C8E8: + movs r0, #0x8d + bl sub_0807CBD0 + cmp r0, #0 + bne _0804C8F8 + ldr r0, _0804C90C @ =gUnk_080DC4C0 + bl sub_0804ADDC +_0804C8F8: + bl sub_08057E64 + pop {pc} + .align 2, 0 +_0804C900: .4byte gUnk_080DC430 +_0804C904: .4byte gUnk_080DC530 +_0804C908: .4byte gUnk_080DC470 +_0804C90C: .4byte gUnk_080DC4C0 + + thumb_func_start sub_0804C910 +sub_0804C910: @ 0x0804C910 + movs r0, #1 + bx lr + + thumb_func_start nullsub_220 +nullsub_220: @ 0x0804C914 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C918 +sub_0804C918: @ 0x0804C918 + push {r4, r5, lr} + ldr r4, _0804C940 @ =gUnk_086D4460 + movs r1, #0xc0 + lsls r1, r1, #0x13 + movs r5, #0x80 + lsls r5, r5, #7 + adds r0, r4, #0 + adds r2, r5, #0 + bl sub_08000E96 + adds r4, r4, r5 + ldr r1, _0804C944 @ =0x06008000 + adds r0, r4, #0 + adds r2, r5, #0 + bl sub_08000E96 + movs r0, #0x19 + bl sub_0801D714 + pop {r4, r5, pc} + .align 2, 0 +_0804C940: .4byte gUnk_086D4460 +_0804C944: .4byte 0x06008000 + + thumb_func_start sub_0804C948 +sub_0804C948: @ 0x0804C948 + movs r0, #1 + bx lr + + thumb_func_start nullsub_221 +nullsub_221: @ 0x0804C94C + bx lr + .align 2, 0 + + thumb_func_start sub_0804C950 +sub_0804C950: @ 0x0804C950 + movs r0, #1 + bx lr + + thumb_func_start nullsub_222 +nullsub_222: @ 0x0804C954 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C958 +sub_0804C958: @ 0x0804C958 + movs r0, #1 + bx lr + + thumb_func_start nullsub_223 +nullsub_223: @ 0x0804C95C + bx lr + .align 2, 0 + + thumb_func_start sub_0804C960 +sub_0804C960: @ 0x0804C960 + movs r0, #1 + bx lr + + thumb_func_start nullsub_224 +nullsub_224: @ 0x0804C964 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C968 +sub_0804C968: @ 0x0804C968 + movs r0, #1 + bx lr + + thumb_func_start nullsub_225 +nullsub_225: @ 0x0804C96C + bx lr + .align 2, 0 + + thumb_func_start sub_0804C970 +sub_0804C970: @ 0x0804C970 + movs r0, #1 + bx lr + + thumb_func_start nullsub_226 +nullsub_226: @ 0x0804C974 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C978 +sub_0804C978: @ 0x0804C978 + movs r0, #1 + bx lr + + thumb_func_start nullsub_227 +nullsub_227: @ 0x0804C97C + bx lr + .align 2, 0 + + thumb_func_start sub_0804C980 +sub_0804C980: @ 0x0804C980 + movs r0, #1 + bx lr + + thumb_func_start nullsub_228 +nullsub_228: @ 0x0804C984 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C988 +sub_0804C988: @ 0x0804C988 + movs r0, #1 + bx lr + + thumb_func_start nullsub_229 +nullsub_229: @ 0x0804C98C + bx lr + .align 2, 0 + + thumb_func_start sub_0804C990 +sub_0804C990: @ 0x0804C990 + movs r0, #1 + bx lr + + thumb_func_start nullsub_230 +nullsub_230: @ 0x0804C994 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C998 +sub_0804C998: @ 0x0804C998 + movs r0, #1 + bx lr + + thumb_func_start sub_0804C99C +sub_0804C99C: @ 0x0804C99C + push {lr} + movs r0, #9 + bl sub_0807CA84 + cmp r0, #0 + bne _0804C9AE + ldr r0, _0804C9B0 @ =gUnk_080DCB10 + bl sub_0804ADDC +_0804C9AE: + pop {pc} + .align 2, 0 +_0804C9B0: .4byte gUnk_080DCB10 + + thumb_func_start sub_0804C9B4 +sub_0804C9B4: @ 0x0804C9B4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_231 +nullsub_231: @ 0x0804C9B8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C9BC +sub_0804C9BC: @ 0x0804C9BC + movs r0, #1 + bx lr + + thumb_func_start nullsub_232 +nullsub_232: @ 0x0804C9C0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C9C4 +sub_0804C9C4: @ 0x0804C9C4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_233 +nullsub_233: @ 0x0804C9C8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C9CC +sub_0804C9CC: @ 0x0804C9CC + movs r0, #1 + bx lr + + thumb_func_start nullsub_234 +nullsub_234: @ 0x0804C9D0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C9D4 +sub_0804C9D4: @ 0x0804C9D4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_235 +nullsub_235: @ 0x0804C9D8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C9DC +sub_0804C9DC: @ 0x0804C9DC + movs r0, #1 + bx lr + + thumb_func_start nullsub_236 +nullsub_236: @ 0x0804C9E0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C9E4 +sub_0804C9E4: @ 0x0804C9E4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_237 +nullsub_237: @ 0x0804C9E8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C9EC +sub_0804C9EC: @ 0x0804C9EC + movs r0, #1 + bx lr + + thumb_func_start nullsub_238 +nullsub_238: @ 0x0804C9F0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C9F4 +sub_0804C9F4: @ 0x0804C9F4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_239 +nullsub_239: @ 0x0804C9F8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804C9FC +sub_0804C9FC: @ 0x0804C9FC + movs r0, #1 + bx lr + + thumb_func_start nullsub_240 +nullsub_240: @ 0x0804CA00 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CA04 +sub_0804CA04: @ 0x0804CA04 + movs r0, #1 + bx lr + + thumb_func_start nullsub_241 +nullsub_241: @ 0x0804CA08 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CA0C +sub_0804CA0C: @ 0x0804CA0C + movs r0, #1 + bx lr + + thumb_func_start sub_0804CA10 +sub_0804CA10: @ 0x0804CA10 + push {lr} + movs r0, #0x56 + bl GetProgressFlag + cmp r0, #0 + bne _0804CA22 + ldr r0, _0804CA34 @ =gUnk_080DD214 + bl sub_0804ADDC +_0804CA22: + movs r0, #0x7f + bl sub_0807CBD0 + cmp r0, #0 + bne _0804CA3C + ldr r0, _0804CA38 @ =gUnk_080DD274 + bl sub_0804ADDC + b _0804CA42 + .align 2, 0 +_0804CA34: .4byte gUnk_080DD214 +_0804CA38: .4byte gUnk_080DD274 +_0804CA3C: + ldr r0, _0804CA4C @ =gUnk_080DD294 + bl sub_0804ADDC +_0804CA42: + movs r0, #0x8e + bl sub_0807CCB4 + pop {pc} + .align 2, 0 +_0804CA4C: .4byte gUnk_080DD294 + + thumb_func_start sub_0804CA50 +sub_0804CA50: @ 0x0804CA50 + movs r0, #1 + bx lr + + thumb_func_start sub_0804CA54 +sub_0804CA54: @ 0x0804CA54 + push {lr} + ldr r0, _0804CA6C @ =gUnk_02002A40 + ldr r0, [r0, #0x40] + movs r1, #0x80 + lsls r1, r1, #0x13 + ands r0, r1 + cmp r0, #0 + bne _0804CA6A + ldr r0, _0804CA70 @ =gUnk_080DD364 + bl sub_0804ADDC +_0804CA6A: + pop {pc} + .align 2, 0 +_0804CA6C: .4byte gUnk_02002A40 +_0804CA70: .4byte gUnk_080DD364 + + thumb_func_start sub_0804CA74 +sub_0804CA74: @ 0x0804CA74 + push {lr} + ldr r0, _0804CA8C @ =gUnk_02002A40 + ldr r0, [r0, #0x40] + movs r1, #0x80 + lsls r1, r1, #0x13 + ands r0, r1 + cmp r0, #0 + bne _0804CA8A + ldr r0, _0804CA90 @ =gUnk_080DD364 + bl sub_0804ADDC +_0804CA8A: + pop {pc} + .align 2, 0 +_0804CA8C: .4byte gUnk_02002A40 +_0804CA90: .4byte gUnk_080DD364 + + thumb_func_start sub_0804CA94 +sub_0804CA94: @ 0x0804CA94 + movs r0, #1 + bx lr + + thumb_func_start nullsub_242 +nullsub_242: @ 0x0804CA98 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CA9C +sub_0804CA9C: @ 0x0804CA9C + movs r0, #1 + bx lr + + thumb_func_start sub_0804CAA0 +sub_0804CAA0: @ 0x0804CAA0 + push {lr} + movs r0, #0x24 + bl GetProgressFlag + cmp r0, #0 + beq _0804CAB2 + ldr r0, _0804CAC4 @ =0x000006DE + bl sub_0809F814 +_0804CAB2: + movs r0, #0xf3 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804CAC8 + movs r0, #0xe0 + bl sub_0809F814 + b _0804CACE + .align 2, 0 +_0804CAC4: .4byte 0x000006DE +_0804CAC8: + ldr r0, _0804CAE0 @ =gUnk_080DD7E0 + bl sub_0804ADDC +_0804CACE: + movs r0, #0xf5 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804CAE8 + ldr r0, _0804CAE4 @ =0x00000BA3 + bl sub_0809F814 + b _0804CAEE + .align 2, 0 +_0804CAE0: .4byte gUnk_080DD7E0 +_0804CAE4: .4byte 0x00000BA3 +_0804CAE8: + ldr r0, _0804CAF0 @ =gUnk_080DD840 + bl sub_0804ADDC +_0804CAEE: + pop {pc} + .align 2, 0 +_0804CAF0: .4byte gUnk_080DD840 + + thumb_func_start sub_0804CAF4 +sub_0804CAF4: @ 0x0804CAF4 + movs r0, #1 + bx lr + + thumb_func_start sub_0804CAF8 +sub_0804CAF8: @ 0x0804CAF8 + push {lr} + bl sub_080300E8 + movs r0, #0x24 + bl sub_0807CCB4 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804CB08 +sub_0804CB08: @ 0x0804CB08 + movs r0, #1 + bx lr + + thumb_func_start nullsub_37 +nullsub_37: @ 0x0804CB0C + bx lr + .align 2, 0 + + thumb_func_start sub_0804CB10 +sub_0804CB10: @ 0x0804CB10 + movs r0, #1 + bx lr + + thumb_func_start sub_0804CB14 +sub_0804CB14: @ 0x0804CB14 + push {lr} + movs r0, #0x41 + bl sub_0801E7F4 + cmp r0, #0 + beq _0804CB26 + ldr r0, _0804CB28 @ =gUnk_080DDE88 + bl sub_0804ADDC +_0804CB26: + pop {pc} + .align 2, 0 +_0804CB28: .4byte gUnk_080DDE88 + + thumb_func_start sub_0804CB2C +sub_0804CB2C: @ 0x0804CB2C + push {lr} + movs r0, #0x80 + lsls r0, r0, #1 + movs r1, #0x27 + bl GetProgressFlagWithOffset + cmp r0, #0 + beq _0804CB42 + movs r0, #0x85 + bl sub_08059340 +_0804CB42: + pop {pc} + + thumb_func_start sub_0804CB44 +sub_0804CB44: @ 0x0804CB44 + movs r0, #1 + bx lr + + thumb_func_start nullsub_38 +nullsub_38: @ 0x0804CB48 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CB4C +sub_0804CB4C: @ 0x0804CB4C + movs r0, #1 + bx lr + + thumb_func_start sub_0804CB50 +sub_0804CB50: @ 0x0804CB50 + push {lr} + bl sub_080300E8 + movs r0, #4 + bl GetProgressFlag + cmp r0, #0 + beq _0804CB70 + movs r0, #3 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804CB70 + ldr r0, _0804CB74 @ =gUnk_080DE008 + bl sub_0804ADDC +_0804CB70: + pop {pc} + .align 2, 0 +_0804CB74: .4byte gUnk_080DE008 + + thumb_func_start sub_0804CB78 +sub_0804CB78: @ 0x0804CB78 + movs r0, #1 + bx lr + + thumb_func_start sub_0804CB7C +sub_0804CB7C: @ 0x0804CB7C + push {lr} + bl sub_080300E8 + movs r0, #0x30 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804CB92 + ldr r0, _0804CBA4 @ =gUnk_080DE1E0 + bl sub_0804ADDC +_0804CB92: + movs r0, #0x31 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804CBA2 + ldr r0, _0804CBA8 @ =gUnk_080DE200 + bl sub_0804ADDC +_0804CBA2: + pop {pc} + .align 2, 0 +_0804CBA4: .4byte gUnk_080DE1E0 +_0804CBA8: .4byte gUnk_080DE200 + + thumb_func_start sub_0804CBAC +sub_0804CBAC: @ 0x0804CBAC + movs r0, #1 + bx lr + + thumb_func_start sub_0804CBB0 +sub_0804CBB0: @ 0x0804CBB0 + push {lr} + ldr r0, _0804CBD8 @ =gLinkEntity + movs r2, #0x32 + ldrsh r1, [r0, r2] + ldr r2, _0804CBDC @ =gUnk_03000BF0 + ldrh r0, [r2, #8] + subs r1, r1, r0 + ldrh r0, [r2, #0x20] + lsrs r0, r0, #1 + cmp r1, r0 + bge _0804CBD6 + movs r0, #0x17 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804CBD6 + ldr r0, _0804CBE0 @ =gUnk_080DE4C8 + bl sub_0804ADDC +_0804CBD6: + pop {pc} + .align 2, 0 +_0804CBD8: .4byte gLinkEntity +_0804CBDC: .4byte gUnk_03000BF0 +_0804CBE0: .4byte gUnk_080DE4C8 + + thumb_func_start sub_0804CBE4 +sub_0804CBE4: @ 0x0804CBE4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_243 +nullsub_243: @ 0x0804CBE8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CBEC +sub_0804CBEC: @ 0x0804CBEC + movs r0, #1 + bx lr + + thumb_func_start sub_0804CBF0 +sub_0804CBF0: @ 0x0804CBF0 + push {lr} + movs r0, #0x4b + bl sub_0807CBD0 + cmp r0, #0 + bne _0804CC08 + ldr r0, _0804CC04 @ =gUnk_080DE814 + bl sub_0804ADDC + b _0804CC4A + .align 2, 0 +_0804CC04: .4byte gUnk_080DE814 +_0804CC08: + movs r0, #0x4c + bl sub_0807CBD0 + cmp r0, #0 + bne _0804CC2C + ldr r0, _0804CC24 @ =gUnk_080DE834 + bl sub_0804ADDC + ldr r1, _0804CC28 @ =0x00000285 + movs r0, #0x79 + movs r2, #1 + bl sub_0807B314 + b _0804CC4A + .align 2, 0 +_0804CC24: .4byte gUnk_080DE834 +_0804CC28: .4byte 0x00000285 +_0804CC2C: + ldr r1, _0804CC4C @ =0x00000285 + movs r0, #0x7a + movs r2, #1 + bl sub_0807B314 + movs r0, #0x24 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804CC4A + ldr r1, _0804CC50 @ =0x00000205 + movs r0, #0x73 + movs r2, #1 + bl sub_0807B314 +_0804CC4A: + pop {pc} + .align 2, 0 +_0804CC4C: .4byte 0x00000285 +_0804CC50: .4byte 0x00000205 + + thumb_func_start sub_0804CC54 +sub_0804CC54: @ 0x0804CC54 + movs r0, #1 + bx lr + + thumb_func_start nullsub_244 +nullsub_244: @ 0x0804CC58 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CC5C +sub_0804CC5C: @ 0x0804CC5C + movs r0, #1 + bx lr + + thumb_func_start nullsub_245 +nullsub_245: @ 0x0804CC60 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CC64 +sub_0804CC64: @ 0x0804CC64 + movs r0, #1 + bx lr + + thumb_func_start nullsub_246 +nullsub_246: @ 0x0804CC68 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CC6C +sub_0804CC6C: @ 0x0804CC6C + movs r0, #1 + bx lr + + thumb_func_start sub_0804CC70 +sub_0804CC70: @ 0x0804CC70 + push {lr} + ldr r0, _0804CC94 @ =gUnk_02002A40 + ldrb r0, [r0, #7] + cmp r0, #0 + beq _0804CC7E + cmp r0, #2 + beq _0804CCA0 +_0804CC7E: + ldr r1, _0804CC98 @ =0x0000020B + movs r0, #0x90 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804CC9C @ =0x00000411 + movs r0, #0x90 + movs r2, #1 + bl sub_0807B314 + b _0804CCB4 + .align 2, 0 +_0804CC94: .4byte gUnk_02002A40 +_0804CC98: .4byte 0x0000020B +_0804CC9C: .4byte 0x00000411 +_0804CCA0: + ldr r1, _0804CCE4 @ =0x00000211 + movs r0, #0x90 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804CCE8 @ =0x0000040B + movs r0, #0x90 + movs r2, #1 + bl sub_0807B314 +_0804CCB4: + movs r0, #0x15 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804CCCA + movs r1, #0xc1 + lsls r1, r1, #2 + movs r0, #0x76 + movs r2, #2 + bl sub_0807B314 +_0804CCCA: + movs r0, #0x16 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804CCE0 + movs r1, #0xc6 + lsls r1, r1, #2 + movs r0, #0x76 + movs r2, #2 + bl sub_0807B314 +_0804CCE0: + pop {pc} + .align 2, 0 +_0804CCE4: .4byte 0x00000211 +_0804CCE8: .4byte 0x0000040B + + thumb_func_start sub_0804CCEC +sub_0804CCEC: @ 0x0804CCEC + movs r0, #1 + bx lr + + thumb_func_start nullsub_247 +nullsub_247: @ 0x0804CCF0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CCF4 +sub_0804CCF4: @ 0x0804CCF4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_248 +nullsub_248: @ 0x0804CCF8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CCFC +sub_0804CCFC: @ 0x0804CCFC + movs r0, #1 + bx lr + + thumb_func_start nullsub_249 +nullsub_249: @ 0x0804CD00 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CD04 +sub_0804CD04: @ 0x0804CD04 + movs r0, #1 + bx lr + + thumb_func_start nullsub_250 +nullsub_250: @ 0x0804CD08 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CD0C +sub_0804CD0C: @ 0x0804CD0C + movs r0, #1 + bx lr + + thumb_func_start nullsub_251 +nullsub_251: @ 0x0804CD10 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CD14 +sub_0804CD14: @ 0x0804CD14 + movs r0, #1 + bx lr + + thumb_func_start nullsub_252 +nullsub_252: @ 0x0804CD18 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CD1C +sub_0804CD1C: @ 0x0804CD1C + movs r0, #1 + bx lr + + thumb_func_start nullsub_253 +nullsub_253: @ 0x0804CD20 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CD24 +sub_0804CD24: @ 0x0804CD24 + movs r0, #1 + bx lr + + thumb_func_start nullsub_254 +nullsub_254: @ 0x0804CD28 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CD2C +sub_0804CD2C: @ 0x0804CD2C + movs r0, #1 + bx lr + + thumb_func_start nullsub_255 +nullsub_255: @ 0x0804CD30 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CD34 +sub_0804CD34: @ 0x0804CD34 + movs r0, #1 + bx lr + + thumb_func_start nullsub_256 +nullsub_256: @ 0x0804CD38 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CD3C +sub_0804CD3C: @ 0x0804CD3C + movs r0, #1 + bx lr + + thumb_func_start nullsub_257 +nullsub_257: @ 0x0804CD40 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CD44 +sub_0804CD44: @ 0x0804CD44 + movs r0, #1 + bx lr + + thumb_func_start sub_0804CD48 +sub_0804CD48: @ 0x0804CD48 + push {r4, lr} + movs r0, #0x48 + bl sub_0807CBD0 + adds r4, r0, #0 + cmp r4, #0 + bne _0804CD80 + movs r0, #0x48 + bl sub_0807CCB4 + movs r0, #5 + movs r1, #0 + bl sub_080A7138 + ldr r0, _0804CD94 @ =gUnk_02000070 + strb r4, [r0] + ldr r0, _0804CD98 @ =gUnk_03000FD0 + strb r4, [r0] + ldr r0, _0804CD9C @ =gUnk_0200B644 + str r4, [r0] + movs r1, #0xa0 + lsls r1, r1, #0x13 + ldr r2, _0804CDA0 @ =0x00007FFF + adds r0, r2, #0 + strh r0, [r1] + movs r0, #1 + bl sub_0801DA90 +_0804CD80: + movs r0, #2 + bl GetProgressFlag + cmp r0, #0 + beq _0804CDA8 + ldr r0, _0804CDA4 @ =gUnk_080DF94C + bl sub_0804ADDC + b _0804CDBE + .align 2, 0 +_0804CD94: .4byte gUnk_02000070 +_0804CD98: .4byte gUnk_03000FD0 +_0804CD9C: .4byte gUnk_0200B644 +_0804CDA0: .4byte 0x00007FFF +_0804CDA4: .4byte gUnk_080DF94C +_0804CDA8: + ldr r0, _0804CDC0 @ =0x80100000 + bl sub_080A3268 + ldr r0, _0804CDC4 @ =gUnk_02033A90 + movs r2, #0x86 + lsls r2, r2, #4 + adds r1, r0, r2 + adds r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] +_0804CDBE: + pop {r4, pc} + .align 2, 0 +_0804CDC0: .4byte 0x80100000 +_0804CDC4: .4byte gUnk_02033A90 + + thumb_func_start sub_0804CDC8 +sub_0804CDC8: @ 0x0804CDC8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_258 +nullsub_258: @ 0x0804CDCC + bx lr + .align 2, 0 + + thumb_func_start sub_0804CDD0 +sub_0804CDD0: @ 0x0804CDD0 + movs r0, #1 + bx lr + + thumb_func_start sub_0804CDD4 +sub_0804CDD4: @ 0x0804CDD4 + push {lr} + bl sub_08058D34 + ldr r2, _0804CDEC @ =gUnk_02033A90 + ldrb r1, [r2] + movs r0, #0x40 + orrs r0, r1 + strb r0, [r2] + ldr r1, _0804CDF0 @ =gUnk_03001000 + movs r0, #5 + strb r0, [r1, #4] + pop {pc} + .align 2, 0 +_0804CDEC: .4byte gUnk_02033A90 +_0804CDF0: .4byte gUnk_03001000 + + thumb_func_start sub_0804CDF4 +sub_0804CDF4: @ 0x0804CDF4 + movs r0, #1 + bx lr + + thumb_func_start sub_0804CDF8 +sub_0804CDF8: @ 0x0804CDF8 + push {lr} + movs r0, #2 + bl GetProgressFlag + cmp r0, #0 + beq _0804CE18 + movs r0, #0x80 + lsls r0, r0, #1 + movs r1, #1 + bl GetProgressFlagWithOffset + cmp r0, #0 + bne _0804CE18 + ldr r0, _0804CE1C @ =gUnk_080DFB78 + bl sub_0804ADDC +_0804CE18: + pop {pc} + .align 2, 0 +_0804CE1C: .4byte gUnk_080DFB78 + + thumb_func_start sub_0804CE20 +sub_0804CE20: @ 0x0804CE20 + movs r0, #1 + bx lr + + thumb_func_start nullsub_259 +nullsub_259: @ 0x0804CE24 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CE28 +sub_0804CE28: @ 0x0804CE28 + movs r0, #1 + bx lr + + thumb_func_start nullsub_260 +nullsub_260: @ 0x0804CE2C + bx lr + .align 2, 0 + + thumb_func_start sub_0804CE30 +sub_0804CE30: @ 0x0804CE30 + movs r0, #1 + bx lr + + thumb_func_start nullsub_261 +nullsub_261: @ 0x0804CE34 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CE38 +sub_0804CE38: @ 0x0804CE38 + movs r0, #1 + bx lr + + thumb_func_start nullsub_262 +nullsub_262: @ 0x0804CE3C + bx lr + .align 2, 0 + + thumb_func_start sub_0804CE40 +sub_0804CE40: @ 0x0804CE40 + movs r0, #1 + bx lr + + thumb_func_start nullsub_263 +nullsub_263: @ 0x0804CE44 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CE48 +sub_0804CE48: @ 0x0804CE48 + movs r0, #1 + bx lr + + thumb_func_start nullsub_264 +nullsub_264: @ 0x0804CE4C + bx lr + .align 2, 0 + + thumb_func_start sub_0804CE50 +sub_0804CE50: @ 0x0804CE50 + movs r0, #1 + bx lr + + thumb_func_start nullsub_265 +nullsub_265: @ 0x0804CE54 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CE58 +sub_0804CE58: @ 0x0804CE58 + movs r0, #1 + bx lr + + thumb_func_start nullsub_266 +nullsub_266: @ 0x0804CE5C + bx lr + .align 2, 0 + + thumb_func_start sub_0804CE60 +sub_0804CE60: @ 0x0804CE60 + movs r0, #1 + bx lr + + thumb_func_start nullsub_267 +nullsub_267: @ 0x0804CE64 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CE68 +sub_0804CE68: @ 0x0804CE68 + movs r0, #1 + bx lr + + thumb_func_start nullsub_268 +nullsub_268: @ 0x0804CE6C + bx lr + .align 2, 0 + + thumb_func_start sub_0804CE70 +sub_0804CE70: @ 0x0804CE70 + movs r0, #1 + bx lr + + thumb_func_start nullsub_269 +nullsub_269: @ 0x0804CE74 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CE78 +sub_0804CE78: @ 0x0804CE78 + movs r0, #1 + bx lr + + thumb_func_start nullsub_270 +nullsub_270: @ 0x0804CE7C + bx lr + .align 2, 0 + + thumb_func_start sub_0804CE80 +sub_0804CE80: @ 0x0804CE80 + push {lr} + movs r0, #3 + bl GetProgressFlag + cmp r0, #0 + beq _0804CE92 + ldr r1, _0804CE98 @ =gUnk_02034350 + ldr r0, _0804CE9C @ =gUnk_080E103C + str r0, [r1, #0x70] +_0804CE92: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804CE98: .4byte gUnk_02034350 +_0804CE9C: .4byte gUnk_080E103C + + thumb_func_start nullsub_271 +nullsub_271: @ 0x0804CEA0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CEA4 +sub_0804CEA4: @ 0x0804CEA4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_272 +nullsub_272: @ 0x0804CEA8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CEAC +sub_0804CEAC: @ 0x0804CEAC + movs r0, #1 + bx lr + + thumb_func_start nullsub_273 +nullsub_273: @ 0x0804CEB0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CEB4 +sub_0804CEB4: @ 0x0804CEB4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_274 +nullsub_274: @ 0x0804CEB8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CEBC +sub_0804CEBC: @ 0x0804CEBC + movs r0, #1 + bx lr + + thumb_func_start nullsub_275 +nullsub_275: @ 0x0804CEC0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CEC4 +sub_0804CEC4: @ 0x0804CEC4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_276 +nullsub_276: @ 0x0804CEC8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CECC +sub_0804CECC: @ 0x0804CECC + movs r0, #1 + bx lr + + thumb_func_start nullsub_277 +nullsub_277: @ 0x0804CED0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CED4 +sub_0804CED4: @ 0x0804CED4 + movs r0, #1 + bx lr + + thumb_func_start sub_0804CED8 +sub_0804CED8: @ 0x0804CED8 + push {lr} + movs r0, #3 + bl GetProgressFlag + cmp r0, #0 + beq _0804CF18 + ldr r1, _0804CF04 @ =gUnk_0200B650 + movs r0, #0 + str r0, [r1] + ldr r2, _0804CF08 @ =gUnk_03000F50 + ldrh r1, [r2] + ldr r0, _0804CF0C @ =0x0000FDFF + ands r0, r1 + strh r0, [r2] + ldr r0, _0804CF10 @ =gLinkEntity + bl sub_0807AABC + ldr r0, _0804CF14 @ =gUnk_080E1814 + bl sub_0804ADDC + b _0804CF2E + .align 2, 0 +_0804CF04: .4byte gUnk_0200B650 +_0804CF08: .4byte gUnk_03000F50 +_0804CF0C: .4byte 0x0000FDFF +_0804CF10: .4byte gLinkEntity +_0804CF14: .4byte gUnk_080E1814 +_0804CF18: + ldr r0, _0804CF30 @ =0x80100000 + bl sub_080A3268 + ldr r0, _0804CF34 @ =gUnk_02033A90 + movs r2, #0x86 + lsls r2, r2, #4 + adds r1, r0, r2 + adds r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] +_0804CF2E: + pop {pc} + .align 2, 0 +_0804CF30: .4byte 0x80100000 +_0804CF34: .4byte gUnk_02033A90 + + thumb_func_start sub_0804CF38 +sub_0804CF38: @ 0x0804CF38 + movs r0, #1 + bx lr + + thumb_func_start nullsub_278 +nullsub_278: @ 0x0804CF3C + bx lr + .align 2, 0 + + thumb_func_start sub_0804CF40 +sub_0804CF40: @ 0x0804CF40 + movs r0, #1 + bx lr + + thumb_func_start sub_0804CF44 +sub_0804CF44: @ 0x0804CF44 + ldr r1, _0804CF58 @ =gUnk_030010A0 + adds r2, r1, #0 + adds r2, #0x38 + movs r0, #0 + strb r0, [r2] + adds r1, #0x39 + movs r0, #0x5a + strb r0, [r1] + bx lr + .align 2, 0 +_0804CF58: .4byte gUnk_030010A0 + + thumb_func_start sub_0804CF5C +sub_0804CF5C: @ 0x0804CF5C + movs r0, #1 + bx lr + + thumb_func_start sub_0804CF60 +sub_0804CF60: @ 0x0804CF60 + push {lr} + bl sub_080300E8 + pop {pc} + + thumb_func_start sub_0804CF68 +sub_0804CF68: @ 0x0804CF68 + movs r0, #1 + bx lr + + thumb_func_start nullsub_39 +nullsub_39: @ 0x0804CF6C + bx lr + .align 2, 0 + + thumb_func_start sub_0804CF70 +sub_0804CF70: @ 0x0804CF70 + movs r0, #1 + bx lr + + thumb_func_start sub_0804CF74 +sub_0804CF74: @ 0x0804CF74 + push {lr} + bl sub_080300E8 + pop {pc} + + thumb_func_start sub_0804CF7C +sub_0804CF7C: @ 0x0804CF7C + movs r0, #1 + bx lr + + thumb_func_start nullsub_40 +nullsub_40: @ 0x0804CF80 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CF84 +sub_0804CF84: @ 0x0804CF84 + movs r0, #1 + bx lr + + thumb_func_start nullsub_41 +nullsub_41: @ 0x0804CF88 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CF8C +sub_0804CF8C: @ 0x0804CF8C + movs r0, #1 + bx lr + + thumb_func_start nullsub_42 +nullsub_42: @ 0x0804CF90 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CF94 +sub_0804CF94: @ 0x0804CF94 + movs r0, #1 + bx lr + + thumb_func_start nullsub_43 +nullsub_43: @ 0x0804CF98 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CF9C +sub_0804CF9C: @ 0x0804CF9C + movs r0, #1 + bx lr + + thumb_func_start nullsub_44 +nullsub_44: @ 0x0804CFA0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CFA4 +sub_0804CFA4: @ 0x0804CFA4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_45 +nullsub_45: @ 0x0804CFA8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804CFAC +sub_0804CFAC: @ 0x0804CFAC + movs r0, #1 + bx lr + + thumb_func_start sub_0804CFB0 +sub_0804CFB0: @ 0x0804CFB0 + push {lr} + movs r0, #0x31 + bl sub_0807CBE4 + cmp r0, #0 + bne _0804CFFE + ldr r1, _0804CFD0 @ =gUnk_030010A0 + adds r0, r1, #0 + adds r0, #0x38 + ldrb r0, [r0] + cmp r0, #0 + bne _0804CFD8 + ldr r0, _0804CFD4 @ =0x80100000 + bl sub_080A3268 + b _0804CFEE + .align 2, 0 +_0804CFD0: .4byte gUnk_030010A0 +_0804CFD4: .4byte 0x80100000 +_0804CFD8: + adds r0, r1, #0 + adds r0, #0x39 + ldrb r0, [r0] + cmp r0, #0 + bne _0804CFEE + ldr r0, _0804D000 @ =0x80050000 + bl sub_080A3268 + movs r0, #3 + bl sub_08078A90 +_0804CFEE: + ldr r0, _0804D004 @ =gUnk_02033A90 + movs r2, #0x86 + lsls r2, r2, #4 + adds r1, r0, r2 + adds r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] +_0804CFFE: + pop {pc} + .align 2, 0 +_0804D000: .4byte 0x80050000 +_0804D004: .4byte gUnk_02033A90 + + thumb_func_start sub_0804D008 +sub_0804D008: @ 0x0804D008 + movs r0, #1 + bx lr + + thumb_func_start nullsub_279 +nullsub_279: @ 0x0804D00C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D010 +sub_0804D010: @ 0x0804D010 + movs r0, #1 + bx lr + + thumb_func_start nullsub_280 +nullsub_280: @ 0x0804D014 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D018 +sub_0804D018: @ 0x0804D018 + movs r0, #1 + bx lr + + thumb_func_start nullsub_281 +nullsub_281: @ 0x0804D01C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D020 +sub_0804D020: @ 0x0804D020 + movs r0, #1 + bx lr + + thumb_func_start nullsub_282 +nullsub_282: @ 0x0804D024 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D028 +sub_0804D028: @ 0x0804D028 + movs r0, #1 + bx lr + + thumb_func_start nullsub_283 +nullsub_283: @ 0x0804D02C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D030 +sub_0804D030: @ 0x0804D030 + movs r0, #1 + bx lr + + thumb_func_start nullsub_284 +nullsub_284: @ 0x0804D034 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D038 +sub_0804D038: @ 0x0804D038 + movs r0, #1 + bx lr + + thumb_func_start nullsub_285 +nullsub_285: @ 0x0804D03C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D040 +sub_0804D040: @ 0x0804D040 + movs r0, #1 + bx lr + + thumb_func_start nullsub_286 +nullsub_286: @ 0x0804D044 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D048 +sub_0804D048: @ 0x0804D048 + movs r0, #1 + bx lr + + thumb_func_start nullsub_287 +nullsub_287: @ 0x0804D04C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D050 +sub_0804D050: @ 0x0804D050 + movs r0, #1 + bx lr + + thumb_func_start nullsub_288 +nullsub_288: @ 0x0804D054 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D058 +sub_0804D058: @ 0x0804D058 + movs r0, #1 + bx lr + + thumb_func_start nullsub_289 +nullsub_289: @ 0x0804D05C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D060 +sub_0804D060: @ 0x0804D060 + movs r0, #1 + bx lr + + thumb_func_start nullsub_290 +nullsub_290: @ 0x0804D064 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D068 +sub_0804D068: @ 0x0804D068 + movs r0, #1 + bx lr + + thumb_func_start nullsub_291 +nullsub_291: @ 0x0804D06C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D070 +sub_0804D070: @ 0x0804D070 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D074 +sub_0804D074: @ 0x0804D074 + push {lr} + movs r0, #4 + bl sub_0807CD04 + bl sub_080530C8 + movs r0, #3 + bl sub_0805B4D0 + movs r0, #0x17 + bl sub_0807CA84 + cmp r0, #0 + bne _0804D0A0 + movs r0, #0x45 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804D0A0 + ldr r0, _0804D0A4 @ =gUnk_080E3850 + bl sub_0804ADDC +_0804D0A0: + pop {pc} + .align 2, 0 +_0804D0A4: .4byte gUnk_080E3850 + + thumb_func_start sub_0804D0A8 +sub_0804D0A8: @ 0x0804D0A8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D0AC +sub_0804D0AC: @ 0x0804D0AC + push {lr} + bl sub_0804D0B4 + pop {pc} + + thumb_func_start sub_0804D0B4 +sub_0804D0B4: @ 0x0804D0B4 + push {lr} + movs r0, #0x29 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804D0D2 + movs r0, #0x29 + bl sub_0807CCB4 + movs r0, #0x4b + bl sub_0807CCB4 + movs r0, #0x4e + bl sub_0807CCB4 +_0804D0D2: + pop {pc} + + thumb_func_start sub_0804D0D4 +sub_0804D0D4: @ 0x0804D0D4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_46 +nullsub_46: @ 0x0804D0D8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D0DC +sub_0804D0DC: @ 0x0804D0DC + movs r0, #1 + bx lr + + thumb_func_start nullsub_47 +nullsub_47: @ 0x0804D0E0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D0E4 +sub_0804D0E4: @ 0x0804D0E4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_48 +nullsub_48: @ 0x0804D0E8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D0EC +sub_0804D0EC: @ 0x0804D0EC + movs r0, #1 + bx lr + + thumb_func_start nullsub_49 +nullsub_49: @ 0x0804D0F0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D0F4 +sub_0804D0F4: @ 0x0804D0F4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_50 +nullsub_50: @ 0x0804D0F8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D0FC +sub_0804D0FC: @ 0x0804D0FC + movs r0, #1 + bx lr + + thumb_func_start nullsub_51 +nullsub_51: @ 0x0804D100 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D104 +sub_0804D104: @ 0x0804D104 + movs r0, #1 + bx lr + + thumb_func_start nullsub_52 +nullsub_52: @ 0x0804D108 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D10C +sub_0804D10C: @ 0x0804D10C + movs r0, #1 + bx lr + + thumb_func_start nullsub_53 +nullsub_53: @ 0x0804D110 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D114 +sub_0804D114: @ 0x0804D114 + movs r0, #1 + bx lr + + thumb_func_start nullsub_54 +nullsub_54: @ 0x0804D118 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D11C +sub_0804D11C: @ 0x0804D11C + movs r0, #1 + bx lr + + thumb_func_start nullsub_55 +nullsub_55: @ 0x0804D120 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D124 +sub_0804D124: @ 0x0804D124 + movs r0, #1 + bx lr + + thumb_func_start nullsub_56 +nullsub_56: @ 0x0804D128 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D12C +sub_0804D12C: @ 0x0804D12C + movs r0, #1 + bx lr + + thumb_func_start nullsub_57 +nullsub_57: @ 0x0804D130 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D134 +sub_0804D134: @ 0x0804D134 + movs r0, #1 + bx lr + + thumb_func_start nullsub_58 +nullsub_58: @ 0x0804D138 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D13C +sub_0804D13C: @ 0x0804D13C + movs r0, #1 + bx lr + + thumb_func_start sub_0804D140 +sub_0804D140: @ 0x0804D140 + push {lr} + movs r0, #0x80 + lsls r0, r0, #1 + bl sub_0805308C + movs r0, #5 + bl GetProgressFlag + cmp r0, #0 + beq _0804D160 + ldr r0, _0804D15C @ =gUnk_080E49F4 + bl sub_0804ADDC + b _0804D176 + .align 2, 0 +_0804D15C: .4byte gUnk_080E49F4 +_0804D160: + ldr r0, _0804D178 @ =0x80100000 + bl sub_080A3268 + ldr r0, _0804D17C @ =gUnk_02033A90 + movs r2, #0x86 + lsls r2, r2, #4 + adds r1, r0, r2 + adds r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] +_0804D176: + pop {pc} + .align 2, 0 +_0804D178: .4byte 0x80100000 +_0804D17C: .4byte gUnk_02033A90 + + thumb_func_start sub_0804D180 +sub_0804D180: @ 0x0804D180 + movs r0, #1 + bx lr + + thumb_func_start nullsub_292 +nullsub_292: @ 0x0804D184 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D188 +sub_0804D188: @ 0x0804D188 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D18C +sub_0804D18C: @ 0x0804D18C + push {lr} + movs r0, #0x48 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804D1A4 + movs r0, #0x46 + bl sub_0807CD34 + ldr r0, _0804D1A8 @ =gUnk_080E4BD8 + bl sub_0804ADDC +_0804D1A4: + pop {pc} + .align 2, 0 +_0804D1A8: .4byte gUnk_080E4BD8 + + thumb_func_start sub_0804D1AC +sub_0804D1AC: @ 0x0804D1AC + movs r0, #1 + bx lr + + thumb_func_start sub_0804D1B0 +sub_0804D1B0: @ 0x0804D1B0 + push {lr} + bl sub_0804D0B4 + movs r0, #0x6c + bl sub_0807CBD0 + cmp r0, #0 + beq _0804D1CC + ldr r0, _0804D1C8 @ =gUnk_080E4CD8 + bl sub_0804ADDC + b _0804D1D2 + .align 2, 0 +_0804D1C8: .4byte gUnk_080E4CD8 +_0804D1CC: + ldr r0, _0804D1E4 @ =gUnk_080E4CF8 + bl sub_0804ADDC +_0804D1D2: + movs r0, #0x4b + bl sub_0807CBD0 + cmp r0, #0 + bne _0804D1E2 + movs r0, #0x49 + bl sub_0807CD34 +_0804D1E2: + pop {pc} + .align 2, 0 +_0804D1E4: .4byte gUnk_080E4CF8 + + thumb_func_start sub_0804D1E8 +sub_0804D1E8: @ 0x0804D1E8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_293 +nullsub_293: @ 0x0804D1EC + bx lr + .align 2, 0 + + thumb_func_start sub_0804D1F0 +sub_0804D1F0: @ 0x0804D1F0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_294 +nullsub_294: @ 0x0804D1F4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D1F8 +sub_0804D1F8: @ 0x0804D1F8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_295 +nullsub_295: @ 0x0804D1FC + bx lr + .align 2, 0 + + thumb_func_start sub_0804D200 +sub_0804D200: @ 0x0804D200 + movs r0, #1 + bx lr + + thumb_func_start nullsub_296 +nullsub_296: @ 0x0804D204 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D208 +sub_0804D208: @ 0x0804D208 + movs r0, #1 + bx lr + + thumb_func_start nullsub_297 +nullsub_297: @ 0x0804D20C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D210 +sub_0804D210: @ 0x0804D210 + movs r0, #1 + bx lr + + thumb_func_start nullsub_298 +nullsub_298: @ 0x0804D214 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D218 +sub_0804D218: @ 0x0804D218 + movs r0, #1 + bx lr + + thumb_func_start nullsub_299 +nullsub_299: @ 0x0804D21C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D220 +sub_0804D220: @ 0x0804D220 + movs r0, #1 + bx lr + + thumb_func_start nullsub_300 +nullsub_300: @ 0x0804D224 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D228 +sub_0804D228: @ 0x0804D228 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D22C +sub_0804D22C: @ 0x0804D22C + push {lr} + movs r0, #0x59 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804D244 + ldr r0, _0804D240 @ =gUnk_080E5660 + bl sub_0804ADDC + b _0804D24A + .align 2, 0 +_0804D240: .4byte gUnk_080E5660 +_0804D244: + ldr r0, _0804D24C @ =gUnk_080E5680 + bl sub_0804ADDC +_0804D24A: + pop {pc} + .align 2, 0 +_0804D24C: .4byte gUnk_080E5680 + + thumb_func_start sub_0804D250 +sub_0804D250: @ 0x0804D250 + movs r0, #1 + bx lr + + thumb_func_start nullsub_301 +nullsub_301: @ 0x0804D254 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D258 +sub_0804D258: @ 0x0804D258 + movs r0, #1 + bx lr + + thumb_func_start nullsub_302 +nullsub_302: @ 0x0804D25C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D260 +sub_0804D260: @ 0x0804D260 + movs r0, #1 + bx lr + + thumb_func_start nullsub_303 +nullsub_303: @ 0x0804D264 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D268 +sub_0804D268: @ 0x0804D268 + movs r0, #1 + bx lr + + thumb_func_start nullsub_304 +nullsub_304: @ 0x0804D26C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D270 +sub_0804D270: @ 0x0804D270 + movs r0, #1 + bx lr + + thumb_func_start nullsub_305 +nullsub_305: @ 0x0804D274 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D278 +sub_0804D278: @ 0x0804D278 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D27C +sub_0804D27C: @ 0x0804D27C + push {lr} + bl sub_0804D0B4 + movs r0, #0x4b + bl sub_0807CBD0 + cmp r0, #0 + bne _0804D298 + ldr r0, _0804D294 @ =gUnk_080E5E3C + bl sub_0804ADDC + b _0804D29E + .align 2, 0 +_0804D294: .4byte gUnk_080E5E3C +_0804D298: + ldr r0, _0804D2A0 @ =gUnk_080E5E5C + bl sub_0804ADDC +_0804D29E: + pop {pc} + .align 2, 0 +_0804D2A0: .4byte gUnk_080E5E5C + + thumb_func_start sub_0804D2A4 +sub_0804D2A4: @ 0x0804D2A4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_306 +nullsub_306: @ 0x0804D2A8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D2AC +sub_0804D2AC: @ 0x0804D2AC + movs r0, #1 + bx lr + + thumb_func_start nullsub_307 +nullsub_307: @ 0x0804D2B0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D2B4 +sub_0804D2B4: @ 0x0804D2B4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_308 +nullsub_308: @ 0x0804D2B8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D2BC +sub_0804D2BC: @ 0x0804D2BC + movs r0, #1 + bx lr + + thumb_func_start nullsub_309 +nullsub_309: @ 0x0804D2C0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D2C4 +sub_0804D2C4: @ 0x0804D2C4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_310 +nullsub_310: @ 0x0804D2C8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D2CC +sub_0804D2CC: @ 0x0804D2CC + movs r0, #1 + bx lr + + thumb_func_start nullsub_311 +nullsub_311: @ 0x0804D2D0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D2D4 +sub_0804D2D4: @ 0x0804D2D4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_312 +nullsub_312: @ 0x0804D2D8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D2DC +sub_0804D2DC: @ 0x0804D2DC + movs r0, #1 + bx lr + + thumb_func_start nullsub_313 +nullsub_313: @ 0x0804D2E0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D2E4 +sub_0804D2E4: @ 0x0804D2E4 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D2E8 +sub_0804D2E8: @ 0x0804D2E8 + push {lr} + movs r0, #0x32 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804D2FA + ldr r0, _0804D2FC @ =gUnk_080E693C + bl sub_0804ADDC +_0804D2FA: + pop {pc} + .align 2, 0 +_0804D2FC: .4byte gUnk_080E693C + + thumb_func_start sub_0804D300 +sub_0804D300: @ 0x0804D300 + movs r0, #1 + bx lr + + thumb_func_start nullsub_314 +nullsub_314: @ 0x0804D304 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D308 +sub_0804D308: @ 0x0804D308 + movs r0, #1 + bx lr + + thumb_func_start nullsub_315 +nullsub_315: @ 0x0804D30C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D310 +sub_0804D310: @ 0x0804D310 + movs r0, #1 + bx lr + + thumb_func_start nullsub_316 +nullsub_316: @ 0x0804D314 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D318 +sub_0804D318: @ 0x0804D318 + movs r0, #1 + bx lr + + thumb_func_start nullsub_317 +nullsub_317: @ 0x0804D31C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D320 +sub_0804D320: @ 0x0804D320 + movs r0, #1 + bx lr + + thumb_func_start nullsub_318 +nullsub_318: @ 0x0804D324 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D328 +sub_0804D328: @ 0x0804D328 + movs r0, #1 + bx lr + + thumb_func_start nullsub_319 +nullsub_319: @ 0x0804D32C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D330 +sub_0804D330: @ 0x0804D330 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D334 +sub_0804D334: @ 0x0804D334 + push {lr} + bl sub_08054570 + pop {pc} + + thumb_func_start sub_0804D33C +sub_0804D33C: @ 0x0804D33C + movs r0, #1 + bx lr + + thumb_func_start sub_0804D340 +sub_0804D340: @ 0x0804D340 + push {lr} + ldr r0, _0804D374 @ =0x00000312 + movs r1, #0x84 + lsls r1, r1, #1 + movs r2, #1 + bl sub_0807B314 + bl sub_08054570 + movs r0, #0xc4 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804D362 + ldr r0, _0804D378 @ =gUnk_080E718C + bl sub_0804ADDC +_0804D362: + movs r0, #0xc5 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804D372 + ldr r0, _0804D37C @ =gUnk_080E71AC + bl sub_0804ADDC +_0804D372: + pop {pc} + .align 2, 0 +_0804D374: .4byte 0x00000312 +_0804D378: .4byte gUnk_080E718C +_0804D37C: .4byte gUnk_080E71AC + + thumb_func_start sub_0804D380 +sub_0804D380: @ 0x0804D380 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D384 +sub_0804D384: @ 0x0804D384 + push {lr} + movs r0, #0 + bl sub_0805AF60 + movs r0, #6 + bl GetProgressFlag + cmp r0, #0 + beq _0804D39C + ldr r0, _0804D3B0 @ =gUnk_080E7314 + bl sub_0804ADDC +_0804D39C: + movs r0, #0x7b + bl sub_0807CBD0 + cmp r0, #0 + bne _0804D3B8 + ldr r0, _0804D3B4 @ =gUnk_080E72C4 + bl sub_0804ADDC + b _0804D3EA + .align 2, 0 +_0804D3B0: .4byte gUnk_080E7314 +_0804D3B4: .4byte gUnk_080E72C4 +_0804D3B8: + movs r0, #6 + bl sub_0807CD04 + movs r0, #0x43 + bl sub_0807CA84 + cmp r0, #0 + bne _0804D3EA + movs r0, #3 + bl sub_08078A90 + ldr r0, _0804D3EC @ =gUnk_080E72E4 + bl sub_0804ADDC + ldr r0, _0804D3F0 @ =gUnk_02033A90 + movs r2, #0x86 + lsls r2, r2, #4 + adds r1, r0, r2 + adds r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] + ldr r0, _0804D3F4 @ =0x80100000 + bl sub_080A3268 +_0804D3EA: + pop {pc} + .align 2, 0 +_0804D3EC: .4byte gUnk_080E72E4 +_0804D3F0: .4byte gUnk_02033A90 +_0804D3F4: .4byte 0x80100000 + + thumb_func_start sub_0804D3F8 +sub_0804D3F8: @ 0x0804D3F8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D3FC +sub_0804D3FC: @ 0x0804D3FC + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D408 +sub_0804D408: @ 0x0804D408 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D40C +sub_0804D40C: @ 0x0804D40C + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D418 +sub_0804D418: @ 0x0804D418 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D41C +sub_0804D41C: @ 0x0804D41C + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D428 +sub_0804D428: @ 0x0804D428 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D42C +sub_0804D42C: @ 0x0804D42C + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D438 +sub_0804D438: @ 0x0804D438 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D43C +sub_0804D43C: @ 0x0804D43C + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D448 +sub_0804D448: @ 0x0804D448 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D44C +sub_0804D44C: @ 0x0804D44C + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D458 +sub_0804D458: @ 0x0804D458 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D45C +sub_0804D45C: @ 0x0804D45C + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D468 +sub_0804D468: @ 0x0804D468 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D46C +sub_0804D46C: @ 0x0804D46C + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D478 +sub_0804D478: @ 0x0804D478 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D47C +sub_0804D47C: @ 0x0804D47C + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D488 +sub_0804D488: @ 0x0804D488 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D48C +sub_0804D48C: @ 0x0804D48C + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D498 +sub_0804D498: @ 0x0804D498 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D49C +sub_0804D49C: @ 0x0804D49C + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D4A8 +sub_0804D4A8: @ 0x0804D4A8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D4AC +sub_0804D4AC: @ 0x0804D4AC + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D4B8 +sub_0804D4B8: @ 0x0804D4B8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D4BC +sub_0804D4BC: @ 0x0804D4BC + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D4C8 +sub_0804D4C8: @ 0x0804D4C8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D4CC +sub_0804D4CC: @ 0x0804D4CC + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D4D8 +sub_0804D4D8: @ 0x0804D4D8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D4DC +sub_0804D4DC: @ 0x0804D4DC + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D4E8 +sub_0804D4E8: @ 0x0804D4E8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D4EC +sub_0804D4EC: @ 0x0804D4EC + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D4F8 +sub_0804D4F8: @ 0x0804D4F8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D4FC +sub_0804D4FC: @ 0x0804D4FC + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D508 +sub_0804D508: @ 0x0804D508 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D50C +sub_0804D50C: @ 0x0804D50C + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D518 +sub_0804D518: @ 0x0804D518 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D51C +sub_0804D51C: @ 0x0804D51C + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D528 +sub_0804D528: @ 0x0804D528 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D52C +sub_0804D52C: @ 0x0804D52C + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D538 +sub_0804D538: @ 0x0804D538 + movs r0, #1 + bx lr + + thumb_func_start nullsub_59 +nullsub_59: @ 0x0804D53C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D540 +sub_0804D540: @ 0x0804D540 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D544 +sub_0804D544: @ 0x0804D544 + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D550 +sub_0804D550: @ 0x0804D550 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D554 +sub_0804D554: @ 0x0804D554 + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D560 +sub_0804D560: @ 0x0804D560 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D564 +sub_0804D564: @ 0x0804D564 + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D570 +sub_0804D570: @ 0x0804D570 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D574 +sub_0804D574: @ 0x0804D574 + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D580 +sub_0804D580: @ 0x0804D580 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D584 +sub_0804D584: @ 0x0804D584 + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D590 +sub_0804D590: @ 0x0804D590 + movs r0, #1 + bx lr + + thumb_func_start nullsub_60 +nullsub_60: @ 0x0804D594 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D598 +sub_0804D598: @ 0x0804D598 + movs r0, #1 + bx lr + + thumb_func_start nullsub_61 +nullsub_61: @ 0x0804D59C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D5A0 +sub_0804D5A0: @ 0x0804D5A0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_62 +nullsub_62: @ 0x0804D5A4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D5A8 +sub_0804D5A8: @ 0x0804D5A8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_63 +nullsub_63: @ 0x0804D5AC + bx lr + .align 2, 0 + + thumb_func_start sub_0804D5B0 +sub_0804D5B0: @ 0x0804D5B0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_64 +nullsub_64: @ 0x0804D5B4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D5B8 +sub_0804D5B8: @ 0x0804D5B8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_65 +nullsub_65: @ 0x0804D5BC + bx lr + .align 2, 0 + + thumb_func_start sub_0804D5C0 +sub_0804D5C0: @ 0x0804D5C0 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D5C4 +sub_0804D5C4: @ 0x0804D5C4 + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D5D0 +sub_0804D5D0: @ 0x0804D5D0 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D5D4 +sub_0804D5D4: @ 0x0804D5D4 + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D5E0 +sub_0804D5E0: @ 0x0804D5E0 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D5E4 +sub_0804D5E4: @ 0x0804D5E4 + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D5F0 +sub_0804D5F0: @ 0x0804D5F0 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D5F4 +sub_0804D5F4: @ 0x0804D5F4 + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D600 +sub_0804D600: @ 0x0804D600 + movs r0, #1 + bx lr + + thumb_func_start nullsub_66 +nullsub_66: @ 0x0804D604 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D608 +sub_0804D608: @ 0x0804D608 + movs r0, #1 + bx lr + + thumb_func_start nullsub_67 +nullsub_67: @ 0x0804D60C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D610 +sub_0804D610: @ 0x0804D610 + movs r0, #1 + bx lr + + thumb_func_start nullsub_68 +nullsub_68: @ 0x0804D614 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D618 +sub_0804D618: @ 0x0804D618 + movs r0, #1 + bx lr + + thumb_func_start nullsub_69 +nullsub_69: @ 0x0804D61C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D620 +sub_0804D620: @ 0x0804D620 + movs r0, #1 + bx lr + + thumb_func_start nullsub_70 +nullsub_70: @ 0x0804D624 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D628 +sub_0804D628: @ 0x0804D628 + movs r0, #1 + bx lr + + thumb_func_start nullsub_71 +nullsub_71: @ 0x0804D62C + bx lr + .align 2, 0 + + thumb_func_start sub_0804D630 +sub_0804D630: @ 0x0804D630 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D634 +sub_0804D634: @ 0x0804D634 + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D640 +sub_0804D640: @ 0x0804D640 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D644 +sub_0804D644: @ 0x0804D644 + push {lr} + movs r0, #0 + bl sub_0805AF60 + movs r0, #0x70 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804D65C + ldr r0, _0804D660 @ =gUnk_080EA09C + bl sub_0804ADDC +_0804D65C: + pop {pc} + .align 2, 0 +_0804D660: .4byte gUnk_080EA09C + + thumb_func_start sub_0804D664 +sub_0804D664: @ 0x0804D664 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D668 +sub_0804D668: @ 0x0804D668 + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D674 +sub_0804D674: @ 0x0804D674 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D678 +sub_0804D678: @ 0x0804D678 + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D684 +sub_0804D684: @ 0x0804D684 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D688 +sub_0804D688: @ 0x0804D688 + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D694 +sub_0804D694: @ 0x0804D694 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D698 +sub_0804D698: @ 0x0804D698 + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D6A4 +sub_0804D6A4: @ 0x0804D6A4 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D6A8 +sub_0804D6A8: @ 0x0804D6A8 + push {lr} + movs r0, #0 + bl sub_0805AF60 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D6B4 +sub_0804D6B4: @ 0x0804D6B4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_72 +nullsub_72: @ 0x0804D6B8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D6BC +sub_0804D6BC: @ 0x0804D6BC + movs r0, #1 + bx lr + + thumb_func_start nullsub_73 +nullsub_73: @ 0x0804D6C0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D6C4 +sub_0804D6C4: @ 0x0804D6C4 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D6C8 +sub_0804D6C8: @ 0x0804D6C8 + push {lr} + ldr r0, _0804D6E4 @ =0x80100000 + bl sub_080A3268 + ldr r0, _0804D6E8 @ =gUnk_02033A90 + movs r2, #0x86 + lsls r2, r2, #4 + adds r1, r0, r2 + adds r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] + pop {pc} + .align 2, 0 +_0804D6E4: .4byte 0x80100000 +_0804D6E8: .4byte gUnk_02033A90 + + thumb_func_start sub_0804D6EC +sub_0804D6EC: @ 0x0804D6EC + movs r0, #1 + bx lr + + thumb_func_start sub_0804D6F0 +sub_0804D6F0: @ 0x0804D6F0 + push {lr} + movs r0, #0 + bl sub_0805D3C8 + ldr r2, _0804D72C @ =gUnk_030010A0 + adds r0, r2, #0 + adds r0, #0x38 + ldrb r1, [r0] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _0804D74C + adds r0, r2, #0 + adds r0, #0x39 + ldrb r0, [r0] + cmp r0, #0 + beq _0804D74C + adds r0, r2, #0 + adds r0, #0x3c + ldrb r0, [r0] + cmp r0, #1 + bne _0804D734 + ldr r1, _0804D730 @ =gLinkEntity + adds r0, r2, #0 + adds r0, #0x48 + ldrh r0, [r0] + strh r0, [r1, #0x2e] + adds r0, r2, #0 + adds r0, #0x4a + b _0804D746 + .align 2, 0 +_0804D72C: .4byte gUnk_030010A0 +_0804D730: .4byte gLinkEntity +_0804D734: + cmp r0, #0 + bne _0804D74C + ldr r1, _0804D750 @ =gLinkEntity + adds r0, r2, #0 + adds r0, #0x44 + ldrh r0, [r0] + strh r0, [r1, #0x2e] + adds r0, r2, #0 + adds r0, #0x46 +_0804D746: + ldrh r0, [r0] + adds r0, #8 + strh r0, [r1, #0x32] +_0804D74C: + pop {pc} + .align 2, 0 +_0804D750: .4byte gLinkEntity + + thumb_func_start sub_0804D754 +sub_0804D754: @ 0x0804D754 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D758 +sub_0804D758: @ 0x0804D758 + push {lr} + movs r0, #6 + bl sub_0805B4D0 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D764 +sub_0804D764: @ 0x0804D764 + movs r0, #1 + bx lr + + thumb_func_start nullsub_74 +nullsub_74: @ 0x0804D768 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D76C +sub_0804D76C: @ 0x0804D76C + movs r0, #1 + bx lr + + thumb_func_start nullsub_75 +nullsub_75: @ 0x0804D770 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D774 +sub_0804D774: @ 0x0804D774 + push {lr} + bl sub_080534AC + movs r0, #1 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804D780 +sub_0804D780: @ 0x0804D780 + push {r4, r5, lr} + movs r0, #4 + bl sub_0805B4D0 + movs r0, #0x77 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804D7A0 + ldr r0, _0804D79C @ =gUnk_080EAD68 + bl sub_0804ADDC + b _0804D7D0 + .align 2, 0 +_0804D79C: .4byte gUnk_080EAD68 +_0804D7A0: + movs r0, #0x79 + bl sub_0807CBD0 + adds r5, r0, #0 + cmp r5, #0 + bne _0804D7D0 + ldr r0, _0804D7D4 @ =gUnk_080EADB8 + bl sub_0804ADDC + ldr r4, _0804D7D8 @ =0x00004072 + ldr r1, _0804D7DC @ =0x00000145 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804D7E0 @ =0x00000149 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r0, _0804D7E4 @ =gUnk_02033A90 + ldr r1, _0804D7E8 @ =0x00000864 + adds r0, r0, r1 + str r5, [r0] +_0804D7D0: + pop {r4, r5, pc} + .align 2, 0 +_0804D7D4: .4byte gUnk_080EADB8 +_0804D7D8: .4byte 0x00004072 +_0804D7DC: .4byte 0x00000145 +_0804D7E0: .4byte 0x00000149 +_0804D7E4: .4byte gUnk_02033A90 +_0804D7E8: .4byte 0x00000864 + + thumb_func_start sub_0804D7EC +sub_0804D7EC: @ 0x0804D7EC + push {r4, lr} + ldr r4, _0804D7F4 @ =gUnk_080EAE00 + b _0804D804 + .align 2, 0 +_0804D7F4: .4byte gUnk_080EAE00 +_0804D7F8: + ldrh r1, [r4] + adds r4, #2 + ldr r0, _0804D80C @ =0x00004072 + movs r2, #1 + bl sub_0807B314 +_0804D804: + ldrh r0, [r4] + cmp r0, #0 + bne _0804D7F8 + pop {r4, pc} + .align 2, 0 +_0804D80C: .4byte 0x00004072 + + thumb_func_start sub_0804D810 +sub_0804D810: @ 0x0804D810 + push {r4, lr} + ldr r4, _0804D818 @ =gUnk_080EAE00 + b _0804D826 + .align 2, 0 +_0804D818: .4byte gUnk_080EAE00 +_0804D81C: + ldrh r0, [r4] + adds r4, #2 + movs r1, #1 + bl sub_0807BA8C +_0804D826: + ldrh r0, [r4] + cmp r0, #0 + bne _0804D81C + pop {r4, pc} + .align 2, 0 + + thumb_func_start sub_0804D830 +sub_0804D830: @ 0x0804D830 + movs r0, #1 + bx lr + + thumb_func_start sub_0804D834 +sub_0804D834: @ 0x0804D834 + push {r4, lr} + ldr r4, _0804D86C @ =gUnk_02033A90 + movs r0, #0 + movs r1, #0x40 + strb r1, [r4] + strb r0, [r4, #1] + movs r0, #0x51 + bl GetProgressFlag + cmp r0, #0 + beq _0804D894 + movs r0, #0x7f + bl sub_0807CBD0 + cmp r0, #0 + bne _0804D878 + ldr r0, _0804D870 @ =gUnk_080EAEC0 + bl sub_0804ADDC + movs r0, #0x7f + bl sub_0807CCB4 + ldr r0, _0804D874 @ =0x00000864 + adds r1, r4, r0 + movs r0, #0x11 + str r0, [r1] + b _0804D8BC + .align 2, 0 +_0804D86C: .4byte gUnk_02033A90 +_0804D870: .4byte gUnk_080EAEC0 +_0804D874: .4byte 0x00000864 +_0804D878: + ldr r0, _0804D88C @ =gUnk_080EAF20 + bl sub_0804ADDC + ldr r2, _0804D890 @ =0x00000864 + adds r1, r4, r2 + subs r2, #4 + adds r0, r4, r2 + ldr r0, [r0] + str r0, [r1] + b _0804D8BC + .align 2, 0 +_0804D88C: .4byte gUnk_080EAF20 +_0804D890: .4byte 0x00000864 +_0804D894: + movs r0, #0x79 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804D8AC + ldr r1, _0804D8C4 @ =0x00000864 + adds r0, r4, r1 + movs r2, #0x86 + lsls r2, r2, #4 + adds r1, r4, r2 + ldr r1, [r1] + str r1, [r0] +_0804D8AC: + movs r0, #1 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804D8BC + ldr r0, _0804D8C8 @ =gUnk_080EAE60 + bl sub_0804ADDC +_0804D8BC: + movs r0, #0x5d + bl sub_0807CD80 + pop {r4, pc} + .align 2, 0 +_0804D8C4: .4byte 0x00000864 +_0804D8C8: .4byte gUnk_080EAE60 + + thumb_func_start sub_0804D8CC +sub_0804D8CC: @ 0x0804D8CC + movs r0, #1 + bx lr + + thumb_func_start nullsub_320 +nullsub_320: @ 0x0804D8D0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D8D4 +sub_0804D8D4: @ 0x0804D8D4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_321 +nullsub_321: @ 0x0804D8D8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D8DC +sub_0804D8DC: @ 0x0804D8DC + movs r0, #1 + bx lr + + thumb_func_start nullsub_322 +nullsub_322: @ 0x0804D8E0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D8E4 +sub_0804D8E4: @ 0x0804D8E4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_323 +nullsub_323: @ 0x0804D8E8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D8EC +sub_0804D8EC: @ 0x0804D8EC + movs r0, #1 + bx lr + + thumb_func_start nullsub_324 +nullsub_324: @ 0x0804D8F0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D8F4 +sub_0804D8F4: @ 0x0804D8F4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_325 +nullsub_325: @ 0x0804D8F8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D8FC +sub_0804D8FC: @ 0x0804D8FC + movs r0, #1 + bx lr + + thumb_func_start nullsub_326 +nullsub_326: @ 0x0804D900 + bx lr + .align 2, 0 + + thumb_func_start sub_0804D904 +sub_0804D904: @ 0x0804D904 + push {r4, r5, lr} + movs r0, #0x51 + bl GetProgressFlag + adds r5, r0, #0 + cmp r5, #0 + beq _0804D93C + ldr r1, _0804D930 @ =gUnk_02034350 + ldr r0, _0804D934 @ =gUnk_080EB604 + str r0, [r1, #0x6c] + movs r0, #0 + str r0, [r1, #0x74] + ldr r0, _0804D938 @ =gUnk_02033A90 + movs r1, #0x86 + lsls r1, r1, #4 + adds r2, r0, r1 + adds r1, #4 + adds r0, r0, r1 + movs r1, #0x11 + str r1, [r0] + str r1, [r2] + b _0804D96A + .align 2, 0 +_0804D930: .4byte gUnk_02034350 +_0804D934: .4byte gUnk_080EB604 +_0804D938: .4byte gUnk_02033A90 +_0804D93C: + movs r0, #0x79 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804D96A + ldr r4, _0804D970 @ =gUnk_02034350 + str r5, [r4, #0x6c] + movs r0, #0x7a + bl sub_0807CBD0 + adds r5, r0, #0 + cmp r5, #0 + bne _0804D96A + movs r0, #0x1c + bl sub_0807CD04 + ldr r0, _0804D974 @ =gUnk_080EB5D4 + str r0, [r4, #0x6c] + adds r1, r4, #0 + adds r1, #0x88 + ldr r0, _0804D978 @ =sub_0804D9B0 + str r0, [r1] + str r5, [r4, #0x74] +_0804D96A: + movs r0, #1 + pop {r4, r5, pc} + .align 2, 0 +_0804D970: .4byte gUnk_02034350 +_0804D974: .4byte gUnk_080EB5D4 +_0804D978: .4byte sub_0804D9B0 + + thumb_func_start sub_0804D97C +sub_0804D97C: @ 0x0804D97C + push {lr} + movs r0, #0x51 + bl GetProgressFlag + cmp r0, #0 + beq _0804D996 + ldr r0, _0804D9A8 @ =gUnk_02033A90 + ldr r2, _0804D9AC @ =0x00000864 + adds r1, r0, r2 + subs r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] +_0804D996: + movs r0, #0x79 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804D9A4 + bl sub_0804D9B0 +_0804D9A4: + pop {pc} + .align 2, 0 +_0804D9A8: .4byte gUnk_02033A90 +_0804D9AC: .4byte 0x00000864 + + thumb_func_start sub_0804D9B0 +sub_0804D9B0: @ 0x0804D9B0 + push {lr} + ldr r0, _0804D9EC @ =0x00000797 + movs r1, #1 + movs r2, #5 + movs r3, #1 + bl sub_0807BB98 + ldr r0, _0804D9F0 @ =0x00000357 + movs r1, #1 + movs r2, #5 + movs r3, #1 + bl sub_0807BB98 + ldr r0, _0804D9F4 @ =0x0000055F + movs r1, #1 + movs r2, #2 + movs r3, #1 + bl sub_0807BB98 + ldr r0, _0804D9F8 @ =gUnk_080EB684 + bl sub_0804ADDC + ldr r0, _0804D9FC @ =gUnk_02033A90 + ldr r2, _0804DA00 @ =0x00000864 + adds r1, r0, r2 + subs r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] + pop {pc} + .align 2, 0 +_0804D9EC: .4byte 0x00000797 +_0804D9F0: .4byte 0x00000357 +_0804D9F4: .4byte 0x0000055F +_0804D9F8: .4byte gUnk_080EB684 +_0804D9FC: .4byte gUnk_02033A90 +_0804DA00: .4byte 0x00000864 + + thumb_func_start sub_0804DA04 +sub_0804DA04: @ 0x0804DA04 + movs r0, #1 + bx lr + + thumb_func_start nullsub_327 +nullsub_327: @ 0x0804DA08 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DA0C +sub_0804DA0C: @ 0x0804DA0C + movs r0, #1 + bx lr + + thumb_func_start nullsub_328 +nullsub_328: @ 0x0804DA10 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DA14 +sub_0804DA14: @ 0x0804DA14 + movs r0, #1 + bx lr + + thumb_func_start nullsub_329 +nullsub_329: @ 0x0804DA18 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DA1C +sub_0804DA1C: @ 0x0804DA1C + movs r0, #1 + bx lr + + thumb_func_start nullsub_330 +nullsub_330: @ 0x0804DA20 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DA24 +sub_0804DA24: @ 0x0804DA24 + movs r0, #1 + bx lr + + thumb_func_start nullsub_331 +nullsub_331: @ 0x0804DA28 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DA2C +sub_0804DA2C: @ 0x0804DA2C + push {lr} + movs r0, #0x77 + bl sub_0807CBD0 + adds r1, r0, #0 + cmp r1, #0 + bne _0804DA40 + ldr r0, _0804DA44 @ =gUnk_02034350 + str r1, [r0, #0x6c] + str r1, [r0, #0x74] +_0804DA40: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804DA44: .4byte gUnk_02034350 + + thumb_func_start sub_0804DA48 +sub_0804DA48: @ 0x0804DA48 + push {lr} + movs r0, #0x77 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804DA60 + ldr r0, _0804DA5C @ =gUnk_080EB9F4 + bl sub_0804ADDC + b _0804DA8C + .align 2, 0 +_0804DA5C: .4byte gUnk_080EB9F4 +_0804DA60: + movs r0, #0x78 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804DA76 + ldr r0, _0804DA90 @ =gUnk_080EBAA4 + bl sub_0804ADDC + movs r0, #0x75 + bl sub_0807CCB4 +_0804DA76: + movs r0, #0x7b + bl sub_0807CBD0 + cmp r0, #0 + beq _0804DA8C + ldr r0, _0804DA94 @ =gUnk_080EBAF4 + bl sub_0804ADDC + movs r0, #0x76 + bl sub_0807CCB4 +_0804DA8C: + pop {pc} + .align 2, 0 +_0804DA90: .4byte gUnk_080EBAA4 +_0804DA94: .4byte gUnk_080EBAF4 + + thumb_func_start sub_0804DA98 +sub_0804DA98: @ 0x0804DA98 + movs r0, #1 + bx lr + + thumb_func_start nullsub_332 +nullsub_332: @ 0x0804DA9C + bx lr + .align 2, 0 + + thumb_func_start sub_0804DAA0 +sub_0804DAA0: @ 0x0804DAA0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_333 +nullsub_333: @ 0x0804DAA4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DAA8 +sub_0804DAA8: @ 0x0804DAA8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_334 +nullsub_334: @ 0x0804DAAC + bx lr + .align 2, 0 + + thumb_func_start sub_0804DAB0 +sub_0804DAB0: @ 0x0804DAB0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_335 +nullsub_335: @ 0x0804DAB4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DAB8 +sub_0804DAB8: @ 0x0804DAB8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_336 +nullsub_336: @ 0x0804DABC + bx lr + .align 2, 0 + + thumb_func_start sub_0804DAC0 +sub_0804DAC0: @ 0x0804DAC0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_337 +nullsub_337: @ 0x0804DAC4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DAC8 +sub_0804DAC8: @ 0x0804DAC8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_338 +nullsub_338: @ 0x0804DACC + bx lr + .align 2, 0 + + thumb_func_start sub_0804DAD0 +sub_0804DAD0: @ 0x0804DAD0 + movs r0, #1 + bx lr + + thumb_func_start sub_0804DAD4 +sub_0804DAD4: @ 0x0804DAD4 + push {lr} + movs r0, #0x86 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804DAF0 + movs r0, #0x4c + bl sub_0807CBD0 + cmp r0, #0 + bne _0804DAF0 + ldr r0, _0804DAF4 @ =gUnk_080EC2CC + bl sub_0804ADDC +_0804DAF0: + pop {pc} + .align 2, 0 +_0804DAF4: .4byte gUnk_080EC2CC + + thumb_func_start sub_0804DAF8 +sub_0804DAF8: @ 0x0804DAF8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_339 +nullsub_339: @ 0x0804DAFC + bx lr + .align 2, 0 + + thumb_func_start sub_0804DB00 +sub_0804DB00: @ 0x0804DB00 + movs r0, #1 + bx lr + + thumb_func_start sub_0804DB04 +sub_0804DB04: @ 0x0804DB04 + push {lr} + movs r0, #0x86 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804DB20 + movs r0, #0x4d + bl sub_0807CBD0 + cmp r0, #0 + bne _0804DB20 + ldr r0, _0804DB24 @ =gUnk_080EC4E8 + bl sub_0804ADDC +_0804DB20: + pop {pc} + .align 2, 0 +_0804DB24: .4byte gUnk_080EC4E8 + + thumb_func_start sub_0804DB28 +sub_0804DB28: @ 0x0804DB28 + movs r0, #1 + bx lr + + thumb_func_start nullsub_340 +nullsub_340: @ 0x0804DB2C + bx lr + .align 2, 0 + + thumb_func_start sub_0804DB30 +sub_0804DB30: @ 0x0804DB30 + movs r0, #1 + bx lr + + thumb_func_start nullsub_341 +nullsub_341: @ 0x0804DB34 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DB38 +sub_0804DB38: @ 0x0804DB38 + movs r0, #1 + bx lr + + thumb_func_start sub_0804DB3C +sub_0804DB3C: @ 0x0804DB3C + push {lr} + movs r0, #0x86 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804DB58 + movs r0, #0x53 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804DB58 + ldr r0, _0804DB5C @ =gUnk_080EC820 + bl sub_0804ADDC +_0804DB58: + pop {pc} + .align 2, 0 +_0804DB5C: .4byte gUnk_080EC820 + + thumb_func_start sub_0804DB60 +sub_0804DB60: @ 0x0804DB60 + movs r0, #1 + bx lr + + thumb_func_start nullsub_342 +nullsub_342: @ 0x0804DB64 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DB68 +sub_0804DB68: @ 0x0804DB68 + movs r0, #1 + bx lr + + thumb_func_start sub_0804DB6C +sub_0804DB6C: @ 0x0804DB6C + push {lr} + movs r0, #0x86 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804DB88 + movs r0, #0x56 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804DB88 + ldr r0, _0804DB8C @ =gUnk_080ECA60 + bl sub_0804ADDC +_0804DB88: + pop {pc} + .align 2, 0 +_0804DB8C: .4byte gUnk_080ECA60 + + thumb_func_start sub_0804DB90 +sub_0804DB90: @ 0x0804DB90 + movs r0, #1 + bx lr + + thumb_func_start nullsub_343 +nullsub_343: @ 0x0804DB94 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DB98 +sub_0804DB98: @ 0x0804DB98 + movs r0, #1 + bx lr + + thumb_func_start nullsub_344 +nullsub_344: @ 0x0804DB9C + bx lr + .align 2, 0 + + thumb_func_start sub_0804DBA0 +sub_0804DBA0: @ 0x0804DBA0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_345 +nullsub_345: @ 0x0804DBA4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DBA8 +sub_0804DBA8: @ 0x0804DBA8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_346 +nullsub_346: @ 0x0804DBAC + bx lr + .align 2, 0 + + thumb_func_start sub_0804DBB0 +sub_0804DBB0: @ 0x0804DBB0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_347 +nullsub_347: @ 0x0804DBB4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DBB8 +sub_0804DBB8: @ 0x0804DBB8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_348 +nullsub_348: @ 0x0804DBBC + bx lr + .align 2, 0 + + thumb_func_start sub_0804DBC0 +sub_0804DBC0: @ 0x0804DBC0 + push {lr} + movs r0, #0x79 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804DBD2 + ldr r1, _0804DBD8 @ =gUnk_02034350 + movs r0, #0 + str r0, [r1, #0x74] +_0804DBD2: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804DBD8: .4byte gUnk_02034350 + + thumb_func_start sub_0804DBDC +sub_0804DBDC: @ 0x0804DBDC + push {lr} + movs r0, #0x79 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804DC08 + movs r0, #0x90 + movs r1, #1 + movs r2, #1 + movs r3, #5 + bl sub_0807BB98 + ldr r0, _0804DC0C @ =gUnk_080ECFCC + bl sub_0804ADDC + ldr r0, _0804DC10 @ =gUnk_02033A90 + ldr r2, _0804DC14 @ =0x00000864 + adds r1, r0, r2 + subs r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] +_0804DC08: + pop {pc} + .align 2, 0 +_0804DC0C: .4byte gUnk_080ECFCC +_0804DC10: .4byte gUnk_02033A90 +_0804DC14: .4byte 0x00000864 + + thumb_func_start sub_0804DC18 +sub_0804DC18: @ 0x0804DC18 + movs r0, #1 + bx lr + + thumb_func_start nullsub_349 +nullsub_349: @ 0x0804DC1C + bx lr + .align 2, 0 + + thumb_func_start sub_0804DC20 +sub_0804DC20: @ 0x0804DC20 + movs r0, #1 + bx lr + + thumb_func_start nullsub_350 +nullsub_350: @ 0x0804DC24 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DC28 +sub_0804DC28: @ 0x0804DC28 + push {lr} + movs r0, #0x51 + bl GetProgressFlag + cmp r0, #0 + beq _0804DC3E + ldr r0, _0804DC44 @ =gUnk_02034350 + ldr r1, _0804DC48 @ =gUnk_080ED1E4 + str r1, [r0, #0x6c] + movs r1, #0 + str r1, [r0, #0x74] +_0804DC3E: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804DC44: .4byte gUnk_02034350 +_0804DC48: .4byte gUnk_080ED1E4 + + thumb_func_start sub_0804DC4C +sub_0804DC4C: @ 0x0804DC4C + push {lr} + movs r0, #0x51 + bl GetProgressFlag + cmp r0, #0 + beq _0804DC66 + ldr r0, _0804DC68 @ =gUnk_02033A90 + ldr r2, _0804DC6C @ =0x00000864 + adds r1, r0, r2 + subs r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] +_0804DC66: + pop {pc} + .align 2, 0 +_0804DC68: .4byte gUnk_02033A90 +_0804DC6C: .4byte 0x00000864 + + thumb_func_start sub_0804DC70 +sub_0804DC70: @ 0x0804DC70 + movs r0, #1 + bx lr + + thumb_func_start nullsub_351 +nullsub_351: @ 0x0804DC74 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DC78 +sub_0804DC78: @ 0x0804DC78 + movs r0, #1 + bx lr + + thumb_func_start nullsub_352 +nullsub_352: @ 0x0804DC7C + bx lr + .align 2, 0 + + thumb_func_start sub_0804DC80 +sub_0804DC80: @ 0x0804DC80 + movs r0, #1 + bx lr + + thumb_func_start nullsub_353 +nullsub_353: @ 0x0804DC84 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DC88 +sub_0804DC88: @ 0x0804DC88 + movs r0, #1 + bx lr + + thumb_func_start nullsub_354 +nullsub_354: @ 0x0804DC8C + bx lr + .align 2, 0 + + thumb_func_start sub_0804DC90 +sub_0804DC90: @ 0x0804DC90 + movs r0, #1 + bx lr + + thumb_func_start nullsub_355 +nullsub_355: @ 0x0804DC94 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DC98 +sub_0804DC98: @ 0x0804DC98 + movs r0, #1 + bx lr + + thumb_func_start nullsub_356 +nullsub_356: @ 0x0804DC9C + bx lr + .align 2, 0 + + thumb_func_start sub_0804DCA0 +sub_0804DCA0: @ 0x0804DCA0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_357 +nullsub_357: @ 0x0804DCA4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DCA8 +sub_0804DCA8: @ 0x0804DCA8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_358 +nullsub_358: @ 0x0804DCAC + bx lr + .align 2, 0 + + thumb_func_start sub_0804DCB0 +sub_0804DCB0: @ 0x0804DCB0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_359 +nullsub_359: @ 0x0804DCB4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DCB8 +sub_0804DCB8: @ 0x0804DCB8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_360 +nullsub_360: @ 0x0804DCBC + bx lr + .align 2, 0 + + thumb_func_start sub_0804DCC0 +sub_0804DCC0: @ 0x0804DCC0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_361 +nullsub_361: @ 0x0804DCC4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DCC8 +sub_0804DCC8: @ 0x0804DCC8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_362 +nullsub_362: @ 0x0804DCCC + bx lr + .align 2, 0 + + thumb_func_start sub_0804DCD0 +sub_0804DCD0: @ 0x0804DCD0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_363 +nullsub_363: @ 0x0804DCD4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DCD8 +sub_0804DCD8: @ 0x0804DCD8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_364 +nullsub_364: @ 0x0804DCDC + bx lr + .align 2, 0 + + thumb_func_start sub_0804DCE0 +sub_0804DCE0: @ 0x0804DCE0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_365 +nullsub_365: @ 0x0804DCE4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DCE8 +sub_0804DCE8: @ 0x0804DCE8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_366 +nullsub_366: @ 0x0804DCEC + bx lr + .align 2, 0 + + thumb_func_start sub_0804DCF0 +sub_0804DCF0: @ 0x0804DCF0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_367 +nullsub_367: @ 0x0804DCF4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DCF8 +sub_0804DCF8: @ 0x0804DCF8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_368 +nullsub_368: @ 0x0804DCFC + bx lr + .align 2, 0 + + thumb_func_start sub_0804DD00 +sub_0804DD00: @ 0x0804DD00 + movs r0, #1 + bx lr + + thumb_func_start nullsub_369 +nullsub_369: @ 0x0804DD04 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DD08 +sub_0804DD08: @ 0x0804DD08 + movs r0, #1 + bx lr + + thumb_func_start nullsub_370 +nullsub_370: @ 0x0804DD0C + bx lr + .align 2, 0 + + thumb_func_start sub_0804DD10 +sub_0804DD10: @ 0x0804DD10 + movs r0, #1 + bx lr + + thumb_func_start nullsub_371 +nullsub_371: @ 0x0804DD14 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DD18 +sub_0804DD18: @ 0x0804DD18 + push {lr} + movs r0, #0x79 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804DD2C + ldr r1, _0804DD30 @ =gUnk_02034350 + movs r0, #0 + str r0, [r1, #0x74] + str r0, [r1, #0x6c] +_0804DD2C: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804DD30: .4byte gUnk_02034350 + + thumb_func_start sub_0804DD34 +sub_0804DD34: @ 0x0804DD34 + push {lr} + movs r0, #0x79 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804DD60 + movs r0, #3 + movs r1, #2 + movs r2, #5 + movs r3, #1 + bl sub_0807BB98 + ldr r0, _0804DD64 @ =gUnk_080EE314 + bl sub_0804ADDC + ldr r0, _0804DD68 @ =gUnk_02033A90 + ldr r2, _0804DD6C @ =0x00000864 + adds r1, r0, r2 + subs r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] +_0804DD60: + pop {pc} + .align 2, 0 +_0804DD64: .4byte gUnk_080EE314 +_0804DD68: .4byte gUnk_02033A90 +_0804DD6C: .4byte 0x00000864 + + thumb_func_start sub_0804DD70 +sub_0804DD70: @ 0x0804DD70 + movs r0, #1 + bx lr + + thumb_func_start nullsub_372 +nullsub_372: @ 0x0804DD74 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DD78 +sub_0804DD78: @ 0x0804DD78 + push {lr} + movs r0, #0x79 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804DD8A + ldr r1, _0804DD90 @ =gUnk_02034350 + movs r0, #0 + str r0, [r1, #0x74] +_0804DD8A: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804DD90: .4byte gUnk_02034350 + + thumb_func_start sub_0804DD94 +sub_0804DD94: @ 0x0804DD94 + push {lr} + movs r0, #0x79 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804DDC0 + ldr r0, _0804DDC4 @ =0x00000392 + movs r1, #2 + movs r2, #2 + movs r3, #5 + bl sub_0807BB98 + ldr r0, _0804DDC8 @ =gUnk_080EE5DC + bl sub_0804ADDC + ldr r0, _0804DDCC @ =gUnk_02033A90 + ldr r2, _0804DDD0 @ =0x00000864 + adds r1, r0, r2 + subs r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] +_0804DDC0: + pop {pc} + .align 2, 0 +_0804DDC4: .4byte 0x00000392 +_0804DDC8: .4byte gUnk_080EE5DC +_0804DDCC: .4byte gUnk_02033A90 +_0804DDD0: .4byte 0x00000864 + + thumb_func_start sub_0804DDD4 +sub_0804DDD4: @ 0x0804DDD4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_373 +nullsub_373: @ 0x0804DDD8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804DDDC +sub_0804DDDC: @ 0x0804DDDC + movs r0, #1 + bx lr + + thumb_func_start sub_0804DDE0 +sub_0804DDE0: @ 0x0804DDE0 + push {lr} + movs r0, #1 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804DDF2 + ldr r0, _0804DDF4 @ =gUnk_080EE71C + bl sub_0804ADDC +_0804DDF2: + pop {pc} + .align 2, 0 +_0804DDF4: .4byte gUnk_080EE71C + + thumb_func_start sub_0804DDF8 +sub_0804DDF8: @ 0x0804DDF8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_374 +nullsub_374: @ 0x0804DDFC + bx lr + .align 2, 0 + + thumb_func_start sub_0804DE00 +sub_0804DE00: @ 0x0804DE00 + push {r4, r5, r6, lr} + bl sub_080530C8 + movs r0, #0xb + bl sub_0801E7F4 + cmp r0, #0 + beq _0804DE32 + movs r0, #0x19 + bl GetProgressFlag + cmp r0, #0 + bne _0804DE22 + movs r0, #0x19 + bl sub_0807CD04 + b _0804DE32 +_0804DE22: + movs r0, #0x18 + bl GetProgressFlag + cmp r0, #0 + bne _0804DE32 + movs r0, #0x18 + bl sub_0807CD04 +_0804DE32: + ldr r5, _0804DE50 @ =gUnk_080D4250 + ldr r4, _0804DE54 @ =gUnk_02002A40 + ldrb r0, [r4, #8] + lsls r0, r0, #2 + adds r0, r0, r5 + ldr r0, [r0] + bl sub_0804AFB0 + ldrb r0, [r4, #8] + cmp r0, #1 + beq _0804DE5C + ldr r1, _0804DE58 @ =gUnk_02017654 + ldr r0, [r5] + str r0, [r1] + b _0804DECC + .align 2, 0 +_0804DE50: .4byte gUnk_080D4250 +_0804DE54: .4byte gUnk_02002A40 +_0804DE58: .4byte gUnk_02017654 +_0804DE5C: + movs r0, #0x1c + bl sub_0807CD04 + ldr r4, _0804DEB4 @ =gUnk_02033A90 + ldr r0, _0804DEB8 @ =0x0000085C + adds r4, r4, r0 + ldr r0, [r4] + ldrh r5, [r0, #4] + ldrh r6, [r0, #6] + ldr r1, _0804DEBC @ =gUnk_03000BF0 + movs r2, #0 + movs r0, #0x15 + strb r0, [r1, #4] + strb r2, [r1, #5] + bl sub_08052CFC + ldr r0, [r4] + movs r1, #0x98 + lsls r1, r1, #1 + adds r5, r5, r1 + strh r5, [r0, #4] + ldr r0, [r4] + strh r6, [r0, #6] + ldr r1, _0804DEC0 @ =gUnk_030010A0 + ldr r0, [r4] + ldrh r0, [r0] + lsrs r0, r0, #1 + strh r0, [r1, #0x10] + bl sub_08052EA0 + bl sub_0804AF90 + movs r0, #0xcd + bl sub_0807CBD0 + cmp r0, #0 + bne _0804DEC4 + movs r1, #0x80 + lsls r1, r1, #1 + movs r0, #7 + bl sub_08050054 + b _0804DECC + .align 2, 0 +_0804DEB4: .4byte gUnk_02033A90 +_0804DEB8: .4byte 0x0000085C +_0804DEBC: .4byte gUnk_03000BF0 +_0804DEC0: .4byte gUnk_030010A0 +_0804DEC4: + movs r0, #6 + movs r1, #0x10 + bl sub_08050054 +_0804DECC: + movs r0, #1 + pop {r4, r5, r6, pc} + + thumb_func_start sub_0804DED0 +sub_0804DED0: @ 0x0804DED0 + push {r4, lr} + bl sub_08054570 + bl sub_08059D18 + movs r0, #0xbb + lsls r0, r0, #1 + ldr r1, _0804DEF8 @ =0x0000066B + movs r2, #1 + bl sub_0807B314 + ldr r0, _0804DEFC @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #1 + bne _0804DF00 + movs r0, #0 + bl sub_0801D000 + b _0804E112 + .align 2, 0 +_0804DEF8: .4byte 0x0000066B +_0804DEFC: .4byte gUnk_02002A40 +_0804DF00: + ldr r0, _0804DF7C @ =0x00000DB4 + bl sub_08018C58 + movs r4, #0x80 + lsls r4, r4, #2 + adds r0, r4, #0 + movs r1, #0x84 + bl GetProgressFlagWithOffset + cmp r0, #0 + bne _0804DF1C + ldr r0, _0804DF80 @ =gUnk_080EEB6C + bl sub_0804ADDC +_0804DF1C: + adds r0, r4, #0 + movs r1, #0x85 + bl GetProgressFlagWithOffset + cmp r0, #0 + bne _0804DF2E + ldr r0, _0804DF84 @ =gUnk_080EEB8C + bl sub_0804ADDC +_0804DF2E: + movs r0, #0x67 + bl sub_0807CA84 + cmp r0, #0 + bne _0804DF48 + movs r0, #2 + bl GetProgressFlag + cmp r0, #0 + beq _0804DF48 + ldr r0, _0804DF88 @ =gUnk_080EE88C + bl sub_0804ADDC +_0804DF48: + movs r0, #0x28 + bl sub_0801E7F4 + cmp r0, #0 + bne _0804DF58 + ldr r0, _0804DF8C @ =gUnk_080EE8FC + bl sub_0804ADDC +_0804DF58: + movs r0, #0x33 + bl sub_0801E7F4 + cmp r0, #0 + beq _0804DF68 + ldr r0, _0804DF90 @ =gUnk_080EE91C + bl sub_0804ADDC +_0804DF68: + movs r0, #0x12 + bl GetProgressFlag + cmp r0, #0 + beq _0804DF98 + ldr r0, _0804DF94 @ =gUnk_080EE93C + bl sub_0804ADDC + b _0804DF9E + .align 2, 0 +_0804DF7C: .4byte 0x00000DB4 +_0804DF80: .4byte gUnk_080EEB6C +_0804DF84: .4byte gUnk_080EEB8C +_0804DF88: .4byte gUnk_080EE88C +_0804DF8C: .4byte gUnk_080EE8FC +_0804DF90: .4byte gUnk_080EE91C +_0804DF94: .4byte gUnk_080EE93C +_0804DF98: + ldr r0, _0804DFF4 @ =gUnk_080EECBC + bl sub_0804ADDC +_0804DF9E: + movs r0, #0x1b + bl sub_0801E7F4 + cmp r0, #0 + beq _0804E02A + ldr r0, _0804DFF8 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #3 + bls _0804E02A + movs r0, #0x2e + bl GetProgressFlag + cmp r0, #0 + bne _0804E024 + movs r0, #0x2f + bl GetProgressFlag + cmp r0, #0 + bne _0804E024 + movs r0, #0x30 + bl GetProgressFlag + cmp r0, #0 + bne _0804E024 + movs r0, #0x2b + bl GetProgressFlag + cmp r0, #0 + bne _0804E000 + movs r0, #0x2c + bl GetProgressFlag + cmp r0, #0 + bne _0804E000 + movs r0, #0x2d + bl GetProgressFlag + cmp r0, #0 + bne _0804E000 + ldr r0, _0804DFFC @ =gUnk_080EE95C + bl sub_0804ADDC + b _0804E02A + .align 2, 0 +_0804DFF4: .4byte gUnk_080EECBC +_0804DFF8: .4byte gUnk_02002A40 +_0804DFFC: .4byte gUnk_080EE95C +_0804E000: + movs r0, #0x18 + bl GetProgressFlag + cmp r0, #0 + bne _0804E018 + ldr r0, _0804E014 @ =gUnk_080EE97C + bl sub_0804ADDC + b _0804E02A + .align 2, 0 +_0804E014: .4byte gUnk_080EE97C +_0804E018: + ldr r0, _0804E020 @ =gUnk_080EE9BC + bl sub_0804ADDC + b _0804E02A + .align 2, 0 +_0804E020: .4byte gUnk_080EE9BC +_0804E024: + ldr r0, _0804E03C @ =gUnk_080EE99C + bl sub_0804ADDC +_0804E02A: + movs r0, #0x2b + bl GetProgressFlag + cmp r0, #0 + beq _0804E044 + ldr r0, _0804E040 @ =gUnk_080EE9FC + bl sub_0804ADDC + b _0804E07A + .align 2, 0 +_0804E03C: .4byte gUnk_080EE99C +_0804E040: .4byte gUnk_080EE9FC +_0804E044: + movs r0, #0x2c + bl GetProgressFlag + cmp r0, #0 + beq _0804E05C + ldr r0, _0804E058 @ =gUnk_080EEA1C + bl sub_0804ADDC + b _0804E07A + .align 2, 0 +_0804E058: .4byte gUnk_080EEA1C +_0804E05C: + movs r0, #0x2d + bl GetProgressFlag + cmp r0, #0 + beq _0804E074 + ldr r0, _0804E070 @ =gUnk_080EEA3C + bl sub_0804ADDC + b _0804E07A + .align 2, 0 +_0804E070: .4byte gUnk_080EEA3C +_0804E074: + ldr r0, _0804E114 @ =gUnk_080EE9DC + bl sub_0804ADDC +_0804E07A: + ldr r0, _0804E118 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #4 + bls _0804E0B0 + movs r0, #0xb + bl sub_0801E7F4 + cmp r0, #0 + bne _0804E0B0 + movs r0, #0x2b + bl GetProgressFlag + cmp r0, #0 + bne _0804E0AA + movs r0, #0x2c + bl GetProgressFlag + cmp r0, #0 + bne _0804E0AA + movs r0, #0x2d + bl GetProgressFlag + cmp r0, #0 + beq _0804E0B0 +_0804E0AA: + ldr r0, _0804E11C @ =gUnk_080EEA5C + bl sub_0804ADDC +_0804E0B0: + movs r0, #0xd0 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804E0CA + movs r0, #0x14 + bl sub_0807CA84 + cmp r0, #0 + beq _0804E0CA + ldr r0, _0804E120 @ =gUnk_080EEABC + bl sub_0804ADDC +_0804E0CA: + ldr r0, _0804E118 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #3 + bls _0804E0E2 + movs r0, #0x1d + bl GetProgressFlag + cmp r0, #0 + beq _0804E0E2 + ldr r0, _0804E124 @ =gUnk_080EEA7C + bl sub_0804ADDC +_0804E0E2: + ldr r0, _0804E118 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #5 + bhi _0804E0FA + movs r0, #0x29 + bl GetProgressFlag + cmp r0, #0 + bne _0804E0FA + ldr r0, _0804E128 @ =gUnk_080EEA9C + bl sub_0804ADDC +_0804E0FA: + ldr r0, _0804E118 @ =gUnk_02002A40 + ldr r0, [r0, #0x40] + movs r1, #0x80 + lsls r1, r1, #0x14 + ands r0, r1 + cmp r0, #0 + bne _0804E10E + ldr r0, _0804E12C @ =gUnk_080EEBAC + bl sub_0804ADDC +_0804E10E: + bl sub_0804E150 +_0804E112: + pop {r4, pc} + .align 2, 0 +_0804E114: .4byte gUnk_080EE9DC +_0804E118: .4byte gUnk_02002A40 +_0804E11C: .4byte gUnk_080EEA5C +_0804E120: .4byte gUnk_080EEABC +_0804E124: .4byte gUnk_080EEA7C +_0804E128: .4byte gUnk_080EEA9C +_0804E12C: .4byte gUnk_080EEBAC + + thumb_func_start sub_0804E130 +sub_0804E130: @ 0x0804E130 + push {lr} + ldr r0, _0804E148 @ =gUnk_02002A40 + ldr r0, [r0, #0x40] + movs r1, #0x80 + lsls r1, r1, #0x14 + ands r0, r1 + cmp r0, #0 + bne _0804E146 + ldr r0, _0804E14C @ =gUnk_080EEBAC + bl sub_0804ADDC +_0804E146: + pop {pc} + .align 2, 0 +_0804E148: .4byte gUnk_02002A40 +_0804E14C: .4byte gUnk_080EEBAC + + thumb_func_start sub_0804E150 +sub_0804E150: @ 0x0804E150 + push {r4, r5, lr} + ldr r4, _0804E160 @ =gUnk_080EED2C + ldr r0, _0804E164 @ =gUnk_02002A40 + movs r5, #1 + ldrb r0, [r0, #8] + lsls r5, r0 + b _0804E17C + .align 2, 0 +_0804E160: .4byte gUnk_080EED2C +_0804E164: .4byte gUnk_02002A40 +_0804E168: + ldrh r0, [r4] + ands r0, r5 + cmp r0, #0 + beq _0804E17A + ldrh r0, [r4, #4] + ldrh r1, [r4, #2] + movs r2, #1 + bl sub_0800015E +_0804E17A: + adds r4, #6 +_0804E17C: + ldrh r0, [r4, #2] + cmp r0, #0 + bne _0804E168 + movs r0, #0xd1 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804E1BA + ldr r4, _0804E198 @ =gUnk_080EED7A + ldr r0, _0804E19C @ =gUnk_02002A40 + movs r5, #1 + ldrb r0, [r0, #8] + lsls r5, r0 + b _0804E1B4 + .align 2, 0 +_0804E198: .4byte gUnk_080EED7A +_0804E19C: .4byte gUnk_02002A40 +_0804E1A0: + ldrh r0, [r4] + ands r0, r5 + cmp r0, #0 + beq _0804E1B2 + ldrh r0, [r4, #4] + ldrh r1, [r4, #2] + movs r2, #1 + bl sub_0800015E +_0804E1B2: + adds r4, #6 +_0804E1B4: + ldrh r0, [r4] + cmp r0, #0 + bne _0804E1A0 +_0804E1BA: + movs r0, #0x29 + bl GetProgressFlag + cmp r0, #0 + bne _0804E1F2 + ldr r4, _0804E1D0 @ =gUnk_080EED8C + ldr r0, _0804E1D4 @ =gUnk_02002A40 + movs r5, #1 + ldrb r0, [r0, #8] + lsls r5, r0 + b _0804E1EC + .align 2, 0 +_0804E1D0: .4byte gUnk_080EED8C +_0804E1D4: .4byte gUnk_02002A40 +_0804E1D8: + ldrh r0, [r4] + ands r0, r5 + cmp r0, #0 + beq _0804E1EA + ldrh r0, [r4, #4] + ldrh r1, [r4, #2] + movs r2, #1 + bl sub_0800015E +_0804E1EA: + adds r4, #6 +_0804E1EC: + ldrh r0, [r4] + cmp r0, #0 + bne _0804E1D8 +_0804E1F2: + pop {r4, r5, pc} + + thumb_func_start sub_0804E1F4 +sub_0804E1F4: @ 0x0804E1F4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_76 +nullsub_76: @ 0x0804E1F8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E1FC +sub_0804E1FC: @ 0x0804E1FC + movs r0, #1 + bx lr + + thumb_func_start nullsub_77 +nullsub_77: @ 0x0804E200 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E204 +sub_0804E204: @ 0x0804E204 + movs r0, #1 + bx lr + + thumb_func_start nullsub_78 +nullsub_78: @ 0x0804E208 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E20C +sub_0804E20C: @ 0x0804E20C + movs r0, #1 + bx lr + + thumb_func_start nullsub_79 +nullsub_79: @ 0x0804E210 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E214 +sub_0804E214: @ 0x0804E214 + movs r0, #1 + bx lr + + thumb_func_start nullsub_080 +nullsub_080: @ 0x0804E218 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E21C +sub_0804E21C: @ 0x0804E21C + movs r0, #1 + bx lr + + thumb_func_start nullsub_081 +nullsub_081: @ 0x0804E220 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E224 +sub_0804E224: @ 0x0804E224 + movs r0, #1 + bx lr + + thumb_func_start nullsub_082 +nullsub_082: @ 0x0804E228 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E22C +sub_0804E22C: @ 0x0804E22C + movs r0, #1 + bx lr + + thumb_func_start nullsub_083 +nullsub_083: @ 0x0804E230 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E234 +sub_0804E234: @ 0x0804E234 + movs r0, #1 + bx lr + + thumb_func_start nullsub_084 +nullsub_084: @ 0x0804E238 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E23C +sub_0804E23C: @ 0x0804E23C + movs r0, #1 + bx lr + + thumb_func_start nullsub_085 +nullsub_085: @ 0x0804E240 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E244 +sub_0804E244: @ 0x0804E244 + movs r0, #1 + bx lr + + thumb_func_start nullsub_086 +nullsub_086: @ 0x0804E248 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E24C +sub_0804E24C: @ 0x0804E24C + movs r0, #1 + bx lr + + thumb_func_start nullsub_087 +nullsub_087: @ 0x0804E250 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E254 +sub_0804E254: @ 0x0804E254 + movs r0, #1 + bx lr + + thumb_func_start nullsub_088 +nullsub_088: @ 0x0804E258 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E25C +sub_0804E25C: @ 0x0804E25C + push {lr} + movs r0, #6 + bl sub_0807CA84 + cmp r0, #0 + beq _0804E26E + ldr r1, _0804E274 @ =gUnk_02034350 + ldr r0, _0804E278 @ =gUnk_080F09A0 + str r0, [r1, #0x70] +_0804E26E: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804E274: .4byte gUnk_02034350 +_0804E278: .4byte gUnk_080F09A0 + + thumb_func_start sub_0804E27C +sub_0804E27C: @ 0x0804E27C + push {r4, lr} + movs r0, #0x15 + bl GetProgressFlag + cmp r0, #0 + bne _0804E2AC + ldr r0, _0804E2A0 @ =gUnk_080F0650 + bl sub_0804ADDC + ldr r0, _0804E2A4 @ =gUnk_02033A90 + ldr r1, _0804E2A8 @ =0x00000864 + adds r0, r0, r1 + movs r1, #0x13 + str r1, [r0] + movs r0, #0x64 + bl sub_0807CD04 + b _0804E2C0 + .align 2, 0 +_0804E2A0: .4byte gUnk_080F0650 +_0804E2A4: .4byte gUnk_02033A90 +_0804E2A8: .4byte 0x00000864 +_0804E2AC: + movs r0, #0x64 + bl GetProgressFlag + cmp r0, #0 + beq _0804E2C0 + ldr r0, _0804E300 @ =gUnk_02033A90 + ldr r1, _0804E304 @ =0x00000864 + adds r0, r0, r1 + movs r1, #0x1b + str r1, [r0] +_0804E2C0: + movs r0, #0x9c + bl sub_0807CBD0 + cmp r0, #0 + bne _0804E318 + ldr r0, _0804E308 @ =gUnk_080F0800 + bl sub_0804ADDC + ldr r4, _0804E30C @ =0x00004072 + movs r1, #0x96 + lsls r1, r1, #2 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + movs r1, #0xa6 + lsls r1, r1, #2 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804E310 @ =0x00000266 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804E314 @ =0x000002A6 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + b _0804E3A6 + .align 2, 0 +_0804E300: .4byte gUnk_02033A90 +_0804E304: .4byte 0x00000864 +_0804E308: .4byte gUnk_080F0800 +_0804E30C: .4byte 0x00004072 +_0804E310: .4byte 0x00000266 +_0804E314: .4byte 0x000002A6 +_0804E318: + movs r0, #6 + bl sub_0807CA84 + cmp r0, #0 + bne _0804E348 + ldr r0, _0804E360 @ =gUnk_080F08F0 + bl sub_0804ADDC + ldr r4, _0804E364 @ =0x00004072 + adds r0, r4, #0 + movs r1, #0x9e + movs r2, #1 + bl sub_0807B314 + adds r0, r4, #0 + movs r1, #0x9f + movs r2, #1 + bl sub_0807B314 + adds r0, r4, #0 + movs r1, #0xa0 + movs r2, #1 + bl sub_0807B314 +_0804E348: + ldr r0, _0804E368 @ =gUnk_080F0850 + bl sub_0804ADDC + movs r0, #0x42 + bl sub_0807CA84 + cmp r0, #0 + bne _0804E370 + ldr r0, _0804E36C @ =gUnk_080F0870 + bl sub_0804ADDC + b _0804E376 + .align 2, 0 +_0804E360: .4byte gUnk_080F08F0 +_0804E364: .4byte 0x00004072 +_0804E368: .4byte gUnk_080F0850 +_0804E36C: .4byte gUnk_080F0870 +_0804E370: + ldr r0, _0804E3AC @ =gUnk_080F0890 + bl sub_0804ADDC +_0804E376: + ldr r4, _0804E3B0 @ =0x00004072 + movs r1, #0x96 + lsls r1, r1, #2 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + movs r1, #0xa6 + lsls r1, r1, #2 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + movs r0, #0x10 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804E3A6 + ldr r0, _0804E3B4 @ =gUnk_080F0920 + bl sub_0804ADDC + movs r0, #0x10 + bl sub_0807CD34 +_0804E3A6: + bl sub_080AF284 + pop {r4, pc} + .align 2, 0 +_0804E3AC: .4byte gUnk_080F0890 +_0804E3B0: .4byte 0x00004072 +_0804E3B4: .4byte gUnk_080F0920 + + thumb_func_start sub_0804E3B8 +sub_0804E3B8: @ 0x0804E3B8 + push {lr} + movs r0, #1 + bl sub_0807CD34 + movs r0, #1 + pop {pc} + + thumb_func_start sub_0804E3C4 +sub_0804E3C4: @ 0x0804E3C4 + push {r4, r5, r6, lr} + movs r0, #5 + bl GetProgressFlag + rsbs r1, r0, #0 + orrs r1, r0 + lsrs r6, r1, #0x1f + movs r0, #6 + bl GetProgressFlag + cmp r0, #0 + beq _0804E3DE + movs r6, #2 +_0804E3DE: + movs r0, #0x55 + bl GetProgressFlag + cmp r0, #0 + beq _0804E3EA + movs r6, #3 +_0804E3EA: + bl sub_08000E50 + adds r4, r0, #0 + ldr r1, _0804E448 @ =gUnk_080F0D58 + lsls r0, r6, #2 + adds r0, r0, r1 + movs r5, #0x1f + adds r1, r4, #0 + ands r1, r5 + ldr r0, [r0] + adds r0, r0, r1 + ldrb r6, [r0] + ldr r1, _0804E44C @ =gUnk_080F0CB8 + movs r0, #0xf + ands r0, r6 + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl sub_0804ADDC + lsrs r6, r6, #4 + lsrs r4, r4, #8 + ldr r1, _0804E450 @ =gUnk_080F0E08 + lsls r0, r6, #2 + adds r0, r0, r1 + ands r4, r5 + ldr r0, [r0] + adds r0, r0, r4 + ldrb r6, [r0] + movs r0, #0xc6 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804E436 + movs r0, #0xc6 + bl sub_0807CCB4 + movs r6, #0xe +_0804E436: + lsls r0, r6, #3 + ldr r1, _0804E454 @ =gUnk_080F0E1C + adds r0, r0, r1 + bl sub_0804B3C4 + ldr r0, _0804E458 @ =0x80100000 + bl sub_080A3268 + pop {r4, r5, r6, pc} + .align 2, 0 +_0804E448: .4byte gUnk_080F0D58 +_0804E44C: .4byte gUnk_080F0CB8 +_0804E450: .4byte gUnk_080F0E08 +_0804E454: .4byte gUnk_080F0E1C +_0804E458: .4byte 0x80100000 + + thumb_func_start sub_0804E45C +sub_0804E45C: @ 0x0804E45C + movs r0, #1 + bx lr + + thumb_func_start sub_0804E460 +sub_0804E460: @ 0x0804E460 + push {lr} + movs r0, #0x4a + bl GetProgressFlag + cmp r0, #0 + bne _0804E478 + ldr r0, _0804E474 @ =gUnk_080F1C68 + bl sub_0804ADDC + b _0804E47E + .align 2, 0 +_0804E474: .4byte gUnk_080F1C68 +_0804E478: + ldr r0, _0804E480 @ =gUnk_080F1C88 + bl sub_0804ADDC +_0804E47E: + pop {pc} + .align 2, 0 +_0804E480: .4byte gUnk_080F1C88 + + thumb_func_start sub_0804E484 +sub_0804E484: @ 0x0804E484 + movs r0, #1 + bx lr + + thumb_func_start sub_0804E488 +sub_0804E488: @ 0x0804E488 + push {lr} + movs r0, #0x2e + bl GetProgressFlag + cmp r0, #0 + beq _0804E4A0 + ldr r0, _0804E49C @ =gUnk_080F1D90 + bl sub_0804ADDC + b _0804E4C8 + .align 2, 0 +_0804E49C: .4byte gUnk_080F1D90 +_0804E4A0: + movs r0, #0x2f + bl GetProgressFlag + cmp r0, #0 + beq _0804E4B8 + ldr r0, _0804E4B4 @ =gUnk_080F1DB0 + bl sub_0804ADDC + b _0804E4C8 + .align 2, 0 +_0804E4B4: .4byte gUnk_080F1DB0 +_0804E4B8: + movs r0, #0x30 + bl GetProgressFlag + cmp r0, #0 + beq _0804E4C8 + ldr r0, _0804E4CC @ =gUnk_080F1DD0 + bl sub_0804ADDC +_0804E4C8: + pop {pc} + .align 2, 0 +_0804E4CC: .4byte gUnk_080F1DD0 + + thumb_func_start sub_0804E4D0 +sub_0804E4D0: @ 0x0804E4D0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_375 +nullsub_375: @ 0x0804E4D4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E4D8 +sub_0804E4D8: @ 0x0804E4D8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_376 +nullsub_376: @ 0x0804E4DC + bx lr + .align 2, 0 + + thumb_func_start sub_0804E4E0 +sub_0804E4E0: @ 0x0804E4E0 + movs r0, #1 + bx lr + + thumb_func_start sub_0804E4E4 +sub_0804E4E4: @ 0x0804E4E4 + push {lr} + ldr r0, _0804E518 @ =gUnk_080F2174 + bl sub_0804ADDC + movs r0, #0x3a + bl sub_0807CA84 + cmp r0, #0 + bne _0804E506 + movs r0, #0x2a + bl GetProgressFlag + cmp r0, #0 + beq _0804E506 + ldr r0, _0804E51C @ =gUnk_080F2194 + bl sub_0804ADDC +_0804E506: + ldr r0, _0804E520 @ =gUnk_030010A0 + ldrb r0, [r0, #0xf] + cmp r0, #1 + bne _0804E514 + ldr r0, _0804E524 @ =gUnk_080F21B4 + bl sub_0804ADDC +_0804E514: + pop {pc} + .align 2, 0 +_0804E518: .4byte gUnk_080F2174 +_0804E51C: .4byte gUnk_080F2194 +_0804E520: .4byte gUnk_030010A0 +_0804E524: .4byte gUnk_080F21B4 + + thumb_func_start sub_0804E528 +sub_0804E528: @ 0x0804E528 + movs r0, #1 + bx lr + + thumb_func_start sub_0804E52C +sub_0804E52C: @ 0x0804E52C + push {lr} + ldr r0, _0804E558 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #7 + bls _0804E53C + ldr r0, _0804E55C @ =gUnk_080F23BC + bl sub_0804ADDC +_0804E53C: + movs r0, #0x46 + bl sub_0807CA84 + cmp r0, #0 + bne _0804E564 + movs r0, #0x29 + bl GetProgressFlag + cmp r0, #0 + beq _0804E564 + ldr r0, _0804E560 @ =gUnk_080F238C + bl sub_0804ADDC + b _0804E56A + .align 2, 0 +_0804E558: .4byte gUnk_02002A40 +_0804E55C: .4byte gUnk_080F23BC +_0804E560: .4byte gUnk_080F238C +_0804E564: + ldr r0, _0804E56C @ =gUnk_080F236C + bl sub_0804ADDC +_0804E56A: + pop {pc} + .align 2, 0 +_0804E56C: .4byte gUnk_080F236C + + thumb_func_start sub_0804E570 +sub_0804E570: @ 0x0804E570 + movs r0, #1 + bx lr + + thumb_func_start sub_0804E574 +sub_0804E574: @ 0x0804E574 + push {lr} + ldr r0, _0804E588 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #9 + bhi _0804E608 + lsls r0, r0, #2 + ldr r1, _0804E58C @ =_0804E590 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0804E588: .4byte gUnk_02002A40 +_0804E58C: .4byte _0804E590 +_0804E590: @ jump table + .4byte _0804E5CC @ case 0 + .4byte _0804E608 @ case 1 + .4byte _0804E5CC @ case 2 + .4byte _0804E608 @ case 3 + .4byte _0804E5CC @ case 4 + .4byte _0804E5B8 @ case 5 + .4byte _0804E602 @ case 6 + .4byte _0804E602 @ case 7 + .4byte _0804E5FC @ case 8 + .4byte _0804E5FC @ case 9 +_0804E5B8: + movs r0, #0x46 + bl sub_0807CA84 + cmp r0, #0 + bne _0804E5F0 + movs r0, #0x29 + bl GetProgressFlag + cmp r0, #0 + bne _0804E5D8 +_0804E5CC: + ldr r0, _0804E5D4 @ =gUnk_080F2570 + bl sub_0804ADDC + b _0804E608 + .align 2, 0 +_0804E5D4: .4byte gUnk_080F2570 +_0804E5D8: + movs r0, #0x39 + bl sub_0807CA84 + cmp r0, #0 + bne _0804E608 + ldr r0, _0804E5EC @ =gUnk_080F25C0 + bl sub_0804ADDC + b _0804E608 + .align 2, 0 +_0804E5EC: .4byte gUnk_080F25C0 +_0804E5F0: + ldr r0, _0804E5F8 @ =gUnk_080F2590 + bl sub_0804ADDC + b _0804E608 + .align 2, 0 +_0804E5F8: .4byte gUnk_080F2590 +_0804E5FC: + ldr r0, _0804E60C @ =gUnk_080F2600 + bl sub_0804ADDC +_0804E602: + ldr r0, _0804E610 @ =gUnk_080F2590 + bl sub_0804ADDC +_0804E608: + pop {pc} + .align 2, 0 +_0804E60C: .4byte gUnk_080F2600 +_0804E610: .4byte gUnk_080F2590 + + thumb_func_start sub_0804E614 +sub_0804E614: @ 0x0804E614 + movs r0, #1 + bx lr + + thumb_func_start sub_0804E618 +sub_0804E618: @ 0x0804E618 + push {lr} + movs r0, #0x21 + bl sub_0801E7F4 + cmp r0, #0 + beq _0804E67A + movs r0, #0x42 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804E65C + movs r0, #0x43 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804E650 + ldr r0, _0804E648 @ =gUnk_080F2718 + bl sub_0804ADDC + ldr r0, _0804E64C @ =gUnk_080F2860 + bl sub_0804B1AC + b _0804E67A + .align 2, 0 +_0804E648: .4byte gUnk_080F2718 +_0804E64C: .4byte gUnk_080F2860 +_0804E650: + ldr r0, _0804E658 @ =gUnk_080F2758 + bl sub_0804ADDC + b _0804E67A + .align 2, 0 +_0804E658: .4byte gUnk_080F2758 +_0804E65C: + movs r0, #0x3f + bl sub_0807CBD0 + cmp r0, #0 + bne _0804E674 + ldr r0, _0804E670 @ =gUnk_080F27D8 + bl sub_0804ADDC + b _0804E67A + .align 2, 0 +_0804E670: .4byte gUnk_080F27D8 +_0804E674: + ldr r0, _0804E67C @ =gUnk_080F2798 + bl sub_0804ADDC +_0804E67A: + pop {pc} + .align 2, 0 +_0804E67C: .4byte gUnk_080F2798 + + thumb_func_start sub_0804E680 +sub_0804E680: @ 0x0804E680 + movs r0, #1 + bx lr + + thumb_func_start sub_0804E684 +sub_0804E684: @ 0x0804E684 + push {lr} + movs r0, #0x2b + bl GetProgressFlag + cmp r0, #0 + beq _0804E69C + ldr r0, _0804E698 @ =gUnk_080F28D4 + bl sub_0804ADDC + b _0804E6C4 + .align 2, 0 +_0804E698: .4byte gUnk_080F28D4 +_0804E69C: + movs r0, #0x2c + bl GetProgressFlag + cmp r0, #0 + beq _0804E6B4 + ldr r0, _0804E6B0 @ =gUnk_080F28F4 + bl sub_0804ADDC + b _0804E6C4 + .align 2, 0 +_0804E6B0: .4byte gUnk_080F28F4 +_0804E6B4: + movs r0, #0x2d + bl GetProgressFlag + cmp r0, #0 + beq _0804E6C4 + ldr r0, _0804E6C8 @ =gUnk_080F2914 + bl sub_0804ADDC +_0804E6C4: + pop {pc} + .align 2, 0 +_0804E6C8: .4byte gUnk_080F2914 + + thumb_func_start sub_0804E6CC +sub_0804E6CC: @ 0x0804E6CC + movs r0, #1 + bx lr + + thumb_func_start nullsub_377 +nullsub_377: @ 0x0804E6D0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E6D4 +sub_0804E6D4: @ 0x0804E6D4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_378 +nullsub_378: @ 0x0804E6D8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E6DC +sub_0804E6DC: @ 0x0804E6DC + movs r0, #1 + bx lr + + thumb_func_start nullsub_379 +nullsub_379: @ 0x0804E6E0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804E6E4 +sub_0804E6E4: @ 0x0804E6E4 + movs r0, #1 + bx lr + + thumb_func_start sub_0804E6E8 +sub_0804E6E8: @ 0x0804E6E8 + push {lr} + movs r0, #0x49 + bl GetProgressFlag + cmp r0, #0 + bne _0804E70A + ldr r0, _0804E71C @ =gUnk_02033A90 + movs r2, #0x86 + lsls r2, r2, #4 + adds r1, r0, r2 + adds r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] + ldr r0, _0804E720 @ =0x800B0036 + bl sub_080A3268 +_0804E70A: + movs r0, #0x13 + bl GetProgressFlag + cmp r0, #0 + bne _0804E71A + ldr r0, _0804E724 @ =gUnk_080F2E2C + bl sub_0804ADDC +_0804E71A: + pop {pc} + .align 2, 0 +_0804E71C: .4byte gUnk_02033A90 +_0804E720: .4byte 0x800B0036 +_0804E724: .4byte gUnk_080F2E2C + + thumb_func_start sub_0804E728 +sub_0804E728: @ 0x0804E728 + movs r0, #1 + bx lr + + thumb_func_start sub_0804E72C +sub_0804E72C: @ 0x0804E72C + push {lr} + movs r0, #0x49 + bl GetProgressFlag + cmp r0, #0 + bne _0804E74E + ldr r0, _0804E760 @ =gUnk_02033A90 + movs r2, #0x86 + lsls r2, r2, #4 + adds r1, r0, r2 + adds r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] + ldr r0, _0804E764 @ =0x800B0036 + bl sub_080A3268 +_0804E74E: + movs r0, #0x13 + bl GetProgressFlag + cmp r0, #0 + bne _0804E76C + ldr r0, _0804E768 @ =gUnk_080F2E94 + bl sub_0804ADDC + b _0804E772 + .align 2, 0 +_0804E760: .4byte gUnk_02033A90 +_0804E764: .4byte 0x800B0036 +_0804E768: .4byte gUnk_080F2E94 +_0804E76C: + ldr r0, _0804E774 @ =gUnk_080F2EC4 + bl sub_0804ADDC +_0804E772: + pop {pc} + .align 2, 0 +_0804E774: .4byte gUnk_080F2EC4 + + thumb_func_start sub_0804E778 +sub_0804E778: @ 0x0804E778 + movs r0, #1 + bx lr + + thumb_func_start sub_0804E77C +sub_0804E77C: @ 0x0804E77C + push {lr} + movs r0, #0x69 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804E792 + movs r0, #0x3c + bl sub_0807CA84 + cmp r0, #1 + bls _0804E798 +_0804E792: + ldr r0, _0804E79C @ =gUnk_080F2FD4 + bl sub_0804ADDC +_0804E798: + pop {pc} + .align 2, 0 +_0804E79C: .4byte gUnk_080F2FD4 + + thumb_func_start sub_0804E7A0 +sub_0804E7A0: @ 0x0804E7A0 + movs r0, #1 + bx lr + + thumb_func_start sub_0804E7A4 +sub_0804E7A4: @ 0x0804E7A4 + push {lr} + movs r0, #0x36 + bl sub_0807CA84 + cmp r0, #1 + bne _0804E7CC + movs r0, #0x5b + bl GetProgressFlag + cmp r0, #0 + bne _0804E7CC + ldr r0, _0804E7D0 @ =gUnk_03003F80 + ldr r0, [r0, #0x30] + movs r1, #0x80 + ands r0, r1 + cmp r0, #0 + bne _0804E7CC + ldr r0, _0804E7D4 @ =gUnk_080F30CC + bl sub_0804ADDC +_0804E7CC: + pop {pc} + .align 2, 0 +_0804E7D0: .4byte gUnk_03003F80 +_0804E7D4: .4byte gUnk_080F30CC + + thumb_func_start sub_0804E7D8 +sub_0804E7D8: @ 0x0804E7D8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804E7DC +sub_0804E7DC: @ 0x0804E7DC + push {r4, lr} + movs r0, #0x13 + bl GetProgressFlag + cmp r0, #0 + bne _0804E818 + movs r0, #0x46 + bl sub_0807CBD0 + adds r4, r0, #0 + cmp r4, #0 + bne _0804E818 + movs r0, #5 + movs r1, #1 + movs r2, #4 + movs r3, #4 + bl sub_080A71C4 + ldr r0, _0804E84C @ =gUnk_02000070 + strb r4, [r0] + movs r1, #0x80 + lsls r1, r1, #1 + movs r0, #5 + bl sub_08050054 + ldr r2, _0804E850 @ =gUnk_08009B30 + movs r0, #0 + movs r1, #6 + bl sub_080751E8 +_0804E818: + movs r0, #0x49 + bl GetProgressFlag + cmp r0, #0 + bne _0804E838 + ldr r0, _0804E854 @ =gUnk_02033A90 + movs r2, #0x86 + lsls r2, r2, #4 + adds r1, r0, r2 + adds r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] + ldr r0, _0804E858 @ =0x800B0036 + bl sub_080A3268 +_0804E838: + ldr r0, _0804E85C @ =gUnk_03003F80 + ldr r0, [r0, #0x30] + movs r1, #8 + ands r0, r1 + cmp r0, #0 + bne _0804E84A + ldr r0, _0804E860 @ =gUnk_080F31D8 + bl sub_0804ADDC +_0804E84A: + pop {r4, pc} + .align 2, 0 +_0804E84C: .4byte gUnk_02000070 +_0804E850: .4byte gUnk_08009B30 +_0804E854: .4byte gUnk_02033A90 +_0804E858: .4byte 0x800B0036 +_0804E85C: .4byte gUnk_03003F80 +_0804E860: .4byte gUnk_080F31D8 + + thumb_func_start sub_0804E864 +sub_0804E864: @ 0x0804E864 + push {lr} + ldr r2, _0804E888 @ =gLinkEntity + ldr r1, _0804E88C @ =gUnk_03000BF0 + ldrh r0, [r1, #6] + adds r0, #0x90 + strh r0, [r2, #0x2e] + ldrh r0, [r1, #8] + adds r0, #0x38 + strh r0, [r2, #0x32] + ldr r2, _0804E890 @ =gUnk_08009E58 + movs r0, #1 + movs r1, #6 + bl sub_080751E8 + movs r0, #0xa0 + bl sub_080526A0 + pop {pc} + .align 2, 0 +_0804E888: .4byte gLinkEntity +_0804E88C: .4byte gUnk_03000BF0 +_0804E890: .4byte gUnk_08009E58 + + thumb_func_start sub_0804E894 +sub_0804E894: @ 0x0804E894 + movs r0, #1 + bx lr + + thumb_func_start sub_0804E898 +sub_0804E898: @ 0x0804E898 + push {r4, lr} + movs r0, #0x12 + bl sub_0807CA84 + cmp r0, #0 + beq _0804E8D8 + ldr r0, _0804E8DC @ =gUnk_080F3260 + bl sub_0804ADDC + ldr r4, _0804E8E0 @ =0x00004072 + ldr r1, _0804E8E4 @ =0x00000202 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804E8E8 @ =0x00000242 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + movs r1, #0x81 + lsls r1, r1, #2 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + movs r1, #0x91 + lsls r1, r1, #2 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 +_0804E8D8: + pop {r4, pc} + .align 2, 0 +_0804E8DC: .4byte gUnk_080F3260 +_0804E8E0: .4byte 0x00004072 +_0804E8E4: .4byte 0x00000202 +_0804E8E8: .4byte 0x00000242 + + thumb_func_start sub_0804E8EC +sub_0804E8EC: @ 0x0804E8EC + movs r0, #1 + bx lr + + thumb_func_start sub_0804E8F0 +sub_0804E8F0: @ 0x0804E8F0 + push {lr} + bl sub_08054564 + pop {pc} + + thumb_func_start sub_0804E8F8 +sub_0804E8F8: @ 0x0804E8F8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804E8FC +sub_0804E8FC: @ 0x0804E8FC + push {lr} + movs r0, #0x1d + bl GetProgressFlag + cmp r0, #0 + bne _0804E914 + ldr r0, _0804E910 @ =gUnk_080F36FC + bl sub_0804ADDC + b _0804E922 + .align 2, 0 +_0804E910: .4byte gUnk_080F36FC +_0804E914: + ldr r0, _0804E924 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #3 + bhi _0804E922 + ldr r0, _0804E928 @ =gUnk_080F3604 + bl sub_0804ADDC +_0804E922: + pop {pc} + .align 2, 0 +_0804E924: .4byte gUnk_02002A40 +_0804E928: .4byte gUnk_080F3604 + + thumb_func_start sub_0804E92C +sub_0804E92C: @ 0x0804E92C + movs r0, #1 + bx lr + + thumb_func_start sub_0804E930 +sub_0804E930: @ 0x0804E930 + push {lr} + movs r0, #0x1d + bl GetProgressFlag + cmp r0, #0 + beq _0804E942 + ldr r0, _0804E944 @ =gUnk_080F37D0 + bl sub_0804ADDC +_0804E942: + pop {pc} + .align 2, 0 +_0804E944: .4byte gUnk_080F37D0 + + thumb_func_start sub_0804E948 +sub_0804E948: @ 0x0804E948 + movs r0, #1 + bx lr + + thumb_func_start nullsub_380 +nullsub_380: @ 0x0804E94C + bx lr + .align 2, 0 + + thumb_func_start sub_0804E950 +sub_0804E950: @ 0x0804E950 + movs r0, #1 + bx lr + + thumb_func_start sub_0804E954 +sub_0804E954: @ 0x0804E954 + push {lr} + movs r0, #0x46 + bl sub_0807CA84 + cmp r0, #0 + bne _0804E97A + movs r0, #0x29 + bl GetProgressFlag + cmp r0, #0 + beq _0804E97A + movs r0, #0x3b + bl sub_0807CA84 + cmp r0, #0 + bne _0804E97A + ldr r0, _0804E988 @ =gUnk_080F3A48 + bl sub_0804ADDC +_0804E97A: + ldr r0, _0804E98C @ =gUnk_030010A0 + ldr r1, _0804E990 @ =0x00000F28 + strh r1, [r0, #0x20] + ldr r1, _0804E994 @ =0x0000082D + strh r1, [r0, #0x22] + pop {pc} + .align 2, 0 +_0804E988: .4byte gUnk_080F3A48 +_0804E98C: .4byte gUnk_030010A0 +_0804E990: .4byte 0x00000F28 +_0804E994: .4byte 0x0000082D + + thumb_func_start sub_0804E998 +sub_0804E998: @ 0x0804E998 + push {lr} + movs r0, #5 + bl GetProgressFlag + cmp r0, #0 + beq _0804E9BC + movs r0, #4 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804E9BC + ldr r1, _0804E9B4 @ =gUnk_02034350 + ldr r0, _0804E9B8 @ =gUnk_080F3EA4 + b _0804E9C0 + .align 2, 0 +_0804E9B4: .4byte gUnk_02034350 +_0804E9B8: .4byte gUnk_080F3EA4 +_0804E9BC: + ldr r1, _0804E9C8 @ =gUnk_02034350 + ldr r0, _0804E9CC @ =gUnk_080F3D44 +_0804E9C0: + str r0, [r1, #0x74] + movs r0, #1 + pop {pc} + .align 2, 0 +_0804E9C8: .4byte gUnk_02034350 +_0804E9CC: .4byte gUnk_080F3D44 + + thumb_func_start sub_0804E9D0 +sub_0804E9D0: @ 0x0804E9D0 + push {r4, lr} + movs r0, #5 + bl GetProgressFlag + cmp r0, #0 + beq _0804E9EC + movs r0, #4 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804E9EC + ldr r0, _0804EAC4 @ =gUnk_080F3C64 + bl sub_0804ADDC +_0804E9EC: + movs r0, #0x12 + bl sub_0801E7F4 + cmp r0, #0 + beq _0804E9FC + ldr r0, _0804EAC8 @ =gUnk_080F3C94 + bl sub_0804ADDC +_0804E9FC: + ldr r0, _0804EACC @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #3 + bls _0804EA14 + movs r0, #0x5c + bl GetProgressFlag + cmp r0, #0 + beq _0804EA14 + ldr r0, _0804EAD0 @ =gUnk_080F3C44 + bl sub_0804ADDC +_0804EA14: + ldr r4, _0804EAD4 @ =0x00004091 + movs r1, #0xb2 + lsls r1, r1, #3 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + ldr r1, _0804EAD8 @ =0x00000591 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + ldr r1, _0804EADC @ =0x00000592 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + ldr r1, _0804EAE0 @ =0x00000593 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + ldr r1, _0804EAE4 @ =0x00000594 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + movs r1, #0xba + lsls r1, r1, #3 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + movs r1, #0xc2 + lsls r1, r1, #3 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + movs r1, #0xca + lsls r1, r1, #3 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + ldr r1, _0804EAE8 @ =0x000005D4 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + ldr r1, _0804EAEC @ =0x00000614 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + ldr r1, _0804EAF0 @ =0x00000654 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + movs r1, #0xd2 + lsls r1, r1, #3 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + ldr r1, _0804EAF4 @ =0x00000691 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + ldr r1, _0804EAF8 @ =0x00000692 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + ldr r1, _0804EAFC @ =0x00000693 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + ldr r1, _0804EB00 @ =0x00000694 + adds r0, r4, #0 + movs r2, #1 + bl sub_0800015E + pop {r4, pc} + .align 2, 0 +_0804EAC4: .4byte gUnk_080F3C64 +_0804EAC8: .4byte gUnk_080F3C94 +_0804EACC: .4byte gUnk_02002A40 +_0804EAD0: .4byte gUnk_080F3C44 +_0804EAD4: .4byte 0x00004091 +_0804EAD8: .4byte 0x00000591 +_0804EADC: .4byte 0x00000592 +_0804EAE0: .4byte 0x00000593 +_0804EAE4: .4byte 0x00000594 +_0804EAE8: .4byte 0x000005D4 +_0804EAEC: .4byte 0x00000614 +_0804EAF0: .4byte 0x00000654 +_0804EAF4: .4byte 0x00000691 +_0804EAF8: .4byte 0x00000692 +_0804EAFC: .4byte 0x00000693 +_0804EB00: .4byte 0x00000694 + + thumb_func_start sub_0804EB04 +sub_0804EB04: @ 0x0804EB04 + movs r0, #1 + bx lr + + thumb_func_start nullsub_381 +nullsub_381: @ 0x0804EB08 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EB0C +sub_0804EB0C: @ 0x0804EB0C + movs r0, #1 + bx lr + + thumb_func_start nullsub_382 +nullsub_382: @ 0x0804EB10 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EB14 +sub_0804EB14: @ 0x0804EB14 + movs r0, #1 + bx lr + + thumb_func_start nullsub_383 +nullsub_383: @ 0x0804EB18 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EB1C +sub_0804EB1C: @ 0x0804EB1C + movs r0, #1 + bx lr + + thumb_func_start nullsub_384 +nullsub_384: @ 0x0804EB20 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EB24 +sub_0804EB24: @ 0x0804EB24 + movs r0, #1 + bx lr + + thumb_func_start nullsub_385 +nullsub_385: @ 0x0804EB28 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EB2C +sub_0804EB2C: @ 0x0804EB2C + movs r0, #1 + bx lr + + thumb_func_start nullsub_386 +nullsub_386: @ 0x0804EB30 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EB34 +sub_0804EB34: @ 0x0804EB34 + movs r0, #1 + bx lr + + thumb_func_start nullsub_387 +nullsub_387: @ 0x0804EB38 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EB3C +sub_0804EB3C: @ 0x0804EB3C + movs r0, #1 + bx lr + + thumb_func_start nullsub_388 +nullsub_388: @ 0x0804EB40 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EB44 +sub_0804EB44: @ 0x0804EB44 + movs r0, #1 + bx lr + + thumb_func_start nullsub_389 +nullsub_389: @ 0x0804EB48 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EB4C +sub_0804EB4C: @ 0x0804EB4C + movs r0, #1 + bx lr + + thumb_func_start nullsub_390 +nullsub_390: @ 0x0804EB50 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EB54 +sub_0804EB54: @ 0x0804EB54 + ldr r2, _0804EB64 @ =gUnk_02033A90 + ldrb r1, [r2] + movs r0, #0x48 + orrs r0, r1 + strb r0, [r2] + movs r0, #1 + bx lr + .align 2, 0 +_0804EB64: .4byte gUnk_02033A90 + + thumb_func_start nullsub_391 +nullsub_391: @ 0x0804EB68 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EB6C +sub_0804EB6C: @ 0x0804EB6C + ldr r2, _0804EB7C @ =gUnk_02033A90 + ldrb r1, [r2] + movs r0, #0x48 + orrs r0, r1 + strb r0, [r2] + movs r0, #1 + bx lr + .align 2, 0 +_0804EB7C: .4byte gUnk_02033A90 + + thumb_func_start nullsub_392 +nullsub_392: @ 0x0804EB80 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EB84 +sub_0804EB84: @ 0x0804EB84 + ldr r2, _0804EB94 @ =gUnk_02033A90 + ldrb r1, [r2] + movs r0, #0x48 + orrs r0, r1 + strb r0, [r2] + movs r0, #1 + bx lr + .align 2, 0 +_0804EB94: .4byte gUnk_02033A90 + + thumb_func_start nullsub_393 +nullsub_393: @ 0x0804EB98 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EB9C +sub_0804EB9C: @ 0x0804EB9C + push {lr} + movs r0, #0x58 + movs r1, #5 + bl sub_0801DD58 + ldr r2, _0804EBB4 @ =gUnk_02033A90 + ldrb r1, [r2] + movs r0, #0x48 + orrs r0, r1 + strb r0, [r2] + movs r0, #1 + pop {pc} + .align 2, 0 +_0804EBB4: .4byte gUnk_02033A90 + + thumb_func_start nullsub_394 +nullsub_394: @ 0x0804EBB8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EBBC +sub_0804EBBC: @ 0x0804EBBC + push {lr} + movs r0, #0x58 + movs r1, #6 + bl sub_0801DD58 + ldr r2, _0804EBD4 @ =gUnk_02033A90 + ldrb r1, [r2] + movs r0, #0x48 + orrs r0, r1 + strb r0, [r2] + movs r0, #1 + pop {pc} + .align 2, 0 +_0804EBD4: .4byte gUnk_02033A90 + + thumb_func_start nullsub_395 +nullsub_395: @ 0x0804EBD8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EBDC +sub_0804EBDC: @ 0x0804EBDC + push {lr} + movs r0, #0x51 + bl GetProgressFlag + cmp r0, #0 + beq _0804EBF2 + ldr r0, _0804EBF8 @ =gUnk_02034350 + ldr r1, _0804EBFC @ =gUnk_080F4EB0 + str r1, [r0, #0x6c] + movs r1, #0 + str r1, [r0, #0x74] +_0804EBF2: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804EBF8: .4byte gUnk_02034350 +_0804EBFC: .4byte gUnk_080F4EB0 + + thumb_func_start sub_0804EC00 +sub_0804EC00: @ 0x0804EC00 + push {lr} + movs r0, #0x51 + bl GetProgressFlag + cmp r0, #0 + beq _0804EC1A + ldr r0, _0804EC48 @ =gUnk_02033A90 + ldr r2, _0804EC4C @ =0x00000864 + adds r1, r0, r2 + subs r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] +_0804EC1A: + movs r0, #0x14 + bl GetProgressFlag + cmp r0, #0 + bne _0804EC2A + ldr r0, _0804EC50 @ =gUnk_080F4D50 + bl sub_0804ADDC +_0804EC2A: + movs r0, #0x3e + bl sub_0807CBD0 + cmp r0, #0 + bne _0804EC64 + movs r0, #0x3b + bl sub_0807CBD0 + cmp r0, #0 + bne _0804EC58 + ldr r0, _0804EC54 @ =gUnk_080F4DB0 + bl sub_0804ADDC + b _0804EC5E + .align 2, 0 +_0804EC48: .4byte gUnk_02033A90 +_0804EC4C: .4byte 0x00000864 +_0804EC50: .4byte gUnk_080F4D50 +_0804EC54: .4byte gUnk_080F4DB0 +_0804EC58: + ldr r0, _0804EC84 @ =gUnk_080F4DD0 + bl sub_0804ADDC +_0804EC5E: + ldr r0, _0804EC88 @ =gUnk_080F4DF0 + bl sub_0804ADDC +_0804EC64: + movs r0, #0x4e + bl sub_0801E7F4 + cmp r0, #0 + beq _0804EC74 + ldr r0, _0804EC8C @ =gUnk_080F4F10 + bl sub_0804ADDC +_0804EC74: + ldr r0, _0804EC90 @ =gUnk_02002A40 + ldr r0, [r0, #0x40] + cmp r0, #0 + blt _0804EC82 + ldr r0, _0804EC94 @ =gUnk_080F4E10 + bl sub_0804ADDC +_0804EC82: + pop {pc} + .align 2, 0 +_0804EC84: .4byte gUnk_080F4DD0 +_0804EC88: .4byte gUnk_080F4DF0 +_0804EC8C: .4byte gUnk_080F4F10 +_0804EC90: .4byte gUnk_02002A40 +_0804EC94: .4byte gUnk_080F4E10 + + thumb_func_start sub_0804EC98 +sub_0804EC98: @ 0x0804EC98 + push {lr} + ldr r0, _0804ECAC @ =gUnk_02002A40 + ldr r0, [r0, #0x40] + cmp r0, #0 + blt _0804ECA8 + ldr r0, _0804ECB0 @ =gUnk_080F4E10 + bl sub_0804ADDC +_0804ECA8: + pop {pc} + .align 2, 0 +_0804ECAC: .4byte gUnk_02002A40 +_0804ECB0: .4byte gUnk_080F4E10 + + thumb_func_start sub_0804ECB4 +sub_0804ECB4: @ 0x0804ECB4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_396 +nullsub_396: @ 0x0804ECB8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804ECBC +sub_0804ECBC: @ 0x0804ECBC + push {lr} + movs r0, #0x51 + bl GetProgressFlag + cmp r0, #0 + beq _0804ECDA + ldr r1, _0804ECE0 @ =gUnk_02034350 + ldr r0, _0804ECE4 @ =gUnk_080F5348 + str r0, [r1, #0x6c] + adds r2, r1, #0 + adds r2, #0x88 + ldr r0, _0804ECE8 @ =sub_0804ED18 + str r0, [r2] + movs r0, #0 + str r0, [r1, #0x74] +_0804ECDA: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804ECE0: .4byte gUnk_02034350 +_0804ECE4: .4byte gUnk_080F5348 +_0804ECE8: .4byte sub_0804ED18 + + thumb_func_start sub_0804ECEC +sub_0804ECEC: @ 0x0804ECEC + push {lr} + movs r0, #2 + bl sub_0807CA84 + cmp r0, #0 + beq _0804ED0E + ldr r0, _0804ED10 @ =gUnk_080F5328 + bl sub_0804ADDC + movs r0, #0x14 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804ED0E + ldr r0, _0804ED14 @ =gUnk_080F5308 + bl sub_0804ADDC +_0804ED0E: + pop {pc} + .align 2, 0 +_0804ED10: .4byte gUnk_080F5328 +_0804ED14: .4byte gUnk_080F5308 + + thumb_func_start sub_0804ED18 +sub_0804ED18: @ 0x0804ED18 + ldr r0, _0804ED28 @ =gUnk_02033A90 + ldr r2, _0804ED2C @ =0x00000864 + adds r1, r0, r2 + subs r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] + bx lr + .align 2, 0 +_0804ED28: .4byte gUnk_02033A90 +_0804ED2C: .4byte 0x00000864 + + thumb_func_start sub_0804ED30 +sub_0804ED30: @ 0x0804ED30 + movs r0, #1 + bx lr + + thumb_func_start sub_0804ED34 +sub_0804ED34: @ 0x0804ED34 + push {lr} + bl sub_080AF2E4 + movs r0, #0x5d + bl GetProgressFlag + cmp r0, #0 + beq _0804ED4E + ldr r0, _0804ED50 @ =gUnk_02033A90 + ldr r1, _0804ED54 @ =0x00000864 + adds r0, r0, r1 + movs r1, #0x31 + str r1, [r0] +_0804ED4E: + pop {pc} + .align 2, 0 +_0804ED50: .4byte gUnk_02033A90 +_0804ED54: .4byte 0x00000864 + + thumb_func_start sub_0804ED58 +sub_0804ED58: @ 0x0804ED58 + movs r0, #1 + bx lr + + thumb_func_start sub_0804ED5C +sub_0804ED5C: @ 0x0804ED5C + push {lr} + movs r0, #0x79 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804ED6E + ldr r0, _0804EDA8 @ =gUnk_080F54E8 + bl sub_0804ADDC +_0804ED6E: + movs r0, #0x7a + bl sub_0807CBD0 + cmp r0, #0 + bne _0804EDB0 + movs r0, #2 + bl sub_0807CA84 + cmp r0, #0 + beq _0804EE16 + movs r0, #3 + bl sub_0807CA84 + cmp r0, #0 + bne _0804EE16 + movs r0, #0x40 + bl sub_0807CA84 + cmp r0, #0 + beq _0804EE16 + movs r0, #0x41 + bl sub_0807CA84 + cmp r0, #0 + beq _0804EE16 + ldr r0, _0804EDAC @ =gUnk_080F5508 + bl sub_0804ADDC + b _0804EE16 + .align 2, 0 +_0804EDA8: .4byte gUnk_080F54E8 +_0804EDAC: .4byte gUnk_080F5508 +_0804EDB0: + movs r0, #0x7b + bl sub_0807CBD0 + cmp r0, #0 + bne _0804EDE4 + movs r0, #3 + bl sub_0807CA84 + cmp r0, #0 + beq _0804EE16 + movs r0, #4 + bl sub_0807CA84 + cmp r0, #0 + bne _0804EE16 + movs r0, #0x42 + bl sub_0807CA84 + cmp r0, #0 + beq _0804EE16 + ldr r0, _0804EDE0 @ =gUnk_080F5558 + bl sub_0804ADDC + b _0804EE16 + .align 2, 0 +_0804EDE0: .4byte gUnk_080F5558 +_0804EDE4: + movs r0, #0x7c + bl sub_0807CBD0 + cmp r0, #0 + bne _0804EE10 + movs r0, #6 + bl sub_0807CA84 + cmp r0, #0 + bne _0804EE16 + movs r0, #0x43 + bl sub_0807CA84 + cmp r0, #0 + beq _0804EE16 + ldr r0, _0804EE0C @ =gUnk_080F5598 + bl sub_0804ADDC + b _0804EE16 + .align 2, 0 +_0804EE0C: .4byte gUnk_080F5598 +_0804EE10: + ldr r0, _0804EE5C @ =gUnk_080F55D8 + bl sub_0804ADDC +_0804EE16: + movs r0, #0x7a + bl sub_0807CBD0 + cmp r0, #0 + beq _0804EE26 + ldr r0, _0804EE60 @ =gUnk_080F5528 + bl sub_0804ADDC +_0804EE26: + movs r0, #0x7b + bl sub_0807CBD0 + cmp r0, #0 + beq _0804EE36 + ldr r0, _0804EE64 @ =gUnk_080F5578 + bl sub_0804ADDC +_0804EE36: + movs r0, #0x7c + bl sub_0807CBD0 + cmp r0, #0 + beq _0804EE46 + ldr r0, _0804EE68 @ =gUnk_080F55B8 + bl sub_0804ADDC +_0804EE46: + movs r0, #0x5d + bl GetProgressFlag + cmp r0, #0 + beq _0804EE5A + ldr r0, _0804EE6C @ =gUnk_02033A90 + ldr r1, _0804EE70 @ =0x00000864 + adds r0, r0, r1 + movs r1, #0x31 + str r1, [r0] +_0804EE5A: + pop {pc} + .align 2, 0 +_0804EE5C: .4byte gUnk_080F55D8 +_0804EE60: .4byte gUnk_080F5528 +_0804EE64: .4byte gUnk_080F5578 +_0804EE68: .4byte gUnk_080F55B8 +_0804EE6C: .4byte gUnk_02033A90 +_0804EE70: .4byte 0x00000864 + + thumb_func_start sub_0804EE74 +sub_0804EE74: @ 0x0804EE74 + movs r0, #1 + bx lr + + thumb_func_start sub_0804EE78 +sub_0804EE78: @ 0x0804EE78 + push {lr} + movs r0, #0x78 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804EE94 + movs r0, #0x7c + bl sub_0807CBD0 + cmp r0, #0 + beq _0804EE94 + ldr r0, _0804EEAC @ =gUnk_080F5660 + bl sub_0804ADDC +_0804EE94: + movs r0, #0x5d + bl GetProgressFlag + cmp r0, #0 + beq _0804EEA8 + ldr r0, _0804EEB0 @ =gUnk_02033A90 + ldr r1, _0804EEB4 @ =0x00000864 + adds r0, r0, r1 + movs r1, #0x31 + str r1, [r0] +_0804EEA8: + pop {pc} + .align 2, 0 +_0804EEAC: .4byte gUnk_080F5660 +_0804EEB0: .4byte gUnk_02033A90 +_0804EEB4: .4byte 0x00000864 + + thumb_func_start sub_0804EEB8 +sub_0804EEB8: @ 0x0804EEB8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804EEBC +sub_0804EEBC: @ 0x0804EEBC + push {lr} + ldr r0, _0804EEF4 @ =gUnk_080F5758 + bl sub_0804ADDC + movs r0, #0x36 + bl sub_0807CA84 + cmp r0, #0 + bne _0804EEE2 + movs r0, #0x80 + lsls r0, r0, #2 + movs r1, #0x8f + bl GetProgressFlagWithOffset + cmp r0, #0 + beq _0804EEE2 + ldr r0, _0804EEF8 @ =gUnk_080F57E8 + bl sub_0804ADDC +_0804EEE2: + movs r0, #0x55 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804EF00 + ldr r0, _0804EEFC @ =gUnk_080F57A8 + bl sub_0804ADDC + b _0804EF54 + .align 2, 0 +_0804EEF4: .4byte gUnk_080F5758 +_0804EEF8: .4byte gUnk_080F57E8 +_0804EEFC: .4byte gUnk_080F57A8 +_0804EF00: + ldr r1, _0804EF34 @ =gUnk_080FD5A0 + ldr r0, _0804EF38 @ =gUnk_02002A40 + adds r0, #0xae + ldrb r0, [r0] + adds r0, r0, r1 + ldrb r0, [r0] + cmp r0, #0x1d + bls _0804EF16 + ldr r0, _0804EF3C @ =gUnk_080F57C8 + bl sub_0804ADDC +_0804EF16: + movs r0, #0xb + bl sub_0807CA84 + cmp r0, #0 + bne _0804EF44 + movs r0, #0xc + bl sub_0807CA84 + cmp r0, #0 + bne _0804EF44 + ldr r0, _0804EF40 @ =gUnk_080F5888 + bl sub_0804ADDC + b _0804EF54 + .align 2, 0 +_0804EF34: .4byte gUnk_080FD5A0 +_0804EF38: .4byte gUnk_02002A40 +_0804EF3C: .4byte gUnk_080F57C8 +_0804EF40: .4byte gUnk_080F5888 +_0804EF44: + movs r0, #0xcd + bl sub_0807CBD0 + cmp r0, #0 + bne _0804EF54 + ldr r0, _0804EF80 @ =gUnk_080F58A8 + bl sub_0804ADDC +_0804EF54: + movs r0, #9 + bl sub_0807CA84 + cmp r0, #0 + bne _0804EF68 + movs r0, #4 + bl GetProgressFlag + cmp r0, #0 + beq _0804EF92 +_0804EF68: + ldr r0, _0804EF84 @ =gUnk_080F5868 + bl sub_0804ADDC + movs r0, #0x56 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804EF8C + ldr r0, _0804EF88 @ =gUnk_080F5828 + bl sub_0804ADDC + b _0804EF92 + .align 2, 0 +_0804EF80: .4byte gUnk_080F58A8 +_0804EF84: .4byte gUnk_080F5868 +_0804EF88: .4byte gUnk_080F5828 +_0804EF8C: + ldr r0, _0804EFA4 @ =gUnk_080F5848 + bl sub_0804ADDC +_0804EF92: + ldr r0, _0804EFA8 @ =gUnk_02002A40 + adds r0, #0xbb + ldrb r0, [r0] + cmp r0, #0 + bne _0804EFA2 + ldr r0, _0804EFAC @ =gUnk_080F5788 + bl sub_0804ADDC +_0804EFA2: + pop {pc} + .align 2, 0 +_0804EFA4: .4byte gUnk_080F5848 +_0804EFA8: .4byte gUnk_02002A40 +_0804EFAC: .4byte gUnk_080F5788 + + thumb_func_start sub_0804EFB0 +sub_0804EFB0: @ 0x0804EFB0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_397 +nullsub_397: @ 0x0804EFB4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EFB8 +sub_0804EFB8: @ 0x0804EFB8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804EFBC +sub_0804EFBC: @ 0x0804EFBC + push {lr} + movs r0, #0x38 + bl sub_0807CA84 + cmp r0, #1 + bne _0804EFCE + ldr r0, _0804EFD0 @ =gUnk_080F5B3C + bl sub_0804ADDC +_0804EFCE: + pop {pc} + .align 2, 0 +_0804EFD0: .4byte gUnk_080F5B3C + + thumb_func_start sub_0804EFD4 +sub_0804EFD4: @ 0x0804EFD4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_398 +nullsub_398: @ 0x0804EFD8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804EFDC +sub_0804EFDC: @ 0x0804EFDC + push {lr} + movs r0, #0x50 + bl GetProgressFlag + cmp r0, #0 + beq _0804EFEE + ldr r1, _0804EFF4 @ =gUnk_030010A0 + movs r0, #5 + strb r0, [r1, #0xf] +_0804EFEE: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804EFF4: .4byte gUnk_030010A0 + + thumb_func_start sub_0804EFF8 +sub_0804EFF8: @ 0x0804EFF8 + push {lr} + ldr r0, _0804F020 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #7 + bls _0804F008 + ldr r0, _0804F024 @ =gUnk_080F5DD0 + bl sub_0804ADDC +_0804F008: + movs r0, #0x50 + bl GetProgressFlag + cmp r0, #0 + beq _0804F01C + ldr r2, _0804F028 @ =gUnk_08011C50 + movs r0, #1 + movs r1, #2 + bl sub_080751E8 +_0804F01C: + pop {pc} + .align 2, 0 +_0804F020: .4byte gUnk_02002A40 +_0804F024: .4byte gUnk_080F5DD0 +_0804F028: .4byte gUnk_08011C50 + + thumb_func_start sub_0804F02C +sub_0804F02C: @ 0x0804F02C + movs r0, #1 + bx lr + + thumb_func_start sub_0804F030 +sub_0804F030: @ 0x0804F030 + push {lr} + movs r0, #0x80 + lsls r0, r0, #1 + movs r1, #0xd1 + bl GetProgressFlagWithOffset + cmp r0, #0 + bne _0804F046 + ldr r0, _0804F048 @ =gUnk_080F5E68 + bl sub_0804ADDC +_0804F046: + pop {pc} + .align 2, 0 +_0804F048: .4byte gUnk_080F5E68 + + thumb_func_start sub_0804F04C +sub_0804F04C: @ 0x0804F04C + movs r0, #1 + bx lr + + thumb_func_start sub_0804F050 +sub_0804F050: @ 0x0804F050 + push {lr} + ldr r0, _0804F074 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #4 + bls _0804F060 + ldr r0, _0804F078 @ =gUnk_080F5F38 + bl sub_0804ADDC +_0804F060: + movs r0, #0x92 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804F080 + ldr r0, _0804F07C @ =gUnk_080F5F58 + bl sub_0804ADDC + b _0804F086 + .align 2, 0 +_0804F074: .4byte gUnk_02002A40 +_0804F078: .4byte gUnk_080F5F38 +_0804F07C: .4byte gUnk_080F5F58 +_0804F080: + ldr r0, _0804F088 @ =gUnk_080F5F78 + bl sub_0804ADDC +_0804F086: + pop {pc} + .align 2, 0 +_0804F088: .4byte gUnk_080F5F78 + + thumb_func_start sub_0804F08C +sub_0804F08C: @ 0x0804F08C + movs r0, #1 + bx lr + + thumb_func_start nullsub_399 +nullsub_399: @ 0x0804F090 + bx lr + .align 2, 0 + + thumb_func_start sub_0804F094 +sub_0804F094: @ 0x0804F094 + movs r0, #1 + bx lr + + thumb_func_start nullsub_400 +nullsub_400: @ 0x0804F098 + bx lr + .align 2, 0 + + thumb_func_start sub_0804F09C +sub_0804F09C: @ 0x0804F09C + push {lr} + movs r0, #0x24 + bl GetProgressFlag + cmp r0, #0 + beq _0804F0BC + movs r0, #0x80 + lsls r0, r0, #1 + movs r1, #0xdc + bl GetProgressFlagWithOffset + cmp r0, #0 + beq _0804F0BC + movs r0, #0x58 + bl sub_0807CD04 +_0804F0BC: + movs r0, #1 + pop {pc} + + thumb_func_start sub_0804F0C0 +sub_0804F0C0: @ 0x0804F0C0 + push {r4, lr} + movs r0, #0x80 + lsls r0, r0, #1 + movs r1, #0xdc + bl GetProgressFlagWithOffset + cmp r0, #0 + beq _0804F0D6 + movs r0, #0x90 + bl sub_0807CCB4 +_0804F0D6: + movs r0, #0xf + bl sub_0801E7F4 + cmp r0, #0 + beq _0804F0E6 + ldr r0, _0804F118 @ =gUnk_080F61BC + bl sub_0804ADDC +_0804F0E6: + movs r0, #0x58 + bl GetProgressFlag + cmp r0, #0 + bne _0804F106 + ldr r4, _0804F11C @ =0x00004072 + ldr r1, _0804F120 @ =0x000004C7 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F124 @ =0x00000507 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 +_0804F106: + movs r2, #0xf4 + lsls r2, r2, #1 + movs r3, #0xac + lsls r3, r3, #1 + movs r0, #8 + movs r1, #0 + bl sub_08052CA4 + pop {r4, pc} + .align 2, 0 +_0804F118: .4byte gUnk_080F61BC +_0804F11C: .4byte 0x00004072 +_0804F120: .4byte 0x000004C7 +_0804F124: .4byte 0x00000507 + + thumb_func_start sub_0804F128 +sub_0804F128: @ 0x0804F128 + movs r0, #1 + bx lr + + thumb_func_start sub_0804F12C +sub_0804F12C: @ 0x0804F12C + push {lr} + movs r0, #0x58 + bl GetProgressFlag + cmp r0, #0 + bne _0804F144 + ldr r0, _0804F140 @ =gUnk_080F62E4 + bl sub_0804ADDC + b _0804F154 + .align 2, 0 +_0804F140: .4byte gUnk_080F62E4 +_0804F144: + movs r0, #0x63 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804F154 + ldr r0, _0804F158 @ =gUnk_080F6324 + bl sub_0804ADDC +_0804F154: + pop {pc} + .align 2, 0 +_0804F158: .4byte gUnk_080F6324 + + thumb_func_start sub_0804F15C +sub_0804F15C: @ 0x0804F15C + movs r0, #1 + bx lr + + thumb_func_start nullsub_401 +nullsub_401: @ 0x0804F160 + bx lr + .align 2, 0 + + thumb_func_start sub_0804F164 +sub_0804F164: @ 0x0804F164 + movs r0, #1 + bx lr + + thumb_func_start sub_0804F168 +sub_0804F168: @ 0x0804F168 + push {lr} + movs r0, #0xb1 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804F180 + ldr r0, _0804F17C @ =gUnk_080F6564 + bl sub_0804ADDC + b _0804F186 + .align 2, 0 +_0804F17C: .4byte gUnk_080F6564 +_0804F180: + ldr r0, _0804F188 @ =gUnk_080F6584 + bl sub_0804ADDC +_0804F186: + pop {pc} + .align 2, 0 +_0804F188: .4byte gUnk_080F6584 + + thumb_func_start sub_0804F18C +sub_0804F18C: @ 0x0804F18C + movs r0, #1 + bx lr + + thumb_func_start sub_0804F190 +sub_0804F190: @ 0x0804F190 + push {lr} + movs r0, #5 + bl sub_0805B4D0 + movs r0, #6 + bl GetProgressFlag + cmp r0, #0 + beq _0804F1B6 + movs r0, #0x80 + lsls r0, r0, #1 + movs r1, #5 + bl GetProgressFlagWithOffset + cmp r0, #0 + bne _0804F1B6 + ldr r0, _0804F1D4 @ =gUnk_080F66AC + bl sub_0804ADDC +_0804F1B6: + movs r2, #0xf4 + lsls r2, r2, #1 + movs r3, #0xac + lsls r3, r3, #1 + movs r0, #8 + movs r1, #0 + bl sub_08052CA4 + ldr r2, _0804F1D8 @ =gUnk_02033A90 + ldrb r1, [r2] + movs r0, #0x80 + orrs r0, r1 + strb r0, [r2] + pop {pc} + .align 2, 0 +_0804F1D4: .4byte gUnk_080F66AC +_0804F1D8: .4byte gUnk_02033A90 + + thumb_func_start sub_0804F1DC +sub_0804F1DC: @ 0x0804F1DC + movs r0, #1 + bx lr + + thumb_func_start nullsub_402 +nullsub_402: @ 0x0804F1E0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804F1E4 +sub_0804F1E4: @ 0x0804F1E4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_403 +nullsub_403: @ 0x0804F1E8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804F1EC +sub_0804F1EC: @ 0x0804F1EC + movs r0, #1 + bx lr + + thumb_func_start nullsub_404 +nullsub_404: @ 0x0804F1F0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804F1F4 +sub_0804F1F4: @ 0x0804F1F4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_405 +nullsub_405: @ 0x0804F1F8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804F1FC +sub_0804F1FC: @ 0x0804F1FC + movs r0, #1 + bx lr + + thumb_func_start nullsub_406 +nullsub_406: @ 0x0804F200 + bx lr + .align 2, 0 + + thumb_func_start sub_0804F204 +sub_0804F204: @ 0x0804F204 + movs r0, #1 + bx lr + + thumb_func_start nullsub_407 +nullsub_407: @ 0x0804F208 + bx lr + .align 2, 0 + + thumb_func_start sub_0804F20C +sub_0804F20C: @ 0x0804F20C + movs r0, #1 + bx lr + + thumb_func_start nullsub_408 +nullsub_408: @ 0x0804F210 + bx lr + .align 2, 0 + + thumb_func_start sub_0804F214 +sub_0804F214: @ 0x0804F214 + movs r0, #1 + bx lr + + thumb_func_start nullsub_409 +nullsub_409: @ 0x0804F218 + bx lr + .align 2, 0 + + thumb_func_start sub_0804F21C +sub_0804F21C: @ 0x0804F21C + movs r0, #1 + bx lr + + thumb_func_start nullsub_410 +nullsub_410: @ 0x0804F220 + bx lr + .align 2, 0 + + thumb_func_start sub_0804F224 +sub_0804F224: @ 0x0804F224 + movs r0, #1 + bx lr + + thumb_func_start nullsub_411 +nullsub_411: @ 0x0804F228 + bx lr + .align 2, 0 + + thumb_func_start sub_0804F22C +sub_0804F22C: @ 0x0804F22C + movs r0, #1 + bx lr + + thumb_func_start sub_0804F230 +sub_0804F230: @ 0x0804F230 + push {lr} + movs r0, #0 + bl sub_0805ADD8 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804F23C +sub_0804F23C: @ 0x0804F23C + push {lr} + movs r0, #0x6d + bl sub_0807CBD0 + cmp r0, #0 + bne _0804F252 + movs r1, #0x80 + lsls r1, r1, #1 + movs r0, #7 + bl sub_08050054 +_0804F252: + movs r0, #0x49 + bl sub_0807CD04 + movs r0, #1 + pop {pc} + + thumb_func_start sub_0804F25C +sub_0804F25C: @ 0x0804F25C + push {r4, lr} + movs r0, #0 + bl sub_0805ADD8 + movs r0, #0x6d + bl sub_0807CBD0 + cmp r0, #0 + bne _0804F27A + ldr r0, _0804F2B0 @ =gUnk_080F70A8 + bl sub_0804ADDC + movs r0, #0x1c + bl sub_0807CD80 +_0804F27A: + movs r0, #0x15 + bl GetProgressFlag + cmp r0, #0 + bne _0804F28E + ldr r0, _0804F2B4 @ =gUnk_02033A90 + ldr r1, _0804F2B8 @ =0x00000864 + adds r0, r0, r1 + movs r1, #0x10 + str r1, [r0] +_0804F28E: + ldr r4, _0804F2BC @ =gUnk_02002A40 + ldr r0, [r4, #0x40] + movs r1, #0x80 + lsls r1, r1, #0x17 + ands r0, r1 + cmp r0, #0 + bne _0804F2A2 + ldr r0, _0804F2C0 @ =gUnk_080F70D8 + bl sub_0804ADDC +_0804F2A2: + ldrb r0, [r4, #8] + cmp r0, #3 + bls _0804F2AE + ldr r0, _0804F2C4 @ =gUnk_080F7088 + bl sub_0804ADDC +_0804F2AE: + pop {r4, pc} + .align 2, 0 +_0804F2B0: .4byte gUnk_080F70A8 +_0804F2B4: .4byte gUnk_02033A90 +_0804F2B8: .4byte 0x00000864 +_0804F2BC: .4byte gUnk_02002A40 +_0804F2C0: .4byte gUnk_080F70D8 +_0804F2C4: .4byte gUnk_080F7088 + + thumb_func_start sub_0804F2C8 +sub_0804F2C8: @ 0x0804F2C8 + push {lr} + ldr r0, _0804F2E0 @ =gUnk_02002A40 + ldr r0, [r0, #0x40] + movs r1, #0x80 + lsls r1, r1, #0x17 + ands r0, r1 + cmp r0, #0 + bne _0804F2DE + ldr r0, _0804F2E4 @ =gUnk_080F70D8 + bl sub_0804ADDC +_0804F2DE: + pop {pc} + .align 2, 0 +_0804F2E0: .4byte gUnk_02002A40 +_0804F2E4: .4byte gUnk_080F70D8 + + thumb_func_start sub_0804F2E8 +sub_0804F2E8: @ 0x0804F2E8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804F2EC +sub_0804F2EC: @ 0x0804F2EC + push {lr} + movs r0, #0 + bl sub_0805ADD8 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804F2F8 +sub_0804F2F8: @ 0x0804F2F8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804F2FC +sub_0804F2FC: @ 0x0804F2FC + push {lr} + movs r0, #0 + bl sub_0805ADD8 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804F308 +sub_0804F308: @ 0x0804F308 + push {lr} + movs r0, #0x11 + bl sub_0807CA84 + cmp r0, #0 + beq _0804F324 + movs r0, #0x12 + bl sub_0807CA84 + cmp r0, #0 + bne _0804F324 + ldr r1, _0804F328 @ =gUnk_02034350 + ldr r0, _0804F32C @ =gUnk_080F7680 + str r0, [r1, #0x74] +_0804F324: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804F328: .4byte gUnk_02034350 +_0804F32C: .4byte gUnk_080F7680 + + thumb_func_start sub_0804F330 +sub_0804F330: @ 0x0804F330 + push {r4, lr} + movs r0, #0 + bl sub_0805ADD8 + ldr r0, _0804F38C @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #3 + bls _0804F346 + ldr r0, _0804F390 @ =gUnk_080F7500 + bl sub_0804ADDC +_0804F346: + movs r0, #0x11 + bl sub_0807CA84 + cmp r0, #0 + beq _0804F38A + movs r0, #0x12 + bl sub_0807CA84 + cmp r0, #0 + bne _0804F38A + ldr r0, _0804F394 @ =gUnk_080F7550 + bl sub_0804ADDC + ldr r4, _0804F398 @ =0x00004072 + ldr r1, _0804F39C @ =0x00000311 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F3A0 @ =0x00000351 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F3A4 @ =0x000003D9 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F3A8 @ =0x00000419 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 +_0804F38A: + pop {r4, pc} + .align 2, 0 +_0804F38C: .4byte gUnk_02002A40 +_0804F390: .4byte gUnk_080F7500 +_0804F394: .4byte gUnk_080F7550 +_0804F398: .4byte 0x00004072 +_0804F39C: .4byte 0x00000311 +_0804F3A0: .4byte 0x00000351 +_0804F3A4: .4byte 0x000003D9 +_0804F3A8: .4byte 0x00000419 + + thumb_func_start sub_0804F3AC +sub_0804F3AC: @ 0x0804F3AC + movs r0, #1 + bx lr + + thumb_func_start sub_0804F3B0 +sub_0804F3B0: @ 0x0804F3B0 + push {lr} + movs r0, #0 + bl sub_0805ADD8 + movs r0, #0x80 + lsls r0, r0, #2 + movs r1, #0x8f + bl GetProgressFlagWithOffset + cmp r0, #0 + beq _0804F3DC + movs r0, #0x1d + bl GetProgressFlag + cmp r0, #0 + bne _0804F3EC + ldr r0, _0804F3D8 @ =gUnk_080F77C0 + bl sub_0804ADDC + b _0804F3EC + .align 2, 0 +_0804F3D8: .4byte gUnk_080F77C0 +_0804F3DC: + movs r0, #0x40 + bl sub_0807CA84 + cmp r0, #0 + beq _0804F3EC + ldr r0, _0804F444 @ =gUnk_080F77F0 + bl sub_0804ADDC +_0804F3EC: + movs r0, #0x15 + bl GetProgressFlag + cmp r0, #0 + beq _0804F406 + movs r0, #0x40 + bl sub_0807CA84 + cmp r0, #0 + bne _0804F406 + ldr r0, _0804F448 @ =gUnk_080F7810 + bl sub_0804ADDC +_0804F406: + movs r0, #0x29 + bl sub_0801E7F4 + cmp r0, #0 + bne _0804F42A + ldr r0, _0804F44C @ =gUnk_080F7860 + bl sub_0804ADDC + ldr r0, _0804F450 @ =0x00004072 + ldr r1, _0804F454 @ =0x00000D88 + movs r2, #1 + bl sub_0800015E + ldr r0, _0804F458 @ =0x00004096 + ldr r1, _0804F45C @ =0x00000DC8 + movs r2, #1 + bl sub_0800015E +_0804F42A: + ldr r0, _0804F460 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #3 + bls _0804F442 + movs r0, #0x5c + bl GetProgressFlag + cmp r0, #0 + beq _0804F442 + ldr r0, _0804F464 @ =gUnk_080F78A0 + bl sub_0804ADDC +_0804F442: + pop {pc} + .align 2, 0 +_0804F444: .4byte gUnk_080F77F0 +_0804F448: .4byte gUnk_080F7810 +_0804F44C: .4byte gUnk_080F7860 +_0804F450: .4byte 0x00004072 +_0804F454: .4byte 0x00000D88 +_0804F458: .4byte 0x00004096 +_0804F45C: .4byte 0x00000DC8 +_0804F460: .4byte gUnk_02002A40 +_0804F464: .4byte gUnk_080F78A0 + + thumb_func_start sub_0804F468 +sub_0804F468: @ 0x0804F468 + push {lr} + movs r0, #0x15 + bl GetProgressFlag + cmp r0, #0 + beq _0804F48A + movs r0, #0x11 + bl sub_0807CA84 + cmp r0, #0 + bne _0804F48A + ldr r0, _0804F4D0 @ =gUnk_02034350 + ldr r1, _0804F4D4 @ =gUnk_080F7CD0 + str r1, [r0, #0x6c] + adds r0, #0x88 + ldr r1, _0804F4D8 @ =sub_0804F5E8 + str r1, [r0] +_0804F48A: + movs r0, #3 + bl GetProgressFlag + cmp r0, #0 + beq _0804F4BA + movs r0, #3 + bl sub_0807CA84 + cmp r0, #0 + beq _0804F4BA + movs r0, #0x8c + bl sub_0807CBD0 + adds r3, r0, #0 + cmp r3, #0 + bne _0804F4BA + ldr r1, _0804F4D0 @ =gUnk_02034350 + ldr r0, _0804F4DC @ =gUnk_080F7C80 + str r0, [r1, #0x6c] + adds r2, r1, #0 + adds r2, #0x88 + ldr r0, _0804F4E0 @ =sub_0804F4E4 + str r0, [r2] + str r3, [r1, #0x74] +_0804F4BA: + movs r0, #0x15 + bl GetProgressFlag + cmp r0, #0 + beq _0804F4CA + movs r0, #0x64 + bl sub_0807CD80 +_0804F4CA: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804F4D0: .4byte gUnk_02034350 +_0804F4D4: .4byte gUnk_080F7CD0 +_0804F4D8: .4byte sub_0804F5E8 +_0804F4DC: .4byte gUnk_080F7C80 +_0804F4E0: .4byte sub_0804F4E4 + + thumb_func_start sub_0804F4E4 +sub_0804F4E4: @ 0x0804F4E4 + push {lr} + movs r0, #0 + bl sub_0805ADD8 + bl sub_0804F578 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804F4F4 +sub_0804F4F4: @ 0x0804F4F4 + push {r4, lr} + bl sub_0804F4E4 + movs r0, #0x8b + bl sub_0807CBD0 + cmp r0, #0 + bne _0804F540 + ldr r0, _0804F558 @ =gUnk_080F7D70 + bl sub_0804ADDC + movs r4, #0xba + lsls r4, r4, #1 + ldr r1, _0804F55C @ =0x000007A2 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F560 @ =0x000007A3 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F564 @ =0x000007A5 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F568 @ =0x000007A6 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F56C @ =0x000007A7 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 +_0804F540: + movs r0, #0x15 + bl GetProgressFlag + cmp r0, #0 + bne _0804F554 + ldr r0, _0804F570 @ =gUnk_02033A90 + ldr r1, _0804F574 @ =0x00000864 + adds r0, r0, r1 + movs r1, #0x13 + str r1, [r0] +_0804F554: + pop {r4, pc} + .align 2, 0 +_0804F558: .4byte gUnk_080F7D70 +_0804F55C: .4byte 0x000007A2 +_0804F560: .4byte 0x000007A3 +_0804F564: .4byte 0x000007A5 +_0804F568: .4byte 0x000007A6 +_0804F56C: .4byte 0x000007A7 +_0804F570: .4byte gUnk_02033A90 +_0804F574: .4byte 0x00000864 + + thumb_func_start sub_0804F578 +sub_0804F578: @ 0x0804F578 + push {lr} + movs r0, #0x8e + bl sub_0807CBD0 + cmp r0, #0 + bne _0804F590 + ldr r0, _0804F58C @ =gUnk_080F7DC0 + bl sub_0804ADDC + b _0804F5CC + .align 2, 0 +_0804F58C: .4byte gUnk_080F7DC0 +_0804F590: + ldr r1, _0804F5D0 @ =0x0000094A + movs r0, #0x37 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F5D4 @ =0x0000094B + movs r0, #0x37 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F5D8 @ =0x0000094C + movs r0, #0x37 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F5DC @ =0x0000098A + movs r0, #0x37 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F5E0 @ =0x0000098B + movs r0, #0x37 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F5E4 @ =0x0000098C + movs r0, #0x37 + movs r2, #1 + bl sub_0807B314 +_0804F5CC: + pop {pc} + .align 2, 0 +_0804F5D0: .4byte 0x0000094A +_0804F5D4: .4byte 0x0000094B +_0804F5D8: .4byte 0x0000094C +_0804F5DC: .4byte 0x0000098A +_0804F5E0: .4byte 0x0000098B +_0804F5E4: .4byte 0x0000098C + + thumb_func_start sub_0804F5E8 +sub_0804F5E8: @ 0x0804F5E8 + push {r4, lr} + bl sub_0804F4E4 + ldr r0, _0804F654 @ =0x000001D3 + ldr r1, _0804F658 @ =0x00000BDE + movs r2, #1 + bl sub_0807B314 + movs r4, #0xeb + lsls r4, r4, #1 + ldr r1, _0804F65C @ =0x00000BE2 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + movs r0, #0xea + lsls r0, r0, #1 + ldr r1, _0804F660 @ =0x00000C1F + movs r2, #1 + bl sub_0807B314 + ldr r0, _0804F664 @ =0x000001D5 + movs r1, #0xc2 + lsls r1, r1, #4 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F668 @ =0x00000C5E + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r4, _0804F66C @ =0x00004072 + ldr r1, _0804F670 @ =0x00000B9B + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F674 @ =0x00000BDB + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F678 @ =0x00000AA4 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F67C @ =0x00000AE4 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + pop {r4, pc} + .align 2, 0 +_0804F654: .4byte 0x000001D3 +_0804F658: .4byte 0x00000BDE +_0804F65C: .4byte 0x00000BE2 +_0804F660: .4byte 0x00000C1F +_0804F664: .4byte 0x000001D5 +_0804F668: .4byte 0x00000C5E +_0804F66C: .4byte 0x00004072 +_0804F670: .4byte 0x00000B9B +_0804F674: .4byte 0x00000BDB +_0804F678: .4byte 0x00000AA4 +_0804F67C: .4byte 0x00000AE4 + + thumb_func_start sub_0804F680 +sub_0804F680: @ 0x0804F680 + push {r4, r5, lr} + adds r4, r1, #0 + adds r5, r2, #0 + movs r1, #2 + movs r2, #0 + bl CreateFX + adds r2, r0, #0 + cmp r2, #0 + beq _0804F6A2 + ldr r0, _0804F6A4 @ =gUnk_03000BF0 + ldrh r1, [r0, #6] + adds r1, r1, r4 + strh r1, [r2, #0x2e] + ldrh r0, [r0, #8] + adds r0, r0, r5 + strh r0, [r2, #0x32] +_0804F6A2: + pop {r4, r5, pc} + .align 2, 0 +_0804F6A4: .4byte gUnk_03000BF0 + + thumb_func_start sub_0804F6A8 +sub_0804F6A8: @ 0x0804F6A8 + push {r4, lr} + adds r4, r0, #0 + movs r1, #0xec + lsls r1, r1, #1 + movs r2, #0x84 + lsls r2, r2, #1 + bl sub_0804F680 + movs r1, #0x86 + lsls r1, r1, #2 + movs r2, #0xc4 + lsls r2, r2, #1 + adds r0, r4, #0 + bl sub_0804F680 + pop {r4, pc} + + thumb_func_start sub_0804F6C8 +sub_0804F6C8: @ 0x0804F6C8 + push {r4, lr} + adds r4, r0, #0 + movs r1, #0xf4 + lsls r1, r1, #1 + movs r2, #0x84 + lsls r2, r2, #1 + bl sub_0804F680 + movs r1, #0x82 + lsls r1, r1, #2 + movs r2, #0xc4 + lsls r2, r2, #1 + adds r0, r4, #0 + bl sub_0804F680 + pop {r4, pc} + + thumb_func_start sub_0804F6E8 +sub_0804F6E8: @ 0x0804F6E8 + push {r4, r5, lr} + adds r4, r0, #0 + movs r5, #0xfc + lsls r5, r5, #1 + movs r2, #0x84 + lsls r2, r2, #1 + adds r1, r5, #0 + bl sub_0804F680 + movs r1, #0x96 + lsls r1, r1, #2 + movs r2, #0x9c + lsls r2, r2, #1 + adds r0, r4, #0 + bl sub_0804F680 + movs r2, #0xc4 + lsls r2, r2, #1 + adds r0, r4, #0 + adds r1, r5, #0 + bl sub_0804F680 + movs r1, #0xcc + lsls r1, r1, #1 + movs r2, #0xac + lsls r2, r2, #1 + adds r0, r4, #0 + bl sub_0804F680 + pop {r4, r5, pc} + + thumb_func_start sub_0804F724 +sub_0804F724: @ 0x0804F724 + push {r4, r5, lr} + adds r4, r0, #0 + movs r1, #0x82 + lsls r1, r1, #2 + movs r2, #0x84 + lsls r2, r2, #1 + bl sub_0804F680 + movs r1, #0x96 + lsls r1, r1, #2 + movs r5, #0xa4 + lsls r5, r5, #1 + adds r0, r4, #0 + adds r2, r5, #0 + bl sub_0804F680 + movs r1, #0xf4 + lsls r1, r1, #1 + movs r2, #0xc4 + lsls r2, r2, #1 + adds r0, r4, #0 + bl sub_0804F680 + movs r1, #0xcc + lsls r1, r1, #1 + adds r0, r4, #0 + adds r2, r5, #0 + bl sub_0804F680 + pop {r4, r5, pc} + + thumb_func_start sub_0804F760 +sub_0804F760: @ 0x0804F760 + push {r4, lr} + adds r4, r0, #0 + movs r1, #0x86 + lsls r1, r1, #2 + movs r2, #0x84 + lsls r2, r2, #1 + bl sub_0804F680 + movs r1, #0x96 + lsls r1, r1, #2 + movs r2, #0xac + lsls r2, r2, #1 + adds r0, r4, #0 + bl sub_0804F680 + movs r1, #0xec + lsls r1, r1, #1 + movs r2, #0xc4 + lsls r2, r2, #1 + adds r0, r4, #0 + bl sub_0804F680 + movs r1, #0xcc + lsls r1, r1, #1 + movs r2, #0x9c + lsls r2, r2, #1 + adds r0, r4, #0 + bl sub_0804F680 + pop {r4, pc} + + thumb_func_start sub_0804F79C +sub_0804F79C: @ 0x0804F79C + push {r4, lr} + adds r4, r0, #0 + movs r1, #0x35 + movs r2, #0 + bl CreateFX + adds r2, r0, #0 + cmp r2, #0 + beq _0804F7D0 + ldrb r1, [r2, #0x19] + movs r0, #0x3f + ands r0, r1 + strb r0, [r2, #0x19] + ldr r1, _0804F804 @ =gUnk_03000BF0 + movs r3, #0xdc + lsls r3, r3, #1 + adds r0, r3, #0 + ldrh r3, [r1, #6] + adds r0, r0, r3 + strh r0, [r2, #0x2e] + movs r3, #0xa4 + lsls r3, r3, #1 + adds r0, r3, #0 + ldrh r1, [r1, #8] + adds r0, r0, r1 + strh r0, [r2, #0x32] +_0804F7D0: + adds r0, r4, #0 + movs r1, #0x35 + movs r2, #0 + bl CreateFX + adds r2, r0, #0 + cmp r2, #0 + beq _0804F802 + ldrb r1, [r2, #0x19] + movs r0, #0x3f + ands r0, r1 + strb r0, [r2, #0x19] + ldr r1, _0804F804 @ =gUnk_03000BF0 + movs r3, #0x8e + lsls r3, r3, #2 + adds r0, r3, #0 + ldrh r3, [r1, #6] + adds r0, r0, r3 + strh r0, [r2, #0x2e] + movs r3, #0xa4 + lsls r3, r3, #1 + adds r0, r3, #0 + ldrh r1, [r1, #8] + adds r0, r0, r1 + strh r0, [r2, #0x32] +_0804F802: + pop {r4, pc} + .align 2, 0 +_0804F804: .4byte gUnk_03000BF0 + + thumb_func_start sub_0804F808 +sub_0804F808: @ 0x0804F808 + push {r4, lr} + ldr r4, _0804F824 @ =0x000001D3 + ldr r1, _0804F828 @ =0x0000041D + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F82C @ =0x00000621 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + pop {r4, pc} + .align 2, 0 +_0804F824: .4byte 0x000001D3 +_0804F828: .4byte 0x0000041D +_0804F82C: .4byte 0x00000621 + + thumb_func_start sub_0804F830 +sub_0804F830: @ 0x0804F830 + push {r4, lr} + movs r4, #0xea + lsls r4, r4, #1 + ldr r1, _0804F850 @ =0x0000041E + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + movs r1, #0xc4 + lsls r1, r1, #3 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + pop {r4, pc} + .align 2, 0 +_0804F850: .4byte 0x0000041E + + thumb_func_start sub_0804F854 +sub_0804F854: @ 0x0804F854 + push {r4, r5, lr} + ldr r5, _0804F888 @ =0x000001D5 + ldr r1, _0804F88C @ =0x0000041F + adds r0, r5, #0 + movs r2, #1 + bl sub_0807B314 + movs r4, #0xea + lsls r4, r4, #1 + ldr r1, _0804F890 @ =0x000004E5 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F894 @ =0x0000061F + adds r0, r5, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F898 @ =0x00000559 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + pop {r4, r5, pc} + .align 2, 0 +_0804F888: .4byte 0x000001D5 +_0804F88C: .4byte 0x0000041F +_0804F890: .4byte 0x000004E5 +_0804F894: .4byte 0x0000061F +_0804F898: .4byte 0x00000559 + + thumb_func_start sub_0804F89C +sub_0804F89C: @ 0x0804F89C + push {r4, r5, lr} + movs r5, #0xeb + lsls r5, r5, #1 + movs r1, #0x84 + lsls r1, r1, #3 + adds r0, r5, #0 + movs r2, #1 + bl sub_0807B314 + ldr r4, _0804F8D0 @ =0x000001D5 + ldr r1, _0804F8D4 @ =0x00000525 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F8D8 @ =0x0000061E + adds r0, r5, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F8DC @ =0x00000519 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + pop {r4, r5, pc} + .align 2, 0 +_0804F8D0: .4byte 0x000001D5 +_0804F8D4: .4byte 0x00000525 +_0804F8D8: .4byte 0x0000061E +_0804F8DC: .4byte 0x00000519 + + thumb_func_start sub_0804F8E0 +sub_0804F8E0: @ 0x0804F8E0 + push {r4, r5, lr} + ldr r5, _0804F914 @ =0x000001D3 + ldr r1, _0804F918 @ =0x00000421 + adds r0, r5, #0 + movs r2, #1 + bl sub_0807B314 + movs r4, #0xeb + lsls r4, r4, #1 + ldr r1, _0804F91C @ =0x00000565 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F920 @ =0x0000061D + adds r0, r5, #0 + movs r2, #1 + bl sub_0807B314 + ldr r1, _0804F924 @ =0x000004D9 + adds r0, r4, #0 + movs r2, #1 + bl sub_0807B314 + pop {r4, r5, pc} + .align 2, 0 +_0804F914: .4byte 0x000001D3 +_0804F918: .4byte 0x00000421 +_0804F91C: .4byte 0x00000565 +_0804F920: .4byte 0x0000061D +_0804F924: .4byte 0x000004D9 + + thumb_func_start sub_0804F928 +sub_0804F928: @ 0x0804F928 + push {lr} + ldr r0, _0804F93C @ =0x0000041D + movs r1, #1 + bl sub_0807BA8C + ldr r0, _0804F940 @ =0x00000621 + movs r1, #1 + bl sub_0807BA8C + pop {pc} + .align 2, 0 +_0804F93C: .4byte 0x0000041D +_0804F940: .4byte 0x00000621 + + thumb_func_start sub_0804F944 +sub_0804F944: @ 0x0804F944 + push {lr} + ldr r0, _0804F95C @ =0x0000041E + movs r1, #1 + bl sub_0807BA8C + movs r0, #0xc4 + lsls r0, r0, #3 + movs r1, #1 + bl sub_0807BA8C + pop {pc} + .align 2, 0 +_0804F95C: .4byte 0x0000041E + + thumb_func_start sub_0804F960 +sub_0804F960: @ 0x0804F960 + push {lr} + ldr r0, _0804F984 @ =0x0000041F + movs r1, #1 + bl sub_0807BA8C + ldr r0, _0804F988 @ =0x000004E5 + movs r1, #1 + bl sub_0807BA8C + ldr r0, _0804F98C @ =0x0000061F + movs r1, #1 + bl sub_0807BA8C + ldr r0, _0804F990 @ =0x00000559 + movs r1, #1 + bl sub_0807BA8C + pop {pc} + .align 2, 0 +_0804F984: .4byte 0x0000041F +_0804F988: .4byte 0x000004E5 +_0804F98C: .4byte 0x0000061F +_0804F990: .4byte 0x00000559 + + thumb_func_start sub_0804F994 +sub_0804F994: @ 0x0804F994 + push {lr} + movs r0, #0x84 + lsls r0, r0, #3 + movs r1, #1 + bl sub_0807BA8C + ldr r0, _0804F9BC @ =0x00000525 + movs r1, #1 + bl sub_0807BA8C + ldr r0, _0804F9C0 @ =0x0000061E + movs r1, #1 + bl sub_0807BA8C + ldr r0, _0804F9C4 @ =0x00000519 + movs r1, #1 + bl sub_0807BA8C + pop {pc} + .align 2, 0 +_0804F9BC: .4byte 0x00000525 +_0804F9C0: .4byte 0x0000061E +_0804F9C4: .4byte 0x00000519 + + thumb_func_start sub_0804F9C8 +sub_0804F9C8: @ 0x0804F9C8 + push {lr} + ldr r0, _0804F9EC @ =0x00000421 + movs r1, #1 + bl sub_0807BA8C + ldr r0, _0804F9F0 @ =0x00000565 + movs r1, #1 + bl sub_0807BA8C + ldr r0, _0804F9F4 @ =0x0000061D + movs r1, #1 + bl sub_0807BA8C + ldr r0, _0804F9F8 @ =0x000004D9 + movs r1, #1 + bl sub_0807BA8C + pop {pc} + .align 2, 0 +_0804F9EC: .4byte 0x00000421 +_0804F9F0: .4byte 0x00000565 +_0804F9F4: .4byte 0x0000061D +_0804F9F8: .4byte 0x000004D9 + + thumb_func_start sub_0804F9FC +sub_0804F9FC: @ 0x0804F9FC + movs r0, #1 + bx lr + + thumb_func_start sub_0804FA00 +sub_0804FA00: @ 0x0804FA00 + push {lr} + movs r0, #0 + bl sub_0805ADD8 + ldr r0, _0804FA24 @ =gUnk_02002A40 + ldrb r0, [r0, #8] + cmp r0, #3 + bls _0804FA20 + movs r0, #0x5c + bl GetProgressFlag + cmp r0, #0 + beq _0804FA20 + ldr r0, _0804FA28 @ =gUnk_080F806C + bl sub_0804ADDC +_0804FA20: + pop {pc} + .align 2, 0 +_0804FA24: .4byte gUnk_02002A40 +_0804FA28: .4byte gUnk_080F806C + + thumb_func_start sub_0804FA2C +sub_0804FA2C: @ 0x0804FA2C + movs r0, #1 + bx lr + + thumb_func_start sub_0804FA30 +sub_0804FA30: @ 0x0804FA30 + push {lr} + movs r0, #0 + bl sub_0805ADD8 + movs r0, #3 + bl GetProgressFlag + cmp r0, #0 + beq _0804FA5C + movs r0, #3 + bl sub_0807CA84 + cmp r0, #0 + beq _0804FA5C + movs r0, #0x9c + bl sub_0807CBD0 + cmp r0, #0 + bne _0804FA5C + ldr r0, _0804FA60 @ =gUnk_080F82E0 + bl sub_0804ADDC +_0804FA5C: + pop {pc} + .align 2, 0 +_0804FA60: .4byte gUnk_080F82E0 + + thumb_func_start sub_0804FA64 +sub_0804FA64: @ 0x0804FA64 + movs r0, #1 + bx lr + + thumb_func_start sub_0804FA68 +sub_0804FA68: @ 0x0804FA68 + push {lr} + movs r0, #0 + bl sub_0805ADD8 + movs r0, #0x21 + bl sub_0801E7F4 + cmp r0, #0 + beq _0804FA8E + movs r0, #0x80 + lsls r0, r0, #2 + movs r1, #0x42 + bl GetProgressFlagWithOffset + cmp r0, #0 + bne _0804FA8E + ldr r0, _0804FA90 @ =gUnk_080F8430 + bl sub_0804ADDC +_0804FA8E: + pop {pc} + .align 2, 0 +_0804FA90: .4byte gUnk_080F8430 + + thumb_func_start sub_0804FA94 +sub_0804FA94: @ 0x0804FA94 + movs r0, #1 + bx lr + + thumb_func_start sub_0804FA98 +sub_0804FA98: @ 0x0804FA98 + push {lr} + movs r0, #0x57 + bl GetProgressFlag + cmp r0, #0 + beq _0804FAB0 + ldr r0, _0804FAAC @ =gUnk_080F85D8 + bl sub_0804ADDC + b _0804FAB6 + .align 2, 0 +_0804FAAC: .4byte gUnk_080F85D8 +_0804FAB0: + ldr r0, _0804FAC8 @ =gUnk_080F85F8 + bl sub_0804ADDC +_0804FAB6: + movs r0, #0xc + bl sub_0807CA84 + cmp r0, #0 + bne _0804FAC6 + movs r0, #8 + bl sub_0807CD34 +_0804FAC6: + pop {pc} + .align 2, 0 +_0804FAC8: .4byte gUnk_080F85F8 + + thumb_func_start sub_0804FACC +sub_0804FACC: @ 0x0804FACC + movs r0, #1 + bx lr + + thumb_func_start nullsub_412 +nullsub_412: @ 0x0804FAD0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FAD4 +sub_0804FAD4: @ 0x0804FAD4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_413 +nullsub_413: @ 0x0804FAD8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FADC +sub_0804FADC: @ 0x0804FADC + movs r0, #1 + bx lr + + thumb_func_start nullsub_414 +nullsub_414: @ 0x0804FAE0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FAE4 +sub_0804FAE4: @ 0x0804FAE4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_415 +nullsub_415: @ 0x0804FAE8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FAEC +sub_0804FAEC: @ 0x0804FAEC + movs r0, #1 + bx lr + + thumb_func_start nullsub_416 +nullsub_416: @ 0x0804FAF0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FAF4 +sub_0804FAF4: @ 0x0804FAF4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_417 +nullsub_417: @ 0x0804FAF8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FAFC +sub_0804FAFC: @ 0x0804FAFC + movs r0, #1 + bx lr + + thumb_func_start nullsub_418 +nullsub_418: @ 0x0804FB00 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FB04 +sub_0804FB04: @ 0x0804FB04 + movs r0, #1 + bx lr + + thumb_func_start nullsub_419 +nullsub_419: @ 0x0804FB08 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FB0C +sub_0804FB0C: @ 0x0804FB0C + movs r0, #1 + bx lr + + thumb_func_start nullsub_420 +nullsub_420: @ 0x0804FB10 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FB14 +sub_0804FB14: @ 0x0804FB14 + movs r0, #1 + bx lr + + thumb_func_start nullsub_421 +nullsub_421: @ 0x0804FB18 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FB1C +sub_0804FB1C: @ 0x0804FB1C + movs r0, #1 + bx lr + + thumb_func_start nullsub_422 +nullsub_422: @ 0x0804FB20 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FB24 +sub_0804FB24: @ 0x0804FB24 + movs r0, #1 + bx lr + + thumb_func_start nullsub_423 +nullsub_423: @ 0x0804FB28 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FB2C +sub_0804FB2C: @ 0x0804FB2C + movs r0, #1 + bx lr + + thumb_func_start sub_0804FB30 +sub_0804FB30: @ 0x0804FB30 + push {lr} + movs r0, #0x11 + bl sub_0807CBD0 + cmp r0, #0 + beq _0804FB64 + movs r0, #0 + bl sub_0807CD10 + movs r0, #1 + bl sub_0807CD10 + movs r0, #0x80 + lsls r0, r0, #1 + bl sub_0805308C + movs r0, #0x12 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804FB64 + movs r0, #0x73 + movs r1, #0xcb + movs r2, #1 + bl sub_0807B314 +_0804FB64: + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804FB68 +sub_0804FB68: @ 0x0804FB68 + movs r0, #1 + bx lr + + thumb_func_start nullsub_089 +nullsub_089: @ 0x0804FB6C + bx lr + .align 2, 0 + + thumb_func_start sub_0804FB70 +sub_0804FB70: @ 0x0804FB70 + movs r0, #1 + bx lr + + thumb_func_start nullsub_90 +nullsub_90: @ 0x0804FB74 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FB78 +sub_0804FB78: @ 0x0804FB78 + movs r0, #1 + bx lr + + thumb_func_start nullsub_91 +nullsub_91: @ 0x0804FB7C + bx lr + .align 2, 0 + + thumb_func_start sub_0804FB80 +sub_0804FB80: @ 0x0804FB80 + movs r0, #1 + bx lr + + thumb_func_start nullsub_92 +nullsub_92: @ 0x0804FB84 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FB88 +sub_0804FB88: @ 0x0804FB88 + movs r0, #1 + bx lr + + thumb_func_start nullsub_93 +nullsub_93: @ 0x0804FB8C + bx lr + .align 2, 0 + + thumb_func_start sub_0804FB90 +sub_0804FB90: @ 0x0804FB90 + movs r0, #1 + bx lr + + thumb_func_start nullsub_94 +nullsub_94: @ 0x0804FB94 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FB98 +sub_0804FB98: @ 0x0804FB98 + movs r0, #1 + bx lr + + thumb_func_start nullsub_95 +nullsub_95: @ 0x0804FB9C + bx lr + .align 2, 0 + + thumb_func_start sub_0804FBA0 +sub_0804FBA0: @ 0x0804FBA0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_96 +nullsub_96: @ 0x0804FBA4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FBA8 +sub_0804FBA8: @ 0x0804FBA8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_97 +nullsub_97: @ 0x0804FBAC + bx lr + .align 2, 0 + + thumb_func_start sub_0804FBB0 +sub_0804FBB0: @ 0x0804FBB0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_98 +nullsub_98: @ 0x0804FBB4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FBB8 +sub_0804FBB8: @ 0x0804FBB8 + movs r0, #1 + bx lr + + thumb_func_start sub_0804FBBC +sub_0804FBBC: @ 0x0804FBBC + push {lr} + ldr r0, _0804FBD4 @ =gUnk_02002A40 + ldr r0, [r0, #0x40] + movs r1, #0x80 + lsls r1, r1, #0x12 + ands r0, r1 + cmp r0, #0 + bne _0804FBD2 + ldr r0, _0804FBD8 @ =gUnk_080F9304 + bl sub_0804ADDC +_0804FBD2: + pop {pc} + .align 2, 0 +_0804FBD4: .4byte gUnk_02002A40 +_0804FBD8: .4byte gUnk_080F9304 + + thumb_func_start sub_0804FBDC +sub_0804FBDC: @ 0x0804FBDC + push {lr} + ldr r0, _0804FBF4 @ =gUnk_02002A40 + ldr r0, [r0, #0x40] + movs r1, #0x80 + lsls r1, r1, #0x12 + ands r0, r1 + cmp r0, #0 + bne _0804FBF2 + ldr r0, _0804FBF8 @ =gUnk_080F9304 + bl sub_0804ADDC +_0804FBF2: + pop {pc} + .align 2, 0 +_0804FBF4: .4byte gUnk_02002A40 +_0804FBF8: .4byte gUnk_080F9304 + + thumb_func_start sub_0804FBFC +sub_0804FBFC: @ 0x0804FBFC + movs r0, #1 + bx lr + + thumb_func_start nullsub_424 +nullsub_424: @ 0x0804FC00 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FC04 +sub_0804FC04: @ 0x0804FC04 + movs r0, #1 + bx lr + + thumb_func_start nullsub_425 +nullsub_425: @ 0x0804FC08 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FC0C +sub_0804FC0C: @ 0x0804FC0C + movs r0, #1 + bx lr + + thumb_func_start nullsub_426 +nullsub_426: @ 0x0804FC10 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FC14 +sub_0804FC14: @ 0x0804FC14 + movs r0, #1 + bx lr + + thumb_func_start nullsub_427 +nullsub_427: @ 0x0804FC18 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FC1C +sub_0804FC1C: @ 0x0804FC1C + movs r0, #1 + bx lr + + thumb_func_start nullsub_428 +nullsub_428: @ 0x0804FC20 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FC24 +sub_0804FC24: @ 0x0804FC24 + movs r0, #1 + bx lr + + thumb_func_start nullsub_429 +nullsub_429: @ 0x0804FC28 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FC2C +sub_0804FC2C: @ 0x0804FC2C + movs r0, #1 + bx lr + + thumb_func_start nullsub_430 +nullsub_430: @ 0x0804FC30 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FC34 +sub_0804FC34: @ 0x0804FC34 + movs r0, #1 + bx lr + + thumb_func_start nullsub_431 +nullsub_431: @ 0x0804FC38 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FC3C +sub_0804FC3C: @ 0x0804FC3C + movs r0, #1 + bx lr + + thumb_func_start nullsub_432 +nullsub_432: @ 0x0804FC40 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FC44 +sub_0804FC44: @ 0x0804FC44 + movs r0, #1 + bx lr + + thumb_func_start nullsub_433 +nullsub_433: @ 0x0804FC48 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FC4C +sub_0804FC4C: @ 0x0804FC4C + push {lr} + movs r0, #0xe + bl sub_0801E7F4 + cmp r0, #0 + bne _0804FC5E + ldr r1, _0804FC64 @ =gUnk_02034350 + ldr r0, _0804FC68 @ =gUnk_080F9BF8 + str r0, [r1, #0x6c] +_0804FC5E: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804FC64: .4byte gUnk_02034350 +_0804FC68: .4byte gUnk_080F9BF8 + + thumb_func_start sub_0804FC6C +sub_0804FC6C: @ 0x0804FC6C + push {lr} + movs r0, #2 + bl sub_0805B4D0 + movs r0, #0 + bl sub_0806D0B0 + pop {pc} + + thumb_func_start sub_0804FC7C +sub_0804FC7C: @ 0x0804FC7C + movs r0, #1 + bx lr + + thumb_func_start nullsub_99 +nullsub_99: @ 0x0804FC80 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FC84 +sub_0804FC84: @ 0x0804FC84 + movs r0, #1 + bx lr + + thumb_func_start nullsub_100 +nullsub_100: @ 0x0804FC88 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FC8C +sub_0804FC8C: @ 0x0804FC8C + movs r0, #1 + bx lr + + thumb_func_start nullsub_101 +nullsub_101: @ 0x0804FC90 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FC94 +sub_0804FC94: @ 0x0804FC94 + movs r0, #1 + bx lr + + thumb_func_start nullsub_102 +nullsub_102: @ 0x0804FC98 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FC9C +sub_0804FC9C: @ 0x0804FC9C + movs r0, #1 + bx lr + + thumb_func_start nullsub_103 +nullsub_103: @ 0x0804FCA0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FCA4 +sub_0804FCA4: @ 0x0804FCA4 + movs r0, #1 + bx lr + + thumb_func_start sub_0804FCA8 +sub_0804FCA8: @ 0x0804FCA8 + push {lr} + movs r0, #0x14 + bl sub_0801E7F4 + cmp r0, #0 + beq _0804FCBA + ldr r0, _0804FCCC @ =gUnk_080F9FA8 + bl sub_0804ADDC +_0804FCBA: + movs r0, #0x38 + bl sub_0807CA84 + cmp r0, #0 + bne _0804FCCA + ldr r0, _0804FCD0 @ =gUnk_080F9F88 + bl sub_0804ADDC +_0804FCCA: + pop {pc} + .align 2, 0 +_0804FCCC: .4byte gUnk_080F9FA8 +_0804FCD0: .4byte gUnk_080F9F88 + + thumb_func_start sub_0804FCD4 +sub_0804FCD4: @ 0x0804FCD4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_434 +nullsub_434: @ 0x0804FCD8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FCDC +sub_0804FCDC: @ 0x0804FCDC + movs r0, #1 + bx lr + + thumb_func_start nullsub_435 +nullsub_435: @ 0x0804FCE0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FCE4 +sub_0804FCE4: @ 0x0804FCE4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_436 +nullsub_436: @ 0x0804FCE8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FCEC +sub_0804FCEC: @ 0x0804FCEC + movs r0, #1 + bx lr + + thumb_func_start nullsub_437 +nullsub_437: @ 0x0804FCF0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FCF4 +sub_0804FCF4: @ 0x0804FCF4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_438 +nullsub_438: @ 0x0804FCF8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FCFC +sub_0804FCFC: @ 0x0804FCFC + movs r0, #1 + bx lr + + thumb_func_start nullsub_439 +nullsub_439: @ 0x0804FD00 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD04 +sub_0804FD04: @ 0x0804FD04 + movs r0, #1 + bx lr + + thumb_func_start nullsub_440 +nullsub_440: @ 0x0804FD08 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD0C +sub_0804FD0C: @ 0x0804FD0C + movs r0, #1 + bx lr + + thumb_func_start nullsub_441 +nullsub_441: @ 0x0804FD10 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD14 +sub_0804FD14: @ 0x0804FD14 + movs r0, #1 + bx lr + + thumb_func_start nullsub_442 +nullsub_442: @ 0x0804FD18 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD1C +sub_0804FD1C: @ 0x0804FD1C + movs r0, #1 + bx lr + + thumb_func_start nullsub_443 +nullsub_443: @ 0x0804FD20 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD24 +sub_0804FD24: @ 0x0804FD24 + movs r0, #1 + bx lr + + thumb_func_start nullsub_444 +nullsub_444: @ 0x0804FD28 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD2C +sub_0804FD2C: @ 0x0804FD2C + movs r0, #1 + bx lr + + thumb_func_start nullsub_445 +nullsub_445: @ 0x0804FD30 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD34 +sub_0804FD34: @ 0x0804FD34 + movs r0, #1 + bx lr + + thumb_func_start nullsub_446 +nullsub_446: @ 0x0804FD38 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD3C +sub_0804FD3C: @ 0x0804FD3C + movs r0, #1 + bx lr + + thumb_func_start nullsub_447 +nullsub_447: @ 0x0804FD40 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD44 +sub_0804FD44: @ 0x0804FD44 + movs r0, #1 + bx lr + + thumb_func_start nullsub_448 +nullsub_448: @ 0x0804FD48 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD4C +sub_0804FD4C: @ 0x0804FD4C + movs r0, #1 + bx lr + + thumb_func_start nullsub_449 +nullsub_449: @ 0x0804FD50 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD54 +sub_0804FD54: @ 0x0804FD54 + movs r0, #1 + bx lr + + thumb_func_start sub_0804FD58 +sub_0804FD58: @ 0x0804FD58 + push {lr} + movs r0, #0x21 + bl sub_0801E7F4 + cmp r0, #0 + bne _0804FD6A + ldr r0, _0804FD6C @ =gUnk_080FA5D0 + bl sub_0804ADDC +_0804FD6A: + pop {pc} + .align 2, 0 +_0804FD6C: .4byte gUnk_080FA5D0 + + thumb_func_start sub_0804FD70 +sub_0804FD70: @ 0x0804FD70 + movs r0, #1 + bx lr + + thumb_func_start nullsub_450 +nullsub_450: @ 0x0804FD74 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD78 +sub_0804FD78: @ 0x0804FD78 + movs r0, #1 + bx lr + + thumb_func_start nullsub_451 +nullsub_451: @ 0x0804FD7C + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD80 +sub_0804FD80: @ 0x0804FD80 + movs r0, #1 + bx lr + + thumb_func_start nullsub_452 +nullsub_452: @ 0x0804FD84 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD88 +sub_0804FD88: @ 0x0804FD88 + movs r0, #1 + bx lr + + thumb_func_start nullsub_453 +nullsub_453: @ 0x0804FD8C + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD90 +sub_0804FD90: @ 0x0804FD90 + movs r0, #1 + bx lr + + thumb_func_start nullsub_454 +nullsub_454: @ 0x0804FD94 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FD98 +sub_0804FD98: @ 0x0804FD98 + movs r0, #1 + bx lr + + thumb_func_start nullsub_455 +nullsub_455: @ 0x0804FD9C + bx lr + .align 2, 0 + + thumb_func_start sub_0804FDA0 +sub_0804FDA0: @ 0x0804FDA0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_456 +nullsub_456: @ 0x0804FDA4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FDA8 +sub_0804FDA8: @ 0x0804FDA8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_457 +nullsub_457: @ 0x0804FDAC + bx lr + .align 2, 0 + + thumb_func_start sub_0804FDB0 +sub_0804FDB0: @ 0x0804FDB0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_458 +nullsub_458: @ 0x0804FDB4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FDB8 +sub_0804FDB8: @ 0x0804FDB8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_459 +nullsub_459: @ 0x0804FDBC + bx lr + .align 2, 0 + + thumb_func_start sub_0804FDC0 +sub_0804FDC0: @ 0x0804FDC0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_460 +nullsub_460: @ 0x0804FDC4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FDC8 +sub_0804FDC8: @ 0x0804FDC8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_461 +nullsub_461: @ 0x0804FDCC + bx lr + .align 2, 0 + + thumb_func_start sub_0804FDD0 +sub_0804FDD0: @ 0x0804FDD0 + movs r0, #1 + bx lr + + thumb_func_start nullsub_462 +nullsub_462: @ 0x0804FDD4 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FDD8 +sub_0804FDD8: @ 0x0804FDD8 + movs r0, #1 + bx lr + + thumb_func_start nullsub_463 +nullsub_463: @ 0x0804FDDC + bx lr + .align 2, 0 + + thumb_func_start sub_0804FDE0 +sub_0804FDE0: @ 0x0804FDE0 + push {lr} + movs r0, #0x51 + bl GetProgressFlag + cmp r0, #0 + beq _0804FDF6 + ldr r0, _0804FDFC @ =gUnk_02034350 + ldr r1, _0804FE00 @ =gUnk_080FAD48 + str r1, [r0, #0x6c] + movs r1, #0 + str r1, [r0, #0x74] +_0804FDF6: + movs r0, #1 + pop {pc} + .align 2, 0 +_0804FDFC: .4byte gUnk_02034350 +_0804FE00: .4byte gUnk_080FAD48 + + thumb_func_start sub_0804FE04 +sub_0804FE04: @ 0x0804FE04 + push {lr} + movs r0, #0x51 + bl GetProgressFlag + cmp r0, #0 + beq _0804FE28 + ldr r0, _0804FE20 @ =gUnk_02033A90 + ldr r2, _0804FE24 @ =0x00000864 + adds r1, r0, r2 + subs r2, #4 + adds r0, r0, r2 + ldr r0, [r0] + str r0, [r1] + b _0804FE2E + .align 2, 0 +_0804FE20: .4byte gUnk_02033A90 +_0804FE24: .4byte 0x00000864 +_0804FE28: + ldr r0, _0804FE3C @ =gUnk_080FACB8 + bl sub_0804ADDC +_0804FE2E: + movs r0, #0 + bl sub_0805B4D0 + bl sub_08059994 + pop {pc} + .align 2, 0 +_0804FE3C: .4byte gUnk_080FACB8 + + thumb_func_start sub_0804FE40 +sub_0804FE40: @ 0x0804FE40 + push {lr} + movs r0, #0 + bl sub_0805B4D0 + pop {pc} + .align 2, 0 + + thumb_func_start sub_0804FE4C +sub_0804FE4C: @ 0x0804FE4C + movs r0, #1 + bx lr + + thumb_func_start nullsub_104 +nullsub_104: @ 0x0804FE50 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FE54 +sub_0804FE54: @ 0x0804FE54 + movs r0, #1 + bx lr + + thumb_func_start sub_0804FE58 +sub_0804FE58: @ 0x0804FE58 + push {lr} + movs r0, #1 + bl sub_0805B4D0 + movs r0, #3 + bl GetProgressFlag + cmp r0, #0 + beq _0804FE7A + movs r0, #2 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804FE7A + ldr r0, _0804FEA0 @ =gUnk_080FAFE4 + bl sub_0804ADDC +_0804FE7A: + ldr r0, _0804FEA4 @ =gUnk_02002A40 + ldr r0, [r0, #0x40] + movs r1, #0x80 + lsls r1, r1, #0x11 + ands r0, r1 + cmp r0, #0 + bne _0804FE8E + ldr r0, _0804FEA8 @ =gUnk_080FB004 + bl sub_0804ADDC +_0804FE8E: + movs r0, #2 + bl sub_0807CA84 + cmp r0, #0 + beq _0804FE9E + movs r0, #0x56 + bl sub_0807CD04 +_0804FE9E: + pop {pc} + .align 2, 0 +_0804FEA0: .4byte gUnk_080FAFE4 +_0804FEA4: .4byte gUnk_02002A40 +_0804FEA8: .4byte gUnk_080FB004 + + thumb_func_start sub_0804FEAC +sub_0804FEAC: @ 0x0804FEAC + push {lr} + ldr r0, _0804FEC4 @ =gUnk_02002A40 + ldr r0, [r0, #0x40] + movs r1, #0x80 + lsls r1, r1, #0x11 + ands r0, r1 + cmp r0, #0 + bne _0804FEC2 + ldr r0, _0804FEC8 @ =gUnk_080FB004 + bl sub_0804ADDC +_0804FEC2: + pop {pc} + .align 2, 0 +_0804FEC4: .4byte gUnk_02002A40 +_0804FEC8: .4byte gUnk_080FB004 + + thumb_func_start sub_0804FECC +sub_0804FECC: @ 0x0804FECC + movs r0, #1 + bx lr + + thumb_func_start nullsub_464 +nullsub_464: @ 0x0804FED0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FED4 +sub_0804FED4: @ 0x0804FED4 + movs r0, #1 + bx lr + + thumb_func_start sub_0804FED8 +sub_0804FED8: @ 0x0804FED8 + push {lr} + movs r0, #0xbb + lsls r0, r0, #1 + ldr r1, _0804FEE8 @ =0x0000066F + movs r2, #1 + bl sub_0807B314 + pop {pc} + .align 2, 0 +_0804FEE8: .4byte 0x0000066F + + thumb_func_start sub_0804FEEC +sub_0804FEEC: @ 0x0804FEEC + movs r0, #1 + bx lr + + thumb_func_start nullsub_465 +nullsub_465: @ 0x0804FEF0 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FEF4 +sub_0804FEF4: @ 0x0804FEF4 + movs r0, #1 + bx lr + + thumb_func_start nullsub_466 +nullsub_466: @ 0x0804FEF8 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FEFC +sub_0804FEFC: @ 0x0804FEFC + movs r0, #1 + bx lr + + thumb_func_start nullsub_467 +nullsub_467: @ 0x0804FF00 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FF04 +sub_0804FF04: @ 0x0804FF04 + movs r0, #1 + bx lr + + thumb_func_start nullsub_468 +nullsub_468: @ 0x0804FF08 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FF0C +sub_0804FF0C: @ 0x0804FF0C + movs r0, #1 + bx lr + + thumb_func_start nullsub_469 +nullsub_469: @ 0x0804FF10 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FF14 +sub_0804FF14: @ 0x0804FF14 + movs r0, #1 + bx lr + + thumb_func_start nullsub_470 +nullsub_470: @ 0x0804FF18 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FF1C +sub_0804FF1C: @ 0x0804FF1C + movs r0, #1 + bx lr + + thumb_func_start nullsub_471 +nullsub_471: @ 0x0804FF20 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FF24 +sub_0804FF24: @ 0x0804FF24 + movs r0, #1 + bx lr + + thumb_func_start nullsub_472 +nullsub_472: @ 0x0804FF28 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FF2C +sub_0804FF2C: @ 0x0804FF2C + movs r0, #1 + bx lr + + thumb_func_start nullsub_473 +nullsub_473: @ 0x0804FF30 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FF34 +sub_0804FF34: @ 0x0804FF34 + movs r0, #1 + bx lr + + thumb_func_start nullsub_474 +nullsub_474: @ 0x0804FF38 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FF3C +sub_0804FF3C: @ 0x0804FF3C + movs r0, #1 + bx lr + + thumb_func_start nullsub_475 +nullsub_475: @ 0x0804FF40 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FF44 +sub_0804FF44: @ 0x0804FF44 + movs r0, #1 + bx lr + + thumb_func_start nullsub_476 +nullsub_476: @ 0x0804FF48 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FF4C +sub_0804FF4C: @ 0x0804FF4C + movs r0, #1 + bx lr + + thumb_func_start nullsub_477 +nullsub_477: @ 0x0804FF50 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FF54 +sub_0804FF54: @ 0x0804FF54 + movs r0, #1 + bx lr + + thumb_func_start nullsub_478 +nullsub_478: @ 0x0804FF58 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FF5C +sub_0804FF5C: @ 0x0804FF5C + movs r0, #1 + bx lr + + thumb_func_start sub_0804FF60 +sub_0804FF60: @ 0x0804FF60 + push {lr} + movs r0, #0x70 + bl sub_0807CBD0 + cmp r0, #0 + bne _0804FF72 + movs r0, #0x70 + bl sub_0807CCB4 +_0804FF72: + pop {pc} + + thumb_func_start sub_0804FF74 +sub_0804FF74: @ 0x0804FF74 + movs r0, #1 + bx lr + + thumb_func_start nullsub_105 +nullsub_105: @ 0x0804FF78 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FF7C +sub_0804FF7C: @ 0x0804FF7C + movs r0, #1 + bx lr + + thumb_func_start nullsub_106 +nullsub_106: @ 0x0804FF80 + bx lr + .align 2, 0 + + thumb_func_start sub_0804FF84 +sub_0804FF84: @ 0x0804FF84 + movs r1, #0x80 + lsls r1, r1, #0x12 + strb r0, [r1, #6] + ldr r1, _0804FF94 @ =gUnk_0200B644 + movs r0, #1 + rsbs r0, r0, #0 + str r0, [r1] + bx lr + .align 2, 0 +_0804FF94: .4byte gUnk_0200B644 + + thumb_func_start sub_0804FF98 +sub_0804FF98: @ 0x0804FF98 + push {r4, r5, r6, r7, lr} + ldr r6, _0804FFD4 @ =gUnk_020354C0 + ldr r1, _0804FFD8 @ =gUnk_0200B644 + ldr r4, [r1] + movs r0, #0 + str r0, [r1] + movs r5, #0 + cmp r4, #0 + beq _0804FFD0 + ldr r7, _0804FFDC @ =gUnk_03005E98 +_0804FFAC: + movs r0, #1 + ands r0, r4 + cmp r0, #0 + beq _0804FFC6 + ldr r0, _0804FFE0 @ =gUnk_020176A0 + adds r0, r5, r0 + movs r2, #0xa0 + lsls r2, r2, #0x13 + adds r1, r5, r2 + ldrh r2, [r6, #2] + ldrb r3, [r6, #1] + bl _call_via_r7 +_0804FFC6: + adds r5, #0x20 + adds r6, #4 + lsrs r4, r4, #1 + cmp r4, #0 + bne _0804FFAC +_0804FFD0: + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_0804FFD4: .4byte gUnk_020354C0 +_0804FFD8: .4byte gUnk_0200B644 +_0804FFDC: .4byte gUnk_03005E98 +_0804FFE0: .4byte gUnk_020176A0 + + thumb_func_start sub_0804FFE4 +sub_0804FFE4: @ 0x0804FFE4 + push {r4, lr} + ldr r4, _08050000 @ =gUnk_03000FD0 + adds r0, r4, #0 + movs r1, #0x1c + bl sub_0801D630 + ldr r0, _08050004 @ =gUnk_020354C0 + movs r1, #0x80 + bl sub_0801D630 + movs r0, #1 + rsbs r0, r0, #0 + str r0, [r4, #4] + pop {r4, pc} + .align 2, 0 +_08050000: .4byte gUnk_03000FD0 +_08050004: .4byte gUnk_020354C0 + + thumb_func_start sub_08050008 +sub_08050008: @ 0x08050008 + push {lr} + ldr r0, _0805001C @ =gUnk_020354C0 + movs r1, #0x80 + bl sub_0801D630 + ldr r1, _08050020 @ =gUnk_03000FD0 + movs r0, #1 + rsbs r0, r0, #0 + str r0, [r1, #4] + pop {pc} + .align 2, 0 +_0805001C: .4byte gUnk_020354C0 +_08050020: .4byte gUnk_03000FD0 + + thumb_func_start sub_08050024 +sub_08050024: @ 0x08050024 + push {lr} + bl sub_0801E104 + movs r1, #0x80 + lsls r1, r1, #1 + movs r0, #5 + bl sub_08050054 + pop {pc} + .align 2, 0 + + thumb_func_start sub_08050038 +sub_08050038: @ 0x08050038 + push {lr} + adds r3, r0, #0 + ldr r2, _0805004C @ =gUnk_03000FD0 + ldrh r1, [r2, #8] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _08050050 + strh r3, [r2, #0xe] + b _08050052 + .align 2, 0 +_0805004C: .4byte gUnk_03000FD0 +_08050050: + strh r3, [r2, #0xc] +_08050052: + pop {pc} + + thumb_func_start sub_08050054 +sub_08050054: @ 0x08050054 + push {r4, r5, lr} + adds r5, r0, #0 + ldr r2, _08050078 @ =gUnk_03000FD0 + movs r3, #0 + strh r1, [r2, #0xa] + strh r5, [r2, #8] + movs r0, #1 + strb r0, [r2] + adds r0, #0xff + strh r0, [r2, #0xc] + strh r3, [r2, #0xe] + movs r0, #2 + ands r0, r5 + adds r4, r2, #0 + cmp r0, #0 + beq _0805007C + movs r0, #0xf8 + b _0805007E + .align 2, 0 +_08050078: .4byte gUnk_03000FD0 +_0805007C: + movs r0, #0 +_0805007E: + strb r0, [r4, #2] + movs r0, #8 + ands r0, r5 + cmp r0, #0 + beq _080500A4 + ldr r1, _080500E4 @ =gUnk_03000000 + movs r0, #1 + strb r0, [r1, #2] + ldr r2, _080500E8 @ =gUnk_03000F50 + ldrh r0, [r2, #0x14] + movs r1, #0x40 + orrs r0, r1 + strh r0, [r2, #0x14] + ldrh r0, [r2, #0x20] + orrs r0, r1 + strh r0, [r2, #0x20] + ldrh r0, [r2, #0x2c] + orrs r1, r0 + strh r1, [r2, #0x2c] +_080500A4: + movs r0, #0x10 + ands r0, r5 + cmp r0, #0 + beq _080500E0 + ldrh r0, [r4, #0x16] + ldrh r1, [r4, #0x18] + bl sub_0801E1B8 + movs r1, #0x12 + ldrsh r0, [r4, r1] + movs r2, #0x14 + ldrsh r1, [r4, r2] + movs r3, #0x10 + ldrsh r2, [r4, r3] + bl sub_0801E1EC + movs r0, #1 + ands r0, r5 + cmp r0, #0 + bne _080500E0 + ldrh r1, [r4, #8] + ldr r0, _080500EC @ =0x0000FFFB + ands r0, r1 + strh r0, [r4, #8] + bl sub_08050008 + ldr r1, _080500F0 @ =gUnk_0200B644 + movs r0, #1 + rsbs r0, r0, #0 + str r0, [r1] +_080500E0: + pop {r4, r5, pc} + .align 2, 0 +_080500E4: .4byte gUnk_03000000 +_080500E8: .4byte gUnk_03000F50 +_080500EC: .4byte 0x0000FFFB +_080500F0: .4byte gUnk_0200B644 + + thumb_func_start sub_080500F4 +sub_080500F4: @ 0x080500F4 + ldr r1, _0805010C @ =gUnk_03000FD0 + strh r0, [r1, #0xa] + ldrh r0, [r1, #8] + movs r2, #1 + eors r0, r2 + strh r0, [r1, #8] + strb r2, [r1] + movs r0, #0x80 + lsls r0, r0, #1 + strh r0, [r1, #0xc] + bx lr + .align 2, 0 +_0805010C: .4byte gUnk_03000FD0 + + thumb_func_start sub_08050110 +sub_08050110: @ 0x08050110 + push {r4, r5, r6, lr} + adds r5, r0, #0 + adds r6, r1, #0 + adds r4, r2, #0 + movs r1, #1 + ands r1, r4 + cmp r1, #0 + beq _08050130 + ldr r1, _0805012C @ =gUnk_03000FD0 + movs r0, #0x96 + strh r0, [r1, #0x10] + adds r2, r1, #0 + b _08050136 + .align 2, 0 +_0805012C: .4byte gUnk_03000FD0 +_08050130: + ldr r0, _0805014C @ =gUnk_03000FD0 + strh r1, [r0, #0x10] + adds r2, r0, #0 +_08050136: + movs r1, #0 + strh r5, [r2, #0x12] + strh r6, [r2, #0x14] + ldr r0, _08050150 @ =0x00003F3F + strh r0, [r2, #0x16] + strh r1, [r2, #0x18] + adds r0, r4, #0 + adds r1, r3, #0 + bl sub_08050054 + pop {r4, r5, r6, pc} + .align 2, 0 +_0805014C: .4byte gUnk_03000FD0 +_08050150: .4byte 0x00003F3F + + thumb_func_start sub_08050154 +sub_08050154: @ 0x08050154 + push {r4, r5, r6, lr} + ldr r4, _08050180 @ =gUnk_03000FD0 + ldrh r0, [r4, #8] + movs r5, #0x1c + ands r5, r0 + movs r6, #0 + ldrb r0, [r4] + cmp r0, #0 + beq _080501BE + ldrh r0, [r4, #0xc] + ldrh r1, [r4, #0xa] + subs r0, r0, r1 + strh r0, [r4, #0xc] + lsls r0, r0, #0x10 + asrs r0, r0, #0x10 + ldrh r2, [r4, #0xe] + movs r3, #0xe + ldrsh r1, [r4, r3] + cmp r0, r1 + bgt _080501B8 + strh r2, [r4, #0xc] + b _080501B8 + .align 2, 0 +_08050180: .4byte gUnk_03000FD0 +_08050184: + mvns r0, r5 + adds r0, #1 + ands r0, r5 + eors r5, r0 + cmp r0, #8 + beq _080501A8 + cmp r0, #8 + bhi _0805019A + cmp r0, #4 + beq _080501A0 + b _080501B8 +_0805019A: + cmp r0, #0x10 + beq _080501B0 + b _080501B8 +_080501A0: + adds r0, r4, #0 + bl sub_080501C0 + b _080501B6 +_080501A8: + adds r0, r4, #0 + bl sub_08050230 + b _080501B6 +_080501B0: + adds r0, r4, #0 + bl sub_080502A4 +_080501B6: + orrs r6, r0 +_080501B8: + cmp r5, #0 + bne _08050184 + strb r6, [r4] +_080501BE: + pop {r4, r5, r6, pc} + + thumb_func_start sub_080501C0 +sub_080501C0: @ 0x080501C0 + push {r4, r5, r6, r7, lr} + adds r3, r0, #0 + ldrh r1, [r3, #8] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _080501DA + movs r0, #0xc + ldrsh r1, [r3, r0] + movs r0, #0x80 + lsls r0, r0, #1 + subs r5, r0, r1 + b _080501DE +_080501DA: + movs r2, #0xc + ldrsh r5, [r3, r2] +_080501DE: + ldr r0, _080501F8 @ =gUnk_03000FD0 + ldr r2, [r0, #4] + ldr r1, _080501FC @ =gUnk_020354C0 + movs r4, #0 + ldr r7, _08050200 @ =gUnk_0200B644 + movs r6, #1 +_080501EA: + adds r0, r2, #0 + ands r0, r6 + cmp r0, #0 + beq _08050204 + strb r6, [r1] + strh r5, [r1, #2] + b _08050208 + .align 2, 0 +_080501F8: .4byte gUnk_03000FD0 +_080501FC: .4byte gUnk_020354C0 +_08050200: .4byte gUnk_0200B644 +_08050204: + strb r0, [r1] + strh r0, [r1, #2] +_08050208: + ldrb r0, [r3, #2] + strb r0, [r1, #1] + lsrs r2, r2, #1 + adds r4, #1 + adds r1, #4 + cmp r4, #0x1f + bls _080501EA + movs r0, #1 + rsbs r0, r0, #0 + str r0, [r7] + movs r0, #0xe + ldrsh r1, [r3, r0] + movs r2, #0xc + ldrsh r0, [r3, r2] + eors r1, r0 + rsbs r0, r1, #0 + orrs r0, r1 + lsrs r0, r0, #0x1f + pop {r4, r5, r6, r7, pc} + .align 2, 0 + + thumb_func_start sub_08050230 +sub_08050230: @ 0x08050230 + push {r4, r5, lr} + ldrh r4, [r0, #8] + ldrh r0, [r0, #0xc] + lsls r5, r0, #0x10 + asrs r2, r5, #0x14 + movs r0, #0xf + ands r2, r0 + movs r0, #1 + ands r4, r0 + cmp r4, #0 + beq _0805024A + movs r0, #0xf + subs r2, r0, r2 +_0805024A: + ldr r3, _08050264 @ =gUnk_03000F50 + ldr r1, _08050268 @ =gUnk_080FC3C4 + lsls r0, r2, #1 + adds r0, r0, r1 + ldrh r1, [r0] + adds r0, r3, #0 + adds r0, #0x64 + strh r1, [r0] + cmp r5, #0 + beq _0805026C + movs r0, #1 + b _08050298 + .align 2, 0 +_08050264: .4byte gUnk_03000F50 +_08050268: .4byte gUnk_080FC3C4 +_0805026C: + ldr r1, _0805029C @ =gUnk_03000000 + movs r0, #0 + strb r0, [r1, #2] + cmp r4, #0 + bne _08050296 + ldrh r2, [r3, #8] + ldr r1, _080502A0 @ =0x0000FFBF + adds r0, r1, #0 + ands r0, r2 + strh r0, [r3, #8] + ldrh r2, [r3, #0x14] + adds r0, r1, #0 + ands r0, r2 + strh r0, [r3, #0x14] + ldrh r2, [r3, #0x20] + adds r0, r1, #0 + ands r0, r2 + strh r0, [r3, #0x20] + ldrh r0, [r3, #0x2c] + ands r1, r0 + strh r1, [r3, #0x2c] +_08050296: + movs r0, #0 +_08050298: + pop {r4, r5, pc} + .align 2, 0 +_0805029C: .4byte gUnk_03000000 +_080502A0: .4byte 0x0000FFBF + + thumb_func_start sub_080502A4 +sub_080502A4: @ 0x080502A4 + push {r4, lr} + ldrh r1, [r0, #8] + movs r0, #1 + ands r0, r1 + cmp r0, #0 + beq _080502E4 + ldr r4, _080502E0 @ =gUnk_03000FD0 + ldrh r0, [r4, #0x10] + ldrh r1, [r4, #0xa] + subs r0, r0, r1 + strh r0, [r4, #0x10] + lsls r0, r0, #0x10 + cmp r0, #0 + bgt _080502C4 + movs r0, #0 + strh r0, [r4, #0x10] +_080502C4: + movs r1, #0x12 + ldrsh r0, [r4, r1] + movs r2, #0x14 + ldrsh r1, [r4, r2] + movs r3, #0x10 + ldrsh r2, [r4, r3] + bl sub_0801E1EC + movs r1, #0x10 + ldrsh r0, [r4, r1] + cmp r0, #0 + bne _08050314 + movs r0, #0 + b _08050316 + .align 2, 0 +_080502E0: .4byte gUnk_03000FD0 +_080502E4: + ldr r4, _08050310 @ =gUnk_03000FD0 + ldrh r0, [r4, #0xa] + ldrh r2, [r4, #0x10] + adds r0, r0, r2 + strh r0, [r4, #0x10] + movs r3, #0x12 + ldrsh r0, [r4, r3] + movs r2, #0x14 + ldrsh r1, [r4, r2] + movs r3, #0x10 + ldrsh r2, [r4, r3] + bl sub_0801E1EC + movs r1, #0x10 + ldrsh r0, [r4, r1] + cmp r0, #0x96 + ble _08050314 + bl sub_0801E104 + movs r0, #0 + b _08050316 + .align 2, 0 +_08050310: .4byte gUnk_03000FD0 +_08050314: + movs r0, #1 +_08050316: + pop {r4, pc} + + thumb_func_start sub_08050318 +sub_08050318: @ 0x08050318 + push {r4, r5, r6, lr} + sub sp, #0x18 + adds r6, r0, #0 + adds r4, r1, #0 + bl sub_08050384 + ldr r0, _08050374 @ =gUnk_080FC844 + mov r1, sp + movs r2, #0x18 + bl sub_0801D66C + ldr r1, _08050378 @ =gUnk_020227E8 + adds r0, r4, #0 + bl sub_08056FEC + mov r2, sp + mov r1, sp + ldr r5, _0805037C @ =gUnk_080FC85C + lsls r4, r6, #1 + adds r4, r4, r6 + lsls r4, r4, #1 + adds r0, r4, r5 + ldrh r0, [r0] + lsls r0, r0, #0xc + ldrh r1, [r1, #0x10] + orrs r0, r1 + strh r0, [r2, #0x10] + adds r0, r5, #2 + adds r0, r4, r0 + ldrh r0, [r0] + mov r1, sp + bl sub_0805F46C + adds r5, #4 + adds r4, r4, r5 + ldrh r0, [r4] + cmp r0, #0 + beq _08050368 + bl sub_080A3268 +_08050368: + ldr r1, _08050380 @ =gUnk_03000F50 + movs r0, #1 + strh r0, [r1, #0xe] + add sp, #0x18 + pop {r4, r5, r6, pc} + .align 2, 0 +_08050374: .4byte gUnk_080FC844 +_08050378: .4byte gUnk_020227E8 +_0805037C: .4byte gUnk_080FC85C +_08050380: .4byte gUnk_03000F50 + + thumb_func_start sub_08050384 +sub_08050384: @ 0x08050384 + push {lr} + movs r0, #0 + movs r1, #0 + bl sub_0801C4A0 + ldr r0, _080503A0 @ =gUnk_02034CB0 + movs r1, #0x80 + lsls r1, r1, #4 + bl sub_0801D630 + ldr r1, _080503A4 @ =gUnk_03000F50 + movs r0, #1 + strh r0, [r1, #0xe] + pop {pc} + .align 2, 0 +_080503A0: .4byte gUnk_02034CB0 +_080503A4: .4byte gUnk_03000F50 + + thumb_func_start sub_080503A8 +sub_080503A8: @ 0x080503A8 + push {lr} + bl sub_0801D7EC + ldr r1, _080503B8 @ =gUnk_03000F50 + movs r0, #1 + strh r0, [r1, #0x1a] + strh r0, [r1, #0x26] + pop {pc} + .align 2, 0 +_080503B8: .4byte gUnk_03000F50 + + thumb_func_start sub_080503BC +sub_080503BC: @ 0x080503BC + push {r4, lr} + ldr r1, _080503D8 @ =gUnk_02032EC0 + strb r0, [r1, #4] + ldr r0, _080503DC @ =gUnk_02034CB0 + movs r4, #0x80 + lsls r4, r4, #4 + adds r1, r4, #0 + bl sub_0801D630 + ldr r0, _080503E0 @ =gUnk_02021F30 + adds r1, r4, #0 + bl sub_0801D630 + pop {r4, pc} + .align 2, 0 +_080503D8: .4byte gUnk_02032EC0 +_080503DC: .4byte gUnk_02034CB0 +_080503E0: .4byte gUnk_02021F30 + + thumb_func_start sub_080503E4 +sub_080503E4: @ 0x080503E4 + push {lr} + adds r1, r0, #0 + cmp r1, #2 + bls _080503F2 + movs r2, #1 + movs r1, #1 + b _080503FE +_080503F2: + ldr r0, _08050410 @ =0x000004B4 + muls r0, r1, r0 + ldr r1, _08050414 @ =gUnk_02019EEC + adds r0, r0, r1 + ldrb r2, [r0, #2] + ldrb r1, [r0, #3] +_080503FE: + movs r0, #0x80 + lsls r0, r0, #0x12 + strb r2, [r0, #5] + strb r1, [r0, #6] + ldr r1, _08050418 @ =gUnk_0200B644 + movs r0, #1 + rsbs r0, r0, #0 + str r0, [r1] + pop {pc} + .align 2, 0 +_08050410: .4byte 0x000004B4 +_08050414: .4byte gUnk_02019EEC +_08050418: .4byte gUnk_0200B644 + + thumb_func_start sub_0805041C +sub_0805041C: @ 0x0805041C + push {r4, lr} + adds r4, r0, #0 + cmp r4, #2 + bhi _0805043A + movs r0, #0x80 + lsls r0, r0, #0x12 + strb r4, [r0, #4] + ldr r2, _08050444 @ =0x000004B4 + adds r0, r4, #0 + muls r0, r2, r0 + ldr r1, _08050448 @ =gUnk_02019EEC + adds r0, r0, r1 + ldr r1, _0805044C @ =gUnk_02002A40 + bl sub_0801D66C +_0805043A: + adds r0, r4, #0 + bl sub_080503E4 + pop {r4, pc} + .align 2, 0 +_08050444: .4byte 0x000004B4 +_08050448: .4byte gUnk_02019EEC +_0805044C: .4byte gUnk_02002A40 + + thumb_func_start sub_08050450 +sub_08050450: @ 0x08050450 + push {r4, lr} + bl sub_080AD90C + ldr r1, _080504D8 @ =gUnk_080FC8A4 + ldr r0, _080504DC @ =gUnk_03001000 + ldrb r0, [r0, #3] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + ldr r4, _080504E0 @ =gUnk_02032EC0 + ldrb r1, [r4, #4] + ldrb r0, [r4, #2] + cmp r0, r1 + beq _0805048A + movs r0, #0 + strb r1, [r4, #2] + ldr r1, _080504E4 @ =gUnk_03000F50 + strh r0, [r1, #0xa] + strh r0, [r1, #0xc] + strh r0, [r1, #0x16] + strh r0, [r1, #0x18] + strh r0, [r1, #0x22] + strh r0, [r1, #0x24] + ldr r0, _080504E8 @ =gUnk_02000080 + movs r1, #0x30 + bl sub_0801D630 +_0805048A: + bl sub_080507FC + ldr r1, _080504EC @ =gUnk_080FC8B0 + ldrb r0, [r4, #2] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + ldr r4, _080504F0 @ =gUnk_02019EE0 + movs r0, #0 + strb r0, [r4] + bl sub_0805E5C0 + bl sub_0805066C + bl sub_0801C1D4 + bl sub_0801C208 + bl sub_080AD9B0 + bl sub_080AD918 + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r1, [r0, #7] + ldrb r0, [r4, #3] + cmp r0, r1 + beq _080504D4 + strb r1, [r4, #3] + movs r0, #6 + bl sub_080503A8 + movs r0, #0xf + bl sub_080503A8 +_080504D4: + pop {r4, pc} + .align 2, 0 +_080504D8: .4byte gUnk_080FC8A4 +_080504DC: .4byte gUnk_03001000 +_080504E0: .4byte gUnk_02032EC0 +_080504E4: .4byte gUnk_03000F50 +_080504E8: .4byte gUnk_02000080 +_080504EC: .4byte gUnk_080FC8B0 +_080504F0: .4byte gUnk_02019EE0 + + thumb_func_start sub_080504F4 +sub_080504F4: @ 0x080504F4 + push {r4, lr} + movs r0, #1 + bl sub_0801DA90 + bl sub_080A3210 + movs r0, #0xc0 + lsls r0, r0, #0x13 + movs r1, #0x80 + bl sub_0801D630 + bl sub_08056418 + bl sub_0805E60C + bl sub_08080668 + bl sub_080ADD30 + movs r0, #0 + bl sub_0801CFA8 + ldr r0, _080505DC @ =gUnk_0200AF00 + movs r1, #0xcd + lsls r1, r1, #2 + bl sub_0801D630 + ldr r4, _080505E0 @ =gUnk_02019EE0 + ldr r1, _080505E4 @ =0x00000E28 + adds r0, r4, #0 + bl sub_0801D630 + movs r0, #7 + strb r0, [r4, #3] + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + movs r1, #0 + cmp r0, #1 + bls _08050546 + movs r1, #3 +_08050546: + strb r1, [r4, #6] + ldr r4, _080505E8 @ =gUnk_02032EC0 + movs r1, #0xed + lsls r1, r1, #2 + adds r0, r4, #0 + bl sub_0801D630 + movs r0, #8 + strb r0, [r4, #2] + movs r0, #0 + bl sub_080503BC + bl sub_0805616C + movs r0, #0 + bl sub_08050624 + movs r0, #1 + bl sub_08050624 + movs r0, #2 + bl sub_08050624 + bl sub_08056208 + movs r0, #5 + bl sub_080503A8 + movs r0, #9 + bl sub_0801D714 + movs r4, #0 +_08050586: + movs r0, #0x48 + adds r1, r4, #0 + movs r2, #0 + bl sub_080A2960 + adds r4, #1 + cmp r4, #0x19 + bls _08050586 + ldr r0, _080505EC @ =gUnk_080FC8D0 + bl sub_080A70AC + bl sub_080507FC + ldr r1, _080505F0 @ =gUnk_03000F50 + ldrh r2, [r1] + movs r3, #0xf8 + lsls r3, r3, #5 + adds r0, r3, #0 + orrs r0, r2 + strh r0, [r1] + ldr r0, _080505F4 @ =0x00001E0B + strh r0, [r1, #0x2c] + adds r2, r1, #0 + adds r2, #0x66 + ldr r0, _080505F8 @ =0x00000844 + strh r0, [r2] + adds r1, #0x68 + ldr r0, _080505FC @ =0x00000A0F + strh r0, [r1] + ldr r0, _08050600 @ =gUnk_02024490 + movs r1, #1 + strb r1, [r0] + ldr r0, _08050604 @ =gUnk_03001000 + strb r1, [r0, #3] + movs r0, #7 + bl sub_080A3268 + movs r0, #4 + movs r1, #8 + bl sub_08050054 + pop {r4, pc} + .align 2, 0 +_080505DC: .4byte gUnk_0200AF00 +_080505E0: .4byte gUnk_02019EE0 +_080505E4: .4byte 0x00000E28 +_080505E8: .4byte gUnk_02032EC0 +_080505EC: .4byte gUnk_080FC8D0 +_080505F0: .4byte gUnk_03000F50 +_080505F4: .4byte 0x00001E0B +_080505F8: .4byte 0x00000844 +_080505FC: .4byte 0x00000A0F +_08050600: .4byte gUnk_02024490 +_08050604: .4byte gUnk_03001000 + + thumb_func_start nullsub_479 +nullsub_479: @ 0x08050608 + bx lr + .align 2, 0 + + thumb_func_start sub_0805060C +sub_0805060C: @ 0x0805060C + push {lr} + ldr r0, _08050620 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _0805061C + movs r0, #2 + bl sub_08056010 +_0805061C: + pop {pc} + .align 2, 0 +_08050620: .4byte gUnk_03000FD0 + + thumb_func_start sub_08050624 +sub_08050624: @ 0x08050624 + push {r4, r5, lr} + adds r4, r0, #0 + ldr r0, _08050648 @ =0x000004B4 + adds r1, r4, #0 + muls r1, r0, r1 + ldr r0, _0805064C @ =gUnk_02019EEC + adds r1, r1, r0 + adds r0, r4, #0 + bl sub_0807CF28 + adds r5, r0, #0 + movs r0, #1 + rsbs r0, r0, #0 + cmp r5, r0 + beq _08050650 + cmp r5, #0 + beq _08050656 + b _0805065C + .align 2, 0 +_08050648: .4byte 0x000004B4 +_0805064C: .4byte gUnk_02019EEC +_08050650: + adds r0, r4, #0 + bl sub_0807CF48 +_08050656: + adds r0, r4, #0 + bl sub_0805194C +_0805065C: + ldr r0, _08050668 @ =gUnk_02019EE0 + adds r0, #8 + adds r0, r4, r0 + strb r5, [r0] + pop {r4, r5, pc} + .align 2, 0 +_08050668: .4byte gUnk_02019EE0 + + thumb_func_start sub_0805066C +sub_0805066C: @ 0x0805066C + push {r4, lr} + movs r1, #0 + ldr r4, _080506F0 @ =gUnk_02019EE0 + ldrb r0, [r4, #1] + subs r0, #1 + strb r0, [r4, #1] + lsls r0, r0, #0x18 + cmp r0, #0 + bne _08050690 + movs r0, #0x10 + strb r0, [r4, #1] + ldrb r0, [r4, #2] + adds r0, #1 + movs r1, #0xf + bl __modsi3 + strb r0, [r4, #2] + movs r1, #1 +_08050690: + ldrb r0, [r4, #2] + cmp r0, #0 + bne _080506AA + movs r0, #1 + strb r0, [r4, #2] + bl sub_08000E50 + movs r1, #7 + ands r1, r0 + lsls r1, r1, #4 + adds r1, #8 + strb r1, [r4, #1] + movs r1, #1 +_080506AA: + cmp r1, #0 + beq _080506EE + ldr r1, _080506F4 @ =gUnk_080FC8DE + ldrb r0, [r4, #2] + lsls r0, r0, #1 + adds r0, r0, r1 + ldrh r4, [r0] + ldr r0, _080506F8 @ =gUnk_085A2E80 + adds r4, r4, r0 + ldr r1, _080506FC @ =0x00011AA0 + adds r0, r4, r1 + movs r1, #0xb + movs r2, #1 + bl sub_0801D754 + ldr r1, _08050700 @ =0x00011BA0 + adds r0, r4, r1 + movs r1, #0xc + movs r2, #1 + bl sub_0801D754 + ldr r1, _08050704 @ =0x00011CA0 + adds r0, r4, r1 + movs r1, #0xd + movs r2, #1 + bl sub_0801D754 + ldr r0, _08050708 @ =0x00011DA0 + adds r4, r4, r0 + adds r0, r4, #0 + movs r1, #0xe + movs r2, #1 + bl sub_0801D754 +_080506EE: + pop {r4, pc} + .align 2, 0 +_080506F0: .4byte gUnk_02019EE0 +_080506F4: .4byte gUnk_080FC8DE +_080506F8: .4byte gUnk_085A2E80 +_080506FC: .4byte 0x00011AA0 +_08050700: .4byte 0x00011BA0 +_08050704: .4byte 0x00011CA0 +_08050708: .4byte 0x00011DA0 + + thumb_func_start sub_0805070C +sub_0805070C: @ 0x0805070C + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + bl sub_0805F2C8 + adds r5, r0, #0 + cmp r5, #0 + beq _0805077A + movs r0, #0 + strb r0, [r5, #2] + movs r0, #5 + strb r0, [r5, #3] + movs r0, #1 + strb r0, [r5, #1] + movs r0, #0x30 + strh r0, [r5, #4] + ldr r0, _08050780 @ =gUnk_02000D00 + str r0, [r5, #8] + movs r6, #0 +_08050732: + movs r0, #0 + strh r0, [r5, #6] + ldr r0, [r5, #8] + movs r1, #0x80 + lsls r1, r1, #2 + bl sub_0801D630 + ldr r0, _08050784 @ =0x000004B4 + adds r1, r6, #0 + muls r1, r0, r1 + ldr r0, _08050788 @ =gUnk_02019F6C + adds r7, r1, r0 + movs r4, #0 + lsls r0, r6, #9 + mov r8, r0 + adds r6, #1 +_08050752: + adds r0, r7, r4 + ldrb r0, [r0] + adds r1, r5, #0 + bl sub_0805F7DC + adds r4, #1 + cmp r4, #5 + ble _08050752 + ldr r0, [r5, #8] + ldr r1, _0805078C @ =0x06014000 + add r1, r8 + movs r2, #0x80 + lsls r2, r2, #2 + bl sub_0801D66C + cmp r6, #2 + bls _08050732 + adds r0, r5, #0 + bl sub_0805F300 +_0805077A: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08050780: .4byte gUnk_02000D00 +_08050784: .4byte 0x000004B4 +_08050788: .4byte gUnk_02019F6C +_0805078C: .4byte 0x06014000 + + thumb_func_start sub_08050790 +sub_08050790: @ 0x08050790 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + bl sub_0805F2C8 + adds r6, r0, #0 + cmp r6, #0 + beq _080507F0 + movs r0, #0 + strb r0, [r6, #2] + movs r0, #5 + strb r0, [r6, #3] + movs r0, #1 + strb r0, [r6, #1] + movs r0, #0x80 + strh r0, [r6, #4] + ldr r0, _080507F8 @ =gUnk_02000D00 + str r0, [r6, #8] + movs r1, #0 +_080507B6: + movs r0, #0 + strh r0, [r6, #6] + lsls r4, r1, #4 + movs r5, #0 + lsls r7, r1, #0xa + adds r1, #1 + mov r8, r1 +_080507C4: + adds r0, r4, #0 + adds r1, r6, #0 + bl sub_0805F7DC + adds r4, #1 + adds r5, #1 + cmp r5, #0xf + bls _080507C4 + movs r0, #0xc0 + lsls r0, r0, #0x13 + adds r1, r7, r0 + ldr r0, _080507F8 @ =gUnk_02000D00 + movs r2, #0x80 + lsls r2, r2, #3 + bl sub_0801D66C + mov r1, r8 + cmp r1, #0xf + bls _080507B6 + adds r0, r6, #0 + bl sub_0805F300 +_080507F0: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_080507F8: .4byte gUnk_02000D00 + + thumb_func_start sub_080507FC +sub_080507FC: @ 0x080507FC + ldr r0, _0805080C @ =gUnk_0200AF00 + movs r1, #0xa0 + lsls r1, r1, #1 + strh r1, [r0, #0x1a] + movs r1, #0x24 + strh r1, [r0, #0x20] + bx lr + .align 2, 0 +_0805080C: .4byte gUnk_0200AF00 + + thumb_func_start sub_08050810 +sub_08050810: @ 0x08050810 + ldr r0, _0805081C @ =gUnk_0200AF00 + movs r1, #0xd0 + strh r1, [r0, #0x1a] + movs r1, #0x24 + strh r1, [r0, #0x20] + bx lr + .align 2, 0 +_0805081C: .4byte gUnk_0200AF00 + + thumb_func_start sub_08050820 +sub_08050820: @ 0x08050820 + push {lr} + ldr r1, _0805083C @ =gUnk_080FC8FC + ldr r0, _08050840 @ =gUnk_02000080 + ldrb r0, [r0, #5] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + ldr r0, _08050844 @ =gUnk_02019EE0 + ldrb r0, [r0, #6] + bl sub_08050A64 + pop {pc} + .align 2, 0 +_0805083C: .4byte gUnk_080FC8FC +_08050840: .4byte gUnk_02000080 +_08050844: .4byte gUnk_02019EE0 + + thumb_func_start sub_08050848 +sub_08050848: @ 0x08050848 + push {lr} + movs r0, #7 + bl sub_080503A8 + bl sub_0805070C + ldr r0, _08050868 @ =gUnk_02019EE0 + movs r1, #0 + strb r1, [r0, #7] + ldrb r0, [r0, #6] + bl sub_08050AFC + movs r0, #1 + bl sub_080A7114 + pop {pc} + .align 2, 0 +_08050868: .4byte gUnk_02019EE0 + + thumb_func_start sub_0805086C +sub_0805086C: @ 0x0805086C + push {lr} + ldr r1, _08050880 @ =gUnk_080FC908 + ldr r0, _08050884 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08050880: .4byte gUnk_080FC908 +_08050884: .4byte gUnk_02000080 + + thumb_func_start sub_08050888 +sub_08050888: @ 0x08050888 + push {r4, lr} + ldr r0, _080508C4 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _080508DC + ldr r4, _080508C8 @ =gUnk_02019EE0 + ldrb r1, [r4, #7] + adds r0, r4, #0 + adds r0, #8 + adds r0, r1, r0 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _080508D0 + cmp r0, #1 + beq _080508D6 + adds r0, r1, #0 + bl sub_0805194C + ldrb r1, [r4, #7] + adds r1, #1 + movs r0, #0 + bl sub_08050318 + ldr r1, _080508CC @ =gUnk_02000080 + movs r0, #0x1e + strh r0, [r1, #8] + movs r0, #1 + b _080508DA + .align 2, 0 +_080508C4: .4byte gUnk_03000FD0 +_080508C8: .4byte gUnk_02019EE0 +_080508CC: .4byte gUnk_02000080 +_080508D0: + adds r0, r1, #0 + bl sub_0805194C +_080508D6: + ldr r1, _080508E0 @ =gUnk_02000080 + movs r0, #2 +_080508DA: + strb r0, [r1, #6] +_080508DC: + pop {r4, pc} + .align 2, 0 +_080508E0: .4byte gUnk_02000080 + + thumb_func_start sub_080508E4 +sub_080508E4: @ 0x080508E4 + push {lr} + ldr r2, _08050900 @ =gUnk_02000080 + ldrh r0, [r2, #8] + cmp r0, #0 + bne _08050908 + ldr r0, _08050904 @ =gUnk_03000FF0 + ldrh r1, [r0, #2] + movs r0, #9 + ands r0, r1 + cmp r0, #0 + beq _0805090C + movs r0, #2 + strb r0, [r2, #6] + b _0805090C + .align 2, 0 +_08050900: .4byte gUnk_02000080 +_08050904: .4byte gUnk_03000FF0 +_08050908: + subs r0, #1 + strh r0, [r2, #8] +_0805090C: + pop {pc} + .align 2, 0 + + thumb_func_start sub_08050910 +sub_08050910: @ 0x08050910 + push {lr} + bl sub_08050384 + ldr r1, _08050930 @ =gUnk_02019EE0 + ldrb r0, [r1, #7] + adds r0, #1 + strb r0, [r1, #7] + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + cmp r0, #2 + bls _08050934 + movs r0, #2 + bl sub_080A7114 + b _0805093A + .align 2, 0 +_08050930: .4byte gUnk_02019EE0 +_08050934: + ldr r1, _0805093C @ =gUnk_02000080 + movs r0, #0 + strb r0, [r1, #6] +_0805093A: + pop {pc} + .align 2, 0 +_0805093C: .4byte gUnk_02000080 + + thumb_func_start sub_08050940 +sub_08050940: @ 0x08050940 + push {r4, r5, r6, lr} + ldr r3, _0805099C @ =gUnk_02019EE0 + ldrb r0, [r3] + cmp r0, #0 + beq _0805094C + b _08050A58 +_0805094C: + ldrb r4, [r3, #6] + ldr r0, _080509A0 @ =gUnk_03000FF0 + ldrh r2, [r0, #2] + ldrh r1, [r0] + movs r0, #0x80 + lsls r0, r0, #2 + ands r0, r1 + cmp r0, #0 + beq _08050974 + adds r0, r3, #0 + adds r0, #8 + adds r0, r4, r0 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08050974 + movs r0, #0xc1 + rsbs r0, r0, #0 + ands r2, r0 +_08050974: + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + movs r6, #3 + cmp r0, #1 + bls _08050982 + movs r6, #4 +_08050982: + ldr r0, _080509A4 @ =gUnk_02032EC0 + ldrb r5, [r0, #2] + adds r1, r0, #0 + cmp r2, #0x40 + beq _080509B6 + cmp r2, #0x40 + bhi _080509A8 + cmp r2, #1 + beq _080509E0 + cmp r2, #8 + beq _080509E0 + b _08050A10 + .align 2, 0 +_0805099C: .4byte gUnk_02019EE0 +_080509A0: .4byte gUnk_03000FF0 +_080509A4: .4byte gUnk_02032EC0 +_080509A8: + cmp r2, #0x80 + beq _080509BE + movs r0, #0x80 + lsls r0, r0, #1 + cmp r2, r0 + beq _080509C8 + b _08050A10 +_080509B6: + cmp r4, #0 + ble _08050A10 + subs r4, #1 + b _08050A10 +_080509BE: + subs r0, r6, #1 + cmp r0, r4 + ble _08050A10 + adds r4, #1 + b _08050A10 +_080509C8: + ldr r0, _080509DC @ =gUnk_02019EE0 + adds r0, #8 + adds r0, r4, r0 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08050A10 + movs r5, #3 + b _08050A10 + .align 2, 0 +_080509DC: .4byte gUnk_02019EE0 +_080509E0: + adds r0, r4, #0 + bl sub_0805041C + cmp r4, #3 + bne _080509EE + movs r5, #2 + b _08050A0E +_080509EE: + ldr r0, _08050A04 @ =gUnk_02019EE0 + adds r0, #8 + adds r0, r4, r0 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #0 + beq _08050A08 + cmp r0, #1 + beq _08050A0C + b _08050A0E + .align 2, 0 +_08050A04: .4byte gUnk_02019EE0 +_08050A08: + movs r5, #1 + b _08050A0E +_08050A0C: + movs r5, #4 +_08050A0E: + ldr r1, _08050A5C @ =gUnk_02032EC0 +_08050A10: + ldrb r0, [r1, #2] + cmp r0, r5 + beq _08050A22 + adds r0, r5, #0 + bl sub_080503BC + movs r0, #0x6a + bl sub_080A3268 +_08050A22: + adds r0, r4, r6 + adds r1, r6, #0 + bl __modsi3 + adds r4, r0, #0 + ldr r5, _08050A60 @ =gUnk_02019EE0 + ldrb r0, [r5, #6] + cmp r0, r4 + beq _08050A42 + strb r4, [r5, #6] + adds r0, r4, #0 + bl sub_08050AFC + movs r0, #0x69 + bl sub_080A3268 +_08050A42: + adds r0, r5, #0 + adds r0, #8 + ldrb r5, [r5, #6] + adds r0, r0, r5 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08050A58 + bl sub_08050810 +_08050A58: + pop {r4, r5, r6, pc} + .align 2, 0 +_08050A5C: .4byte gUnk_02032EC0 +_08050A60: .4byte gUnk_02019EE0 + + thumb_func_start sub_08050A64 +sub_08050A64: @ 0x08050A64 + push {r4, lr} + ldr r1, _08050AF0 @ =gUnk_02019EE0 + adds r1, #8 + adds r0, r0, r1 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08050AEC + ldr r4, _08050AF4 @ =gUnk_03001010 + movs r0, #0 + strh r0, [r4, #4] + strh r0, [r4, #6] + movs r0, #0x80 + lsls r0, r0, #3 + strh r0, [r4, #8] + movs r0, #0x40 + bl sub_0807CA84 + cmp r0, #0 + beq _08050A9E + movs r0, #0xa2 + strh r0, [r4] + movs r0, #0x36 + strh r0, [r4, #2] + ldr r0, _08050AF8 @ =0x00000145 + movs r1, #0x24 + bl sub_080ADA14 +_08050A9E: + movs r0, #0x41 + bl sub_0807CA84 + cmp r0, #0 + beq _08050AB8 + movs r0, #0x96 + strh r0, [r4] + movs r0, #0x3d + strh r0, [r4, #2] + ldr r0, _08050AF8 @ =0x00000145 + movs r1, #0x22 + bl sub_080ADA14 +_08050AB8: + movs r0, #0x42 + bl sub_0807CA84 + cmp r0, #0 + beq _08050AD2 + movs r0, #0xae + strh r0, [r4] + movs r0, #0x3d + strh r0, [r4, #2] + ldr r0, _08050AF8 @ =0x00000145 + movs r1, #0x23 + bl sub_080ADA14 +_08050AD2: + movs r0, #0x43 + bl sub_0807CA84 + cmp r0, #0 + beq _08050AEC + movs r0, #0xa2 + strh r0, [r4] + movs r0, #0x44 + strh r0, [r4, #2] + ldr r0, _08050AF8 @ =0x00000145 + movs r1, #0x21 + bl sub_080ADA14 +_08050AEC: + pop {r4, pc} + .align 2, 0 +_08050AF0: .4byte gUnk_02019EE0 +_08050AF4: .4byte gUnk_03001010 +_08050AF8: .4byte 0x00000145 + + thumb_func_start sub_08050AFC +sub_08050AFC: @ 0x08050AFC + push {r4, r5, lr} + adds r4, r0, #0 + bl sub_0805041C + ldr r5, _08050B30 @ =gUnk_02021F30 + movs r1, #0x80 + lsls r1, r1, #4 + adds r0, r5, #0 + bl sub_0801D630 + ldr r0, _08050B34 @ =gUnk_02019EE0 + adds r0, #8 + adds r4, r4, r0 + movs r0, #0 + ldrsb r0, [r4, r0] + cmp r0, #1 + bne _08050B28 + movs r1, #0xa7 + lsls r1, r1, #2 + adds r0, r5, r1 + bl sub_08050B3C +_08050B28: + ldr r1, _08050B38 @ =gUnk_03000F50 + movs r0, #1 + strh r0, [r1, #0x1a] + pop {r4, r5, pc} + .align 2, 0 +_08050B30: .4byte gUnk_02021F30 +_08050B34: .4byte gUnk_02019EE0 +_08050B38: .4byte gUnk_03000F50 + + thumb_func_start sub_08050B3C +sub_08050B3C: @ 0x08050B3C + push {r4, r5, r6, r7, lr} + mov r7, sl + mov r6, sb + mov r5, r8 + push {r5, r6, r7} + sub sp, #8 + str r0, [sp] + ldr r1, _08050C18 @ =gUnk_02002A40 + adds r0, r1, #0 + adds r0, #0xaa + ldrb r0, [r0] + lsrs r2, r0, #1 + cmp r2, #0 + bne _08050B5A + movs r2, #1 +_08050B5A: + adds r0, r1, #0 + adds r0, #0xab + ldrb r0, [r0] + lsrs r3, r0, #1 + cmp r3, #0 + beq _08050C0A + cmp r2, r3 + ble _08050B6C + adds r2, r3, #0 +_08050B6C: + movs r0, #3 + ands r0, r2 + str r0, [sp, #4] + adds r0, r2, #0 + asrs r5, r0, #2 + mov ip, r5 + cmp r5, #0xa + ble _08050B80 + movs r2, #0xa + mov ip, r2 +_08050B80: + adds r6, r5, #0 + subs r6, #0xa + mov sb, r6 + cmp r6, #0 + bge _08050B8E + movs r7, #0 + mov sb, r7 +_08050B8E: + adds r0, r3, #0 + asrs r3, r0, #2 + adds r0, r3, #0 + cmp r3, #0xa + ble _08050B9A + movs r3, #0xa +_08050B9A: + adds r4, r0, #0 + subs r4, #0xa + ldr r2, [sp] + ldr r0, _08050C1C @ =0x0000F24C + mov sl, r0 + strh r0, [r2] + ldr r1, _08050C20 @ =0x040000D4 + movs r7, #0xa + mov r8, r7 + mov r0, r8 + mov r7, ip + subs r0, r0, r7 + lsls r0, r0, #1 + ldr r7, _08050C24 @ =gUnk_080FC914 + mov ip, r7 + add r0, ip + str r0, [r1] + adds r0, r2, #2 + str r0, [r1, #4] + movs r0, #0x80 + lsls r0, r0, #0x18 + orrs r3, r0 + str r3, [r1, #8] + ldr r0, [r1, #8] + cmp r4, #0 + ble _08050BEE + adds r2, #0x40 + mov r3, sl + strh r3, [r2] + mov r7, r8 + mov r3, sb + subs r0, r7, r3 + lsls r0, r0, #1 + add r0, ip + str r0, [r1] + adds r0, r2, #2 + str r0, [r1, #4] + movs r7, #0x80 + lsls r7, r7, #0x18 + orrs r4, r7 + str r4, [r1, #8] + ldr r0, [r1, #8] +_08050BEE: + ldr r0, [sp, #4] + cmp r0, #0 + beq _08050C0A + ldr r2, [sp] + cmp r5, #9 + ble _08050BFE + adds r5, r6, #0 + adds r2, #0x40 +_08050BFE: + lsls r0, r5, #1 + adds r0, r0, r2 + ldr r2, [sp, #4] + ldr r3, _08050C28 @ =0xFFFFF24D + adds r1, r2, r3 + strh r1, [r0, #2] +_08050C0A: + add sp, #8 + pop {r3, r4, r5} + mov r8, r3 + mov sb, r4 + mov sl, r5 + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08050C18: .4byte gUnk_02002A40 +_08050C1C: .4byte 0x0000F24C +_08050C20: .4byte 0x040000D4 +_08050C24: .4byte gUnk_080FC914 +_08050C28: .4byte 0xFFFFF24D + + thumb_func_start sub_08050C2C +sub_08050C2C: @ 0x08050C2C + push {lr} + ldr r1, _08050C48 @ =gUnk_080FC93C + ldr r0, _08050C4C @ =gUnk_02000080 + ldrb r0, [r0, #5] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + ldr r0, _08050C50 @ =gUnk_02019EE0 + ldrb r0, [r0, #6] + bl sub_08050A64 + pop {pc} + .align 2, 0 +_08050C48: .4byte gUnk_080FC93C +_08050C4C: .4byte gUnk_02000080 +_08050C50: .4byte gUnk_02019EE0 + + thumb_func_start sub_08050C54 +sub_08050C54: @ 0x08050C54 + push {r4, lr} + ldr r0, _08050C78 @ =gUnk_02019EE0 + ldrb r0, [r0] + cmp r0, #0 + beq _08050C60 + b _08050D60 +_08050C60: + ldr r0, _08050C7C @ =gUnk_02000080 + ldrb r4, [r0, #1] + ldr r0, _08050C80 @ =gUnk_03000FF0 + ldrh r0, [r0, #2] + subs r0, #1 + cmp r0, #0x1f + bhi _08050D44 + lsls r0, r0, #2 + ldr r1, _08050C84 @ =_08050C88 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08050C78: .4byte gUnk_02019EE0 +_08050C7C: .4byte gUnk_02000080 +_08050C80: .4byte gUnk_03000FF0 +_08050C84: .4byte _08050C88 +_08050C88: @ jump table + .4byte _08050D08 @ case 0 + .4byte _08050D30 @ case 1 + .4byte _08050D44 @ case 2 + .4byte _08050D44 @ case 3 + .4byte _08050D44 @ case 4 + .4byte _08050D44 @ case 5 + .4byte _08050D44 @ case 6 + .4byte _08050D08 @ case 7 + .4byte _08050D44 @ case 8 + .4byte _08050D44 @ case 9 + .4byte _08050D44 @ case 10 + .4byte _08050D44 @ case 11 + .4byte _08050D44 @ case 12 + .4byte _08050D44 @ case 13 + .4byte _08050D44 @ case 14 + .4byte _08050D42 @ case 15 + .4byte _08050D44 @ case 16 + .4byte _08050D44 @ case 17 + .4byte _08050D44 @ case 18 + .4byte _08050D44 @ case 19 + .4byte _08050D44 @ case 20 + .4byte _08050D44 @ case 21 + .4byte _08050D44 @ case 22 + .4byte _08050D44 @ case 23 + .4byte _08050D44 @ case 24 + .4byte _08050D44 @ case 25 + .4byte _08050D44 @ case 26 + .4byte _08050D44 @ case 27 + .4byte _08050D44 @ case 28 + .4byte _08050D44 @ case 29 + .4byte _08050D44 @ case 30 + .4byte _08050D3E @ case 31 +_08050D08: + cmp r4, #0 + bne _08050D12 + ldr r0, _08050D28 @ =0x80080000 + bl sub_080A3268 +_08050D12: + ldr r1, _08050D2C @ =gUnk_02000080 + movs r0, #0xf + strh r0, [r1, #8] + movs r0, #1 + bl sub_080A7114 + movs r0, #0x6a + bl sub_080A3268 + b _08050D44 + .align 2, 0 +_08050D28: .4byte 0x80080000 +_08050D2C: .4byte gUnk_02000080 +_08050D30: + movs r0, #0x6c + bl sub_080A3268 + movs r0, #0 + bl sub_080503BC + b _08050D44 +_08050D3E: + subs r4, #1 + b _08050D44 +_08050D42: + adds r4, #1 +_08050D44: + cmp r4, #0 + bge _08050D4A + movs r4, #0 +_08050D4A: + cmp r4, #2 + ble _08050D50 + movs r4, #2 +_08050D50: + ldr r1, _08050D64 @ =gUnk_02000080 + ldrb r0, [r1, #1] + cmp r0, r4 + beq _08050D60 + strb r4, [r1, #1] + movs r0, #0x69 + bl sub_080A3268 +_08050D60: + pop {r4, pc} + .align 2, 0 +_08050D64: .4byte gUnk_02000080 + + thumb_func_start sub_08050D68 +sub_08050D68: @ 0x08050D68 + push {lr} + ldr r1, _08050D84 @ =gUnk_02000080 + ldrh r0, [r1, #8] + cmp r0, #0 + bne _08050D94 + ldrb r0, [r1, #1] + cmp r0, #1 + beq _08050D88 + cmp r0, #1 + ble _08050D80 + cmp r0, #2 + beq _08050D8C +_08050D80: + movs r0, #7 + b _08050D8E + .align 2, 0 +_08050D84: .4byte gUnk_02000080 +_08050D88: + movs r0, #5 + b _08050D8E +_08050D8C: + movs r0, #6 +_08050D8E: + bl sub_080503BC + b _08050D98 +_08050D94: + subs r0, #1 + strh r0, [r1, #8] +_08050D98: + pop {pc} + .align 2, 0 + + thumb_func_start sub_08050D9C +sub_08050D9C: @ 0x08050D9C + push {lr} + ldr r1, _08050DB0 @ =gUnk_080FC944 + ldr r0, _08050DB4 @ =gUnk_02000080 + ldrb r0, [r0, #5] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08050DB0: .4byte gUnk_080FC944 +_08050DB4: .4byte gUnk_02000080 + + thumb_func_start sub_08050DB8 +sub_08050DB8: @ 0x08050DB8 + push {lr} + ldr r0, _08050DDC @ =gUnk_020344B0 + movs r1, #0x80 + lsls r1, r1, #4 + bl sub_0801D630 + movs r0, #0xc + bl sub_080503A8 + ldr r1, _08050DE0 @ =gUnk_02000080 + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + strb r0, [r1, #4] + movs r0, #1 + bl sub_080A7114 + pop {pc} + .align 2, 0 +_08050DDC: .4byte gUnk_020344B0 +_08050DE0: .4byte gUnk_02000080 + + thumb_func_start sub_08050DE4 +sub_08050DE4: @ 0x08050DE4 + push {r4, lr} + ldr r0, _08050E0C @ =gUnk_02019EE0 + ldrb r0, [r0] + cmp r0, #0 + bne _08050E80 + movs r1, #0x80 + lsls r1, r1, #0x12 + ldrb r4, [r1, #7] + ldr r0, _08050E10 @ =gUnk_03000FF0 + ldrh r0, [r0, #2] + cmp r0, #8 + beq _08050E26 + cmp r0, #8 + bgt _08050E14 + cmp r0, #1 + beq _08050E26 + cmp r0, #2 + beq _08050E50 + b _08050E62 + .align 2, 0 +_08050E0C: .4byte gUnk_02019EE0 +_08050E10: .4byte gUnk_03000FF0 +_08050E14: + cmp r0, #0x40 + beq _08050E1E + cmp r0, #0x80 + beq _08050E22 + b _08050E62 +_08050E1E: + subs r4, #1 + b _08050E62 +_08050E22: + adds r4, #1 + b _08050E62 +_08050E26: + movs r0, #0x6a + bl sub_080A3268 + ldr r0, _08050E44 @ =gUnk_02000080 + ldrb r0, [r0, #4] + cmp r0, r4 + beq _08050E48 + movs r0, #2 + bl sub_080A7114 + movs r0, #8 + movs r1, #0 + bl sub_08050318 + b _08050E62 + .align 2, 0 +_08050E44: .4byte gUnk_02000080 +_08050E48: + movs r0, #0 + bl sub_080503BC + b _08050E62 +_08050E50: + ldr r0, _08050E84 @ =gUnk_02000080 + ldrb r4, [r0, #4] + strb r4, [r1, #7] + movs r0, #0x6c + bl sub_080A3268 + movs r0, #0 + bl sub_080503BC +_08050E62: + cmp r4, #1 + bgt _08050E68 + movs r4, #2 +_08050E68: + cmp r4, #6 + ble _08050E6E + movs r4, #6 +_08050E6E: + movs r1, #0x80 + lsls r1, r1, #0x12 + ldrb r0, [r1, #7] + cmp r0, r4 + beq _08050E80 + strb r4, [r1, #7] + movs r0, #0x69 + bl sub_080A3268 +_08050E80: + pop {r4, pc} + .align 2, 0 +_08050E84: .4byte gUnk_02000080 + + thumb_func_start sub_08050E88 +sub_08050E88: @ 0x08050E88 + push {lr} + movs r0, #2 + bl sub_0807CDA4 + cmp r0, #0 + beq _08050E9A + movs r0, #0 + bl sub_080503BC +_08050E9A: + pop {pc} + + thumb_func_start sub_08050E9C +sub_08050E9C: @ 0x08050E9C + push {lr} + ldr r1, _08050EB0 @ =gUnk_080FC950 + ldr r0, _08050EB4 @ =gUnk_02000080 + ldrb r0, [r0, #5] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08050EB0: .4byte gUnk_080FC950 +_08050EB4: .4byte gUnk_02000080 + + thumb_func_start sub_08050EB8 +sub_08050EB8: @ 0x08050EB8 + push {lr} + movs r0, #0xe + bl sub_080503A8 + ldr r2, _08050EE8 @ =gUnk_02019EE0 + ldrb r1, [r2, #6] + ldr r0, _08050EEC @ =0x000004B4 + muls r1, r0, r1 + adds r0, r2, #0 + adds r0, #0xc + adds r1, r1, r0 + ldrb r0, [r1, #2] + movs r3, #0 + strb r0, [r2, #4] + ldrb r0, [r1, #3] + strb r0, [r2, #5] + ldr r1, _08050EF0 @ =gUnk_02000080 + strb r3, [r1, #1] + movs r0, #0xff + strh r0, [r1, #8] + movs r0, #1 + bl sub_080A7114 + pop {pc} + .align 2, 0 +_08050EE8: .4byte gUnk_02019EE0 +_08050EEC: .4byte 0x000004B4 +_08050EF0: .4byte gUnk_02000080 + + thumb_func_start sub_08050EF4 +sub_08050EF4: @ 0x08050EF4 + push {r4, r5, r6, r7, lr} + mov r7, r8 + push {r7} + ldr r0, _08050F40 @ =gUnk_02019EE0 + ldrb r1, [r0] + adds r6, r0, #0 + cmp r1, #0 + bne _08050FF4 + ldrb r1, [r6, #6] + ldr r0, _08050F44 @ =0x000004B4 + muls r1, r0, r1 + adds r0, r6, #0 + adds r0, #0xc + adds r1, r1, r0 + ldr r0, _08050F48 @ =gUnk_02000080 + ldrb r3, [r0, #1] + adds r4, r1, #3 + mov ip, r0 + cmp r3, #0 + bne _08050F1E + adds r4, r1, #2 +_08050F1E: + ldrb r2, [r4] + movs r5, #0 + ldr r0, _08050F4C @ =gUnk_03000FF0 + ldrh r0, [r0, #2] + mov r8, r2 + cmp r0, #0x10 + beq _08050F7A + cmp r0, #0x10 + bgt _08050F56 + cmp r0, #2 + beq _08050F8C + cmp r0, #2 + bgt _08050F50 + cmp r0, #1 + beq _08050F82 + b _08050F8E + .align 2, 0 +_08050F40: .4byte gUnk_02019EE0 +_08050F44: .4byte 0x000004B4 +_08050F48: .4byte gUnk_02000080 +_08050F4C: .4byte gUnk_03000FF0 +_08050F50: + cmp r0, #8 + beq _08050F82 + b _08050F8E +_08050F56: + cmp r0, #0x40 + beq _08050F6A + cmp r0, #0x40 + bgt _08050F64 + cmp r0, #0x20 + beq _08050F72 + b _08050F8E +_08050F64: + cmp r0, #0x80 + beq _08050F6E + b _08050F8E +_08050F6A: + movs r3, #0 + b _08050F8E +_08050F6E: + movs r3, #1 + b _08050F8E +_08050F72: + cmp r2, #0 + beq _08050F8E + subs r2, #1 + b _08050F8E +_08050F7A: + cmp r2, #1 + bhi _08050F8E + adds r2, #1 + b _08050F8E +_08050F82: + ldrh r0, [r6, #4] + movs r5, #2 + ldrh r7, [r1, #2] + cmp r0, r7 + bne _08050F8E +_08050F8C: + movs r5, #3 +_08050F8E: + cmp r5, #0 + beq _08050FD0 + cmp r5, #2 + beq _08050F9C + cmp r5, #3 + beq _08050FAC + b _08050FBA +_08050F9C: + movs r0, #8 + movs r1, #0 + bl sub_08050318 + movs r0, #0x6a + bl sub_080A3268 + b _08050FBA +_08050FAC: + ldrb r0, [r6, #4] + strb r0, [r1, #2] + ldrb r0, [r6, #5] + strb r0, [r1, #3] + movs r0, #0x6c + bl sub_080A3268 +_08050FBA: + adds r0, r5, #0 + bl sub_080A7114 + ldr r0, _08050FCC @ =gUnk_02019EE0 + ldrb r0, [r0, #6] + bl sub_0805041C + b _08050FF4 + .align 2, 0 +_08050FCC: .4byte gUnk_02019EE0 +_08050FD0: + mov r1, ip + ldrb r0, [r1, #1] + cmp r0, r3 + beq _08050FE2 + strb r3, [r1, #1] + movs r0, #0x69 + bl sub_080A3268 + b _08050FF4 +_08050FE2: + cmp r2, r8 + beq _08050FF4 + strb r2, [r4] + ldrb r0, [r6, #6] + bl sub_080503E4 + movs r0, #0x69 + bl sub_080A3268 +_08050FF4: + pop {r3} + mov r8, r3 + pop {r4, r5, r6, r7, pc} + .align 2, 0 + + thumb_func_start sub_08050FFC +sub_08050FFC: @ 0x08050FFC + push {lr} + movs r0, #0 + bl sub_0807CDA4 + adds r1, r0, #0 + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + beq _08051014 + cmp r1, #1 + beq _0805102A + b _08051030 +_08051014: + ldr r1, _08051034 @ =gUnk_02000080 + movs r0, #0x1e + strh r0, [r1, #8] + ldr r0, _08051038 @ =gUnk_02019EE0 + ldrb r0, [r0, #6] + bl sub_0805194C + movs r0, #9 + movs r1, #0 + bl sub_08050318 +_0805102A: + movs r0, #3 + bl sub_080A7114 +_08051030: + pop {pc} + .align 2, 0 +_08051034: .4byte gUnk_02000080 +_08051038: .4byte gUnk_02019EE0 + + thumb_func_start sub_0805103C +sub_0805103C: @ 0x0805103C + push {lr} + ldr r0, _08051050 @ =gUnk_02000080 + ldrb r1, [r0, #8] + adds r2, r0, #0 + cmp r1, #0 + beq _08051054 + cmp r1, #0xff + beq _0805106C + b _08051060 + .align 2, 0 +_08051050: .4byte gUnk_02000080 +_08051054: + ldr r0, _08051068 @ =gUnk_03000FF0 + ldrh r1, [r0, #2] + movs r0, #9 + ands r0, r1 + cmp r0, #0 + beq _08051072 +_08051060: + ldrh r0, [r2, #8] + subs r0, #1 + strh r0, [r2, #8] + b _08051072 + .align 2, 0 +_08051068: .4byte gUnk_03000FF0 +_0805106C: + movs r0, #0 + bl sub_080503BC +_08051072: + pop {pc} + + thumb_func_start sub_08051074 +sub_08051074: @ 0x08051074 + push {lr} + ldr r1, _08051088 @ =gUnk_080FC960 + ldr r0, _0805108C @ =gUnk_02000080 + ldrb r0, [r0, #5] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08051088: .4byte gUnk_080FC960 +_0805108C: .4byte gUnk_02000080 + + thumb_func_start sub_08051090 +sub_08051090: @ 0x08051090 + push {lr} + movs r0, #8 + bl sub_080503A8 + bl sub_08050790 + bl sub_0805070C + bl sub_08051458 + ldr r1, _080510B4 @ =gUnk_03000F50 + movs r0, #0xff + strh r0, [r1, #0x18] + strh r0, [r1, #0x24] + movs r0, #1 + bl sub_080A7114 + pop {pc} + .align 2, 0 +_080510B4: .4byte gUnk_03000F50 + + thumb_func_start sub_080510B8 +sub_080510B8: @ 0x080510B8 + push {r4, r5, r6, r7, lr} + ldr r0, _080510E4 @ =gUnk_02019EE0 + ldrb r0, [r0] + cmp r0, #0 + beq _080510C4 + b _0805134C +_080510C4: + movs r7, #0 + ldr r0, _080510E8 @ =gUnk_03000FF0 + ldrh r1, [r0, #2] + adds r2, r0, #0 + cmp r1, #8 + bne _080510D2 + b _080511C8 +_080510D2: + cmp r1, #8 + bgt _080510EC + cmp r1, #1 + bne _080510DC + b _080511F2 +_080510DC: + cmp r1, #2 + beq _080511B8 + b _08051100 + .align 2, 0 +_080510E4: .4byte gUnk_02019EE0 +_080510E8: .4byte gUnk_03000FF0 +_080510EC: + movs r0, #0x80 + lsls r0, r0, #1 + cmp r1, r0 + bne _080510F6 + b _0805122C +_080510F6: + movs r0, #0x80 + lsls r0, r0, #2 + cmp r1, r0 + bne _08051100 + b _0805121C +_08051100: + movs r6, #0 + movs r5, #0 + ldrh r0, [r2, #4] + cmp r0, #0x20 + beq _08051128 + cmp r0, #0x20 + bgt _08051114 + cmp r0, #0x10 + beq _0805112E + b _08051130 +_08051114: + cmp r0, #0x40 + beq _0805111E + cmp r0, #0x80 + beq _08051124 + b _08051130 +_0805111E: + movs r5, #1 + rsbs r5, r5, #0 + b _08051130 +_08051124: + movs r5, #1 + b _08051130 +_08051128: + movs r6, #1 + rsbs r6, r6, #0 + b _08051130 +_0805112E: + movs r6, #1 +_08051130: + ldr r4, _0805117C @ =gUnk_02000080 + ldrb r0, [r4, #0x11] + adds r0, r0, r5 + adds r0, #6 + movs r1, #6 + bl __modsi3 + strb r0, [r4, #0x11] + orrs r5, r6 + cmp r5, #0 + beq _0805114C + movs r0, #0x67 + bl sub_080A3268 +_0805114C: + cmp r6, #0 + beq _0805123A + ldrb r0, [r4, #0x11] + cmp r0, #5 + beq _08051184 + ldrb r0, [r4, #0x10] + adds r0, r0, r6 + adds r0, #0xd + movs r1, #0xd + bl __modsi3 + strb r0, [r4, #0x10] + ldr r1, _08051180 @ =gUnk_080FC980 + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + cmp r0, #0 + beq _08051172 + adds r1, #0x10 +_08051172: + ldrb r0, [r4, #0x10] + adds r0, r1, r0 + ldrb r0, [r0] + strb r0, [r4, #0x12] + b _0805123A + .align 2, 0 +_0805117C: .4byte gUnk_02000080 +_08051180: .4byte gUnk_080FC980 +_08051184: + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + adds r5, r0, #0 + movs r1, #4 + cmp r5, #0 + bne _08051194 + movs r1, #5 +_08051194: + ldrb r0, [r4, #0x12] + adds r0, r0, r6 + adds r0, r0, r1 + bl __modsi3 + strb r0, [r4, #0x12] + ldr r1, _080511B4 @ =gUnk_080FC9A0 + cmp r5, #0 + beq _080511A8 + adds r1, #8 +_080511A8: + ldrb r0, [r4, #0x12] + adds r0, r1, r0 + ldrb r0, [r0] + strb r0, [r4, #0x10] + b _0805123A + .align 2, 0 +_080511B4: .4byte gUnk_080FC9A0 +_080511B8: + ldr r0, _080511C4 @ =gUnk_02000080 + ldrb r0, [r0, #0x13] + cmp r0, #0 + beq _080511EC + movs r7, #5 + b _0805123A + .align 2, 0 +_080511C4: .4byte gUnk_02000080 +_080511C8: + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + movs r1, #3 + cmp r0, #0 + bne _080511D6 + movs r1, #4 +_080511D6: + ldr r2, _080511E8 @ =gUnk_02000080 + ldrb r0, [r2, #0x11] + cmp r0, #5 + bne _080511EC + ldrb r2, [r2, #0x12] + cmp r1, r2 + bne _080511EC + movs r7, #8 + b _0805123A + .align 2, 0 +_080511E8: .4byte gUnk_02000080 +_080511EC: + bl sub_08051358 + b _0805123A +_080511F2: + ldr r1, _08051210 @ =gUnk_02000080 + ldrb r0, [r1, #0x11] + cmp r0, #5 + bne _08051218 + ldr r2, _08051214 @ =gUnk_080FC970 + ldrb r1, [r1, #0x12] + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + cmp r0, #0 + beq _0805120A + adds r1, #8 +_0805120A: + adds r0, r1, r2 + ldrb r7, [r0] + b _0805123A + .align 2, 0 +_08051210: .4byte gUnk_02000080 +_08051214: .4byte gUnk_080FC970 +_08051218: + movs r7, #6 + b _0805123A +_0805121C: + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + movs r7, #1 + cmp r0, #0 + bne _0805123A + movs r7, #4 + b _0805123A +_0805122C: + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + movs r7, #2 + cmp r0, #0 + bne _0805123A + movs r7, #7 +_0805123A: + ldr r0, _08051250 @ =gUnk_02000080 + ldrb r4, [r0, #1] + subs r0, r7, #1 + cmp r0, #7 + bhi _08051322 + lsls r0, r0, #2 + ldr r1, _08051254 @ =_08051258 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08051250: .4byte gUnk_02000080 +_08051254: .4byte _08051258 +_08051258: @ jump table + .4byte _08051278 @ case 0 + .4byte _0805127C @ case 1 + .4byte _08051280 @ case 2 + .4byte _08051284 @ case 3 + .4byte _08051288 @ case 4 + .4byte _080512C0 @ case 5 + .4byte _080512B8 @ case 6 + .4byte _080512EC @ case 7 +_08051278: + movs r4, #0 + b _08051322 +_0805127C: + movs r4, #1 + b _08051322 +_08051280: + movs r4, #2 + b _08051322 +_08051284: + adds r4, #1 + b _08051322 +_08051288: + ldr r3, _080512B0 @ =gUnk_02000080 + ldrb r0, [r3, #0x13] + cmp r0, #0 + beq _08051322 + subs r0, #1 + movs r2, #0 + strb r0, [r3, #0x13] + ldr r1, _080512B4 @ =gUnk_02002A40 + ldrb r0, [r3, #0x13] + adds r1, #0x80 + adds r0, r0, r1 + strb r2, [r0] + ldrb r0, [r3, #0x13] + adds r0, #1 + adds r0, r0, r1 + strb r2, [r0] + movs r0, #0x6c + bl sub_08051574 + b _08051322 + .align 2, 0 +_080512B0: .4byte gUnk_02000080 +_080512B4: .4byte gUnk_02002A40 +_080512B8: + movs r0, #0 + bl sub_08051480 + b _08051322 +_080512C0: + ldr r2, _080512E4 @ =gUnk_02001A40 + ldr r0, _080512E8 @ =gUnk_02000080 + ldrb r1, [r0, #0x10] + lsls r1, r1, #1 + ldrb r0, [r0, #0x11] + lsls r0, r0, #6 + adds r0, #0xc3 + adds r1, r1, r0 + lsls r1, r1, #1 + adds r1, r1, r2 + ldrh r0, [r1] + lsrs r0, r0, #1 + lsls r0, r0, #0x18 + lsrs r0, r0, #0x18 + bl sub_08051480 + b _08051322 + .align 2, 0 +_080512E4: .4byte gUnk_02001A40 +_080512E8: .4byte gUnk_02000080 +_080512EC: + movs r3, #5 + ldr r0, _08051350 @ =gUnk_02002A40 + adds r6, r0, #0 + adds r6, #0x80 + movs r5, #0 +_080512F6: + adds r2, r3, r6 + ldrb r1, [r2] + cmp r1, #0 + beq _08051302 + cmp r1, #0x20 + bne _0805130A +_08051302: + strb r5, [r2] + subs r3, #1 + cmp r3, #0 + bge _080512F6 +_0805130A: + adds r0, #0x80 + ldrb r0, [r0] + movs r7, #3 + cmp r0, #0 + beq _08051316 + movs r7, #2 +_08051316: + movs r0, #0x6a + bl sub_08051574 + adds r0, r7, #0 + bl sub_080A7114 +_08051322: + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + movs r1, #2 + cmp r0, #0 + bne _08051330 + movs r1, #3 +_08051330: + adds r0, r4, r1 + bl __modsi3 + adds r4, r0, #0 + ldr r1, _08051354 @ =gUnk_02000080 + ldrb r0, [r1, #1] + cmp r0, r4 + beq _0805134C + strb r4, [r1, #1] + bl sub_08051458 + movs r0, #0x68 + bl sub_080A3268 +_0805134C: + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_08051350: .4byte gUnk_02002A40 +_08051354: .4byte gUnk_02000080 + + thumb_func_start sub_08051358 +sub_08051358: @ 0x08051358 + push {lr} + ldr r2, _08051384 @ =gUnk_02000080 + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + movs r1, #3 + cmp r0, #0 + bne _0805136A + movs r1, #4 +_0805136A: + strb r1, [r2, #0x12] + ldrh r1, [r2, #0x10] + ldr r0, _08051388 @ =0x0000050B + cmp r1, r0 + beq _08051382 + movs r0, #5 + strb r0, [r2, #0x11] + movs r0, #0xb + strb r0, [r2, #0x10] + movs r0, #0x67 + bl sub_080A3268 +_08051382: + pop {pc} + .align 2, 0 +_08051384: .4byte gUnk_02000080 +_08051388: .4byte 0x0000050B + + thumb_func_start sub_0805138C +sub_0805138C: @ 0x0805138C + push {lr} + ldr r1, _080513A0 @ =gUnk_080FC9B0 + ldr r0, _080513A4 @ =gUnk_02000080 + ldrb r0, [r0, #6] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_080513A0: .4byte gUnk_080FC9B0 +_080513A4: .4byte gUnk_02000080 + + thumb_func_start sub_080513A8 +sub_080513A8: @ 0x080513A8 + push {lr} + movs r0, #5 + movs r1, #0 + bl sub_08050318 + ldr r1, _080513BC @ =gUnk_02000080 + movs r0, #1 + strb r0, [r1, #6] + pop {pc} + .align 2, 0 +_080513BC: .4byte gUnk_02000080 + + thumb_func_start sub_080513C0 +sub_080513C0: @ 0x080513C0 + push {lr} + movs r0, #0 + bl sub_0807CDA4 + adds r2, r0, #0 + cmp r2, #0 + beq _08051412 + cmp r2, #0 + bgt _080513DC + movs r0, #1 + rsbs r0, r0, #0 + cmp r2, r0 + beq _080513F8 + b _08051412 +_080513DC: + cmp r2, #1 + bne _08051412 + ldr r1, _080513F4 @ =gUnk_02019EE0 + adds r0, r1, #0 + adds r0, #8 + ldrb r1, [r1, #6] + adds r0, r0, r1 + strb r2, [r0] + movs r0, #3 + bl sub_080A7114 + b _08051412 + .align 2, 0 +_080513F4: .4byte gUnk_02019EE0 +_080513F8: + ldr r0, _08051414 @ =gUnk_02019EE0 + ldrb r0, [r0, #6] + bl sub_0805194C + movs r0, #6 + movs r1, #0 + bl sub_08050318 + ldr r1, _08051418 @ =gUnk_02000080 + movs r0, #0x1e + strh r0, [r1, #8] + movs r0, #2 + strb r0, [r1, #6] +_08051412: + pop {pc} + .align 2, 0 +_08051414: .4byte gUnk_02019EE0 +_08051418: .4byte gUnk_02000080 + + thumb_func_start sub_0805141C +sub_0805141C: @ 0x0805141C + push {lr} + ldr r1, _0805143C @ =gUnk_02000080 + ldrh r0, [r1, #8] + cmp r0, #0 + bne _08051444 + ldr r0, _08051440 @ =gUnk_03000FF0 + ldrh r1, [r0, #2] + movs r0, #9 + ands r0, r1 + cmp r0, #0 + beq _08051448 + movs r0, #3 + bl sub_080A7114 + b _08051448 + .align 2, 0 +_0805143C: .4byte gUnk_02000080 +_08051440: .4byte gUnk_03000FF0 +_08051444: + subs r0, #1 + strh r0, [r1, #8] +_08051448: + pop {pc} + .align 2, 0 + + thumb_func_start sub_0805144C +sub_0805144C: @ 0x0805144C + push {lr} + movs r0, #0 + bl sub_080503BC + pop {pc} + .align 2, 0 + + thumb_func_start sub_08051458 +sub_08051458: @ 0x08051458 + push {lr} + ldr r0, _08051474 @ =gUnk_02000080 + ldrb r0, [r0, #1] + adds r0, #9 + bl sub_080503A8 + ldr r0, _08051478 @ =gUnk_02001B40 + ldr r1, _0805147C @ =gUnk_02022030 + movs r2, #0x80 + lsls r2, r2, #3 + bl sub_0801D66C + pop {pc} + .align 2, 0 +_08051474: .4byte gUnk_02000080 +_08051478: .4byte gUnk_02001B40 +_0805147C: .4byte gUnk_02022030 + + thumb_func_start sub_08051480 +sub_08051480: @ 0x08051480 + push {r4, lr} + adds r4, r0, #0 + bl sub_080514BC + ldr r2, _080514B4 @ =gUnk_02000080 + ldrb r1, [r2, #0x13] + cmp r0, #0 + beq _080514B0 + cmp r0, #1 + beq _08051498 + adds r4, r0, #0 + subs r1, #1 +_08051498: + cmp r1, #5 + bls _0805149E + movs r1, #5 +_0805149E: + adds r0, r1, #1 + strb r0, [r2, #0x13] + ldr r0, _080514B8 @ =gUnk_02002A40 + adds r0, #0x80 + adds r0, r1, r0 + strb r4, [r0] + movs r0, #0x6b + bl sub_08051574 +_080514B0: + pop {r4, pc} + .align 2, 0 +_080514B4: .4byte gUnk_02000080 +_080514B8: .4byte gUnk_02002A40 + + thumb_func_start sub_080514BC +sub_080514BC: @ 0x080514BC + push {lr} + adds r2, r0, #0 + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r0, [r0, #7] + cmp r0, #0 + bne _080514D6 + cmp r2, #0 + beq _080514DA + cmp r2, #0xf + bhi _080514D6 + cmp r2, #0xe + bhs _080514DA +_080514D6: + movs r0, #1 + b _08051572 +_080514DA: + ldr r0, _08051500 @ =gUnk_02000080 + ldrb r1, [r0, #0x13] + cmp r1, #0 + beq _08051570 + ldr r0, _08051504 @ =gUnk_02002A40 + adds r0, r0, r1 + adds r0, #0x7f + ldrb r1, [r0] + adds r0, r1, #0 + subs r0, #0xa4 + cmp r0, #0x28 + bhi _08051522 + cmp r2, #0xe + beq _0805153C + cmp r2, #0xe + bhi _08051508 + cmp r2, #0 + beq _0805150E + b _0805153C + .align 2, 0 +_08051500: .4byte gUnk_02000080 +_08051504: .4byte gUnk_02002A40 +_08051508: + cmp r2, #0xf + beq _08051518 + b _0805153C +_0805150E: + cmp r1, #0xc2 + bhi _0805151C + adds r0, r1, #0 + adds r0, #0x33 + b _08051572 +_08051518: + cmp r1, #0xc2 + bls _08051570 +_0805151C: + adds r0, r1, #0 + adds r0, #0xa + b _08051572 +_08051522: + adds r0, r1, #0 + subs r0, #0xcd + cmp r0, #9 + bhi _0805154C + cmp r2, #0xe + beq _08051546 + cmp r2, #0xe + bhi _08051538 + cmp r2, #0 + beq _08051540 + b _0805154C +_08051538: + cmp r2, #0xf + bne _0805154C +_0805153C: + adds r0, r1, #0 + b _08051572 +_08051540: + adds r0, r1, #0 + adds r0, #0x29 + b _08051572 +_08051546: + adds r0, r1, #0 + subs r0, #0xa + b _08051572 +_0805154C: + adds r0, r1, #0 + subs r0, #0xd7 + cmp r0, #0x28 + bhi _08051570 + cmp r2, #0xe + beq _08051560 + cmp r2, #0xe + bls _08051560 + cmp r2, #0xf + beq _08051566 +_08051560: + adds r0, r1, #0 + subs r0, #0x33 + b _08051572 +_08051566: + cmp r1, #0xf5 + bls _08051570 + adds r0, r1, #0 + subs r0, #0x29 + b _08051572 +_08051570: + movs r0, #0 +_08051572: + pop {pc} + + thumb_func_start sub_08051574 +sub_08051574: @ 0x08051574 + push {lr} + bl sub_080A3268 + ldr r0, _08051594 @ =gUnk_02002A40 + ldr r3, _08051598 @ =gUnk_02019EE0 + ldrb r1, [r3, #6] + ldr r2, _0805159C @ =0x000004B4 + muls r1, r2, r1 + adds r3, #0xc + adds r1, r1, r3 + bl sub_0801D66C + bl sub_0805070C + pop {pc} + .align 2, 0 +_08051594: .4byte gUnk_02002A40 +_08051598: .4byte gUnk_02019EE0 +_0805159C: .4byte 0x000004B4 + + thumb_func_start sub_080515A0 +sub_080515A0: @ 0x080515A0 + push {lr} + ldr r1, _080515BC @ =gUnk_080FC9BC + ldr r0, _080515C0 @ =gUnk_02000080 + ldrb r0, [r0, #5] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + ldr r0, _080515C4 @ =gUnk_02019EE0 + ldrb r0, [r0, #6] + bl sub_08050A64 + pop {pc} + .align 2, 0 +_080515BC: .4byte gUnk_080FC9BC +_080515C0: .4byte gUnk_02000080 +_080515C4: .4byte gUnk_02019EE0 + + thumb_func_start sub_080515C8 +sub_080515C8: @ 0x080515C8 + push {lr} + movs r0, #1 + bl sub_080A7114 + pop {pc} + .align 2, 0 + + thumb_func_start sub_080515D4 +sub_080515D4: @ 0x080515D4 + push {r4, lr} + ldr r0, _080515FC @ =gUnk_02019EE0 + ldrb r0, [r0] + cmp r0, #0 + beq _080515E0 + b _080516D8 +_080515E0: + ldr r1, _08051600 @ =gUnk_02000080 + movs r0, #4 + strh r0, [r1, #8] + ldrb r4, [r1, #1] + ldr r0, _08051604 @ =gUnk_03000FF0 + ldrh r0, [r0, #2] + subs r0, #1 + cmp r0, #0x1f + bhi _080516C8 + lsls r0, r0, #2 + ldr r1, _08051608 @ =_0805160C + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080515FC: .4byte gUnk_02019EE0 +_08051600: .4byte gUnk_02000080 +_08051604: .4byte gUnk_03000FF0 +_08051608: .4byte _0805160C +_0805160C: @ jump table + .4byte _08051694 @ case 0 + .4byte _0805168C @ case 1 + .4byte _080516C8 @ case 2 + .4byte _080516C8 @ case 3 + .4byte _080516C8 @ case 4 + .4byte _080516C8 @ case 5 + .4byte _080516C8 @ case 6 + .4byte _08051694 @ case 7 + .4byte _080516C8 @ case 8 + .4byte _080516C8 @ case 9 + .4byte _080516C8 @ case 10 + .4byte _080516C8 @ case 11 + .4byte _080516C8 @ case 12 + .4byte _080516C8 @ case 13 + .4byte _080516C8 @ case 14 + .4byte _080516C6 @ case 15 + .4byte _080516C8 @ case 16 + .4byte _080516C8 @ case 17 + .4byte _080516C8 @ case 18 + .4byte _080516C8 @ case 19 + .4byte _080516C8 @ case 20 + .4byte _080516C8 @ case 21 + .4byte _080516C8 @ case 22 + .4byte _080516C8 @ case 23 + .4byte _080516C8 @ case 24 + .4byte _080516C8 @ case 25 + .4byte _080516C8 @ case 26 + .4byte _080516C8 @ case 27 + .4byte _080516C8 @ case 28 + .4byte _080516C8 @ case 29 + .4byte _080516C8 @ case 30 + .4byte _080516C2 @ case 31 +_0805168C: + ldr r1, _080516B0 @ =gUnk_02000080 + movs r0, #0 + strb r0, [r1, #1] + movs r4, #0 +_08051694: + cmp r4, #1 + bne _080516B4 + movs r0, #4 + movs r1, #0 + bl sub_08050318 + movs r0, #2 + bl sub_080A7114 + movs r0, #0x6a + bl sub_080A3268 + b _080516C8 + .align 2, 0 +_080516B0: .4byte gUnk_02000080 +_080516B4: + movs r0, #0 + bl sub_080503BC + movs r0, #0x6c + bl sub_080A3268 + b _080516C8 +_080516C2: + movs r4, #0 + b _080516C8 +_080516C6: + movs r4, #1 +_080516C8: + ldr r1, _080516DC @ =gUnk_02000080 + ldrb r0, [r1, #1] + cmp r0, r4 + beq _080516D8 + strb r4, [r1, #1] + movs r0, #0x69 + bl sub_080A3268 +_080516D8: + pop {r4, pc} + .align 2, 0 +_080516DC: .4byte gUnk_02000080 + + thumb_func_start sub_080516E0 +sub_080516E0: @ 0x080516E0 + push {r4, lr} + movs r0, #1 + bl sub_0807CDA4 + cmp r0, #0 + beq _08051706 + ldr r4, _08051708 @ =gUnk_02019EE0 + ldrb r0, [r4, #6] + bl sub_0805194C + ldrb r0, [r4, #6] + bl sub_08050AFC + ldr r1, _0805170C @ =gUnk_02000080 + movs r0, #2 + strh r0, [r1, #8] + movs r0, #0 + bl sub_080503BC +_08051706: + pop {r4, pc} + .align 2, 0 +_08051708: .4byte gUnk_02019EE0 +_0805170C: .4byte gUnk_02000080 + + thumb_func_start sub_08051710 +sub_08051710: @ 0x08051710 + push {lr} + ldr r1, _0805172C @ =gUnk_080FC9C8 + ldr r0, _08051730 @ =gUnk_02000080 + ldrb r0, [r0, #5] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + ldr r0, _08051734 @ =gUnk_02019EE0 + ldrb r0, [r0, #6] + bl sub_08050A64 + pop {pc} + .align 2, 0 +_0805172C: .4byte gUnk_080FC9C8 +_08051730: .4byte gUnk_02000080 +_08051734: .4byte gUnk_02019EE0 + + thumb_func_start sub_08051738 +sub_08051738: @ 0x08051738 + push {r4, r5, r6, r7, lr} + ldr r1, _08051768 @ =gUnk_02019EE0 + movs r0, #4 + strb r0, [r1, #7] + movs r4, #0 + movs r3, #0 + adds r5, r1, #0 + adds r7, r5, #0 + adds r7, #8 + ldr r6, _0805176C @ =gUnk_02000090 +_0805174C: + adds r0, r3, r7 + ldrb r0, [r0] + lsls r0, r0, #0x18 + asrs r0, r0, #0x18 + cmp r0, #1 + bne _08051770 + ldrb r1, [r5, #6] + movs r2, #4 + eors r1, r3 + rsbs r0, r1, #0 + orrs r0, r1 + asrs r0, r0, #0x1f + ands r2, r0 + b _08051774 + .align 2, 0 +_08051768: .4byte gUnk_02019EE0 +_0805176C: .4byte gUnk_02000090 +_08051770: + adds r4, #1 + adds r2, r4, #0 +_08051774: + adds r0, r3, r6 + strb r2, [r0] + adds r3, #1 + cmp r3, #2 + bls _0805174C + cmp r4, #0 + bne _0805179C + ldr r1, _08051798 @ =gUnk_02000080 + movs r0, #0x3c + strh r0, [r1, #8] + movs r0, #1 + movs r1, #0 + bl sub_08050318 + movs r0, #3 + bl sub_080A7114 + b _080517A2 + .align 2, 0 +_08051798: .4byte gUnk_02000080 +_0805179C: + movs r0, #1 + bl sub_080A7114 +_080517A2: + adds r4, #1 + ldr r0, _080517B0 @ =gUnk_02000080 + strb r4, [r0, #0x16] + movs r1, #4 + strb r1, [r0, #0x13] + strb r4, [r0, #0x14] + pop {r4, r5, r6, r7, pc} + .align 2, 0 +_080517B0: .4byte gUnk_02000080 + + thumb_func_start sub_080517B4 +sub_080517B4: @ 0x080517B4 + push {r4, lr} + adds r2, r0, #0 + ldr r0, _080517E4 @ =gUnk_02019EE0 + ldrb r1, [r0, #7] + adds r4, r0, #0 + cmp r2, #0 + beq _080517DE + adds r1, r1, r2 + cmp r1, #4 + bhi _080517DC + ldr r3, _080517E8 @ =gUnk_02000090 +_080517CA: + adds r0, r1, r3 + ldrb r0, [r0] + cmp r0, #0 + beq _080517D6 + cmp r0, #4 + bne _080517DE +_080517D6: + adds r1, r1, r2 + cmp r1, #4 + bls _080517CA +_080517DC: + ldrb r1, [r4, #7] +_080517DE: + adds r0, r1, #0 + pop {r4, pc} + .align 2, 0 +_080517E4: .4byte gUnk_02019EE0 +_080517E8: .4byte gUnk_02000090 + + thumb_func_start sub_080517EC +sub_080517EC: @ 0x080517EC + push {r4, lr} + ldr r0, _08051810 @ =gUnk_02019EE0 + ldrb r1, [r0] + adds r2, r0, #0 + cmp r1, #0 + bne _0805186E + movs r4, #0 + ldr r0, _08051814 @ =gUnk_03000FF0 + ldrh r0, [r0, #2] + cmp r0, #8 + beq _0805182C + cmp r0, #8 + bgt _08051818 + cmp r0, #1 + beq _0805182C + cmp r0, #2 + beq _08051848 + b _08051858 + .align 2, 0 +_08051810: .4byte gUnk_02019EE0 +_08051814: .4byte gUnk_03000FF0 +_08051818: + cmp r0, #0x40 + beq _08051822 + cmp r0, #0x80 + beq _08051828 + b _08051858 +_08051822: + movs r4, #1 + rsbs r4, r4, #0 + b _08051858 +_08051828: + movs r4, #1 + b _08051858 +_0805182C: + ldrb r0, [r2, #7] + cmp r0, #2 + bhi _08051848 + movs r0, #2 + movs r1, #0 + bl sub_08050318 + movs r0, #2 + bl sub_080A7114 + movs r0, #0x6a + bl sub_080A3268 + b _08051858 +_08051848: + movs r0, #4 + strb r0, [r2, #7] + movs r0, #0x6c + bl sub_080A3268 + movs r0, #0 + bl sub_080503BC +_08051858: + adds r0, r4, #0 + bl sub_080517B4 + ldr r1, _08051870 @ =gUnk_02019EE0 + ldrb r2, [r1, #7] + cmp r0, r2 + beq _0805186E + strb r0, [r1, #7] + movs r0, #0x69 + bl sub_080A3268 +_0805186E: + pop {r4, pc} + .align 2, 0 +_08051870: .4byte gUnk_02019EE0 + + thumb_func_start sub_08051874 +sub_08051874: @ 0x08051874 + push {r4, lr} + movs r1, #0x80 + lsls r1, r1, #0x12 + ldr r4, _080518B8 @ =gUnk_02019EE0 + ldrb r0, [r4, #7] + strb r0, [r1, #4] + movs r0, #0 + bl sub_0807CDA4 + adds r1, r0, #0 + adds r0, r4, #0 + adds r0, #8 + ldrb r2, [r4, #7] + adds r0, r0, r2 + strb r1, [r0] + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + beq _080518C4 + cmp r1, #1 + bne _080518DE + ldr r0, _080518BC @ =gUnk_02002A40 + ldrb r1, [r4, #7] + ldr r2, _080518C0 @ =0x000004B4 + muls r1, r2, r1 + adds r3, r4, #0 + adds r3, #0xc + adds r1, r1, r3 + bl sub_0801D66C + movs r0, #0 + bl sub_080503BC + b _080518DE + .align 2, 0 +_080518B8: .4byte gUnk_02019EE0 +_080518BC: .4byte gUnk_02002A40 +_080518C0: .4byte 0x000004B4 +_080518C4: + ldrb r0, [r4, #7] + bl sub_0805194C + movs r0, #3 + movs r1, #0 + bl sub_08050318 + ldr r1, _080518E0 @ =gUnk_02000080 + movs r0, #0x1e + strh r0, [r1, #8] + movs r0, #3 + bl sub_080A7114 +_080518DE: + pop {r4, pc} + .align 2, 0 +_080518E0: .4byte gUnk_02000080 + + thumb_func_start sub_080518E4 +sub_080518E4: @ 0x080518E4 + push {lr} + ldr r1, _08051904 @ =gUnk_02000080 + ldrh r0, [r1, #8] + cmp r0, #0 + bne _0805190C + ldr r0, _08051908 @ =gUnk_03000FF0 + ldrh r1, [r0, #2] + movs r0, #9 + ands r0, r1 + cmp r0, #0 + beq _08051910 + movs r0, #0 + bl sub_080503BC + b _08051910 + .align 2, 0 +_08051904: .4byte gUnk_02000080 +_08051908: .4byte gUnk_03000FF0 +_0805190C: + subs r0, #1 + strh r0, [r1, #8] +_08051910: + pop {pc} + .align 2, 0 + + thumb_func_start sub_08051914 +sub_08051914: @ 0x08051914 + push {lr} + ldr r1, _08051940 @ =gUnk_02000080 + ldrb r0, [r1, #5] + cmp r0, #0 + bne _0805193E + movs r0, #1 + strb r0, [r1, #5] + movs r2, #0x80 + lsls r2, r2, #0x12 + ldr r1, _08051944 @ =gUnk_02002A40 + ldrb r0, [r1, #2] + strb r0, [r2, #5] + ldrb r0, [r1, #3] + strb r0, [r2, #6] + ldr r1, _08051948 @ =gUnk_03001000 + movs r0, #2 + strb r0, [r1, #3] + movs r0, #5 + movs r1, #8 + bl sub_08050054 +_0805193E: + pop {pc} + .align 2, 0 +_08051940: .4byte gUnk_02000080 +_08051944: .4byte gUnk_02002A40 +_08051948: .4byte gUnk_03001000 + + thumb_func_start sub_0805194C +sub_0805194C: @ 0x0805194C + push {r4, lr} + ldr r3, _08051980 @ =gUnk_02019EE0 + adds r1, r3, #0 + adds r1, #8 + adds r1, r0, r1 + movs r2, #0 + strb r2, [r1] + ldr r1, _08051984 @ =0x000004B4 + adds r4, r0, #0 + muls r4, r1, r4 + adds r3, #0xc + adds r4, r4, r3 + adds r0, r4, #0 + bl sub_0801D630 + movs r0, #1 + strb r0, [r4, #2] + strb r0, [r4, #3] + adds r1, r4, #0 + adds r1, #0xaa + movs r0, #0x18 + strb r0, [r1] + adds r4, #0xab + strb r0, [r4] + pop {r4, pc} + .align 2, 0 +_08051980: .4byte gUnk_02019EE0 +_08051984: .4byte 0x000004B4 + + thumb_func_start sub_08051988 +sub_08051988: @ 0x08051988 + push {lr} + ldr r1, _080519A4 @ =gUnk_030010A0 + ldr r0, [r1] + adds r0, #1 + str r0, [r1] + ldr r1, _080519A8 @ =gUnk_080FC9D8 + ldr r0, _080519AC @ =gUnk_03001000 + ldrb r0, [r0, #3] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_080519A4: .4byte gUnk_030010A0 +_080519A8: .4byte gUnk_080FC9D8 +_080519AC: .4byte gUnk_03001000 + + thumb_func_start sub_080519B0 +sub_080519B0: @ 0x080519B0 + push {r4, r5, lr} + ldr r0, _08051A04 @ =gUnk_03000FD0 + ldrb r5, [r0] + cmp r5, #0 + bne _08051A02 + movs r0, #1 + bl sub_0801DA90 + bl sub_080A3210 + bl sub_0801DA7C + bl sub_080A7124 + bl sub_0807059C + ldr r4, _08051A08 @ =gUnk_030010A0 + adds r0, r4, #0 + movs r1, #0xb0 + bl sub_0801D630 + bl sub_08049CD4 + bl sub_080300AC + bl sub_0807CA18 + ldr r0, _08051A0C @ =gUnk_02002AC8 + adds r1, r4, #0 + adds r1, #0xc + movs r2, #0x20 + bl sub_0801D66C + movs r0, #4 + strb r0, [r4, #9] + bl sub_08053518 + ldr r1, _08051A10 @ =gUnk_03001000 + movs r0, #1 + strb r0, [r1, #3] + strb r5, [r1, #4] +_08051A02: + pop {r4, r5, pc} + .align 2, 0 +_08051A04: .4byte gUnk_03000FD0 +_08051A08: .4byte gUnk_030010A0 +_08051A0C: .4byte gUnk_02002AC8 +_08051A10: .4byte gUnk_03001000 + + thumb_func_start sub_08051A14 +sub_08051A14: @ 0x08051A14 + push {lr} + movs r0, #1 + bl sub_0801DA90 + ldr r1, _08051A70 @ =gUnk_03000FD0 + movs r0, #1 + rsbs r0, r0, #0 + str r0, [r1, #4] + ldr r0, _08051A74 @ =gUnk_03000000 + ldr r1, _08051A78 @ =0x00000B74 + bl sub_0801D630 + ldr r0, _08051A7C @ =gUnk_02032EC0 + movs r1, #0xed + lsls r1, r1, #2 + bl sub_0801D630 + bl sub_0805E60C + bl sub_080197AC + bl sub_08080668 + bl sub_080ADD30 + movs r0, #1 + bl sub_0801CFA8 + bl sub_0806FD8C + ldr r2, _08051A80 @ =gUnk_03000BF0 + ldr r1, _08051A84 @ =gUnk_030010A0 + ldrb r0, [r1, #0xc] + strb r0, [r2, #4] + ldrb r0, [r1, #0xd] + strb r0, [r2, #5] + bl sub_08053320 + ldr r1, _08051A88 @ =gUnk_02024490 + movs r0, #1 + strb r0, [r1] + ldr r1, _08051A8C @ =gUnk_03001000 + movs r0, #2 + strb r0, [r1, #3] + pop {pc} + .align 2, 0 +_08051A70: .4byte gUnk_03000FD0 +_08051A74: .4byte gUnk_03000000 +_08051A78: .4byte 0x00000B74 +_08051A7C: .4byte gUnk_02032EC0 +_08051A80: .4byte gUnk_03000BF0 +_08051A84: .4byte gUnk_030010A0 +_08051A88: .4byte gUnk_02024490 +_08051A8C: .4byte gUnk_03001000 + + thumb_func_start sub_08051A90 +sub_08051A90: @ 0x08051A90 + push {lr} + ldr r1, _08051AA4 @ =gUnk_080FC9E8 + ldr r0, _08051AA8 @ =gUnk_03001000 + ldrb r0, [r0, #4] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08051AA4: .4byte gUnk_080FC9E8 +_08051AA8: .4byte gUnk_03001000 + + thumb_func_start sub_08051AAC +sub_08051AAC: @ 0x08051AAC + push {lr} + bl sub_0805E5A8 + ldr r1, _08051AE4 @ =gUnk_03000F50 + movs r2, #0 + movs r0, #0xba + lsls r0, r0, #5 + strh r0, [r1] + ldr r1, _08051AE8 @ =gUnk_03001000 + movs r0, #1 + strb r0, [r1, #4] + ldr r0, _08051AEC @ =gUnk_030010A0 + strb r2, [r0, #8] + strb r2, [r0, #4] + strb r2, [r0, #5] + bl sub_08056418 + bl sub_08052CFC + movs r0, #0 + bl sub_0801C370 + bl sub_08051D40 + bl sub_0801855C + pop {pc} + .align 2, 0 +_08051AE4: .4byte gUnk_03000F50 +_08051AE8: .4byte gUnk_03001000 +_08051AEC: .4byte gUnk_030010A0 + + thumb_func_start sub_08051AF0 +sub_08051AF0: @ 0x08051AF0 + push {r4, r5, lr} + bl sub_0805E5C0 + bl sub_0805BBBC + cmp r0, #0 + bne _08051B02 + bl sub_0807FC40 +_08051B02: + bl sub_0801B060 + bl sub_08000108 + bl sub_0801C344 + bl sub_0805E5F8 + bl sub_080AD90C + bl sub_0801C208 + bl sub_08078CB4 + bl sub_080AD9B0 + bl sub_080AD918 + ldr r0, _08051BB0 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08051BAE + ldr r0, _08051BB4 @ =gUnk_03000BF0 + ldrh r0, [r0] + cmp r0, #0 + bne _08051BAE + bl sub_08052F1C + ldr r5, _08051BB8 @ =gUnk_02033A90 + movs r0, #0x86 + lsls r0, r0, #4 + adds r3, r5, r0 + ldr r1, _08051BBC @ =0x00000864 + adds r0, r5, r1 + ldr r1, [r3] + ldr r2, [r0] + cmp r1, r2 + beq _08051B5A + str r2, [r3] + ldr r0, _08051BC0 @ =0x800B0000 + orrs r2, r0 + adds r0, r2, #0 + bl sub_080A3268 +_08051B5A: + bl sub_0805E9F4 + bl sub_0805BC04 + adds r4, r0, #0 + cmp r4, #0 + bne _08051BAE + bl sub_08052C5C + bl sub_0805E5B4 + bl sub_08051E04 + bl sub_080300C4 + ldr r1, _08051BC4 @ =gUnk_03001000 + movs r0, #2 + strb r0, [r1, #4] + movs r0, #0 + bl sub_08078A90 + ldr r0, _08051BC8 @ =gUnk_02034490 + strb r4, [r0] + adds r0, r5, #0 + adds r0, #0x28 + ldrb r0, [r0] + cmp r0, #0xff + beq _08051B96 + bl sub_0801855C +_08051B96: + bl sub_08052BF8 + bl sub_08053178 + ldr r0, _08051BCC @ =gUnk_02034350 + ldrb r0, [r0] + cmp r0, #0 + bne _08051BAE + movs r0, #0 + movs r1, #1 + bl sub_0805E4E0 +_08051BAE: + pop {r4, r5, pc} + .align 2, 0 +_08051BB0: .4byte gUnk_03000FD0 +_08051BB4: .4byte gUnk_03000BF0 +_08051BB8: .4byte gUnk_02033A90 +_08051BBC: .4byte 0x00000864 +_08051BC0: .4byte 0x800B0000 +_08051BC4: .4byte gUnk_03001000 +_08051BC8: .4byte gUnk_02034490 +_08051BCC: .4byte gUnk_02034350 + + thumb_func_start sub_08051BD0 +sub_08051BD0: @ 0x08051BD0 + push {lr} + bl sub_080705AC + cmp r0, #0 + bne _08051C9C + bl sub_0804AA84 + cmp r0, #0 + bne _08051C9C + bl sub_0805340C + ldr r0, _08051C5C @ =gUnk_03001000 + ldrb r0, [r0, #4] + cmp r0, #2 + bne _08051C9C + ldr r0, _08051C60 @ =gUnk_02000050 + ldrb r1, [r0] + movs r0, #0x7f + ands r0, r1 + cmp r0, #0 + bne _08051C02 + ldr r0, _08051C64 @ =gUnk_03003DC0 + ldrh r0, [r0, #8] + cmp r0, #0 + beq _08051C06 +_08051C02: + bl sub_08078B48 +_08051C06: + bl sub_080AD90C + bl sub_0805E5C0 + bl sub_08080A40 + bl sub_080175F4 + bl sub_0807FC40 + bl sub_0801B060 + bl sub_08000108 + bl sub_08052C3C + bl sub_0801C344 + bl sub_0805E5F8 + bl sub_0801C208 + bl sub_08078CB4 + bl sub_080AD9B0 + bl sub_0805291C + bl sub_08052C5C + bl sub_080528B4 + bl sub_080185F8 + bl sub_080AD918 + ldr r0, _08051C68 @ =gUnk_03000BF0 + ldrh r2, [r0] + cmp r2, #1 + beq _08051C6C + cmp r2, #2 + beq _08051C88 + b _08051C9C + .align 2, 0 +_08051C5C: .4byte gUnk_03001000 +_08051C60: .4byte gUnk_02000050 +_08051C64: .4byte gUnk_03003DC0 +_08051C68: .4byte gUnk_03000BF0 +_08051C6C: + ldr r0, _08051C80 @ =gUnk_03003F80 + movs r1, #0x17 + strb r1, [r0, #0xc] + ldr r0, _08051C84 @ =gUnk_03001000 + strb r2, [r0, #4] + bl sub_0805E59C + bl sub_08051D98 + b _08051C9C + .align 2, 0 +_08051C80: .4byte gUnk_03003F80 +_08051C84: .4byte gUnk_03001000 +_08051C88: + ldr r1, _08051CA0 @ =gUnk_03003F80 + movs r0, #0x17 + strb r0, [r1, #0xc] + ldr r1, _08051CA4 @ =gUnk_03001000 + movs r0, #1 + strb r0, [r1, #4] + bl sub_0805E59C + bl sub_08051DCC +_08051C9C: + pop {pc} + .align 2, 0 +_08051CA0: .4byte gUnk_03003F80 +_08051CA4: .4byte gUnk_03001000 + + thumb_func_start sub_08051CA8 +sub_08051CA8: @ 0x08051CA8 + push {lr} + bl sub_080705AC + cmp r0, #0 + bne _08051CEA + bl sub_0805E5C0 + bl sub_080175F4 + bl sub_0801C344 + bl sub_0805E5F8 + bl sub_080AD90C + bl sub_0801C208 + bl sub_08078CB4 + bl sub_080AD9B0 + bl sub_0805291C + bl sub_080528B4 + bl sub_080AD918 + ldr r0, _08051CEC @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _08051CEA + bl sub_0805E5B4 +_08051CEA: + pop {pc} + .align 2, 0 +_08051CEC: .4byte gUnk_03000FD0 + + thumb_func_start sub_08051CF0 +sub_08051CF0: @ 0x08051CF0 + push {r4, r5, r6, lr} + bl sub_080AD90C + bl sub_0801C208 + bl sub_080AD9B0 + ldr r5, _08051D20 @ =gUnk_03001000 + movs r6, #1 + strb r6, [r5, #0xb] + bl sub_080AD918 + ldr r0, _08051D24 @ =gUnk_03000FD0 + ldrb r4, [r0] + cmp r4, #0 + bne _08051D1E + movs r0, #1 + bl sub_0801DA90 + strb r6, [r5, #3] + strb r4, [r5, #4] + ldr r0, _08051D28 @ =gUnk_030010A0 + strb r6, [r0, #8] +_08051D1E: + pop {r4, r5, r6, pc} + .align 2, 0 +_08051D20: .4byte gUnk_03001000 +_08051D24: .4byte gUnk_03000FD0 +_08051D28: .4byte gUnk_030010A0 + + thumb_func_start sub_08051D2C +sub_08051D2C: @ 0x08051D2C + push {lr} + movs r0, #7 + movs r1, #8 + bl sub_08050054 + movs r0, #3 + bl sub_08056010 + pop {pc} + .align 2, 0 + + thumb_func_start sub_08051D40 +sub_08051D40: @ 0x08051D40 + push {lr} + bl sub_08052EA0 + bl sub_0804AF90 + bl sub_0804AFDC + bl InitializeLink + ldr r1, _08051D90 @ =gUnk_03004030 + movs r0, #0 + str r0, [r1] + bl sub_0807C740 + ldr r1, _08051D94 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + bl sub_0805283C + movs r0, #0 + movs r1, #0 + bl sub_0801D79C + bl LoadRoom + bl sub_080609AC + bl sub_0804AFF4 + bl sub_0805329C + bl sub_08000108 + movs r0, #1 + rsbs r0, r0, #0 + bl sub_0805BB74 + bl sub_080531F8 + pop {pc} + .align 2, 0 +_08051D90: .4byte gUnk_03004030 +_08051D94: .4byte gUnk_02000070 + + thumb_func_start sub_08051D98 +sub_08051D98: @ 0x08051D98 + push {lr} + bl sub_08052EA0 + ldr r1, _08051DC8 @ =gUnk_02034350 + movs r0, #1 + strb r0, [r1] + bl sub_0805E9A8 + bl sub_0804AF90 + bl sub_0804AFDC + bl sub_0807C0DC + bl sub_0805283C + bl LoadRoom + bl sub_0804AFF4 + movs r0, #1 + bl sub_08078A90 + pop {pc} + .align 2, 0 +_08051DC8: .4byte gUnk_02034350 + + thumb_func_start sub_08051DCC +sub_08051DCC: @ 0x08051DCC + push {r4, lr} + ldr r1, _08051DFC @ =gUnk_03000BF0 + ldr r4, _08051E00 @ =gUnk_030010A0 + ldrb r0, [r4, #0xc] + strb r0, [r1, #4] + ldrb r0, [r4, #0xd] + strb r0, [r1, #5] + bl sub_080528F0 + movs r0, #3 + strb r0, [r4, #9] + bl sub_08052CFC + bl sub_08052EA0 + bl sub_0805E9A8 + bl sub_0804AF90 + bl sub_0804AFDC + bl sub_0805283C + pop {r4, pc} + .align 2, 0 +_08051DFC: .4byte gUnk_03000BF0 +_08051E00: .4byte gUnk_030010A0 + + thumb_func_start sub_08051E04 +sub_08051E04: @ 0x08051E04 + push {lr} + bl sub_08052620 + cmp r0, #0 + beq _08051E60 + ldr r1, _08051E2C @ =gLinkEntity + movs r2, #0x2e + ldrsh r0, [r1, r2] + cmp r0, #0 + bge _08051E1A + adds r0, #0xf +_08051E1A: + asrs r2, r0, #4 + movs r3, #0x32 + ldrsh r0, [r1, r3] + cmp r0, #0 + bge _08051E26 + adds r0, #0xf +_08051E26: + asrs r1, r0, #4 + ldr r3, _08051E30 @ =gUnk_08127F94 + b _08051E36 + .align 2, 0 +_08051E2C: .4byte gLinkEntity +_08051E30: .4byte gUnk_08127F94 +_08051E34: + adds r3, #8 +_08051E36: + ldrb r0, [r3] + cmp r0, #0xff + beq _08051E60 + cmp r0, r2 + bhi _08051E34 + ldrb r0, [r3, #2] + cmp r0, r2 + blo _08051E34 + ldrb r0, [r3, #1] + cmp r0, r1 + bhi _08051E34 + ldrb r0, [r3, #3] + cmp r0, r1 + blo _08051E34 + ldr r2, _08051E64 @ =gUnk_02002A40 + movs r1, #1 + ldrb r3, [r3, #4] + lsls r1, r3 + ldr r0, [r2, #0x40] + orrs r0, r1 + str r0, [r2, #0x40] +_08051E60: + pop {pc} + .align 2, 0 +_08051E64: .4byte gUnk_02002A40 + + thumb_func_start sub_08051E68 +sub_08051E68: @ 0x08051E68 + push {lr} + ldr r1, _08051E7C @ =gUnk_080FCA08 + ldr r0, _08051E80 @ =gUnk_02000080 + ldrb r0, [r0, #5] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + pop {pc} + .align 2, 0 +_08051E7C: .4byte gUnk_080FCA08 +_08051E80: .4byte gUnk_02000080 + + thumb_func_start sub_08051E84 +sub_08051E84: @ 0x08051E84 + push {r4, r5, r6, lr} + ldr r0, _08051EF0 @ =gUnk_02032EC0 + ldrb r4, [r0, #3] + lsls r4, r4, #3 + ldr r0, _08051EF4 @ =gUnk_080FCA20 + adds r4, r4, r0 + ldr r5, _08051EF8 @ =gUnk_03000BF0 + ldrb r0, [r4] + strb r0, [r5, #4] + ldrb r0, [r4, #1] + strb r0, [r5, #5] + bl sub_08053320 + ldrb r0, [r5, #4] + bl sub_08052D58 + ldr r1, _08051EFC @ =gUnk_02033A90 + movs r6, #0 + strh r0, [r1, #4] + ldrb r0, [r4] + ldrb r1, [r4, #1] + bl sub_0804B0C0 + ldrb r0, [r4] + ldrb r1, [r4, #1] + bl sub_08052FD8 + ldrh r0, [r4, #4] + ldrh r1, [r5, #6] + adds r0, r0, r1 + strh r0, [r5, #0xa] + ldrh r0, [r4, #6] + ldrh r1, [r5, #8] + adds r0, r0, r1 + strh r0, [r5, #0xc] + ldr r1, _08051F00 @ =gUnk_02000080 + ldrb r0, [r4, #2] + strb r0, [r1] + ldrb r2, [r4, #3] + movs r0, #0xf + ands r0, r2 + strb r0, [r1, #3] + str r4, [r1, #0xc] + ldrb r0, [r1, #5] + adds r0, #1 + strb r0, [r1, #5] + strb r6, [r1, #6] + movs r0, #0x96 + lsls r0, r0, #1 + strh r0, [r1, #8] + bl sub_08051F04 + pop {r4, r5, r6, pc} + .align 2, 0 +_08051EF0: .4byte gUnk_02032EC0 +_08051EF4: .4byte gUnk_080FCA20 +_08051EF8: .4byte gUnk_03000BF0 +_08051EFC: .4byte gUnk_02033A90 +_08051F00: .4byte gUnk_02000080 + + thumb_func_start sub_08051F04 +sub_08051F04: @ 0x08051F04 + push {lr} + ldr r1, _08051F38 @ =gUnk_080FCA14 + ldr r0, _08051F3C @ =gUnk_02000080 + ldrb r0, [r0] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + bl sub_080AD90C + bl sub_0805E5C0 + bl sub_080AD9B0 + bl sub_080AD918 + bl sub_0807FC40 + bl sub_0801B060 + bl sub_0805E5F8 + bl sub_08000108 + pop {pc} + .align 2, 0 +_08051F38: .4byte gUnk_080FCA14 +_08051F3C: .4byte gUnk_02000080 + + thumb_func_start sub_08051F40 +sub_08051F40: @ 0x08051F40 + push {lr} + ldr r0, _08051F60 @ =gUnk_080FCA20 + ldr r2, _08051F64 @ =gUnk_02032EC0 + ldrb r1, [r2, #3] + lsls r1, r1, #3 + adds r1, r1, r0 + ldrb r1, [r1, #3] + movs r0, #0xf0 + ands r0, r1 + cmp r0, #0 + beq _08051F68 + lsrs r1, r1, #4 + movs r0, #2 + bl sub_080A7138 + b _08051F76 + .align 2, 0 +_08051F60: .4byte gUnk_080FCA20 +_08051F64: .4byte gUnk_02032EC0 +_08051F68: + movs r0, #3 + strb r0, [r2] + movs r0, #0x10 + bl sub_080500F4 + bl sub_08056418 +_08051F76: + pop {pc} + + thumb_func_start sub_08051F78 +sub_08051F78: @ 0x08051F78 + push {lr} + ldr r0, _08051F94 @ =gUnk_02032EC0 + ldrb r3, [r0, #3] + lsls r3, r3, #3 + ldr r0, _08051F98 @ =gUnk_080FCA20 + adds r3, r3, r0 + ldrb r0, [r3] + ldrb r1, [r3, #1] + ldrh r2, [r3, #4] + ldrh r3, [r3, #6] + bl sub_08051F9C + pop {pc} + .align 2, 0 +_08051F94: .4byte gUnk_02032EC0 +_08051F98: .4byte gUnk_080FCA20 + + thumb_func_start sub_08051F9C +sub_08051F9C: @ 0x08051F9C + push {r4, r5, r6, lr} + mov r6, r8 + push {r6} + adds r6, r2, #0 + mov r8, r3 + ldr r5, _08051FE0 @ =gUnk_03000F50 + ldrh r2, [r5] + movs r4, #0xc0 + lsls r4, r4, #7 + ands r4, r2 + bl sub_08052FF4 + ldr r1, _08051FE4 @ =gUnk_03000BF0 + ldrh r0, [r1, #6] + adds r0, r0, r6 + movs r6, #0 + strh r0, [r1, #0xa] + ldrh r0, [r1, #8] + add r0, r8 + strh r0, [r1, #0xc] + bl sub_0807C740 + ldr r1, _08051FE8 @ =gUnk_02000070 + movs r0, #1 + strb r0, [r1] + ldr r0, _08051FEC @ =gUnk_0200B644 + str r6, [r0] + ldrh r0, [r5] + orrs r4, r0 + strh r4, [r5] + pop {r3} + mov r8, r3 + pop {r4, r5, r6, pc} + .align 2, 0 +_08051FE0: .4byte gUnk_03000F50 +_08051FE4: .4byte gUnk_03000BF0 +_08051FE8: .4byte gUnk_02000070 +_08051FEC: .4byte gUnk_0200B644 + + thumb_func_start sub_08051FF0 +sub_08051FF0: @ 0x08051FF0 + push {lr} + ldr r0, _08052000 @ =gUnk_02000080 + ldr r1, [r0, #0xc] + ldrb r0, [r1] + ldrb r1, [r1, #1] + bl sub_0804B0B0 + pop {pc} + .align 2, 0 +_08052000: .4byte gUnk_02000080 + + thumb_func_start sub_08052004 +sub_08052004: @ 0x08052004 + ldr r1, _0805200C @ =gUnk_02000080 + movs r0, #2 + strb r0, [r1, #5] + bx lr + .align 2, 0 +_0805200C: .4byte gUnk_02000080 + + thumb_func_start sub_08052010 +sub_08052010: @ 0x08052010 + push {r4, lr} + bl sub_080A3210 + bl sub_08056418 + movs r0, #1 + bl sub_0801DA90 + ldr r0, _0805207C @ =gUnk_02021F30 + movs r4, #0x80 + lsls r4, r4, #4 + adds r1, r4, #0 + bl sub_0801D630 + ldr r0, _08052080 @ =gUnk_020344B0 + adds r1, r4, #0 + bl sub_0801D630 + bl sub_080A4D34 + movs r0, #0xa + bl sub_0801D714 + movs r0, #0 + movs r1, #0 + bl sub_0801D79C + movs r0, #4 + bl sub_0801D7EC + movs r0, #0xc0 + lsls r0, r0, #0x13 + movs r1, #0x20 + bl sub_0801D630 + ldr r0, _08052084 @ =gUnk_02000080 + movs r1, #0x30 + bl sub_0801D630 + ldr r1, _08052088 @ =gUnk_03000F50 + ldrh r2, [r1] + movs r3, #0x80 + lsls r3, r3, #5 + adds r0, r3, #0 + orrs r0, r2 + strh r0, [r1] + ldr r0, _0805208C @ =0x00001C01 + strh r0, [r1, #0x14] + ldr r0, _08052090 @ =0x00001D05 + strh r0, [r1, #0x20] + movs r0, #1 + strh r0, [r1, #0x1a] + strh r0, [r1, #0x26] + pop {r4, pc} + .align 2, 0 +_0805207C: .4byte gUnk_02021F30 +_08052080: .4byte gUnk_020344B0 +_08052084: .4byte gUnk_02000080 +_08052088: .4byte gUnk_03000F50 +_0805208C: .4byte 0x00001C01 +_08052090: .4byte 0x00001D05 + + thumb_func_start sub_08052094 +sub_08052094: @ 0x08052094 + push {r4, lr} + ldr r1, _080520BC @ =gUnk_080FCA70 + ldr r4, _080520C0 @ =gUnk_03001000 + ldrb r0, [r4, #3] + lsls r0, r0, #2 + adds r0, r0, r1 + ldr r0, [r0] + bl _call_via_r0 + ldrb r0, [r4, #3] + cmp r0, #0 + beq _080520B8 + bl sub_080AD90C + bl sub_080523D4 + bl sub_080AD918 +_080520B8: + pop {r4, pc} + .align 2, 0 +_080520BC: .4byte gUnk_080FCA70 +_080520C0: .4byte gUnk_03001000 + + thumb_func_start sub_080520C4 +sub_080520C4: @ 0x080520C4 + push {lr} + ldr r1, _080520D4 @ =gUnk_03001000 + strb r0, [r1, #3] + movs r0, #0 + bl sub_080A7114 + pop {pc} + .align 2, 0 +_080520D4: .4byte gUnk_03001000 + + thumb_func_start sub_080520D8 +sub_080520D8: @ 0x080520D8 + push {r4, lr} + ldr r4, _08052118 @ =gUnk_03000FD0 + ldrb r0, [r4] + cmp r0, #0 + bne _08052114 + bl sub_08052010 + ldr r1, _0805211C @ =gUnk_02000080 + movs r0, #0x50 + strb r0, [r1, #0x10] + movs r2, #0x3c + movs r0, #0x3c + strh r0, [r1, #8] + ldr r0, _08052120 @ =gUnk_02002A40 + adds r0, #0xaa + movs r1, #0x18 + strb r1, [r0] + ldr r0, _08052124 @ =gUnk_03001000 + strb r2, [r0, #5] + movs r0, #0xa + bl sub_080A3268 + movs r0, #4 + bl sub_080500F4 + ldr r0, _08052128 @ =0xFFFF0001 + str r0, [r4, #4] + movs r0, #1 + bl sub_080520C4 +_08052114: + pop {r4, pc} + .align 2, 0 +_08052118: .4byte gUnk_03000FD0 +_0805211C: .4byte gUnk_02000080 +_08052120: .4byte gUnk_02002A40 +_08052124: .4byte gUnk_03001000 +_08052128: .4byte 0xFFFF0001 + + thumb_func_start sub_0805212C +sub_0805212C: @ 0x0805212C + push {r4, lr} + ldr r4, _0805214C @ =gUnk_03000FD0 + ldrb r0, [r4] + cmp r0, #0 + bne _0805219C + ldr r1, _08052150 @ =gUnk_03001000 + ldrb r0, [r1, #5] + cmp r0, #0 + bne _08052198 + ldr r1, _08052154 @ =gUnk_02000080 + ldrb r0, [r1, #0x10] + cmp r0, #0x25 + bls _08052158 + subs r0, #1 + strb r0, [r1, #0x10] + b _0805219C + .align 2, 0 +_0805214C: .4byte gUnk_03000FD0 +_08052150: .4byte gUnk_03001000 +_08052154: .4byte gUnk_02000080 +_08052158: + ldrh r0, [r1, #8] + subs r0, #1 + strh r0, [r1, #8] + lsls r0, r0, #0x10 + cmp r0, #0 + bne _0805219C + movs r0, #2 + bl sub_080520C4 + movs r0, #0 + movs r1, #0 + bl sub_08052418 + ldr r2, _08052190 @ =gUnk_03000F50 + ldrh r0, [r2] + movs r3, #0xc0 + lsls r3, r3, #3 + adds r1, r3, #0 + orrs r0, r1 + strh r0, [r2] + ldr r0, _08052194 @ =0x0000FFFF + str r0, [r4, #4] + movs r0, #4 + movs r1, #0x10 + bl sub_08050054 + b _0805219C + .align 2, 0 +_08052190: .4byte gUnk_03000F50 +_08052194: .4byte 0x0000FFFF +_08052198: + subs r0, #1 + strb r0, [r1, #5] +_0805219C: + pop {r4, pc} + .align 2, 0 + + thumb_func_start sub_080521A0 +sub_080521A0: @ 0x080521A0 + push {r4, lr} + ldr r0, _080521C4 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + beq _080521AC + b _080522E8 +_080521AC: + ldr r0, _080521C8 @ =gUnk_02000080 + ldrb r1, [r0, #5] + adds r2, r0, #0 + cmp r1, #4 + bls _080521B8 + b _080522D4 +_080521B8: + lsls r0, r1, #2 + ldr r1, _080521CC @ =_080521D0 + adds r0, r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080521C4: .4byte gUnk_03000FD0 +_080521C8: .4byte gUnk_02000080 +_080521CC: .4byte _080521D0 +_080521D0: @ jump table + .4byte _080521E4 @ case 0 + .4byte _08052208 @ case 1 + .4byte _08052278 @ case 2 + .4byte _080522B0 @ case 3 + .4byte _080522D4 @ case 4 +_080521E4: + movs r1, #0 + movs r0, #0x1e + strh r0, [r2, #8] + strb r1, [r2, #3] + movs r0, #1 + bl sub_080A7114 + movs r0, #0 + movs r1, #0 + bl sub_08052418 + ldr r1, _08052204 @ =gUnk_03000FD0 + movs r0, #1 + rsbs r0, r0, #0 + str r0, [r1, #4] + b _080522E8 + .align 2, 0 +_08052204: .4byte gUnk_03000FD0 +_08052208: + ldrh r0, [r2, #8] + cmp r0, #0 + bne _080522B6 + ldrb r4, [r2, #3] + ldr r0, _08052224 @ =gUnk_03000FF0 + ldrh r0, [r0, #2] + cmp r0, #0x40 + beq _0805222E + cmp r0, #0x40 + bgt _08052228 + cmp r0, #1 + beq _08052236 + b _0805225A + .align 2, 0 +_08052224: .4byte gUnk_03000FF0 +_08052228: + cmp r0, #0x80 + beq _08052232 + b _0805225A +_0805222E: + movs r4, #0 + b _0805225A +_08052232: + movs r4, #1 + b _0805225A +_08052236: + cmp r4, #0 + beq _0805223E + movs r2, #4 + b _08052248 +_0805223E: + movs r0, #8 + movs r1, #0 + bl sub_08050318 + movs r2, #2 +_08052248: + ldr r1, _08052274 @ =gUnk_02000080 + movs r0, #0x3c + strh r0, [r1, #8] + adds r0, r2, #0 + bl sub_080A7114 + movs r0, #0x6a + bl sub_080A3268 +_0805225A: + ldr r1, _08052274 @ =gUnk_02000080 + ldrb r0, [r1, #3] + cmp r0, r4 + beq _080522E8 + strb r4, [r1, #3] + movs r0, #0 + adds r1, r4, #0 + bl sub_08052418 + movs r0, #0x69 + bl sub_080A3268 + b _080522E8 + .align 2, 0 +_08052274: .4byte gUnk_02000080 +_08052278: + movs r0, #0 + bl sub_0807CDA4 + adds r1, r0, #0 + ldr r2, _08052298 @ =gUnk_02000080 + strb r1, [r2] + movs r0, #1 + rsbs r0, r0, #0 + cmp r1, r0 + beq _0805229C + cmp r1, #1 + bne _080522E8 + movs r0, #4 + bl sub_080A7114 + b _080522E8 + .align 2, 0 +_08052298: .4byte gUnk_02000080 +_0805229C: + movs r0, #0x3c + strh r0, [r2, #8] + movs r0, #9 + movs r1, #0 + bl sub_08050318 + movs r0, #3 + bl sub_080A7114 + b _080522E8 +_080522B0: + ldrh r0, [r2, #8] + cmp r0, #0 + beq _080522BC +_080522B6: + subs r0, #1 + strh r0, [r2, #8] + b _080522E8 +_080522BC: + ldr r0, _080522D0 @ =gUnk_03000FF0 + ldrh r1, [r0, #2] + movs r0, #0xb + ands r0, r1 + cmp r0, #0 + beq _080522E8 + movs r0, #0 + bl sub_080A7114 + b _080522E8 + .align 2, 0 +_080522D0: .4byte gUnk_03000FF0 +_080522D4: + ldr r2, _080522EC @ =gUnk_03000F50 + ldrh r1, [r2] + ldr r0, _080522F0 @ =0x0000FDFF + ands r0, r1 + strh r0, [r2] + bl sub_08050384 + movs r0, #3 + bl sub_080520C4 +_080522E8: + pop {r4, pc} + .align 2, 0 +_080522EC: .4byte gUnk_03000F50 +_080522F0: .4byte 0x0000FDFF + + thumb_func_start sub_080522F4 +sub_080522F4: @ 0x080522F4 + push {r4, lr} + ldr r0, _08052320 @ =gUnk_02000080 + ldrb r1, [r0, #5] + adds r3, r0, #0 + cmp r1, #1 + beq _08052324 + cmp r1, #1 + bgt _080523AC + cmp r1, #0 + bne _080523AC + movs r1, #0 + movs r0, #0x1e + strh r0, [r3, #8] + strb r1, [r3, #3] + movs r0, #1 + bl sub_080A7114 + movs r0, #1 + movs r1, #0 + bl sub_08052418 + b _080523CC + .align 2, 0 +_08052320: .4byte gUnk_02000080 +_08052324: + ldr r2, _08052340 @ =gUnk_03000F50 + ldrh r1, [r2] + movs r4, #0x80 + lsls r4, r4, #2 + adds r0, r4, #0 + orrs r0, r1 + strh r0, [r2] + ldrh r0, [r3, #8] + cmp r0, #0 + beq _08052344 + subs r0, #1 + strh r0, [r3, #8] + b _080523CC + .align 2, 0 +_08052340: .4byte gUnk_03000F50 +_08052344: + ldrb r4, [r3, #3] + ldr r0, _08052358 @ =gUnk_03000FF0 + ldrh r0, [r0, #2] + cmp r0, #0x40 + beq _08052362 + cmp r0, #0x40 + bgt _0805235C + cmp r0, #1 + beq _0805236A + b _0805238C + .align 2, 0 +_08052358: .4byte gUnk_03000FF0 +_0805235C: + cmp r0, #0x80 + beq _08052366 + b _0805238C +_08052362: + movs r4, #0 + b _0805238C +_08052366: + movs r4, #1 + b _0805238C +_0805236A: + movs r0, #2 + bl sub_080A7114 + movs r0, #0x6a + bl sub_080A3268 + cmp r4, #0 + bne _08052384 + movs r0, #5 + movs r1, #8 + bl sub_08050054 + b _0805238C +_08052384: + movs r0, #7 + movs r1, #8 + bl sub_08050054 +_0805238C: + ldr r1, _080523A8 @ =gUnk_02000080 + ldrb r0, [r1, #3] + cmp r0, r4 + beq _080523CC + strb r4, [r1, #3] + movs r0, #1 + adds r1, r4, #0 + bl sub_08052418 + movs r0, #0x69 + bl sub_080A3268 + b _080523CC + .align 2, 0 +_080523A8: .4byte gUnk_02000080 +_080523AC: + ldr r0, _080523C4 @ =gUnk_03000FD0 + ldrb r0, [r0] + cmp r0, #0 + bne _080523CC + ldrb r0, [r3, #3] + cmp r0, #0 + bne _080523C8 + movs r0, #2 + bl sub_08056010 + b _080523CC + .align 2, 0 +_080523C4: .4byte gUnk_03000FD0 +_080523C8: + bl sub_080560A8 +_080523CC: + pop {r4, pc} + .align 2, 0 + + thumb_func_start nullsub_107 +nullsub_107: @ 0x080523D0 + bx lr + .align 2, 0 + + thumb_func_start sub_080523D4 +sub_080523D4: @ 0x080523D4 + push {r4, r5, r6, lr} + ldr r1, _08052408 @ =gUnk_03001010 + movs r0, #0 + strh r0, [r1, #4] + strh r0, [r1, #6] + movs r0, #0x86 + lsls r0, r0, #8 + strh r0, [r1, #8] + ldr r0, _0805240C @ =gUnk_02000080 + ldrb r0, [r0, #0x10] + strh r0, [r1, #2] + movs r4, #0 + adds r6, r1, #0 + ldr r5, _08052410 @ =gUnk_080FCA84 +_080523F0: + adds r0, r4, r5 + ldrb r0, [r0] + strh r0, [r6] + ldr r0, _08052414 @ =0x000001FD + adds r1, r4, #0 + bl sub_080ADA14 + adds r4, #1 + cmp r4, #7 + bls _080523F0 + pop {r4, r5, r6, pc} + .align 2, 0 +_08052408: .4byte gUnk_03001010 +_0805240C: .4byte gUnk_02000080 +_08052410: .4byte gUnk_080FCA84 +_08052414: .4byte 0x000001FD + + thumb_func_start sub_08052418 +sub_08052418: @ 0x08052418 + push {r4, r5, r6, lr} + sub sp, #0x18 + adds r6, r0, #0 + adds r4, r1, #0 + ldr r0, _08052494 @ =gUnk_02021F30 + movs r1, #0x80 + lsls r1, r1, #4 + bl sub_0801D630 + ldr r0, _08052498 @ =gUnk_020227E8 + movs r1, #0xf + str r1, [r0] + str r1, [r0, #8] + str r1, [r0, #0x10] + str r1, [r0, #0x18] + lsls r4, r4, #3 + adds r0, #1 + adds r4, r4, r0 + movs r5, #1 + strb r5, [r4] + ldr r4, _0805249C @ =gUnk_080FCA8C + adds r0, r4, #0 + mov r1, sp + movs r2, #0x18 + bl sub_0801D66C + lsls r2, r6, #1 + adds r2, r2, r6 + lsls r2, r2, #2 + ldr r0, _080524A0 @ =gUnk_080FCAA4 + adds r2, r2, r0 + movs r0, #0x80 + lsls r0, r0, #0x12 + ldrb r1, [r0, #7] + adds r1, r2, r1 + ldrb r0, [r2, #8] + lsls r0, r0, #5 + ldrb r1, [r1] + adds r0, r0, r1 + lsls r0, r0, #1 + ldr r1, [r4] + adds r1, r1, r0 + str r1, [sp] + mov r4, sp + ldrb r0, [r2, #9] + adds r1, r5, #0 + ands r1, r0 + ldrb r3, [r4, #0x13] + movs r0, #2 + rsbs r0, r0, #0 + ands r0, r3 + orrs r0, r1 + strb r0, [r4, #0x13] + ldrh r0, [r2, #0xa] + mov r1, sp + bl sub_0805F46C + ldr r0, _080524A4 @ =gUnk_03000F50 + strh r5, [r0, #0x1a] + add sp, #0x18 + pop {r4, r5, r6, pc} + .align 2, 0 +_08052494: .4byte gUnk_02021F30 +_08052498: .4byte gUnk_020227E8 +_0805249C: .4byte gUnk_080FCA8C +_080524A0: .4byte gUnk_080FCAA4 +_080524A4: .4byte gUnk_03000F50
\ No newline at end of file |
