diff options
author | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-16 23:54:22 -0800 |
---|---|---|
committer | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-16 23:54:22 -0800 |
commit | 670fef77ac4d9116d5fdc28c0da40622919a062b (patch) | |
tree | 61c0e925f059404473826ac775305ba5e2706ab1 /asm/battle_ai_script_commands.s |
first commit
Diffstat (limited to 'asm/battle_ai_script_commands.s')
-rw-r--r-- | asm/battle_ai_script_commands.s | 5796 |
1 files changed, 5796 insertions, 0 deletions
diff --git a/asm/battle_ai_script_commands.s b/asm/battle_ai_script_commands.s new file mode 100644 index 000000000..8f9605a12 --- /dev/null +++ b/asm/battle_ai_script_commands.s @@ -0,0 +1,5796 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_80C6D0C +sub_80C6D0C: @ 80C6D0C + push {r4-r7,lr} + ldr r1, _080C6D8C @ =gUnknown_2023FF4 + ldr r0, [r1] + ldr r3, [r0, 0x18] + movs r4, 0 + adds r7, r1, 0 + ldr r2, _080C6D90 @ =gUnknown_2022B4C + movs r1, 0 +_080C6D1C: + adds r0, r3, r4 + strb r1, [r0] + adds r4, 0x1 + cmp r4, 0x2F + bls _080C6D1C + ldr r3, [r2] + movs r0, 0x8 + ands r0, r3 + cmp r0, 0 + beq _080C6D80 + ldr r0, _080C6D94 @ =gUnknown_20386AE + ldrh r2, [r0] + movs r1, 0x80 + lsls r1, 3 + adds r6, r0, 0 + cmp r2, r1 + beq _080C6D80 + ldr r0, _080C6D98 @ =0x00080982 + ands r3, r0 + cmp r3, 0 + bne _080C6D80 + movs r4, 0 + ldr r5, _080C6D9C @ =gUnknown_823EAD8 +_080C6D4A: + lsls r2, r4, 1 + ldrh r1, [r6] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, r0 + adds r2, r5 + ldrh r3, [r2] + cmp r3, 0 + beq _080C6D7A + ldr r2, [r7] + ldr r1, [r2, 0x18] + adds r0, r1, 0 + adds r0, 0x2C + ldrb r0, [r0] + lsls r0, 1 + adds r1, 0x24 + adds r1, r0 + strh r3, [r1] + ldr r1, [r2, 0x18] + adds r1, 0x2C + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] +_080C6D7A: + adds r4, 0x1 + cmp r4, 0x3 + ble _080C6D4A +_080C6D80: + bl sub_80C6DA0 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080C6D8C: .4byte gUnknown_2023FF4 +_080C6D90: .4byte gUnknown_2022B4C +_080C6D94: .4byte gUnknown_20386AE +_080C6D98: .4byte 0x00080982 +_080C6D9C: .4byte gUnknown_823EAD8 + thumb_func_end sub_80C6D0C + + thumb_func_start sub_80C6DA0 +sub_80C6DA0: @ 80C6DA0 + push {r4-r7,lr} + ldr r0, _080C6E60 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r1, [r0, 0x14] + movs r4, 0 + ldr r3, _080C6E64 @ =gUnknown_2023BC4 + movs r2, 0 +_080C6DAE: + adds r0, r1, r4 + strb r2, [r0] + adds r4, 0x1 + cmp r4, 0x1B + bls _080C6DAE + movs r4, 0 + ldr r2, _080C6E60 @ =gUnknown_2023FF4 + movs r1, 0x64 +_080C6DBE: + ldr r0, [r2] + ldr r0, [r0, 0x14] + adds r0, 0x4 + adds r0, r4 + strb r1, [r0] + adds r4, 0x1 + cmp r4, 0x3 + ble _080C6DBE + ldrb r0, [r3] + movs r1, 0 + movs r2, 0xFF + bl sub_801779C + lsls r0, 24 + lsrs r6, r0, 24 + movs r4, 0 + ldr r5, _080C6E60 @ =gUnknown_2023FF4 +_080C6DE0: + ldr r7, _080C6E68 @ =gUnknown_825E45C + lsls r0, r4, 2 + adds r0, r7 + ldr r0, [r0] + ands r0, r6 + cmp r0, 0 + beq _080C6DFA + ldr r0, [r5] + ldr r0, [r0, 0x14] + adds r0, 0x4 + adds r0, r4 + movs r1, 0 + strb r1, [r0] +_080C6DFA: + bl sub_8044EC8 + ldr r1, [r5] + ldr r2, [r1, 0x14] + adds r2, 0x18 + adds r2, r4 + lsls r0, 16 + lsrs r0, 16 + movs r1, 0xF + ands r0, r1 + movs r1, 0x64 + subs r1, r0 + strb r1, [r2] + adds r4, 0x1 + cmp r4, 0x3 + ble _080C6DE0 + ldr r0, _080C6E60 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x1C] + adds r0, 0x20 + movs r1, 0 + strb r1, [r0] + ldr r1, _080C6E6C @ =gUnknown_2023D6B + ldr r0, _080C6E64 @ =gUnknown_2023BC4 + ldrb r2, [r0] + strb r2, [r1] + ldr r0, _080C6E70 @ =gUnknown_2022B4C + ldr r0, [r0] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080C6E7C + ldr r4, _080C6E74 @ =gUnknown_2023D6C + bl sub_8044EC8 + movs r3, 0x2 + ands r0, r3 + strb r0, [r4] + ldr r0, _080C6E78 @ =gUnknown_2023D70 + ldrb r1, [r0] + ldrb r2, [r4] + lsls r0, r2, 2 + adds r0, r7 + ldr r0, [r0] + ands r1, r0 + cmp r1, 0 + beq _080C6E84 + eors r2, r3 + strb r2, [r4] + b _080C6E84 + .align 2, 0 +_080C6E60: .4byte gUnknown_2023FF4 +_080C6E64: .4byte gUnknown_2023BC4 +_080C6E68: .4byte gUnknown_825E45C +_080C6E6C: .4byte gUnknown_2023D6B +_080C6E70: .4byte gUnknown_2022B4C +_080C6E74: .4byte gUnknown_2023D6C +_080C6E78: .4byte gUnknown_2023D70 +_080C6E7C: + ldr r0, _080C6EA0 @ =gUnknown_2023D6C + movs r1, 0x1 + eors r1, r2 + strb r1, [r0] +_080C6E84: + ldr r0, _080C6EA4 @ =gUnknown_2022B4C + ldr r1, [r0] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _080C6EAC + ldr r0, _080C6EA8 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r1, [r0, 0x14] + movs r0, 0x80 + lsls r0, 23 + str r0, [r1, 0xC] + b _080C6F34 + .align 2, 0 +_080C6EA0: .4byte gUnknown_2023D6C +_080C6EA4: .4byte gUnknown_2022B4C +_080C6EA8: .4byte gUnknown_2023FF4 +_080C6EAC: + movs r2, 0x80 + lsls r2, 3 + adds r0, r1, 0 + ands r0, r2 + cmp r0, 0 + beq _080C6ECC + ldr r0, _080C6EC8 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r1, [r0, 0x14] + movs r0, 0x80 + lsls r0, 22 + str r0, [r1, 0xC] + b _080C6F34 + .align 2, 0 +_080C6EC8: .4byte gUnknown_2023FF4 +_080C6ECC: + ldr r0, _080C6EF4 @ =0x00080900 + ands r0, r1 + cmp r0, 0 + bne _080C6F0A + ldr r4, _080C6EF8 @ =gUnknown_20386AE + ldrh r0, [r4] + cmp r0, r2 + beq _080C6F0A + movs r0, 0x80 + lsls r0, 10 + ands r0, r1 + cmp r0, 0 + beq _080C6F00 + ldr r0, _080C6EFC @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r1, [r0, 0x14] + movs r0, 0x1 + str r0, [r1, 0xC] + b _080C6F34 + .align 2, 0 +_080C6EF4: .4byte 0x00080900 +_080C6EF8: .4byte gUnknown_20386AE +_080C6EFC: .4byte gUnknown_2023FF4 +_080C6F00: + movs r0, 0x80 + lsls r0, 11 + ands r1, r0 + cmp r1, 0 + beq _080C6F1C +_080C6F0A: + ldr r0, _080C6F18 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r1, [r0, 0x14] + movs r0, 0x7 + str r0, [r1, 0xC] + b _080C6F34 + .align 2, 0 +_080C6F18: .4byte gUnknown_2023FF4 +_080C6F1C: + ldr r0, _080C6F3C @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r3, [r0, 0x14] + ldr r2, _080C6F40 @ =gUnknown_823EAC8 + ldrh r1, [r4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r2, 0x1C + adds r0, r2 + ldr r0, [r0] + str r0, [r3, 0xC] +_080C6F34: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080C6F3C: .4byte gUnknown_2023FF4 +_080C6F40: .4byte gUnknown_823EAC8 + thumb_func_end sub_80C6DA0 + + thumb_func_start sub_80C6F44 +sub_80C6F44: @ 80C6F44 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x8 + bl sub_80C7164 + ldr r1, _080C6FA8 @ =gUnknown_2023FF4 + ldr r0, [r1] + ldr r0, [r0, 0x14] + ldr r0, [r0, 0xC] + cmp r0, 0 + beq _080C6F94 + adds r4, r1, 0 + movs r5, 0 +_080C6F60: + ldr r0, [r4] + ldr r2, [r0, 0x14] + ldr r0, [r2, 0xC] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080C6F74 + strb r5, [r2] + bl sub_80C7038 +_080C6F74: + ldr r0, [r4] + ldr r1, [r0, 0x14] + ldr r0, [r1, 0xC] + lsrs r0, 1 + str r0, [r1, 0xC] + ldrb r0, [r1, 0x11] + adds r0, 0x1 + strb r0, [r1, 0x11] + ldr r0, [r4] + ldr r0, [r0, 0x14] + strb r5, [r0, 0x1] + ldr r0, [r4] + ldr r0, [r0, 0x14] + ldr r0, [r0, 0xC] + cmp r0, 0 + bne _080C6F60 +_080C6F94: + ldr r6, _080C6FA8 @ =gUnknown_2023FF4 + ldr r0, [r6] + ldr r3, [r0, 0x14] + ldrb r1, [r3, 0x10] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _080C6FAC + movs r0, 0x4 + b _080C702A + .align 2, 0 +_080C6FA8: .4byte gUnknown_2023FF4 +_080C6FAC: + movs r0, 0x4 + ands r0, r1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0 + beq _080C6FBC + movs r0, 0x5 + b _080C702A +_080C6FBC: + movs r5, 0x1 + mov r0, sp + ldrb r1, [r3, 0x4] + strb r1, [r0] + add r0, sp, 0x4 + strb r2, [r0] + movs r3, 0x1 + mov r8, r0 + mov r4, sp + adds r7, r6, 0 + mov r6, r8 +_080C6FD2: + ldrb r1, [r4] + ldr r0, [r7] + ldr r0, [r0, 0x14] + adds r0, 0x4 + adds r2, r0, r3 + movs r0, 0 + ldrsb r0, [r2, r0] + cmp r1, r0 + bge _080C6FEC + movs r5, 0x1 + ldrb r0, [r2] + strb r0, [r4] + strb r3, [r6] +_080C6FEC: + ldrb r1, [r4] + ldr r0, [r7] + ldr r0, [r0, 0x14] + adds r0, 0x4 + adds r2, r0, r3 + movs r0, 0 + ldrsb r0, [r2, r0] + cmp r1, r0 + bne _080C7012 + mov r0, sp + adds r1, r0, r5 + ldrb r0, [r2] + strb r0, [r1] + adds r1, r5, 0 + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + adds r1, r6, r1 + strb r3, [r1] +_080C7012: + adds r3, 0x1 + cmp r3, 0x3 + ble _080C6FD2 + bl sub_8044EC8 + lsls r0, 16 + lsrs r0, 16 + adds r1, r5, 0 + bl __modsi3 + add r0, r8 + ldrb r0, [r0] +_080C702A: + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80C6F44 + + thumb_func_start sub_80C7038 +sub_80C7038: @ 80C7038 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + ldr r7, _080C70B0 @ =gUnknown_2023FF4 + ldr r0, [r7] + ldr r0, [r0, 0x14] + ldrb r0, [r0] + adds r6, r7, 0 + cmp r0, 0x2 + bne _080C7050 + b _080C7156 +_080C7050: + mov r9, r7 + ldr r0, _080C70B4 @ =gUnknown_2039A00 + mov r8, r0 +_080C7056: + mov r1, r9 + ldr r0, [r1] + ldr r2, [r0, 0x14] + ldrb r0, [r2] + cmp r0, 0x1 + beq _080C70C4 + cmp r0, 0x1 + bgt _080C714A + cmp r0, 0 + bne _080C714A + ldr r1, _080C70B8 @ =gUnknown_81D9BF4 + ldrb r0, [r2, 0x11] + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + mov r1, r8 + str r0, [r1] + ldr r5, _080C70BC @ =gUnknown_2023BE4 + ldrb r4, [r2, 0x1] + ldr r0, _080C70C0 @ =gUnknown_2023D6B + ldrb r1, [r0] + movs r0, 0x58 + adds r3, r1, 0 + muls r3, r0 + adds r0, r4, r3 + adds r1, r5, 0 + adds r1, 0x24 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _080C70A0 + lsls r0, r4, 1 + adds r0, r3 + adds r1, r5, 0 + adds r1, 0xC + adds r0, r1 + ldrh r0, [r0] +_080C70A0: + strh r0, [r2, 0x2] + ldr r0, [r6] + ldr r1, [r0, 0x14] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _080C714A + .align 2, 0 +_080C70B0: .4byte gUnknown_2023FF4 +_080C70B4: .4byte gUnknown_2039A00 +_080C70B8: .4byte gUnknown_81D9BF4 +_080C70BC: .4byte gUnknown_2023BE4 +_080C70C0: .4byte gUnknown_2023D6B +_080C70C4: + ldrh r1, [r2, 0x2] + cmp r1, 0 + beq _080C70E4 + ldr r1, _080C70E0 @ =gUnknown_83F55A4 + mov r2, r8 + ldr r0, [r2] + ldrb r0, [r0] + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + bl _call_via_r0 + b _080C70FA + .align 2, 0 +_080C70E0: .4byte gUnknown_83F55A4 +_080C70E4: + adds r0, r2, 0x4 + ldrb r2, [r2, 0x1] + adds r0, r2 + strb r1, [r0] + mov r1, r9 + ldr r0, [r1] + ldr r2, [r0, 0x14] + ldrb r1, [r2, 0x10] + movs r0, 0x1 + orrs r0, r1 + strb r0, [r2, 0x10] +_080C70FA: + ldr r2, _080C7130 @ =gUnknown_2023FF4 + ldr r0, [r2] + ldr r3, [r0, 0x14] + ldrb r1, [r3, 0x10] + movs r0, 0x1 + ands r0, r1 + adds r6, r2, 0 + cmp r0, 0 + beq _080C714A + ldrb r0, [r3, 0x1] + adds r0, 0x1 + strb r0, [r3, 0x1] + ldr r0, [r6] + ldr r2, [r0, 0x14] + ldrb r0, [r2, 0x1] + cmp r0, 0x3 + bhi _080C7134 + ldrb r1, [r2, 0x10] + movs r0, 0x8 + ands r0, r1 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + bne _080C7134 + strb r0, [r2] + b _080C713E + .align 2, 0 +_080C7130: .4byte gUnknown_2023FF4 +_080C7134: + ldr r0, [r6] + ldr r1, [r0, 0x14] + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] +_080C713E: + ldr r0, [r6] + ldr r2, [r0, 0x14] + ldrb r1, [r2, 0x10] + movs r0, 0xFE + ands r0, r1 + strb r0, [r2, 0x10] +_080C714A: + ldr r0, [r7] + ldr r0, [r0, 0x14] + ldrb r0, [r0] + cmp r0, 0x2 + beq _080C7156 + b _080C7056 +_080C7156: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80C7038 + + thumb_func_start sub_80C7164 +sub_80C7164: @ 80C7164 + push {r4-r6,lr} + movs r3, 0 + ldr r5, _080C7190 @ =gUnknown_2023FF4 + ldr r4, _080C7194 @ =gUnknown_2023D6C + ldr r6, _080C7198 @ =gUnknown_2023D98 +_080C716E: + ldr r0, [r5] + ldr r2, [r0, 0x18] + lsls r1, r3, 1 + ldrb r0, [r4] + lsrs r0, 1 + lsls r0, 4 + adds r1, r0 + adds r2, r1 + ldrh r0, [r2] + cmp r0, 0 + bne _080C719C + ldrb r0, [r4] + lsls r0, 1 + adds r0, r6 + ldrh r0, [r0] + strh r0, [r2] + b _080C71A2 + .align 2, 0 +_080C7190: .4byte gUnknown_2023FF4 +_080C7194: .4byte gUnknown_2023D6C +_080C7198: .4byte gUnknown_2023D98 +_080C719C: + adds r3, 0x1 + cmp r3, 0x7 + ble _080C716E +_080C71A2: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80C7164 + + thumb_func_start sub_80C71A8 +sub_80C71A8: @ 80C71A8 + push {r4,lr} + lsls r0, 24 + ldr r4, _080C71CC @ =gUnknown_2023FF4 + lsrs r0, 25 + lsls r1, r0, 4 + movs r3, 0 + movs r2, 0x7 +_080C71B6: + ldr r0, [r4] + ldr r0, [r0, 0x18] + adds r0, r1 + strh r3, [r0] + adds r1, 0x2 + subs r2, 0x1 + cmp r2, 0 + bge _080C71B6 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080C71CC: .4byte gUnknown_2023FF4 + thumb_func_end sub_80C71A8 + + thumb_func_start sub_80C71D0 +sub_80C71D0: @ 80C71D0 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 24 + lsrs r5, r1, 24 + adds r0, r4, 0 + bl sub_80751C4 + lsls r0, 24 + cmp r0, 0 + bne _080C71FC + adds r0, r4, 0 + bl sub_80751D8 + ldr r1, _080C7204 @ =gUnknown_2023FF4 + ldr r1, [r1] + ldr r2, [r1, 0x18] + movs r1, 0x1 + ands r1, r0 + adds r2, 0x20 + adds r2, r1 + strb r5, [r2] +_080C71FC: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080C7204: .4byte gUnknown_2023FF4 + thumb_func_end sub_80C71D0 + + thumb_func_start sub_80C7208 +sub_80C7208: @ 80C7208 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 24 + lsrs r5, r1, 24 + adds r0, r4, 0 + bl sub_80751C4 + lsls r0, 24 + cmp r0, 0 + bne _080C7234 + adds r0, r4, 0 + bl sub_80751D8 + ldr r1, _080C723C @ =gUnknown_2023FF4 + ldr r1, [r1] + ldr r2, [r1, 0x18] + movs r1, 0x1 + ands r1, r0 + adds r2, 0x22 + adds r2, r1 + strb r5, [r2] +_080C7234: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080C723C: .4byte gUnknown_2023FF4 + thumb_func_end sub_80C7208 + + thumb_func_start sub_80C7240 +sub_80C7240: @ 80C7240 + push {lr} + bl sub_8044EC8 + lsls r0, 16 + movs r1, 0xFF + lsls r1, 16 + ldr r3, _080C7274 @ =gUnknown_2039A00 + ldr r2, [r3] + ands r1, r0 + lsrs r1, 16 + ldrb r0, [r2, 0x1] + cmp r1, r0 + bcs _080C7278 + ldrb r1, [r2, 0x2] + ldrb r0, [r2, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C727C + .align 2, 0 +_080C7274: .4byte gUnknown_2039A00 +_080C7278: + adds r0, r2, 0x6 + str r0, [r3] +_080C727C: + pop {r0} + bx r0 + thumb_func_end sub_80C7240 + + thumb_func_start sub_80C7280 +sub_80C7280: @ 80C7280 + push {lr} + bl sub_8044EC8 + lsls r0, 16 + movs r1, 0xFF + lsls r1, 16 + ldr r3, _080C72B4 @ =gUnknown_2039A00 + ldr r2, [r3] + ands r1, r0 + lsrs r1, 16 + ldrb r0, [r2, 0x1] + cmp r1, r0 + bls _080C72B8 + ldrb r1, [r2, 0x2] + ldrb r0, [r2, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C72BC + .align 2, 0 +_080C72B4: .4byte gUnknown_2039A00 +_080C72B8: + adds r0, r2, 0x6 + str r0, [r3] +_080C72BC: + pop {r0} + bx r0 + thumb_func_end sub_80C7280 + + thumb_func_start sub_80C72C0 +sub_80C72C0: @ 80C72C0 + push {lr} + bl sub_8044EC8 + lsls r0, 16 + movs r1, 0xFF + lsls r1, 16 + ldr r3, _080C72F4 @ =gUnknown_2039A00 + ldr r2, [r3] + ands r1, r0 + lsrs r1, 16 + ldrb r0, [r2, 0x1] + cmp r1, r0 + bne _080C72F8 + ldrb r1, [r2, 0x2] + ldrb r0, [r2, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C72FC + .align 2, 0 +_080C72F4: .4byte gUnknown_2039A00 +_080C72F8: + adds r0, r2, 0x6 + str r0, [r3] +_080C72FC: + pop {r0} + bx r0 + thumb_func_end sub_80C72C0 + + thumb_func_start sub_80C7300 +sub_80C7300: @ 80C7300 + push {lr} + bl sub_8044EC8 + lsls r0, 16 + movs r1, 0xFF + lsls r1, 16 + ldr r3, _080C7334 @ =gUnknown_2039A00 + ldr r2, [r3] + ands r1, r0 + lsrs r1, 16 + ldrb r0, [r2, 0x1] + cmp r1, r0 + beq _080C7338 + ldrb r1, [r2, 0x2] + ldrb r0, [r2, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C733C + .align 2, 0 +_080C7334: .4byte gUnknown_2039A00 +_080C7338: + adds r0, r2, 0x6 + str r0, [r3] +_080C733C: + pop {r0} + bx r0 + thumb_func_end sub_80C7300 + + thumb_func_start sub_80C7340 +sub_80C7340: @ 80C7340 + push {r4,lr} + ldr r2, _080C737C @ =gUnknown_2023FF4 + ldr r0, [r2] + ldr r0, [r0, 0x14] + adds r1, r0, 0x4 + ldrb r0, [r0, 0x1] + adds r1, r0 + ldr r3, _080C7380 @ =gUnknown_2039A00 + ldr r0, [r3] + ldrb r0, [r0, 0x1] + ldrb r4, [r1] + adds r0, r4 + strb r0, [r1] + ldr r0, [r2] + ldr r1, [r0, 0x14] + adds r0, r1, 0x4 + ldrb r1, [r1, 0x1] + adds r1, r0, r1 + movs r0, 0 + ldrsb r0, [r1, r0] + cmp r0, 0 + bge _080C7370 + movs r0, 0 + strb r0, [r1] +_080C7370: + ldr r0, [r3] + adds r0, 0x2 + str r0, [r3] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080C737C: .4byte gUnknown_2023FF4 +_080C7380: .4byte gUnknown_2039A00 + thumb_func_end sub_80C7340 + + thumb_func_start sub_80C7384 +sub_80C7384: @ 80C7384 + push {r4,lr} + ldr r0, _080C7398 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r4, r0, 0 + cmp r1, 0x1 + bne _080C73A0 + ldr r0, _080C739C @ =gUnknown_2023D6B + b _080C73A2 + .align 2, 0 +_080C7398: .4byte gUnknown_2039A00 +_080C739C: .4byte gUnknown_2023D6B +_080C73A0: + ldr r0, _080C73D8 @ =gUnknown_2023D6C +_080C73A2: + ldrb r1, [r0] + ldr r2, _080C73DC @ =gUnknown_2023BE4 + movs r0, 0x58 + muls r1, r0 + adds r1, r2 + ldrh r2, [r1, 0x28] + movs r0, 0x64 + muls r0, r2 + ldrh r1, [r1, 0x2C] + bl __divsi3 + ldr r2, [r4] + ldrb r1, [r2, 0x2] + cmp r0, r1 + bcs _080C73E0 + ldrb r1, [r2, 0x3] + ldrb r0, [r2, 0x4] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x6] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + b _080C73E4 + .align 2, 0 +_080C73D8: .4byte gUnknown_2023D6C +_080C73DC: .4byte gUnknown_2023BE4 +_080C73E0: + adds r0, r2, 0x7 + str r0, [r4] +_080C73E4: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80C7384 + + thumb_func_start sub_80C73EC +sub_80C73EC: @ 80C73EC + push {r4,lr} + ldr r0, _080C7400 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r4, r0, 0 + cmp r1, 0x1 + bne _080C7408 + ldr r0, _080C7404 @ =gUnknown_2023D6B + b _080C740A + .align 2, 0 +_080C7400: .4byte gUnknown_2039A00 +_080C7404: .4byte gUnknown_2023D6B +_080C7408: + ldr r0, _080C7440 @ =gUnknown_2023D6C +_080C740A: + ldrb r1, [r0] + ldr r2, _080C7444 @ =gUnknown_2023BE4 + movs r0, 0x58 + muls r1, r0 + adds r1, r2 + ldrh r2, [r1, 0x28] + movs r0, 0x64 + muls r0, r2 + ldrh r1, [r1, 0x2C] + bl __divsi3 + ldr r2, [r4] + ldrb r1, [r2, 0x2] + cmp r0, r1 + bls _080C7448 + ldrb r1, [r2, 0x3] + ldrb r0, [r2, 0x4] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x6] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + b _080C744C + .align 2, 0 +_080C7440: .4byte gUnknown_2023D6C +_080C7444: .4byte gUnknown_2023BE4 +_080C7448: + adds r0, r2, 0x7 + str r0, [r4] +_080C744C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80C73EC + + thumb_func_start sub_80C7454 +sub_80C7454: @ 80C7454 + push {r4,lr} + ldr r0, _080C7468 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r4, r0, 0 + cmp r1, 0x1 + bne _080C7470 + ldr r0, _080C746C @ =gUnknown_2023D6B + b _080C7472 + .align 2, 0 +_080C7468: .4byte gUnknown_2039A00 +_080C746C: .4byte gUnknown_2023D6B +_080C7470: + ldr r0, _080C74A8 @ =gUnknown_2023D6C +_080C7472: + ldrb r1, [r0] + ldr r2, _080C74AC @ =gUnknown_2023BE4 + movs r0, 0x58 + muls r1, r0 + adds r1, r2 + ldrh r2, [r1, 0x28] + movs r0, 0x64 + muls r0, r2 + ldrh r1, [r1, 0x2C] + bl __divsi3 + ldr r2, [r4] + ldrb r1, [r2, 0x2] + cmp r0, r1 + bne _080C74B0 + ldrb r1, [r2, 0x3] + ldrb r0, [r2, 0x4] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x6] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + b _080C74B4 + .align 2, 0 +_080C74A8: .4byte gUnknown_2023D6C +_080C74AC: .4byte gUnknown_2023BE4 +_080C74B0: + adds r0, r2, 0x7 + str r0, [r4] +_080C74B4: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80C7454 + + thumb_func_start sub_80C74BC +sub_80C74BC: @ 80C74BC + push {r4,lr} + ldr r0, _080C74D0 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r4, r0, 0 + cmp r1, 0x1 + bne _080C74D8 + ldr r0, _080C74D4 @ =gUnknown_2023D6B + b _080C74DA + .align 2, 0 +_080C74D0: .4byte gUnknown_2039A00 +_080C74D4: .4byte gUnknown_2023D6B +_080C74D8: + ldr r0, _080C7510 @ =gUnknown_2023D6C +_080C74DA: + ldrb r1, [r0] + ldr r2, _080C7514 @ =gUnknown_2023BE4 + movs r0, 0x58 + muls r1, r0 + adds r1, r2 + ldrh r2, [r1, 0x28] + movs r0, 0x64 + muls r0, r2 + ldrh r1, [r1, 0x2C] + bl __divsi3 + ldr r2, [r4] + ldrb r1, [r2, 0x2] + cmp r0, r1 + beq _080C7518 + ldrb r1, [r2, 0x3] + ldrb r0, [r2, 0x4] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x6] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + b _080C751C + .align 2, 0 +_080C7510: .4byte gUnknown_2023D6C +_080C7514: .4byte gUnknown_2023BE4 +_080C7518: + adds r0, r2, 0x7 + str r0, [r4] +_080C751C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80C74BC + + thumb_func_start sub_80C7524 +sub_80C7524: @ 80C7524 + push {r4,r5,lr} + ldr r0, _080C7538 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r5, r0, 0 + cmp r1, 0x1 + bne _080C7540 + ldr r0, _080C753C @ =gUnknown_2023D6B + b _080C7542 + .align 2, 0 +_080C7538: .4byte gUnknown_2039A00 +_080C753C: .4byte gUnknown_2023D6B +_080C7540: + ldr r0, _080C7584 @ =gUnknown_2023D6C +_080C7542: + ldrb r4, [r0] + ldr r3, [r5] + ldrb r2, [r3, 0x2] + ldrb r0, [r3, 0x3] + lsls r0, 8 + orrs r2, r0 + ldrb r0, [r3, 0x4] + lsls r0, 16 + orrs r2, r0 + ldrb r0, [r3, 0x5] + lsls r0, 24 + orrs r2, r0 + ldr r1, _080C7588 @ =gUnknown_2023BE4 + movs r0, 0x58 + muls r0, r4 + adds r1, 0x4C + adds r0, r1 + ldr r0, [r0] + ands r0, r2 + cmp r0, 0 + beq _080C758C + ldrb r1, [r3, 0x6] + ldrb r0, [r3, 0x7] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r3, 0x8] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r3, 0x9] + lsls r0, 24 + orrs r1, r0 + str r1, [r5] + b _080C7592 + .align 2, 0 +_080C7584: .4byte gUnknown_2023D6C +_080C7588: .4byte gUnknown_2023BE4 +_080C758C: + adds r0, r3, 0 + adds r0, 0xA + str r0, [r5] +_080C7592: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80C7524 + + thumb_func_start sub_80C7598 +sub_80C7598: @ 80C7598 + push {r4,r5,lr} + ldr r0, _080C75AC @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r5, r0, 0 + cmp r1, 0x1 + bne _080C75B4 + ldr r0, _080C75B0 @ =gUnknown_2023D6B + b _080C75B6 + .align 2, 0 +_080C75AC: .4byte gUnknown_2039A00 +_080C75B0: .4byte gUnknown_2023D6B +_080C75B4: + ldr r0, _080C75F8 @ =gUnknown_2023D6C +_080C75B6: + ldrb r4, [r0] + ldr r3, [r5] + ldrb r2, [r3, 0x2] + ldrb r0, [r3, 0x3] + lsls r0, 8 + orrs r2, r0 + ldrb r0, [r3, 0x4] + lsls r0, 16 + orrs r2, r0 + ldrb r0, [r3, 0x5] + lsls r0, 24 + orrs r2, r0 + ldr r1, _080C75FC @ =gUnknown_2023BE4 + movs r0, 0x58 + muls r0, r4 + adds r1, 0x4C + adds r0, r1 + ldr r0, [r0] + ands r0, r2 + cmp r0, 0 + bne _080C7600 + ldrb r1, [r3, 0x6] + ldrb r0, [r3, 0x7] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r3, 0x8] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r3, 0x9] + lsls r0, 24 + orrs r1, r0 + str r1, [r5] + b _080C7606 + .align 2, 0 +_080C75F8: .4byte gUnknown_2023D6C +_080C75FC: .4byte gUnknown_2023BE4 +_080C7600: + adds r0, r3, 0 + adds r0, 0xA + str r0, [r5] +_080C7606: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80C7598 + + thumb_func_start sub_80C760C +sub_80C760C: @ 80C760C + push {r4,r5,lr} + ldr r0, _080C7620 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r5, r0, 0 + cmp r1, 0x1 + bne _080C7628 + ldr r0, _080C7624 @ =gUnknown_2023D6B + b _080C762A + .align 2, 0 +_080C7620: .4byte gUnknown_2039A00 +_080C7624: .4byte gUnknown_2023D6B +_080C7628: + ldr r0, _080C766C @ =gUnknown_2023D6C +_080C762A: + ldrb r4, [r0] + ldr r3, [r5] + ldrb r2, [r3, 0x2] + ldrb r0, [r3, 0x3] + lsls r0, 8 + orrs r2, r0 + ldrb r0, [r3, 0x4] + lsls r0, 16 + orrs r2, r0 + ldrb r0, [r3, 0x5] + lsls r0, 24 + orrs r2, r0 + ldr r1, _080C7670 @ =gUnknown_2023BE4 + movs r0, 0x58 + muls r0, r4 + adds r1, 0x50 + adds r0, r1 + ldr r0, [r0] + ands r0, r2 + cmp r0, 0 + beq _080C7674 + ldrb r1, [r3, 0x6] + ldrb r0, [r3, 0x7] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r3, 0x8] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r3, 0x9] + lsls r0, 24 + orrs r1, r0 + str r1, [r5] + b _080C767A + .align 2, 0 +_080C766C: .4byte gUnknown_2023D6C +_080C7670: .4byte gUnknown_2023BE4 +_080C7674: + adds r0, r3, 0 + adds r0, 0xA + str r0, [r5] +_080C767A: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80C760C + + thumb_func_start sub_80C7680 +sub_80C7680: @ 80C7680 + push {r4,r5,lr} + ldr r0, _080C7694 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r5, r0, 0 + cmp r1, 0x1 + bne _080C769C + ldr r0, _080C7698 @ =gUnknown_2023D6B + b _080C769E + .align 2, 0 +_080C7694: .4byte gUnknown_2039A00 +_080C7698: .4byte gUnknown_2023D6B +_080C769C: + ldr r0, _080C76E0 @ =gUnknown_2023D6C +_080C769E: + ldrb r4, [r0] + ldr r3, [r5] + ldrb r2, [r3, 0x2] + ldrb r0, [r3, 0x3] + lsls r0, 8 + orrs r2, r0 + ldrb r0, [r3, 0x4] + lsls r0, 16 + orrs r2, r0 + ldrb r0, [r3, 0x5] + lsls r0, 24 + orrs r2, r0 + ldr r1, _080C76E4 @ =gUnknown_2023BE4 + movs r0, 0x58 + muls r0, r4 + adds r1, 0x50 + adds r0, r1 + ldr r0, [r0] + ands r0, r2 + cmp r0, 0 + bne _080C76E8 + ldrb r1, [r3, 0x6] + ldrb r0, [r3, 0x7] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r3, 0x8] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r3, 0x9] + lsls r0, 24 + orrs r1, r0 + str r1, [r5] + b _080C76EE + .align 2, 0 +_080C76E0: .4byte gUnknown_2023D6C +_080C76E4: .4byte gUnknown_2023BE4 +_080C76E8: + adds r0, r3, 0 + adds r0, 0xA + str r0, [r5] +_080C76EE: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80C7680 + + thumb_func_start sub_80C76F4 +sub_80C76F4: @ 80C76F4 + push {r4,r5,lr} + ldr r0, _080C7708 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r5, r0, 0 + cmp r1, 0x1 + bne _080C7710 + ldr r0, _080C770C @ =gUnknown_2023D6B + b _080C7712 + .align 2, 0 +_080C7708: .4byte gUnknown_2039A00 +_080C770C: .4byte gUnknown_2023D6B +_080C7710: + ldr r0, _080C7750 @ =gUnknown_2023D6C +_080C7712: + ldrb r4, [r0] + ldr r3, [r5] + ldrb r1, [r3, 0x2] + ldrb r0, [r3, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r3, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r3, 0x5] + lsls r0, 24 + orrs r1, r0 + ldr r2, _080C7754 @ =gUnknown_2023DFC + lsls r0, r4, 2 + adds r0, r2 + ldr r0, [r0] + ands r0, r1 + cmp r0, 0 + beq _080C7758 + ldrb r1, [r3, 0x6] + ldrb r0, [r3, 0x7] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r3, 0x8] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r3, 0x9] + lsls r0, 24 + orrs r1, r0 + str r1, [r5] + b _080C775E + .align 2, 0 +_080C7750: .4byte gUnknown_2023D6C +_080C7754: .4byte gUnknown_2023DFC +_080C7758: + adds r0, r3, 0 + adds r0, 0xA + str r0, [r5] +_080C775E: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80C76F4 + + thumb_func_start sub_80C7764 +sub_80C7764: @ 80C7764 + push {r4,r5,lr} + ldr r0, _080C7778 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r5, r0, 0 + cmp r1, 0x1 + bne _080C7780 + ldr r0, _080C777C @ =gUnknown_2023D6B + b _080C7782 + .align 2, 0 +_080C7778: .4byte gUnknown_2039A00 +_080C777C: .4byte gUnknown_2023D6B +_080C7780: + ldr r0, _080C77C0 @ =gUnknown_2023D6C +_080C7782: + ldrb r4, [r0] + ldr r3, [r5] + ldrb r1, [r3, 0x2] + ldrb r0, [r3, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r3, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r3, 0x5] + lsls r0, 24 + orrs r1, r0 + ldr r2, _080C77C4 @ =gUnknown_2023DFC + lsls r0, r4, 2 + adds r0, r2 + ldr r0, [r0] + ands r0, r1 + cmp r0, 0 + bne _080C77C8 + ldrb r1, [r3, 0x6] + ldrb r0, [r3, 0x7] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r3, 0x8] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r3, 0x9] + lsls r0, 24 + orrs r1, r0 + str r1, [r5] + b _080C77CE + .align 2, 0 +_080C77C0: .4byte gUnknown_2023D6C +_080C77C4: .4byte gUnknown_2023DFC +_080C77C8: + adds r0, r3, 0 + adds r0, 0xA + str r0, [r5] +_080C77CE: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80C7764 + + thumb_func_start sub_80C77D4 +sub_80C77D4: @ 80C77D4 + push {r4,lr} + ldr r0, _080C77E4 @ =gUnknown_2039A00 + ldr r0, [r0] + ldrb r0, [r0, 0x1] + cmp r0, 0x1 + bne _080C77EC + ldr r0, _080C77E8 @ =gUnknown_2023D6B + b _080C77EE + .align 2, 0 +_080C77E4: .4byte gUnknown_2039A00 +_080C77E8: .4byte gUnknown_2023D6B +_080C77EC: + ldr r0, _080C7838 @ =gUnknown_2023D6C +_080C77EE: + ldrb r0, [r0] + bl sub_80751D8 + movs r2, 0x1 + ands r2, r0 + ldr r4, _080C783C @ =gUnknown_2039A00 + ldr r3, [r4] + ldrb r1, [r3, 0x2] + ldrb r0, [r3, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r3, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r3, 0x5] + lsls r0, 24 + orrs r1, r0 + ldr r0, _080C7840 @ =gUnknown_2023DDE + lsls r2, 1 + adds r2, r0 + ldrh r0, [r2] + ands r0, r1 + cmp r0, 0 + beq _080C7844 + ldrb r1, [r3, 0x6] + ldrb r0, [r3, 0x7] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r3, 0x8] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r3, 0x9] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + b _080C784A + .align 2, 0 +_080C7838: .4byte gUnknown_2023D6C +_080C783C: .4byte gUnknown_2039A00 +_080C7840: .4byte gUnknown_2023DDE +_080C7844: + adds r0, r3, 0 + adds r0, 0xA + str r0, [r4] +_080C784A: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80C77D4 + + thumb_func_start sub_80C7850 +sub_80C7850: @ 80C7850 + push {r4,lr} + ldr r0, _080C7860 @ =gUnknown_2039A00 + ldr r0, [r0] + ldrb r0, [r0, 0x1] + cmp r0, 0x1 + bne _080C7868 + ldr r0, _080C7864 @ =gUnknown_2023D6B + b _080C786A + .align 2, 0 +_080C7860: .4byte gUnknown_2039A00 +_080C7864: .4byte gUnknown_2023D6B +_080C7868: + ldr r0, _080C78B4 @ =gUnknown_2023D6C +_080C786A: + ldrb r0, [r0] + bl sub_80751D8 + movs r2, 0x1 + ands r2, r0 + ldr r4, _080C78B8 @ =gUnknown_2039A00 + ldr r3, [r4] + ldrb r1, [r3, 0x2] + ldrb r0, [r3, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r3, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r3, 0x5] + lsls r0, 24 + orrs r1, r0 + ldr r0, _080C78BC @ =gUnknown_2023DDE + lsls r2, 1 + adds r2, r0 + ldrh r0, [r2] + ands r0, r1 + cmp r0, 0 + bne _080C78C0 + ldrb r1, [r3, 0x6] + ldrb r0, [r3, 0x7] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r3, 0x8] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r3, 0x9] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + b _080C78C6 + .align 2, 0 +_080C78B4: .4byte gUnknown_2023D6C +_080C78B8: .4byte gUnknown_2039A00 +_080C78BC: .4byte gUnknown_2023DDE +_080C78C0: + adds r0, r3, 0 + adds r0, 0xA + str r0, [r4] +_080C78C6: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80C7850 + + thumb_func_start sub_80C78CC +sub_80C78CC: @ 80C78CC + push {lr} + ldr r0, _080C78F8 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldr r3, _080C78FC @ =gUnknown_2039A00 + ldr r2, [r3] + ldr r0, [r0, 0x8] + ldrb r1, [r2, 0x1] + cmp r0, r1 + bcs _080C7900 + ldrb r1, [r2, 0x2] + ldrb r0, [r2, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C7904 + .align 2, 0 +_080C78F8: .4byte gUnknown_2023FF4 +_080C78FC: .4byte gUnknown_2039A00 +_080C7900: + adds r0, r2, 0x6 + str r0, [r3] +_080C7904: + pop {r0} + bx r0 + thumb_func_end sub_80C78CC + + thumb_func_start sub_80C7908 +sub_80C7908: @ 80C7908 + push {lr} + ldr r0, _080C7934 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldr r3, _080C7938 @ =gUnknown_2039A00 + ldr r2, [r3] + ldr r0, [r0, 0x8] + ldrb r1, [r2, 0x1] + cmp r0, r1 + bls _080C793C + ldrb r1, [r2, 0x2] + ldrb r0, [r2, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C7940 + .align 2, 0 +_080C7934: .4byte gUnknown_2023FF4 +_080C7938: .4byte gUnknown_2039A00 +_080C793C: + adds r0, r2, 0x6 + str r0, [r3] +_080C7940: + pop {r0} + bx r0 + thumb_func_end sub_80C7908 + + thumb_func_start sub_80C7944 +sub_80C7944: @ 80C7944 + push {lr} + ldr r0, _080C7970 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldr r3, _080C7974 @ =gUnknown_2039A00 + ldr r2, [r3] + ldr r0, [r0, 0x8] + ldrb r1, [r2, 0x1] + cmp r0, r1 + bne _080C7978 + ldrb r1, [r2, 0x2] + ldrb r0, [r2, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C797C + .align 2, 0 +_080C7970: .4byte gUnknown_2023FF4 +_080C7974: .4byte gUnknown_2039A00 +_080C7978: + adds r0, r2, 0x6 + str r0, [r3] +_080C797C: + pop {r0} + bx r0 + thumb_func_end sub_80C7944 + + thumb_func_start sub_80C7980 +sub_80C7980: @ 80C7980 + push {lr} + ldr r0, _080C79AC @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldr r3, _080C79B0 @ =gUnknown_2039A00 + ldr r2, [r3] + ldr r0, [r0, 0x8] + ldrb r1, [r2, 0x1] + cmp r0, r1 + beq _080C79B4 + ldrb r1, [r2, 0x2] + ldrb r0, [r2, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C79B8 + .align 2, 0 +_080C79AC: .4byte gUnknown_2023FF4 +_080C79B0: .4byte gUnknown_2039A00 +_080C79B4: + adds r0, r2, 0x6 + str r0, [r3] +_080C79B8: + pop {r0} + bx r0 + thumb_func_end sub_80C7980 + + thumb_func_start sub_80C79BC +sub_80C79BC: @ 80C79BC + push {lr} + ldr r3, _080C79FC @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + ldrb r0, [r2, 0x2] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 24 + orrs r1, r0 + ldr r0, _080C7A00 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldr r0, [r0, 0x8] + ldrb r1, [r1] + cmp r0, r1 + bcs _080C7A04 + ldrb r1, [r2, 0x5] + ldrb r0, [r2, 0x6] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x7] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x8] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C7A0A + .align 2, 0 +_080C79FC: .4byte gUnknown_2039A00 +_080C7A00: .4byte gUnknown_2023FF4 +_080C7A04: + adds r0, r2, 0 + adds r0, 0x9 + str r0, [r3] +_080C7A0A: + pop {r0} + bx r0 + thumb_func_end sub_80C79BC + + thumb_func_start sub_80C7A10 +sub_80C7A10: @ 80C7A10 + push {lr} + ldr r3, _080C7A50 @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + ldrb r0, [r2, 0x2] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 24 + orrs r1, r0 + ldr r0, _080C7A54 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldr r0, [r0, 0x8] + ldrb r1, [r1] + cmp r0, r1 + bls _080C7A58 + ldrb r1, [r2, 0x5] + ldrb r0, [r2, 0x6] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x7] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x8] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C7A5E + .align 2, 0 +_080C7A50: .4byte gUnknown_2039A00 +_080C7A54: .4byte gUnknown_2023FF4 +_080C7A58: + adds r0, r2, 0 + adds r0, 0x9 + str r0, [r3] +_080C7A5E: + pop {r0} + bx r0 + thumb_func_end sub_80C7A10 + + thumb_func_start sub_80C7A64 +sub_80C7A64: @ 80C7A64 + push {lr} + ldr r3, _080C7AA4 @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + ldrb r0, [r2, 0x2] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 24 + orrs r1, r0 + ldr r0, _080C7AA8 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldr r0, [r0, 0x8] + ldrb r1, [r1] + cmp r0, r1 + bne _080C7AAC + ldrb r1, [r2, 0x5] + ldrb r0, [r2, 0x6] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x7] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x8] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C7AB2 + .align 2, 0 +_080C7AA4: .4byte gUnknown_2039A00 +_080C7AA8: .4byte gUnknown_2023FF4 +_080C7AAC: + adds r0, r2, 0 + adds r0, 0x9 + str r0, [r3] +_080C7AB2: + pop {r0} + bx r0 + thumb_func_end sub_80C7A64 + + thumb_func_start sub_80C7AB8 +sub_80C7AB8: @ 80C7AB8 + push {lr} + ldr r3, _080C7AF8 @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + ldrb r0, [r2, 0x2] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 24 + orrs r1, r0 + ldr r0, _080C7AFC @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldr r0, [r0, 0x8] + ldrb r1, [r1] + cmp r0, r1 + beq _080C7B00 + ldrb r1, [r2, 0x5] + ldrb r0, [r2, 0x6] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x7] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x8] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C7B06 + .align 2, 0 +_080C7AF8: .4byte gUnknown_2039A00 +_080C7AFC: .4byte gUnknown_2023FF4 +_080C7B00: + adds r0, r2, 0 + adds r0, 0x9 + str r0, [r3] +_080C7B06: + pop {r0} + bx r0 + thumb_func_end sub_80C7AB8 + + thumb_func_start sub_80C7B0C +sub_80C7B0C: @ 80C7B0C + push {lr} + ldr r3, _080C7B40 @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + ldrb r0, [r2, 0x2] + lsls r0, 8 + orrs r1, r0 + ldr r0, _080C7B44 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldrh r0, [r0, 0x2] + cmp r0, r1 + bne _080C7B48 + ldrb r1, [r2, 0x3] + ldrb r0, [r2, 0x4] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x6] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C7B4C + .align 2, 0 +_080C7B40: .4byte gUnknown_2039A00 +_080C7B44: .4byte gUnknown_2023FF4 +_080C7B48: + adds r0, r2, 0x7 + str r0, [r3] +_080C7B4C: + pop {r0} + bx r0 + thumb_func_end sub_80C7B0C + + thumb_func_start sub_80C7B50 +sub_80C7B50: @ 80C7B50 + push {lr} + ldr r3, _080C7B84 @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + ldrb r0, [r2, 0x2] + lsls r0, 8 + orrs r1, r0 + ldr r0, _080C7B88 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldrh r0, [r0, 0x2] + cmp r0, r1 + beq _080C7B8C + ldrb r1, [r2, 0x3] + ldrb r0, [r2, 0x4] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x6] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C7B90 + .align 2, 0 +_080C7B84: .4byte gUnknown_2039A00 +_080C7B88: .4byte gUnknown_2023FF4 +_080C7B8C: + adds r0, r2, 0x7 + str r0, [r3] +_080C7B90: + pop {r0} + bx r0 + thumb_func_end sub_80C7B50 + + thumb_func_start sub_80C7B94 +sub_80C7B94: @ 80C7B94 + push {r4,lr} + ldr r2, _080C7BE0 @ =gUnknown_2039A00 + ldr r1, [r2] + ldrb r3, [r1, 0x1] + ldrb r0, [r1, 0x2] + lsls r0, 8 + orrs r3, r0 + ldrb r0, [r1, 0x3] + lsls r0, 16 + orrs r3, r0 + ldrb r0, [r1, 0x4] + lsls r0, 24 + orrs r3, r0 + ldrb r0, [r3] + cmp r0, 0xFF + beq _080C7BF0 + ldr r0, _080C7BE4 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldr r1, [r0, 0x8] + adds r4, r2, 0 +_080C7BBE: + ldrb r0, [r3] + cmp r1, r0 + bne _080C7BE8 + ldr r2, [r4] + ldrb r1, [r2, 0x5] + ldrb r0, [r2, 0x6] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x7] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x8] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + b _080C7BF6 + .align 2, 0 +_080C7BE0: .4byte gUnknown_2039A00 +_080C7BE4: .4byte gUnknown_2023FF4 +_080C7BE8: + adds r3, 0x1 + ldrb r0, [r3] + cmp r0, 0xFF + bne _080C7BBE +_080C7BF0: + ldr r0, [r2] + adds r0, 0x9 + str r0, [r2] +_080C7BF6: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80C7B94 + + thumb_func_start sub_80C7BFC +sub_80C7BFC: @ 80C7BFC + push {r4,lr} + ldr r2, _080C7C38 @ =gUnknown_2039A00 + ldr r1, [r2] + ldrb r3, [r1, 0x1] + ldrb r0, [r1, 0x2] + lsls r0, 8 + orrs r3, r0 + ldrb r0, [r1, 0x3] + lsls r0, 16 + orrs r3, r0 + ldrb r0, [r1, 0x4] + lsls r0, 24 + orrs r3, r0 + ldrb r0, [r3] + adds r4, r2, 0 + cmp r0, 0xFF + beq _080C7C48 + ldr r0, _080C7C3C @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldr r2, [r0, 0x8] + adds r1, r4, 0 +_080C7C28: + ldrb r0, [r3] + cmp r2, r0 + bne _080C7C40 + ldr r0, [r1] + adds r0, 0x9 + str r0, [r1] + b _080C7C60 + .align 2, 0 +_080C7C38: .4byte gUnknown_2039A00 +_080C7C3C: .4byte gUnknown_2023FF4 +_080C7C40: + adds r3, 0x1 + ldrb r0, [r3] + cmp r0, 0xFF + bne _080C7C28 +_080C7C48: + ldr r2, [r4] + ldrb r1, [r2, 0x5] + ldrb r0, [r2, 0x6] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x7] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x8] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] +_080C7C60: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80C7BFC + + thumb_func_start sub_80C7C68 +sub_80C7C68: @ 80C7C68 + push {r4,r5,lr} + ldr r2, _080C7CB4 @ =gUnknown_2039A00 + ldr r1, [r2] + ldrb r3, [r1, 0x1] + ldrb r0, [r1, 0x2] + lsls r0, 8 + orrs r3, r0 + ldrb r0, [r1, 0x3] + lsls r0, 16 + orrs r3, r0 + ldrb r0, [r1, 0x4] + lsls r0, 24 + orrs r3, r0 + ldrh r0, [r3] + ldr r5, _080C7CB8 @ =0x0000ffff + cmp r0, r5 + beq _080C7CC8 + ldr r0, _080C7CBC @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldr r1, [r0, 0x8] + adds r4, r2, 0 +_080C7C94: + ldrh r0, [r3] + cmp r1, r0 + bne _080C7CC0 + ldr r2, [r4] + ldrb r1, [r2, 0x5] + ldrb r0, [r2, 0x6] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x7] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x8] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + b _080C7CCE + .align 2, 0 +_080C7CB4: .4byte gUnknown_2039A00 +_080C7CB8: .4byte 0x0000ffff +_080C7CBC: .4byte gUnknown_2023FF4 +_080C7CC0: + adds r3, 0x2 + ldrh r0, [r3] + cmp r0, r5 + bne _080C7C94 +_080C7CC8: + ldr r0, [r2] + adds r0, 0x9 + str r0, [r2] +_080C7CCE: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80C7C68 + + thumb_func_start sub_80C7CD4 +sub_80C7CD4: @ 80C7CD4 + push {r4,r5,lr} + ldr r2, _080C7D10 @ =gUnknown_2039A00 + ldr r1, [r2] + ldrb r3, [r1, 0x1] + ldrb r0, [r1, 0x2] + lsls r0, 8 + orrs r3, r0 + ldrb r0, [r1, 0x3] + lsls r0, 16 + orrs r3, r0 + ldrb r0, [r1, 0x4] + lsls r0, 24 + orrs r3, r0 + ldrh r0, [r3] + ldr r4, _080C7D14 @ =0x0000ffff + adds r5, r2, 0 + cmp r0, r4 + beq _080C7D24 + ldr r0, _080C7D18 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldr r2, [r0, 0x8] + adds r1, r5, 0 +_080C7D02: + ldrh r0, [r3] + cmp r2, r0 + bne _080C7D1C + ldr r0, [r1] + adds r0, 0x9 + str r0, [r1] + b _080C7D3C + .align 2, 0 +_080C7D10: .4byte gUnknown_2039A00 +_080C7D14: .4byte 0x0000ffff +_080C7D18: .4byte gUnknown_2023FF4 +_080C7D1C: + adds r3, 0x2 + ldrh r0, [r3] + cmp r0, r4 + bne _080C7D02 +_080C7D24: + ldr r2, [r5] + ldrb r1, [r2, 0x5] + ldrb r0, [r2, 0x6] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x7] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x8] + lsls r0, 24 + orrs r1, r0 + str r1, [r5] +_080C7D3C: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80C7CD4 + + thumb_func_start sub_80C7D44 +sub_80C7D44: @ 80C7D44 + push {r4,r5,lr} + movs r3, 0 + ldr r4, _080C7D84 @ =gUnknown_2039A00 + ldr r1, _080C7D88 @ =gUnknown_2023BE4 + ldr r0, _080C7D8C @ =gUnknown_2023D6B + ldrb r2, [r0] + ldr r5, _080C7D90 @ =gUnknown_8250C04 + movs r0, 0x58 + muls r0, r2 + adds r1, 0xC + adds r2, r0, r1 +_080C7D5A: + ldrh r0, [r2] + cmp r0, 0 + beq _080C7D6E + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 2 + adds r1, r5 + ldrb r0, [r1, 0x1] + cmp r0, 0 + bne _080C7D76 +_080C7D6E: + adds r2, 0x2 + adds r3, 0x1 + cmp r3, 0x3 + ble _080C7D5A +_080C7D76: + cmp r3, 0x4 + bne _080C7D94 + ldr r0, [r4] + adds r0, 0x5 + str r0, [r4] + b _080C7DAC + .align 2, 0 +_080C7D84: .4byte gUnknown_2039A00 +_080C7D88: .4byte gUnknown_2023BE4 +_080C7D8C: .4byte gUnknown_2023D6B +_080C7D90: .4byte gUnknown_8250C04 +_080C7D94: + ldr r2, [r4] + ldrb r1, [r2, 0x1] + ldrb r0, [r2, 0x2] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] +_080C7DAC: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80C7D44 + + thumb_func_start sub_80C7DB4 +sub_80C7DB4: @ 80C7DB4 + push {r4,r5,lr} + movs r3, 0 + ldr r4, _080C7DF4 @ =gUnknown_2039A00 + ldr r1, _080C7DF8 @ =gUnknown_2023BE4 + ldr r0, _080C7DFC @ =gUnknown_2023D6B + ldrb r2, [r0] + ldr r5, _080C7E00 @ =gUnknown_8250C04 + movs r0, 0x58 + muls r0, r2 + adds r1, 0xC + adds r2, r0, r1 +_080C7DCA: + ldrh r0, [r2] + cmp r0, 0 + beq _080C7DDE + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 2 + adds r1, r5 + ldrb r0, [r1, 0x1] + cmp r0, 0 + bne _080C7DE6 +_080C7DDE: + adds r2, 0x2 + adds r3, 0x1 + cmp r3, 0x3 + ble _080C7DCA +_080C7DE6: + cmp r3, 0x4 + beq _080C7E04 + ldr r0, [r4] + adds r0, 0x5 + str r0, [r4] + b _080C7E1C + .align 2, 0 +_080C7DF4: .4byte gUnknown_2039A00 +_080C7DF8: .4byte gUnknown_2023BE4 +_080C7DFC: .4byte gUnknown_2023D6B +_080C7E00: .4byte gUnknown_8250C04 +_080C7E04: + ldr r2, [r4] + ldrb r1, [r2, 0x1] + ldrb r0, [r2, 0x2] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] +_080C7E1C: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80C7DB4 + + thumb_func_start sub_80C7E24 +sub_80C7E24: @ 80C7E24 + ldr r0, _080C7E3C @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r1, [r0, 0x14] + ldr r0, _080C7E40 @ =gUnknown_3004F90 + ldrb r0, [r0, 0x13] + str r0, [r1, 0x8] + ldr r1, _080C7E44 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + bx lr + .align 2, 0 +_080C7E3C: .4byte gUnknown_2023FF4 +_080C7E40: .4byte gUnknown_3004F90 +_080C7E44: .4byte gUnknown_2039A00 + thumb_func_end sub_80C7E24 + + thumb_func_start sub_80C7E48 +sub_80C7E48: @ 80C7E48 + push {r4,lr} + ldr r1, _080C7E60 @ =gUnknown_2039A00 + ldr r0, [r1] + ldrb r0, [r0, 0x1] + adds r4, r1, 0 + cmp r0, 0x4 + bhi _080C7F22 + lsls r0, 2 + ldr r1, _080C7E64 @ =_080C7E68 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080C7E60: .4byte gUnknown_2039A00 +_080C7E64: .4byte _080C7E68 + .align 2, 0 +_080C7E68: + .4byte _080C7EA0 + .4byte _080C7E7C + .4byte _080C7EE8 + .4byte _080C7EC4 + .4byte _080C7F0C +_080C7E7C: + ldr r0, _080C7E94 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r3, [r0, 0x14] + ldr r2, _080C7E98 @ =gUnknown_2023BE4 + ldr r0, _080C7E9C @ =gUnknown_2023D6B + ldrb r1, [r0] + movs r0, 0x58 + muls r0, r1 + adds r0, r2 + adds r0, 0x21 + ldrb r0, [r0] + b _080C7F20 + .align 2, 0 +_080C7E94: .4byte gUnknown_2023FF4 +_080C7E98: .4byte gUnknown_2023BE4 +_080C7E9C: .4byte gUnknown_2023D6B +_080C7EA0: + ldr r0, _080C7EB8 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r3, [r0, 0x14] + ldr r2, _080C7EBC @ =gUnknown_2023BE4 + ldr r0, _080C7EC0 @ =gUnknown_2023D6C + ldrb r1, [r0] + movs r0, 0x58 + muls r0, r1 + adds r0, r2 + adds r0, 0x21 + ldrb r0, [r0] + b _080C7F20 + .align 2, 0 +_080C7EB8: .4byte gUnknown_2023FF4 +_080C7EBC: .4byte gUnknown_2023BE4 +_080C7EC0: .4byte gUnknown_2023D6C +_080C7EC4: + ldr r0, _080C7EDC @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r3, [r0, 0x14] + ldr r2, _080C7EE0 @ =gUnknown_2023BE4 + ldr r0, _080C7EE4 @ =gUnknown_2023D6B + ldrb r1, [r0] + movs r0, 0x58 + muls r0, r1 + adds r0, r2 + adds r0, 0x22 + ldrb r0, [r0] + b _080C7F20 + .align 2, 0 +_080C7EDC: .4byte gUnknown_2023FF4 +_080C7EE0: .4byte gUnknown_2023BE4 +_080C7EE4: .4byte gUnknown_2023D6B +_080C7EE8: + ldr r0, _080C7F00 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r3, [r0, 0x14] + ldr r2, _080C7F04 @ =gUnknown_2023BE4 + ldr r0, _080C7F08 @ =gUnknown_2023D6C + ldrb r1, [r0] + movs r0, 0x58 + muls r0, r1 + adds r0, r2 + adds r0, 0x22 + ldrb r0, [r0] + b _080C7F20 + .align 2, 0 +_080C7F00: .4byte gUnknown_2023FF4 +_080C7F04: .4byte gUnknown_2023BE4 +_080C7F08: .4byte gUnknown_2023D6C +_080C7F0C: + ldr r0, _080C7F30 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r3, [r0, 0x14] + ldr r2, _080C7F34 @ =gUnknown_8250C04 + ldrh r1, [r3, 0x2] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x2] +_080C7F20: + str r0, [r3, 0x8] +_080C7F22: + ldr r0, [r4] + adds r0, 0x2 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080C7F30: .4byte gUnknown_2023FF4 +_080C7F34: .4byte gUnknown_8250C04 + thumb_func_end sub_80C7E48 + + thumb_func_start sub_80C7F38 +sub_80C7F38: @ 80C7F38 + ldr r0, _080C7F58 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r3, [r0, 0x14] + ldr r2, _080C7F5C @ =gUnknown_8250C04 + ldrh r1, [r3, 0x2] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x1] + str r0, [r3, 0x8] + ldr r1, _080C7F60 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + bx lr + .align 2, 0 +_080C7F58: .4byte gUnknown_2023FF4 +_080C7F5C: .4byte gUnknown_8250C04 +_080C7F60: .4byte gUnknown_2039A00 + thumb_func_end sub_80C7F38 + + thumb_func_start sub_80C7F64 +sub_80C7F64: @ 80C7F64 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + movs r3, 0 + ldr r0, _080C80A4 @ =gUnknown_83F571C + ldrh r1, [r0] + ldr r5, _080C80A8 @ =0x0000ffff + ldr r6, _080C80AC @ =gUnknown_8250C04 + ldr r2, _080C80B0 @ =gUnknown_2023FF4 + cmp r1, r5 + beq _080C7FA2 + ldr r0, [r2] + ldr r0, [r0, 0x14] + ldrh r1, [r0, 0x2] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + ldrb r4, [r0] + ldr r1, _080C80A4 @ =gUnknown_83F571C +_080C7F92: + ldrh r0, [r1] + cmp r4, r0 + beq _080C7FA2 + adds r1, 0x2 + adds r3, 0x1 + ldrh r0, [r1] + cmp r0, r5 + bne _080C7F92 +_080C7FA2: + ldr r0, [r2] + ldr r0, [r0, 0x14] + ldrh r1, [r0, 0x2] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + ldrb r0, [r0, 0x1] + cmp r0, 0x1 + bhi _080C7FB8 + b _080C8142 +_080C7FB8: + lsls r0, r3, 1 + ldr r1, _080C80A4 @ =gUnknown_83F571C + adds r0, r1 + ldrh r3, [r0] + ldr r0, _080C80A8 @ =0x0000ffff + cmp r3, r0 + beq _080C7FC8 + b _080C8142 +_080C7FC8: + ldr r0, _080C80B4 @ =gUnknown_2023F50 + movs r1, 0 + strh r1, [r0] + ldr r0, _080C80B8 @ =gUnknown_2023FE8 + ldr r0, [r0] + strb r1, [r0, 0x13] + ldr r0, _080C80BC @ =gUnknown_2023FC4 + movs r2, 0x1 + strb r2, [r0, 0xE] + ldr r0, _080C80C0 @ =gUnknown_2023DCC + strb r1, [r0] + ldr r0, _080C80C4 @ =gUnknown_2023D71 + strb r2, [r0] + movs r6, 0 + mov r9, r3 + ldr r2, _080C80A4 @ =gUnknown_83F571C + ldrh r2, [r2] + str r2, [sp, 0x10] +_080C7FEC: + movs r3, 0 + ldr r5, _080C80C8 @ =gUnknown_2023BE4 + lsls r4, r6, 1 + ldr r7, _080C80CC @ =gUnknown_2023D6B + lsls r0, r6, 2 + mov r8, r0 + adds r1, r6, 0x1 + mov r10, r1 + ldr r2, [sp, 0x10] + cmp r2, r9 + beq _080C8030 + ldr r2, _080C80AC @ =gUnknown_8250C04 + ldrb r1, [r7] + movs r0, 0x58 + muls r0, r1 + adds r0, r4, r0 + adds r1, r5, 0 + adds r1, 0xC + adds r0, r1 + ldrh r1, [r0] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r2, [r0] + ldr r1, _080C80A4 @ =gUnknown_83F571C +_080C8020: + ldrh r0, [r1] + cmp r2, r0 + beq _080C8030 + adds r1, 0x2 + adds r3, 0x1 + ldrh r0, [r1] + cmp r0, r9 + bne _080C8020 +_080C8030: + ldrb r1, [r7] + movs r0, 0x58 + muls r0, r1 + adds r0, r4, r0 + adds r1, r5, 0 + adds r1, 0xC + adds r1, r0, r1 + ldrh r0, [r1] + cmp r0, 0 + beq _080C80DC + lsls r0, r3, 1 + ldr r2, _080C80A4 @ =gUnknown_83F571C + adds r0, r2 + ldrh r0, [r0] + cmp r0, r9 + bne _080C80DC + ldr r0, _080C80AC @ =gUnknown_8250C04 + ldrh r2, [r1] + lsls r1, r2, 1 + adds r1, r2 + lsls r1, 2 + adds r1, r0 + ldrb r0, [r1, 0x1] + cmp r0, 0x1 + bls _080C80DC + ldr r5, _080C80D0 @ =gUnknown_2023D4A + strh r2, [r5] + ldrb r0, [r7] + ldr r4, _080C80D4 @ =gUnknown_2023D6C + ldrb r1, [r4] + bl sub_801E68C + ldrh r0, [r5] + ldrb r1, [r7] + ldrb r2, [r4] + bl sub_801EDF4 + mov r4, sp + add r4, r8 + ldr r2, _080C80D8 @ =gUnknown_2023D50 + ldr r0, _080C80B0 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + adds r0, 0x18 + adds r0, r6 + ldrb r1, [r0] + ldr r0, [r2] + muls r0, r1 + movs r1, 0x64 + bl __divsi3 + str r0, [r4] + cmp r0, 0 + bne _080C80E4 + movs r0, 0x1 + str r0, [r4] + b _080C80E4 + .align 2, 0 +_080C80A4: .4byte gUnknown_83F571C +_080C80A8: .4byte 0x0000ffff +_080C80AC: .4byte gUnknown_8250C04 +_080C80B0: .4byte gUnknown_2023FF4 +_080C80B4: .4byte gUnknown_2023F50 +_080C80B8: .4byte gUnknown_2023FE8 +_080C80BC: .4byte gUnknown_2023FC4 +_080C80C0: .4byte gUnknown_2023DCC +_080C80C4: .4byte gUnknown_2023D71 +_080C80C8: .4byte gUnknown_2023BE4 +_080C80CC: .4byte gUnknown_2023D6B +_080C80D0: .4byte gUnknown_2023D4A +_080C80D4: .4byte gUnknown_2023D6C +_080C80D8: .4byte gUnknown_2023D50 +_080C80DC: + mov r1, sp + add r1, r8 + movs r0, 0 + str r0, [r1] +_080C80E4: + mov r6, r10 + cmp r6, 0x3 + bgt _080C80EC + b _080C7FEC +_080C80EC: + movs r6, 0 + ldr r2, _080C8130 @ =gUnknown_2023FF4 + ldr r0, [r2] + ldr r0, [r0, 0x14] + ldrb r0, [r0, 0x1] + lsls r0, 2 + add r0, sp + ldr r1, [sp] + ldr r0, [r0] + ldr r5, _080C8134 @ =gUnknown_2039A00 + cmp r1, r0 + bgt _080C8122 + adds r4, r2, 0 + mov r3, sp +_080C8108: + adds r3, 0x4 + adds r6, 0x1 + cmp r6, 0x3 + bgt _080C8122 + ldr r0, [r4] + ldr r0, [r0, 0x14] + ldrb r0, [r0, 0x1] + lsls r0, 2 + add r0, sp + ldr r1, [r3] + ldr r0, [r0] + cmp r1, r0 + ble _080C8108 +_080C8122: + cmp r6, 0x4 + bne _080C8138 + ldr r0, [r2] + ldr r1, [r0, 0x14] + movs r0, 0x2 + str r0, [r1, 0x8] + b _080C814C + .align 2, 0 +_080C8130: .4byte gUnknown_2023FF4 +_080C8134: .4byte gUnknown_2039A00 +_080C8138: + ldr r0, [r2] + ldr r1, [r0, 0x14] + movs r0, 0x1 + str r0, [r1, 0x8] + b _080C814C +_080C8142: + ldr r0, [r2] + ldr r1, [r0, 0x14] + movs r0, 0 + str r0, [r1, 0x8] + ldr r5, _080C8164 @ =gUnknown_2039A00 +_080C814C: + ldr r0, [r5] + adds r0, 0x1 + str r0, [r5] + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080C8164: .4byte gUnknown_2039A00 + thumb_func_end sub_80C7F64 + + thumb_func_start sub_80C8168 +sub_80C8168: @ 80C8168 + push {lr} + ldr r0, _080C8184 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r3, r0, 0 + cmp r1, 0x1 + bne _080C8194 + ldr r0, _080C8188 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r2, [r0, 0x14] + ldr r1, _080C818C @ =gUnknown_2023D98 + ldr r0, _080C8190 @ =gUnknown_2023D6B + b _080C819E + .align 2, 0 +_080C8184: .4byte gUnknown_2039A00 +_080C8188: .4byte gUnknown_2023FF4 +_080C818C: .4byte gUnknown_2023D98 +_080C8190: .4byte gUnknown_2023D6B +_080C8194: + ldr r0, _080C81B4 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r2, [r0, 0x14] + ldr r1, _080C81B8 @ =gUnknown_2023D98 + ldr r0, _080C81BC @ =gUnknown_2023D6C +_080C819E: + ldrb r0, [r0] + lsls r0, 1 + adds r0, r1 + ldrh r0, [r0] + str r0, [r2, 0x8] + ldr r0, [r3] + adds r0, 0x2 + str r0, [r3] + pop {r0} + bx r0 + .align 2, 0 +_080C81B4: .4byte gUnknown_2023FF4 +_080C81B8: .4byte gUnknown_2023D98 +_080C81BC: .4byte gUnknown_2023D6C + thumb_func_end sub_80C8168 + + thumb_func_start sub_80C81C0 +sub_80C81C0: @ 80C81C0 + push {lr} + ldr r3, _080C81EC @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + ldr r0, _080C81F0 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldr r0, [r0, 0x8] + cmp r1, r0 + bne _080C81F4 + ldrb r1, [r2, 0x2] + ldrb r0, [r2, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C81F8 + .align 2, 0 +_080C81EC: .4byte gUnknown_2039A00 +_080C81F0: .4byte gUnknown_2023FF4 +_080C81F4: + adds r0, r2, 0x6 + str r0, [r3] +_080C81F8: + pop {r0} + bx r0 + thumb_func_end sub_80C81C0 + + thumb_func_start sub_80C81FC +sub_80C81FC: @ 80C81FC + push {lr} + ldr r3, _080C8228 @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + ldr r0, _080C822C @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldr r0, [r0, 0x8] + cmp r1, r0 + beq _080C8230 + ldrb r1, [r2, 0x2] + ldrb r0, [r2, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C8234 + .align 2, 0 +_080C8228: .4byte gUnknown_2039A00 +_080C822C: .4byte gUnknown_2023FF4 +_080C8230: + adds r0, r2, 0x6 + str r0, [r3] +_080C8234: + pop {r0} + bx r0 + thumb_func_end sub_80C81FC + + thumb_func_start sub_80C8238 +sub_80C8238: @ 80C8238 + push {lr} + ldr r0, _080C8270 @ =gUnknown_2023D6B + ldrb r0, [r0] + ldr r1, _080C8274 @ =gUnknown_2023D6C + ldrb r1, [r1] + movs r2, 0x1 + bl sub_8014CD8 + ldr r3, _080C8278 @ =gUnknown_2039A00 + ldr r2, [r3] + lsls r0, 24 + lsrs r0, 24 + ldrb r1, [r2, 0x1] + cmp r0, r1 + bne _080C827C + ldrb r1, [r2, 0x2] + ldrb r0, [r2, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C8280 + .align 2, 0 +_080C8270: .4byte gUnknown_2023D6B +_080C8274: .4byte gUnknown_2023D6C +_080C8278: .4byte gUnknown_2039A00 +_080C827C: + adds r0, r2, 0x6 + str r0, [r3] +_080C8280: + pop {r0} + bx r0 + thumb_func_end sub_80C8238 + + thumb_func_start sub_80C8284 +sub_80C8284: @ 80C8284 + push {lr} + ldr r0, _080C82BC @ =gUnknown_2023D6B + ldrb r0, [r0] + ldr r1, _080C82C0 @ =gUnknown_2023D6C + ldrb r1, [r1] + movs r2, 0x1 + bl sub_8014CD8 + ldr r3, _080C82C4 @ =gUnknown_2039A00 + ldr r2, [r3] + lsls r0, 24 + lsrs r0, 24 + ldrb r1, [r2, 0x1] + cmp r0, r1 + beq _080C82C8 + ldrb r1, [r2, 0x2] + ldrb r0, [r2, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C82CC + .align 2, 0 +_080C82BC: .4byte gUnknown_2023D6B +_080C82C0: .4byte gUnknown_2023D6C +_080C82C4: .4byte gUnknown_2039A00 +_080C82C8: + adds r0, r2, 0x6 + str r0, [r3] +_080C82CC: + pop {r0} + bx r0 + thumb_func_end sub_80C8284 + + thumb_func_start nullsub_64 +nullsub_64: @ 80C82D0 + bx lr + thumb_func_end nullsub_64 + + thumb_func_start nullsub_65 +nullsub_65: @ 80C82D4 + bx lr + thumb_func_end nullsub_65 + + thumb_func_start sub_80C82D8 +sub_80C82D8: @ 80C82D8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r0, _080C82F8 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r1, [r0, 0x14] + movs r0, 0 + str r0, [r1, 0x8] + ldr r0, _080C82FC @ =gUnknown_2039A00 + ldr r0, [r0] + ldrb r0, [r0, 0x1] + cmp r0, 0x1 + bne _080C8304 + ldr r0, _080C8300 @ =gUnknown_2023D6B + b _080C8306 + .align 2, 0 +_080C82F8: .4byte gUnknown_2023FF4 +_080C82FC: .4byte gUnknown_2039A00 +_080C8300: .4byte gUnknown_2023D6B +_080C8304: + ldr r0, _080C834C @ =gUnknown_2023D6C +_080C8306: + ldrb r5, [r0] + adds r0, r5, 0 + bl sub_80751C4 + lsls r0, 24 + ldr r1, _080C8350 @ =gUnknown_202402C + mov r8, r1 + cmp r0, 0 + bne _080C831C + ldr r0, _080C8354 @ =gUnknown_2024284 + mov r8, r0 +_080C831C: + ldr r0, _080C8358 @ =gUnknown_2022B4C + ldr r0, [r0] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080C8360 + ldr r4, _080C835C @ =gUnknown_2023BCE + lsls r0, r5, 1 + adds r0, r4 + ldrb r7, [r0] + adds r0, r5, 0 + bl sub_80751D8 + movs r1, 0x2 + eors r0, r1 + lsls r0, 24 + lsrs r0, 24 + bl sub_80751E8 + lsls r0, 24 + lsrs r0, 23 + adds r0, r4 + ldrb r6, [r0] + b _080C836A + .align 2, 0 +_080C834C: .4byte gUnknown_2023D6C +_080C8350: .4byte gUnknown_202402C +_080C8354: .4byte gUnknown_2024284 +_080C8358: .4byte gUnknown_2022B4C +_080C835C: .4byte gUnknown_2023BCE +_080C8360: + ldr r1, _080C83C8 @ =gUnknown_2023BCE + lsls r0, r5, 1 + adds r0, r1 + ldrb r6, [r0] + adds r7, r6, 0 +_080C836A: + movs r5, 0 +_080C836C: + cmp r5, r7 + beq _080C83B0 + cmp r5, r6 + beq _080C83B0 + movs r0, 0x64 + muls r0, r5 + mov r1, r8 + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x39 + bl sub_803FBE8 + cmp r0, 0 + beq _080C83B0 + adds r0, r4, 0 + movs r1, 0x41 + bl sub_803FBE8 + cmp r0, 0 + beq _080C83B0 + adds r0, r4, 0 + movs r1, 0x41 + bl sub_803FBE8 + movs r1, 0xCE + lsls r1, 1 + cmp r0, r1 + beq _080C83B0 + ldr r0, _080C83CC @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r1, [r0, 0x14] + ldr r0, [r1, 0x8] + adds r0, 0x1 + str r0, [r1, 0x8] +_080C83B0: + adds r5, 0x1 + cmp r5, 0x5 + ble _080C836C + ldr r1, _080C83D0 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x2 + str r0, [r1] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080C83C8: .4byte gUnknown_2023BCE +_080C83CC: .4byte gUnknown_2023FF4 +_080C83D0: .4byte gUnknown_2039A00 + thumb_func_end sub_80C82D8 + + thumb_func_start sub_80C83D4 +sub_80C83D4: @ 80C83D4 + ldr r0, _080C83E8 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r1, [r0, 0x14] + ldrh r0, [r1, 0x2] + str r0, [r1, 0x8] + ldr r1, _080C83EC @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + bx lr + .align 2, 0 +_080C83E8: .4byte gUnknown_2023FF4 +_080C83EC: .4byte gUnknown_2039A00 + thumb_func_end sub_80C83D4 + + thumb_func_start sub_80C83F0 +sub_80C83F0: @ 80C83F0 + ldr r0, _080C8410 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r3, [r0, 0x14] + ldr r2, _080C8414 @ =gUnknown_8250C04 + ldrh r1, [r3, 0x2] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0] + str r0, [r3, 0x8] + ldr r1, _080C8418 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + bx lr + .align 2, 0 +_080C8410: .4byte gUnknown_2023FF4 +_080C8414: .4byte gUnknown_8250C04 +_080C8418: .4byte gUnknown_2039A00 + thumb_func_end sub_80C83F0 + + thumb_func_start sub_80C841C +sub_80C841C: @ 80C841C + push {r4-r7,lr} + ldr r0, _080C842C @ =gUnknown_2039A00 + ldr r0, [r0] + ldrb r0, [r0, 0x1] + cmp r0, 0x1 + bne _080C8434 + ldr r0, _080C8430 @ =gUnknown_2023D6B + b _080C8436 + .align 2, 0 +_080C842C: .4byte gUnknown_2039A00 +_080C8430: .4byte gUnknown_2023D6B +_080C8434: + ldr r0, _080C8468 @ =gUnknown_2023D6C +_080C8436: + ldrb r4, [r0] + adds r0, r4, 0 + bl sub_80751C4 + lsls r0, 24 + cmp r0, 0 + bne _080C8506 + adds r0, r4, 0 + bl sub_80751D8 + movs r7, 0x1 + adds r1, r7, 0 + ands r1, r0 + ldr r6, _080C846C @ =gUnknown_2023FF4 + ldr r3, [r6] + ldr r0, [r3, 0x18] + adds r0, 0x20 + adds r2, r0, r1 + ldrb r0, [r2] + cmp r0, 0 + beq _080C8470 + ldr r1, [r3, 0x14] + str r0, [r1, 0x8] + b _080C851A + .align 2, 0 +_080C8468: .4byte gUnknown_2023D6C +_080C846C: .4byte gUnknown_2023FF4 +_080C8470: + ldr r1, _080C84A0 @ =gUnknown_2023BE4 + movs r0, 0x58 + muls r0, r4 + adds r5, r0, r1 + adds r0, r5, 0 + adds r0, 0x20 + ldrb r0, [r0] + adds r2, r1, 0 + cmp r0, 0x17 + beq _080C848C + cmp r0, 0x2A + beq _080C848C + cmp r0, 0x47 + bne _080C84A8 +_080C848C: + ldr r0, _080C84A4 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r1, [r0, 0x14] + movs r0, 0x58 + muls r0, r4 + adds r0, r2 + adds r0, 0x20 + ldrb r0, [r0] + str r0, [r1, 0x8] + b _080C851A + .align 2, 0 +_080C84A0: .4byte gUnknown_2023BE4 +_080C84A4: .4byte gUnknown_2023FF4 +_080C84A8: + ldr r4, _080C84E0 @ =gUnknown_8254784 + ldrh r0, [r5] + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + adds r2, r1, r4 + ldrb r0, [r2, 0x16] + cmp r0, 0 + beq _080C84FE + ldrb r0, [r2, 0x17] + cmp r0, 0 + beq _080C84F6 + bl sub_8044EC8 + adds r1, r7, 0 + ands r1, r0 + cmp r1, 0 + beq _080C84E4 + ldr r0, [r6] + ldr r2, [r0, 0x14] + ldrh r1, [r5] + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + adds r0, r4 + ldrb r0, [r0, 0x16] + b _080C8518 + .align 2, 0 +_080C84E0: .4byte gUnknown_8254784 +_080C84E4: + ldr r0, [r6] + ldr r2, [r0, 0x14] + ldrh r1, [r5] + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + adds r0, r4 + ldrb r0, [r0, 0x17] + b _080C8518 +_080C84F6: + ldr r1, [r3, 0x14] + ldrb r0, [r2, 0x16] + str r0, [r1, 0x8] + b _080C851A +_080C84FE: + ldr r1, [r3, 0x14] + ldrb r0, [r2, 0x17] + str r0, [r1, 0x8] + b _080C851A +_080C8506: + ldr r0, _080C8528 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r2, [r0, 0x14] + ldr r1, _080C852C @ =gUnknown_2023BE4 + movs r0, 0x58 + muls r0, r4 + adds r0, r1 + adds r0, 0x20 + ldrb r0, [r0] +_080C8518: + str r0, [r2, 0x8] +_080C851A: + ldr r1, _080C8530 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x2 + str r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080C8528: .4byte gUnknown_2023FF4 +_080C852C: .4byte gUnknown_2023BE4 +_080C8530: .4byte gUnknown_2039A00 + thumb_func_end sub_80C841C + + thumb_func_start sub_80C8534 +sub_80C8534: @ 80C8534 + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r0, _080C85F0 @ =gUnknown_2023F50 + movs r1, 0 + strh r1, [r0] + ldr r0, _080C85F4 @ =gUnknown_2023FE8 + ldr r0, [r0] + strb r1, [r0, 0x13] + ldr r0, _080C85F8 @ =gUnknown_2023FC4 + movs r3, 0 + movs r2, 0x1 + strb r2, [r0, 0xE] + ldr r0, _080C85FC @ =gUnknown_2023DCC + strb r1, [r0] + ldr r0, _080C8600 @ =gUnknown_2023D71 + strb r2, [r0] + ldr r0, _080C8604 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + str r3, [r0, 0x8] + movs r5, 0 + ldr r4, _080C8608 @ =gUnknown_2023D50 + ldr r7, _080C860C @ =gUnknown_2023D4A + ldr r0, _080C8610 @ =gUnknown_2023BF0 + mov r8, r0 + ldr r6, _080C8614 @ =gUnknown_2023D6B +_080C856A: + movs r0, 0x28 + str r0, [r4] + lsls r1, r5, 1 + ldrb r2, [r6] + movs r0, 0x58 + muls r0, r2 + adds r1, r0 + add r1, r8 + ldrh r0, [r1] + strh r0, [r7] + lsls r0, 16 + cmp r0, 0 + beq _080C85D8 + ldrh r0, [r7] + ldrb r1, [r6] + ldr r2, _080C8618 @ =gUnknown_2023D6C + ldrb r2, [r2] + bl sub_801EDF4 + ldr r0, [r4] + cmp r0, 0x78 + bne _080C859A + movs r0, 0x50 + str r0, [r4] +_080C859A: + ldr r0, [r4] + cmp r0, 0xF0 + bne _080C85A4 + movs r0, 0xA0 + str r0, [r4] +_080C85A4: + ldr r0, [r4] + cmp r0, 0x1E + bne _080C85AE + movs r0, 0x14 + str r0, [r4] +_080C85AE: + ldr r0, [r4] + cmp r0, 0xF + bne _080C85B8 + movs r0, 0xA + str r0, [r4] +_080C85B8: + ldr r0, _080C85FC @ =gUnknown_2023DCC + ldrb r1, [r0] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _080C85C8 + movs r0, 0 + str r0, [r4] +_080C85C8: + ldr r0, _080C8604 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r2, [r0, 0x14] + ldr r0, [r2, 0x8] + ldr r1, [r4] + cmp r0, r1 + bcs _080C85D8 + str r1, [r2, 0x8] +_080C85D8: + adds r5, 0x1 + cmp r5, 0x3 + ble _080C856A + ldr r1, _080C861C @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080C85F0: .4byte gUnknown_2023F50 +_080C85F4: .4byte gUnknown_2023FE8 +_080C85F8: .4byte gUnknown_2023FC4 +_080C85FC: .4byte gUnknown_2023DCC +_080C8600: .4byte gUnknown_2023D71 +_080C8604: .4byte gUnknown_2023FF4 +_080C8608: .4byte gUnknown_2023D50 +_080C860C: .4byte gUnknown_2023D4A +_080C8610: .4byte gUnknown_2023BF0 +_080C8614: .4byte gUnknown_2023D6B +_080C8618: .4byte gUnknown_2023D6C +_080C861C: .4byte gUnknown_2039A00 + thumb_func_end sub_80C8534 + + thumb_func_start sub_80C8620 +sub_80C8620: @ 80C8620 + push {r4,r5,lr} + ldr r0, _080C86B8 @ =gUnknown_2023F50 + movs r1, 0 + strh r1, [r0] + ldr r0, _080C86BC @ =gUnknown_2023FE8 + ldr r0, [r0] + strb r1, [r0, 0x13] + ldr r0, _080C86C0 @ =gUnknown_2023FC4 + movs r2, 0x1 + strb r2, [r0, 0xE] + ldr r5, _080C86C4 @ =gUnknown_2023DCC + strb r1, [r5] + ldr r0, _080C86C8 @ =gUnknown_2023D71 + strb r2, [r0] + ldr r4, _080C86CC @ =gUnknown_2023D50 + movs r0, 0x28 + str r0, [r4] + ldr r1, _080C86D0 @ =gUnknown_2023D4A + ldr r0, _080C86D4 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldrh r0, [r0, 0x2] + strh r0, [r1] + ldrh r0, [r1] + ldr r1, _080C86D8 @ =gUnknown_2023D6B + ldrb r1, [r1] + ldr r2, _080C86DC @ =gUnknown_2023D6C + ldrb r2, [r2] + bl sub_801EDF4 + ldr r0, [r4] + cmp r0, 0x78 + bne _080C8666 + movs r0, 0x50 + str r0, [r4] +_080C8666: + ldr r0, [r4] + cmp r0, 0xF0 + bne _080C8670 + movs r0, 0xA0 + str r0, [r4] +_080C8670: + ldr r0, [r4] + cmp r0, 0x1E + bne _080C867A + movs r0, 0x14 + str r0, [r4] +_080C867A: + ldr r0, [r4] + cmp r0, 0xF + bne _080C8684 + movs r0, 0xA + str r0, [r4] +_080C8684: + ldrb r1, [r5] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _080C8692 + movs r0, 0 + str r0, [r4] +_080C8692: + ldrb r0, [r4] + ldr r3, _080C86E0 @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + cmp r0, r1 + bne _080C86E4 + ldrb r1, [r2, 0x2] + ldrb r0, [r2, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C86E8 + .align 2, 0 +_080C86B8: .4byte gUnknown_2023F50 +_080C86BC: .4byte gUnknown_2023FE8 +_080C86C0: .4byte gUnknown_2023FC4 +_080C86C4: .4byte gUnknown_2023DCC +_080C86C8: .4byte gUnknown_2023D71 +_080C86CC: .4byte gUnknown_2023D50 +_080C86D0: .4byte gUnknown_2023D4A +_080C86D4: .4byte gUnknown_2023FF4 +_080C86D8: .4byte gUnknown_2023D6B +_080C86DC: .4byte gUnknown_2023D6C +_080C86E0: .4byte gUnknown_2039A00 +_080C86E4: + adds r0, r2, 0x6 + str r0, [r3] +_080C86E8: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80C8620 + + thumb_func_start nullsub_66 +nullsub_66: @ 80C86F0 + bx lr + thumb_func_end nullsub_66 + + thumb_func_start nullsub_67 +nullsub_67: @ 80C86F4 + bx lr + thumb_func_end nullsub_67 + + thumb_func_start sub_80C86F8 +sub_80C86F8: @ 80C86F8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + ldr r0, _080C8710 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + cmp r1, 0x1 + bne _080C8738 + ldr r1, _080C8714 @ =gUnknown_202402C + b _080C873A + .align 2, 0 +_080C8710: .4byte gUnknown_2039A00 +_080C8714: .4byte gUnknown_202402C +_080C8718: + ldr r3, _080C8734 @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x6] + ldrb r0, [r2, 0x7] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x8] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x9] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C87A6 + .align 2, 0 +_080C8734: .4byte gUnknown_2039A00 +_080C8738: + ldr r1, _080C87B4 @ =gUnknown_2024284 +_080C873A: + mov r9, r1 + ldr r1, [r0] + ldrb r7, [r1, 0x2] + ldrb r0, [r1, 0x3] + lsls r0, 8 + orrs r7, r0 + ldrb r0, [r1, 0x4] + lsls r0, 16 + orrs r7, r0 + ldrb r0, [r1, 0x5] + lsls r0, 24 + orrs r7, r0 + movs r0, 0 + mov r8, r0 + movs r1, 0xCE + lsls r1, 1 + mov r10, r1 +_080C875C: + movs r0, 0x64 + mov r4, r8 + muls r4, r0 + add r4, r9 + adds r0, r4, 0 + movs r1, 0xB + bl sub_803FBE8 + lsls r0, 16 + lsrs r5, r0, 16 + adds r0, r4, 0 + movs r1, 0x39 + bl sub_803FBE8 + lsls r0, 16 + lsrs r6, r0, 16 + adds r0, r4, 0 + movs r1, 0x37 + bl sub_803FBE8 + cmp r5, 0 + beq _080C8794 + cmp r5, r10 + beq _080C8794 + cmp r6, 0 + beq _080C8794 + cmp r0, r7 + beq _080C8718 +_080C8794: + movs r0, 0x1 + add r8, r0 + mov r1, r8 + cmp r1, 0x5 + ble _080C875C + ldr r1, _080C87B8 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0xA + str r0, [r1] +_080C87A6: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080C87B4: .4byte gUnknown_2024284 +_080C87B8: .4byte gUnknown_2039A00 + thumb_func_end sub_80C86F8 + + thumb_func_start sub_80C87BC +sub_80C87BC: @ 80C87BC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + ldr r0, _080C87D8 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r2, r0, 0 + cmp r1, 0x1 + bne _080C87E0 + ldr r0, _080C87DC @ =gUnknown_202402C + mov r10, r0 + b _080C87E4 + .align 2, 0 +_080C87D8: .4byte gUnknown_2039A00 +_080C87DC: .4byte gUnknown_202402C +_080C87E0: + ldr r1, _080C8878 @ =gUnknown_2024284 + mov r10, r1 +_080C87E4: + ldr r1, [r2] + ldrb r7, [r1, 0x2] + ldrb r0, [r1, 0x3] + lsls r0, 8 + orrs r7, r0 + ldrb r0, [r1, 0x4] + lsls r0, 16 + orrs r7, r0 + ldrb r0, [r1, 0x5] + lsls r0, 24 + orrs r7, r0 + movs r0, 0 + mov r8, r0 + mov r9, r2 +_080C8800: + movs r0, 0x64 + mov r4, r8 + muls r4, r0 + add r4, r10 + adds r0, r4, 0 + movs r1, 0xB + bl sub_803FBE8 + lsls r0, 16 + lsrs r5, r0, 16 + adds r0, r4, 0 + movs r1, 0x39 + bl sub_803FBE8 + lsls r0, 16 + lsrs r6, r0, 16 + adds r0, r4, 0 + movs r1, 0x37 + bl sub_803FBE8 + cmp r5, 0 + beq _080C8844 + movs r1, 0xCE + lsls r1, 1 + cmp r5, r1 + beq _080C8844 + cmp r6, 0 + beq _080C8844 + cmp r0, r7 + bne _080C8844 + mov r1, r9 + ldr r0, [r1] + adds r0, 0xA + str r0, [r1] +_080C8844: + movs r0, 0x1 + add r8, r0 + mov r1, r8 + cmp r1, 0x5 + ble _080C8800 + ldr r3, _080C887C @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x6] + ldrb r0, [r2, 0x7] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x8] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x9] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080C8878: .4byte gUnknown_2024284 +_080C887C: .4byte gUnknown_2039A00 + thumb_func_end sub_80C87BC + + thumb_func_start sub_80C8880 +sub_80C8880: @ 80C8880 + push {lr} + ldr r2, _080C88E0 @ =gUnknown_2023F1C + ldrh r1, [r2] + movs r0, 0x7 + ands r0, r1 + cmp r0, 0 + beq _080C8898 + ldr r0, _080C88E4 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r1, [r0, 0x14] + movs r0, 0x1 + str r0, [r1, 0x8] +_080C8898: + ldrh r1, [r2] + movs r0, 0x18 + ands r0, r1 + cmp r0, 0 + beq _080C88AC + ldr r0, _080C88E4 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r1, [r0, 0x14] + movs r0, 0x2 + str r0, [r1, 0x8] +_080C88AC: + ldrh r1, [r2] + movs r0, 0x60 + ands r0, r1 + cmp r0, 0 + beq _080C88C0 + ldr r0, _080C88E4 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r1, [r0, 0x14] + movs r0, 0 + str r0, [r1, 0x8] +_080C88C0: + ldrh r1, [r2] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _080C88D4 + ldr r0, _080C88E4 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r1, [r0, 0x14] + movs r0, 0x3 + str r0, [r1, 0x8] +_080C88D4: + ldr r1, _080C88E8 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_080C88E0: .4byte gUnknown_2023F1C +_080C88E4: .4byte gUnknown_2023FF4 +_080C88E8: .4byte gUnknown_2039A00 + thumb_func_end sub_80C8880 + + thumb_func_start sub_80C88EC +sub_80C88EC: @ 80C88EC + push {lr} + ldr r2, _080C8924 @ =gUnknown_8250C04 + ldr r0, _080C8928 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldrh r1, [r0, 0x2] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r3, _080C892C @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r0, [r0] + ldrb r1, [r2, 0x1] + cmp r0, r1 + bne _080C8930 + ldrb r1, [r2, 0x2] + ldrb r0, [r2, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C8934 + .align 2, 0 +_080C8924: .4byte gUnknown_8250C04 +_080C8928: .4byte gUnknown_2023FF4 +_080C892C: .4byte gUnknown_2039A00 +_080C8930: + adds r0, r2, 0x6 + str r0, [r3] +_080C8934: + pop {r0} + bx r0 + thumb_func_end sub_80C88EC + + thumb_func_start sub_80C8938 +sub_80C8938: @ 80C8938 + push {lr} + ldr r2, _080C8970 @ =gUnknown_8250C04 + ldr r0, _080C8974 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldrh r1, [r0, 0x2] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r3, _080C8978 @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r0, [r0] + ldrb r1, [r2, 0x1] + cmp r0, r1 + beq _080C897C + ldrb r1, [r2, 0x2] + ldrb r0, [r2, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C8980 + .align 2, 0 +_080C8970: .4byte gUnknown_8250C04 +_080C8974: .4byte gUnknown_2023FF4 +_080C8978: .4byte gUnknown_2039A00 +_080C897C: + adds r0, r2, 0x6 + str r0, [r3] +_080C8980: + pop {r0} + bx r0 + thumb_func_end sub_80C8938 + + thumb_func_start sub_80C8984 +sub_80C8984: @ 80C8984 + push {r4,lr} + ldr r0, _080C8998 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r4, r0, 0 + cmp r1, 0x1 + bne _080C89A0 + ldr r0, _080C899C @ =gUnknown_2023D6B + b _080C89A2 + .align 2, 0 +_080C8998: .4byte gUnknown_2039A00 +_080C899C: .4byte gUnknown_2023D6B +_080C89A0: + ldr r0, _080C89D8 @ =gUnknown_2023D6C +_080C89A2: + ldrb r3, [r0] + ldr r1, _080C89DC @ =gUnknown_2023BE4 + ldr r2, [r4] + movs r0, 0x58 + muls r0, r3 + ldrb r3, [r2, 0x2] + adds r0, r3 + adds r1, 0x18 + adds r0, r1 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + ldrb r1, [r2, 0x3] + cmp r0, r1 + bge _080C89E0 + ldrb r1, [r2, 0x4] + ldrb r0, [r2, 0x5] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x6] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x7] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + b _080C89E6 + .align 2, 0 +_080C89D8: .4byte gUnknown_2023D6C +_080C89DC: .4byte gUnknown_2023BE4 +_080C89E0: + adds r0, r2, 0 + adds r0, 0x8 + str r0, [r4] +_080C89E6: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80C8984 + + thumb_func_start sub_80C89EC +sub_80C89EC: @ 80C89EC + push {r4,lr} + ldr r0, _080C8A00 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r4, r0, 0 + cmp r1, 0x1 + bne _080C8A08 + ldr r0, _080C8A04 @ =gUnknown_2023D6B + b _080C8A0A + .align 2, 0 +_080C8A00: .4byte gUnknown_2039A00 +_080C8A04: .4byte gUnknown_2023D6B +_080C8A08: + ldr r0, _080C8A40 @ =gUnknown_2023D6C +_080C8A0A: + ldrb r3, [r0] + ldr r1, _080C8A44 @ =gUnknown_2023BE4 + ldr r2, [r4] + movs r0, 0x58 + muls r0, r3 + ldrb r3, [r2, 0x2] + adds r0, r3 + adds r1, 0x18 + adds r0, r1 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + ldrb r1, [r2, 0x3] + cmp r0, r1 + ble _080C8A48 + ldrb r1, [r2, 0x4] + ldrb r0, [r2, 0x5] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x6] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x7] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + b _080C8A4E + .align 2, 0 +_080C8A40: .4byte gUnknown_2023D6C +_080C8A44: .4byte gUnknown_2023BE4 +_080C8A48: + adds r0, r2, 0 + adds r0, 0x8 + str r0, [r4] +_080C8A4E: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80C89EC + + thumb_func_start sub_80C8A54 +sub_80C8A54: @ 80C8A54 + push {r4,lr} + ldr r0, _080C8A68 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r4, r0, 0 + cmp r1, 0x1 + bne _080C8A70 + ldr r0, _080C8A6C @ =gUnknown_2023D6B + b _080C8A72 + .align 2, 0 +_080C8A68: .4byte gUnknown_2039A00 +_080C8A6C: .4byte gUnknown_2023D6B +_080C8A70: + ldr r0, _080C8AA8 @ =gUnknown_2023D6C +_080C8A72: + ldrb r3, [r0] + ldr r1, _080C8AAC @ =gUnknown_2023BE4 + ldr r2, [r4] + movs r0, 0x58 + muls r0, r3 + ldrb r3, [r2, 0x2] + adds r0, r3 + adds r1, 0x18 + adds r0, r1 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + ldrb r1, [r2, 0x3] + cmp r0, r1 + bne _080C8AB0 + ldrb r1, [r2, 0x4] + ldrb r0, [r2, 0x5] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x6] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x7] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + b _080C8AB6 + .align 2, 0 +_080C8AA8: .4byte gUnknown_2023D6C +_080C8AAC: .4byte gUnknown_2023BE4 +_080C8AB0: + adds r0, r2, 0 + adds r0, 0x8 + str r0, [r4] +_080C8AB6: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80C8A54 + + thumb_func_start sub_80C8ABC +sub_80C8ABC: @ 80C8ABC + push {r4,lr} + ldr r0, _080C8AD0 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r4, r0, 0 + cmp r1, 0x1 + bne _080C8AD8 + ldr r0, _080C8AD4 @ =gUnknown_2023D6B + b _080C8ADA + .align 2, 0 +_080C8AD0: .4byte gUnknown_2039A00 +_080C8AD4: .4byte gUnknown_2023D6B +_080C8AD8: + ldr r0, _080C8B10 @ =gUnknown_2023D6C +_080C8ADA: + ldrb r3, [r0] + ldr r1, _080C8B14 @ =gUnknown_2023BE4 + ldr r2, [r4] + movs r0, 0x58 + muls r0, r3 + ldrb r3, [r2, 0x2] + adds r0, r3 + adds r1, 0x18 + adds r0, r1 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + ldrb r1, [r2, 0x3] + cmp r0, r1 + beq _080C8B18 + ldrb r1, [r2, 0x4] + ldrb r0, [r2, 0x5] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x6] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x7] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + b _080C8B1E + .align 2, 0 +_080C8B10: .4byte gUnknown_2023D6C +_080C8B14: .4byte gUnknown_2023BE4 +_080C8B18: + adds r0, r2, 0 + adds r0, 0x8 + str r0, [r4] +_080C8B1E: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80C8ABC + + thumb_func_start sub_80C8B24 +sub_80C8B24: @ 80C8B24 + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r2, _080C8BD4 @ =gUnknown_8250C04 + ldr r0, _080C8BD8 @ =gUnknown_2023FF4 + mov r8, r0 + ldr r0, [r0] + ldr r0, [r0, 0x14] + ldrh r1, [r0, 0x2] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x1] + cmp r0, 0x1 + bls _080C8C08 + ldr r0, _080C8BDC @ =gUnknown_2023F50 + movs r1, 0 + strh r1, [r0] + ldr r0, _080C8BE0 @ =gUnknown_2023FE8 + ldr r0, [r0] + strb r1, [r0, 0x13] + ldr r0, _080C8BE4 @ =gUnknown_2023FC4 + movs r7, 0x1 + strb r7, [r0, 0xE] + ldr r0, _080C8BE8 @ =gUnknown_2023DCC + strb r1, [r0] + ldr r0, _080C8BEC @ =gUnknown_2023D71 + strb r7, [r0] + ldr r5, _080C8BF0 @ =gUnknown_2023D4A + mov r1, r8 + ldr r0, [r1] + ldr r0, [r0, 0x14] + ldrh r0, [r0, 0x2] + strh r0, [r5] + ldr r4, _080C8BF4 @ =gUnknown_2023D6B + ldrb r0, [r4] + ldr r6, _080C8BF8 @ =gUnknown_2023D6C + ldrb r1, [r6] + bl sub_801E68C + ldrh r0, [r5] + ldrb r1, [r4] + ldrb r2, [r6] + bl sub_801EDF4 + ldr r4, _080C8BFC @ =gUnknown_2023D50 + mov r1, r8 + ldr r0, [r1] + ldr r1, [r0, 0x14] + adds r0, r1, 0 + adds r0, 0x18 + ldrb r1, [r1, 0x1] + adds r0, r1 + ldrb r1, [r0] + ldr r0, [r4] + muls r0, r1 + movs r1, 0x64 + bl __divsi3 + str r0, [r4] + cmp r0, 0 + bne _080C8BA4 + str r7, [r4] +_080C8BA4: + ldr r2, _080C8C00 @ =gUnknown_2023BE4 + ldrb r1, [r6] + movs r0, 0x58 + muls r0, r1 + adds r0, r2 + ldrh r1, [r0, 0x28] + ldr r0, [r4] + cmp r1, r0 + bgt _080C8C08 + ldr r3, _080C8C04 @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + ldrb r0, [r2, 0x2] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C8C10 + .align 2, 0 +_080C8BD4: .4byte gUnknown_8250C04 +_080C8BD8: .4byte gUnknown_2023FF4 +_080C8BDC: .4byte gUnknown_2023F50 +_080C8BE0: .4byte gUnknown_2023FE8 +_080C8BE4: .4byte gUnknown_2023FC4 +_080C8BE8: .4byte gUnknown_2023DCC +_080C8BEC: .4byte gUnknown_2023D71 +_080C8BF0: .4byte gUnknown_2023D4A +_080C8BF4: .4byte gUnknown_2023D6B +_080C8BF8: .4byte gUnknown_2023D6C +_080C8BFC: .4byte gUnknown_2023D50 +_080C8C00: .4byte gUnknown_2023BE4 +_080C8C04: .4byte gUnknown_2039A00 +_080C8C08: + ldr r1, _080C8C1C @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x5 + str r0, [r1] +_080C8C10: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080C8C1C: .4byte gUnknown_2039A00 + thumb_func_end sub_80C8B24 + + thumb_func_start sub_80C8C20 +sub_80C8C20: @ 80C8C20 + push {r4-r7,lr} + ldr r2, _080C8CBC @ =gUnknown_8250C04 + ldr r7, _080C8CC0 @ =gUnknown_2023FF4 + ldr r0, [r7] + ldr r0, [r0, 0x14] + ldrh r1, [r0, 0x2] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x1] + cmp r0, 0x1 + bls _080C8CF0 + ldr r0, _080C8CC4 @ =gUnknown_2023F50 + movs r1, 0 + strh r1, [r0] + ldr r0, _080C8CC8 @ =gUnknown_2023FE8 + ldr r0, [r0] + strb r1, [r0, 0x13] + ldr r0, _080C8CCC @ =gUnknown_2023FC4 + movs r2, 0x1 + strb r2, [r0, 0xE] + ldr r0, _080C8CD0 @ =gUnknown_2023DCC + strb r1, [r0] + ldr r0, _080C8CD4 @ =gUnknown_2023D71 + strb r2, [r0] + ldr r6, _080C8CD8 @ =gUnknown_2023D4A + ldr r0, [r7] + ldr r0, [r0, 0x14] + ldrh r0, [r0, 0x2] + strh r0, [r6] + ldr r4, _080C8CDC @ =gUnknown_2023D6B + ldrb r0, [r4] + ldr r5, _080C8CE0 @ =gUnknown_2023D6C + ldrb r1, [r5] + bl sub_801E68C + ldrh r0, [r6] + ldrb r1, [r4] + ldrb r2, [r5] + bl sub_801EDF4 + ldr r4, _080C8CE4 @ =gUnknown_2023D50 + ldr r0, [r7] + ldr r1, [r0, 0x14] + adds r0, r1, 0 + adds r0, 0x18 + ldrb r1, [r1, 0x1] + adds r0, r1 + ldrb r1, [r0] + ldr r0, [r4] + muls r0, r1 + movs r1, 0x64 + bl __divsi3 + str r0, [r4] + ldr r3, _080C8CE8 @ =gUnknown_2023BE4 + ldrb r2, [r5] + movs r1, 0x58 + muls r1, r2 + adds r1, r3 + ldrh r1, [r1, 0x28] + cmp r1, r0 + ble _080C8CF0 + ldr r3, _080C8CEC @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + ldrb r0, [r2, 0x2] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C8CF8 + .align 2, 0 +_080C8CBC: .4byte gUnknown_8250C04 +_080C8CC0: .4byte gUnknown_2023FF4 +_080C8CC4: .4byte gUnknown_2023F50 +_080C8CC8: .4byte gUnknown_2023FE8 +_080C8CCC: .4byte gUnknown_2023FC4 +_080C8CD0: .4byte gUnknown_2023DCC +_080C8CD4: .4byte gUnknown_2023D71 +_080C8CD8: .4byte gUnknown_2023D4A +_080C8CDC: .4byte gUnknown_2023D6B +_080C8CE0: .4byte gUnknown_2023D6C +_080C8CE4: .4byte gUnknown_2023D50 +_080C8CE8: .4byte gUnknown_2023BE4 +_080C8CEC: .4byte gUnknown_2039A00 +_080C8CF0: + ldr r1, _080C8D00 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x5 + str r0, [r1] +_080C8CF8: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080C8D00: .4byte gUnknown_2039A00 + thumb_func_end sub_80C8C20 + + thumb_func_start sub_80C8D04 +sub_80C8D04: @ 80C8D04 + push {r4-r7,lr} + ldr r1, _080C8D20 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r6, r0, 0x2 + ldrb r0, [r0, 0x1] + adds r5, r1, 0 + cmp r0, 0x1 + beq _080C8D2C + cmp r0, 0x1 + bgt _080C8D24 + cmp r0, 0 + beq _080C8D70 + b _080C8DD8 + .align 2, 0 +_080C8D20: .4byte gUnknown_2039A00 +_080C8D24: + cmp r0, 0x2 + beq _080C8D70 + cmp r0, 0x3 + bne _080C8DD8 +_080C8D2C: + movs r3, 0 + ldr r2, _080C8D68 @ =gUnknown_2023BE4 + ldr r4, _080C8D6C @ =gUnknown_2023D6B + ldrb r1, [r4] + movs r0, 0x58 + muls r0, r1 + adds r2, 0xC + adds r0, r2 + ldrh r0, [r0] + ldrh r1, [r6] + cmp r0, r1 + beq _080C8D62 + adds r7, r4, 0 + movs r6, 0x58 + adds r4, r2, 0 + adds r2, r1, 0 +_080C8D4C: + adds r3, 0x1 + cmp r3, 0x3 + bgt _080C8D62 + lsls r1, r3, 1 + ldrb r0, [r7] + muls r0, r6 + adds r1, r0 + adds r1, r4 + ldrh r0, [r1] + cmp r0, r2 + bne _080C8D4C +_080C8D62: + cmp r3, 0x4 + beq _080C8DB0 + b _080C8DC0 + .align 2, 0 +_080C8D68: .4byte gUnknown_2023BE4 +_080C8D6C: .4byte gUnknown_2023D6B +_080C8D70: + movs r3, 0 + ldr r4, _080C8DB8 @ =gUnknown_2023FF4 + ldr r0, [r4] + ldr r1, [r0, 0x18] + ldr r2, _080C8DBC @ =gUnknown_2023D6C + ldrb r0, [r2] + lsrs r0, 1 + lsls r0, 4 + adds r1, r0 + ldrh r0, [r1] + ldrh r1, [r6] + cmp r0, r1 + beq _080C8DAC + adds r7, r4, 0 + adds r4, r1, 0 + adds r6, r2, 0 +_080C8D90: + adds r3, 0x1 + cmp r3, 0x7 + bgt _080C8DAC + ldr r0, [r7] + ldr r2, [r0, 0x18] + lsls r1, r3, 1 + ldrb r0, [r6] + lsrs r0, 1 + lsls r0, 4 + adds r1, r0 + adds r2, r1 + ldrh r0, [r2] + cmp r0, r4 + bne _080C8D90 +_080C8DAC: + cmp r3, 0x8 + bne _080C8DC0 +_080C8DB0: + ldr r0, [r5] + adds r0, 0x8 + str r0, [r5] + b _080C8DD8 + .align 2, 0 +_080C8DB8: .4byte gUnknown_2023FF4 +_080C8DBC: .4byte gUnknown_2023D6C +_080C8DC0: + ldr r2, [r5] + ldrb r1, [r2, 0x4] + ldrb r0, [r2, 0x5] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x6] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x7] + lsls r0, 24 + orrs r1, r0 + str r1, [r5] +_080C8DD8: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80C8D04 + + thumb_func_start sub_80C8DE0 +sub_80C8DE0: @ 80C8DE0 + push {r4-r7,lr} + ldr r1, _080C8DFC @ =gUnknown_2039A00 + ldr r0, [r1] + adds r6, r0, 0x2 + ldrb r0, [r0, 0x1] + adds r5, r1, 0 + cmp r0, 0x1 + beq _080C8E08 + cmp r0, 0x1 + bgt _080C8E00 + cmp r0, 0 + beq _080C8E4C + b _080C8EB4 + .align 2, 0 +_080C8DFC: .4byte gUnknown_2039A00 +_080C8E00: + cmp r0, 0x2 + beq _080C8E4C + cmp r0, 0x3 + bne _080C8EB4 +_080C8E08: + movs r3, 0 + ldr r2, _080C8E44 @ =gUnknown_2023BE4 + ldr r4, _080C8E48 @ =gUnknown_2023D6B + ldrb r1, [r4] + movs r0, 0x58 + muls r0, r1 + adds r2, 0xC + adds r0, r2 + ldrh r0, [r0] + ldrh r1, [r6] + cmp r0, r1 + beq _080C8E3E + adds r7, r4, 0 + movs r6, 0x58 + adds r4, r2, 0 + adds r2, r1, 0 +_080C8E28: + adds r3, 0x1 + cmp r3, 0x3 + bgt _080C8E3E + lsls r1, r3, 1 + ldrb r0, [r7] + muls r0, r6 + adds r1, r0 + adds r1, r4 + ldrh r0, [r1] + cmp r0, r2 + bne _080C8E28 +_080C8E3E: + cmp r3, 0x4 + bne _080C8E8C + b _080C8E9C + .align 2, 0 +_080C8E44: .4byte gUnknown_2023BE4 +_080C8E48: .4byte gUnknown_2023D6B +_080C8E4C: + movs r3, 0 + ldr r4, _080C8E94 @ =gUnknown_2023FF4 + ldr r0, [r4] + ldr r1, [r0, 0x18] + ldr r2, _080C8E98 @ =gUnknown_2023D6C + ldrb r0, [r2] + lsrs r0, 1 + lsls r0, 4 + adds r1, r0 + ldrh r0, [r1] + ldrh r1, [r6] + cmp r0, r1 + beq _080C8E88 + adds r7, r4, 0 + adds r4, r1, 0 + adds r6, r2, 0 +_080C8E6C: + adds r3, 0x1 + cmp r3, 0x7 + bgt _080C8E88 + ldr r0, [r7] + ldr r2, [r0, 0x18] + lsls r1, r3, 1 + ldrb r0, [r6] + lsrs r0, 1 + lsls r0, 4 + adds r1, r0 + adds r2, r1 + ldrh r0, [r2] + cmp r0, r4 + bne _080C8E6C +_080C8E88: + cmp r3, 0x8 + beq _080C8E9C +_080C8E8C: + ldr r0, [r5] + adds r0, 0x8 + str r0, [r5] + b _080C8EB4 + .align 2, 0 +_080C8E94: .4byte gUnknown_2023FF4 +_080C8E98: .4byte gUnknown_2023D6C +_080C8E9C: + ldr r2, [r5] + ldrb r1, [r2, 0x4] + ldrb r0, [r2, 0x5] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x6] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x7] + lsls r0, 24 + orrs r1, r0 + str r1, [r5] +_080C8EB4: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80C8DE0 + + thumb_func_start sub_80C8EBC +sub_80C8EBC: @ 80C8EBC + push {r4-r7,lr} + ldr r1, _080C8ED4 @ =gUnknown_2039A00 + ldr r0, [r1] + ldrb r0, [r0, 0x1] + adds r5, r1, 0 + cmp r0, 0x1 + beq _080C8EE0 + cmp r0, 0x1 + bgt _080C8ED8 + cmp r0, 0 + beq _080C8F34 + b _080C8F96 + .align 2, 0 +_080C8ED4: .4byte gUnknown_2039A00 +_080C8ED8: + cmp r0, 0x2 + beq _080C8F34 + cmp r0, 0x3 + bne _080C8F96 +_080C8EE0: + movs r3, 0 + ldr r1, _080C8F24 @ =gUnknown_2023BE4 + ldr r0, _080C8F28 @ =gUnknown_2023D6B + ldrb r2, [r0] + ldr r6, _080C8F2C @ =gUnknown_8250C04 + movs r0, 0x58 + muls r0, r2 + adds r1, 0xC + adds r2, r0, r1 + ldr r4, _080C8F30 @ =gUnknown_2039A00 +_080C8EF4: + ldrh r0, [r2] + cmp r0, 0 + beq _080C8F0E + adds r1, r0, 0 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + ldr r1, [r4] + ldrb r0, [r0] + ldrb r1, [r1, 0x2] + cmp r0, r1 + beq _080C8F16 +_080C8F0E: + adds r2, 0x2 + adds r3, 0x1 + cmp r3, 0x3 + ble _080C8EF4 +_080C8F16: + cmp r3, 0x4 + bne _080C8F7E + ldr r0, [r5] + adds r0, 0x7 + str r0, [r5] + b _080C8F96 + .align 2, 0 +_080C8F24: .4byte gUnknown_2023BE4 +_080C8F28: .4byte gUnknown_2023D6B +_080C8F2C: .4byte gUnknown_8250C04 +_080C8F30: .4byte gUnknown_2039A00 +_080C8F34: + movs r3, 0 + ldr r1, _080C8F9C @ =gUnknown_2023BE4 + ldr r0, _080C8FA0 @ =gUnknown_2023D6B + ldrb r2, [r0] + ldr r0, _080C8FA4 @ =gUnknown_8250C04 + mov r12, r0 + ldr r7, _080C8FA8 @ =gUnknown_2023FF4 + ldr r6, _080C8FAC @ =gUnknown_2023D6C + movs r0, 0x58 + muls r0, r2 + adds r1, 0xC + adds r4, r0, r1 +_080C8F4C: + lsls r2, r3, 1 + ldrh r0, [r4] + cmp r0, 0 + beq _080C8F76 + ldr r0, [r7] + ldr r1, [r0, 0x18] + ldrb r0, [r6] + lsrs r0, 1 + lsls r0, 4 + adds r0, r2, r0 + adds r1, r0 + ldrh r1, [r1] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + add r0, r12 + ldr r1, [r5] + ldrb r0, [r0] + ldrb r1, [r1, 0x2] + cmp r0, r1 + beq _080C8F7E +_080C8F76: + adds r4, 0x2 + adds r3, 0x1 + cmp r3, 0x7 + ble _080C8F4C +_080C8F7E: + ldr r2, [r5] + ldrb r1, [r2, 0x3] + ldrb r0, [r2, 0x4] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x6] + lsls r0, 24 + orrs r1, r0 + str r1, [r5] +_080C8F96: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080C8F9C: .4byte gUnknown_2023BE4 +_080C8FA0: .4byte gUnknown_2023D6B +_080C8FA4: .4byte gUnknown_8250C04 +_080C8FA8: .4byte gUnknown_2023FF4 +_080C8FAC: .4byte gUnknown_2023D6C + thumb_func_end sub_80C8EBC + + thumb_func_start sub_80C8FB0 +sub_80C8FB0: @ 80C8FB0 + push {r4-r6,lr} + ldr r1, _080C8FC8 @ =gUnknown_2039A00 + ldr r0, [r1] + ldrb r0, [r0, 0x1] + adds r4, r1, 0 + cmp r0, 0x1 + beq _080C8FD4 + cmp r0, 0x1 + bgt _080C8FCC + cmp r0, 0 + beq _080C9038 + b _080C9074 + .align 2, 0 +_080C8FC8: .4byte gUnknown_2039A00 +_080C8FCC: + cmp r0, 0x2 + beq _080C9038 + cmp r0, 0x3 + bne _080C9074 +_080C8FD4: + movs r3, 0 + ldr r1, _080C9028 @ =gUnknown_2023BE4 + ldr r0, _080C902C @ =gUnknown_2023D6B + ldrb r2, [r0] + ldr r6, _080C9030 @ =gUnknown_8250C04 + movs r0, 0x58 + muls r0, r2 + adds r1, 0xC + adds r2, r0, r1 + ldr r5, _080C9034 @ =gUnknown_2039A00 +_080C8FE8: + ldrh r0, [r2] + cmp r0, 0 + beq _080C9002 + adds r1, r0, 0 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + ldr r1, [r5] + ldrb r0, [r0] + ldrb r1, [r1, 0x2] + cmp r0, r1 + beq _080C900A +_080C9002: + adds r2, 0x2 + adds r3, 0x1 + cmp r3, 0x3 + ble _080C8FE8 +_080C900A: + cmp r3, 0x4 + bne _080C906E + ldr r2, [r4] + ldrb r1, [r2, 0x3] + ldrb r0, [r2, 0x4] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x6] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + b _080C9074 + .align 2, 0 +_080C9028: .4byte gUnknown_2023BE4 +_080C902C: .4byte gUnknown_2023D6B +_080C9030: .4byte gUnknown_8250C04 +_080C9034: .4byte gUnknown_2039A00 +_080C9038: + movs r3, 0 + ldr r0, _080C907C @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r1, [r0, 0x18] + ldr r0, _080C9080 @ =gUnknown_2023D6C + ldrb r0, [r0] + lsrs r0, 1 + lsls r0, 4 + adds r2, r0, r1 + ldr r5, _080C9084 @ =gUnknown_8250C04 +_080C904C: + ldrh r0, [r2] + cmp r0, 0 + beq _080C9066 + adds r1, r0, 0 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + ldr r1, [r4] + ldrb r0, [r0] + ldrb r1, [r1, 0x2] + cmp r0, r1 + beq _080C906E +_080C9066: + adds r2, 0x2 + adds r3, 0x1 + cmp r3, 0x7 + ble _080C904C +_080C906E: + ldr r0, [r4] + adds r0, 0x7 + str r0, [r4] +_080C9074: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080C907C: .4byte gUnknown_2023FF4 +_080C9080: .4byte gUnknown_2023D6C +_080C9084: .4byte gUnknown_8250C04 + thumb_func_end sub_80C8FB0 + + thumb_func_start sub_80C9088 +sub_80C9088: @ 80C9088 + push {r4,r5,lr} + ldr r0, _080C909C @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r5, r0, 0 + cmp r1, 0x1 + bne _080C90A4 + ldr r0, _080C90A0 @ =gUnknown_2023D6B + b _080C90A6 + .align 2, 0 +_080C909C: .4byte gUnknown_2039A00 +_080C90A0: .4byte gUnknown_2023D6B +_080C90A4: + ldr r0, _080C90C4 @ =gUnknown_2023D6C +_080C90A6: + ldrb r3, [r0] + adds r4, r5, 0 + ldr r2, [r4] + ldrb r0, [r2, 0x2] + cmp r0, 0 + bne _080C90CC + ldr r0, _080C90C8 @ =gUnknown_2023E0C + lsls r1, r3, 3 + subs r1, r3 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r1, 0x4] + cmp r0, 0 + beq _080C90D0 + b _080C90E6 + .align 2, 0 +_080C90C4: .4byte gUnknown_2023D6C +_080C90C8: .4byte gUnknown_2023E0C +_080C90CC: + cmp r0, 0x1 + beq _080C90D6 +_080C90D0: + adds r0, r2, 0x7 + str r0, [r4] + b _080C9108 +_080C90D6: + ldr r0, _080C9100 @ =gUnknown_2023E0C + lsls r1, r3, 3 + subs r1, r3 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r1, 0x6] + cmp r0, 0 + beq _080C9104 +_080C90E6: + ldrb r1, [r2, 0x3] + ldrb r0, [r2, 0x4] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x5] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x6] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + b _080C9108 + .align 2, 0 +_080C9100: .4byte gUnknown_2023E0C +_080C9104: + adds r0, r2, 0x7 + str r0, [r5] +_080C9108: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80C9088 + + thumb_func_start sub_80C9110 +sub_80C9110: @ 80C9110 + push {r4,lr} + ldr r4, _080C9124 @ =gUnknown_2039A00 + ldr r3, [r4] + ldrb r0, [r3, 0x1] + cmp r0, 0 + beq _080C9128 + cmp r0, 0x1 + beq _080C9154 + b _080C9194 + .align 2, 0 +_080C9124: .4byte gUnknown_2039A00 +_080C9128: + ldr r2, _080C9148 @ =gUnknown_2023E0C + ldr r0, _080C914C @ =gUnknown_2023BC4 + ldrb r1, [r0] + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r1, _080C9150 @ =gUnknown_2023FF4 + ldr r1, [r1] + ldr r1, [r1, 0x14] + ldrh r0, [r0, 0x4] + ldrh r1, [r1, 0x2] + cmp r0, r1 + beq _080C9170 + b _080C9194 + .align 2, 0 +_080C9148: .4byte gUnknown_2023E0C +_080C914C: .4byte gUnknown_2023BC4 +_080C9150: .4byte gUnknown_2023FF4 +_080C9154: + ldr r2, _080C9188 @ =gUnknown_2023E0C + ldr r0, _080C918C @ =gUnknown_2023BC4 + ldrb r1, [r0] + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r1, _080C9190 @ =gUnknown_2023FF4 + ldr r1, [r1] + ldr r1, [r1, 0x14] + ldrh r0, [r0, 0x6] + ldrh r1, [r1, 0x2] + cmp r0, r1 + bne _080C9194 +_080C9170: + ldrb r1, [r3, 0x2] + ldrb r0, [r3, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r3, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r3, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + b _080C9198 + .align 2, 0 +_080C9188: .4byte gUnknown_2023E0C +_080C918C: .4byte gUnknown_2023BC4 +_080C9190: .4byte gUnknown_2023FF4 +_080C9194: + adds r0, r3, 0x6 + str r0, [r4] +_080C9198: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_80C9110 + + thumb_func_start sub_80C91A0 +sub_80C91A0: @ 80C91A0 + ldr r0, _080C91B0 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r2, [r0, 0x14] + ldrb r1, [r2, 0x10] + movs r0, 0xB + orrs r0, r1 + strb r0, [r2, 0x10] + bx lr + .align 2, 0 +_080C91B0: .4byte gUnknown_2023FF4 + thumb_func_end sub_80C91A0 + + thumb_func_start sub_80C91B4 +sub_80C91B4: @ 80C91B4 + push {r4,lr} + ldr r0, _080C91D8 @ =gUnknown_2023FE8 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x79 + ldrb r0, [r0] + cmp r0, 0 + beq _080C91DC + adds r0, r1, 0 + adds r0, 0x7B + ldrb r0, [r0] + lsls r0, 25 + lsrs r4, r0, 24 + cmp r4, 0x14 + bls _080C91FC + movs r4, 0x14 + b _080C91FC + .align 2, 0 +_080C91D8: .4byte gUnknown_2023FE8 +_080C91DC: + adds r0, r1, 0 + adds r0, 0x7A + ldrb r0, [r0] + cmp r0, 0 + beq _080C91F6 + adds r0, r1, 0 + adds r0, 0x7B + ldrb r0, [r0] + lsrs r4, r0, 2 + cmp r4, 0 + bne _080C91FC + movs r4, 0x1 + b _080C91FC +_080C91F6: + adds r0, r1, 0 + adds r0, 0x7B + ldrb r4, [r0] +_080C91FC: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8044EC8 + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x64 + bl __umodsi3 + lsls r0, 24 + lsrs r0, 24 + cmp r0, r4 + bcs _080C923C + ldr r3, _080C9238 @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + ldrb r0, [r2, 0x2] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C9244 + .align 2, 0 +_080C9238: .4byte gUnknown_2039A00 +_080C923C: + ldr r1, _080C924C @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x5 + str r0, [r1] +_080C9244: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080C924C: .4byte gUnknown_2039A00 + thumb_func_end sub_80C91B4 + + thumb_func_start sub_80C9250 +sub_80C9250: @ 80C9250 + ldr r0, _080C9260 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r2, [r0, 0x14] + ldrb r1, [r2, 0x10] + movs r0, 0xD + orrs r0, r1 + strb r0, [r2, 0x10] + bx lr + .align 2, 0 +_080C9260: .4byte gUnknown_2023FF4 + thumb_func_end sub_80C9250 + + thumb_func_start sub_80C9264 +sub_80C9264: @ 80C9264 + push {r4,lr} + ldr r0, _080C9274 @ =gUnknown_2039A00 + ldr r0, [r0] + ldrb r0, [r0, 0x1] + cmp r0, 0x1 + bne _080C927C + ldr r0, _080C9278 @ =gUnknown_2023D6B + b _080C927E + .align 2, 0 +_080C9274: .4byte gUnknown_2039A00 +_080C9278: .4byte gUnknown_2023D6B +_080C927C: + ldr r0, _080C92A8 @ =gUnknown_2023D6C +_080C927E: + ldrb r4, [r0] + adds r0, r4, 0 + bl sub_80751C4 + lsls r0, 24 + cmp r0, 0 + bne _080C92B0 + adds r0, r4, 0 + bl sub_80751D8 + movs r1, 0x1 + ands r1, r0 + ldr r0, _080C92AC @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r2, [r0, 0x14] + ldr r0, [r0, 0x18] + adds r0, 0x22 + adds r0, r1 + ldrb r0, [r0] + str r0, [r2, 0x8] + b _080C92CA + .align 2, 0 +_080C92A8: .4byte gUnknown_2023D6C +_080C92AC: .4byte gUnknown_2023FF4 +_080C92B0: + ldr r1, _080C92D8 @ =gUnknown_2023BE4 + movs r0, 0x58 + muls r0, r4 + adds r0, r1 + ldrh r0, [r0, 0x2E] + bl sub_809A924 + ldr r1, _080C92DC @ =gUnknown_2023FF4 + ldr r1, [r1] + ldr r1, [r1, 0x14] + lsls r0, 24 + lsrs r0, 24 + str r0, [r1, 0x8] +_080C92CA: + ldr r1, _080C92E0 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x2 + str r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080C92D8: .4byte gUnknown_2023BE4 +_080C92DC: .4byte gUnknown_2023FF4 +_080C92E0: .4byte gUnknown_2039A00 + thumb_func_end sub_80C9264 + + thumb_func_start sub_80C92E4 +sub_80C92E4: @ 80C92E4 + push {lr} + ldr r0, _080C92F4 @ =gUnknown_2039A00 + ldr r0, [r0] + ldrb r0, [r0, 0x1] + cmp r0, 0x1 + bne _080C92FC + ldr r0, _080C92F8 @ =gUnknown_2023D6B + b _080C92FE + .align 2, 0 +_080C92F4: .4byte gUnknown_2039A00 +_080C92F8: .4byte gUnknown_2023D6B +_080C92FC: + ldr r0, _080C932C @ =gUnknown_2023D6C +_080C92FE: + ldrb r1, [r0] + ldr r2, _080C9330 @ =gUnknown_2023BE4 + movs r0, 0x58 + muls r1, r0 + adds r0, r1, r2 + ldrh r0, [r0] + adds r2, 0x48 + adds r1, r2 + ldr r1, [r1] + bl sub_803F78C + ldr r1, _080C9334 @ =gUnknown_2023FF4 + ldr r1, [r1] + ldr r1, [r1, 0x14] + lsls r0, 24 + lsrs r0, 24 + str r0, [r1, 0x8] + ldr r1, _080C9338 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x2 + str r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_080C932C: .4byte gUnknown_2023D6C +_080C9330: .4byte gUnknown_2023BE4 +_080C9334: .4byte gUnknown_2023FF4 +_080C9338: .4byte gUnknown_2039A00 + thumb_func_end sub_80C92E4 + + thumb_func_start sub_80C933C +sub_80C933C: @ 80C933C + push {r4,lr} + ldr r0, _080C9350 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r4, r0, 0 + cmp r1, 0x1 + bne _080C9358 + ldr r0, _080C9354 @ =gUnknown_2023D6B + b _080C935A + .align 2, 0 +_080C9350: .4byte gUnknown_2039A00 +_080C9354: .4byte gUnknown_2023D6B +_080C9358: + ldr r0, _080C937C @ =gUnknown_2023D6C +_080C935A: + ldrb r3, [r0] + ldr r0, _080C9380 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r2, [r0, 0x14] + ldr r1, _080C9384 @ =gUnknown_2023E0C + lsls r0, r3, 3 + subs r0, r3 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x16] + str r0, [r2, 0x8] + ldr r0, [r4] + adds r0, 0x2 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080C937C: .4byte gUnknown_2023D6C +_080C9380: .4byte gUnknown_2023FF4 +_080C9384: .4byte gUnknown_2023E0C + thumb_func_end sub_80C933C + + thumb_func_start sub_80C9388 +sub_80C9388: @ 80C9388 + push {r4,lr} + ldr r0, _080C939C @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r4, r0, 0 + cmp r1, 0x1 + bne _080C93A4 + ldr r0, _080C93A0 @ =gUnknown_2023D6B + b _080C93A6 + .align 2, 0 +_080C939C: .4byte gUnknown_2039A00 +_080C93A0: .4byte gUnknown_2023D6B +_080C93A4: + ldr r0, _080C93C8 @ =gUnknown_2023D6C +_080C93A6: + ldrb r3, [r0] + ldr r0, _080C93CC @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r2, [r0, 0x14] + ldr r1, _080C93D0 @ =gUnknown_2023E0C + lsls r0, r3, 3 + subs r0, r3 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x9] + str r0, [r2, 0x8] + ldr r0, [r4] + adds r0, 0x2 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080C93C8: .4byte gUnknown_2023D6C +_080C93CC: .4byte gUnknown_2023FF4 +_080C93D0: .4byte gUnknown_2023E0C + thumb_func_end sub_80C9388 + + thumb_func_start sub_80C93D4 +sub_80C93D4: @ 80C93D4 + ldr r0, _080C93F0 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r2, [r0, 0x14] + ldr r0, _080C93F4 @ =gUnknown_2022B4C + ldr r0, [r0] + movs r1, 0x1 + ands r0, r1 + str r0, [r2, 0x8] + ldr r1, _080C93F8 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + bx lr + .align 2, 0 +_080C93F0: .4byte gUnknown_2023FF4 +_080C93F4: .4byte gUnknown_2022B4C +_080C93F8: .4byte gUnknown_2039A00 + thumb_func_end sub_80C93D4 + + thumb_func_start sub_80C93FC +sub_80C93FC: @ 80C93FC + push {r4,lr} + ldr r0, _080C9410 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r4, r0, 0 + cmp r1, 0x1 + bne _080C9418 + ldr r0, _080C9414 @ =gUnknown_2023D6B + b _080C941A + .align 2, 0 +_080C9410: .4byte gUnknown_2039A00 +_080C9414: .4byte gUnknown_2023D6B +_080C9418: + ldr r0, _080C943C @ =gUnknown_2023D6C +_080C941A: + ldrb r3, [r0] + ldr r0, _080C9440 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r2, [r0, 0x14] + ldr r0, _080C9444 @ =gUnknown_2023FE8 + ldr r1, [r0] + lsls r0, r3, 1 + adds r0, r1 + adds r0, 0xB8 + ldrb r0, [r0] + str r0, [r2, 0x8] + ldr r0, [r4] + adds r0, 0x2 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080C943C: .4byte gUnknown_2023D6C +_080C9440: .4byte gUnknown_2023FF4 +_080C9444: .4byte gUnknown_2023FE8 + thumb_func_end sub_80C93FC + + thumb_func_start sub_80C9448 +sub_80C9448: @ 80C9448 + ldr r0, _080C9468 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r3, [r0, 0x14] + ldr r2, _080C946C @ =gUnknown_8250C04 + ldr r1, [r3, 0x8] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x2] + str r0, [r3, 0x8] + ldr r1, _080C9470 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + bx lr + .align 2, 0 +_080C9468: .4byte gUnknown_2023FF4 +_080C946C: .4byte gUnknown_8250C04 +_080C9470: .4byte gUnknown_2039A00 + thumb_func_end sub_80C9448 + + thumb_func_start sub_80C9474 +sub_80C9474: @ 80C9474 + ldr r0, _080C9494 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r3, [r0, 0x14] + ldr r2, _080C9498 @ =gUnknown_8250C04 + ldr r1, [r3, 0x8] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x1] + str r0, [r3, 0x8] + ldr r1, _080C949C @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + bx lr + .align 2, 0 +_080C9494: .4byte gUnknown_2023FF4 +_080C9498: .4byte gUnknown_8250C04 +_080C949C: .4byte gUnknown_2039A00 + thumb_func_end sub_80C9474 + + thumb_func_start sub_80C94A0 +sub_80C94A0: @ 80C94A0 + ldr r0, _080C94C0 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r3, [r0, 0x14] + ldr r2, _080C94C4 @ =gUnknown_8250C04 + ldr r1, [r3, 0x8] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0] + str r0, [r3, 0x8] + ldr r1, _080C94C8 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + bx lr + .align 2, 0 +_080C94C0: .4byte gUnknown_2023FF4 +_080C94C4: .4byte gUnknown_8250C04 +_080C94C8: .4byte gUnknown_2039A00 + thumb_func_end sub_80C94A0 + + thumb_func_start sub_80C94CC +sub_80C94CC: @ 80C94CC + push {r4,lr} + ldr r0, _080C94E0 @ =gUnknown_2039A00 + ldr r1, [r0] + ldrb r1, [r1, 0x1] + adds r4, r0, 0 + cmp r1, 0x1 + bne _080C94E8 + ldr r0, _080C94E4 @ =gUnknown_2023D6B + b _080C94EA + .align 2, 0 +_080C94E0: .4byte gUnknown_2039A00 +_080C94E4: .4byte gUnknown_2023D6B +_080C94E8: + ldr r0, _080C950C @ =gUnknown_2023D6C +_080C94EA: + ldrb r3, [r0] + ldr r0, _080C9510 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r2, [r0, 0x14] + ldr r1, _080C9514 @ =gUnknown_2023E0C + lsls r0, r3, 3 + subs r0, r3 + lsls r0, 2 + adds r0, r1 + ldrb r0, [r0, 0x8] + str r0, [r2, 0x8] + ldr r0, [r4] + adds r0, 0x2 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080C950C: .4byte gUnknown_2023D6C +_080C9510: .4byte gUnknown_2023FF4 +_080C9514: .4byte gUnknown_2023E0C + thumb_func_end sub_80C94CC + + thumb_func_start nullsub_68 +nullsub_68: @ 80C9518 + bx lr + thumb_func_end nullsub_68 + + thumb_func_start nullsub_69 +nullsub_69: @ 80C951C + bx lr + thumb_func_end nullsub_69 + + thumb_func_start nullsub_70 +nullsub_70: @ 80C9520 + bx lr + thumb_func_end nullsub_70 + + thumb_func_start nullsub_71 +nullsub_71: @ 80C9524 + bx lr + thumb_func_end nullsub_71 + + thumb_func_start nullsub_72 +nullsub_72: @ 80C9528 + bx lr + thumb_func_end nullsub_72 + + thumb_func_start nullsub_73 +nullsub_73: @ 80C952C + bx lr + thumb_func_end nullsub_73 + + thumb_func_start sub_80C9530 +sub_80C9530: @ 80C9530 + push {r4,lr} + ldr r4, _080C955C @ =gUnknown_2039A00 + ldr r0, [r4] + adds r0, 0x5 + bl sub_80C971C + ldr r2, [r4] + ldrb r1, [r2, 0x1] + ldrb r0, [r2, 0x2] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 24 + orrs r1, r0 + str r1, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080C955C: .4byte gUnknown_2039A00 + thumb_func_end sub_80C9530 + + thumb_func_start sub_80C9560 +sub_80C9560: @ 80C9560 + ldr r3, _080C957C @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + ldrb r0, [r2, 0x2] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + bx lr + .align 2, 0 +_080C957C: .4byte gUnknown_2039A00 + thumb_func_end sub_80C9560 + + thumb_func_start sub_80C9580 +sub_80C9580: @ 80C9580 + push {lr} + bl sub_80C9768 + lsls r0, 24 + cmp r0, 0 + bne _080C959A + ldr r0, _080C95A0 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r2, [r0, 0x14] + ldrb r1, [r2, 0x10] + movs r0, 0x1 + orrs r0, r1 + strb r0, [r2, 0x10] +_080C959A: + pop {r0} + bx r0 + .align 2, 0 +_080C95A0: .4byte gUnknown_2023FF4 + thumb_func_end sub_80C9580 + + thumb_func_start sub_80C95A4 +sub_80C95A4: @ 80C95A4 + push {r4,r5,lr} + ldr r5, _080C95BC @ =gUnknown_2039A00 + ldr r4, [r5] + ldrb r0, [r4, 0x1] + cmp r0, 0x1 + beq _080C95F8 + cmp r0, 0x1 + bgt _080C95C0 + cmp r0, 0 + beq _080C95C6 + b _080C9674 + .align 2, 0 +_080C95BC: .4byte gUnknown_2039A00 +_080C95C0: + cmp r0, 0x2 + beq _080C9628 + b _080C9674 +_080C95C6: + ldr r3, _080C95EC @ =gUnknown_2023BE4 + ldr r0, _080C95F0 @ =gUnknown_2023D6B + ldrb r0, [r0] + movs r2, 0x58 + adds r1, r0, 0 + muls r1, r2 + adds r1, r3 + adds r1, 0x2A + ldr r0, _080C95F4 @ =gUnknown_2023D6C + ldrb r0, [r0] + muls r0, r2 + adds r0, r3 + adds r0, 0x2A + ldrb r1, [r1] + ldrb r0, [r0] + cmp r1, r0 + bhi _080C964A + b _080C9670 + .align 2, 0 +_080C95EC: .4byte gUnknown_2023BE4 +_080C95F0: .4byte gUnknown_2023D6B +_080C95F4: .4byte gUnknown_2023D6C +_080C95F8: + ldr r3, _080C961C @ =gUnknown_2023BE4 + ldr r0, _080C9620 @ =gUnknown_2023D6B + ldrb r0, [r0] + movs r2, 0x58 + adds r1, r0, 0 + muls r1, r2 + adds r1, r3 + adds r1, 0x2A + ldr r0, _080C9624 @ =gUnknown_2023D6C + ldrb r0, [r0] + muls r0, r2 + adds r0, r3 + adds r0, 0x2A + ldrb r1, [r1] + ldrb r0, [r0] + cmp r1, r0 + bcc _080C964A + b _080C9670 + .align 2, 0 +_080C961C: .4byte gUnknown_2023BE4 +_080C9620: .4byte gUnknown_2023D6B +_080C9624: .4byte gUnknown_2023D6C +_080C9628: + ldr r3, _080C9664 @ =gUnknown_2023BE4 + ldr r0, _080C9668 @ =gUnknown_2023D6B + ldrb r0, [r0] + movs r2, 0x58 + adds r1, r0, 0 + muls r1, r2 + adds r1, r3 + adds r1, 0x2A + ldr r0, _080C966C @ =gUnknown_2023D6C + ldrb r0, [r0] + muls r0, r2 + adds r0, r3 + adds r0, 0x2A + ldrb r1, [r1] + ldrb r0, [r0] + cmp r1, r0 + bne _080C9670 +_080C964A: + ldrb r1, [r4, 0x2] + ldrb r0, [r4, 0x3] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r4, 0x4] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r4, 0x5] + lsls r0, 24 + orrs r1, r0 + str r1, [r5] + b _080C9674 + .align 2, 0 +_080C9664: .4byte gUnknown_2023BE4 +_080C9668: .4byte gUnknown_2023D6B +_080C966C: .4byte gUnknown_2023D6C +_080C9670: + adds r0, r4, 0x6 + str r0, [r5] +_080C9674: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80C95A4 + + thumb_func_start sub_80C967C +sub_80C967C: @ 80C967C + push {lr} + ldr r2, _080C96B0 @ =gUnknown_2023E0C + ldr r0, _080C96B4 @ =gUnknown_2023D6C + ldrb r1, [r0] + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x13] + lsls r0, 28 + cmp r0, 0 + beq _080C96BC + ldr r3, _080C96B8 @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + ldrb r0, [r2, 0x2] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C96C4 + .align 2, 0 +_080C96B0: .4byte gUnknown_2023E0C +_080C96B4: .4byte gUnknown_2023D6C +_080C96B8: .4byte gUnknown_2039A00 +_080C96BC: + ldr r1, _080C96C8 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x5 + str r0, [r1] +_080C96C4: + pop {r0} + bx r0 + .align 2, 0 +_080C96C8: .4byte gUnknown_2039A00 + thumb_func_end sub_80C967C + + thumb_func_start sub_80C96CC +sub_80C96CC: @ 80C96CC + push {lr} + ldr r2, _080C9700 @ =gUnknown_2023E0C + ldr r0, _080C9704 @ =gUnknown_2023D6C + ldrb r1, [r0] + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x13] + lsls r0, 28 + cmp r0, 0 + bne _080C970C + ldr r3, _080C9708 @ =gUnknown_2039A00 + ldr r2, [r3] + ldrb r1, [r2, 0x1] + ldrb r0, [r2, 0x2] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r2, 0x4] + lsls r0, 24 + orrs r1, r0 + str r1, [r3] + b _080C9714 + .align 2, 0 +_080C9700: .4byte gUnknown_2023E0C +_080C9704: .4byte gUnknown_2023D6C +_080C9708: .4byte gUnknown_2039A00 +_080C970C: + ldr r1, _080C9718 @ =gUnknown_2039A00 + ldr r0, [r1] + adds r0, 0x5 + str r0, [r1] +_080C9714: + pop {r0} + bx r0 + .align 2, 0 +_080C9718: .4byte gUnknown_2039A00 + thumb_func_end sub_80C96CC + + thumb_func_start sub_80C971C +sub_80C971C: @ 80C971C + push {r4,lr} + ldr r1, _080C973C @ =gUnknown_2023FF4 + ldr r1, [r1] + ldr r3, [r1, 0x1C] + adds r4, r3, 0 + adds r4, 0x20 + ldrb r1, [r4] + adds r2, r1, 0x1 + strb r2, [r4] + lsls r1, 24 + lsrs r1, 22 + adds r3, r1 + str r0, [r3] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080C973C: .4byte gUnknown_2023FF4 + thumb_func_end sub_80C971C + + thumb_func_start sub_80C9740 +sub_80C9740: @ 80C9740 + ldr r0, _080C9760 @ =gUnknown_2023FF4 + ldr r0, [r0] + ldr r2, [r0, 0x1C] + adds r3, r2, 0 + adds r3, 0x20 + ldrb r0, [r3] + adds r1, r0, 0x1 + strb r1, [r3] + lsls r0, 24 + lsrs r0, 22 + adds r2, r0 + ldr r0, _080C9764 @ =gUnknown_2039A00 + ldr r0, [r0] + str r0, [r2] + bx lr + .align 2, 0 +_080C9760: .4byte gUnknown_2023FF4 +_080C9764: .4byte gUnknown_2039A00 + thumb_func_end sub_80C9740 + + thumb_func_start sub_80C9768 +sub_80C9768: @ 80C9768 + push {lr} + ldr r3, _080C9780 @ =gUnknown_2023FF4 + ldr r0, [r3] + ldr r0, [r0, 0x1C] + adds r1, r0, 0 + adds r1, 0x20 + ldrb r0, [r1] + cmp r0, 0 + bne _080C9784 + movs r0, 0 + b _080C979E + .align 2, 0 +_080C9780: .4byte gUnknown_2023FF4 +_080C9784: + subs r0, 0x1 + strb r0, [r1] + ldr r2, _080C97A4 @ =gUnknown_2039A00 + ldr r0, [r3] + ldr r1, [r0, 0x1C] + adds r0, r1, 0 + adds r0, 0x20 + ldrb r0, [r0] + lsls r0, 2 + adds r1, r0 + ldr r0, [r1] + str r0, [r2] + movs r0, 0x1 +_080C979E: + pop {r1} + bx r1 + .align 2, 0 +_080C97A4: .4byte gUnknown_2039A00 + thumb_func_end sub_80C9768 + + .align 2, 0 @ Don't pad with nop. |