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/quest_log.s |
first commit
Diffstat (limited to 'asm/quest_log.s')
-rw-r--r-- | asm/quest_log.s | 10369 |
1 files changed, 10369 insertions, 0 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s new file mode 100644 index 000000000..9c453d6e4 --- /dev/null +++ b/asm/quest_log.s @@ -0,0 +1,10369 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_8110840 +sub_8110840: @ 8110840 + push {lr} + ldr r1, _08110888 @ =gUnknown_3005008 + ldr r1, [r1] + subs r1, r0 + ldr r2, _0811088C @ =gUnknown_203AE04 + ldr r0, [r2] + cmp r0, 0 + beq _08110854 + adds r0, r1 + str r0, [r2] +_08110854: + ldr r0, _08110890 @ =gUnknown_203ADFA + ldrb r2, [r0] + cmp r2, 0 + beq _08110882 + ldr r3, _08110894 @ =gUnknown_203AE08 + ldr r0, [r3] + cmp r0, 0 + beq _08110868 + adds r0, r1 + str r0, [r3] +_08110868: + cmp r2, 0x2 + bne _08110882 + ldr r2, _08110898 @ =gUnknown_203AE0C + movs r3, 0x1F +_08110870: + ldr r0, [r2] + cmp r0, 0 + beq _0811087A + adds r0, r1 + str r0, [r2] +_0811087A: + adds r2, 0x4 + subs r3, 0x1 + cmp r3, 0 + bge _08110870 +_08110882: + pop {r0} + bx r0 + .align 2, 0 +_08110888: .4byte gUnknown_3005008 +_0811088C: .4byte gUnknown_203AE04 +_08110890: .4byte gUnknown_203ADFA +_08110894: .4byte gUnknown_203AE08 +_08110898: .4byte gUnknown_203AE0C + thumb_func_end sub_8110840 + + thumb_func_start sub_811089C +sub_811089C: @ 811089C + push {lr} + ldr r0, _081108D8 @ =gUnknown_3005008 + ldr r0, [r0] + movs r1, 0x98 + lsls r1, 5 + adds r0, r1 + movs r2, 0xCD + lsls r2, 5 + movs r1, 0 + bl memset + ldr r0, _081108DC @ =gUnknown_203ADF8 + movs r1, 0 + strb r1, [r0] + ldr r0, _081108E0 @ =gUnknown_203ADFA + strb r1, [r0] + ldr r0, _081108E4 @ =gUnknown_203AE8C + movs r1, 0 + str r1, [r0] + ldr r0, _081108E8 @ =gUnknown_203AE08 + str r1, [r0] + ldr r0, _081108EC @ =gUnknown_203AE04 + str r1, [r0] + bl sub_8113BD8 + bl sub_81138F8 + pop {r0} + bx r0 + .align 2, 0 +_081108D8: .4byte gUnknown_3005008 +_081108DC: .4byte gUnknown_203ADF8 +_081108E0: .4byte gUnknown_203ADFA +_081108E4: .4byte gUnknown_203AE8C +_081108E8: .4byte gUnknown_203AE08 +_081108EC: .4byte gUnknown_203AE04 + thumb_func_end sub_811089C + + thumb_func_start sub_81108F0 +sub_81108F0: @ 81108F0 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _08110918 @ =gUnknown_3005008 + ldr r1, [r1] + movs r2, 0xCD + lsls r2, 3 + muls r0, r2 + adds r0, r1 + movs r1, 0x98 + lsls r1, 5 + adds r0, r1 + movs r1, 0 + bl memset + ldr r1, _0811091C @ =gUnknown_203AE04 + movs r0, 0 + str r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_08110918: .4byte gUnknown_3005008 +_0811091C: .4byte gUnknown_203AE04 + thumb_func_end sub_81108F0 + + thumb_func_start sub_8110920 +sub_8110920: @ 8110920 + ldr r1, _08110928 @ =gUnknown_203AE04 + movs r0, 0 + str r0, [r1] + bx lr + .align 2, 0 +_08110928: .4byte gUnknown_203AE04 + thumb_func_end sub_8110920 + + thumb_func_start sub_811092C +sub_811092C: @ 811092C + push {lr} + ldr r0, _08110940 @ =gUnknown_203AE8C + ldr r0, [r0] + cmp r0, 0 + beq _0811093A + bl _call_via_r0 +_0811093A: + pop {r0} + bx r0 + .align 2, 0 +_08110940: .4byte gUnknown_203AE8C + thumb_func_end sub_811092C + + thumb_func_start sub_8110944 +sub_8110944: @ 8110944 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _08110978 @ =gUnknown_3005008 + ldr r0, _0811097C @ =gUnknown_203ADF8 + ldrb r0, [r0] + movs r3, 0xCD + lsls r3, 3 + adds r2, r0, 0 + muls r2, r3 + movs r0, 0x98 + lsls r0, 5 + adds r2, r0 + ldr r0, [r4] + adds r0, r2 + movs r4, 0xAD + lsls r4, 3 + adds r2, r0, r4 + adds r0, r3 + subs r0, r1 + cmp r5, r2 + bcc _08110972 + cmp r5, r0 + bls _08110980 +_08110972: + movs r0, 0 + b _08110982 + .align 2, 0 +_08110978: .4byte gUnknown_3005008 +_0811097C: .4byte gUnknown_203ADF8 +_08110980: + movs r0, 0x1 +_08110982: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8110944 + + thumb_func_start sub_8110988 +sub_8110988: @ 8110988 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _081109BC @ =gUnknown_3005008 + ldr r0, _081109C0 @ =gUnknown_203ADF8 + ldrb r0, [r0] + movs r3, 0xCD + lsls r3, 3 + adds r2, r0, 0 + muls r2, r3 + movs r0, 0x98 + lsls r0, 5 + adds r2, r0 + ldr r0, [r4] + adds r0, r2 + movs r4, 0xAD + lsls r4, 3 + adds r2, r0, r4 + adds r0, r3 + subs r0, r1 + cmp r5, r2 + bcc _081109B6 + cmp r5, r0 + bls _081109C4 +_081109B6: + movs r0, 0 + b _081109C6 + .align 2, 0 +_081109BC: .4byte gUnknown_3005008 +_081109C0: .4byte gUnknown_203ADF8 +_081109C4: + movs r0, 0x1 +_081109C6: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8110988 + + thumb_func_start sub_81109CC +sub_81109CC: @ 81109CC + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _081109E0 @ =gUnknown_203ADFA + strb r0, [r1] + cmp r0, 0x1 + bne _081109EC + ldr r1, _081109E4 @ =gUnknown_203AE8C + ldr r0, _081109E8 @ =sub_8110A00 + b _081109F0 + .align 2, 0 +_081109E0: .4byte gUnknown_203ADFA +_081109E4: .4byte gUnknown_203AE8C +_081109E8: .4byte sub_8110A00 +_081109EC: + ldr r1, _081109F8 @ =gUnknown_203AE8C + ldr r0, _081109FC @ =sub_8110A3C +_081109F0: + str r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_081109F8: .4byte gUnknown_203AE8C +_081109FC: .4byte sub_8110A3C + thumb_func_end sub_81109CC + + thumb_func_start sub_8110A00 +sub_8110A00: @ 8110A00 + push {r4,lr} + ldr r0, _08110A2C @ =gUnknown_203AE98 + bl sub_8110E68 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08110A24 + ldr r0, _08110A30 @ =gUnknown_3005E88 + movs r4, 0 + strb r4, [r0] + bl sub_8110E3C + ldr r0, _08110A34 @ =gUnknown_203ADFA + strb r4, [r0] + ldr r1, _08110A38 @ =gUnknown_203AE8C + movs r0, 0 + str r0, [r1] +_08110A24: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08110A2C: .4byte gUnknown_203AE98 +_08110A30: .4byte gUnknown_3005E88 +_08110A34: .4byte gUnknown_203ADFA +_08110A38: .4byte gUnknown_203AE8C + thumb_func_end sub_8110A00 + + thumb_func_start sub_8110A3C +sub_8110A3C: @ 8110A3C + push {r4,lr} + ldr r1, _08110A8C @ =gUnknown_203AE94 + ldrb r2, [r1] + movs r4, 0xF + adds r0, r4, 0 + ands r0, r2 + adds r3, r1, 0 + cmp r0, 0x2 + bne _08110A56 + movs r0, 0x10 + negs r0, r0 + ands r0, r2 + strb r0, [r3] +_08110A56: + ldrb r1, [r3] + movs r0, 0xC0 + ands r0, r1 + cmp r0, 0 + bne _08110AAE + ldr r0, _08110A90 @ =gUnknown_3005E88 + ldrb r0, [r0] + cmp r0, 0 + bne _08110A84 + adds r0, r4, 0 + ands r0, r1 + cmp r0, 0x1 + beq _08110A84 + ldrb r0, [r3, 0x1] + cmp r0, 0x1F + bhi _08110A98 + ldr r0, _08110A94 @ =gUnknown_203AE0C + ldrb r1, [r3, 0x1] + lsls r1, 2 + adds r1, r0 + ldr r0, [r1] + cmp r0, 0 + beq _08110A98 +_08110A84: + bl sub_8111AD8 + b _08110AAE + .align 2, 0 +_08110A8C: .4byte gUnknown_203AE94 +_08110A90: .4byte gUnknown_3005E88 +_08110A94: .4byte gUnknown_203AE0C +_08110A98: + ldrb r0, [r3] + movs r1, 0x3F + ands r1, r0 + movs r0, 0x80 + orrs r1, r0 + strb r1, [r3] + bl sub_8069940 + movs r0, 0 + bl sub_81118F4 +_08110AAE: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8110A3C + + thumb_func_start sub_8110AB4 +sub_8110AB4: @ 8110AB4 + ldr r0, _08110AC0 @ =gUnknown_20370D0 + ldr r1, _08110AC4 @ =gUnknown_203ADFA + ldrb r1, [r1] + strh r1, [r0] + bx lr + .align 2, 0 +_08110AC0: .4byte gUnknown_20370D0 +_08110AC4: .4byte gUnknown_203ADFA + thumb_func_end sub_8110AB4 + + thumb_func_start sub_8110AC8 +sub_8110AC8: @ 8110AC8 + ldr r0, _08110AE4 @ =gUnknown_3005008 + ldr r1, [r0] + ldr r0, _08110AE8 @ =gUnknown_203ADF8 + ldrb r2, [r0] + movs r0, 0xCD + lsls r0, 3 + muls r0, r2 + adds r1, r0 + movs r0, 0x98 + lsls r0, 5 + adds r1, r0 + ldrb r0, [r1] + bx lr + .align 2, 0 +_08110AE4: .4byte gUnknown_3005008 +_08110AE8: .4byte gUnknown_203ADF8 + thumb_func_end sub_8110AC8 + + thumb_func_start sub_8110AEC +sub_8110AEC: @ 8110AEC + push {r4-r7,lr} + lsls r0, 16 + lsrs r6, r0, 16 + ldr r4, _08110B44 @ =gUnknown_203ADF8 + ldrb r0, [r4] + cmp r0, 0x3 + bls _08110AFE + movs r0, 0 + strb r0, [r4] +_08110AFE: + ldrb r0, [r4] + bl sub_81108F0 + bl sub_8113B88 + ldr r2, _08110B48 @ =gUnknown_203AE08 + ldr r1, _08110B4C @ =gUnknown_3005008 + ldrb r0, [r4] + movs r3, 0xCD + lsls r3, 3 + muls r0, r3 + movs r5, 0x98 + lsls r5, 5 + adds r0, r5 + ldr r1, [r1] + adds r0, r1, r0 + movs r7, 0xAD + lsls r7, 3 + adds r0, r7 + str r0, [r2] + adds r0, r6, 0 + subs r0, 0xC + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x7 + bls _08110B36 + cmp r6, 0x23 + bne _08110B50 +_08110B36: + ldrb r0, [r4] + muls r0, r3 + adds r0, r1, r0 + adds r0, r5 + movs r1, 0x2 + b _08110B5A + .align 2, 0 +_08110B44: .4byte gUnknown_203ADF8 +_08110B48: .4byte gUnknown_203AE08 +_08110B4C: .4byte gUnknown_3005008 +_08110B50: + ldrb r0, [r4] + muls r0, r3 + adds r0, r1, r0 + adds r0, r5 + movs r1, 0x1 +_08110B5A: + strb r1, [r0] + bl sub_81115E8 + ldr r4, _08110BA4 @ =gUnknown_203ADF8 + ldrb r0, [r4] + bl sub_8110BB0 + ldrb r0, [r4] + bl sub_8110BE8 + bl sub_8110D94 + bl sub_8110E20 + ldrb r0, [r4] + bl sub_8110D48 + ldr r1, _08110BA8 @ =gUnknown_203ADFC + movs r0, 0 + strh r0, [r1] + ldr r4, _08110BAC @ =gUnknown_203AE98 + movs r2, 0x80 + lsls r2, 1 + movs r0, 0x2 + adds r1, r4, 0 + bl sub_8112940 + adds r0, r4, 0 + bl sub_8110E68 + movs r0, 0x1 + bl sub_81109CC + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08110BA4: .4byte gUnknown_203ADF8 +_08110BA8: .4byte gUnknown_203ADFC +_08110BAC: .4byte gUnknown_203AE98 + thumb_func_end sub_8110AEC + + thumb_func_start sub_8110BB0 +sub_8110BB0: @ 8110BB0 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08110BE4 @ =gUnknown_3005008 + movs r1, 0xCD + lsls r1, 3 + muls r1, r0 + movs r0, 0x98 + lsls r0, 5 + adds r1, r0 + ldr r0, [r2] + adds r1, r0, r1 + ldrb r0, [r0, 0x4] + strb r0, [r1, 0x1] + ldr r0, [r2] + ldrb r0, [r0, 0x5] + strb r0, [r1, 0x2] + ldr r0, [r2] + ldrb r0, [r0, 0x6] + strb r0, [r1, 0x3] + ldr r2, [r2] + ldrh r0, [r2] + strh r0, [r1, 0x4] + ldrh r0, [r2, 0x2] + strh r0, [r1, 0x6] + bx lr + .align 2, 0 +_08110BE4: .4byte gUnknown_3005008 + thumb_func_end sub_8110BB0 + + thumb_func_start sub_8110BE8 +sub_8110BE8: @ 8110BE8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r0, 24 + ldr r4, _08110C54 @ =gUnknown_3005008 + movs r1, 0xCD + lsls r1, 3 + muls r0, r1 + movs r1, 0x98 + lsls r1, 5 + adds r0, r1 + ldr r1, [r4] + adds r7, r1, r0 + adds r0, r7, 0 + bl sub_815A008 + movs r6, 0 + mov r9, r4 + movs r2, 0x8D + lsls r2, 3 + mov r8, r2 + ldr r3, _08110C58 @ =0x0000046a + mov r10, r3 +_08110C1C: + mov r4, r9 + ldr r1, [r4] + lsls r2, r6, 1 + adds r0, r2, r6 + lsls r0, 3 + adds r1, r0 + ldr r0, _08110C5C @ =0x000008e4 + adds r1, r0 + ldrh r4, [r1] + movs r3, 0 + ldrsh r0, [r1, r3] + mov r12, r2 + cmp r0, 0 + bge _08110C64 + lsls r3, r6, 2 + adds r2, r7, r3 + negs r0, r0 + mov r4, r8 + adds r1, r2, r4 + strb r0, [r1] + ldr r0, _08110C60 @ =0x00000469 + adds r2, r0 + ldrb r0, [r2] + movs r1, 0x1 + orrs r0, r1 + strb r0, [r2] + b _08110C7C + .align 2, 0 +_08110C54: .4byte gUnknown_3005008 +_08110C58: .4byte 0x0000046a +_08110C5C: .4byte 0x000008e4 +_08110C60: .4byte 0x00000469 +_08110C64: + lsls r3, r6, 2 + adds r1, r7, r3 + mov r2, r8 + adds r0, r1, r2 + strb r4, [r0] + ldr r4, _08110CBC @ =0x00000469 + adds r1, r4 + ldrb r2, [r1] + movs r0, 0x2 + negs r0, r0 + ands r0, r2 + strb r0, [r1] +_08110C7C: + adds r5, r3, 0 + mov r1, r9 + ldr r0, [r1] + mov r2, r12 + adds r1, r2, r6 + lsls r1, 3 + adds r0, r1 + ldr r3, _08110CC0 @ =0x000008e6 + adds r1, r0, r3 + ldrh r2, [r1] + movs r4, 0 + ldrsh r0, [r1, r4] + cmp r0, 0 + bge _08110CC8 + adds r3, r7, r5 + adds r1, r0, 0 + negs r1, r1 + lsls r1, 24 + mov r2, r8 + adds r4, r3, r2 + lsrs r1, 15 + ldr r0, [r4] + ldr r2, _08110CC4 @ =0xfffe01ff + ands r0, r2 + orrs r0, r1 + str r0, [r4] + add r3, r10 + ldrb r0, [r3] + movs r1, 0x2 + orrs r0, r1 + b _08110CE6 + .align 2, 0 +_08110CBC: .4byte 0x00000469 +_08110CC0: .4byte 0x000008e6 +_08110CC4: .4byte 0xfffe01ff +_08110CC8: + adds r3, r7, r5 + lsls r2, 24 + mov r0, r8 + adds r4, r3, r0 + lsrs r2, 15 + ldr r0, [r4] + ldr r1, _08110D38 @ =0xfffe01ff + ands r0, r1 + orrs r0, r2 + str r0, [r4] + add r3, r10 + ldrb r1, [r3] + movs r0, 0x3 + negs r0, r0 + ands r0, r1 +_08110CE6: + strb r0, [r3] + adds r5, r7, r5 + mov r1, r9 + ldr r0, [r1] + mov r2, r12 + adds r3, r2, r6 + lsls r3, 3 + adds r0, r3 + ldr r4, _08110D3C @ =0x000008e8 + adds r0, r4 + ldrb r1, [r0] + mov r0, r10 + adds r4, r5, r0 + lsls r1, 2 + ldrb r2, [r4] + movs r0, 0x3 + ands r0, r2 + orrs r0, r1 + strb r0, [r4] + mov r1, r9 + ldr r0, [r1] + adds r0, r3 + ldr r2, _08110D40 @ =0x000008e9 + adds r0, r2 + ldrb r0, [r0] + ldr r3, _08110D44 @ =0x0000046b + adds r5, r3 + strb r0, [r5] + adds r0, r6, 0x1 + lsls r0, 16 + lsrs r6, r0, 16 + cmp r6, 0x3F + bhi _08110D2A + b _08110C1C +_08110D2A: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08110D38: .4byte 0xfffe01ff +_08110D3C: .4byte 0x000008e8 +_08110D40: .4byte 0x000008e9 +_08110D44: .4byte 0x0000046b + thumb_func_end sub_8110BE8 + + thumb_func_start sub_8110D48 +sub_8110D48: @ 8110D48 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r4, _08110D90 @ =gUnknown_3005008 + movs r1, 0xCD + lsls r1, 3 + muls r1, r0 + movs r0, 0x98 + lsls r0, 5 + adds r1, r0 + ldr r0, [r4] + adds r5, r0, r1 + movs r1, 0xEE + lsls r1, 4 + adds r0, r1 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r5, r2 + movs r2, 0x90 + bl CpuSet + ldr r0, [r4] + movs r1, 0x80 + lsls r1, 5 + adds r0, r1 + movs r2, 0x9A + lsls r2, 2 + adds r1, r5, r2 + movs r2, 0x80 + lsls r2, 1 + bl CpuSet + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08110D90: .4byte gUnknown_3005008 + thumb_func_end sub_8110D48 + + thumb_func_start sub_8110D94 +sub_8110D94: @ 8110D94 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xC + movs r4, 0 + ldr r0, _08110E14 @ =gUnknown_3005008 + mov r10, r0 + ldr r1, _08110E18 @ =0x0000063a + mov r9, r1 + movs r2, 0x1 + mov r8, r2 +_08110DAE: + lsls r1, r4, 1 + mov r7, sp + adds r2, r7, r1 + movs r0, 0 + strh r0, [r2] + movs r3, 0 + adds r6, r1, 0 + adds r0, r4, 0x1 + str r0, [sp, 0x8] + mov r1, r10 + ldr r0, [r1] + mov r7, r9 + adds r5, r0, r7 + lsls r1, r4, 4 +_08110DCA: + adds r0, r1, r3 + adds r0, r5, r0 + ldrb r0, [r0] + cmp r0, 0 + beq _08110DDE + mov r0, r8 + lsls r0, r3 + ldrh r7, [r2] + adds r0, r7 + strh r0, [r2] +_08110DDE: + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0xF + bls _08110DCA + ldr r1, _08110E1C @ =0x000040aa + adds r0, r4, r1 + lsls r0, 16 + lsrs r0, 16 + mov r2, sp + adds r1, r2, r6 + ldrh r1, [r1] + bl sub_806E584 + ldr r7, [sp, 0x8] + lsls r0, r7, 16 + lsrs r4, r0, 16 + cmp r4, 0x3 + bls _08110DAE + add sp, 0xC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08110E14: .4byte gUnknown_3005008 +_08110E18: .4byte 0x0000063a +_08110E1C: .4byte 0x000040aa + thumb_func_end sub_8110D94 + + thumb_func_start sub_8110E20 +sub_8110E20: @ 8110E20 + push {lr} + ldr r0, _08110E34 @ =0x000040ae + ldr r1, _08110E38 @ =gUnknown_3005008 + ldr r1, [r1] + ldrh r1, [r1, 0x32] + bl sub_806E584 + pop {r0} + bx r0 + .align 2, 0 +_08110E34: .4byte 0x000040ae +_08110E38: .4byte gUnknown_3005008 + thumb_func_end sub_8110E20 + + thumb_func_start sub_8110E3C +sub_8110E3C: @ 8110E3C + push {lr} + ldr r0, _08110E60 @ =gUnknown_203AE08 + ldr r0, [r0] + bl sub_8113BF4 + ldr r1, _08110E64 @ =gUnknown_203ADF8 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3 + bls _08110E5A + movs r0, 0 + strb r0, [r1] +_08110E5A: + pop {r0} + bx r0 + .align 2, 0 +_08110E60: .4byte gUnknown_203AE08 +_08110E64: .4byte gUnknown_203ADF8 + thumb_func_end sub_8110E3C + + thumb_func_start sub_8110E68 +sub_8110E68: @ 8110E68 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r7, r0, 0 + ldr r0, _08110EA0 @ =gUnknown_203ADFC + ldrh r5, [r0] + ldr r0, _08110EA4 @ =gUnknown_203AF98 + mov r8, r0 + ldrh r0, [r0] + cmp r5, r0 + bcs _08110ECA + ldr r6, _08110EA8 @ =gUnknown_203AE08 +_08110E80: + ldr r4, [r6] + cmp r4, 0 + beq _08110F02 + lsls r0, r5, 3 + adds r1, r0, r7 + ldrb r2, [r1, 0x6] + adds r3, r0, 0 + cmp r2, 0x1 + bgt _08110EAC + cmp r2, 0 + blt _08110EAC + adds r0, r4, 0 + bl sub_8113D48 + b _08110EB4 + .align 2, 0 +_08110EA0: .4byte gUnknown_203ADFC +_08110EA4: .4byte gUnknown_203AF98 +_08110EA8: .4byte gUnknown_203AE08 +_08110EAC: + ldr r0, [r6] + adds r1, r7, r3 + bl sub_8113CC8 +_08110EB4: + str r0, [r6] + ldr r1, [r6] + cmp r1, 0 + beq _08110EEC + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + ldr r0, _08110EE0 @ =gUnknown_203AF98 + ldrh r0, [r0] + cmp r5, r0 + bcc _08110E80 +_08110ECA: + ldr r0, _08110EE4 @ =gUnknown_3005E88 + ldrb r0, [r0] + cmp r0, 0 + beq _08110EF8 + ldr r1, _08110EE8 @ =gUnknown_203ADFC + mov r2, r8 + ldrh r0, [r2] + strh r0, [r1] + movs r0, 0x1 + b _08110F04 + .align 2, 0 +_08110EE0: .4byte gUnknown_203AF98 +_08110EE4: .4byte gUnknown_3005E88 +_08110EE8: .4byte gUnknown_203ADFC +_08110EEC: + ldr r0, _08110EF4 @ =gUnknown_3005E88 + strb r1, [r0] + b _08110F02 + .align 2, 0 +_08110EF4: .4byte gUnknown_3005E88 +_08110EF8: + ldr r4, _08110F10 @ =gUnknown_203AE08 + ldr r0, [r4] + bl sub_8113BF4 + str r0, [r4] +_08110F02: + movs r0, 0 +_08110F04: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08110F10: .4byte gUnknown_203AE08 + thumb_func_end sub_8110E68 + + thumb_func_start sub_8110F14 +sub_8110F14: @ 8110F14 + push {r4-r7,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_811381C + ldr r1, _08110F6C @ =gUnknown_203ADF9 + movs r0, 0 + strb r0, [r1] + movs r2, 0 + ldr r0, _08110F70 @ =gUnknown_3005008 + ldr r5, [r0] + movs r7, 0xCD + lsls r7, 3 + movs r6, 0x98 + lsls r6, 5 +_08110F32: + adds r0, r2, 0 + muls r0, r7 + adds r0, r5, r0 + adds r0, r6 + ldrb r0, [r0] + ldr r3, _08110F6C @ =gUnknown_203ADF9 + cmp r0, 0 + beq _08110F48 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] +_08110F48: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x3 + bls _08110F32 + ldrb r0, [r3] + cmp r0, 0 + beq _08110F78 + ldr r1, _08110F74 @ =gUnknown_3005ECC + movs r0, 0 + strb r0, [r1] + adds r0, r4, 0 + bl sub_8110F90 + adds r0, r4, 0 + bl sub_8077508 + b _08110F84 + .align 2, 0 +_08110F6C: .4byte gUnknown_203ADF9 +_08110F70: .4byte gUnknown_3005008 +_08110F74: .4byte gUnknown_3005ECC +_08110F78: + ldr r0, _08110F8C @ =sub_8056938 + bl sub_8000544 + adds r0, r4, 0 + bl sub_8077508 +_08110F84: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08110F8C: .4byte sub_8056938 + thumb_func_end sub_8110F14 + + thumb_func_start sub_8110F90 +sub_8110F90: @ 8110F90 + push {lr} + ldr r1, _08110FC0 @ =gUnknown_3005008 + ldr r2, [r1] + movs r3, 0 + movs r0, 0x3 + strb r0, [r2, 0x4] + ldr r2, [r1] + movs r0, 0x13 + strb r0, [r2, 0x5] + ldr r1, [r1] + movs r0, 0xFF + strb r0, [r1, 0x6] + ldr r0, _08110FC4 @ =gUnknown_203ADF8 + strb r3, [r0] + ldr r1, _08110FC8 @ =gUnknown_2031DD8 + movs r0, 0x1 + strb r0, [r1] + movs r0, 0x1 + bl sub_8082740 + bl sub_8111368 + pop {r0} + bx r0 + .align 2, 0 +_08110FC0: .4byte gUnknown_3005008 +_08110FC4: .4byte gUnknown_203ADF8 +_08110FC8: .4byte gUnknown_2031DD8 + thumb_func_end sub_8110F90 + + thumb_func_start sub_8110FCC +sub_8110FCC: @ 8110FCC + push {r4,r5,lr} + ldr r5, _08110FF8 @ =gUnknown_203ADF8 + ldrb r0, [r5] + ldr r4, _08110FFC @ =gUnknown_203AE98 + adds r1, r4, 0 + bl sub_811175C + bl sub_8113B88 + movs r2, 0x80 + lsls r2, 1 + movs r0, 0x1 + adds r1, r4, 0 + bl sub_8112940 + ldrb r0, [r5] + bl sub_8111150 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08110FF8: .4byte gUnknown_203ADF8 +_08110FFC: .4byte gUnknown_203AE98 + thumb_func_end sub_8110FCC + + thumb_func_start sub_8111000 +sub_8111000: @ 8111000 + push {lr} + movs r0, 0x4 + bl sub_8150408 + movs r1, 0xF0 + movs r2, 0x20 + bl sub_80703EC + movs r0, 0x2 + bl sub_81109CC + bl sub_807DF64 + ldr r2, _08111034 @ =gUnknown_203AE94 + movs r0, 0 + str r0, [r2] + ldrb r1, [r2] + subs r0, 0x10 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r2] + movs r0, 0x1 + pop {r1} + bx r1 + .align 2, 0 +_08111034: .4byte gUnknown_203AE94 + thumb_func_end sub_8111000 + + thumb_func_start sub_8111038 +sub_8111038: @ 8111038 + push {lr} + movs r0, 0x4 + bl sub_8150408 + movs r1, 0xF0 + movs r2, 0x20 + bl sub_80703EC + movs r0, 0x2 + bl sub_81109CC + bl sub_807DF7C + ldr r2, _0811106C @ =gUnknown_203AE94 + movs r0, 0 + str r0, [r2] + ldrb r1, [r2] + subs r0, 0x10 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r2] + movs r0, 0x1 + pop {r1} + bx r1 + .align 2, 0 +_0811106C: .4byte gUnknown_203AE94 + thumb_func_end sub_8111038 + + thumb_func_start sub_8111070 +sub_8111070: @ 8111070 + push {r4-r7,lr} + sub sp, 0x14 + lsls r0, 24 + lsrs r7, r0, 24 + movs r5, 0 +_0811107A: + lsls r4, r5, 3 + ldr r0, _0811111C @ =gUnknown_845661C + adds r4, r0 + adds r0, r4, 0 + bl sub_8003CE4 + ldr r6, _08111120 @ =gUnknown_203ADFE + adds r1, r5, r6 + strb r0, [r1] + ldrb r0, [r1] + ldrb r1, [r4, 0x3] + lsls r1, 3 + str r1, [sp] + ldrb r1, [r4, 0x4] + lsls r1, 3 + str r1, [sp, 0x4] + movs r1, 0xF + movs r2, 0 + movs r3, 0 + bl sub_8004378 + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x2 + bls _0811107A + ldr r5, _08111124 @ =gUnknown_2021D18 + ldr r1, _08111128 @ =gUnknown_841A155 + adds r0, r5, 0 + bl sub_8008FCC + cmp r7, 0 + beq _081110D2 + ldr r4, _0811112C @ =gUnknown_2021CD0 + adds r0, r4, 0 + adds r1, r7, 0 + movs r2, 0 + movs r3, 0x1 + bl sub_8008E78 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_8008DA4 +_081110D2: + ldrb r0, [r6] + movs r1, 0x1 + str r1, [sp] + movs r1, 0x2 + str r1, [sp, 0x4] + ldr r1, _08111130 @ =gUnknown_8456634 + str r1, [sp, 0x8] + movs r1, 0 + str r1, [sp, 0xC] + str r5, [sp, 0x10] + movs r1, 0x2 + movs r2, 0x2 + movs r3, 0x2 + bl sub_812E5A4 + ldrb r0, [r6] + bl sub_8003FA0 + ldrb r0, [r6, 0x1] + bl sub_8003FA0 + ldrb r0, [r6] + movs r1, 0x2 + bl sub_8003F20 + ldrb r0, [r6, 0x2] + movs r1, 0x2 + bl sub_8003F20 + ldrb r0, [r6, 0x1] + movs r1, 0x3 + bl sub_8003F20 + add sp, 0x14 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0811111C: .4byte gUnknown_845661C +_08111120: .4byte gUnknown_203ADFE +_08111124: .4byte gUnknown_2021D18 +_08111128: .4byte gUnknown_841A155 +_0811112C: .4byte gUnknown_2021CD0 +_08111130: .4byte gUnknown_8456634 + thumb_func_end sub_8111070 + + thumb_func_start sub_8111134 +sub_8111134: @ 8111134 + push {r4,lr} + ldr r4, _0811114C @ =gUnknown_203ADFE + ldrb r0, [r4, 0x1] + bl sub_8003FA0 + ldrb r0, [r4, 0x1] + movs r1, 0x1 + bl sub_8003F20 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0811114C: .4byte gUnknown_203ADFE + thumb_func_end sub_8111134 + + thumb_func_start sub_8111150 +sub_8111150: @ 8111150 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _081111A8 @ =gUnknown_3005008 + movs r1, 0xCD + lsls r1, 3 + muls r0, r1 + movs r1, 0x98 + lsls r1, 5 + adds r0, r1 + ldr r1, [r2] + adds r5, r1, r0 + movs r4, 0 + mov r9, r2 + mov r6, r9 + movs r2, 0x8D + lsls r2, 3 + mov r12, r2 + ldr r7, _081111AC @ =0x000008e4 + mov r8, r7 +_08111180: + lsls r0, r4, 2 + adds r3, r5, r0 + ldr r2, _081111B0 @ =0x00000469 + adds r1, r3, r2 + ldrb r1, [r1] + lsls r1, 31 + mov r10, r0 + cmp r1, 0 + beq _081111B4 + ldr r1, [r6] + lsls r2, r4, 1 + adds r0, r2, r4 + lsls r0, 3 + adds r1, r0 + mov r7, r12 + adds r0, r3, r7 + ldrb r0, [r0] + negs r0, r0 + b _081111C4 + .align 2, 0 +_081111A8: .4byte gUnknown_3005008 +_081111AC: .4byte 0x000008e4 +_081111B0: .4byte 0x00000469 +_081111B4: + ldr r1, [r6] + lsls r2, r4, 1 + adds r0, r2, r4 + lsls r0, 3 + adds r1, r0 + mov r7, r12 + adds r0, r3, r7 + ldrb r0, [r0] +_081111C4: + add r1, r8 + strh r0, [r1] + adds r3, r2, 0 + mov r0, r10 + adds r2, r5, r0 + ldr r1, _081111F0 @ =0x0000046a + adds r0, r2, r1 + ldrb r0, [r0] + lsls r0, 30 + cmp r0, 0 + bge _081111F4 + ldr r1, [r6] + adds r0, r3, r4 + lsls r0, 3 + adds r1, r0 + mov r7, r12 + adds r0, r2, r7 + ldr r0, [r0] + lsls r0, 15 + lsrs r0, 24 + negs r0, r0 + b _08111206 + .align 2, 0 +_081111F0: .4byte 0x0000046a +_081111F4: + ldr r1, [r6] + adds r0, r3, r4 + lsls r0, 3 + adds r1, r0 + mov r7, r12 + adds r0, r2, r7 + ldr r0, [r0] + lsls r0, 15 + lsrs r0, 24 +_08111206: + ldr r2, _08111260 @ =0x000008e6 + adds r1, r2 + strh r0, [r1] + ldr r1, [r6] + adds r3, r4 + lsls r3, 3 + adds r1, r3 + mov r7, r10 + adds r2, r5, r7 + ldr r7, _08111264 @ =0x0000046a + adds r0, r2, r7 + ldrb r0, [r0] + lsrs r0, 2 + ldr r7, _08111268 @ =0x000008e8 + adds r1, r7 + strb r0, [r1] + ldr r0, [r6] + adds r0, r3 + ldr r1, _0811126C @ =0x0000046b + adds r2, r1 + ldrb r1, [r2] + ldr r2, _08111270 @ =0x000008e9 + adds r0, r2 + strb r1, [r0] + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x3F + bls _08111180 + mov r7, r9 + ldr r1, [r7] + movs r0, 0x8E + lsls r0, 4 + adds r1, r0 + adds r0, r5, 0 + bl sub_815A1F8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08111260: .4byte 0x000008e6 +_08111264: .4byte 0x0000046a +_08111268: .4byte 0x000008e8 +_0811126C: .4byte 0x0000046b +_08111270: .4byte 0x000008e9 + thumb_func_end sub_8111150 + + thumb_func_start sub_8111274 +sub_8111274: @ 8111274 + push {r4,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 24 + cmp r1, 0 + bne _081112D4 + ldr r3, _081112C8 @ =gUnknown_3005008 + ldr r2, [r3] + movs r0, 0xCD + lsls r0, 3 + adds r1, r4, 0 + muls r1, r0 + adds r0, r2, r1 + ldr r4, _081112CC @ =0x00001301 + adds r0, r4 + ldrb r0, [r0] + strb r0, [r2, 0x4] + ldr r2, [r3] + adds r0, r2, r1 + adds r4, 0x1 + adds r0, r4 + ldrb r0, [r0] + strb r0, [r2, 0x5] + ldr r2, [r3] + adds r0, r2, r1 + adds r4, 0x1 + adds r0, r4 + ldrb r0, [r0] + strb r0, [r2, 0x6] + ldr r2, [r3] + adds r1, r2, r1 + ldr r3, _081112D0 @ =0x00001304 + adds r0, r1, r3 + ldrh r0, [r0] + strh r0, [r2] + adds r4, 0x3 + adds r1, r4 + ldrh r0, [r1] + strh r0, [r2, 0x2] + b _08111336 + .align 2, 0 +_081112C8: .4byte gUnknown_3005008 +_081112CC: .4byte 0x00001301 +_081112D0: .4byte 0x00001304 +_081112D4: + ldr r0, _08111340 @ =gUnknown_3005008 + ldr r3, [r0] + movs r0, 0xCD + lsls r0, 3 + muls r0, r4 + adds r3, r0 + ldr r1, _08111344 @ =0x00001301 + adds r0, r3, r1 + ldrb r2, [r0] + ldr r0, _08111348 @ =0xffffff00 + ldr r1, [sp] + ands r1, r0 + orrs r1, r2 + str r1, [sp] + ldr r2, _0811134C @ =0x00001302 + adds r0, r3, r2 + ldrb r0, [r0] + lsls r0, 8 + ldr r2, _08111350 @ =0xffff00ff + ands r2, r1 + orrs r2, r0 + str r2, [sp] + ldr r4, _08111354 @ =0x00001303 + adds r0, r3, r4 + ldrb r1, [r0] + lsls r1, 16 + ldr r0, _08111358 @ =0xff00ffff + ands r0, r2 + orrs r0, r1 + str r0, [sp] + ldr r1, _0811135C @ =0x00001304 + adds r0, r3, r1 + ldrh r1, [r0] + ldr r0, _08111360 @ =0xffff0000 + ldr r2, [sp, 0x4] + ands r2, r0 + orrs r2, r1 + str r2, [sp, 0x4] + adds r4, 0x3 + adds r3, r4 + ldrh r1, [r3] + lsls r1, 16 + ldr r0, _08111364 @ =0x0000ffff + ands r0, r2 + orrs r0, r1 + str r0, [sp, 0x4] + mov r0, sp + bl sub_8055D5C +_08111336: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08111340: .4byte gUnknown_3005008 +_08111344: .4byte 0x00001301 +_08111348: .4byte 0xffffff00 +_0811134C: .4byte 0x00001302 +_08111350: .4byte 0xffff00ff +_08111354: .4byte 0x00001303 +_08111358: .4byte 0xff00ffff +_0811135C: .4byte 0x00001304 +_08111360: .4byte 0xffff0000 +_08111364: .4byte 0x0000ffff + thumb_func_end sub_8111274 + + thumb_func_start sub_8111368 +sub_8111368: @ 8111368 + push {lr} + ldr r1, _081113A0 @ =gUnknown_203ADFA + movs r0, 0x2 + strb r0, [r1] + bl sub_806E6FC + bl sub_809A2DC + bl sub_809A2A4 + bl sub_8110AC8 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _081113B4 + ldr r0, _081113A4 @ =gUnknown_203ADF8 + ldrb r0, [r0] + movs r1, 0 + bl sub_8111274 + ldr r1, _081113A8 @ =gUnknown_3005024 + ldr r0, _081113AC @ =sub_8111038 + str r0, [r1] + ldr r0, _081113B0 @ =sub_80572A8 + bl sub_8000544 + b _081113CE + .align 2, 0 +_081113A0: .4byte gUnknown_203ADFA +_081113A4: .4byte gUnknown_203ADF8 +_081113A8: .4byte gUnknown_3005024 +_081113AC: .4byte sub_8111038 +_081113B0: .4byte sub_80572A8 +_081113B4: + ldr r0, _081113D4 @ =gUnknown_203ADF8 + ldrb r0, [r0] + movs r1, 0x1 + bl sub_8111274 + bl sub_8055378 + ldr r1, _081113D8 @ =gUnknown_3005024 + ldr r0, _081113DC @ =sub_8111000 + str r0, [r1] + ldr r0, _081113E0 @ =sub_805726C + bl sub_8000544 +_081113CE: + pop {r0} + bx r0 + .align 2, 0 +_081113D4: .4byte gUnknown_203ADF8 +_081113D8: .4byte gUnknown_3005024 +_081113DC: .4byte sub_8111000 +_081113E0: .4byte sub_805726C + thumb_func_end sub_8111368 + + thumb_func_start sub_81113E4 +sub_81113E4: @ 81113E4 + push {r4,r5,lr} + ldr r4, _08111430 @ =gUnknown_3005008 + ldr r0, _08111434 @ =gUnknown_203ADF8 + ldrb r1, [r0] + movs r0, 0xCD + lsls r0, 3 + muls r0, r1 + movs r1, 0x98 + lsls r1, 5 + adds r0, r1 + ldr r1, [r4] + adds r5, r1, r0 + movs r2, 0xA4 + lsls r2, 1 + adds r0, r5, r2 + movs r2, 0xEE + lsls r2, 4 + adds r1, r2 + movs r2, 0x90 + bl CpuSet + movs r1, 0x9A + lsls r1, 2 + adds r0, r5, r1 + ldr r1, [r4] + movs r2, 0x80 + lsls r2, 5 + adds r1, r2 + movs r2, 0x80 + lsls r2, 1 + bl CpuSet + bl sub_8111688 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08111430: .4byte gUnknown_3005008 +_08111434: .4byte gUnknown_203ADF8 + thumb_func_end sub_81113E4 + + thumb_func_start sub_8111438 +sub_8111438: @ 8111438 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x14 + movs r0, 0x68 + bl sub_8002BB0 + mov r9, r0 + movs r0, 0 + str r0, [sp] + str r0, [sp, 0x4] + str r0, [sp, 0x8] + str r0, [sp, 0xC] + mov r0, r9 + movs r1, 0x13 + movs r2, 0x1 + movs r3, 0x20 + bl sub_803DA54 + ldr r0, _081114BC @ =0x00004027 + bl sub_806E568 + lsls r0, 16 + lsrs r1, r0, 28 + mov r6, r9 + adds r6, 0x64 + strh r1, [r6] + lsls r0, 4 + lsrs r0, 20 + mov r4, r9 + adds r4, 0x66 + strh r0, [r4] + bl sub_8111618 + lsls r0, 16 + lsrs r5, r0, 16 + ldrh r0, [r6] + cmp r5, r0 + bls _081114C4 + movs r3, 0 + subs r0, r5, r0 + mov r8, r4 + cmp r3, r0 + bge _0811150E +_08111492: + movs r0, 0x5 + subs r0, r3 + movs r1, 0x64 + muls r0, r1 + ldr r1, _081114C0 @ =gUnknown_2024284 + adds r0, r1 + str r3, [sp, 0x10] + bl sub_803D994 + ldr r3, [sp, 0x10] + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + mov r0, r9 + adds r0, 0x64 + ldrh r0, [r0] + subs r0, r5, r0 + cmp r3, r0 + blt _08111492 + b _0811150E + .align 2, 0 +_081114BC: .4byte 0x00004027 +_081114C0: .4byte gUnknown_2024284 +_081114C4: + mov r8, r4 + cmp r5, r0 + bcs _0811150E + movs r3, 0 + adds r4, r6, 0 +_081114CE: + lsls r1, r3, 24 + lsrs r1, 24 + movs r0, 0 + str r3, [sp, 0x10] + bl sub_808BCB4 + ldr r3, [sp, 0x10] + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0x4 + bls _081114CE + adds r3, r5, 0 + ldrh r0, [r4] + cmp r3, r0 + bcs _0811150E +_081114EE: + movs r0, 0x64 + muls r0, r3 + ldr r1, _08111574 @ =gUnknown_2024284 + adds r0, r1 + mov r1, r9 + movs r2, 0x64 + str r3, [sp, 0x10] + bl sub_8040B08 + ldr r3, [sp, 0x10] + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + ldrh r1, [r4] + cmp r3, r1 + bcc _081114EE +_0811150E: + bl sub_811164C + lsls r0, 16 + lsrs r5, r0, 16 + mov r1, r8 + ldrh r0, [r1] + cmp r5, r0 + bls _08111578 + movs r3, 0 +_08111520: + movs r6, 0 + lsls r7, r3, 24 + lsrs r7, 24 +_08111526: + lsls r0, r6, 24 + lsrs r4, r0, 24 + adds r0, r7, 0 + adds r1, r4, 0 + movs r2, 0x5 + str r3, [sp, 0x10] + bl sub_808BA18 + ldr r3, [sp, 0x10] + cmp r0, 0 + beq _08111554 + adds r0, r7, 0 + adds r1, r4, 0 + bl sub_808BCB4 + subs r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + ldr r3, [sp, 0x10] + mov r0, r8 + ldrh r0, [r0] + cmp r5, r0 + beq _081115D2 +_08111554: + adds r0, r6, 0x1 + lsls r0, 16 + lsrs r6, r0, 16 + cmp r6, 0x1D + bls _08111526 + mov r1, r8 + ldrh r1, [r1] + cmp r5, r1 + beq _081115D2 + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0xD + bls _08111520 + b _081115D2 + .align 2, 0 +_08111574: .4byte gUnknown_2024284 +_08111578: + cmp r5, r0 + bcs _081115D2 + movs r3, 0 +_0811157E: + movs r6, 0 + lsls r7, r3, 24 +_08111582: + lsls r1, r6, 24 + lsrs r1, 24 + lsrs r0, r7, 24 + str r3, [sp, 0x10] + bl sub_808BD30 + adds r4, r0, 0 + movs r1, 0x5 + bl sub_803FD44 + ldr r3, [sp, 0x10] + cmp r0, 0 + bne _081115B6 + adds r0, r4, 0 + mov r1, r9 + movs r2, 0x50 + bl sub_8040B08 + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + ldr r3, [sp, 0x10] + mov r0, r8 + ldrh r0, [r0] + cmp r5, r0 + beq _081115D2 +_081115B6: + adds r0, r6, 0x1 + lsls r0, 16 + lsrs r6, r0, 16 + cmp r6, 0x1D + bls _08111582 + mov r1, r8 + ldrh r1, [r1] + cmp r5, r1 + beq _081115D2 + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0xD + bls _0811157E +_081115D2: + mov r0, r9 + bl sub_8002BC4 + add sp, 0x14 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8111438 + + thumb_func_start sub_81115E8 +sub_81115E8: @ 81115E8 + push {r4,lr} + bl sub_8111618 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + bl sub_811164C + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + ldr r0, _08111614 @ =0x00004027 + lsls r4, 12 + adds r1, r4 + lsls r1, 16 + lsrs r1, 16 + bl sub_806E584 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08111614: .4byte 0x00004027 + thumb_func_end sub_81115E8 + + thumb_func_start sub_8111618 +sub_8111618: @ 8111618 + push {r4,r5,lr} + movs r5, 0 + movs r4, 0 +_0811161E: + movs r0, 0x64 + muls r0, r4 + ldr r1, _08111648 @ =gUnknown_2024284 + adds r0, r1 + movs r1, 0x5 + bl sub_803FBE8 + cmp r0, 0 + beq _08111636 + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 +_08111636: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x5 + bls _0811161E + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08111648: .4byte gUnknown_2024284 + thumb_func_end sub_8111618 + + thumb_func_start sub_811164C +sub_811164C: @ 811164C + push {r4-r7,lr} + movs r6, 0 + movs r0, 0 +_08111652: + movs r4, 0 + lsls r5, r0, 24 + adds r7, r0, 0x1 +_08111658: + lsls r1, r4, 24 + lsrs r1, 24 + lsrs r0, r5, 24 + movs r2, 0x5 + bl sub_808BA18 + cmp r0, 0 + beq _0811166E + adds r0, r6, 0x1 + lsls r0, 16 + lsrs r6, r0, 16 +_0811166E: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x1D + bls _08111658 + lsls r0, r7, 16 + lsrs r0, 16 + cmp r0, 0xD + bls _08111652 + adds r0, r6, 0 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_811164C + + thumb_func_start sub_8111688 +sub_8111688: @ 8111688 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x8 + movs r5, 0 + ldr r0, _081116CC @ =gUnknown_3005008 + mov r8, r0 + ldr r7, _081116D0 @ =0x0000063a +_08111698: + ldr r1, _081116D4 @ =0x000040aa + adds r0, r5, r1 + lsls r0, 16 + lsrs r0, 16 + bl sub_806E568 + lsls r1, r5, 1 + add r1, sp + strh r0, [r1] + movs r4, 0 + adds r6, r5, 0x1 + adds r3, r1, 0 + lsls r5, 4 +_081116B2: + ldrh r0, [r3] + movs r2, 0x1 + ands r2, r0 + cmp r2, 0 + beq _081116D8 + mov r1, r8 + ldr r0, [r1] + adds r1, r5, r4 + adds r0, r7 + adds r0, r1 + movs r1, 0x1E + strb r1, [r0] + b _081116E4 + .align 2, 0 +_081116CC: .4byte gUnknown_3005008 +_081116D0: .4byte 0x0000063a +_081116D4: .4byte 0x000040aa +_081116D8: + mov r1, r8 + ldr r0, [r1] + adds r1, r5, r4 + adds r0, r7 + adds r0, r1 + strb r2, [r0] +_081116E4: + ldrh r0, [r3] + lsrs r0, 1 + strh r0, [r3] + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0xF + bls _081116B2 + lsls r0, r6, 16 + lsrs r5, r0, 16 + cmp r5, 0x3 + bls _08111698 + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8111688 + + thumb_func_start sub_8111708 +sub_8111708: @ 8111708 + push {r4,r5,lr} + sub sp, 0x1C + ldr r0, _08111754 @ =0x000040ae + bl sub_806E568 + ldr r4, _08111758 @ =gUnknown_3005008 + ldr r1, [r4] + strh r0, [r1, 0x32] + lsls r0, 16 + cmp r0, 0 + bne _0811174A + movs r0, 0x4 + ldrsb r0, [r1, r0] + lsls r0, 16 + lsrs r0, 16 + ldrb r1, [r1, 0x5] + lsls r1, 24 + asrs r1, 24 + lsls r1, 16 + lsrs r1, 16 + bl sub_8055238 + mov r1, sp + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldr r0, [r0] + str r0, [r1] + ldr r1, [r4] + mov r0, sp + ldrh r0, [r0, 0x12] + strh r0, [r1, 0x32] +_0811174A: + add sp, 0x1C + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08111754: .4byte 0x000040ae +_08111758: .4byte gUnknown_3005008 + thumb_func_end sub_8111708 + + thumb_func_start sub_811175C +sub_811175C: @ 811175C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + mov r8, r1 + lsls r0, 24 + lsrs r4, r0, 24 + movs r6, 0 + mov r9, r6 + movs r2, 0x80 + lsls r2, 1 + mov r0, r8 + movs r1, 0 + bl memset + movs r7, 0 + ldr r2, _081117B8 @ =gUnknown_203AE0C + movs r1, 0 +_08111780: + lsls r0, r7, 2 + adds r0, r2 + str r1, [r0] + adds r0, r7, 0x1 + lsls r0, 16 + lsrs r7, r0, 16 + cmp r7, 0x1F + bls _08111780 + ldr r1, _081117BC @ =gUnknown_3005008 + movs r0, 0xCD + lsls r0, 3 + muls r0, r4 + ldr r1, [r1] + adds r0, r1 + ldr r1, _081117C0 @ =0x00001868 + adds r4, r0, r1 + movs r7, 0 +_081117A2: + ldrh r0, [r4] + ldr r1, _081117C4 @ =0x00000fff + ands r1, r0 + cmp r1, 0x29 + bls _081117AE + b _081118AC +_081117AE: + lsls r0, r1, 2 + ldr r1, _081117C8 @ =_081117CC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_081117B8: .4byte gUnknown_203AE0C +_081117BC: .4byte gUnknown_3005008 +_081117C0: .4byte 0x00001868 +_081117C4: .4byte 0x00000fff +_081117C8: .4byte _081117CC + .align 2, 0 +_081117CC: + .4byte _08111874 + .4byte _08111880 + .4byte _08111880 + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _081118AC + .4byte _0811188C + .4byte _081118AC + .4byte _08111898 +_08111874: + lsls r1, r6, 3 + add r1, r8 + adds r0, r4, 0 + bl sub_8113D08 + b _081118A2 +_08111880: + lsls r1, r6, 3 + add r1, r8 + adds r0, r4, 0 + bl sub_8113D94 + b _081118A2 +_0811188C: + lsls r1, r6, 3 + add r1, r8 + adds r0, r4, 0 + bl sub_8113C20 + b _081118A2 +_08111898: + lsls r1, r6, 3 + add r1, r8 + adds r0, r4, 0 + bl sub_8113C8C +_081118A2: + adds r4, r0, 0 + adds r0, r6, 0x1 + lsls r0, 16 + lsrs r6, r0, 16 + b _081118D2 +_081118AC: + mov r0, r9 + lsls r1, r0, 2 + ldr r5, _081118F0 @ =gUnknown_203AE0C + adds r1, r5 + adds r0, r4, 0 + bl sub_8113A78 + adds r4, r0, 0 + mov r1, r9 + cmp r1, 0 + bne _081118C8 + ldr r0, [r5] + bl sub_8113ABC +_081118C8: + mov r0, r9 + adds r0, 0x1 + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 +_081118D2: + cmp r4, 0 + beq _081118E2 + adds r0, r7, 0x1 + lsls r0, 16 + lsrs r7, r0, 16 + cmp r7, 0x1F + bhi _081118E2 + b _081117A2 +_081118E2: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_081118F0: .4byte gUnknown_203AE0C + thumb_func_end sub_811175C + + thumb_func_start sub_81118F4 +sub_81118F4: @ 81118F4 + push {lr} + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0x1 + bl sub_807A818 + ldr r1, _0811190C @ =gUnknown_203AE8C + ldr r0, _08111910 @ =sub_8111914 + str r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_0811190C: .4byte gUnknown_203AE8C +_08111910: .4byte sub_8111914 + thumb_func_end sub_81118F4 + + thumb_func_start sub_8111914 +sub_8111914: @ 8111914 + push {lr} + ldr r0, _08111960 @ =gUnknown_2037AB8 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0811197A + bl sub_8069940 + ldr r1, _08111964 @ =gUnknown_203ADF8 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3 + bhi _08111970 + ldr r0, _08111968 @ =gUnknown_3005008 + ldr r0, [r0] + ldrb r2, [r1] + movs r1, 0xCD + lsls r1, 3 + muls r1, r2 + adds r0, r1 + movs r1, 0x98 + lsls r1, 5 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _08111970 + ldr r1, _0811196C @ =gUnknown_203ADF9 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] + bl sub_8111368 + b _0811197A + .align 2, 0 +_08111960: .4byte gUnknown_2037AB8 +_08111964: .4byte gUnknown_203ADF8 +_08111968: .4byte gUnknown_3005008 +_0811196C: .4byte gUnknown_203ADF9 +_08111970: + ldr r1, _08111980 @ =gUnknown_3005E88 + movs r0, 0 + strb r0, [r1] + bl sub_8111984 +_0811197A: + pop {r0} + bx r0 + .align 2, 0 +_08111980: .4byte gUnknown_3005E88 + thumb_func_end sub_8111914 + + thumb_func_start sub_8111984 +sub_8111984: @ 8111984 + push {lr} + bl sub_806E6FC + bl sub_80D9750 + movs r0, 0 + bl sub_80DA4FC + ldr r0, _081119B4 @ =sub_8057430 + bl sub_8000544 + ldr r1, _081119B8 @ =gUnknown_3005024 + ldr r0, _081119BC @ =sub_8111F60 + str r0, [r1] + bl sub_8003ECC + ldr r1, _081119C0 @ =gUnknown_203ADFA + movs r0, 0x3 + strb r0, [r1] + ldr r1, _081119C4 @ =gUnknown_203AE8C + movs r0, 0 + str r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_081119B4: .4byte sub_8057430 +_081119B8: .4byte gUnknown_3005024 +_081119BC: .4byte sub_8111F60 +_081119C0: .4byte gUnknown_203ADFA +_081119C4: .4byte gUnknown_203AE8C + thumb_func_end sub_8111984 + + thumb_func_start sub_81119C8 +sub_81119C8: @ 81119C8 + push {lr} + bl sub_8111914 + pop {r0} + bx r0 + thumb_func_end sub_81119C8 + + thumb_func_start sub_81119D4 +sub_81119D4: @ 81119D4 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _081119E8 @ =gUnknown_203ADFA + ldrb r0, [r0] + cmp r0, 0x1 + beq _081119EC + cmp r0, 0x2 + beq _081119F2 + b _08111A2C + .align 2, 0 +_081119E8: .4byte gUnknown_203ADFA +_081119EC: + bl sub_8112364 + b _08111A2C +_081119F2: + ldr r1, _08111A20 @ =gUnknown_3005E88 + movs r0, 0x3 + strb r0, [r1] + ldr r0, _08111A24 @ =sub_8111A34 + movs r1, 0x50 + bl sub_807741C + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08111A28 @ =gUnknown_3005090 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r2, 0 + strh r2, [r1, 0x8] + strh r2, [r1, 0xA] + movs r1, 0xE + adds r2, r4, 0 + bl sub_80776E8 + movs r0, 0x1 + b _08111A2E + .align 2, 0 +_08111A20: .4byte gUnknown_3005E88 +_08111A24: .4byte sub_8111A34 +_08111A28: .4byte gUnknown_3005090 +_08111A2C: + movs r0, 0 +_08111A2E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81119D4 + + thumb_func_start sub_8111A34 +sub_8111A34: @ 8111A34 + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _08111A54 @ =gUnknown_3005098 + adds r4, r0, r1 + movs r0, 0x2 + ldrsh r1, [r4, r0] + cmp r1, 0 + beq _08111A58 + cmp r1, 0x1 + beq _08111A90 + b _08111AC0 + .align 2, 0 +_08111A54: .4byte gUnknown_3005098 +_08111A58: + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x7F + bne _08111AC0 + movs r0, 0x1 + negs r0, r0 + str r1, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl sub_8070588 + ldr r2, _08111A8C @ =gUnknown_203AE94 + ldrb r1, [r2] + movs r0, 0x3F + ands r0, r1 + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + ldrh r0, [r4, 0x2] + adds r0, 0x1 + strh r0, [r4, 0x2] + b _08111AC0 + .align 2, 0 +_08111A8C: .4byte gUnknown_203AE94 +_08111A90: + ldr r0, _08111AC8 @ =gUnknown_2037AB8 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + bne _08111AC0 + ldr r0, _08111ACC @ =gUnknown_3005E88 + strb r1, [r0] + adds r0, r5, 0 + movs r1, 0xE + bl sub_8077720 + cmp r0, 0 + beq _08111AB4 + bl _call_via_r0 +_08111AB4: + adds r0, r5, 0 + bl sub_8077508 + ldr r1, _08111AD0 @ =gUnknown_203AE8C + ldr r0, _08111AD4 @ =sub_8111914 + str r0, [r1] +_08111AC0: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08111AC8: .4byte gUnknown_2037AB8 +_08111ACC: .4byte gUnknown_3005E88 +_08111AD0: .4byte gUnknown_203AE8C +_08111AD4: .4byte sub_8111914 + thumb_func_end sub_8111A34 + + thumb_func_start sub_8111AD8 +sub_8111AD8: @ 8111AD8 + push {r4,r5,lr} + ldr r4, _08111B58 @ =gUnknown_203AE94 + ldrb r1, [r4] + movs r0, 0xF + ands r0, r1 + cmp r0, 0x1 + bne _08111B0A + ldrb r0, [r4, 0x2] + subs r0, 0x1 + strb r0, [r4, 0x2] + lsls r0, 24 + cmp r0, 0 + bne _08111B78 + movs r0, 0x10 + negs r0, r0 + ands r0, r1 + movs r1, 0x31 + negs r1, r1 + ands r0, r1 + movs r1, 0x10 + orrs r0, r1 + strb r0, [r4] + movs r0, 0x2 + bl sub_8112888 +_08111B0A: + ldrb r1, [r4] + movs r0, 0x30 + ands r0, r1 + cmp r0, 0x10 + bne _08111B34 + ldrb r0, [r4, 0x3] + adds r0, 0x1 + strb r0, [r4, 0x3] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xF + bls _08111B34 + bl sub_8111E20 + ldrb r0, [r4] + movs r1, 0x31 + negs r1, r1 + ands r1, r0 + strb r1, [r4] + movs r0, 0 + strb r0, [r4, 0x3] +_08111B34: + ldr r4, _08111B58 @ =gUnknown_203AE94 + ldrb r0, [r4, 0x1] + cmp r0, 0x1F + bhi _08111B78 + ldr r5, _08111B5C @ =gUnknown_203AE0C + lsls r0, 2 + adds r0, r5 + ldr r0, [r0] + bl sub_8113B44 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08111B60 + bl sub_8111B80 + b _08111B78 + .align 2, 0 +_08111B58: .4byte gUnknown_203AE94 +_08111B5C: .4byte gUnknown_203AE0C +_08111B60: + ldrb r0, [r4, 0x1] + lsls r0, 2 + adds r0, r5 + ldr r0, [r0] + bl sub_8113AE8 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08111B78 + bl sub_8111B80 +_08111B78: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8111AD8 + + thumb_func_start sub_8111B80 +sub_8111B80: @ 8111B80 + push {r4,lr} + ldr r4, _08111BCC @ =gUnknown_203AE94 + ldrb r1, [r4] + movs r2, 0xF + ands r2, r1 + cmp r2, 0 + bne _08111BC0 + movs r0, 0x10 + negs r0, r0 + ands r0, r1 + movs r1, 0x1 + orrs r0, r1 + movs r1, 0x31 + negs r1, r1 + ands r0, r1 + strb r0, [r4] + strb r2, [r4, 0x3] + bl sub_8111BD4 + strb r0, [r4, 0x2] + ldr r0, _08111BD0 @ =gUnknown_203B044 + ldrh r0, [r0, 0x2] + cmp r0, 0 + bne _08111BB6 + ldrb r0, [r4, 0x1] + adds r0, 0x1 + strb r0, [r4, 0x1] +_08111BB6: + ldrb r0, [r4, 0x1] + cmp r0, 0x20 + bhi _08111BC6 + bl sub_8111D10 +_08111BC0: + movs r0, 0x1 + bl sub_8112888 +_08111BC6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08111BCC: .4byte gUnknown_203AE94 +_08111BD0: .4byte gUnknown_203B044 + thumb_func_end sub_8111B80 + + thumb_func_start sub_8111BD4 +sub_8111BD4: @ 8111BD4 + push {r4,lr} + movs r2, 0 + movs r1, 0 + ldr r3, _08111C0C @ =gUnknown_2021D18 + ldrb r0, [r3] + cmp r0, 0xFF + beq _08111C04 + ldr r4, _08111C10 @ =0x000003ff +_08111BE4: + adds r0, r1, r3 + ldrb r0, [r0] + cmp r0, 0xFE + beq _08111BF2 + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 +_08111BF2: + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, r4 + bhi _08111C04 + adds r0, r1, r3 + ldrb r0, [r0] + cmp r0, 0xFF + bne _08111BE4 +_08111C04: + cmp r2, 0x13 + bhi _08111C14 + movs r0, 0x5F + b _08111C26 + .align 2, 0 +_08111C0C: .4byte gUnknown_2021D18 +_08111C10: .4byte 0x000003ff +_08111C14: + cmp r2, 0x23 + bhi _08111C1C + movs r0, 0x7F + b _08111C26 +_08111C1C: + cmp r2, 0x2D + bls _08111C24 + movs r0, 0xFF + b _08111C26 +_08111C24: + movs r0, 0xBF +_08111C26: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8111BD4 + + thumb_func_start sub_8111C2C +sub_8111C2C: @ 8111C2C + push {lr} + ldr r0, _08111C54 @ =gUnknown_203ADFA + ldrb r0, [r0] + cmp r0, 0x2 + bne _08111C60 + ldr r0, _08111C58 @ =gUnknown_3005E88 + ldrb r0, [r0] + cmp r0, 0 + beq _08111C4E + ldr r0, _08111C5C @ =gUnknown_203AE94 + ldrb r0, [r0] + movs r1, 0xF + ands r1, r0 + cmp r1, 0x1 + beq _08111C4E + cmp r1, 0x2 + bne _08111C60 +_08111C4E: + movs r0, 0x1 + b _08111C62 + .align 2, 0 +_08111C54: .4byte gUnknown_203ADFA +_08111C58: .4byte gUnknown_3005E88 +_08111C5C: .4byte gUnknown_203AE94 +_08111C60: + movs r0, 0 +_08111C62: + pop {r1} + bx r1 + thumb_func_end sub_8111C2C + + thumb_func_start sub_8111C68 +sub_8111C68: @ 8111C68 + push {r4,r5,lr} + ldr r5, _08111C9C @ =gUnknown_203AE94 + ldrb r2, [r5] + movs r4, 0xC0 + ands r4, r2 + cmp r4, 0 + bne _08111CC6 + ldr r0, _08111CA0 @ =gUnknown_30030F0 + ldrh r1, [r0, 0x2E] + movs r3, 0x1 + ands r3, r1 + cmp r3, 0 + beq _08111CA8 + movs r0, 0x3F + ands r0, r2 + movs r1, 0x80 + orrs r0, r1 + strb r0, [r5] + ldr r0, _08111CA4 @ =gUnknown_3005E88 + strb r4, [r0] + movs r0, 0x3 + negs r0, r0 + bl sub_81118F4 + b _08111CC6 + .align 2, 0 +_08111C9C: .4byte gUnknown_203AE94 +_08111CA0: .4byte gUnknown_30030F0 +_08111CA4: .4byte gUnknown_3005E88 +_08111CA8: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08111CC6 + movs r0, 0x3F + ands r0, r2 + movs r1, 0x40 + orrs r0, r1 + strb r0, [r5] + ldr r0, _08111CCC @ =gUnknown_3005E88 + strb r3, [r0] + movs r0, 0x3 + negs r0, r0 + bl sub_8111E64 +_08111CC6: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08111CCC: .4byte gUnknown_3005E88 + thumb_func_end sub_8111C68 + + thumb_func_start sub_8111CD0 +sub_8111CD0: @ 8111CD0 + push {lr} + ldr r0, _08111CE4 @ =gUnknown_203AE94 + ldrb r1, [r0] + movs r0, 0xC0 + ands r0, r1 + cmp r0, 0 + bne _08111CE8 + movs r0, 0 + b _08111CEA + .align 2, 0 +_08111CE4: .4byte gUnknown_203AE94 +_08111CE8: + movs r0, 0x1 +_08111CEA: + pop {r1} + bx r1 + thumb_func_end sub_8111CD0 + + thumb_func_start sub_8111CF0 +sub_8111CF0: @ 8111CF0 + push {lr} + ldr r0, _08111D08 @ =gUnknown_203ADFA + ldrb r0, [r0] + cmp r0, 0x2 + bne _08111D02 + ldr r0, _08111D0C @ =gUnknown_203ADF9 + ldrb r0, [r0] + bl sub_8111070 +_08111D02: + pop {r0} + bx r0 + .align 2, 0 +_08111D08: .4byte gUnknown_203ADFA +_08111D0C: .4byte gUnknown_203ADF9 + thumb_func_end sub_8111CF0 + + thumb_func_start sub_8111D10 +sub_8111D10: @ 8111D10 + push {r4,r5,lr} + sub sp, 0x14 + movs r4, 0 + movs r1, 0 + ldr r2, _08111D80 @ =gUnknown_2021D18 + ldrb r0, [r2] + ldr r5, _08111D84 @ =gUnknown_203ADFE + cmp r0, 0xFF + beq _08111D42 +_08111D22: + adds r0, r1, r2 + ldrb r0, [r0] + cmp r0, 0xFE + bne _08111D30 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 +_08111D30: + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0xFF + bhi _08111D42 + adds r0, r1, r2 + ldrb r0, [r0] + cmp r0, 0xFF + bne _08111D22 +_08111D42: + ldrb r0, [r5, 0x2] + bl sub_8003FA0 + ldrb r0, [r5, 0x2] + bl sub_8111D90 + ldrb r0, [r5, 0x2] + ldr r1, _08111D88 @ =gUnknown_8456698 + adds r1, r4, r1 + ldrb r3, [r1] + movs r1, 0x1 + str r1, [sp] + movs r2, 0 + str r2, [sp, 0x4] + ldr r1, _08111D8C @ =gUnknown_8456634 + str r1, [sp, 0x8] + str r2, [sp, 0xC] + ldr r1, _08111D80 @ =gUnknown_2021D18 + str r1, [sp, 0x10] + movs r1, 0x2 + movs r2, 0x2 + bl sub_812E5A4 + movs r0, 0 + bl sub_80F67A4 + add sp, 0x14 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08111D80: .4byte gUnknown_2021D18 +_08111D84: .4byte gUnknown_203ADFE +_08111D88: .4byte gUnknown_8456698 +_08111D8C: .4byte gUnknown_8456634 + thumb_func_end sub_8111D10 + + thumb_func_start sub_8111D90 +sub_8111D90: @ 8111D90 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + ldr r0, _08111DC0 @ =gUnknown_8456638 + mov r9, r0 + movs r0, 0xB4 + lsls r0, 5 + bl sub_8002B9C + mov r8, r0 + cmp r0, 0 + beq _08111E0C + movs r1, 0 +_08111DB4: + cmp r1, 0 + beq _08111DC4 + cmp r1, 0x5 + beq _08111DC8 + movs r0, 0x1 + b _08111DCA + .align 2, 0 +_08111DC0: .4byte gUnknown_8456638 +_08111DC4: + movs r0, 0 + b _08111DCA +_08111DC8: + movs r0, 0x2 +_08111DCA: + movs r4, 0 + lsls r6, r0, 5 + lsls r0, r1, 4 + adds r7, r1, 0x1 + subs r0, r1 + lsls r5, r0, 1 +_08111DD6: + adds r1, r5, r4 + lsls r1, 5 + add r1, r8 + mov r2, r9 + adds r0, r2, r6 + ldr r2, _08111E1C @ =0x04000008 + bl CpuSet + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x1D + bls _08111DD6 + lsls r0, r7, 24 + lsrs r1, r0, 24 + cmp r1, 0x5 + bls _08111DB4 + movs r2, 0xB4 + lsls r2, 5 + mov r0, r10 + mov r1, r8 + movs r3, 0 + bl sub_8004404 + mov r0, r8 + bl sub_8002BC4 +_08111E0C: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08111E1C: .4byte 0x04000008 + thumb_func_end sub_8111D90 + + thumb_func_start sub_8111E20 +sub_8111E20: @ 8111E20 + push {r4,lr} + sub sp, 0x8 + ldr r4, _08111E60 @ =gUnknown_203ADFE + ldrb r0, [r4, 0x2] + bl sub_80040B8 + ldrb r0, [r4, 0x2] + movs r1, 0xF0 + str r1, [sp] + movs r1, 0x30 + str r1, [sp, 0x4] + movs r1, 0xF + movs r2, 0 + movs r3, 0 + bl sub_8004378 + ldrb r0, [r4, 0x2] + movs r1, 0x2 + bl sub_8003F20 + ldrb r0, [r4, 0x1] + bl sub_8003FA0 + ldrb r0, [r4, 0x1] + movs r1, 0x1 + bl sub_8003F20 + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08111E60: .4byte gUnknown_203ADFE + thumb_func_end sub_8111E20 + + thumb_func_start sub_8111E64 +sub_8111E64: @ 8111E64 + push {lr} + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + movs r0, 0x1 + bl sub_807A818 + ldr r1, _08111E7C @ =gUnknown_203AE8C + ldr r0, _08111E80 @ =sub_8111E84 + str r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_08111E7C: .4byte gUnknown_203AE8C +_08111E80: .4byte sub_8111E84 + thumb_func_end sub_8111E64 + + thumb_func_start sub_8111E84 +sub_8111E84: @ 8111E84 + push {r4,lr} + ldr r0, _08111F00 @ =gUnknown_2037AB8 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08111EF8 + bl sub_8069940 + ldr r3, _08111F04 @ =gUnknown_203ADF8 + ldrb r0, [r3] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3 + bhi _08111EEE + ldr r0, _08111F08 @ =gUnknown_3005008 + ldr r0, [r0] + ldrb r2, [r3] + movs r1, 0xCD + lsls r1, 3 + muls r1, r2 + adds r0, r1 + movs r1, 0x98 + lsls r1, 5 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _08111EEE + adds r4, r3, 0 +_08111EBE: + ldrb r0, [r4] + ldr r1, _08111F0C @ =gUnknown_203AE98 + bl sub_811175C + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3 + bhi _08111EEE + ldr r0, _08111F08 @ =gUnknown_3005008 + ldr r1, [r0] + ldrb r2, [r4] + movs r0, 0xCD + lsls r0, 3 + muls r0, r2 + adds r1, r0 + movs r0, 0x98 + lsls r0, 5 + adds r1, r0 + ldrb r0, [r1] + cmp r0, 0 + bne _08111EBE +_08111EEE: + ldr r1, _08111F10 @ =gUnknown_3005E88 + movs r0, 0 + strb r0, [r1] + bl sub_8111984 +_08111EF8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08111F00: .4byte gUnknown_2037AB8 +_08111F04: .4byte gUnknown_203ADF8 +_08111F08: .4byte gUnknown_3005008 +_08111F0C: .4byte gUnknown_203AE98 +_08111F10: .4byte gUnknown_3005E88 + thumb_func_end sub_8111E84 + + thumb_func_start sub_8111F14 +sub_8111F14: @ 8111F14 + push {r4,lr} + ldr r0, _08111F30 @ =gUnknown_203ADFA + ldrb r0, [r0] + cmp r0, 0x3 + bne _08111F2A + ldr r4, _08111F34 @ =gUnknown_203AE90 + movs r0, 0x80 + lsls r0, 3 + bl sub_8002BB0 + str r0, [r4] +_08111F2A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08111F30: .4byte gUnknown_203ADFA +_08111F34: .4byte gUnknown_203AE90 + thumb_func_end sub_8111F14 + + thumb_func_start sub_8111F38 +sub_8111F38: @ 8111F38 + push {lr} + adds r3, r0, 0 + adds r2, r1, 0 + lsls r3, 16 + lsls r2, 16 + lsrs r2, 16 + lsrs r3, 15 + ldr r0, _08111F58 @ =gUnknown_20371F8 + adds r0, r3, r0 + ldr r1, _08111F5C @ =gUnknown_203AE90 + ldr r1, [r1] + adds r1, r3 + bl CpuSet + pop {r0} + bx r0 + .align 2, 0 +_08111F58: .4byte gUnknown_20371F8 +_08111F5C: .4byte gUnknown_203AE90 + thumb_func_end sub_8111F38 + + thumb_func_start sub_8111F60 +sub_8111F60: @ 8111F60 + push {lr} + movs r0, 0x4 + bl sub_8150408 + movs r1, 0xF0 + movs r2, 0x20 + bl sub_80703EC + movs r0, 0 + bl sub_8111070 + bl sub_807DF7C + ldr r0, _08111F88 @ =sub_8111F8C + movs r1, 0xFF + bl sub_807741C + movs r0, 0x1 + pop {r1} + bx r1 + .align 2, 0 +_08111F88: .4byte sub_8111F8C + thumb_func_end sub_8111F60 + + thumb_func_start sub_8111F8C +sub_8111F8C: @ 8111F8C + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _08111FC4 @ =gUnknown_3005090 + adds r4, r1, r0 + bl sub_8069958 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08111FBC + bl sub_8068974 + bl sub_805C270 + bl sub_805C780 + bl sub_8069940 + ldr r0, _08111FC8 @ =sub_8111FCC + str r0, [r4] +_08111FBC: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08111FC4: .4byte gUnknown_3005090 +_08111FC8: .4byte sub_8111FCC + thumb_func_end sub_8111F8C + + thumb_func_start sub_8111FCC +sub_8111FCC: @ 8111FCC + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _08112024 @ =gUnknown_3005090 + adds r5, r1, r0 + ldr r0, _08112028 @ =gUnknown_2037AB8 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0 + bne _0811201E + ldr r0, _0811202C @ =gUnknown_203AE94 + ldrb r1, [r0] + movs r0, 0xC0 + ands r0, r1 + cmp r0, 0x40 + beq _0811200E + ldr r0, _08112030 @ =gUnknown_2021CD0 + ldr r1, _08112034 @ =gUnknown_2036DFC + ldrb r1, [r1, 0x14] + bl sub_80C4DF8 + ldr r0, _08112038 @ =gUnknown_2021D18 + ldr r1, _0811203C @ =gUnknown_841B073 + bl sub_8008FCC + bl sub_8111D10 +_0811200E: + strh r4, [r5, 0x8] + strh r4, [r5, 0xA] + ldr r0, _08112040 @ =sub_8112044 + str r0, [r5] + bl sub_8068974 + bl sub_8069940 +_0811201E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08112024: .4byte gUnknown_3005090 +_08112028: .4byte gUnknown_2037AB8 +_0811202C: .4byte gUnknown_203AE94 +_08112030: .4byte gUnknown_2021CD0 +_08112034: .4byte gUnknown_2036DFC +_08112038: .4byte gUnknown_2021D18 +_0811203C: .4byte gUnknown_841B073 +_08112040: .4byte sub_8112044 + thumb_func_end sub_8111FCC + + thumb_func_start sub_8112044 +sub_8112044: @ 8112044 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0811208C @ =gUnknown_3005090 + adds r4, r1, r0 + ldr r0, _08112090 @ =gUnknown_30030F0 + ldrh r1, [r0, 0x2E] + movs r0, 0x3 + ands r0, r1 + cmp r0, 0 + bne _08112076 + ldrh r2, [r4, 0x8] + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x7E + bgt _08112076 + ldr r0, _08112094 @ =gUnknown_203AE94 + ldrb r1, [r0] + movs r0, 0xC0 + ands r0, r1 + cmp r0, 0x40 + bne _081120A0 +_08112076: + bl sub_8111E20 + movs r1, 0 + movs r0, 0 + strh r0, [r4, 0x8] + ldr r0, _08112098 @ =sub_81120AC + str r0, [r4] + ldr r0, _0811209C @ =gUnknown_203ADFA + strb r1, [r0] + b _081120A4 + .align 2, 0 +_0811208C: .4byte gUnknown_3005090 +_08112090: .4byte gUnknown_30030F0 +_08112094: .4byte gUnknown_203AE94 +_08112098: .4byte sub_81120AC +_0811209C: .4byte gUnknown_203ADFA +_081120A0: + adds r0, r2, 0x1 + strh r0, [r4, 0x8] +_081120A4: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8112044 + + thumb_func_start sub_81120AC +sub_81120AC: @ 81120AC + push {r4-r6,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _081120D0 @ =gUnknown_3005098 + adds r6, r0, r1 + movs r0, 0 + ldrsh r1, [r6, r0] + cmp r1, 0x1 + beq _08112110 + cmp r1, 0x1 + bgt _081120D4 + cmp r1, 0 + beq _081120DA + b _08112164 + .align 2, 0 +_081120D0: .4byte gUnknown_3005098 +_081120D4: + cmp r1, 0x2 + beq _0811214C + b _08112164 +_081120DA: + ldr r0, _08112104 @ =gUnknown_2031DD8 + strb r1, [r0] + bl sub_8055DC4 + bl sub_811229C + ldr r0, _08112108 @ =gUnknown_203ADFE + ldrb r0, [r0] + ldr r2, _0811210C @ =gUnknown_845661C + ldrb r1, [r2, 0x3] + lsls r1, 3 + str r1, [sp] + ldrb r1, [r2, 0x4] + lsls r1, 3 + str r1, [sp, 0x4] + movs r1, 0xF + movs r2, 0 + movs r3, 0 + bl sub_8004378 + b _0811215C + .align 2, 0 +_08112104: .4byte gUnknown_2031DD8 +_08112108: .4byte gUnknown_203ADFE +_0811210C: .4byte gUnknown_845661C +_08112110: + adds r0, r5, 0 + bl sub_81121D8 + lsls r0, 24 + cmp r0, 0 + beq _081121B8 + movs r5, 0 +_0811211E: + ldr r4, _08112148 @ =gUnknown_203ADFE + adds r4, r5, r4 + ldrb r0, [r4] + bl sub_80040B8 + ldrb r0, [r4] + movs r1, 0x1 + bl sub_8003F20 + ldrb r0, [r4] + bl sub_8003E3C + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x2 + bls _0811211E + movs r0, 0 + strh r0, [r6, 0x2] + b _0811215C + .align 2, 0 +_08112148: .4byte gUnknown_203ADFE +_0811214C: + ldrh r1, [r6, 0x2] + movs r2, 0x2 + ldrsh r0, [r6, r2] + cmp r0, 0x1F + bgt _0811215C + adds r0, r1, 0x1 + strh r0, [r6, 0x2] + b _081121B8 +_0811215C: + ldrh r0, [r6] + adds r0, 0x1 + strh r0, [r6] + b _081121B8 +_08112164: + ldr r6, _081121C0 @ =gUnknown_203AE94 + ldrb r1, [r6] + movs r0, 0xC0 + ands r0, r1 + cmp r0, 0x40 + bne _08112176 + movs r0, 0x1 + bl sub_8098110 +_08112176: + ldr r4, _081121C4 @ =gUnknown_203AE90 + ldr r0, [r4] + ldr r1, _081121C8 @ =gUnknown_20371F8 + movs r2, 0x80 + lsls r2, 2 + bl CpuSet + ldr r0, [r4] + bl sub_8002BC4 + movs r4, 0 + str r4, [r6] + bl sub_80696C0 + bl sub_806994C + ldr r2, _081121CC @ =gUnknown_3003E50 + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + ldr r0, _081121D0 @ =gUnknown_2036E28 + strb r4, [r0] + movs r0, 0 + bl sub_8082740 + ldr r1, _081121D4 @ =gUnknown_3005ECC + movs r0, 0x1 + strb r0, [r1] + adds r0, r5, 0 + bl sub_8077508 +_081121B8: + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_081121C0: .4byte gUnknown_203AE94 +_081121C4: .4byte gUnknown_203AE90 +_081121C8: .4byte gUnknown_20371F8 +_081121CC: .4byte gUnknown_3003E50 +_081121D0: .4byte gUnknown_2036E28 +_081121D4: .4byte gUnknown_3005ECC + thumb_func_end sub_81120AC + + thumb_func_start sub_81121D8 +sub_81121D8: @ 81121D8 + push {r4-r7,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0811227C @ =gUnknown_3005098 + adds r7, r1, r0 + ldrh r1, [r7, 0x2] + movs r2, 0x2 + ldrsh r0, [r7, r2] + cmp r0, 0xF + bgt _08112290 + ldr r5, _08112280 @ =gUnknown_20371FA + ldr r6, _08112284 @ =gUnknown_20375FA + movs r4, 0xF + subs r3, r4, r1 + lsls r3, 24 + lsrs r3, 24 + adds r0, r5, 0 + adds r1, r6, 0 + movs r2, 0xDF + bl sub_80716F8 + movs r0, 0xFF + lsls r0, 1 + adds r5, r0 + adds r6, r0 + movs r2, 0x80 + lsls r2, 1 + ldrb r0, [r7, 0x2] + subs r4, r0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + adds r1, r6, 0 + adds r3, r4, 0 + bl sub_80716F8 + ldr r5, _08112288 @ =gUnknown_203ADFE + ldrb r0, [r5] + ldr r4, _0811228C @ =gUnknown_845661C + ldrb r3, [r4, 0x4] + lsls r3, 3 + subs r3, 0x1 + ldrh r1, [r7, 0x2] + subs r3, r1 + lsls r3, 16 + lsrs r3, 16 + ldrb r1, [r4, 0x3] + lsls r1, 3 + str r1, [sp] + movs r6, 0x1 + str r6, [sp, 0x4] + movs r1, 0 + movs r2, 0 + bl sub_8004378 + ldrb r0, [r5, 0x1] + ldrh r3, [r7, 0x2] + ldrb r1, [r4, 0xB] + lsls r1, 3 + str r1, [sp] + str r6, [sp, 0x4] + movs r1, 0 + movs r2, 0 + bl sub_8004378 + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8003F20 + ldrb r0, [r5, 0x1] + movs r1, 0x2 + bl sub_8003F20 + ldrh r0, [r7, 0x2] + adds r0, 0x1 + strh r0, [r7, 0x2] + movs r0, 0 + b _08112292 + .align 2, 0 +_0811227C: .4byte gUnknown_3005098 +_08112280: .4byte gUnknown_20371FA +_08112284: .4byte gUnknown_20375FA +_08112288: .4byte gUnknown_203ADFE +_0811228C: .4byte gUnknown_845661C +_08112290: + movs r0, 0x1 +_08112292: + add sp, 0x8 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_81121D8 + + thumb_func_start sub_811229C +sub_811229C: @ 811229C + push {r4-r6,lr} + movs r0, 0x80 + lsls r0, 3 + bl sub_8002B9C + adds r6, r0, 0 + ldr r4, _08112314 @ =gUnknown_203AE90 + ldr r0, [r4] + movs r5, 0x80 + lsls r5, 2 + adds r1, r6, 0 + adds r2, r5, 0 + bl CpuSet + ldr r1, [r4] + adds r0, r1, 0 + movs r2, 0xD0 + bl sub_807B0C4 + ldr r1, [r4] + movs r0, 0x88 + lsls r0, 2 + adds r1, r0 + adds r0, r1, 0 + movs r2, 0x10 + bl sub_807B0C4 + ldr r1, [r4] + movs r0, 0xB0 + lsls r0, 2 + adds r1, r0 + adds r0, r1, 0 + movs r2, 0x40 + bl sub_807B0C4 + ldr r1, [r4] + movs r0, 0xD8 + lsls r0, 2 + adds r1, r0 + adds r0, r1, 0 + movs r2, 0x50 + bl sub_807B0C4 + ldr r0, [r4] + ldr r1, _08112318 @ =gUnknown_20371F8 + adds r2, r5, 0 + bl CpuSet + ldr r1, [r4] + adds r0, r6, 0 + adds r2, r5, 0 + bl CpuSet + adds r0, r6, 0 + bl sub_8002BC4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08112314: .4byte gUnknown_203AE90 +_08112318: .4byte gUnknown_20371F8 + thumb_func_end sub_811229C + + thumb_func_start sub_811231C +sub_811231C: @ 811231C + push {r4,lr} + ldr r4, _0811234C @ =gUnknown_203ADFA + ldrb r0, [r4] + cmp r0, 0x1 + bne _08112346 + ldr r0, _08112350 @ =gUnknown_203AE98 + bl sub_8110E68 + bl sub_8110E3C + movs r0, 0 + strb r0, [r4] + ldr r0, _08112354 @ =gUnknown_203AE8C + movs r1, 0 + str r1, [r0] + ldr r0, _08112358 @ =gUnknown_203AE04 + str r1, [r0] + ldr r0, _0811235C @ =gUnknown_203AE08 + str r1, [r0] + ldr r0, _08112360 @ =gUnknown_3005E88 + strb r1, [r0] +_08112346: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0811234C: .4byte gUnknown_203ADFA +_08112350: .4byte gUnknown_203AE98 +_08112354: .4byte gUnknown_203AE8C +_08112358: .4byte gUnknown_203AE04 +_0811235C: .4byte gUnknown_203AE08 +_08112360: .4byte gUnknown_3005E88 + thumb_func_end sub_811231C + + thumb_func_start sub_8112364 +sub_8112364: @ 8112364 + push {r4,r5,lr} + ldr r5, _081123A4 @ =gUnknown_3005E88 + ldrb r0, [r5] + cmp r0, 0 + beq _08112392 + ldr r4, _081123A8 @ =gUnknown_203ADFA + ldrb r0, [r4] + cmp r0, 0x1 + bne _08112392 + ldr r0, _081123AC @ =gUnknown_203AE98 + bl sub_8110E68 + movs r0, 0x1 + bl sub_8113A1C + bl sub_8110E3C + movs r0, 0 + strb r0, [r5] + strb r0, [r4] + ldr r1, _081123B0 @ =gUnknown_203AE8C + movs r0, 0 + str r0, [r1] +_08112392: + ldr r0, _081123B4 @ =gUnknown_203AE04 + movs r1, 0 + str r1, [r0] + ldr r0, _081123B8 @ =gUnknown_203AE08 + str r1, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_081123A4: .4byte gUnknown_3005E88 +_081123A8: .4byte gUnknown_203ADFA +_081123AC: .4byte gUnknown_203AE98 +_081123B0: .4byte gUnknown_203AE8C +_081123B4: .4byte gUnknown_203AE04 +_081123B8: .4byte gUnknown_203AE08 + thumb_func_end sub_8112364 + + thumb_func_start sub_81123BC +sub_81123BC: @ 81123BC + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + movs r0, 0xCD + lsls r0, 5 + bl sub_8002BB0 + mov r8, r0 + ldr r0, _08112448 @ =gUnknown_203ADF8 + ldrb r4, [r0] + movs r5, 0 + movs r6, 0 +_081123D6: + cmp r4, 0x3 + bls _081123DC + movs r4, 0 +_081123DC: + ldr r3, _0811244C @ =gUnknown_3005008 + ldr r0, [r3] + movs r2, 0xCD + lsls r2, 3 + adds r1, r4, 0 + muls r1, r2 + adds r0, r1 + movs r7, 0x98 + lsls r7, 5 + adds r1, r0, r7 + ldrb r0, [r1] + cmp r0, 0 + beq _0811240A + adds r0, r5, 0 + muls r0, r2 + add r0, r8 + str r3, [sp] + bl memcpy + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r3, [sp] +_0811240A: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x3 + bls _081123D6 + ldr r1, _08112448 @ =gUnknown_203ADF8 + movs r0, 0x3 + ands r5, r0 + strb r5, [r1] + ldr r1, [r3] + movs r0, 0x98 + lsls r0, 5 + adds r1, r0 + movs r2, 0xCD + lsls r2, 4 + mov r0, r8 + bl CpuSet + mov r0, r8 + bl sub_8002BC4 + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08112448: .4byte gUnknown_203ADF8 +_0811244C: .4byte gUnknown_3005008 + thumb_func_end sub_81123BC + + thumb_func_start sub_8112450 +sub_8112450: @ 8112450 + push {lr} + bl sub_80BF708 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08112466 + bl sub_8112364 + bl sub_81123BC +_08112466: + pop {r0} + bx r0 + thumb_func_end sub_8112450 + + thumb_func_start sub_811246C +sub_811246C: @ 811246C + push {r4-r6,lr} + adds r6, r0, 0 + movs r0, 0x2E + ldrsh r1, [r6, r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, _081124B0 @ =gUnknown_2036E38 + adds r4, r0, r1 + ldrb r0, [r4, 0x8] + cmp r0, 0xFF + bne _081124B8 + ldr r5, _081124B4 @ =gUnknown_203AF9A + ldrb r0, [r5] + cmp r0, 0xFF + beq _08112498 + adds r1, r0, 0 + adds r0, r4, 0 + bl sub_8063CA4 + movs r0, 0xFF + strb r0, [r5] +_08112498: + ldrb r0, [r5, 0x1] + cmp r0, 0xFF + beq _081124A6 + bl sub_8150454 + movs r0, 0xFF + strb r0, [r5, 0x1] +_081124A6: + adds r0, r4, 0 + adds r1, r6, 0 + bl sub_8063E28 + b _081124E0 + .align 2, 0 +_081124B0: .4byte gUnknown_2036E38 +_081124B4: .4byte gUnknown_203AF9A +_081124B8: + ldr r5, _081124E8 @ =gUnknown_203AF9A + ldrb r0, [r4, 0x8] + lsls r0, 1 + adds r1, r0, r5 + ldrb r0, [r1] + cmp r0, 0xFF + beq _081124D8 + adds r1, r0, 0 + adds r0, r4, 0 + bl sub_8063CA4 + ldrb r0, [r4, 0x8] + lsls r0, 1 + adds r0, r5 + movs r1, 0xFF + strb r1, [r0] +_081124D8: + adds r0, r4, 0 + adds r1, r6, 0 + bl sub_8063E28 +_081124E0: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_081124E8: .4byte gUnknown_203AF9A + thumb_func_end sub_811246C + + thumb_func_start sub_81124EC +sub_81124EC: @ 81124EC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + lsls r2, 24 + lsrs r2, 24 + mov r9, r2 + lsls r3, 24 + lsrs r3, 24 + mov r10, r3 + bl sub_8112CEC + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0 + bne _0811256E + ldr r2, _0811257C @ =gUnknown_203AF98 + ldrh r0, [r2] + ldr r3, _08112580 @ =gUnknown_3005E94 + ldr r5, [r3] + lsls r0, 3 + adds r0, r5 + ldr r1, _08112584 @ =gUnknown_203B01A + mov r12, r1 + ldrh r1, [r1] + movs r4, 0 + strh r1, [r0, 0x4] + ldrh r0, [r2] + lsls r0, 3 + adds r0, r5 + strb r4, [r0, 0x6] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + strb r6, [r0] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + mov r4, r8 + strb r4, [r0, 0x1] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + mov r1, r9 + strb r1, [r0, 0x2] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + mov r4, r10 + strb r4, [r0, 0x3] + ldrh r0, [r2] + adds r0, 0x1 + strh r0, [r2] + mov r0, r12 + strh r7, [r0] +_0811256E: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0811257C: .4byte gUnknown_203AF98 +_08112580: .4byte gUnknown_3005E94 +_08112584: .4byte gUnknown_203B01A + thumb_func_end sub_81124EC + + thumb_func_start sub_8112588 +sub_8112588: @ 8112588 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + ldr r4, [sp, 0x20] + lsls r0, 24 + lsrs r7, r0, 24 + lsls r1, 24 + lsrs r6, r1, 24 + lsls r2, 24 + lsrs r2, 24 + mov r8, r2 + lsls r3, 24 + lsrs r3, 24 + mov r9, r3 + lsls r4, 24 + lsrs r4, 24 + mov r10, r4 + bl sub_8112D1C + lsls r0, 24 + cmp r0, 0 + bne _0811260E + ldr r2, _0811261C @ =gUnknown_203AF98 + ldrh r0, [r2] + ldr r3, _08112620 @ =gUnknown_3005E94 + ldr r5, [r3] + lsls r0, 3 + adds r0, r5 + ldr r1, _08112624 @ =gUnknown_203B01A + mov r12, r1 + ldrh r1, [r1] + movs r4, 0 + strh r1, [r0, 0x4] + ldrh r0, [r2] + lsls r0, 3 + adds r0, r5 + strb r4, [r0, 0x6] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + strb r7, [r0] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + strb r6, [r0, 0x1] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + mov r4, r8 + strb r4, [r0, 0x2] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + mov r1, r9 + strb r1, [r0, 0x3] + ldrh r0, [r2] + adds r0, 0x1 + strh r0, [r2] + mov r0, r10 + mov r4, r12 + strh r0, [r4] +_0811260E: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0811261C: .4byte gUnknown_203AF98 +_08112620: .4byte gUnknown_3005E94 +_08112624: .4byte gUnknown_203B01A + thumb_func_end sub_8112588 + + thumb_func_start sub_8112628 +sub_8112628: @ 8112628 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r4, r0, 24 + mov r8, r4 + bl sub_8112CEC + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0 + bne _08112692 + ldr r0, _0811269C @ =gUnknown_203B01C + mov r12, r0 + ldrh r0, [r0] + ldr r6, _081126A0 @ =gUnknown_3005E94 + ldr r5, [r6] + lsls r0, 3 + adds r0, r5 + ldrb r0, [r0, 0x3] + cmp r4, r0 + bne _08112658 + cmp r4, 0x3 + bls _08112692 +_08112658: + ldr r2, _081126A4 @ =gUnknown_203AF98 + ldrh r0, [r2] + lsls r0, 3 + adds r0, r5 + ldr r4, _081126A8 @ =gUnknown_203B01A + ldrh r1, [r4] + movs r3, 0 + strh r1, [r0, 0x4] + ldrh r0, [r2] + lsls r0, 3 + adds r0, r5 + strb r3, [r0, 0x6] + ldrh r0, [r2] + ldr r1, [r6] + lsls r0, 3 + adds r0, r1 + strb r3, [r0] + ldrh r0, [r2] + ldr r1, [r6] + lsls r0, 3 + adds r0, r1 + mov r1, r8 + strb r1, [r0, 0x3] + ldrh r0, [r2] + mov r1, r12 + strh r0, [r1] + adds r0, 0x1 + strh r0, [r2] + strh r7, [r4] +_08112692: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0811269C: .4byte gUnknown_203B01C +_081126A0: .4byte gUnknown_3005E94 +_081126A4: .4byte gUnknown_203AF98 +_081126A8: .4byte gUnknown_203B01A + thumb_func_end sub_8112628 + + thumb_func_start sub_81126AC +sub_81126AC: @ 81126AC + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r7, r0, 24 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + bl sub_8112D1C + lsls r0, 24 + cmp r0, 0 + bne _08112704 + ldr r2, _08112710 @ =gUnknown_203AF98 + ldrh r0, [r2] + ldr r3, _08112714 @ =gUnknown_3005E94 + ldr r4, [r3] + lsls r0, 3 + adds r0, r4 + ldr r6, _08112718 @ =gUnknown_203B01A + ldrh r1, [r6] + movs r5, 0 + strh r1, [r0, 0x4] + ldrh r0, [r2] + lsls r0, 3 + adds r0, r4 + strb r5, [r0, 0x6] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + strb r5, [r0] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + strb r7, [r0, 0x3] + ldr r1, _0811271C @ =gUnknown_203B01C + ldrh r0, [r2] + strh r0, [r1] + adds r0, 0x1 + strh r0, [r2] + mov r0, r8 + strh r0, [r6] +_08112704: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08112710: .4byte gUnknown_203AF98 +_08112714: .4byte gUnknown_3005E94 +_08112718: .4byte gUnknown_203B01A +_0811271C: .4byte gUnknown_203B01C + thumb_func_end sub_81126AC + + thumb_func_start sub_8112720 +sub_8112720: @ 8112720 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + bl sub_8112D1C + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0 + bne _08112774 + ldr r2, _08112780 @ =gUnknown_203AF98 + ldrh r0, [r2] + ldr r3, _08112784 @ =gUnknown_3005E94 + ldr r4, [r3] + lsls r0, 3 + adds r0, r4 + ldr r6, _08112788 @ =gUnknown_203B01A + ldrh r1, [r6] + movs r5, 0 + strh r1, [r0, 0x4] + ldrh r0, [r2] + lsls r0, 3 + adds r0, r4 + movs r1, 0x1 + strb r1, [r0, 0x6] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + strb r5, [r0] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + mov r1, r8 + strb r1, [r0, 0x3] + ldrh r0, [r2] + adds r0, 0x1 + strh r0, [r2] + strh r7, [r6] +_08112774: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08112780: .4byte gUnknown_203AF98 +_08112784: .4byte gUnknown_3005E94 +_08112788: .4byte gUnknown_203B01A + thumb_func_end sub_8112720 + + thumb_func_start sub_811278C +sub_811278C: @ 811278C + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r7, r0, 24 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + bl sub_8112D1C + lsls r0, 24 + cmp r0, 0 + bne _081127E2 + ldr r2, _081127EC @ =gUnknown_203AF98 + ldrh r0, [r2] + ldr r3, _081127F0 @ =gUnknown_3005E94 + ldr r4, [r3] + lsls r0, 3 + adds r0, r4 + ldr r6, _081127F4 @ =gUnknown_203B01A + ldrh r1, [r6] + movs r5, 0 + strh r1, [r0, 0x4] + ldrh r0, [r2] + lsls r0, 3 + adds r0, r4 + movs r1, 0x1 + strb r1, [r0, 0x6] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + strb r5, [r0] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + strb r7, [r0, 0x3] + ldrh r0, [r2] + adds r0, 0x1 + strh r0, [r2] + mov r0, r8 + strh r0, [r6] +_081127E2: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_081127EC: .4byte gUnknown_203AF98 +_081127F0: .4byte gUnknown_3005E94 +_081127F4: .4byte gUnknown_203B01A + thumb_func_end sub_811278C + + thumb_func_start sub_81127F8 +sub_81127F8: @ 81127F8 + push {r4-r6,lr} + adds r2, r0, 0 + ldr r5, _08112874 @ =gUnknown_203AF98 + ldr r1, _08112878 @ =gUnknown_3005E8C + ldrh r0, [r5] + ldrh r1, [r1] + cmp r0, r1 + bcs _0811286C + ldr r2, [r2] + ldr r0, _0811287C @ =0x00ff00f3 + ands r2, r0 + ldrh r1, [r5] + ldr r3, _08112880 @ =gUnknown_3005E94 + ldr r4, [r3] + lsls r1, 3 + adds r1, r4 + ldr r6, _08112884 @ =gUnknown_203B01A + ldrh r0, [r6] + strh r0, [r1, 0x4] + ldrh r0, [r5] + lsls r0, 3 + adds r0, r4 + movs r1, 0x2 + strb r1, [r0, 0x6] + ldrh r0, [r5] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + strb r2, [r0] + ldrh r0, [r5] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + lsrs r1, r2, 8 + strb r1, [r0, 0x1] + ldrh r0, [r5] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + lsrs r1, r2, 16 + strb r1, [r0, 0x2] + ldrh r0, [r5] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + lsrs r2, 24 + strb r2, [r0, 0x3] + ldrh r0, [r5] + adds r0, 0x1 + strh r0, [r5] + bl sub_8069958 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _0811286A + movs r0, 0x1 +_0811286A: + strh r0, [r6] +_0811286C: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08112874: .4byte gUnknown_203AF98 +_08112878: .4byte gUnknown_3005E8C +_0811287C: .4byte 0x00ff00f3 +_08112880: .4byte gUnknown_3005E94 +_08112884: .4byte gUnknown_203B01A + thumb_func_end sub_81127F8 + + thumb_func_start sub_8112888 +sub_8112888: @ 8112888 + push {lr} + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08112898 + cmp r0, 0x2 + beq _081128A8 + b _081128B4 +_08112898: + ldr r1, _081128A4 @ =gUnknown_3005E88 + ldrb r0, [r1] + cmp r0, 0x1 + bne _081128B4 + movs r0, 0x3 + b _081128B2 + .align 2, 0 +_081128A4: .4byte gUnknown_3005E88 +_081128A8: + ldr r1, _081128B8 @ =gUnknown_3005E88 + ldrb r0, [r1] + cmp r0, 0x3 + bne _081128B4 + movs r0, 0x1 +_081128B2: + strb r0, [r1] +_081128B4: + pop {r0} + bx r0 + .align 2, 0 +_081128B8: .4byte gUnknown_3005E88 + thumb_func_end sub_8112888 + + thumb_func_start sub_81128BC +sub_81128BC: @ 81128BC + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8112CAC + lsls r0, 24 + lsrs r1, r0, 24 + cmp r4, 0x1 + beq _081128D4 + cmp r4, 0x2 + beq _08112928 + b _08112934 +_081128D4: + cmp r1, 0x1 + bne _081128E4 + ldr r1, _081128E0 @ =gUnknown_3005E88 + movs r0, 0x3 + strb r0, [r1] + b _08112934 + .align 2, 0 +_081128E0: .4byte gUnknown_3005E88 +_081128E4: + cmp r1, 0x2 + bne _08112934 + ldr r2, _08112918 @ =gUnknown_203AF98 + ldrh r1, [r2] + ldr r0, _0811291C @ =gUnknown_3005E94 + ldr r3, [r0] + lsls r1, 3 + adds r1, r3 + ldr r4, _08112920 @ =gUnknown_203B01A + ldrh r0, [r4] + movs r5, 0 + strh r0, [r1, 0x4] + ldrh r0, [r2] + lsls r0, 3 + adds r0, r3 + movs r1, 0x3 + strb r1, [r0, 0x6] + ldrh r0, [r2] + adds r0, 0x1 + strh r0, [r2] + strh r5, [r4] + ldr r1, _08112924 @ =gUnknown_3005E88 + movs r0, 0x4 + strb r0, [r1] + b _08112934 + .align 2, 0 +_08112918: .4byte gUnknown_203AF98 +_0811291C: .4byte gUnknown_3005E94 +_08112920: .4byte gUnknown_203B01A +_08112924: .4byte gUnknown_3005E88 +_08112928: + cmp r1, 0x1 + beq _08112930 + cmp r1, 0x2 + bne _08112934 +_08112930: + ldr r0, _0811293C @ =gUnknown_3005E88 + strb r1, [r0] +_08112934: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0811293C: .4byte gUnknown_3005E88 + thumb_func_end sub_81128BC + + thumb_func_start sub_8112940 +sub_8112940: @ 8112940 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r3, r1, 0 + lsls r0, 24 + lsrs r0, 24 + lsls r4, r2, 16 + cmp r0, 0x1 + beq _08112964 + cmp r0, 0x2 + beq _081129E0 + ldr r1, _08112960 @ =gUnknown_3005E88 + movs r0, 0 + strb r0, [r1] + b _08112B20 + .align 2, 0 +_08112960: .4byte gUnknown_3005E88 +_08112964: + ldr r2, _081129C0 @ =gUnknown_3005E94 + str r3, [r2] + ldr r1, _081129C4 @ =gUnknown_3005E8C + lsrs r0, r4, 19 + strh r0, [r1] + ldr r0, _081129C8 @ =gUnknown_3005E88 + mov r9, r0 + adds r1, r2, 0 + ldr r6, _081129CC @ =gUnknown_203AF9A + ldr r2, _081129D0 @ =gUnknown_203AF98 + ldr r7, _081129D4 @ =gUnknown_203B01C + ldr r0, _081129D8 @ =gUnknown_3005E90 + mov r12, r0 + ldr r0, _081129DC @ =gUnknown_203B01A + mov r8, r0 + movs r5, 0xFF + adds r3, r6, 0 + movs r4, 0x3F +_08112988: + ldrb r0, [r3] + orrs r0, r5 + strb r0, [r3] + ldrb r0, [r3, 0x1] + orrs r0, r5 + strb r0, [r3, 0x1] + adds r3, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _08112988 + movs r0, 0 + strh r0, [r2] + strh r0, [r7] + movs r0, 0 + mov r2, r12 + str r0, [r2] + ldr r1, [r1] + ldrh r0, [r1, 0x4] + mov r2, r8 + strh r0, [r2] + ldrb r0, [r1, 0x3] + strb r0, [r6] + movs r0, 0xFF + strb r0, [r6, 0x1] + movs r0, 0x1 + mov r1, r9 + strb r0, [r1] + b _08112B20 + .align 2, 0 +_081129C0: .4byte gUnknown_3005E94 +_081129C4: .4byte gUnknown_3005E8C +_081129C8: .4byte gUnknown_3005E88 +_081129CC: .4byte gUnknown_203AF9A +_081129D0: .4byte gUnknown_203AF98 +_081129D4: .4byte gUnknown_203B01C +_081129D8: .4byte gUnknown_3005E90 +_081129DC: .4byte gUnknown_203B01A +_081129E0: + ldr r1, _08112A44 @ =gUnknown_3005E94 + str r3, [r1] + ldr r5, _08112A48 @ =gUnknown_3005E8C + lsrs r0, r4, 19 + strh r0, [r5] + movs r4, 0 + ldr r2, _08112A4C @ =gUnknown_203B01A + mov r8, r2 + cmp r4, r0 + bge _08112A0E + adds r6, r1, 0 + ldr r0, _08112A50 @ =gUnknown_845669C + ldr r2, [r0] + ldr r3, [r0, 0x4] +_081129FC: + ldr r1, [r6] + lsls r0, r4, 3 + adds r0, r1 + str r2, [r0] + str r3, [r0, 0x4] + adds r4, 0x1 + ldrh r0, [r5] + cmp r4, r0 + blt _081129FC +_08112A0E: + ldr r4, _08112A54 @ =gUnknown_203AF98 + movs r2, 0 + strh r2, [r4] + mov r1, r8 + strh r2, [r1] + movs r1, 0 + ldr r3, _08112A44 @ =gUnknown_3005E94 + ldr r0, [r3] + strh r1, [r0, 0x4] + strb r2, [r0, 0x6] + ldrh r0, [r4] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + strb r2, [r0] + bl sub_805C6C4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x4 + bhi _08112AC8 + lsls r0, 2 + ldr r1, _08112A58 @ =_08112A5C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08112A44: .4byte gUnknown_3005E94 +_08112A48: .4byte gUnknown_3005E8C +_08112A4C: .4byte gUnknown_203B01A +_08112A50: .4byte gUnknown_845669C +_08112A54: .4byte gUnknown_203AF98 +_08112A58: .4byte _08112A5C + .align 2, 0 +_08112A5C: + .4byte _08112A70 + .4byte _08112A70 + .4byte _08112AA0 + .4byte _08112AB8 + .4byte _08112A88 +_08112A70: + ldr r0, _08112A80 @ =gUnknown_203AF98 + ldrh r0, [r0] + ldr r1, _08112A84 @ =gUnknown_3005E94 + ldr r1, [r1] + lsls r0, 3 + adds r0, r1 + movs r1, 0 + b _08112AC6 + .align 2, 0 +_08112A80: .4byte gUnknown_203AF98 +_08112A84: .4byte gUnknown_3005E94 +_08112A88: + ldr r0, _08112A98 @ =gUnknown_203AF98 + ldrh r0, [r0] + ldr r1, _08112A9C @ =gUnknown_3005E94 + ldr r1, [r1] + lsls r0, 3 + adds r0, r1 + movs r1, 0x3 + b _08112AC6 + .align 2, 0 +_08112A98: .4byte gUnknown_203AF98 +_08112A9C: .4byte gUnknown_3005E94 +_08112AA0: + ldr r0, _08112AB0 @ =gUnknown_203AF98 + ldrh r0, [r0] + ldr r1, _08112AB4 @ =gUnknown_3005E94 + ldr r1, [r1] + lsls r0, 3 + adds r0, r1 + movs r1, 0x1 + b _08112AC6 + .align 2, 0 +_08112AB0: .4byte gUnknown_203AF98 +_08112AB4: .4byte gUnknown_3005E94 +_08112AB8: + ldr r0, _08112B2C @ =gUnknown_203AF98 + ldrh r0, [r0] + ldr r1, _08112B30 @ =gUnknown_3005E94 + ldr r1, [r1] + lsls r0, 3 + adds r0, r1 + movs r1, 0x2 +_08112AC6: + strb r1, [r0, 0x3] +_08112AC8: + ldr r0, _08112B34 @ =gUnknown_203B01C + movs r5, 0 + strh r5, [r0] + ldr r2, _08112B2C @ =gUnknown_203AF98 + ldrh r0, [r2] + adds r0, 0x1 + strh r0, [r2] + ldrh r0, [r2] + ldr r3, _08112B30 @ =gUnknown_3005E94 + ldr r4, [r3] + lsls r0, 3 + adds r0, r4 + movs r1, 0 + strh r1, [r0, 0x4] + ldrh r0, [r2] + lsls r0, 3 + adds r0, r4 + movs r4, 0x2 + strb r4, [r0, 0x6] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + strb r5, [r0] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + strb r5, [r0, 0x1] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + strb r5, [r0, 0x2] + ldrh r0, [r2] + ldr r1, [r3] + lsls r0, 3 + adds r0, r1 + strb r5, [r0, 0x3] + ldrh r0, [r2] + adds r0, 0x1 + strh r0, [r2] + ldr r0, _08112B38 @ =gUnknown_3005E88 + strb r4, [r0] +_08112B20: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08112B2C: .4byte gUnknown_203AF98 +_08112B30: .4byte gUnknown_3005E94 +_08112B34: .4byte gUnknown_203B01C +_08112B38: .4byte gUnknown_3005E88 + thumb_func_end sub_8112940 + + thumb_func_start sub_8112B3C +sub_8112B3C: @ 8112B3C + push {r4-r7,lr} + ldr r0, _08112B54 @ =gUnknown_3005E88 + ldrb r0, [r0] + cmp r0, 0x4 + bls _08112B48 + b _08112C84 +_08112B48: + lsls r0, 2 + ldr r1, _08112B58 @ =_08112B5C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08112B54: .4byte gUnknown_3005E88 +_08112B58: .4byte _08112B5C + .align 2, 0 +_08112B5C: + .4byte _08112C84 + .4byte _08112B70 + .4byte _08112C5E + .4byte _08112C84 + .4byte _08112C84 +_08112B70: + bl sub_8112CEC + lsls r0, 24 + cmp r0, 0 + beq _08112B7C + b _08112C72 +_08112B7C: + ldr r0, _08112B8C @ =gUnknown_203B01A + ldrh r1, [r0] + adds r7, r0, 0 + cmp r1, 0 + beq _08112B90 + subs r0, r1, 0x1 + strh r0, [r7] + b _08112C84 + .align 2, 0 +_08112B8C: .4byte gUnknown_203B01A +_08112B90: + ldr r5, _08112B98 @ =gUnknown_3005E88 + ldr r4, _08112B9C @ =gUnknown_203AF98 + ldr r6, _08112BA0 @ =gUnknown_3005E94 + b _08112BD4 + .align 2, 0 +_08112B98: .4byte gUnknown_3005E88 +_08112B9C: .4byte gUnknown_203AF98 +_08112BA0: .4byte gUnknown_3005E94 +_08112BA4: + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] + ldr r1, _08112BF0 @ =gUnknown_3005E8C + lsls r0, 16 + lsrs r0, 16 + ldrh r1, [r1] + cmp r0, r1 + bcs _08112C58 + ldrh r0, [r4] + ldr r1, [r6] + lsls r0, 3 + adds r0, r1 + ldrh r0, [r0, 0x4] + strh r0, [r7] + cmp r2, 0x3 + beq _08112C84 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0 + beq _08112BD4 + ldr r0, _08112BF4 @ =0x0000ffff + cmp r1, r0 + bne _08112C84 +_08112BD4: + ldrh r0, [r4] + ldr r1, [r6] + lsls r0, 3 + adds r3, r0, r1 + ldrb r0, [r3, 0x6] + cmp r0, 0x2 + beq _08112C2C + cmp r0, 0x2 + bgt _08112BF8 + cmp r0, 0 + beq _08112C0C + cmp r0, 0x1 + beq _08112C18 + b _08112C50 + .align 2, 0 +_08112BF0: .4byte gUnknown_3005E8C +_08112BF4: .4byte 0x0000ffff +_08112BF8: + cmp r0, 0xFE + beq _08112C50 + cmp r0, 0xFE + bgt _08112C06 + cmp r0, 0x3 + beq _08112C4E + b _08112C50 +_08112C06: + cmp r0, 0xFF + beq _08112C4C + b _08112C50 +_08112C0C: + ldr r0, _08112C14 @ =gUnknown_203AF9A + ldrb r1, [r3] + lsls r1, 1 + b _08112C20 + .align 2, 0 +_08112C14: .4byte gUnknown_203AF9A +_08112C18: + ldr r0, _08112C28 @ =gUnknown_203AF9A + ldrb r1, [r3] + lsls r1, 1 + adds r0, 0x1 +_08112C20: + adds r1, r0 + ldrb r0, [r3, 0x3] + strb r0, [r1] + b _08112C50 + .align 2, 0 +_08112C28: .4byte gUnknown_203AF9A +_08112C2C: + ldr r2, _08112C48 @ =gUnknown_3005E90 + ldrb r1, [r3, 0x3] + lsls r1, 24 + ldrb r0, [r3, 0x2] + lsls r0, 16 + orrs r1, r0 + ldrb r0, [r3, 0x1] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r3] + orrs r1, r0 + str r1, [r2] + b _08112C50 + .align 2, 0 +_08112C48: .4byte gUnknown_3005E90 +_08112C4C: + movs r0, 0 +_08112C4E: + strb r0, [r5] +_08112C50: + ldrb r2, [r5] + cmp r2, 0 + bne _08112BA4 + b _08112C84 +_08112C58: + movs r0, 0 + strb r0, [r5] + b _08112C84 +_08112C5E: + bl sub_8069958 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08112C84 + ldr r1, _08112C8C @ =gUnknown_203B01A + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] +_08112C72: + ldr r0, _08112C90 @ =gUnknown_203AF98 + ldr r1, _08112C94 @ =gUnknown_3005E8C + ldrh r0, [r0] + ldrh r1, [r1] + cmp r0, r1 + bcc _08112C84 + ldr r1, _08112C98 @ =gUnknown_3005E88 + movs r0, 0 + strb r0, [r1] +_08112C84: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08112C8C: .4byte gUnknown_203B01A +_08112C90: .4byte gUnknown_203AF98 +_08112C94: .4byte gUnknown_3005E8C +_08112C98: .4byte gUnknown_3005E88 + thumb_func_end sub_8112B3C + + thumb_func_start sub_8112C9C +sub_8112C9C: @ 8112C9C + ldr r1, _08112CA8 @ =gUnknown_203B01A + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] + bx lr + .align 2, 0 +_08112CA8: .4byte gUnknown_203B01A + thumb_func_end sub_8112C9C + + thumb_func_start sub_8112CAC +sub_8112CAC: @ 8112CAC + push {lr} + ldr r0, _08112CC0 @ =gUnknown_3005E88 + ldrb r0, [r0] + cmp r0, 0x4 + bhi _08112CDC + lsls r0, 2 + ldr r1, _08112CC4 @ =_08112CC8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08112CC0: .4byte gUnknown_3005E88 +_08112CC4: .4byte _08112CC8 + .align 2, 0 +_08112CC8: + .4byte _08112CDC + .4byte _08112CE0 + .4byte _08112CE4 + .4byte _08112CE0 + .4byte _08112CE4 +_08112CDC: + movs r0, 0 + b _08112CE6 +_08112CE0: + movs r0, 0x1 + b _08112CE6 +_08112CE4: + movs r0, 0x2 +_08112CE6: + pop {r1} + bx r1 + thumb_func_end sub_8112CAC + + thumb_func_start sub_8112CEC +sub_8112CEC: @ 8112CEC + push {lr} + ldr r0, _08112D0C @ =gUnknown_203AF98 + ldr r1, _08112D10 @ =gUnknown_3005E8C + ldrh r0, [r0] + ldrh r1, [r1] + cmp r0, r1 + bcs _08112D06 + bl sub_8069958 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08112D14 +_08112D06: + movs r0, 0x1 + b _08112D16 + .align 2, 0 +_08112D0C: .4byte gUnknown_203AF98 +_08112D10: .4byte gUnknown_3005E8C +_08112D14: + movs r0, 0 +_08112D16: + pop {r1} + bx r1 + thumb_func_end sub_8112CEC + + thumb_func_start sub_8112D1C +sub_8112D1C: @ 8112D1C + push {lr} + ldr r0, _08112D30 @ =gUnknown_203AF98 + ldr r1, _08112D34 @ =gUnknown_3005E8C + ldrh r0, [r0] + ldrh r1, [r1] + cmp r0, r1 + bcs _08112D38 + movs r0, 0 + b _08112D3A + .align 2, 0 +_08112D30: .4byte gUnknown_203AF98 +_08112D34: .4byte gUnknown_3005E8C +_08112D38: + movs r0, 0x1 +_08112D3A: + pop {r1} + bx r1 + thumb_func_end sub_8112D1C + + thumb_func_start sub_8112D40 +sub_8112D40: @ 8112D40 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 16 + lsrs r5, r1, 16 + ldr r0, _08112D6C @ =gUnknown_203AF98 + ldrh r1, [r0] + cmp r1, 0 + beq _08112D66 + ldr r0, _08112D70 @ =gUnknown_3005E8C + ldrh r0, [r0] + cmp r1, r0 + bcs _08112D66 + ldr r4, _08112D74 @ =gUnknown_203B01E + ldr r1, _08112D78 @ =gUnknown_3002020 + ldrh r0, [r4] + ldrh r1, [r1] + cmp r0, r1 + bcc _08112D7C +_08112D66: + movs r0, 0 + b _08112DA8 + .align 2, 0 +_08112D6C: .4byte gUnknown_203AF98 +_08112D70: .4byte gUnknown_3005E8C +_08112D74: .4byte gUnknown_203B01E +_08112D78: .4byte gUnknown_3002020 +_08112D7C: + ldrh r3, [r4] + ldr r0, _08112DA0 @ =gUnknown_300201C + ldr r1, [r0] + lsls r0, r3, 2 + adds r2, r0, r1 + ldr r1, [r2] + lsls r0, r1, 17 + lsrs r0, 17 + cmp r0, r5 + bne _08112DA4 + lsls r0, r1, 16 + lsrs r0, 31 + cmp r0, r6 + bne _08112DA4 + adds r1, r2, 0x2 + adds r0, r3, 0x1 + strh r0, [r4] + b _08112DA6 + .align 2, 0 +_08112DA0: .4byte gUnknown_300201C +_08112DA4: + movs r1, 0 +_08112DA6: + adds r0, r1, 0 +_08112DA8: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8112D40 + + thumb_func_start sub_8112DB0 +sub_8112DB0: @ 8112DB0 + push {r4-r7,lr} + lsls r0, 24 + lsrs r7, r0, 24 + lsls r1, 16 + lsrs r3, r1, 16 + lsls r2, 16 + lsrs r2, 16 + mov r12, r2 + ldr r0, _08112E20 @ =gUnknown_203AF98 + ldrh r1, [r0] + cmp r1, 0 + beq _08112E18 + ldr r0, _08112E24 @ =gUnknown_3005E8C + ldrh r0, [r0] + cmp r1, r0 + bcs _08112E18 + ldr r6, _08112E28 @ =gUnknown_203B01E + ldr r1, _08112E2C @ =gUnknown_3002020 + ldrh r0, [r6] + ldrh r1, [r1] + cmp r0, r1 + bcs _08112E18 + adds r2, r0, 0 + ldr r5, _08112E30 @ =gUnknown_300201C + ldr r4, [r5] + lsls r2, 2 + adds r2, r4 + ldr r1, _08112E34 @ =0x00007fff + ands r1, r3 + ldrh r3, [r2] + ldr r0, _08112E38 @ =0xffff8000 + ands r0, r3 + orrs r0, r1 + strh r0, [r2] + ldrh r1, [r6] + lsls r1, 2 + adds r1, r4 + lsls r3, r7, 7 + ldrb r2, [r1, 0x1] + movs r0, 0x7F + ands r0, r2 + orrs r0, r3 + strb r0, [r1, 0x1] + ldrh r0, [r6] + ldr r1, [r5] + lsls r0, 2 + adds r0, r1 + mov r1, r12 + strh r1, [r0, 0x2] + ldrh r0, [r6] + adds r0, 0x1 + strh r0, [r6] +_08112E18: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08112E20: .4byte gUnknown_203AF98 +_08112E24: .4byte gUnknown_3005E8C +_08112E28: .4byte gUnknown_203B01E +_08112E2C: .4byte gUnknown_3002020 +_08112E30: .4byte gUnknown_300201C +_08112E34: .4byte 0x00007fff +_08112E38: .4byte 0xffff8000 + thumb_func_end sub_8112DB0 + + thumb_func_start sub_8112E3C +sub_8112E3C: @ 8112E3C + push {r4,r5,lr} + lsls r0, 24 + lsls r2, 16 + lsrs r3, r0, 24 + movs r4, 0xFF + lsls r4, 24 + adds r0, r4 + lsrs r0, 24 + cmp r0, 0x1 + bls _08112E5C + ldr r1, _08112E58 @ =gUnknown_3005E88 + movs r0, 0 + strb r0, [r1] + b _08112E8E + .align 2, 0 +_08112E58: .4byte gUnknown_3005E88 +_08112E5C: + ldr r5, _08112E94 @ =gUnknown_300201C + str r1, [r5] + ldr r1, _08112E98 @ =gUnknown_3002020 + lsrs r0, r2, 18 + strh r0, [r1] + ldr r1, _08112E9C @ =gUnknown_203B01E + movs r0, 0 + strh r0, [r1] + cmp r3, 0x2 + bne _08112E8E + movs r2, 0 + ldr r4, _08112EA0 @ =gUnknown_3005E8C + ldrh r0, [r4] + cmp r2, r0 + bge _08112E8E + ldr r0, _08112EA4 @ =gUnknown_84566A4 + ldr r3, [r0] +_08112E7E: + ldr r1, [r5] + lsls r0, r2, 2 + adds r0, r1 + str r3, [r0] + adds r2, 0x1 + ldrh r0, [r4] + cmp r2, r0 + blt _08112E7E +_08112E8E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08112E94: .4byte gUnknown_300201C +_08112E98: .4byte gUnknown_3002020 +_08112E9C: .4byte gUnknown_203B01E +_08112EA0: .4byte gUnknown_3005E8C +_08112EA4: .4byte gUnknown_84566A4 + thumb_func_end sub_8112E3C + + thumb_func_start sub_8112EA8 +sub_8112EA8: @ 8112EA8 + ldr r1, _08112EB0 @ =gUnknown_203B020 + movs r0, 0xFF + strb r0, [r1] + bx lr + .align 2, 0 +_08112EB0: .4byte gUnknown_203B020 + thumb_func_end sub_8112EA8 + + thumb_func_start sub_8112EB4 +sub_8112EB4: @ 8112EB4 + push {r4,lr} + ldr r4, _08112ED4 @ =gUnknown_203B020 + ldrb r0, [r4] + cmp r0, 0xFF + bne _08112ECC + ldr r0, _08112ED8 @ =gUnknown_8456928 + bl sub_8003CE4 + strb r0, [r4] + ldrb r0, [r4] + bl sub_8003FA0 +_08112ECC: + ldrb r0, [r4] + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08112ED4: .4byte gUnknown_203B020 +_08112ED8: .4byte gUnknown_8456928 + thumb_func_end sub_8112EB4 + + thumb_func_start sub_8112EDC +sub_8112EDC: @ 8112EDC + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r4, _08112F14 @ =gUnknown_203B020 + ldrb r0, [r4] + cmp r0, 0xFF + beq _08112F0C + movs r1, 0 + bl sub_800445C + ldrb r0, [r4] + bl sub_80040B8 + cmp r5, 0 + beq _08112F02 + ldrb r0, [r4] + adds r1, r5, 0 + bl sub_8003F20 +_08112F02: + ldrb r0, [r4] + bl sub_8003E3C + movs r0, 0xFF + strb r0, [r4] +_08112F0C: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08112F14: .4byte gUnknown_203B020 + thumb_func_end sub_8112EDC + + thumb_func_start sub_8112F18 +sub_8112F18: @ 8112F18 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + movs r1, 0x3 + bl sub_8004950 + lsls r0, 24 + lsrs r6, r0, 24 + mov r0, r10 + movs r1, 0x4 + bl sub_8004950 + lsls r0, 24 + lsrs r7, r0, 24 + lsls r0, r7, 5 + muls r0, r6 + bl sub_8002B9C + mov r8, r0 + cmp r0, 0 + beq _08112FB8 + movs r5, 0 + adds r0, r6, 0 + muls r0, r7 + str r0, [sp] + cmp r5, r7 + bcs _08112FA2 +_08112F5A: + movs r4, 0 + adds r1, r5, 0x1 + mov r9, r1 + cmp r4, r6 + bcs _08112F98 + subs r3, r7, 0x1 +_08112F66: + movs r0, 0 + cmp r5, 0 + beq _08112F74 + movs r0, 0x5 + cmp r5, r3 + bne _08112F74 + movs r0, 0xE +_08112F74: + lsls r0, 5 + ldr r1, _08112FC8 @ =gUnknown_84566A8 + adds r0, r1, r0 + adds r1, r5, 0 + muls r1, r6 + adds r1, r4 + lsls r1, 5 + add r1, r8 + ldr r2, _08112FCC @ =0x04000008 + str r3, [sp, 0x4] + bl CpuSet + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r3, [sp, 0x4] + cmp r4, r6 + bcc _08112F66 +_08112F98: + mov r1, r9 + lsls r0, r1, 24 + lsrs r5, r0, 24 + cmp r5, r7 + bcc _08112F5A +_08112FA2: + ldr r0, [sp] + lsls r2, r0, 21 + lsrs r2, 16 + mov r0, r10 + mov r1, r8 + movs r3, 0 + bl sub_8004404 + mov r0, r8 + bl sub_8002BC4 +_08112FB8: + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08112FC8: .4byte gUnknown_84566A8 +_08112FCC: .4byte 0x04000008 + thumb_func_end sub_8112F18 + + thumb_func_start sub_8112FD0 +sub_8112FD0: @ 8112FD0 + push {lr} + ldr r0, _08112FE0 @ =gUnknown_203B020 + ldrb r0, [r0] + bl sub_8112F18 + pop {r0} + bx r0 + .align 2, 0 +_08112FE0: .4byte gUnknown_203B020 + thumb_func_end sub_8112FD0 + + thumb_func_start sub_8112FE4 +sub_8112FE4: @ 8112FE4 + push {lr} + sub sp, 0x14 + adds r2, r0, 0 + ldr r0, _08113010 @ =gUnknown_203B020 + ldrb r0, [r0] + movs r1, 0x1 + str r1, [sp] + str r1, [sp, 0x4] + ldr r1, _08113014 @ =gUnknown_8456930 + str r1, [sp, 0x8] + movs r1, 0x1 + negs r1, r1 + str r1, [sp, 0xC] + str r2, [sp, 0x10] + movs r1, 0x2 + movs r2, 0x2 + movs r3, 0x5 + bl sub_812E5A4 + add sp, 0x14 + pop {r0} + bx r0 + .align 2, 0 +_08113010: .4byte gUnknown_203B020 +_08113014: .4byte gUnknown_8456930 + thumb_func_end sub_8112FE4 + + thumb_func_start sub_8113018 +sub_8113018: @ 8113018 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + bl sub_8112FD0 + adds r0, r4, 0 + bl sub_8112FE4 + cmp r5, 0 + beq _08113038 + ldr r0, _08113040 @ =gUnknown_203B020 + ldrb r0, [r0] + adds r1, r5, 0 + bl sub_8003F20 +_08113038: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08113040: .4byte gUnknown_203B020 + thumb_func_end sub_8113018 + + thumb_func_start sub_8113044 +sub_8113044: @ 8113044 + push {lr} + ldr r0, _0811305C @ =0x00004038 + movs r1, 0 + bl sub_806E584 + ldr r0, _08113060 @ =0x00004039 + movs r1, 0 + bl sub_806E584 + pop {r0} + bx r0 + .align 2, 0 +_0811305C: .4byte 0x00004038 +_08113060: .4byte 0x00004039 + thumb_func_end sub_8113044 + + thumb_func_start sub_8113064 +sub_8113064: @ 8113064 + push {lr} + ldr r0, _08113074 @ =0x00004038 + bl sub_806E454 + bl sub_8113078 + pop {r0} + bx r0 + .align 2, 0 +_08113074: .4byte 0x00004038 + thumb_func_end sub_8113064 + + thumb_func_start sub_8113078 +sub_8113078: @ 8113078 + push {r4,lr} + adds r4, r0, 0 + bl sub_8113508 + lsls r0, 24 + cmp r0, 0 + beq _08113098 + adds r0, r4, 0 + bl sub_81132E0 + ldr r0, _081130A0 @ =0x00004039 + ldr r1, _081130A4 @ =gUnknown_300500C + ldr r1, [r1] + ldrh r1, [r1, 0xE] + bl sub_806E584 +_08113098: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_081130A0: .4byte 0x00004039 +_081130A4: .4byte gUnknown_300500C + thumb_func_end sub_8113078 + + thumb_func_start sub_81130A8 +sub_81130A8: @ 81130A8 + push {lr} + ldr r0, _081130B8 @ =0x00004038 + bl sub_806E454 + bl sub_81130BC + pop {r0} + bx r0 + .align 2, 0 +_081130B8: .4byte 0x00004038 + thumb_func_end sub_81130A8 + + thumb_func_start sub_81130BC +sub_81130BC: @ 81130BC + push {r4,lr} + adds r4, r0, 0 + ldrb r1, [r4] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08113102 + adds r0, r4, 0 + bl sub_8113524 + adds r0, r4, 0 + bl sub_8113390 + ldr r0, _08113108 @ =0x00004039 + ldr r1, _0811310C @ =gUnknown_300500C + ldr r1, [r1] + ldrh r1, [r1, 0xE] + bl sub_806E584 + movs r0, 0x6C + bl sub_806E6A8 + movs r0, 0x6D + bl sub_806E6A8 + movs r0, 0x6E + bl sub_806E6A8 + movs r0, 0x6F + bl sub_806E6A8 + ldr r0, _08113110 @ =0x00004073 + movs r1, 0x1 + bl sub_806E584 +_08113102: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08113108: .4byte 0x00004039 +_0811310C: .4byte gUnknown_300500C +_08113110: .4byte 0x00004073 + thumb_func_end sub_81130BC + + thumb_func_start sub_8113114 +sub_8113114: @ 8113114 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + ldr r0, _0811315C @ =0x00004073 + bl sub_806E568 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bne _08113188 + ldr r0, [r4] + lsls r2, r0, 25 + lsrs r1, r2, 25 + ldr r0, _08113160 @ =gUnknown_8456934 + adds r0, r5, r0 + ldrb r0, [r0] + adds r1, r0 + cmp r1, 0x13 + ble _08113174 + adds r0, r4, 0 + bl sub_81132A0 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bhi _08113164 + adds r0, r4, 0 + bl sub_8113194 + ldrb r1, [r4] + movs r0, 0x80 + negs r0, r0 + ands r0, r1 + b _08113186 + .align 2, 0 +_0811315C: .4byte 0x00004073 +_08113160: .4byte gUnknown_8456934 +_08113164: + ldrb r0, [r4] + movs r1, 0x80 + negs r1, r1 + ands r1, r0 + movs r0, 0x14 + orrs r1, r0 + strb r1, [r4] + b _08113188 +_08113174: + lsrs r1, r2, 25 + adds r1, r0 + movs r0, 0x7F + ands r1, r0 + ldrb r2, [r4] + movs r0, 0x80 + negs r0, r0 + ands r0, r2 + orrs r0, r1 +_08113186: + strb r0, [r4] +_08113188: + ldr r0, [r4] + lsls r0, 25 + lsrs r0, 25 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8113114 + + thumb_func_start sub_8113194 +sub_8113194: @ 8113194 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r5, r0, 0 + movs r0, 0 + mov r8, r0 + movs r6, 0 + movs r7, 0x1 +_081131A4: + ldrb r1, [r5, 0x1] + ldr r0, _081131D0 @ =gUnknown_8456938 + adds r0, r6, r0 + ldrb r4, [r0] + asrs r1, r4 + ands r1, r7 + cmp r1, 0 + bne _081131D4 + mov r8, r6 + bl sub_8044EC8 + adds r1, r7, 0 + ands r1, r0 + cmp r1, 0 + beq _081131D4 + adds r0, r7, 0 + lsls r0, r4 + ldrb r1, [r5, 0x1] + orrs r0, r1 + strb r0, [r5, 0x1] + adds r0, r4, 0 + b _081131EE + .align 2, 0 +_081131D0: .4byte gUnknown_8456938 +_081131D4: + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x7 + bls _081131A4 + ldr r0, _081131F8 @ =gUnknown_8456938 + add r0, r8 + ldrb r0, [r0] + movs r1, 0x1 + lsls r1, r0 + ldrb r2, [r5, 0x1] + orrs r1, r2 + strb r1, [r5, 0x1] +_081131EE: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_081131F8: .4byte gUnknown_8456938 + thumb_func_end sub_8113194 + + thumb_func_start sub_81131FC +sub_81131FC: @ 81131FC + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + adds r7, r0, 0 + movs r0, 0 + mov r8, r0 + adds r0, r7, 0 + bl sub_81132A0 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bne _08113228 + movs r0, 0 + b _08113276 +_0811321C: + lsls r4, r6 + ldrb r0, [r7, 0x1] + eors r4, r0 + strb r4, [r7, 0x1] + adds r0, r6, 0 + b _08113276 +_08113228: + movs r5, 0 + movs r4, 0x1 +_0811322C: + ldrb r1, [r7, 0x1] + ldr r2, _08113284 @ =gUnknown_8456940 + adds r0, r5, r2 + ldrb r6, [r0] + asrs r1, r6 + ands r1, r4 + cmp r1, 0 + beq _0811324E + mov r8, r5 + str r2, [sp] + bl sub_8044EC8 + adds r1, r4, 0 + ands r1, r0 + ldr r2, [sp] + cmp r1, 0 + bne _0811321C +_0811324E: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x7 + bls _0811322C + ldrb r1, [r7, 0x1] + mov r3, r8 + adds r0, r3, r2 + ldrb r2, [r0] + adds r0, r1, 0 + asrs r0, r2 + movs r3, 0x1 + ands r0, r3 + cmp r0, 0 + beq _08113274 + adds r0, r3, 0 + lsls r0, r2 + eors r1, r0 + strb r1, [r7, 0x1] +_08113274: + adds r0, r2, 0 +_08113276: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08113284: .4byte gUnknown_8456940 + thumb_func_end sub_81131FC + + thumb_func_start sub_8113288 +sub_8113288: @ 8113288 + push {lr} + ldr r0, _0811329C @ =0x00004038 + bl sub_806E454 + bl sub_81132A0 + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + .align 2, 0 +_0811329C: .4byte 0x00004038 + thumb_func_end sub_8113288 + + thumb_func_start sub_81132A0 +sub_81132A0: @ 81132A0 + push {r4,lr} + movs r2, 0 + movs r1, 0 + ldrb r3, [r0, 0x1] + movs r4, 0x1 +_081132AA: + adds r0, r3, 0 + asrs r0, r1 + ands r0, r4 + cmp r0, 0 + beq _081132BA + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 +_081132BA: + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x7 + bls _081132AA + adds r0, r2, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81132A0 + + thumb_func_start sub_81132CC +sub_81132CC: @ 81132CC + push {lr} + ldr r0, _081132DC @ =0x00004038 + bl sub_806E454 + bl sub_81132E0 + pop {r0} + bx r0 + .align 2, 0 +_081132DC: .4byte 0x00004038 + thumb_func_end sub_81132CC + + thumb_func_start sub_81132E0 +sub_81132E0: @ 81132E0 + push {r4-r6,lr} + adds r4, r0, 0 + movs r5, 0 + ldr r2, _081132F8 @ =gUnknown_300500C + ldr r0, [r2] + ldrh r1, [r0, 0xE] + ldr r0, _081132FC @ =0x000003e6 + cmp r1, r0 + bhi _0811335C + adds r6, r2, 0 + b _08113338 + .align 2, 0 +_081132F8: .4byte gUnknown_300500C +_081132FC: .4byte 0x000003e6 +_08113300: + ldr r0, _08113354 @ =0x00004039 + bl sub_806E568 + lsls r0, 16 + lsrs r0, 16 + ldr r1, [r6] + ldrh r1, [r1, 0xE] + subs r1, r0 + cmp r1, 0xB + ble _0811335C + adds r0, r4, 0 + bl sub_81131FC + ldr r0, _08113354 @ =0x00004039 + bl sub_806E568 + adds r1, r0, 0 + lsls r1, 16 + movs r0, 0xC0 + lsls r0, 12 + adds r1, r0 + lsrs r1, 16 + ldr r0, _08113354 @ =0x00004039 + bl sub_806E584 + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 +_08113338: + adds r0, r4, 0 + bl sub_81132A0 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x4 + bhi _08113358 + ldr r0, [r6] + ldrh r1, [r0, 0xE] + ldr r0, _08113354 @ =0x00004039 + bl sub_806E584 + b _0811335C + .align 2, 0 +_08113354: .4byte 0x00004039 +_08113358: + cmp r5, 0x8 + bne _08113300 +_0811335C: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_81132E0 + + thumb_func_start sub_8113364 +sub_8113364: @ 8113364 + push {lr} + ldr r0, _08113378 @ =0x00004038 + bl sub_806E454 + bl sub_811337C + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + .align 2, 0 +_08113378: .4byte 0x00004038 + thumb_func_end sub_8113364 + + thumb_func_start sub_811337C +sub_811337C: @ 811337C + ldrb r0, [r0, 0x1] + ldr r1, _0811338C @ =gUnknown_20370C0 + ldrh r1, [r1] + asrs r0, r1 + movs r1, 0x1 + ands r0, r1 + bx lr + .align 2, 0 +_0811338C: .4byte gUnknown_20370C0 + thumb_func_end sub_811337C + + thumb_func_start sub_8113390 +sub_8113390: @ 8113390 + ldrb r2, [r0, 0x1] + movs r1, 0x1 + orrs r1, r2 + movs r2, 0x2 + orrs r1, r2 + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0, 0x1] + bx lr + thumb_func_end sub_8113390 + + thumb_func_start sub_81133A4 +sub_81133A4: @ 81133A4 + push {lr} + movs r3, 0 + movs r2, 0 + ldr r0, _081133BC @ =gUnknown_20370C0 + ldrh r0, [r0] + cmp r0, 0x7 + bhi _081133F8 + lsls r0, 2 + ldr r1, _081133C0 @ =_081133C4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_081133BC: .4byte gUnknown_20370C0 +_081133C0: .4byte _081133C4 + .align 2, 0 +_081133C4: + .4byte _081133E4 + .4byte _081133F8 + .4byte _081133F8 + .4byte _081133F8 + .4byte _081133EA + .4byte _081133F0 + .4byte _081133F4 + .4byte _081133F8 +_081133E4: + movs r2, 0 + movs r3, 0 + b _081133F8 +_081133EA: + movs r2, 0x1 + movs r3, 0 + b _081133F8 +_081133F0: + movs r2, 0 + b _081133F6 +_081133F4: + movs r2, 0x2 +_081133F6: + movs r3, 0x1 +_081133F8: + ldr r0, _0811340C @ =gUnknown_300500C + ldr r0, [r0] + ldr r1, _08113410 @ =0x00000a98 + adds r0, r1 + adds r1, r3, 0 + bl sub_8113414 + pop {r0} + bx r0 + .align 2, 0 +_0811340C: .4byte gUnknown_300500C +_08113410: .4byte 0x00000a98 + thumb_func_end sub_81133A4 + + thumb_func_start sub_8113414 +sub_8113414: @ 8113414 + push {r4,lr} + lsls r1, 24 + lsls r2, 24 + lsrs r2, 24 + adds r3, r2, 0 + lsrs r1, 20 + adds r1, r0, r1 + ldrb r0, [r1] + cmp r0, 0xFF + bne _08113478 + cmp r2, 0x1 + beq _08113436 + cmp r2, 0x1 + ble _0811345C + cmp r3, 0x2 + beq _08113448 + b _0811345C +_08113436: + ldr r0, _08113440 @ =gUnknown_2021CD0 + ldr r1, _08113444 @ =gUnknown_84178D0 + bl sub_8008D84 + b _081134B2 + .align 2, 0 +_08113440: .4byte gUnknown_2021CD0 +_08113444: .4byte gUnknown_84178D0 +_08113448: + ldr r0, _08113454 @ =gUnknown_2021CD0 + ldr r1, _08113458 @ =gUnknown_84178DA + bl sub_8008D84 + b _081134B2 + .align 2, 0 +_08113454: .4byte gUnknown_2021CD0 +_08113458: .4byte gUnknown_84178DA +_0811345C: + ldr r0, _0811346C @ =gUnknown_2021CD0 + ldr r1, _08113470 @ =gUnknown_3005008 + ldr r1, [r1] + ldr r2, _08113474 @ =0x00003a4c + adds r1, r2 + bl sub_8008D84 + b _081134B2 + .align 2, 0 +_0811346C: .4byte gUnknown_2021CD0 +_08113470: .4byte gUnknown_3005008 +_08113474: .4byte 0x00003a4c +_08113478: + ldr r4, _08113498 @ =gUnknown_2021CD0 + adds r0, r4, 0 + movs r2, 0x7 + bl sub_8008DBC + movs r0, 0xFF + strb r0, [r4, 0x7] + ldrb r0, [r4] + cmp r0, 0xFC + bne _081134B2 + ldrb r0, [r4, 0x1] + cmp r0, 0x15 + bne _081134B2 + adds r4, 0x2 + b _0811349E + .align 2, 0 +_08113498: .4byte gUnknown_2021CD0 +_0811349C: + adds r4, 0x1 +_0811349E: + ldrb r0, [r4] + cmp r0, 0xFF + bne _0811349C + movs r0, 0xFC + strb r0, [r4] + adds r4, 0x1 + movs r0, 0x16 + strb r0, [r4] + movs r0, 0xFF + strb r0, [r4, 0x1] +_081134B2: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8113414 + + thumb_func_start sub_81134B8 +sub_81134B8: @ 81134B8 + push {lr} + ldr r0, _081134C8 @ =0x00004038 + bl sub_806E454 + bl sub_81134CC + pop {r0} + bx r0 + .align 2, 0 +_081134C8: .4byte 0x00004038 + thumb_func_end sub_81134B8 + + thumb_func_start sub_81134CC +sub_81134CC: @ 81134CC + push {r4,lr} + adds r4, r0, 0 + ldr r0, _081134F4 @ =0x00004073 + bl sub_806E568 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bne _08113502 + adds r0, r4, 0 + bl sub_8113078 + ldr r0, _081134F8 @ =gUnknown_2023E8A + ldrb r0, [r0] + cmp r0, 0x1 + bne _081134FC + adds r0, r4, 0 + bl sub_8113194 + b _08113502 + .align 2, 0 +_081134F4: .4byte 0x00004073 +_081134F8: .4byte gUnknown_2023E8A +_081134FC: + adds r0, r4, 0 + bl sub_81131FC +_08113502: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81134CC + + thumb_func_start sub_8113508 +sub_8113508: @ 8113508 + ldr r0, [r0] + lsls r0, 24 + lsrs r0, 31 + bx lr + thumb_func_end sub_8113508 + + thumb_func_start sub_8113510 +sub_8113510: @ 8113510 + push {lr} + ldr r0, _08113520 @ =0x00004038 + bl sub_806E454 + bl sub_8113524 + pop {r0} + bx r0 + .align 2, 0 +_08113520: .4byte 0x00004038 + thumb_func_end sub_8113510 + + thumb_func_start sub_8113524 +sub_8113524: @ 8113524 + ldrb r1, [r0] + movs r2, 0x80 + orrs r1, r2 + strb r1, [r0] + bx lr + thumb_func_end sub_8113524 + + thumb_func_start sub_8113530 +sub_8113530: @ 8113530 + push {lr} + ldr r0, _08113548 @ =0x00004038 + bl sub_806E454 + ldr r1, _0811354C @ =gUnknown_20370C0 + ldrb r1, [r1] + bl sub_8113114 + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .align 2, 0 +_08113548: .4byte 0x00004038 +_0811354C: .4byte gUnknown_20370C0 + thumb_func_end sub_8113530 + + thumb_func_start sub_8113550 +sub_8113550: @ 8113550 + push {r4,r5,lr} + adds r5, r1, 0 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x23 + bne _08113570 + ldr r0, _0811356C @ =gUnknown_203B048 + ldrb r0, [r0] + cmp r0, 0x2 + bne _08113570 + bl sub_811381C + b _081136BC + .align 2, 0 +_0811356C: .4byte gUnknown_203B048 +_08113570: + bl sub_811381C + ldr r0, _0811362C @ =gUnknown_203ADFA + ldrb r0, [r0] + cmp r0, 0x2 + bne _0811357E + b _081136BC +_0811357E: + subs r0, r4, 0x3 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x27 + bls _0811358A + b _081136BC +_0811358A: + bl sub_81136D4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08113598 + b _081136BC +_08113598: + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_81138A0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _081135AA + b _081136BC +_081135AA: + bl sub_80BF708 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _081135B8 + b _081136BC +_081135B8: + bl sub_811B0D0 + cmp r0, 0x1 + bne _081135C2 + b _081136BC +_081135C2: + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_8113954 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _081136BC + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_8113A44 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _081136BC + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_81153E4 + lsls r0, 24 + cmp r0, 0 + beq _081136BC + ldr r0, _08113630 @ =gUnknown_3005E88 + ldrb r0, [r0] + cmp r0, 0 + bne _08113638 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_8113778 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _081136BC + cmp r4, 0x1F + bne _08113614 + ldr r0, _08113634 @ =gUnknown_203AE04 + ldr r0, [r0] + cmp r0, 0 + bne _0811363C +_08113614: + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_81153A8 + lsls r0, 24 + cmp r0, 0 + beq _081136BC + adds r0, r4, 0 + bl sub_8110AEC + b _0811363C + .align 2, 0 +_0811362C: .4byte gUnknown_203ADFA +_08113630: .4byte gUnknown_3005E88 +_08113634: .4byte gUnknown_203AE04 +_08113638: + cmp r4, 0x28 + beq _081136BC +_0811363C: + adds r0, r4, 0 + bl sub_8113B94 + cmp r4, 0x1F + bne _0811367C + ldr r2, _0811365C @ =gUnknown_203AE04 + ldr r1, [r2] + cmp r1, 0 + bne _08113668 + ldr r0, _08113660 @ =gUnknown_203AE08 + ldr r0, [r0] + str r0, [r2] + ldr r1, _08113664 @ =gUnknown_8456948 + ldr r2, [r1, 0x7C] + b _0811368E + .align 2, 0 +_0811365C: .4byte gUnknown_203AE04 +_08113660: .4byte gUnknown_203AE08 +_08113664: .4byte gUnknown_8456948 +_08113668: + ldr r0, _08113678 @ =gUnknown_8456948 + ldr r2, [r0, 0x7C] + adds r0, r1, 0 + adds r1, r5, 0 + bl _call_via_r2 + b _081136BC + .align 2, 0 +_08113678: .4byte gUnknown_8456948 +_0811367C: + ldr r1, _081136C4 @ =gUnknown_203AE04 + movs r0, 0 + str r0, [r1] + ldr r0, _081136C8 @ =gUnknown_8456948 + lsls r1, r4, 2 + adds r1, r0 + ldr r0, _081136CC @ =gUnknown_203AE08 + ldr r0, [r0] + ldr r2, [r1] +_0811368E: + adds r1, r5, 0 + bl _call_via_r2 + adds r1, r0, 0 + cmp r1, 0 + bne _081136AC + bl sub_811231C + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_8113828 + adds r1, r0, 0 + cmp r1, 0 + beq _081136BC +_081136AC: + ldr r0, _081136CC @ =gUnknown_203AE08 + str r1, [r0] + ldr r0, _081136D0 @ =gUnknown_203B048 + ldrb r0, [r0] + cmp r0, 0 + beq _081136BC + bl sub_811231C +_081136BC: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_081136C4: .4byte gUnknown_203AE04 +_081136C8: .4byte gUnknown_8456948 +_081136CC: .4byte gUnknown_203AE08 +_081136D0: .4byte gUnknown_203B048 + thumb_func_end sub_8113550 + + thumb_func_start sub_81136D4 +sub_81136D4: @ 81136D4 + push {lr} + ldr r0, _08113728 @ =gUnknown_3005008 + ldr r2, [r0] + movs r1, 0x4 + ldrsb r1, [r2, r1] + adds r3, r0, 0 + cmp r1, 0x2 + bne _081136F0 + ldrb r0, [r2, 0x5] + subs r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xA + bls _08113724 +_081136F0: + ldr r2, [r3] + ldrh r1, [r2, 0x4] + ldr r0, _0811372C @ =0x0000090e + cmp r1, r0 + beq _08113724 + movs r0, 0x4 + ldrsb r0, [r2, r0] + cmp r0, 0x1F + bne _08113708 + ldrb r0, [r2, 0x5] + cmp r0, 0x1 + bls _08113724 +_08113708: + ldr r0, [r3] + ldrh r1, [r0, 0x4] + ldr r0, _08113730 @ =0x00002e01 + cmp r1, r0 + beq _08113724 + ldr r0, _08113734 @ =0x00003a01 + cmp r1, r0 + beq _08113724 + ldr r0, _08113738 @ =0x00000b02 + cmp r1, r0 + beq _08113724 + ldr r0, _0811373C @ =0x0000060a + cmp r1, r0 + bne _08113740 +_08113724: + movs r0, 0x1 + b _08113742 + .align 2, 0 +_08113728: .4byte gUnknown_3005008 +_0811372C: .4byte 0x0000090e +_08113730: .4byte 0x00002e01 +_08113734: .4byte 0x00003a01 +_08113738: .4byte 0x00000b02 +_0811373C: .4byte 0x0000060a +_08113740: + movs r0, 0 +_08113742: + pop {r1} + bx r1 + thumb_func_end sub_81136D4 + + thumb_func_start sub_8113748 +sub_8113748: @ 8113748 + push {lr} + bl sub_81136D4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08113770 + ldr r0, _08113764 @ =gUnknown_203ADFA + ldrb r0, [r0] + cmp r0, 0x2 + bne _08113768 + movs r0, 0x1 + b _08113772 + .align 2, 0 +_08113764: .4byte gUnknown_203ADFA +_08113768: + cmp r0, 0x1 + bne _08113770 + bl sub_8112364 +_08113770: + movs r0, 0 +_08113772: + pop {r1} + bx r1 + thumb_func_end sub_8113748 + + thumb_func_start sub_8113778 +sub_8113778: @ 8113778 + push {r4,r5,lr} + adds r5, r1, 0 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x24 + beq _081137CE + cmp r4, 0xB + beq _081137CE + ldr r0, _081137D4 @ =0x0000082c + bl sub_806E6D0 + lsls r0, 24 + cmp r0, 0 + bne _081137AC + cmp r4, 0x3 + beq _081137CE + cmp r4, 0x1F + beq _081137CE + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_81137E4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _081137CE +_081137AC: + ldr r0, _081137D8 @ =0x00000844 + bl sub_806E6D0 + lsls r0, 24 + cmp r0, 0 + bne _081137DC + subs r0, r4, 0x4 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x6 + bls _081137CE + cmp r4, 0x16 + beq _081137CE + cmp r4, 0x19 + beq _081137CE + cmp r4, 0x1A + bne _081137DC +_081137CE: + movs r0, 0x1 + b _081137DE + .align 2, 0 +_081137D4: .4byte 0x0000082c +_081137D8: .4byte 0x00000844 +_081137DC: + movs r0, 0 +_081137DE: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8113778 + + thumb_func_start sub_81137E4 +sub_81137E4: @ 81137E4 + push {lr} + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x22 + bne _08113814 + ldr r2, _08113810 @ =gUnknown_823EAC8 + ldrh r1, [r1] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldrb r1, [r0, 0x1] + cmp r1, 0x51 + beq _08113814 + cmp r1, 0x59 + beq _08113814 + cmp r1, 0x5A + beq _08113814 + cmp r1, 0x53 + beq _08113814 + movs r0, 0x1 + b _08113816 + .align 2, 0 +_08113810: .4byte gUnknown_823EAC8 +_08113814: + movs r0, 0 +_08113816: + pop {r1} + bx r1 + thumb_func_end sub_81137E4 + + thumb_func_start sub_811381C +sub_811381C: @ 811381C + ldr r1, _08113824 @ =gUnknown_203B048 + movs r0, 0 + strb r0, [r1] + bx lr + .align 2, 0 +_08113824: .4byte gUnknown_203B048 + thumb_func_end sub_811381C + + thumb_func_start sub_8113828 +sub_8113828: @ 8113828 + push {r4,r5,lr} + adds r5, r1, 0 + lsls r0, 16 + lsrs r4, r0, 16 + adds r0, r4, 0 + bl sub_8113778 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0811384C + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_81153A8 + lsls r0, 24 + cmp r0, 0 + bne _08113850 +_0811384C: + movs r0, 0 + b _0811388C +_08113850: + adds r0, r4, 0 + bl sub_8110AEC + adds r0, r4, 0 + bl sub_8113B94 + cmp r4, 0x1F + bne _08113874 + ldr r2, _0811386C @ =gUnknown_203AE04 + ldr r1, _08113870 @ =gUnknown_203AE08 + ldr r0, [r1] + str r0, [r2] + adds r2, r1, 0 + b _0811387C + .align 2, 0 +_0811386C: .4byte gUnknown_203AE04 +_08113870: .4byte gUnknown_203AE08 +_08113874: + ldr r1, _08113894 @ =gUnknown_203AE04 + movs r0, 0 + str r0, [r1] + ldr r2, _08113898 @ =gUnknown_203AE08 +_0811387C: + ldr r0, _0811389C @ =gUnknown_8456948 + lsls r1, r4, 2 + adds r1, r0 + ldr r0, [r2] + ldr r2, [r1] + adds r1, r5, 0 + bl _call_via_r2 +_0811388C: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08113894: .4byte gUnknown_203AE04 +_08113898: .4byte gUnknown_203AE08 +_0811389C: .4byte gUnknown_8456948 + thumb_func_end sub_8113828 + + thumb_func_start sub_81138A0 +sub_81138A0: @ 81138A0 + push {r4,r5,lr} + adds r5, r1, 0 + lsls r0, 16 + lsrs r0, 16 + adds r4, r0, 0 + subs r0, 0xC + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x7 + bls _081138B8 + movs r0, 0 + b _081138F0 +_081138B8: + bl sub_81138F8 + ldr r1, _081138E0 @ =gUnknown_203B024 + strh r4, [r1] + adds r0, r4, 0 + subs r0, 0x10 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bls _081138EE + cmp r4, 0xC + beq _081138D4 + cmp r4, 0x12 + bne _081138E4 +_081138D4: + adds r0, r1, 0x4 + adds r1, r5, 0 + movs r2, 0xC + bl memcpy + b _081138EE + .align 2, 0 +_081138E0: .4byte gUnknown_203B024 +_081138E4: + adds r0, r1, 0x4 + adds r1, r5, 0 + movs r2, 0x18 + bl memcpy +_081138EE: + movs r0, 0x1 +_081138F0: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_81138A0 + + thumb_func_start sub_81138F8 +sub_81138F8: @ 81138F8 + push {lr} + ldr r0, _08113908 @ =gUnknown_203B024 + movs r1, 0 + movs r2, 0x20 + bl memset + pop {r0} + bx r0 + .align 2, 0 +_08113908: .4byte gUnknown_203B024 + thumb_func_end sub_81138F8 + + thumb_func_start sub_811390C +sub_811390C: @ 811390C + push {r4,r5,lr} + ldr r5, _08113944 @ =gUnknown_203B024 + ldrh r0, [r5] + cmp r0, 0 + beq _0811393C + ldr r1, _08113948 @ =gUnknown_203B04A + movs r0, 0 + strb r0, [r1] + ldrh r0, [r5] + bl sub_8110AEC + ldr r0, _0811394C @ =gUnknown_8456948 + ldrh r2, [r5] + lsls r2, 2 + adds r2, r0 + ldr r4, _08113950 @ =gUnknown_203AE08 + ldr r0, [r4] + adds r1, r5, 0x4 + ldr r2, [r2] + bl _call_via_r2 + str r0, [r4] + bl sub_81138F8 +_0811393C: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08113944: .4byte gUnknown_203B024 +_08113948: .4byte gUnknown_203B04A +_0811394C: .4byte gUnknown_8456948 +_08113950: .4byte gUnknown_203AE08 + thumb_func_end sub_811390C + + thumb_func_start sub_8113954 +sub_8113954: @ 8113954 + push {r4,r5,lr} + adds r5, r1, 0 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x22 + beq _08113970 + cmp r4, 0x1E + beq _08113970 + cmp r4, 0x20 + beq _08113970 + cmp r4, 0x21 + beq _08113970 + movs r0, 0 + b _081139A8 +_08113970: + bl sub_81138F8 + ldr r0, _081139B0 @ =gUnknown_3005E88 + ldrb r0, [r0] + cmp r0, 0 + bne _08113998 + ldr r0, _081139B4 @ =0x0000082c + bl sub_806E6D0 + lsls r0, 24 + cmp r0, 0 + bne _08113998 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_81137E4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _081139A6 +_08113998: + ldr r0, _081139B8 @ =gUnknown_203B024 + strh r4, [r0] + adds r0, 0x4 + adds r1, r5, 0 + movs r2, 0x8 + bl memcpy +_081139A6: + movs r0, 0x1 +_081139A8: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_081139B0: .4byte gUnknown_3005E88 +_081139B4: .4byte 0x0000082c +_081139B8: .4byte gUnknown_203B024 + thumb_func_end sub_8113954 + + thumb_func_start sub_81139BC +sub_81139BC: @ 81139BC + push {r4,r5,lr} + ldr r5, _08113A08 @ =gUnknown_203B024 + ldrh r0, [r5] + cmp r0, 0 + beq _08113A02 + ldr r0, _08113A0C @ =gUnknown_3005E88 + ldrb r1, [r0] + cmp r1, 0 + bne _081139D8 + ldr r0, _08113A10 @ =gUnknown_203B04A + strb r1, [r0] + ldrh r0, [r5] + bl sub_8110AEC +_081139D8: + ldrh r0, [r5] + bl sub_8113B94 + ldr r0, _08113A14 @ =gUnknown_8456948 + ldrh r2, [r5] + lsls r2, 2 + adds r2, r0 + ldr r4, _08113A18 @ =gUnknown_203AE08 + ldr r0, [r4] + adds r1, r5, 0x4 + ldr r2, [r2] + bl _call_via_r2 + str r0, [r4] + movs r0, 0x1 + bl sub_8113A1C + bl sub_81138F8 + bl sub_811231C +_08113A02: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08113A08: .4byte gUnknown_203B024 +_08113A0C: .4byte gUnknown_3005E88 +_08113A10: .4byte gUnknown_203B04A +_08113A14: .4byte gUnknown_8456948 +_08113A18: .4byte gUnknown_203AE08 + thumb_func_end sub_81139BC + + thumb_func_start sub_8113A1C +sub_8113A1C: @ 8113A1C + push {r4,lr} + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + ldr r4, _08113A3C @ =gUnknown_203AE08 + ldr r0, [r4] + bl sub_8113C5C + str r0, [r4] + ldr r1, _08113A40 @ =gUnknown_203AF98 + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08113A3C: .4byte gUnknown_203AE08 +_08113A40: .4byte gUnknown_203AF98 + thumb_func_end sub_8113A1C + + thumb_func_start sub_8113A44 +sub_8113A44: @ 8113A44 + push {r4,lr} + adds r4, r1, 0 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1F + bne _08113A6C + ldrh r0, [r4] + bl sub_8114FBC + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08113A70 + ldrh r0, [r4, 0x2] + bl sub_8114FBC + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08113A70 +_08113A6C: + movs r0, 0 + b _08113A72 +_08113A70: + movs r0, 0x1 +_08113A72: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8113A44 + + thumb_func_start sub_8113A78 +sub_8113A78: @ 8113A78 + push {r4,r5,lr} + adds r3, r0, 0 + adds r5, r1, 0 + ldrh r1, [r3] + ldr r0, _08113AAC @ =0x00000fff + ands r0, r1 + adds r2, r0, 0 + lsrs r4, r1, 12 + cmp r2, 0x21 + bne _08113A8E + movs r4, 0 +_08113A8E: + subs r0, r2, 0x3 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x27 + bhi _08113AB4 + str r3, [r5] + ldr r0, _08113AB0 @ =gUnknown_8456AA0 + adds r0, r2, r0 + ldrb r0, [r0] + subs r1, r0, 0x4 + muls r1, r4 + adds r0, r1 + adds r0, r3, r0 + b _08113AB6 + .align 2, 0 +_08113AAC: .4byte 0x00000fff +_08113AB0: .4byte gUnknown_8456AA0 +_08113AB4: + movs r0, 0 +_08113AB6: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8113A78 + + thumb_func_start sub_8113ABC +sub_8113ABC: @ 8113ABC + push {lr} + adds r2, r0, 0x4 + ldrh r1, [r0] + ldr r0, _08113AD0 @ =0x00000fff + ands r0, r1 + cmp r0, 0x23 + beq _08113AD8 + ldr r1, _08113AD4 @ =gUnknown_203B04A + movs r0, 0 + b _08113ADE + .align 2, 0 +_08113AD0: .4byte 0x00000fff +_08113AD4: .4byte gUnknown_203B04A +_08113AD8: + ldr r1, _08113AE4 @ =gUnknown_203B04A + ldrb r0, [r2, 0x1] + adds r0, 0x1 +_08113ADE: + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_08113AE4: .4byte gUnknown_203B04A + thumb_func_end sub_8113ABC + + thumb_func_start sub_8113AE8 +sub_8113AE8: @ 8113AE8 + push {r4,lr} + adds r4, r0, 0 + cmp r0, 0 + beq _08113AFA + ldr r1, _08113B00 @ =gUnknown_203AF98 + ldrh r0, [r0, 0x2] + ldrh r1, [r1] + cmp r0, r1 + bls _08113B04 +_08113AFA: + movs r0, 0 + b _08113B32 + .align 2, 0 +_08113B00: .4byte gUnknown_203AF98 +_08113B04: + ldr r2, _08113B38 @ =gUnknown_84569F4 + ldrh r1, [r4] + ldr r0, _08113B3C @ =0x00000fff + ands r0, r1 + lsls r0, 2 + adds r0, r2 + ldr r1, [r0] + adds r0, r4, 0 + bl _call_via_r1 + ldr r2, _08113B40 @ =gUnknown_203B044 + ldrh r1, [r4] + strb r1, [r2] + movs r0, 0xF0 + lsls r0, 8 + ands r0, r1 + lsrs r0, 12 + strb r0, [r2, 0x1] + cmp r0, 0 + beq _08113B30 + movs r0, 0x1 + strh r0, [r2, 0x2] +_08113B30: + movs r0, 0x1 +_08113B32: + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08113B38: .4byte gUnknown_84569F4 +_08113B3C: .4byte 0x00000fff +_08113B40: .4byte gUnknown_203B044 + thumb_func_end sub_8113AE8 + + thumb_func_start sub_8113B44 +sub_8113B44: @ 8113B44 + push {r4,lr} + adds r2, r0, 0 + ldr r4, _08113B54 @ =gUnknown_203B044 + ldrh r0, [r4, 0x2] + cmp r0, 0 + bne _08113B58 + movs r0, 0 + b _08113B7E + .align 2, 0 +_08113B54: .4byte gUnknown_203B044 +_08113B58: + ldr r1, _08113B84 @ =gUnknown_84569F4 + ldrb r0, [r4] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + adds r0, r2, 0 + bl _call_via_r1 + ldrh r0, [r4, 0x2] + adds r0, 0x1 + strh r0, [r4, 0x2] + lsls r0, 16 + lsrs r0, 16 + ldrb r4, [r4, 0x1] + cmp r0, r4 + bls _08113B7C + bl sub_8113B88 +_08113B7C: + movs r0, 0x1 +_08113B7E: + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08113B84: .4byte gUnknown_84569F4 + thumb_func_end sub_8113B44 + + thumb_func_start sub_8113B88 +sub_8113B88: @ 8113B88 + ldr r1, _08113B90 @ =gUnknown_203B044 + movs r0, 0 + str r0, [r1] + bx lr + .align 2, 0 +_08113B90: .4byte gUnknown_203B044 + thumb_func_end sub_8113B88 + + thumb_func_start sub_8113B94 +sub_8113B94: @ 8113B94 + push {r4,lr} + lsls r0, 16 + lsrs r0, 16 + adds r4, r0, 0 + ldr r2, _08113BC0 @ =gUnknown_203B044 + ldrb r1, [r2] + lsls r0, r4, 24 + lsrs r0, 24 + ldr r3, _08113BC4 @ =gUnknown_203AF98 + cmp r1, r0 + bne _08113BB2 + ldrh r1, [r2, 0x2] + ldrh r0, [r3] + cmp r1, r0 + beq _08113BC8 +_08113BB2: + movs r0, 0 + strb r4, [r2] + strb r0, [r2, 0x1] + ldrh r0, [r3] + strh r0, [r2, 0x2] + b _08113BD2 + .align 2, 0 +_08113BC0: .4byte gUnknown_203B044 +_08113BC4: .4byte gUnknown_203AF98 +_08113BC8: + ldrb r0, [r2, 0x1] + cmp r0, 0x4 + bhi _08113BD2 + adds r0, 0x1 + strb r0, [r2, 0x1] +_08113BD2: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8113B94 + + thumb_func_start sub_8113BD8 +sub_8113BD8: @ 8113BD8 + ldr r0, _08113BE8 @ =gUnknown_203B049 + movs r1, 0 + strb r1, [r0] + ldr r0, _08113BEC @ =gUnknown_203B04A + strb r1, [r0] + ldr r0, _08113BF0 @ =gUnknown_203B04B + strb r1, [r0] + bx lr + .align 2, 0 +_08113BE8: .4byte gUnknown_203B049 +_08113BEC: .4byte gUnknown_203B04A +_08113BF0: .4byte gUnknown_203B04B + thumb_func_end sub_8113BD8 + + thumb_func_start sub_8113BF4 +sub_8113BF4: @ 8113BF4 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _08113C14 @ =gUnknown_8456AA0 + adds r0, 0x27 + ldrb r1, [r0] + adds r0, r4, 0 + bl sub_8110988 + lsls r0, 24 + cmp r0, 0 + beq _08113C18 + movs r0, 0x27 + strh r0, [r4] + adds r0, r4, 0x2 + b _08113C1A + .align 2, 0 +_08113C14: .4byte gUnknown_8456AA0 +_08113C18: + movs r0, 0 +_08113C1A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8113BF4 + + thumb_func_start sub_8113C20 +sub_8113C20: @ 8113C20 + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + ldr r0, _08113C50 @ =gUnknown_8456AA0 + adds r0, 0x27 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8110988 + lsls r0, 24 + cmp r0, 0 + beq _08113C54 + movs r0, 0xFF + strb r0, [r4, 0x6] + movs r1, 0 + movs r0, 0 + strh r0, [r4, 0x4] + strb r1, [r4] + strb r1, [r4, 0x1] + strb r1, [r4, 0x2] + strb r1, [r4, 0x3] + adds r0, r5, 0x2 + b _08113C56 + .align 2, 0 +_08113C50: .4byte gUnknown_8456AA0 +_08113C54: + movs r0, 0 +_08113C56: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8113C20 + + thumb_func_start sub_8113C5C +sub_8113C5C: @ 8113C5C + push {r4,r5,lr} + adds r4, r0, 0 + lsls r1, 16 + lsrs r5, r1, 16 + ldr r0, _08113C80 @ =gUnknown_8456AA0 + adds r0, 0x29 + ldrb r1, [r0] + adds r0, r4, 0 + bl sub_8110988 + lsls r0, 24 + cmp r0, 0 + beq _08113C84 + movs r0, 0x29 + strh r0, [r4] + strh r5, [r4, 0x2] + adds r0, r4, 0x4 + b _08113C86 + .align 2, 0 +_08113C80: .4byte gUnknown_8456AA0 +_08113C84: + movs r0, 0 +_08113C86: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8113C5C + + thumb_func_start sub_8113C8C +sub_8113C8C: @ 8113C8C + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + ldr r0, _08113CBC @ =gUnknown_8456AA0 + adds r0, 0x29 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8110988 + lsls r0, 24 + cmp r0, 0 + beq _08113CC0 + movs r0, 0xFE + strb r0, [r4, 0x6] + ldrh r1, [r5, 0x2] + movs r0, 0 + strh r1, [r4, 0x4] + strb r0, [r4] + strb r0, [r4, 0x1] + strb r0, [r4, 0x2] + strb r0, [r4, 0x3] + adds r0, r5, 0x4 + b _08113CC2 + .align 2, 0 +_08113CBC: .4byte gUnknown_8456AA0 +_08113CC0: + movs r0, 0 +_08113CC2: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8113C8C + + thumb_func_start sub_8113CC8 +sub_8113CC8: @ 8113CC8 + push {r4-r6,lr} + adds r4, r0, 0 + adds r5, r1, 0 + adds r6, r4, 0x4 + ldr r0, _08113CFC @ =gUnknown_8456AA0 + ldrb r1, [r0] + adds r0, r4, 0 + bl sub_8110988 + lsls r0, 24 + cmp r0, 0 + beq _08113D00 + movs r0, 0 + strh r0, [r4] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x2] + ldrb r0, [r5] + strb r0, [r4, 0x4] + ldrb r0, [r5, 0x1] + strb r0, [r6, 0x1] + ldrb r0, [r5, 0x2] + strb r0, [r6, 0x2] + ldrb r0, [r5, 0x3] + strb r0, [r6, 0x3] + adds r0, r6, 0x4 + b _08113D02 + .align 2, 0 +_08113CFC: .4byte gUnknown_8456AA0 +_08113D00: + movs r0, 0 +_08113D02: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8113CC8 + + thumb_func_start sub_8113D08 +sub_8113D08: @ 8113D08 + push {r4-r6,lr} + adds r5, r0, 0 + adds r4, r1, 0 + adds r6, r5, 0x4 + ldr r0, _08113D3C @ =gUnknown_8456AA0 + ldrb r1, [r0] + adds r0, r5, 0 + bl sub_8110988 + lsls r0, 24 + cmp r0, 0 + beq _08113D40 + movs r0, 0x2 + strb r0, [r4, 0x6] + ldrh r0, [r5, 0x2] + strh r0, [r4, 0x4] + ldrb r0, [r5, 0x4] + strb r0, [r4] + ldrb r0, [r6, 0x1] + strb r0, [r4, 0x1] + ldrb r0, [r6, 0x2] + strb r0, [r4, 0x2] + ldrb r0, [r6, 0x3] + strb r0, [r4, 0x3] + adds r0, r6, 0x4 + b _08113D42 + .align 2, 0 +_08113D3C: .4byte gUnknown_8456AA0 +_08113D40: + movs r0, 0 +_08113D42: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8113D08 + + thumb_func_start sub_8113D48 +sub_8113D48: @ 8113D48 + push {r4-r6,lr} + adds r5, r1, 0 + adds r4, r0, 0 + adds r6, r4, 0x4 + ldr r0, _08113D64 @ =gUnknown_8456AA0 + ldrb r1, [r0, 0x2] + adds r0, r4, 0 + bl sub_8110988 + lsls r0, 24 + cmp r0, 0 + bne _08113D68 + movs r0, 0 + b _08113D8C + .align 2, 0 +_08113D64: .4byte gUnknown_8456AA0 +_08113D68: + ldrb r0, [r5, 0x6] + cmp r0, 0 + bne _08113D72 + movs r0, 0x2 + b _08113D74 +_08113D72: + movs r0, 0x1 +_08113D74: + strh r0, [r4] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x2] + ldrb r0, [r5] + strb r0, [r6] + ldrb r0, [r5, 0x1] + strb r0, [r6, 0x1] + ldrb r0, [r5, 0x2] + strb r0, [r6, 0x2] + ldrb r0, [r5, 0x3] + strb r0, [r6, 0x3] + adds r0, r6, 0x4 +_08113D8C: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8113D48 + + thumb_func_start sub_8113D94 +sub_8113D94: @ 8113D94 + push {r4-r6,lr} + adds r4, r1, 0 + adds r5, r0, 0 + adds r6, r5, 0x4 + ldr r0, _08113DB0 @ =gUnknown_8456AA0 + ldrb r1, [r0, 0x2] + adds r0, r5, 0 + bl sub_8110988 + lsls r0, 24 + cmp r0, 0 + bne _08113DB4 + movs r0, 0 + b _08113DD8 + .align 2, 0 +_08113DB0: .4byte gUnknown_8456AA0 +_08113DB4: + ldrh r0, [r5] + cmp r0, 0x2 + bne _08113DBE + movs r0, 0 + b _08113DC0 +_08113DBE: + movs r0, 0x1 +_08113DC0: + strb r0, [r4, 0x6] + ldrh r0, [r5, 0x2] + strh r0, [r4, 0x4] + ldrb r0, [r6] + strb r0, [r4] + ldrb r0, [r6, 0x1] + strb r0, [r4, 0x1] + ldrb r0, [r6, 0x2] + strb r0, [r4, 0x2] + ldrb r0, [r6, 0x3] + strb r0, [r4, 0x3] + adds r0, r6, 0x4 +_08113DD8: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8113D94 + + thumb_func_start sub_8113DE0 +sub_8113DE0: @ 8113DE0 + push {r4-r7,lr} + adds r4, r1, 0 + lsls r0, 16 + lsrs r7, r0, 16 + ldr r0, _08113DF8 @ =gUnknown_203B044 + ldrb r0, [r0, 0x1] + cmp r0, 0 + bne _08113E00 + ldr r0, _08113DFC @ =gUnknown_8456AA0 + adds r0, r7, r0 + ldrb r6, [r0] + b _08113E0C + .align 2, 0 +_08113DF8: .4byte gUnknown_203B044 +_08113DFC: .4byte gUnknown_8456AA0 +_08113E00: + ldr r0, _08113E20 @ =gUnknown_8456AA0 + adds r0, r7, r0 + ldrb r0, [r0] + subs r0, 0x4 + lsls r0, 24 + lsrs r6, r0, 24 +_08113E0C: + adds r0, r4, 0 + adds r1, r6, 0 + bl sub_8110944 + lsls r0, 24 + cmp r0, 0 + bne _08113E24 + movs r0, 0 + b _08113E7C + .align 2, 0 +_08113E20: .4byte gUnknown_8456AA0 +_08113E24: + adds r5, r4, 0 + ldr r2, _08113E60 @ =gUnknown_203B044 + ldrb r1, [r2, 0x1] + cmp r1, 0 + beq _08113E36 + adds r0, r1, 0 + muls r0, r6 + adds r0, 0x4 + subs r5, r0 +_08113E36: + cmp r1, 0x5 + bne _08113E64 + movs r4, 0 +_08113E3C: + adds r0, r4, 0 + muls r0, r6 + adds r0, r5 + adds r0, 0x4 + adds r4, 0x1 + adds r1, r4, 0 + muls r1, r6 + adds r1, r5 + adds r1, 0x4 + adds r2, r6, 0 + bl memcpy + lsls r4, 24 + lsrs r4, 24 + cmp r4, 0x3 + bls _08113E3C + movs r1, 0x4 + b _08113E66 + .align 2, 0 +_08113E60: .4byte gUnknown_203B044 +_08113E64: + ldrb r1, [r2, 0x1] +_08113E66: + lsls r0, r1, 12 + adds r0, r7, r0 + strh r0, [r5] + ldr r0, _08113E84 @ =gUnknown_203AF98 + ldrh r0, [r0] + strh r0, [r5, 0x2] + adds r0, r1, 0 + muls r0, r6 + adds r0, 0x4 + adds r5, r0 + adds r0, r5, 0 +_08113E7C: + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08113E84: .4byte gUnknown_203AF98 + thumb_func_end sub_8113DE0 + + thumb_func_start sub_8113E88 +sub_8113E88: @ 8113E88 + lsls r0, 16 + lsrs r0, 16 + ldr r2, _08113EA4 @ =gUnknown_203B044 + ldrh r3, [r2, 0x2] + ldr r2, _08113EA8 @ =gUnknown_8456AA0 + adds r0, r2 + ldrb r0, [r0] + subs r0, 0x4 + muls r0, r3 + adds r0, 0x4 + adds r1, r0 + adds r0, r1, 0 + bx lr + .align 2, 0 +_08113EA4: .4byte gUnknown_203B044 +_08113EA8: .4byte gUnknown_8456AA0 + thumb_func_end sub_8113E88 + + thumb_func_start sub_8113EAC +sub_8113EAC: @ 8113EAC + push {r4,r5,lr} + adds r3, r1, 0 + lsls r0, 16 + lsrs r1, r0, 16 + adds r4, r1, 0 + lsls r2, 24 + lsrs r2, 24 + adds r5, r2, 0 + cmp r3, 0 + beq _08113EE0 + movs r0, 0xCE + lsls r0, 1 + cmp r1, r0 + beq _08113ED0 + adds r0, r3, 0 + bl sub_8040FD0 + b _08113F08 +_08113ED0: + ldr r1, _08113EDC @ =gUnknown_8415A62 + adds r0, r3, 0 + bl sub_8008D84 + b _08113F08 + .align 2, 0 +_08113EDC: .4byte gUnknown_8415A62 +_08113EE0: + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + beq _08113F00 + movs r0, 0xB + adds r1, r4, 0 + muls r1, r0 + ldr r0, _08113EFC @ =gUnknown_8245EE0 + adds r1, r0 + adds r0, r2, 0 + bl sub_813CCAC + b _08113F08 + .align 2, 0 +_08113EFC: .4byte gUnknown_8245EE0 +_08113F00: + ldr r1, _08113F10 @ =gUnknown_8415A62 + adds r0, r5, 0 + bl sub_813CCAC +_08113F08: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08113F10: .4byte gUnknown_8415A62 + thumb_func_end sub_8113EAC + + thumb_func_start sub_8113F14 +sub_8113F14: @ 8113F14 + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x3 + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + beq _08113F34 + ldrh r0, [r4] + strh r0, [r2] + ldrh r0, [r4, 0x2] + strh r0, [r2, 0x2] + adds r0, r2, 0x4 + b _08113F36 +_08113F34: + movs r0, 0 +_08113F36: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8113F14 + + thumb_func_start sub_8113F3C +sub_8113F3C: @ 8113F3C + push {r4,lr} + adds r1, r0, 0 + movs r0, 0x3 + bl sub_8113E88 + adds r4, r0, 0 + ldrh r0, [r4] + ldr r1, _08113F70 @ =gUnknown_2021CD0 + movs r2, 0 + bl sub_8113EAC + ldrh r0, [r4, 0x2] + ldr r1, _08113F74 @ =gUnknown_2021CF0 + movs r2, 0 + bl sub_8113EAC + ldr r0, _08113F78 @ =gUnknown_2021D18 + ldr r1, _08113F7C @ =gUnknown_841A16F + bl sub_8008FCC + adds r4, 0x4 + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08113F70: .4byte gUnknown_2021CD0 +_08113F74: .4byte gUnknown_2021CF0 +_08113F78: .4byte gUnknown_2021D18 +_08113F7C: .4byte gUnknown_841A16F + thumb_func_end sub_8113F3C + + thumb_func_start sub_8113F80 +sub_8113F80: @ 8113F80 + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x4 + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + bne _08113F98 + movs r0, 0 + b _08113FB2 +_08113F98: + ldrh r0, [r4] + strh r0, [r2] + ldrh r0, [r4, 0x4] + strh r0, [r2, 0x2] + ldrh r0, [r4, 0x6] + strh r0, [r2, 0x4] + ldrh r0, [r4] + cmp r0, 0x55 + bne _08113FB0 + ldr r1, _08113FB8 @ =gUnknown_203B048 + movs r0, 0x2 + strb r0, [r1] +_08113FB0: + adds r0, r2, 0x6 +_08113FB2: + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08113FB8: .4byte gUnknown_203B048 + thumb_func_end sub_8113F80 + + thumb_func_start sub_8113FBC +sub_8113FBC: @ 8113FBC + push {r4-r7,lr} + adds r1, r0, 0 + movs r0, 0x4 + bl sub_8113E88 + adds r5, r0, 0 + ldrh r0, [r5] + bl sub_809A9D8 + lsls r0, 24 + lsrs r0, 24 + subs r0, 0x1 + cmp r0, 0x4 + bls _08113FDA + b _0811413C +_08113FDA: + lsls r0, 2 + ldr r1, _08113FE4 @ =_08113FE8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08113FE4: .4byte _08113FE8 + .align 2, 0 +_08113FE8: + .4byte _08113FFC + .4byte _08114074 + .4byte _08113FFC + .4byte _0811409C + .4byte _08113FFC +_08113FFC: + ldr r4, _08114024 @ =gUnknown_2021CD0 + ldrh r0, [r5] + bl sub_809A8BC + adds r1, r0, 0 + adds r0, r4, 0 + bl sub_8008D84 + ldrh r0, [r5] + cmp r0, 0x55 + bne _08114034 + ldr r0, _08114028 @ =gUnknown_2021CF0 + ldrb r1, [r5, 0x4] + bl sub_80C4DF8 + ldr r0, _0811402C @ =gUnknown_2021D18 + ldr r1, _08114030 @ =gUnknown_841AFA6 + bl sub_8008FCC + b _0811413C + .align 2, 0 +_08114024: .4byte gUnknown_2021CD0 +_08114028: .4byte gUnknown_2021CF0 +_0811402C: .4byte gUnknown_2021D18 +_08114030: .4byte gUnknown_841AFA6 +_08114034: + ldrh r1, [r5, 0x2] + ldr r0, _08114050 @ =0x0000ffff + cmp r1, r0 + beq _08114060 + adds r0, r1, 0 + ldr r1, _08114054 @ =gUnknown_2021CF0 + movs r2, 0 + bl sub_8113EAC + ldr r0, _08114058 @ =gUnknown_2021D18 + ldr r1, _0811405C @ =gUnknown_841A1E7 + bl sub_8008FCC + b _0811413C + .align 2, 0 +_08114050: .4byte 0x0000ffff +_08114054: .4byte gUnknown_2021CF0 +_08114058: .4byte gUnknown_2021D18 +_0811405C: .4byte gUnknown_841A1E7 +_08114060: + ldr r0, _0811406C @ =gUnknown_2021D18 + ldr r1, _08114070 @ =gUnknown_841A210 + bl sub_8008FCC + b _0811413C + .align 2, 0 +_0811406C: .4byte gUnknown_2021D18 +_08114070: .4byte gUnknown_841A210 +_08114074: + ldr r4, _08114090 @ =gUnknown_2021CD0 + ldrh r0, [r5] + bl sub_809A8BC + adds r1, r0, 0 + adds r0, r4, 0 + bl sub_8008D84 + ldr r0, _08114094 @ =gUnknown_2021D18 + ldr r1, _08114098 @ =gUnknown_841A220 + bl sub_8008FCC + b _0811413C + .align 2, 0 +_08114090: .4byte gUnknown_2021CD0 +_08114094: .4byte gUnknown_2021D18 +_08114098: .4byte gUnknown_841A220 +_0811409C: + ldrh r0, [r5, 0x2] + ldr r1, _081140E8 @ =gUnknown_2021CD0 + movs r2, 0 + bl sub_8113EAC + ldr r4, _081140EC @ =gUnknown_2021CF0 + ldrh r0, [r5] + bl sub_8125A78 + lsls r0, 16 + lsrs r0, 16 + movs r7, 0xD + adds r1, r0, 0 + muls r1, r7 + ldr r6, _081140F0 @ =gUnknown_8247094 + adds r1, r6 + adds r0, r4, 0 + bl sub_8008D84 + ldrh r1, [r5, 0x4] + ldr r0, _081140F4 @ =0x0000ffff + cmp r1, r0 + beq _08114118 + ldr r0, _081140F8 @ =gUnknown_2021D04 + muls r1, r7 + adds r1, r6 + bl sub_8008D84 + ldrh r1, [r5] + movs r0, 0xA9 + lsls r0, 1 + cmp r1, r0 + bls _08114104 + ldr r0, _081140FC @ =gUnknown_2021D18 + ldr r1, _08114100 @ =gUnknown_841A965 + bl sub_8008FCC + b _0811413C + .align 2, 0 +_081140E8: .4byte gUnknown_2021CD0 +_081140EC: .4byte gUnknown_2021CF0 +_081140F0: .4byte gUnknown_8247094 +_081140F4: .4byte 0x0000ffff +_081140F8: .4byte gUnknown_2021D04 +_081140FC: .4byte gUnknown_2021D18 +_08114100: .4byte gUnknown_841A965 +_08114104: + ldr r0, _08114110 @ =gUnknown_2021D18 + ldr r1, _08114114 @ =gUnknown_841A277 + bl sub_8008FCC + b _0811413C + .align 2, 0 +_08114110: .4byte gUnknown_2021D18 +_08114114: .4byte gUnknown_841A277 +_08114118: + ldrh r1, [r5] + movs r0, 0xA9 + lsls r0, 1 + cmp r1, r0 + bls _08114134 + ldr r0, _0811412C @ =gUnknown_2021D18 + ldr r1, _08114130 @ =gUnknown_841A938 + bl sub_8008FCC + b _0811413C + .align 2, 0 +_0811412C: .4byte gUnknown_2021D18 +_08114130: .4byte gUnknown_841A938 +_08114134: + ldr r0, _08114144 @ =gUnknown_2021D18 + ldr r1, _08114148 @ =gUnknown_841A255 + bl sub_8008FCC +_0811413C: + adds r0, r5, 0x6 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08114144: .4byte gUnknown_2021D18 +_08114148: .4byte gUnknown_841A255 + thumb_func_end sub_8113FBC + + thumb_func_start sub_811414C +sub_811414C: @ 811414C + push {r4,lr} + adds r4, r2, 0 + lsls r0, 16 + lsrs r0, 16 + bl sub_8113DE0 + adds r1, r0, 0 + cmp r1, 0 + beq _0811416A + ldrh r0, [r4] + strh r0, [r1] + ldrh r0, [r4, 0x4] + strh r0, [r1, 0x2] + adds r0, r1, 0x4 + b _0811416C +_0811416A: + movs r0, 0 +_0811416C: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_811414C + + thumb_func_start sub_8114174 +sub_8114174: @ 8114174 + push {lr} + adds r3, r0, 0 + adds r2, r1, 0 + movs r0, 0x5 + adds r1, r3, 0 + bl sub_811414C + pop {r1} + bx r1 + thumb_func_end sub_8114174 + + thumb_func_start sub_8114188 +sub_8114188: @ 8114188 + push {r4,r5,lr} + adds r1, r0, 0 + movs r0, 0x5 + bl sub_8113E88 + adds r4, r0, 0 + ldrh r0, [r4, 0x2] + ldr r1, _081141C0 @ =gUnknown_2021CD0 + movs r2, 0 + bl sub_8113EAC + ldr r5, _081141C4 @ =gUnknown_2021CF0 + ldrh r0, [r4] + bl sub_809A8BC + adds r1, r0, 0 + adds r0, r5, 0 + bl sub_8008D84 + ldr r0, _081141C8 @ =gUnknown_2021D18 + ldr r1, _081141CC @ =gUnknown_841AB74 + bl sub_8008FCC + adds r4, 0x4 + adds r0, r4, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_081141C0: .4byte gUnknown_2021CD0 +_081141C4: .4byte gUnknown_2021CF0 +_081141C8: .4byte gUnknown_2021D18 +_081141CC: .4byte gUnknown_841AB74 + thumb_func_end sub_8114188 + + thumb_func_start sub_81141D0 +sub_81141D0: @ 81141D0 + push {lr} + adds r3, r0, 0 + adds r2, r1, 0 + movs r0, 0x6 + adds r1, r3, 0 + bl sub_811414C + pop {r1} + bx r1 + thumb_func_end sub_81141D0 + + thumb_func_start sub_81141E4 +sub_81141E4: @ 81141E4 + push {r4,r5,lr} + adds r1, r0, 0 + movs r0, 0x6 + bl sub_8113E88 + adds r4, r0, 0 + ldrh r0, [r4, 0x2] + ldr r1, _0811421C @ =gUnknown_2021CD0 + movs r2, 0 + bl sub_8113EAC + ldr r5, _08114220 @ =gUnknown_2021CF0 + ldrh r0, [r4] + bl sub_809A8BC + adds r1, r0, 0 + adds r0, r5, 0 + bl sub_8008D84 + ldr r0, _08114224 @ =gUnknown_2021D18 + ldr r1, _08114228 @ =gUnknown_841AB8E + bl sub_8008FCC + adds r4, 0x4 + adds r0, r4, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0811421C: .4byte gUnknown_2021CD0 +_08114220: .4byte gUnknown_2021CF0 +_08114224: .4byte gUnknown_2021D18 +_08114228: .4byte gUnknown_841AB8E + thumb_func_end sub_81141E4 + + thumb_func_start sub_811422C +sub_811422C: @ 811422C + push {lr} + adds r3, r0, 0 + adds r2, r1, 0 + movs r0, 0x7 + adds r1, r3, 0 + bl sub_811414C + pop {r1} + bx r1 + thumb_func_end sub_811422C + + thumb_func_start sub_8114240 +sub_8114240: @ 8114240 + push {r4,r5,lr} + adds r1, r0, 0 + movs r0, 0x7 + bl sub_8113E88 + adds r4, r0, 0 + ldrh r0, [r4, 0x2] + ldr r1, _08114278 @ =gUnknown_2021CF0 + movs r2, 0 + bl sub_8113EAC + ldr r5, _0811427C @ =gUnknown_2021CD0 + ldrh r0, [r4] + bl sub_809A8BC + adds r1, r0, 0 + adds r0, r5, 0 + bl sub_8008D84 + ldr r0, _08114280 @ =gUnknown_2021D18 + ldr r1, _08114284 @ =gUnknown_841A6A5 + bl sub_8008FCC + adds r4, 0x4 + adds r0, r4, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08114278: .4byte gUnknown_2021CF0 +_0811427C: .4byte gUnknown_2021CD0 +_08114280: .4byte gUnknown_2021D18 +_08114284: .4byte gUnknown_841A6A5 + thumb_func_end sub_8114240 + + thumb_func_start sub_8114288 +sub_8114288: @ 8114288 + push {lr} + adds r3, r0, 0 + adds r2, r1, 0 + movs r0, 0x8 + adds r1, r3, 0 + bl sub_811414C + pop {r1} + bx r1 + thumb_func_end sub_8114288 + + thumb_func_start sub_811429C +sub_811429C: @ 811429C + push {r4,r5,lr} + adds r1, r0, 0 + movs r0, 0x8 + bl sub_8113E88 + adds r4, r0, 0 + ldrh r0, [r4, 0x2] + ldr r1, _081142D4 @ =gUnknown_2021CD0 + movs r2, 0 + bl sub_8113EAC + ldr r5, _081142D8 @ =gUnknown_2021CF0 + ldrh r0, [r4] + bl sub_809A8BC + adds r1, r0, 0 + adds r0, r5, 0 + bl sub_8008D84 + ldr r0, _081142DC @ =gUnknown_2021D18 + ldr r1, _081142E0 @ =gUnknown_841A1CD + bl sub_8008FCC + adds r4, 0x4 + adds r0, r4, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_081142D4: .4byte gUnknown_2021CD0 +_081142D8: .4byte gUnknown_2021CF0 +_081142DC: .4byte gUnknown_2021D18 +_081142E0: .4byte gUnknown_841A1CD + thumb_func_end sub_811429C + + thumb_func_start sub_81142E4 +sub_81142E4: @ 81142E4 + push {r4,lr} + adds r4, r2, 0 + lsls r0, 16 + lsrs r0, 16 + bl sub_8113DE0 + adds r1, r0, 0 + cmp r1, 0 + beq _08114306 + ldrh r0, [r4] + strh r0, [r1] + ldrh r0, [r4, 0x2] + strh r0, [r1, 0x2] + ldrh r0, [r4, 0x4] + strh r0, [r1, 0x4] + adds r0, r1, 0x6 + b _08114308 +_08114306: + movs r0, 0 +_08114308: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81142E4 + + thumb_func_start sub_8114310 +sub_8114310: @ 8114310 + push {lr} + adds r3, r0, 0 + adds r2, r1, 0 + movs r0, 0x9 + adds r1, r3, 0 + bl sub_81142E4 + pop {r1} + bx r1 + thumb_func_end sub_8114310 + + thumb_func_start sub_8114324 +sub_8114324: @ 8114324 + push {r4,r5,lr} + adds r1, r0, 0 + movs r0, 0x9 + bl sub_8113E88 + adds r4, r0, 0 + ldrh r0, [r4, 0x4] + ldr r1, _0811436C @ =gUnknown_2021CD0 + movs r2, 0 + bl sub_8113EAC + ldr r5, _08114370 @ =gUnknown_2021CF0 + ldrh r0, [r4] + bl sub_809A8BC + adds r1, r0, 0 + adds r0, r5, 0 + bl sub_8008D84 + ldr r5, _08114374 @ =gUnknown_2021D04 + ldrh r0, [r4, 0x2] + bl sub_809A8BC + adds r1, r0, 0 + adds r0, r5, 0 + bl sub_8008D84 + ldr r0, _08114378 @ =gUnknown_2021D18 + ldr r1, _0811437C @ =gUnknown_841A193 + bl sub_8008FCC + adds r4, 0x6 + adds r0, r4, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0811436C: .4byte gUnknown_2021CD0 +_08114370: .4byte gUnknown_2021CF0 +_08114374: .4byte gUnknown_2021D04 +_08114378: .4byte gUnknown_2021D18 +_0811437C: .4byte gUnknown_841A193 + thumb_func_end sub_8114324 + + thumb_func_start sub_8114380 +sub_8114380: @ 8114380 + push {lr} + adds r3, r0, 0 + adds r2, r1, 0 + movs r0, 0xA + adds r1, r3, 0 + bl sub_81142E4 + pop {r1} + bx r1 + thumb_func_end sub_8114380 + + thumb_func_start sub_8114394 +sub_8114394: @ 8114394 + push {r4,r5,lr} + adds r1, r0, 0 + movs r0, 0xA + bl sub_8113E88 + adds r4, r0, 0 + ldrh r0, [r4, 0x4] + ldr r1, _081143DC @ =gUnknown_2021CF0 + movs r2, 0 + bl sub_8113EAC + ldr r5, _081143E0 @ =gUnknown_2021D04 + ldrh r0, [r4] + bl sub_809A8BC + adds r1, r0, 0 + adds r0, r5, 0 + bl sub_8008D84 + ldr r5, _081143E4 @ =gUnknown_2021CD0 + ldrh r0, [r4, 0x2] + bl sub_809A8BC + adds r1, r0, 0 + adds r0, r5, 0 + bl sub_8008D84 + ldr r0, _081143E8 @ =gUnknown_2021D18 + ldr r1, _081143EC @ =gUnknown_841A6E1 + bl sub_8008FCC + adds r4, 0x6 + adds r0, r4, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_081143DC: .4byte gUnknown_2021CF0 +_081143E0: .4byte gUnknown_2021D04 +_081143E4: .4byte gUnknown_2021CD0 +_081143E8: .4byte gUnknown_2021D18 +_081143EC: .4byte gUnknown_841A6E1 + thumb_func_end sub_8114394 + + thumb_func_start sub_81143F0 +sub_81143F0: @ 81143F0 + push {r4,lr} + adds r4, r0, 0 + adds r2, r4, 0 + ldr r1, _08114408 @ =gUnknown_203B044 + ldrb r0, [r1] + cmp r0, 0xB + bne _0811440C + ldrb r0, [r1, 0x1] + cmp r0, 0 + beq _0811440C + adds r0, r4, 0 + b _08114436 + .align 2, 0 +_08114408: .4byte gUnknown_203B044 +_0811440C: + ldr r0, _0811442C @ =gUnknown_8456AA0 + ldrb r1, [r0, 0xB] + adds r0, r2, 0 + bl sub_8110944 + lsls r0, 24 + cmp r0, 0 + beq _08114434 + movs r0, 0xB + strh r0, [r4] + ldr r0, _08114430 @ =gUnknown_203AF98 + ldrh r0, [r0] + strh r0, [r4, 0x2] + adds r0, r4, 0x4 + b _08114436 + .align 2, 0 +_0811442C: .4byte gUnknown_8456AA0 +_08114430: .4byte gUnknown_203AF98 +_08114434: + movs r0, 0 +_08114436: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81143F0 + + thumb_func_start sub_811443C +sub_811443C: @ 811443C + push {r4,lr} + adds r4, r0, 0 + ldr r0, _08114454 @ =gUnknown_2021D18 + ldr r1, _08114458 @ =gUnknown_841A2B0 + bl sub_8008FCC + adds r4, 0x4 + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08114454: .4byte gUnknown_2021D18 +_08114458: .4byte gUnknown_841A2B0 + thumb_func_end sub_811443C + + thumb_func_start sub_811445C +sub_811445C: @ 811445C + push {r4,lr} + adds r4, r0, 0 + adds r4, 0x8 + movs r2, 0xC + strh r2, [r0] + ldr r2, _08114488 @ =gUnknown_203AF98 + ldrh r2, [r2] + strh r2, [r0, 0x2] + ldrh r2, [r1] + strh r2, [r0, 0x4] + ldrh r2, [r1, 0x2] + strh r2, [r0, 0x6] + adds r1, 0x4 + adds r0, r4, 0 + movs r2, 0x7 + bl memcpy + adds r4, 0x8 + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08114488: .4byte gUnknown_203AF98 + thumb_func_end sub_811445C + + thumb_func_start sub_811448C +sub_811448C: @ 811448C + push {r4-r6,lr} + adds r5, r0, 0 + adds r6, r5, 0 + adds r6, 0x8 + ldr r4, _081144D8 @ =gUnknown_2021CD0 + adds r0, r4, 0 + movs r1, 0xFF + movs r2, 0x8 + bl memset + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0x7 + bl memcpy + adds r0, r4, 0 + bl sub_8115834 + ldrh r0, [r5, 0x6] + ldr r1, _081144DC @ =gUnknown_2021CF0 + movs r2, 0 + bl sub_8113EAC + ldrh r0, [r5, 0x4] + ldr r1, _081144E0 @ =gUnknown_2021D04 + movs r2, 0 + bl sub_8113EAC + ldr r0, _081144E4 @ =gUnknown_2021D18 + ldr r1, _081144E8 @ =gUnknown_841A3FF + bl sub_8008FCC + adds r6, 0x8 + adds r0, r6, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_081144D8: .4byte gUnknown_2021CD0 +_081144DC: .4byte gUnknown_2021CF0 +_081144E0: .4byte gUnknown_2021D04 +_081144E4: .4byte gUnknown_2021D18 +_081144E8: .4byte gUnknown_841A3FF + thumb_func_end sub_811448C + + thumb_func_start sub_81144EC +sub_81144EC: @ 81144EC + push {r4,lr} + adds r4, r0, 0 + movs r0, 0xD + strh r0, [r4] + ldr r0, _08114514 @ =gUnknown_203AF98 + ldrh r0, [r0] + strh r0, [r4, 0x2] + ldrb r0, [r1] + strb r0, [r4, 0x4] + adds r0, r4, 0x5 + adds r1, 0x1 + movs r2, 0x7 + bl memcpy + adds r4, 0xC + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08114514: .4byte gUnknown_203AF98 + thumb_func_end sub_81144EC + + thumb_func_start sub_8114518 +sub_8114518: @ 8114518 + push {r4,r5,lr} + adds r5, r0, 0 + bl sub_813CC90 + ldr r4, _08114568 @ =gUnknown_2021CD0 + adds r0, r4, 0 + movs r1, 0xFF + movs r2, 0x8 + bl memset + adds r1, r5, 0x5 + adds r0, r4, 0 + movs r2, 0x7 + bl memcpy + adds r0, r4, 0 + bl sub_8115834 + movs r0, 0 + adds r1, r4, 0 + bl sub_813CCAC + ldr r1, _0811456C @ =gUnknown_8456AE4 + ldrb r0, [r5, 0x4] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + movs r0, 0x1 + bl sub_813CCAC + ldr r0, _08114570 @ =gUnknown_2021D18 + ldr r1, _08114574 @ =gUnknown_841A422 + bl sub_813CCC8 + adds r5, 0xC + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08114568: .4byte gUnknown_2021CD0 +_0811456C: .4byte gUnknown_8456AE4 +_08114570: .4byte gUnknown_2021D18 +_08114574: .4byte gUnknown_841A422 + thumb_func_end sub_8114518 + + thumb_func_start sub_8114578 +sub_8114578: @ 8114578 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0xE + strh r0, [r4] + ldr r0, _081145A0 @ =gUnknown_203AF98 + ldrh r0, [r0] + strh r0, [r4, 0x2] + ldrb r0, [r1] + strb r0, [r4, 0x4] + adds r0, r4, 0x5 + adds r1, 0x1 + movs r2, 0x7 + bl memcpy + adds r4, 0xC + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_081145A0: .4byte gUnknown_203AF98 + thumb_func_end sub_8114578 + + thumb_func_start sub_81145A4 +sub_81145A4: @ 81145A4 + push {r4,r5,lr} + adds r5, r0, 0 + bl sub_813CC90 + ldr r4, _081145F4 @ =gUnknown_2021CD0 + adds r0, r4, 0 + movs r1, 0xFF + movs r2, 0x8 + bl memset + adds r1, r5, 0x5 + adds r0, r4, 0 + movs r2, 0x7 + bl memcpy + adds r0, r4, 0 + bl sub_8115834 + movs r0, 0 + adds r1, r4, 0 + bl sub_813CCAC + ldr r1, _081145F8 @ =gUnknown_8456AE4 + ldrb r0, [r5, 0x4] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + movs r0, 0x1 + bl sub_813CCAC + ldr r0, _081145FC @ =gUnknown_2021D18 + ldr r1, _08114600 @ =gUnknown_841A477 + bl sub_813CCC8 + adds r5, 0xC + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_081145F4: .4byte gUnknown_2021CD0 +_081145F8: .4byte gUnknown_8456AE4 +_081145FC: .4byte gUnknown_2021D18 +_08114600: .4byte gUnknown_841A477 + thumb_func_end sub_81145A4 + + thumb_func_start sub_8114604 +sub_8114604: @ 8114604 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r0, 0xF + strh r0, [r4] + ldr r0, _08114648 @ =gUnknown_203AF98 + ldrh r0, [r0] + strh r0, [r4, 0x2] + ldrb r0, [r5] + strb r0, [r4, 0x4] + adds r0, r4, 0x5 + adds r1, r5, 0x1 + movs r2, 0x7 + bl memcpy + adds r0, r4, 0 + adds r0, 0xC + adds r1, r5, 0 + adds r1, 0x8 + movs r2, 0x7 + bl memcpy + adds r0, r4, 0 + adds r0, 0x13 + adds r5, 0xF + adds r1, r5, 0 + movs r2, 0x7 + bl memcpy + adds r4, 0x1A + adds r0, r4, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08114648: .4byte gUnknown_203AF98 + thumb_func_end sub_8114604 + + thumb_func_start sub_811464C +sub_811464C: @ 811464C + push {r4-r6,lr} + mov r6, r8 + push {r6} + adds r4, r0, 0 + bl sub_813CC90 + ldr r0, _081146F4 @ =gUnknown_2021CD0 + mov r8, r0 + movs r1, 0xFF + movs r2, 0x8 + bl memset + ldr r6, _081146F8 @ =gUnknown_2021CF0 + adds r0, r6, 0 + movs r1, 0xFF + movs r2, 0x8 + bl memset + ldr r5, _081146FC @ =gUnknown_2021D04 + adds r0, r5, 0 + movs r1, 0xFF + movs r2, 0x8 + bl memset + adds r1, r4, 0x5 + mov r0, r8 + bl sub_8008D54 + adds r1, r4, 0 + adds r1, 0xC + adds r0, r6, 0 + bl sub_8008D54 + adds r1, r4, 0 + adds r1, 0x13 + adds r0, r5, 0 + bl sub_8008D54 + mov r0, r8 + bl sub_8115834 + adds r0, r6, 0 + bl sub_8115834 + adds r0, r5, 0 + bl sub_8115834 + ldr r0, _08114700 @ =gUnknown_300500C + ldr r1, [r0] + movs r0, 0 + bl sub_813CCAC + movs r0, 0x1 + mov r1, r8 + bl sub_813CCAC + movs r0, 0x2 + adds r1, r6, 0 + bl sub_813CCAC + movs r0, 0x3 + adds r1, r5, 0 + bl sub_813CCAC + ldr r1, _08114704 @ =gUnknown_8456AE4 + ldrb r0, [r4, 0x4] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + movs r0, 0x4 + bl sub_813CCAC + ldr r0, _08114708 @ =gUnknown_2021D18 + ldr r1, _0811470C @ =gUnknown_841A4C6 + bl sub_813CCC8 + adds r4, 0x1A + adds r0, r4, 0 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_081146F4: .4byte gUnknown_2021CD0 +_081146F8: .4byte gUnknown_2021CF0 +_081146FC: .4byte gUnknown_2021D04 +_08114700: .4byte gUnknown_300500C +_08114704: .4byte gUnknown_8456AE4 +_08114708: .4byte gUnknown_2021D18 +_0811470C: .4byte gUnknown_841A4C6 + thumb_func_end sub_811464C + + thumb_func_start sub_8114710 +sub_8114710: @ 8114710 + movs r1, 0x10 + strh r1, [r0] + ldr r1, _08114720 @ =gUnknown_203AF98 + ldrh r1, [r1] + strh r1, [r0, 0x2] + adds r0, 0x4 + bx lr + .align 2, 0 +_08114720: .4byte gUnknown_203AF98 + thumb_func_end sub_8114710 + + thumb_func_start sub_8114724 +sub_8114724: @ 8114724 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _0811473C @ =gUnknown_2021D18 + ldr r1, _08114740 @ =gUnknown_841A50B + bl sub_8008FCC + adds r4, 0x4 + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0811473C: .4byte gUnknown_2021D18 +_08114740: .4byte gUnknown_841A50B + thumb_func_end sub_8114724 + + thumb_func_start sub_8114744 +sub_8114744: @ 8114744 + movs r1, 0x11 + strh r1, [r0] + ldr r1, _08114754 @ =gUnknown_203AF98 + ldrh r1, [r1] + strh r1, [r0, 0x2] + adds r0, 0x4 + bx lr + .align 2, 0 +_08114754: .4byte gUnknown_203AF98 + thumb_func_end sub_8114744 + + thumb_func_start sub_8114758 +sub_8114758: @ 8114758 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _08114770 @ =gUnknown_2021D18 + ldr r1, _08114774 @ =gUnknown_841A732 + bl sub_8008FCC + adds r4, 0x4 + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08114770: .4byte gUnknown_2021D18 +_08114774: .4byte gUnknown_841A732 + thumb_func_end sub_8114758 + + thumb_func_start sub_8114778 +sub_8114778: @ 8114778 + push {r4,lr} + adds r4, r0, 0 + adds r4, 0x8 + movs r2, 0x12 + strh r2, [r0] + ldr r2, _081147A4 @ =gUnknown_203AF98 + ldrh r2, [r2] + strh r2, [r0, 0x2] + ldrh r2, [r1] + strh r2, [r0, 0x4] + ldrh r2, [r1, 0x2] + strh r2, [r0, 0x6] + adds r1, 0x4 + adds r0, r4, 0 + movs r2, 0x7 + bl memcpy + adds r4, 0x8 + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_081147A4: .4byte gUnknown_203AF98 + thumb_func_end sub_8114778 + + thumb_func_start sub_81147A8 +sub_81147A8: @ 81147A8 + push {r4-r6,lr} + adds r5, r0, 0 + adds r6, r5, 0 + adds r6, 0x8 + ldr r4, _081147F4 @ =gUnknown_2021CD0 + adds r0, r4, 0 + movs r1, 0xFF + movs r2, 0x8 + bl memset + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0x7 + bl memcpy + adds r0, r4, 0 + bl sub_8115834 + ldrh r0, [r5, 0x6] + ldr r1, _081147F8 @ =gUnknown_2021CF0 + movs r2, 0 + bl sub_8113EAC + ldrh r0, [r5, 0x4] + ldr r1, _081147FC @ =gUnknown_2021D04 + movs r2, 0 + bl sub_8113EAC + ldr r0, _08114800 @ =gUnknown_2021D18 + ldr r1, _08114804 @ =gUnknown_841A76A + bl sub_8008FCC + adds r6, 0x8 + adds r0, r6, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_081147F4: .4byte gUnknown_2021CD0 +_081147F8: .4byte gUnknown_2021CF0 +_081147FC: .4byte gUnknown_2021D04 +_08114800: .4byte gUnknown_2021D18 +_08114804: .4byte gUnknown_841A76A + thumb_func_end sub_81147A8 + + thumb_func_start sub_8114808 +sub_8114808: @ 8114808 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x13 + strh r0, [r4] + ldr r0, _08114830 @ =gUnknown_203AF98 + ldrh r0, [r0] + strh r0, [r4, 0x2] + ldrb r0, [r1] + strb r0, [r4, 0x4] + adds r0, r4, 0x5 + adds r1, 0x1 + movs r2, 0x7 + bl memcpy + adds r4, 0xC + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08114830: .4byte gUnknown_203AF98 + thumb_func_end sub_8114808 + + thumb_func_start sub_8114834 +sub_8114834: @ 8114834 + push {r4,r5,lr} + adds r5, r0, 0 + ldr r4, _08114878 @ =gUnknown_2021CD0 + adds r0, r4, 0 + movs r1, 0xFF + movs r2, 0x8 + bl memset + adds r1, r5, 0x5 + adds r0, r4, 0 + movs r2, 0x7 + bl memcpy + adds r0, r4, 0 + bl sub_8115834 + ldr r0, _0811487C @ =gUnknown_2021CF0 + ldr r2, _08114880 @ =gUnknown_8456AE4 + ldrb r1, [r5, 0x4] + lsls r1, 2 + adds r1, r2 + ldr r1, [r1] + bl sub_8008D84 + ldr r0, _08114884 @ =gUnknown_2021D18 + ldr r1, _08114888 @ =gUnknown_841A7B0 + bl sub_8008FCC + adds r5, 0xC + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08114878: .4byte gUnknown_2021CD0 +_0811487C: .4byte gUnknown_2021CF0 +_08114880: .4byte gUnknown_8456AE4 +_08114884: .4byte gUnknown_2021D18 +_08114888: .4byte gUnknown_841A7B0 + thumb_func_end sub_8114834 + + thumb_func_start sub_811488C +sub_811488C: @ 811488C + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x14 + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + beq _081148B4 + ldrh r0, [r4] + strh r0, [r2] + ldrh r0, [r4, 0x2] + strh r0, [r2, 0x2] + ldrb r0, [r4, 0x4] + strb r0, [r2, 0x4] + ldrb r0, [r4, 0x5] + strb r0, [r2, 0x5] + adds r0, r2, 0x6 + b _081148B6 +_081148B4: + movs r0, 0 +_081148B6: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_811488C + + thumb_func_start sub_81148BC +sub_81148BC: @ 81148BC + push {r4,r5,lr} + adds r1, r0, 0 + movs r0, 0x14 + bl sub_8113E88 + adds r4, r0, 0 + adds r5, r4, 0x4 + bl sub_813CC90 + ldrb r0, [r4, 0x4] + bl sub_808BD6C + adds r1, r0, 0 + movs r0, 0 + bl sub_813CCAC + ldrh r0, [r4] + movs r1, 0 + movs r2, 0x1 + bl sub_8113EAC + ldrb r0, [r5, 0x1] + bl sub_808BD6C + adds r1, r0, 0 + movs r0, 0x2 + bl sub_813CCAC + ldrh r0, [r4, 0x2] + movs r1, 0 + movs r2, 0x3 + bl sub_8113EAC + ldr r0, _08114910 @ =gUnknown_2021D18 + ldr r1, _08114914 @ =gUnknown_841A566 + bl sub_813CCC8 + adds r4, 0x6 + adds r0, r4, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08114910: .4byte gUnknown_2021D18 +_08114914: .4byte gUnknown_841A566 + thumb_func_end sub_81148BC + + thumb_func_start sub_8114918 +sub_8114918: @ 8114918 + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x15 + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + beq _0811493C + ldrh r0, [r4] + strh r0, [r2] + ldrh r0, [r4, 0x2] + strh r0, [r2, 0x2] + ldrb r0, [r4, 0x4] + strb r0, [r2, 0x4] + adds r0, r2, 0x6 + b _0811493E +_0811493C: + movs r0, 0 +_0811493E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8114918 + + thumb_func_start sub_8114944 +sub_8114944: @ 8114944 + push {r4,lr} + adds r1, r0, 0 + movs r0, 0x15 + bl sub_8113E88 + adds r4, r0, 0 + bl sub_813CC90 + ldrb r0, [r4, 0x4] + bl sub_808BD6C + adds r1, r0, 0 + movs r0, 0 + bl sub_813CCAC + ldrh r0, [r4] + movs r1, 0 + movs r2, 0x1 + bl sub_8113EAC + ldrh r0, [r4, 0x2] + movs r1, 0 + movs r2, 0x2 + bl sub_8113EAC + ldr r0, _08114988 @ =gUnknown_2021D18 + ldr r1, _0811498C @ =gUnknown_841A5D9 + bl sub_813CCC8 + adds r4, 0x6 + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08114988: .4byte gUnknown_2021D18 +_0811498C: .4byte gUnknown_841A5D9 + thumb_func_end sub_8114944 + + thumb_func_start sub_8114990 +sub_8114990: @ 8114990 + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x16 + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + bne _081149A8 + movs r0, 0 + b _081149CA +_081149A8: + adds r1, r2, 0x4 + ldrb r0, [r4, 0x4] + cmp r0, 0xE + bne _081149BC + ldrh r0, [r4, 0x2] + strh r0, [r2] + ldrh r0, [r4] + strh r0, [r2, 0x2] + ldrb r0, [r4, 0x5] + b _081149C6 +_081149BC: + ldrh r0, [r4] + strh r0, [r2] + ldrh r0, [r4, 0x2] + strh r0, [r2, 0x2] + ldrb r0, [r4, 0x4] +_081149C6: + strb r0, [r2, 0x4] + adds r0, r1, 0x2 +_081149CA: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8114990 + + thumb_func_start sub_81149D0 +sub_81149D0: @ 81149D0 + push {r4,lr} + adds r1, r0, 0 + movs r0, 0x16 + bl sub_8113E88 + adds r4, r0, 0 + bl sub_813CC90 + ldrb r0, [r4, 0x4] + bl sub_808BD6C + adds r1, r0, 0 + movs r0, 0 + bl sub_813CCAC + ldrh r0, [r4] + movs r1, 0 + movs r2, 0x1 + bl sub_8113EAC + ldrh r0, [r4, 0x2] + movs r1, 0 + movs r2, 0x2 + bl sub_8113EAC + ldr r0, _08114A14 @ =gUnknown_2021D18 + ldr r1, _08114A18 @ =gUnknown_841A60A + bl sub_813CCC8 + adds r4, 0x6 + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08114A14: .4byte gUnknown_2021D18 +_08114A18: .4byte gUnknown_841A60A + thumb_func_end sub_81149D0 + + thumb_func_start sub_8114A1C +sub_8114A1C: @ 8114A1C + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x17 + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + beq _08114A42 + ldrh r0, [r4] + strh r0, [r2] + adds r0, r2, 0x2 + ldrb r1, [r4, 0x4] + strb r1, [r2, 0x2] + ldrb r1, [r4, 0x5] + strb r1, [r0, 0x1] + adds r0, 0x2 + b _08114A44 +_08114A42: + movs r0, 0 +_08114A44: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8114A1C + + thumb_func_start sub_8114A4C +sub_8114A4C: @ 8114A4C + push {r4,r5,lr} + adds r1, r0, 0 + movs r0, 0x17 + bl sub_8113E88 + adds r4, r0, 0 + adds r5, r4, 0x2 + bl sub_813CC90 + ldrb r0, [r4, 0x2] + bl sub_808BD6C + adds r1, r0, 0 + movs r0, 0 + bl sub_813CCAC + ldrh r0, [r4] + movs r1, 0 + movs r2, 0x1 + bl sub_8113EAC + ldrb r0, [r5, 0x1] + bl sub_808BD6C + adds r1, r0, 0 + movs r0, 0x2 + bl sub_813CCAC + ldr r0, _08114A98 @ =gUnknown_2021D18 + ldr r1, _08114A9C @ =gUnknown_841A59C + bl sub_813CCC8 + adds r5, 0x2 + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08114A98: .4byte gUnknown_2021D18 +_08114A9C: .4byte gUnknown_841A59C + thumb_func_end sub_8114A4C + + thumb_func_start sub_8114AA0 +sub_8114AA0: @ 8114AA0 + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x18 + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + beq _08114AC0 + ldrh r0, [r4] + strh r0, [r2] + ldrb r0, [r4, 0x4] + strb r0, [r2, 0x2] + adds r0, r2, 0x4 + b _08114AC2 +_08114AC0: + movs r0, 0 +_08114AC2: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8114AA0 + + thumb_func_start sub_8114AC8 +sub_8114AC8: @ 8114AC8 + push {r4,r5,lr} + adds r1, r0, 0 + movs r0, 0x18 + bl sub_8113E88 + adds r4, r0, 0 + adds r5, r4, 0x2 + bl sub_813CC90 + ldrb r0, [r4, 0x2] + bl sub_808BD6C + adds r1, r0, 0 + movs r0, 0 + bl sub_813CCAC + ldrh r0, [r4] + movs r1, 0 + movs r2, 0x1 + bl sub_8113EAC + ldr r0, _08114B04 @ =gUnknown_2021D18 + ldr r1, _08114B08 @ =gUnknown_841A5FA + bl sub_813CCC8 + adds r5, 0x2 + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08114B04: .4byte gUnknown_2021D18 +_08114B08: .4byte gUnknown_841A5FA + thumb_func_end sub_8114AC8 + + thumb_func_start sub_8114B0C +sub_8114B0C: @ 8114B0C + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x19 + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + beq _08114B2C + ldrh r0, [r4] + strh r0, [r2] + ldrb r0, [r4, 0x4] + strb r0, [r2, 0x2] + adds r0, r2, 0x4 + b _08114B2E +_08114B2C: + movs r0, 0 +_08114B2E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8114B0C + + thumb_func_start sub_8114B34 +sub_8114B34: @ 8114B34 + push {r4,r5,lr} + adds r1, r0, 0 + movs r0, 0x19 + bl sub_8113E88 + adds r4, r0, 0 + adds r5, r4, 0x2 + bl sub_813CC90 + ldrb r0, [r4, 0x2] + bl sub_808BD6C + adds r1, r0, 0 + movs r0, 0 + bl sub_813CCAC + ldrh r0, [r4] + movs r1, 0 + movs r2, 0x1 + bl sub_8113EAC + ldr r0, _08114B70 @ =gUnknown_2021D18 + ldr r1, _08114B74 @ =gUnknown_841A632 + bl sub_813CCC8 + adds r5, 0x2 + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08114B70: .4byte gUnknown_2021D18 +_08114B74: .4byte gUnknown_841A632 + thumb_func_end sub_8114B34 + + thumb_func_start sub_8114B78 +sub_8114B78: @ 8114B78 + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x1A + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + beq _08114B98 + ldrh r0, [r4] + strh r0, [r2] + ldrb r0, [r4, 0x4] + strb r0, [r2, 0x2] + adds r0, r2, 0x4 + b _08114B9A +_08114B98: + movs r0, 0 +_08114B9A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8114B78 + + thumb_func_start sub_8114BA0 +sub_8114BA0: @ 8114BA0 + push {r4,r5,lr} + adds r1, r0, 0 + movs r0, 0x1A + bl sub_8113E88 + adds r4, r0, 0 + adds r5, r4, 0x2 + bl sub_813CC90 + ldrh r0, [r4] + movs r1, 0 + movs r2, 0 + bl sub_8113EAC + ldrb r0, [r4, 0x2] + bl sub_808BD6C + adds r1, r0, 0 + movs r0, 0x1 + bl sub_813CCAC + ldr r0, _08114BDC @ =gUnknown_2021D18 + ldr r1, _08114BE0 @ =gUnknown_841A64F + bl sub_813CCC8 + adds r5, 0x2 + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08114BDC: .4byte gUnknown_2021D18 +_08114BE0: .4byte gUnknown_841A64F + thumb_func_end sub_8114BA0 + + thumb_func_start sub_8114BE4 +sub_8114BE4: @ 8114BE4 + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x1B + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + beq _08114C04 + ldrb r0, [r4, 0x4] + strb r0, [r2] + ldrb r0, [r4, 0x5] + strb r0, [r2, 0x1] + adds r0, r2, 0x2 + b _08114C06 +_08114C04: + movs r0, 0 +_08114C06: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8114BE4 + + thumb_func_start sub_8114C0C +sub_8114C0C: @ 8114C0C + push {r4,lr} + adds r1, r0, 0 + movs r0, 0x1B + bl sub_8113E88 + adds r4, r0, 0 + bl sub_813CC90 + ldrb r0, [r4] + bl sub_808BD6C + adds r1, r0, 0 + movs r0, 0 + bl sub_813CCAC + ldrb r0, [r4] + ldrb r1, [r4, 0x1] + cmp r0, r1 + bne _08114C40 + ldr r1, _08114C3C @ =gUnknown_841A694 + movs r0, 0x1 + bl sub_813CCAC + b _08114C4E + .align 2, 0 +_08114C3C: .4byte gUnknown_841A694 +_08114C40: + ldrb r0, [r4, 0x1] + bl sub_808BD6C + adds r1, r0, 0 + movs r0, 0x1 + bl sub_813CCAC +_08114C4E: + ldr r0, _08114C60 @ =gUnknown_2021D18 + ldr r1, _08114C64 @ =gUnknown_841A66E + bl sub_813CCC8 + adds r0, r4, 0x2 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08114C60: .4byte gUnknown_2021D18 +_08114C64: .4byte gUnknown_841A66E + thumb_func_end sub_8114C0C + + thumb_func_start sub_8114C68 +sub_8114C68: @ 8114C68 + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x1C + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + beq _08114C84 + ldrh r0, [r4] + strh r0, [r2] + adds r0, r2, 0x2 + b _08114C86 +_08114C84: + movs r0, 0 +_08114C86: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8114C68 + + thumb_func_start sub_8114C8C +sub_8114C8C: @ 8114C8C + push {r4,lr} + adds r1, r0, 0 + movs r0, 0x1C + bl sub_8113E88 + adds r4, r0, 0 + ldrh r0, [r4] + ldr r1, _08114CB4 @ =gUnknown_2021CD0 + bl sub_8099E90 + ldr r0, _08114CB8 @ =gUnknown_2021D18 + ldr r1, _08114CBC @ =gUnknown_841A391 + bl sub_8008FCC + adds r4, 0x2 + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08114CB4: .4byte gUnknown_2021CD0 +_08114CB8: .4byte gUnknown_2021D18 +_08114CBC: .4byte gUnknown_841A391 + thumb_func_end sub_8114C8C + + thumb_func_start sub_8114CC0 +sub_8114CC0: @ 8114CC0 + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x1D + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + beq _08114CDC + ldrh r0, [r4] + strh r0, [r2] + adds r0, r2, 0x2 + b _08114CDE +_08114CDC: + movs r0, 0 +_08114CDE: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8114CC0 + + thumb_func_start sub_8114CE4 +sub_8114CE4: @ 8114CE4 + push {r4,lr} + adds r1, r0, 0 + movs r0, 0x1D + bl sub_8113E88 + adds r4, r0, 0 + ldrh r0, [r4] + ldr r1, _08114D0C @ =gUnknown_2021CD0 + bl sub_8099E90 + ldr r0, _08114D10 @ =gUnknown_2021D18 + ldr r1, _08114D14 @ =gUnknown_841A3DA + bl sub_8008FCC + adds r4, 0x2 + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08114D0C: .4byte gUnknown_2021CD0 +_08114D10: .4byte gUnknown_2021D18 +_08114D14: .4byte gUnknown_841A3DA + thumb_func_end sub_8114CE4 + + thumb_func_start sub_8114D18 +sub_8114D18: @ 8114D18 + push {r4,lr} + adds r4, r2, 0 + lsls r0, 16 + lsrs r0, 16 + bl sub_8113DE0 + adds r1, r0, 0 + cmp r1, 0 + beq _08114D44 + ldrh r0, [r4, 0x2] + strh r0, [r1] + ldrh r0, [r4, 0x4] + strh r0, [r1, 0x2] + ldrh r0, [r4] + strh r0, [r1, 0x4] + ldrb r0, [r4, 0x7] + strb r0, [r1, 0x6] + ldrb r0, [r4, 0x6] + strb r0, [r1, 0x7] + adds r0, r1, 0 + adds r0, 0x8 + b _08114D46 +_08114D44: + movs r0, 0 +_08114D46: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8114D18 + + thumb_func_start sub_8114D4C +sub_8114D4C: @ 8114D4C + push {lr} + adds r3, r0, 0 + adds r2, r1, 0 + ldr r1, _08114D64 @ =gUnknown_203B048 + movs r0, 0x1 + strb r0, [r1] + movs r0, 0x1E + adds r1, r3, 0 + bl sub_8114D18 + pop {r1} + bx r1 + .align 2, 0 +_08114D64: .4byte gUnknown_203B048 + thumb_func_end sub_8114D4C + + thumb_func_start sub_8114D68 +sub_8114D68: @ 8114D68 + push {r4-r6,lr} + adds r1, r0, 0 + movs r0, 0x1E + bl sub_8113E88 + adds r4, r0, 0 + adds r6, r4, 0x6 + bl sub_813CC90 + ldr r5, _08114DD4 @ =gUnknown_2021CD0 + ldrb r1, [r4, 0x6] + adds r0, r5, 0 + bl sub_80C4DF8 + movs r0, 0 + adds r1, r5, 0 + bl sub_813CCAC + ldrh r0, [r4, 0x4] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _08114DD8 @ =gUnknown_823EACC + adds r1, r0 + movs r0, 0x1 + bl sub_813CCAC + ldrh r0, [r4] + movs r1, 0 + movs r2, 0x2 + bl sub_8113EAC + ldrh r0, [r4, 0x2] + movs r1, 0 + movs r2, 0x3 + bl sub_8113EAC + ldr r1, _08114DDC @ =gUnknown_8456ACC + ldrb r0, [r6, 0x1] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + movs r0, 0x4 + bl sub_813CCAC + ldr r0, _08114DE0 @ =gUnknown_2021D18 + ldr r1, _08114DE4 @ =gUnknown_841AF0C + bl sub_813CCC8 + adds r4, 0x8 + adds r0, r4, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08114DD4: .4byte gUnknown_2021CD0 +_08114DD8: .4byte gUnknown_823EACC +_08114DDC: .4byte gUnknown_8456ACC +_08114DE0: .4byte gUnknown_2021D18 +_08114DE4: .4byte gUnknown_841AF0C + thumb_func_end sub_8114D68 + + thumb_func_start sub_8114DE8 +sub_8114DE8: @ 8114DE8 + push {r4-r6,lr} + adds r6, r1, 0 + adds r4, r0, 0 + adds r5, r4, 0 + adds r5, 0x8 + ldr r0, _08114E08 @ =gUnknown_8456AA0 + ldrb r1, [r0, 0x1F] + adds r0, r4, 0 + bl sub_8110944 + lsls r0, 24 + cmp r0, 0 + bne _08114E0C + movs r0, 0 + b _08114E5E + .align 2, 0 +_08114E08: .4byte gUnknown_8456AA0 +_08114E0C: + ldrb r0, [r4, 0x8] + cmp r0, 0 + bne _08114E22 + ldrb r0, [r5, 0x1] + cmp r0, 0 + bne _08114E22 + movs r0, 0x1F + strh r0, [r4] + ldr r0, _08114E64 @ =gUnknown_203AF98 + ldrh r0, [r0] + strh r0, [r4, 0x2] +_08114E22: + ldrh r0, [r6] + adds r2, r0, 0 + cmp r2, 0 + beq _08114E2C + strh r0, [r4, 0x4] +_08114E2C: + ldrh r0, [r6, 0x2] + adds r1, r0, 0 + cmp r1, 0 + beq _08114E36 + strh r1, [r4, 0x6] +_08114E36: + cmp r2, 0 + beq _08114E46 + ldrb r2, [r5] + adds r0, r2, 0 + cmp r0, 0xFF + beq _08114E46 + adds r0, r2, 0x1 + strb r0, [r5] +_08114E46: + lsls r0, r1, 16 + cmp r0, 0 + beq _08114E58 + ldrb r1, [r5, 0x1] + adds r0, r1, 0 + cmp r0, 0xFF + beq _08114E58 + adds r0, r1, 0x1 + strb r0, [r5, 0x1] +_08114E58: + ldrb r0, [r6, 0x4] + strb r0, [r5, 0x2] + adds r0, r5, 0x4 +_08114E5E: + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08114E64: .4byte gUnknown_203AF98 + thumb_func_end sub_8114DE8 + + thumb_func_start sub_8114E68 +sub_8114E68: @ 8114E68 + push {r4-r6,lr} + adds r5, r0, 0 + ldr r0, _08114E80 @ =gUnknown_8456AA0 + ldrb r1, [r0, 0x1F] + adds r0, r5, 0 + bl sub_8110944 + lsls r0, 24 + cmp r0, 0 + bne _08114E84 + movs r0, 0 + b _08114FAE + .align 2, 0 +_08114E80: .4byte gUnknown_8456AA0 +_08114E84: + adds r6, r5, 0 + adds r6, 0x8 + bl sub_813CC90 + ldr r4, _08114F00 @ =gUnknown_2021CD0 + ldrb r1, [r6, 0x2] + adds r0, r4, 0 + bl sub_80C4DF8 + movs r0, 0 + adds r1, r4, 0 + bl sub_813CCAC + ldrh r0, [r5, 0x4] + movs r1, 0 + movs r2, 0x1 + bl sub_8113EAC + ldr r4, _08114F04 @ =gUnknown_2021CF0 + ldrb r1, [r5, 0x8] + adds r0, r4, 0 + movs r2, 0 + movs r3, 0x3 + bl sub_8008E78 + movs r0, 0x2 + adds r1, r4, 0 + bl sub_813CCAC + ldrh r0, [r5, 0x6] + movs r1, 0 + movs r2, 0x3 + bl sub_8113EAC + ldr r4, _08114F08 @ =gUnknown_2021D04 + ldrb r1, [r6, 0x1] + adds r0, r4, 0 + movs r2, 0 + movs r3, 0x3 + bl sub_8008E78 + movs r0, 0x4 + adds r1, r4, 0 + bl sub_813CCAC + ldr r0, _08114F0C @ =gUnknown_300500C + ldr r1, [r0] + movs r0, 0x5 + bl sub_813CCAC + ldrb r0, [r5, 0x8] + cmp r0, 0 + bne _08114F2C + ldrb r0, [r6, 0x1] + cmp r0, 0x1 + bne _08114F18 + ldr r0, _08114F10 @ =gUnknown_2021D18 + ldr r1, _08114F14 @ =gUnknown_841AA01 + bl sub_813CCC8 + b _08114FAC + .align 2, 0 +_08114F00: .4byte gUnknown_2021CD0 +_08114F04: .4byte gUnknown_2021CF0 +_08114F08: .4byte gUnknown_2021D04 +_08114F0C: .4byte gUnknown_300500C +_08114F10: .4byte gUnknown_2021D18 +_08114F14: .4byte gUnknown_841AA01 +_08114F18: + ldr r0, _08114F24 @ =gUnknown_2021D18 + ldr r1, _08114F28 @ =gUnknown_841AA2B + bl sub_813CCC8 + b _08114FAC + .align 2, 0 +_08114F24: .4byte gUnknown_2021D18 +_08114F28: .4byte gUnknown_841AA2B +_08114F2C: + ldrb r1, [r6, 0x1] + cmp r1, 0 + bne _08114F5C + cmp r0, 0x1 + bne _08114F48 + ldr r0, _08114F40 @ =gUnknown_2021D18 + ldr r1, _08114F44 @ =gUnknown_841A9A9 + bl sub_813CCC8 + b _08114FAC + .align 2, 0 +_08114F40: .4byte gUnknown_2021D18 +_08114F44: .4byte gUnknown_841A9A9 +_08114F48: + ldr r0, _08114F54 @ =gUnknown_2021D18 + ldr r1, _08114F58 @ =gUnknown_841A9D4 + bl sub_813CCC8 + b _08114FAC + .align 2, 0 +_08114F54: .4byte gUnknown_2021D18 +_08114F58: .4byte gUnknown_841A9D4 +_08114F5C: + cmp r0, 0x1 + bne _08114F8C + cmp r1, 0x1 + bne _08114F78 + ldr r0, _08114F70 @ =gUnknown_2021D18 + ldr r1, _08114F74 @ =gUnknown_841AA76 + bl sub_813CCC8 + b _08114FAC + .align 2, 0 +_08114F70: .4byte gUnknown_2021D18 +_08114F74: .4byte gUnknown_841AA76 +_08114F78: + ldr r0, _08114F84 @ =gUnknown_2021D18 + ldr r1, _08114F88 @ =gUnknown_841AAAA + bl sub_813CCC8 + b _08114FAC + .align 2, 0 +_08114F84: .4byte gUnknown_2021D18 +_08114F88: .4byte gUnknown_841AAAA +_08114F8C: + cmp r1, 0x1 + bne _08114FA4 + ldr r0, _08114F9C @ =gUnknown_2021D18 + ldr r1, _08114FA0 @ =gUnknown_841AAEC + bl sub_813CCC8 + b _08114FAC + .align 2, 0 +_08114F9C: .4byte gUnknown_2021D18 +_08114FA0: .4byte gUnknown_841AAEC +_08114FA4: + ldr r0, _08114FB4 @ =gUnknown_2021D18 + ldr r1, _08114FB8 @ =gUnknown_841AB29 + bl sub_813CCC8 +_08114FAC: + adds r0, r6, 0x4 +_08114FAE: + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08114FB4: .4byte gUnknown_2021D18 +_08114FB8: .4byte gUnknown_841AB29 + thumb_func_end sub_8114E68 + + thumb_func_start sub_8114FBC +sub_8114FBC: @ 8114FBC + push {lr} + lsls r0, 16 + lsrs r0, 16 + adds r1, r0, 0 + cmp r0, 0x96 + beq _08114FE6 + cmp r0, 0x96 + bgt _08114FD6 + cmp r0, 0x92 + bgt _08114FEA + cmp r0, 0x8F + blt _08114FEA + b _08114FE6 +_08114FD6: + cmp r1, 0xF9 + blt _08114FEA + cmp r1, 0xFA + ble _08114FE6 + movs r0, 0xCD + lsls r0, 1 + cmp r1, r0 + bne _08114FEA +_08114FE6: + movs r0, 0x1 + b _08114FEC +_08114FEA: + movs r0, 0 +_08114FEC: + pop {r1} + bx r1 + thumb_func_end sub_8114FBC + + thumb_func_start sub_8114FF0 +sub_8114FF0: @ 8114FF0 + push {lr} + adds r3, r0, 0 + adds r2, r1, 0 + ldr r1, _08115008 @ =gUnknown_203B048 + movs r0, 0x1 + strb r0, [r1] + movs r0, 0x20 + adds r1, r3, 0 + bl sub_8114D18 + pop {r1} + bx r1 + .align 2, 0 +_08115008: .4byte gUnknown_203B048 + thumb_func_end sub_8114FF0 + + thumb_func_start sub_811500C +sub_811500C: @ 811500C + push {r4,r5,lr} + adds r1, r0, 0 + movs r0, 0x20 + bl sub_8113E88 + adds r4, r0, 0 + adds r5, r4, 0x6 + bl sub_813CC90 + ldrh r0, [r4, 0x4] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _08115068 @ =gUnknown_823EACC + adds r1, r0 + movs r0, 0 + bl sub_813CCAC + ldrh r0, [r4] + movs r1, 0 + movs r2, 0x1 + bl sub_8113EAC + ldrh r0, [r4, 0x2] + movs r1, 0 + movs r2, 0x2 + bl sub_8113EAC + ldr r1, _0811506C @ =gUnknown_8456ACC + ldrb r0, [r5, 0x1] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + movs r0, 0x3 + bl sub_813CCAC + ldr r0, _08115070 @ =gUnknown_2021D18 + ldr r1, _08115074 @ =gUnknown_841AF3E + bl sub_813CCC8 + adds r4, 0x8 + adds r0, r4, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08115068: .4byte gUnknown_823EACC +_0811506C: .4byte gUnknown_8456ACC +_08115070: .4byte gUnknown_2021D18 +_08115074: .4byte gUnknown_841AF3E + thumb_func_end sub_811500C + + thumb_func_start sub_8115078 +sub_8115078: @ 8115078 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldr r0, _081150B4 @ =gUnknown_8456AA0 + adds r0, 0x21 + ldrb r1, [r0] + adds r0, r4, 0 + bl sub_8110944 + lsls r0, 24 + cmp r0, 0 + beq _081150C4 + ldr r1, _081150B8 @ =0x00002021 + adds r0, r1, 0 + strh r0, [r4] + ldr r0, _081150BC @ =gUnknown_203AF98 + ldrh r0, [r0] + strh r0, [r4, 0x2] + ldrh r0, [r5, 0x2] + strh r0, [r4, 0x4] + ldrh r0, [r5, 0x4] + strh r0, [r4, 0x6] + ldrb r0, [r5, 0x6] + strb r0, [r4, 0x8] + ldr r1, _081150C0 @ =gUnknown_203B048 + movs r0, 0x1 + strb r0, [r1] + adds r0, r4, 0 + adds r0, 0xA + b _081150C6 + .align 2, 0 +_081150B4: .4byte gUnknown_8456AA0 +_081150B8: .4byte 0x00002021 +_081150BC: .4byte gUnknown_203AF98 +_081150C0: .4byte gUnknown_203B048 +_081150C4: + movs r0, 0 +_081150C6: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8115078 + + thumb_func_start sub_81150CC +sub_81150CC: @ 81150CC + push {r4,r5,lr} + adds r4, r0, 0 + ldr r0, _081150E8 @ =gUnknown_8456AA0 + adds r0, 0x21 + ldrb r1, [r0] + adds r0, r4, 0 + bl sub_8110944 + lsls r0, 24 + cmp r0, 0 + bne _081150EC + movs r0, 0 + b _081151AE + .align 2, 0 +_081150E8: .4byte gUnknown_8456AA0 +_081150EC: + adds r5, r4, 0 + adds r5, 0x8 + bl sub_813CC90 + ldr r0, _08115108 @ =gUnknown_203B044 + ldrh r0, [r0, 0x2] + cmp r0, 0x1 + beq _08115148 + cmp r0, 0x1 + bgt _0811510C + cmp r0, 0 + beq _08115112 + b _081151AC + .align 2, 0 +_08115108: .4byte gUnknown_203B044 +_0811510C: + cmp r0, 0x2 + beq _08115194 + b _081151AC +_08115112: + ldr r0, _08115134 @ =gUnknown_300500C + ldr r1, [r0] + movs r0, 0 + bl sub_813CCAC + ldr r0, _08115138 @ =gUnknown_3005008 + ldr r1, [r0] + ldr r0, _0811513C @ =0x00003a4c + adds r1, r0 + movs r0, 0x1 + bl sub_813CCAC + ldr r0, _08115140 @ =gUnknown_2021D18 + ldr r1, _08115144 @ =gUnknown_841A2E1 + bl sub_813CCC8 + b _081151AC + .align 2, 0 +_08115134: .4byte gUnknown_300500C +_08115138: .4byte gUnknown_3005008 +_0811513C: .4byte 0x00003a4c +_08115140: .4byte gUnknown_2021D18 +_08115144: .4byte gUnknown_841A2E1 +_08115148: + ldr r0, _08115180 @ =gUnknown_3005008 + ldr r1, [r0] + ldr r0, _08115184 @ =0x00003a4c + adds r1, r0 + movs r0, 0 + bl sub_813CCAC + ldrh r0, [r4, 0x4] + movs r1, 0 + movs r2, 0x1 + bl sub_8113EAC + ldr r0, _08115188 @ =gUnknown_300500C + ldr r1, [r0] + movs r0, 0x2 + bl sub_813CCAC + ldrh r0, [r4, 0x6] + movs r1, 0 + movs r2, 0x3 + bl sub_8113EAC + ldr r0, _0811518C @ =gUnknown_2021D18 + ldr r1, _08115190 @ =gUnknown_841A312 + bl sub_813CCC8 + b _081151AC + .align 2, 0 +_08115180: .4byte gUnknown_3005008 +_08115184: .4byte 0x00003a4c +_08115188: .4byte gUnknown_300500C +_0811518C: .4byte gUnknown_2021D18 +_08115190: .4byte gUnknown_841A312 +_08115194: + ldr r1, _081151B4 @ =gUnknown_8456AD8 + ldrb r0, [r4, 0x8] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + movs r0, 0 + bl sub_813CCAC + ldr r0, _081151B8 @ =gUnknown_2021D18 + ldr r1, _081151BC @ =gUnknown_841A349 + bl sub_813CCC8 +_081151AC: + adds r0, r5, 0x2 +_081151AE: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_081151B4: .4byte gUnknown_8456AD8 +_081151B8: .4byte gUnknown_2021D18 +_081151BC: .4byte gUnknown_841A349 + thumb_func_end sub_81150CC + + thumb_func_start sub_81151C0 +sub_81151C0: @ 81151C0 + push {lr} + adds r3, r0, 0 + adds r2, r1, 0 + ldr r1, _081151D8 @ =gUnknown_203B048 + movs r0, 0x1 + strb r0, [r1] + movs r0, 0x22 + adds r1, r3, 0 + bl sub_8114D18 + pop {r1} + bx r1 + .align 2, 0 +_081151D8: .4byte gUnknown_203B048 + thumb_func_end sub_81151C0 + + thumb_func_start sub_81151DC +sub_81151DC: @ 81151DC + push {r4-r6,lr} + adds r1, r0, 0 + movs r0, 0x22 + bl sub_8113E88 + adds r5, r0, 0 + adds r6, r5, 0x6 + bl sub_813CC90 + ldr r4, _0811522C @ =gUnknown_2021CD0 + ldrb r1, [r5, 0x6] + adds r0, r4, 0 + bl sub_80C4DF8 + movs r0, 0 + adds r1, r4, 0 + bl sub_813CCAC + ldr r3, _08115230 @ =gUnknown_823EAC8 + ldrh r1, [r5, 0x4] + lsls r0, r1, 2 + adds r0, r1 + lsls r2, r0, 3 + adds r0, r2, r3 + ldrb r0, [r0, 0x1] + cmp r0, 0x51 + beq _0811521A + cmp r0, 0x59 + beq _0811521A + cmp r0, 0x5A + bne _08115234 +_0811521A: + movs r0, 0x6 + bl sub_80091E0 + adds r1, r0, 0 + movs r0, 0x1 + bl sub_813CCAC + b _0811523E + .align 2, 0 +_0811522C: .4byte gUnknown_2021CD0 +_08115230: .4byte gUnknown_823EAC8 +_08115234: + adds r1, r3, 0x4 + adds r1, r2, r1 + movs r0, 0x1 + bl sub_813CCAC +_0811523E: + ldrh r0, [r5] + movs r1, 0 + movs r2, 0x2 + bl sub_8113EAC + ldrh r0, [r5, 0x2] + movs r1, 0 + movs r2, 0x3 + bl sub_8113EAC + ldr r1, _08115274 @ =gUnknown_8456ACC + ldrb r0, [r6, 0x1] + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + movs r0, 0x4 + bl sub_813CCAC + ldr r0, _08115278 @ =gUnknown_2021D18 + ldr r1, _0811527C @ =gUnknown_841AF6D + bl sub_813CCC8 + adds r0, r6, 0x2 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08115274: .4byte gUnknown_8456ACC +_08115278: .4byte gUnknown_2021D18 +_0811527C: .4byte gUnknown_841AF6D + thumb_func_end sub_81151DC + + thumb_func_start sub_8115280 +sub_8115280: @ 8115280 + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x23 + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + bne _08115298 + movs r0, 0 + b _081152B0 +_08115298: + ldrb r0, [r4] + strb r0, [r2] + ldrb r0, [r4, 0x1] + strb r0, [r2, 0x1] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x24 + bne _081152AE + ldr r1, _081152B8 @ =gUnknown_203B048 + movs r0, 0x1 + strb r0, [r1] +_081152AE: + adds r0, r2, 0x2 +_081152B0: + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_081152B8: .4byte gUnknown_203B048 + thumb_func_end sub_8115280 + + thumb_func_start sub_81152BC +sub_81152BC: @ 81152BC + push {r4-r7,lr} + adds r1, r0, 0 + movs r0, 0x23 + bl sub_8113E88 + adds r5, r0, 0 + ldrb r6, [r5, 0x1] + ldr r0, _08115318 @ =gUnknown_2021CD0 + ldrb r1, [r5] + bl sub_80C4DF8 + ldr r0, _0811531C @ =gUnknown_2021CF0 + ldr r2, _08115320 @ =gUnknown_8456AF0 + lsls r1, r6, 2 + adds r1, r2 + ldr r1, [r1] + bl sub_8008D84 + ldr r0, _08115324 @ =gUnknown_8456BE4 + adds r1, r6, r0 + ldrb r0, [r1] + cmp r0, 0x5 + bne _08115378 + movs r4, 0 + ldr r2, _08115328 @ =gUnknown_8456C17 + adds r7, r5, 0x2 + ldrb r1, [r5] +_081152F2: + adds r0, r4, r2 + ldrb r0, [r0] + cmp r1, r0 + bne _08115334 + movs r1, 0x82 + lsls r1, 4 + adds r0, r4, r1 + bl sub_806E6D0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08115364 + ldr r0, _0811532C @ =gUnknown_2021D18 + ldr r1, _08115330 @ =gUnknown_841AE48 + bl sub_8008FCC + b _0811533E + .align 2, 0 +_08115318: .4byte gUnknown_2021CD0 +_0811531C: .4byte gUnknown_2021CF0 +_08115320: .4byte gUnknown_8456AF0 +_08115324: .4byte gUnknown_8456BE4 +_08115328: .4byte gUnknown_8456C17 +_0811532C: .4byte gUnknown_2021D18 +_08115330: .4byte gUnknown_841AE48 +_08115334: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x7 + bls _081152F2 +_0811533E: + cmp r4, 0x8 + bne _0811538A + ldr r0, _08115358 @ =gUnknown_2021D18 + ldr r2, _0811535C @ =gUnknown_8456BBC + ldr r1, _08115360 @ =gUnknown_8456BE4 + adds r1, r6, r1 + ldrb r1, [r1] + lsls r1, 2 + adds r1, r2 + ldr r1, [r1] + bl sub_8008FCC + b _0811538A + .align 2, 0 +_08115358: .4byte gUnknown_2021D18 +_0811535C: .4byte gUnknown_8456BBC +_08115360: .4byte gUnknown_8456BE4 +_08115364: + ldr r0, _08115370 @ =gUnknown_2021D18 + ldr r1, _08115374 @ =gUnknown_841AE8F + bl sub_8008FCC + b _0811533E + .align 2, 0 +_08115370: .4byte gUnknown_2021D18 +_08115374: .4byte gUnknown_841AE8F +_08115378: + ldr r0, _08115394 @ =gUnknown_2021D18 + ldr r2, _08115398 @ =gUnknown_8456BBC + ldrb r1, [r1] + lsls r1, 2 + adds r1, r2 + ldr r1, [r1] + bl sub_8008FCC + adds r7, r5, 0x2 +_0811538A: + adds r0, r7, 0 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08115394: .4byte gUnknown_2021D18 +_08115398: .4byte gUnknown_8456BBC + thumb_func_end sub_81152BC + + thumb_func_start sub_811539C +sub_811539C: @ 811539C + ldr r1, _081153A4 @ =gUnknown_203B04B + movs r0, 0x1 + strb r0, [r1] + bx lr + .align 2, 0 +_081153A4: .4byte gUnknown_203B04B + thumb_func_end sub_811539C + + thumb_func_start sub_81153A8 +sub_81153A8: @ 81153A8 + push {lr} + adds r2, r1, 0 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x23 + beq _081153C4 + ldr r1, _081153C0 @ =gUnknown_203B04A + movs r0, 0 + strb r0, [r1] + movs r0, 0x1 + b _081153DE + .align 2, 0 +_081153C0: .4byte gUnknown_203B04A +_081153C4: + ldr r3, _081153D8 @ =gUnknown_203B04A + ldrb r1, [r3] + ldrb r0, [r2, 0x1] + adds r0, 0x1 + cmp r1, r0 + beq _081153DC + strb r0, [r3] + movs r0, 0x1 + b _081153DE + .align 2, 0 +_081153D8: .4byte gUnknown_203B04A +_081153DC: + movs r0, 0 +_081153DE: + pop {r1} + bx r1 + thumb_func_end sub_81153A8 + + thumb_func_start sub_81153E4 +sub_81153E4: @ 81153E4 + push {lr} + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x23 + bne _08115408 + ldrb r0, [r1, 0x1] + ldr r1, _08115400 @ =gUnknown_203B04B + cmp r0, 0x20 + bne _08115404 + ldrb r0, [r1] + cmp r0, 0 + bne _08115404 + movs r0, 0 + b _0811540A + .align 2, 0 +_08115400: .4byte gUnknown_203B04B +_08115404: + movs r0, 0 + strb r0, [r1] +_08115408: + movs r0, 0x1 +_0811540A: + pop {r1} + bx r1 + thumb_func_end sub_81153E4 + + thumb_func_start sub_8115410 +sub_8115410: @ 8115410 + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x24 + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + bne _08115428 + movs r0, 0 + b _08115454 +_08115428: + ldrh r0, [r4] + strh r0, [r2] + adds r3, r2, 0x2 + ldrb r0, [r4, 0x2] + strb r0, [r2, 0x2] + ldrb r0, [r4, 0x3] + strb r0, [r3, 0x1] + ldrb r0, [r2, 0x2] + subs r0, 0x7 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bhi _0811544C + ldr r1, _08115448 @ =gUnknown_203B048 + movs r0, 0x2 + b _08115450 + .align 2, 0 +_08115448: .4byte gUnknown_203B048 +_0811544C: + ldr r1, _0811545C @ =gUnknown_203B048 + movs r0, 0x1 +_08115450: + strb r0, [r1] + adds r0, r3, 0x2 +_08115454: + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0811545C: .4byte gUnknown_203B048 + thumb_func_end sub_8115410 + + thumb_func_start sub_8115460 +sub_8115460: @ 8115460 + push {r4,r5,lr} + adds r1, r0, 0 + movs r0, 0x24 + bl sub_8113E88 + adds r4, r0, 0 + adds r5, r4, 0x2 + ldrh r0, [r4] + ldr r1, _0811549C @ =gUnknown_2021CD0 + movs r2, 0 + bl sub_8113EAC + ldrb r0, [r5, 0x1] + cmp r0, 0xFF + beq _08115486 + ldr r0, _081154A0 @ =gUnknown_2021CF0 + ldrb r1, [r5, 0x1] + bl sub_80C4DF8 +_08115486: + ldrb r0, [r4, 0x2] + cmp r0, 0x7 + bne _081154B4 + ldrb r0, [r5, 0x1] + cmp r0, 0x58 + bne _081154AC + ldr r0, _081154A4 @ =gUnknown_2021D04 + ldr r1, _081154A8 @ =gUnknown_841B09F + bl sub_8008D84 + b _081154B4 + .align 2, 0 +_0811549C: .4byte gUnknown_2021CD0 +_081154A0: .4byte gUnknown_2021CF0 +_081154A4: .4byte gUnknown_2021D04 +_081154A8: .4byte gUnknown_841B09F +_081154AC: + ldr r0, _081154CC @ =gUnknown_2021D04 + ldr r1, _081154D0 @ =gUnknown_8418C1B + bl sub_8008D84 +_081154B4: + ldr r0, _081154D4 @ =gUnknown_2021D18 + ldr r2, _081154D8 @ =gUnknown_8456C20 + ldrb r1, [r5] + lsls r1, 2 + adds r1, r2 + ldr r1, [r1] + bl sub_8008FCC + adds r0, r5, 0x2 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_081154CC: .4byte gUnknown_2021D04 +_081154D0: .4byte gUnknown_8418C1B +_081154D4: .4byte gUnknown_2021D18 +_081154D8: .4byte gUnknown_8456C20 + thumb_func_end sub_8115460 + + thumb_func_start sub_81154DC +sub_81154DC: @ 81154DC + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x25 + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + beq _0811550E + ldrh r0, [r4, 0x4] + strh r0, [r2] + ldrh r0, [r4, 0x6] + strh r0, [r2, 0x2] + ldr r1, [r4] + lsrs r0, r1, 16 + strh r0, [r2, 0x4] + strh r1, [r2, 0x6] + ldrb r0, [r4, 0x8] + strb r0, [r2, 0x8] + movs r0, 0x1 + strb r0, [r2, 0x9] + adds r0, r2, 0 + adds r0, 0xA + b _08115510 +_0811550E: + movs r0, 0 +_08115510: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81154DC + + thumb_func_start sub_8115518 +sub_8115518: @ 8115518 + push {r4-r7,lr} + adds r1, r0, 0 + movs r0, 0x25 + bl sub_8113E88 + adds r4, r0, 0 + adds r7, r4, 0 + adds r7, 0x8 + ldrh r0, [r4, 0x4] + lsls r0, 16 + ldrh r1, [r4, 0x6] + adds r6, r0, r1 + bl sub_813CC90 + ldr r5, _08115564 @ =gUnknown_2021CD0 + ldrb r1, [r4, 0x8] + adds r0, r5, 0 + bl sub_80C4DF8 + movs r0, 0 + adds r1, r5, 0 + bl sub_813CCAC + ldrh r0, [r4] + bl sub_809A8BC + adds r1, r0, 0 + movs r0, 0x1 + bl sub_813CCAC + ldrh r0, [r4, 0x2] + cmp r0, 0x1 + bhi _08115570 + ldr r0, _08115568 @ =gUnknown_2021D18 + ldr r1, _0811556C @ =gUnknown_841A7DD + bl sub_813CCC8 + b _0811558E + .align 2, 0 +_08115564: .4byte gUnknown_2021CD0 +_08115568: .4byte gUnknown_2021D18 +_0811556C: .4byte gUnknown_841A7DD +_08115570: + ldr r4, _08115598 @ =gUnknown_2021CF0 + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0 + movs r3, 0x6 + bl sub_8008E78 + movs r0, 0x2 + adds r1, r4, 0 + bl sub_813CCAC + ldr r0, _0811559C @ =gUnknown_2021D18 + ldr r1, _081155A0 @ =gUnknown_841A810 + bl sub_813CCC8 +_0811558E: + adds r0, r7, 0x2 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08115598: .4byte gUnknown_2021CF0 +_0811559C: .4byte gUnknown_2021D18 +_081155A0: .4byte gUnknown_841A810 + thumb_func_end sub_8115518 + + thumb_func_start sub_81155A4 +sub_81155A4: @ 81155A4 + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x26 + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + beq _081155D6 + ldrh r0, [r4, 0x4] + strh r0, [r2] + ldrh r0, [r4, 0x6] + strh r0, [r2, 0x2] + ldr r1, [r4] + lsrs r0, r1, 16 + strh r0, [r2, 0x4] + strh r1, [r2, 0x6] + ldrb r0, [r4, 0x8] + strb r0, [r2, 0x8] + ldrb r0, [r4, 0x9] + strb r0, [r2, 0x9] + adds r0, r2, 0 + adds r0, 0xA + b _081155D8 +_081155D6: + movs r0, 0 +_081155D8: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81155A4 + + thumb_func_start sub_81155E0 +sub_81155E0: @ 81155E0 + push {r4-r7,lr} + adds r1, r0, 0 + movs r0, 0x26 + bl sub_8113E88 + adds r5, r0, 0 + adds r7, r5, 0 + adds r7, 0x8 + ldrh r0, [r5, 0x4] + lsls r0, 16 + ldrh r1, [r5, 0x6] + adds r6, r0, r1 + bl sub_813CC90 + ldr r4, _0811563C @ =gUnknown_2021CD0 + ldrb r1, [r5, 0x8] + adds r0, r4, 0 + bl sub_80C4DF8 + ldrb r0, [r7, 0x1] + cmp r0, 0 + bne _08115690 + ldr r0, _08115640 @ =gUnknown_300500C + ldr r1, [r0] + movs r0, 0 + bl sub_813CCAC + movs r0, 0x1 + adds r1, r4, 0 + bl sub_813CCAC + ldrh r0, [r5] + bl sub_809A8BC + adds r1, r0, 0 + movs r0, 0x2 + bl sub_813CCAC + ldrh r0, [r5, 0x2] + cmp r0, 0x1 + bne _08115648 + ldr r1, _08115644 @ =gUnknown_841A8D4 + movs r0, 0x3 + bl sub_813CCAC + b _08115670 + .align 2, 0 +_0811563C: .4byte gUnknown_2021CD0 +_08115640: .4byte gUnknown_300500C +_08115644: .4byte gUnknown_841A8D4 +_08115648: + ldr r4, _0811567C @ =gUnknown_2021CF0 + ldrh r1, [r5, 0x2] + adds r0, r4, 0 + movs r2, 0 + movs r3, 0x3 + bl sub_8008E78 + movs r0, 0x4 + adds r1, r4, 0 + bl sub_813CCAC + ldr r4, _08115680 @ =gUnknown_2021D04 + ldr r1, _08115684 @ =gUnknown_841A8DD + adds r0, r4, 0 + bl sub_813CCC8 + movs r0, 0x3 + adds r1, r4, 0 + bl sub_813CCAC +_08115670: + ldr r0, _08115688 @ =gUnknown_2021D18 + ldr r1, _0811568C @ =gUnknown_841A858 + bl sub_813CCC8 + b _081156C4 + .align 2, 0 +_0811567C: .4byte gUnknown_2021CF0 +_08115680: .4byte gUnknown_2021D04 +_08115684: .4byte gUnknown_841A8DD +_08115688: .4byte gUnknown_2021D18 +_0811568C: .4byte gUnknown_841A858 +_08115690: + movs r0, 0 + adds r1, r4, 0 + bl sub_813CCAC + ldrh r0, [r5] + bl sub_809A8BC + adds r1, r0, 0 + movs r0, 0x1 + bl sub_813CCAC + ldr r4, _081156CC @ =gUnknown_2021CF0 + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0 + movs r3, 0x6 + bl sub_8008E78 + movs r0, 0x2 + adds r1, r4, 0 + bl sub_813CCAC + ldr r0, _081156D0 @ =gUnknown_2021D18 + ldr r1, _081156D4 @ =gUnknown_841A896 + bl sub_813CCC8 +_081156C4: + adds r0, r7, 0x2 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_081156CC: .4byte gUnknown_2021CF0 +_081156D0: .4byte gUnknown_2021D18 +_081156D4: .4byte gUnknown_841A896 + thumb_func_end sub_81155E0 + + thumb_func_start sub_81156D8 +sub_81156D8: @ 81156D8 + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x28 + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + beq _081156F8 + ldrh r0, [r4] + strh r0, [r2] + ldrb r0, [r4, 0x2] + strb r0, [r2, 0x2] + adds r0, r2, 0x4 + b _081156FA +_081156F8: + movs r0, 0 +_081156FA: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81156D8 + + thumb_func_start sub_8115700 +sub_8115700: @ 8115700 + push {r4-r6,lr} + adds r1, r0, 0 + movs r0, 0x28 + bl sub_8113E88 + adds r4, r0, 0 + adds r5, r4, 0x2 + ldr r0, _08115738 @ =gUnknown_2021CD0 + ldrb r1, [r4, 0x2] + bl sub_80C4DF8 + ldr r6, _0811573C @ =gUnknown_2021CF0 + ldrh r0, [r4] + bl sub_809A8BC + adds r1, r0, 0 + adds r0, r6, 0 + bl sub_8008D84 + ldr r0, _08115740 @ =gUnknown_2021D18 + ldr r1, _08115744 @ =gUnknown_841B03F + bl sub_8008FCC + adds r5, 0x2 + adds r0, r5, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08115738: .4byte gUnknown_2021CD0 +_0811573C: .4byte gUnknown_2021CF0 +_08115740: .4byte gUnknown_2021D18 +_08115744: .4byte gUnknown_841B03F + thumb_func_end sub_8115700 + + thumb_func_start sub_8115748 +sub_8115748: @ 8115748 + push {r4,lr} + lsls r0, 16 + lsrs r2, r0, 16 + ldr r0, _08115764 @ =gUnknown_203ADFA + ldrb r0, [r0] + subs r0, 0x2 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bls _08115792 + movs r1, 0 + ldr r4, _08115768 @ =gUnknown_203B049 + ldr r0, _0811576C @ =gUnknown_8456C50 + b _08115778 + .align 2, 0 +_08115764: .4byte gUnknown_203ADFA +_08115768: .4byte gUnknown_203B049 +_0811576C: .4byte gUnknown_8456C50 +_08115770: + movs r0, 0 + b _08115790 +_08115774: + adds r0, 0x2 + adds r1, 0x1 +_08115778: + cmp r1, 0x10 + bgt _08115792 + ldrh r3, [r0] + cmp r2, r3 + bne _08115774 + adds r0, r2, 0 + bl sub_806E6D0 + lsls r0, 24 + cmp r0, 0 + bne _08115770 + movs r0, 0x1 +_08115790: + strb r0, [r4] +_08115792: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8115748 + + thumb_func_start sub_8115798 +sub_8115798: @ 8115798 + push {r4,lr} + sub sp, 0x4 + ldr r0, _081157D0 @ =gUnknown_203ADFA + ldrb r0, [r0] + subs r0, 0x2 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bls _081157C6 + ldr r4, _081157D4 @ =gUnknown_203B049 + ldrb r0, [r4] + cmp r0, 0 + beq _081157C6 + ldr r0, _081157D8 @ =gUnknown_2036DFC + ldrb r1, [r0, 0x14] + mov r0, sp + strh r1, [r0] + movs r0, 0x2A + mov r1, sp + bl sub_8113550 + movs r0, 0 + strb r0, [r4] +_081157C6: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_081157D0: .4byte gUnknown_203ADFA +_081157D4: .4byte gUnknown_203B049 +_081157D8: .4byte gUnknown_2036DFC + thumb_func_end sub_8115798 + + thumb_func_start sub_81157DC +sub_81157DC: @ 81157DC + push {r4,lr} + adds r2, r0, 0 + adds r4, r1, 0 + movs r0, 0x2A + adds r1, r2, 0 + bl sub_8113DE0 + adds r2, r0, 0 + cmp r2, 0 + beq _081157F8 + ldrh r0, [r4] + strh r0, [r2] + adds r0, r2, 0x2 + b _081157FA +_081157F8: + movs r0, 0 +_081157FA: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81157DC + + thumb_func_start sub_8115800 +sub_8115800: @ 8115800 + push {r4,lr} + adds r1, r0, 0 + movs r0, 0x2A + bl sub_8113E88 + adds r4, r0, 0 + ldr r0, _08115828 @ =gUnknown_2021CD0 + ldrb r1, [r4] + bl sub_80C4DF8 + ldr r0, _0811582C @ =gUnknown_2021D18 + ldr r1, _08115830 @ =gUnknown_841B064 + bl sub_8008FCC + adds r4, 0x2 + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08115828: .4byte gUnknown_2021CD0 +_0811582C: .4byte gUnknown_2021D18 +_08115830: .4byte gUnknown_841B064 + thumb_func_end sub_8115800 + + thumb_func_start sub_8115834 +sub_8115834: @ 8115834 + push {lr} + adds r1, r0, 0 + ldrb r0, [r1] + adds r1, 0x1 + cmp r0, 0xFC + bne _08115868 + ldrb r0, [r1] + adds r1, 0x1 + cmp r0, 0x15 + bne _08115868 + movs r2, 0 + b _08115854 +_0811584C: + adds r1, 0x1 + adds r2, 0x1 + cmp r2, 0x4 + bgt _0811585A +_08115854: + ldrb r0, [r1] + cmp r0, 0xFC + bne _0811584C +_0811585A: + movs r0, 0xFC + strb r0, [r1] + adds r1, 0x1 + movs r0, 0x16 + strb r0, [r1] + movs r0, 0xFF + strb r0, [r1, 0x1] +_08115868: + pop {r0} + bx r0 + thumb_func_end sub_8115834 + + .align 2, 0 @ Don't pad with nop. |