diff options
author | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-16 23:54:22 -0800 |
---|---|---|
committer | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-16 23:54:22 -0800 |
commit | 670fef77ac4d9116d5fdc28c0da40622919a062b (patch) | |
tree | 61c0e925f059404473826ac775305ba5e2706ab1 /asm/battle_gfx_sfx_util.s |
first commit
Diffstat (limited to 'asm/battle_gfx_sfx_util.s')
-rw-r--r-- | asm/battle_gfx_sfx_util.s | 3606 |
1 files changed, 3606 insertions, 0 deletions
diff --git a/asm/battle_gfx_sfx_util.s b/asm/battle_gfx_sfx_util.s new file mode 100644 index 000000000..6c2a427ae --- /dev/null +++ b/asm/battle_gfx_sfx_util.s @@ -0,0 +1,3606 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_8033DB8 +sub_8033DB8: @ 8033DB8 + push {r4,lr} + ldr r4, _08033DF4 @ =gUnknown_2024018 + movs r0, 0x10 + bl sub_8002BB0 + str r0, [r4] + movs r0, 0x10 + bl sub_8002BB0 + ldr r1, [r4] + str r0, [r1] + movs r0, 0x30 + bl sub_8002BB0 + ldr r1, [r4] + str r0, [r1, 0x4] + movs r0, 0x10 + bl sub_8002BB0 + ldr r1, [r4] + str r0, [r1, 0x8] + movs r0, 0x50 + bl sub_8002BB0 + ldr r1, [r4] + str r0, [r1, 0xC] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08033DF4: .4byte gUnknown_2024018 + thumb_func_end sub_8033DB8 + + thumb_func_start sub_8033DF8 +sub_8033DF8: @ 8033DF8 + push {r4,r5,lr} + ldr r5, _08033E38 @ =gUnknown_2024018 + ldr r0, [r5] + cmp r0, 0 + beq _08033E32 + ldr r0, [r0, 0xC] + bl sub_8002BC4 + ldr r0, [r5] + movs r4, 0 + str r4, [r0, 0xC] + ldr r0, [r0, 0x8] + bl sub_8002BC4 + ldr r0, [r5] + str r4, [r0, 0x8] + ldr r0, [r0, 0x4] + bl sub_8002BC4 + ldr r0, [r5] + str r4, [r0, 0x4] + ldr r0, [r0] + bl sub_8002BC4 + ldr r0, [r5] + str r4, [r0] + bl sub_8002BC4 + str r4, [r5] +_08033E32: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08033E38: .4byte gUnknown_2024018 + thumb_func_end sub_8033DF8 + + thumb_func_start sub_8033E3C +sub_8033E3C: @ 8033E3C + push {r4-r7,lr} + adds r6, r0, 0 + ldrh r0, [r6, 0x30] + lsls r0, 24 + lsrs r0, 24 + ldr r7, _08033E80 @ =gUnknown_202063C + lsls r1, r0, 4 + adds r1, r0 + lsls r5, r1, 2 + adds r3, r5, r7 + adds r0, r3, 0 + adds r0, 0x3F + ldrb r4, [r0] + lsls r0, r4, 26 + cmp r0, 0 + bge _08033EA0 + adds r0, r3, 0 + adds r0, 0x3E + ldrb r0, [r0] + lsls r0, 29 + cmp r0, 0 + blt _08033EA0 + adds r1, r3, 0 + adds r1, 0x2C + ldrb r2, [r1] + lsls r0, r2, 25 + cmp r0, 0 + bge _08033E84 + movs r0, 0x41 + negs r0, r0 + ands r0, r2 + strb r0, [r1] + b _08033EA0 + .align 2, 0 +_08033E80: .4byte gUnknown_202063C +_08033E84: + lsls r0, r4, 27 + cmp r0, 0 + bge _08033EA0 + adds r0, r7, 0 + adds r0, 0x1C + adds r0, r5, r0 + ldr r1, _08033EA8 @ =sub_8012100 + str r1, [r0] + adds r0, r3, 0 + movs r1, 0 + bl sub_800843C + ldr r0, _08033EAC @ =nullsub_8 + str r0, [r6, 0x1C] +_08033EA0: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08033EA8: .4byte sub_8012100 +_08033EAC: .4byte nullsub_8 + thumb_func_end sub_8033E3C + + thumb_func_start sub_8033EB0 +sub_8033EB0: @ 8033EB0 + push {r4,lr} + adds r4, r0, 0 + lsls r1, 24 + adds r3, r4, 0 + adds r3, 0x2C + ldrb r0, [r3] + movs r2, 0x40 + orrs r0, r2 + strb r0, [r3] + ldr r0, _08033ED4 @ =nullsub_8 + str r0, [r4, 0x1C] + cmp r1, 0 + bne _08033ED8 + adds r0, r4, 0 + movs r1, 0x1 + bl sub_800843C + b _08033EE0 + .align 2, 0 +_08033ED4: .4byte nullsub_8 +_08033ED8: + adds r0, r4, 0 + movs r1, 0x1 + bl sub_800843C +_08033EE0: + adds r0, r4, 0 + bl sub_8007824 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8033EB0 + + thumb_func_start sub_8033EEC +sub_8033EEC: @ 8033EEC + push {lr} + adds r2, r0, 0 + ldr r0, _08033F14 @ =gUnknown_2023F4C + ldrh r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _08033F0E + ldrh r0, [r2, 0x2E] + ldrh r1, [r2, 0x24] + adds r0, r1 + strh r0, [r2, 0x24] + lsls r0, 16 + cmp r0, 0 + bne _08033F0E + ldr r0, _08033F18 @ =nullsub_8 + str r0, [r2, 0x1C] +_08033F0E: + pop {r0} + bx r0 + .align 2, 0 +_08033F14: .4byte gUnknown_2023F4C +_08033F18: .4byte nullsub_8 + thumb_func_end sub_8033EEC + + thumb_func_start sub_8033F1C +sub_8033F1C: @ 8033F1C + push {r4-r6,lr} + adds r4, r1, 0 + lsls r0, 24 + ldr r6, _08033F50 @ =gUnknown_2024018 + ldr r1, [r6] + ldr r5, _08033F54 @ =gUnknown_2023BC4 + ldrb r2, [r5] + ldr r3, [r1, 0x4] + lsls r1, r2, 1 + adds r1, r2 + lsls r1, 2 + adds r1, r3 + ldrb r2, [r1] + movs r3, 0x10 + orrs r2, r3 + strb r2, [r1] + cmp r0, 0 + bne _08033F9C + cmp r4, 0x20 + bne _08033F58 + ldrb r0, [r5] + movs r1, 0x6 + bl sub_807886C + b _08034016 + .align 2, 0 +_08033F50: .4byte gUnknown_2024018 +_08033F54: .4byte gUnknown_2023BC4 +_08033F58: + cmp r4, 0x8 + beq _08033F64 + movs r0, 0x80 + ands r0, r4 + cmp r0, 0 + beq _08033F6E +_08033F64: + ldrb r0, [r5] + movs r1, 0 + bl sub_807886C + b _08034016 +_08033F6E: + cmp r4, 0x10 + bne _08033F7C + ldrb r0, [r5] + movs r1, 0x2 + bl sub_807886C + b _08034016 +_08033F7C: + movs r0, 0x7 + ands r0, r4 + cmp r0, 0 + beq _08033F8E + ldrb r0, [r5] + movs r1, 0x4 + bl sub_807886C + b _08034016 +_08033F8E: + cmp r4, 0x40 + bne _08033FFE + ldrb r0, [r5] + movs r1, 0x5 + bl sub_807886C + b _08034016 +_08033F9C: + movs r0, 0xF0 + lsls r0, 12 + ands r0, r4 + cmp r0, 0 + beq _08033FB0 + ldrb r0, [r5] + movs r1, 0x3 + bl sub_807886C + b _08034016 +_08033FB0: + movs r0, 0x7 + ands r0, r4 + cmp r0, 0 + beq _08033FC2 + ldrb r0, [r5] + movs r1, 0x1 + bl sub_807886C + b _08034016 +_08033FC2: + movs r0, 0x80 + lsls r0, 21 + ands r0, r4 + cmp r0, 0 + beq _08033FD6 + ldrb r0, [r5] + movs r1, 0x7 + bl sub_807886C + b _08034016 +_08033FD6: + movs r0, 0x80 + lsls r0, 20 + ands r0, r4 + cmp r0, 0 + beq _08033FEA + ldrb r0, [r5] + movs r1, 0x8 + bl sub_807886C + b _08034016 +_08033FEA: + movs r0, 0xE0 + lsls r0, 8 + ands r0, r4 + cmp r0, 0 + beq _08033FFE + ldrb r0, [r5] + movs r1, 0x9 + bl sub_807886C + b _08034016 +_08033FFE: + ldr r0, [r6] + ldrb r2, [r5] + ldr r0, [r0, 0x4] + lsls r1, r2, 1 + adds r1, r2 + lsls r1, 2 + adds r1, r0 + ldrb r2, [r1] + movs r0, 0x11 + negs r0, r0 + ands r0, r2 + strb r0, [r1] +_08034016: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8033F1C + + thumb_func_start sub_803401C +sub_803401C: @ 803401C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + ldr r4, [sp, 0x24] + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 24 + lsrs r1, 24 + mov r10, r1 + lsls r2, 24 + lsrs r2, 24 + str r2, [sp] + lsls r3, 24 + lsrs r5, r3, 24 + lsls r4, 16 + lsrs r7, r4, 16 + cmp r5, 0 + bne _08034064 + movs r0, 0x80 + ands r0, r7 + cmp r0, 0 + beq _08034064 + ldr r0, _08034060 @ =gUnknown_2024024 + adds r0, r6, r0 + movs r2, 0x7F + adds r1, r7, 0 + ands r1, r2 + strb r1, [r0] + movs r0, 0x1 + b _08034132 + .align 2, 0 +_08034060: .4byte gUnknown_2024024 +_08034064: + ldr r0, _08034090 @ =gUnknown_2024018 + mov r9, r0 + ldr r0, [r0] + ldr r0, [r0] + lsls r4, r6, 2 + adds r0, r4, r0 + ldrb r1, [r0] + movs r2, 0x4 + mov r8, r2 + mov r0, r8 + ands r0, r1 + cmp r0, 0 + beq _080340E0 + adds r0, r5, 0 + bl sub_80341B4 + lsls r0, 24 + cmp r0, 0 + bne _08034094 + movs r0, 0x1 + b _08034132 + .align 2, 0 +_08034090: .4byte gUnknown_2024018 +_08034094: + mov r1, r9 + ldr r0, [r1] + ldr r0, [r0] + adds r0, r4, r0 + ldrb r1, [r0] + mov r0, r8 + ands r0, r1 + cmp r0, 0 + beq _080340E0 + cmp r5, 0x2 + bne _080340E0 + ldr r1, _080340D8 @ =gUnknown_202063C + ldr r0, _080340DC @ =gUnknown_2023D44 + adds r0, r6, r0 + ldrb r2, [r0] + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + adds r0, 0x3E + ldrb r0, [r0] + lsls r0, 29 + cmp r0, 0 + bge _080340E0 + adds r0, r6, 0 + movs r1, 0x1 + bl sub_80351A8 + adds r0, r6, 0 + bl sub_8035228 + movs r0, 0x1 + b _08034132 + .align 2, 0 +_080340D8: .4byte gUnknown_202063C +_080340DC: .4byte gUnknown_2023D44 +_080340E0: + ldr r0, _08034144 @ =gUnknown_2037F1A + mov r2, r10 + strb r2, [r0] + ldr r0, _08034148 @ =gUnknown_2037F1B + mov r1, sp + ldrb r1, [r1] + strb r1, [r0] + ldr r4, _0803414C @ =gUnknown_2024018 + ldr r0, [r4] + ldr r0, [r0, 0x8] + strh r7, [r0] + ldr r0, _08034150 @ =gUnknown_81C6EA8 + adds r1, r5, 0 + movs r2, 0 + bl sub_80725D4 + ldr r0, _08034154 @ =sub_803415C + movs r1, 0xA + bl sub_807741C + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08034158 @ =gUnknown_3005090 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r6, [r1, 0x8] + ldr r0, [r4] + movs r2, 0x8 + ldrsh r1, [r1, r2] + ldr r2, [r0, 0x4] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r1, [r0] + movs r2, 0x20 + orrs r1, r2 + strb r1, [r0] + movs r0, 0 +_08034132: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08034144: .4byte gUnknown_2037F1A +_08034148: .4byte gUnknown_2037F1B +_0803414C: .4byte gUnknown_2024018 +_08034150: .4byte gUnknown_81C6EA8 +_08034154: .4byte sub_803415C +_08034158: .4byte gUnknown_3005090 + thumb_func_end sub_803401C + + thumb_func_start sub_803415C +sub_803415C: @ 803415C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _080341A4 @ =gUnknown_2037EDC + ldr r0, [r0] + bl _call_via_r0 + ldr r0, _080341A8 @ =gUnknown_2037EE1 + ldrb r0, [r0] + cmp r0, 0 + bne _0803419E + ldr r0, _080341AC @ =gUnknown_2024018 + ldr r2, [r0] + ldr r1, _080341B0 @ =gUnknown_3005090 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0x8 + ldrsh r0, [r0, r1] + ldr r2, [r2, 0x4] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrb r2, [r1] + movs r0, 0x21 + negs r0, r0 + ands r0, r2 + strb r0, [r1] + adds r0, r4, 0 + bl sub_8077508 +_0803419E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080341A4: .4byte gUnknown_2037EDC +_080341A8: .4byte gUnknown_2037EE1 +_080341AC: .4byte gUnknown_2024018 +_080341B0: .4byte gUnknown_3005090 + thumb_func_end sub_803415C + + thumb_func_start sub_80341B4 +sub_80341B4: @ 80341B4 + push {lr} + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xD + bgt _080341C8 + cmp r0, 0xA + bge _080341CC + cmp r0, 0x2 + beq _080341CC + b _080341D0 +_080341C8: + cmp r0, 0x11 + bne _080341D0 +_080341CC: + movs r0, 0x1 + b _080341D2 +_080341D0: + movs r0, 0 +_080341D2: + pop {r1} + bx r1 + thumb_func_end sub_80341B4 + + thumb_func_start sub_80341D8 +sub_80341D8: @ 80341D8 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + lsls r3, 24 + lsrs r3, 24 + ldr r0, _08034230 @ =gUnknown_2037F1A + strb r1, [r0] + ldr r0, _08034234 @ =gUnknown_2037F1B + strb r2, [r0] + ldr r0, _08034238 @ =gUnknown_81C6F18 + adds r1, r3, 0 + movs r2, 0 + bl sub_80725D4 + ldr r0, _0803423C @ =sub_8034248 + movs r1, 0xA + bl sub_807741C + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08034240 @ =gUnknown_3005090 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r4, [r1, 0x8] + ldr r0, _08034244 @ =gUnknown_2024018 + ldr r0, [r0] + movs r2, 0x8 + ldrsh r1, [r1, r2] + ldr r2, [r0, 0x4] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r1, [r0] + movs r2, 0x40 + orrs r1, r2 + strb r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08034230: .4byte gUnknown_2037F1A +_08034234: .4byte gUnknown_2037F1B +_08034238: .4byte gUnknown_81C6F18 +_0803423C: .4byte sub_8034248 +_08034240: .4byte gUnknown_3005090 +_08034244: .4byte gUnknown_2024018 + thumb_func_end sub_80341D8 + + thumb_func_start sub_8034248 +sub_8034248: @ 8034248 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08034290 @ =gUnknown_2037EDC + ldr r0, [r0] + bl _call_via_r0 + ldr r0, _08034294 @ =gUnknown_2037EE1 + ldrb r0, [r0] + cmp r0, 0 + bne _0803428A + ldr r0, _08034298 @ =gUnknown_2024018 + ldr r2, [r0] + ldr r1, _0803429C @ =gUnknown_3005090 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0x8 + ldrsh r0, [r0, r1] + ldr r2, [r2, 0x4] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrb r2, [r1] + movs r0, 0x41 + negs r0, r0 + ands r0, r2 + strb r0, [r1] + adds r0, r4, 0 + bl sub_8077508 +_0803428A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08034290: .4byte gUnknown_2037EDC +_08034294: .4byte gUnknown_2037EE1 +_08034298: .4byte gUnknown_2024018 +_0803429C: .4byte gUnknown_3005090 + thumb_func_end sub_8034248 + + thumb_func_start sub_80342A0 +sub_80342A0: @ 80342A0 + movs r0, 0 + bx lr + thumb_func_end sub_80342A0 + + thumb_func_start sub_80342A4 +sub_80342A4: @ 80342A4 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r5, 0 + bl sub_80723E0 + lsls r0, 24 + cmp r0, 0 + beq _080342EC + ldr r2, _080342F4 @ =gUnknown_2024018 + ldr r0, [r2] + ldr r1, [r0, 0x4] + lsls r0, r4, 1 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x8] + adds r1, 0x1 + strb r1, [r0, 0x8] + ldr r2, [r2] + ldr r0, _080342F8 @ =gUnknown_2023BC4 + ldrb r1, [r0] + ldr r2, [r2, 0x4] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x8] + cmp r0, 0x1D + bls _080342F0 + ldr r0, _080342FC @ =gMPlay_SE1 + bl m4aMPlayStop + ldr r0, _08034300 @ =gMPlay_SE2 + bl m4aMPlayStop +_080342EC: + cmp r5, 0 + beq _08034304 +_080342F0: + movs r0, 0x1 + b _08034316 + .align 2, 0 +_080342F4: .4byte gUnknown_2024018 +_080342F8: .4byte gUnknown_2023BC4 +_080342FC: .4byte gMPlay_SE1 +_08034300: .4byte gMPlay_SE2 +_08034304: + ldr r0, _0803431C @ =gUnknown_2024018 + ldr r0, [r0] + ldr r1, [r0, 0x4] + lsls r0, r4, 1 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + strb r5, [r0, 0x8] + movs r0, 0 +_08034316: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0803431C: .4byte gUnknown_2024018 + thumb_func_end sub_80342A4 + + thumb_func_start sub_8034320 +sub_8034320: @ 8034320 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + adds r4, r0, 0 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + movs r1, 0 + bl sub_803FBE8 + str r0, [sp] + ldr r0, _08034360 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0] + mov r2, r8 + lsls r1, r2, 2 + adds r2, r1, r0 + ldrh r0, [r2, 0x2] + cmp r0, 0 + bne _08034364 + adds r0, r4, 0 + movs r1, 0xB + bl sub_803FBE8 + lsls r0, 16 + lsrs r5, r0, 16 + ldr r6, [sp] + b _0803436C + .align 2, 0 +_08034360: .4byte gUnknown_2024018 +_08034364: + ldrh r5, [r2, 0x2] + ldr r0, _080343C0 @ =gUnknown_2024008 + adds r0, r1, r0 + ldr r6, [r0] +_0803436C: + adds r0, r4, 0 + movs r1, 0x1 + bl sub_803FBE8 + mov r10, r0 + mov r0, r8 + bl sub_80751D8 + lsls r0, 24 + lsls r2, r5, 3 + ldr r1, _080343C4 @ =gUnknown_82350AC + adds r2, r1 + ldr r1, _080343C8 @ =gUnknown_202401C + ldr r1, [r1] + lsrs r0, 22 + adds r1, 0x4 + adds r1, r0 + ldr r1, [r1] + adds r0, r2, 0 + adds r2, r5, 0 + adds r3, r6, 0 + bl sub_800F108 + mov r3, r8 + lsls r2, r3, 4 + movs r0, 0x80 + lsls r0, 1 + adds r7, r2, r0 + ldr r0, _080343CC @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0] + lsls r1, r3, 2 + adds r0, r1, r0 + ldrh r0, [r0, 0x2] + str r1, [sp, 0x4] + mov r9, r2 + cmp r0, 0 + bne _080343D0 + adds r0, r4, 0 + bl sub_80440BC + b _080343DA + .align 2, 0 +_080343C0: .4byte gUnknown_2024008 +_080343C4: .4byte gUnknown_82350AC +_080343C8: .4byte gUnknown_202401C +_080343CC: .4byte gUnknown_2024018 +_080343D0: + adds r0, r5, 0 + mov r1, r10 + ldr r2, [sp] + bl sub_80440F4 +_080343DA: + adds r6, r0, 0 + movs r0, 0x80 + lsls r0, 3 + bl sub_8002BB0 + adds r4, r0, 0 + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_800EBB4 + adds r0, r4, 0 + adds r1, r7, 0 + movs r2, 0x20 + bl sub_80703EC + mov r1, r9 + adds r1, 0x80 + adds r0, r4, 0 + movs r2, 0x20 + bl sub_80703EC + adds r0, r4, 0 + bl sub_8002BC4 + ldr r0, _08034478 @ =0x00000181 + cmp r5, r0 + bne _0803443C + movs r7, 0x80 + lsls r7, 1 + add r7, r9 + ldr r5, _0803447C @ =gUnknown_2023FE8 + ldr r1, [r5] + movs r4, 0x80 + lsls r4, 1 + adds r1, r4 + adds r0, r6, 0 + bl sub_800EBB4 + ldr r0, _08034480 @ =gUnknown_2024024 + add r0, r8 + ldrb r1, [r0] + lsls r1, 5 + adds r1, r4 + ldr r0, [r5] + adds r0, r1 + adds r1, r7, 0 + movs r2, 0x20 + bl sub_80703EC +_0803443C: + ldr r0, _08034484 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0] + ldr r1, [sp, 0x4] + adds r0, r1, r0 + ldrh r0, [r0, 0x2] + cmp r0, 0 + beq _08034468 + ldr r3, _08034488 @ =0x00007fff + adds r0, r7, 0 + movs r1, 0x10 + movs r2, 0x6 + bl sub_8045274 + lsls r1, r7, 1 + ldr r0, _0803448C @ =gUnknown_20375F8 + adds r0, r1, r0 + ldr r2, _08034490 @ =gUnknown_20371F8 + adds r1, r2 + ldr r2, _08034494 @ =0x04000008 + bl CpuSet +_08034468: + 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 +_08034478: .4byte 0x00000181 +_0803447C: .4byte gUnknown_2023FE8 +_08034480: .4byte gUnknown_2024024 +_08034484: .4byte gUnknown_2024018 +_08034488: .4byte 0x00007fff +_0803448C: .4byte gUnknown_20375F8 +_08034490: .4byte gUnknown_20371F8 +_08034494: .4byte 0x04000008 + thumb_func_end sub_8034320 + + thumb_func_start sub_8034498 +sub_8034498: @ 8034498 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + adds r6, r0, 0 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + movs r1, 0 + bl sub_803FBE8 + str r0, [sp] + ldr r0, _080344D8 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0] + mov r2, r8 + lsls r1, r2, 2 + adds r2, r1, r0 + ldrh r0, [r2, 0x2] + cmp r0, 0 + bne _080344DC + adds r0, r6, 0 + movs r1, 0xB + bl sub_803FBE8 + lsls r0, 16 + lsrs r5, r0, 16 + ldr r4, [sp] + b _080344E4 + .align 2, 0 +_080344D8: .4byte gUnknown_2024018 +_080344DC: + ldrh r5, [r2, 0x2] + ldr r0, _08034538 @ =gUnknown_2024008 + adds r0, r1, r0 + ldr r4, [r0] +_080344E4: + adds r0, r6, 0 + movs r1, 0x1 + bl sub_803FBE8 + str r0, [sp, 0x4] + mov r0, r8 + bl sub_80751D8 + lsls r0, 24 + lsrs r7, r0, 24 + movs r0, 0x1 + mov r1, r8 + bl sub_804455C + lsls r0, 24 + lsrs r0, 24 + mov r1, r8 + lsls r1, 2 + mov r10, r1 + cmp r0, 0x1 + beq _0803451C + ldr r0, _0803453C @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0] + add r0, r10 + ldrh r0, [r0, 0x2] + cmp r0, 0 + beq _08034548 +_0803451C: + lsls r0, r5, 3 + ldr r1, _08034540 @ =gUnknown_823654C + adds r0, r1 + ldr r1, _08034544 @ =gUnknown_202401C + ldr r1, [r1] + lsls r2, r7, 2 + adds r1, 0x4 + adds r1, r2 + ldr r1, [r1] + adds r2, r5, 0 + adds r3, r4, 0 + bl sub_800F108 + b _08034562 + .align 2, 0 +_08034538: .4byte gUnknown_2024008 +_0803453C: .4byte gUnknown_2024018 +_08034540: .4byte gUnknown_823654C +_08034544: .4byte gUnknown_202401C +_08034548: + lsls r0, r5, 3 + ldr r1, _08034584 @ =gUnknown_823654C + adds r0, r1 + ldr r1, _08034588 @ =gUnknown_202401C + ldr r1, [r1] + lsls r2, r7, 2 + adds r1, 0x4 + adds r1, r2 + ldr r1, [r1] + adds r2, r5, 0 + adds r3, r4, 0 + bl sub_800ECC4 +_08034562: + mov r2, r8 + lsls r1, r2, 4 + movs r0, 0x80 + lsls r0, 1 + adds r7, r1, r0 + ldr r0, _0803458C @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0] + add r0, r10 + ldrh r0, [r0, 0x2] + mov r9, r1 + cmp r0, 0 + bne _08034590 + adds r0, r6, 0 + bl sub_80440BC + b _0803459A + .align 2, 0 +_08034584: .4byte gUnknown_823654C +_08034588: .4byte gUnknown_202401C +_0803458C: .4byte gUnknown_2024018 +_08034590: + adds r0, r5, 0 + ldr r1, [sp, 0x4] + ldr r2, [sp] + bl sub_80440F4 +_0803459A: + adds r6, r0, 0 + movs r0, 0x80 + lsls r0, 3 + bl sub_8002BB0 + adds r4, r0, 0 + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_800EBB4 + adds r0, r4, 0 + adds r1, r7, 0 + movs r2, 0x20 + bl sub_80703EC + mov r1, r9 + adds r1, 0x80 + adds r0, r4, 0 + movs r2, 0x20 + bl sub_80703EC + adds r0, r4, 0 + bl sub_8002BC4 + ldr r0, _08034638 @ =0x00000181 + cmp r5, r0 + bne _080345FC + movs r7, 0x80 + lsls r7, 1 + add r7, r9 + ldr r5, _0803463C @ =gUnknown_2023FE8 + ldr r1, [r5] + movs r4, 0x80 + lsls r4, 1 + adds r1, r4 + adds r0, r6, 0 + bl sub_800EBB4 + ldr r0, _08034640 @ =gUnknown_2024024 + add r0, r8 + ldrb r1, [r0] + lsls r1, 5 + adds r1, r4 + ldr r0, [r5] + adds r0, r1 + adds r1, r7, 0 + movs r2, 0x20 + bl sub_80703EC +_080345FC: + ldr r0, _08034644 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0] + add r0, r10 + ldrh r0, [r0, 0x2] + cmp r0, 0 + beq _08034626 + ldr r3, _08034648 @ =0x00007fff + adds r0, r7, 0 + movs r1, 0x10 + movs r2, 0x6 + bl sub_8045274 + lsls r1, r7, 1 + ldr r0, _0803464C @ =gUnknown_20375F8 + adds r0, r1, r0 + ldr r2, _08034650 @ =gUnknown_20371F8 + adds r1, r2 + ldr r2, _08034654 @ =0x04000008 + bl CpuSet +_08034626: + 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 +_08034638: .4byte 0x00000181 +_0803463C: .4byte gUnknown_2023FE8 +_08034640: .4byte gUnknown_2024024 +_08034644: .4byte gUnknown_2024018 +_08034648: .4byte 0x00007fff +_0803464C: .4byte gUnknown_20375F8 +_08034650: .4byte gUnknown_20371F8 +_08034654: .4byte 0x04000008 + thumb_func_end sub_8034498 + + thumb_func_start sub_8034658 +sub_8034658: @ 8034658 + push {r4-r6,lr} + lsls r4, r1, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl sub_80751D8 + lsls r0, 24 + ldr r2, _080346B8 @ =gUnknown_8E93B38 + ldr r1, _080346BC @ =gUnknown_202401C + ldr r1, [r1] + lsrs r0, 22 + adds r1, 0x4 + adds r1, r0 + ldr r1, [r1] + adds r0, r2, 0 + bl LZ77UnCompWram + lsls r4, 4 + movs r0, 0x80 + lsls r0, 1 + adds r6, r4, r0 + movs r0, 0x80 + lsls r0, 3 + bl sub_8002BB0 + adds r5, r0, 0 + ldr r0, _080346C0 @ =gUnknown_8E93B14 + adds r1, r5, 0 + bl sub_800EBB4 + adds r0, r5, 0 + adds r1, r6, 0 + movs r2, 0x20 + bl sub_80703EC + adds r4, 0x80 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x20 + bl sub_80703EC + adds r0, r5, 0 + bl sub_8002BC4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080346B8: .4byte gUnknown_8E93B38 +_080346BC: .4byte gUnknown_202401C +_080346C0: .4byte gUnknown_8E93B14 + thumb_func_end sub_8034658 + + thumb_func_start sub_80346C4 +sub_80346C4: @ 80346C4 + push {r4-r6,lr} + mov r6, r8 + push {r6} + sub sp, 0x8 + adds r5, r0, 0 + adds r0, r1, 0 + lsls r5, 16 + lsrs r5, 16 + lsls r0, 24 + lsrs r0, 24 + bl sub_80751D8 + adds r4, r0, 0 + lsls r4, 24 + lsls r5, 3 + ldr r6, _0803473C @ =gUnknown_823957C + adds r6, r5, r6 + ldr r0, _08034740 @ =gUnknown_202401C + mov r8, r0 + ldr r0, [r0] + lsrs r4, 22 + adds r0, 0x4 + adds r0, r4 + ldr r1, [r0] + adds r0, r6, 0 + movs r2, 0 + bl sub_800EC8C + mov r1, r8 + ldr r0, [r1] + adds r0, 0x4 + adds r0, r4 + ldr r0, [r0] + str r0, [sp] + ldrh r2, [r6, 0x4] + ldr r0, _08034744 @ =0xffff0000 + ldr r1, [sp, 0x4] + ands r1, r0 + orrs r1, r2 + str r1, [sp, 0x4] + ldrh r2, [r6, 0x6] + lsls r2, 16 + ldr r0, _08034748 @ =0x0000ffff + ands r0, r1 + orrs r0, r2 + str r0, [sp, 0x4] + mov r0, sp + bl sub_80086DC + ldr r0, _0803474C @ =gUnknown_8239A1C + adds r5, r0 + adds r0, r5, 0 + bl sub_800F078 + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0803473C: .4byte gUnknown_823957C +_08034740: .4byte gUnknown_202401C +_08034744: .4byte 0xffff0000 +_08034748: .4byte 0x0000ffff +_0803474C: .4byte gUnknown_8239A1C + thumb_func_end sub_80346C4 + + thumb_func_start sub_8034750 +sub_8034750: @ 8034750 + push {lr} + lsls r0, 16 + lsls r1, 24 + ldr r2, _08034774 @ =gUnknown_8239FD4 + lsrs r0, 13 + adds r0, r2 + ldr r0, [r0] + lsrs r1, 4 + movs r2, 0x80 + lsls r2, 17 + adds r1, r2 + lsrs r1, 16 + movs r2, 0x20 + bl sub_80703A8 + pop {r0} + bx r0 + .align 2, 0 +_08034774: .4byte gUnknown_8239FD4 + thumb_func_end sub_8034750 + + thumb_func_start nullsub_16 +nullsub_16: @ 8034778 + bx lr + thumb_func_end nullsub_16 + + thumb_func_start sub_803477C +sub_803477C: @ 803477C + push {r4,lr} + adds r4, r0, 0 + lsls r4, 16 + ldr r0, _080347A0 @ =gUnknown_8239A1C + lsrs r4, 13 + adds r0, r4, r0 + ldrh r0, [r0, 0x4] + bl sub_8008A30 + ldr r0, _080347A4 @ =gUnknown_823957C + adds r4, r0 + ldrh r0, [r4, 0x6] + bl sub_800874C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080347A0: .4byte gUnknown_8239A1C +_080347A4: .4byte gUnknown_823957C + thumb_func_end sub_803477C + + thumb_func_start sub_80347A8 +sub_80347A8: @ 80347A8 + push {r4-r7,lr} + ldr r4, _080347D4 @ =gUnknown_8260260 + adds r0, r4, 0 + bl sub_8008928 + adds r4, 0x8 + adds r0, r4, 0 + bl sub_8008928 + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + bne _080347E0 + ldr r0, _080347D8 @ =gUnknown_8260208 + bl sub_800F034 + ldr r0, _080347DC @ =gUnknown_8260210 + bl sub_800F034 + movs r5, 0x2 + b _08034802 + .align 2, 0 +_080347D4: .4byte gUnknown_8260260 +_080347D8: .4byte gUnknown_8260208 +_080347DC: .4byte gUnknown_8260210 +_080347E0: + ldr r4, _08034828 @ =gUnknown_8260218 + adds r0, r4, 0 + bl sub_800F034 + adds r4, 0x8 + adds r0, r4, 0 + bl sub_800F034 + ldr r4, _0803482C @ =gUnknown_8260228 + adds r0, r4, 0 + bl sub_800F034 + adds r4, 0x8 + adds r0, r4, 0 + bl sub_800F034 + movs r5, 0x4 +_08034802: + movs r4, 0 + cmp r4, r5 + bcs _08034822 + ldr r7, _08034830 @ =gUnknown_2023BD6 + ldr r6, _08034834 @ =gUnknown_8260240 +_0803480C: + adds r0, r4, r7 + ldrb r0, [r0] + lsls r0, 3 + adds r0, r6 + bl sub_800F034 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, r5 + bcc _0803480C +_08034822: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08034828: .4byte gUnknown_8260218 +_0803482C: .4byte gUnknown_8260228 +_08034830: .4byte gUnknown_2023BD6 +_08034834: .4byte gUnknown_8260240 + thumb_func_end sub_80347A8 + + thumb_func_start sub_8034838 +sub_8034838: @ 8034838 + push {r4-r6,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r5, r4, 0 + movs r6, 0 + cmp r4, 0 + bne _08034848 + b _0803495A +_08034848: + cmp r4, 0x1 + bne _08034864 + ldr r4, _08034860 @ =gUnknown_8260260 + adds r0, r4, 0 + bl sub_8008928 + adds r4, 0x8 + adds r0, r4, 0 + bl sub_8008928 + b _0803495A + .align 2, 0 +_08034860: .4byte gUnknown_8260260 +_08034864: + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + bne _080348CC + cmp r4, 0x2 + bne _0803489C + ldr r0, _08034888 @ =gUnknown_2022B4C + ldr r0, [r0] + movs r1, 0x80 + ands r0, r1 + cmp r0, 0 + beq _08034890 + ldr r0, _0803488C @ =gUnknown_8260238 + bl sub_800F034 + b _0803495A + .align 2, 0 +_08034888: .4byte gUnknown_2022B4C +_0803488C: .4byte gUnknown_8260238 +_08034890: + ldr r0, _08034898 @ =gUnknown_8260208 + bl sub_800F034 + b _0803495A + .align 2, 0 +_08034898: .4byte gUnknown_8260208 +_0803489C: + cmp r4, 0x3 + bne _080348AC + ldr r0, _080348A8 @ =gUnknown_8260210 + bl sub_800F034 + b _0803495A + .align 2, 0 +_080348A8: .4byte gUnknown_8260210 +_080348AC: + cmp r4, 0x4 + bne _080348BC + ldr r0, _080348B8 @ =gUnknown_2023BD6 + ldrb r0, [r0] + b _08034944 + .align 2, 0 +_080348B8: .4byte gUnknown_2023BD6 +_080348BC: + cmp r4, 0x5 + bne _08034958 + ldr r0, _080348C8 @ =gUnknown_2023BD6 + ldrb r0, [r0, 0x1] + b _08034944 + .align 2, 0 +_080348C8: .4byte gUnknown_2023BD6 +_080348CC: + cmp r4, 0x2 + bne _080348DC + ldr r0, _080348D8 @ =gUnknown_8260218 + bl sub_800F034 + b _0803495A + .align 2, 0 +_080348D8: .4byte gUnknown_8260218 +_080348DC: + cmp r4, 0x3 + bne _080348EC + ldr r0, _080348E8 @ =gUnknown_8260220 + bl sub_800F034 + b _0803495A + .align 2, 0 +_080348E8: .4byte gUnknown_8260220 +_080348EC: + cmp r4, 0x4 + bne _080348FC + ldr r0, _080348F8 @ =gUnknown_8260228 + bl sub_800F034 + b _0803495A + .align 2, 0 +_080348F8: .4byte gUnknown_8260228 +_080348FC: + cmp r4, 0x5 + bne _0803490C + ldr r0, _08034908 @ =gUnknown_8260230 + bl sub_800F034 + b _0803495A + .align 2, 0 +_08034908: .4byte gUnknown_8260230 +_0803490C: + cmp r4, 0x6 + bne _0803491C + ldr r0, _08034918 @ =gUnknown_2023BD6 + ldrb r0, [r0] + b _08034944 + .align 2, 0 +_08034918: .4byte gUnknown_2023BD6 +_0803491C: + cmp r4, 0x7 + bne _0803492C + ldr r0, _08034928 @ =gUnknown_2023BD6 + ldrb r0, [r0, 0x1] + b _08034944 + .align 2, 0 +_08034928: .4byte gUnknown_2023BD6 +_0803492C: + cmp r4, 0x8 + bne _0803493C + ldr r0, _08034938 @ =gUnknown_2023BD6 + ldrb r0, [r0, 0x2] + b _08034944 + .align 2, 0 +_08034938: .4byte gUnknown_2023BD6 +_0803493C: + cmp r5, 0x9 + bne _08034958 + ldr r0, _08034950 @ =gUnknown_2023BD6 + ldrb r0, [r0, 0x3] +_08034944: + lsls r0, 3 + ldr r1, _08034954 @ =gUnknown_8260240 + adds r0, r1 + bl sub_800F034 + b _0803495A + .align 2, 0 +_08034950: .4byte gUnknown_2023BD6 +_08034954: .4byte gUnknown_8260240 +_08034958: + movs r6, 0x1 +_0803495A: + adds r0, r6, 0 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8034838 + + thumb_func_start sub_8034964 +sub_8034964: @ 8034964 + push {lr} + ldr r0, _0803497C @ =gUnknown_8D093D8 + ldr r1, _08034980 @ =gUnknown_202401C + ldr r1, [r1] + movs r2, 0xBA + lsls r2, 1 + adds r1, r2 + ldr r1, [r1] + bl sub_800EBB4 + pop {r0} + bx r0 + .align 2, 0 +_0803497C: .4byte gUnknown_8D093D8 +_08034980: .4byte gUnknown_202401C + thumb_func_end sub_8034964 + + thumb_func_start sub_8034984 +sub_8034984: @ 8034984 + push {r4-r6,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r6, 0 + ldrb r0, [r5] + cmp r0, 0x6 + bls _08034994 + b _08034AF2 +_08034994: + lsls r0, 2 + ldr r1, _080349A0 @ =_080349A4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080349A0: .4byte _080349A4 + .align 2, 0 +_080349A4: + .4byte _080349C0 + .4byte _080349C6 + .4byte _08034AD0 + .4byte _080349DC + .4byte _08034A0C + .4byte _08034A48 + .4byte _08034AE8 +_080349C0: + bl sub_8034B24 + b _08034AD0 +_080349C6: + ldrb r0, [r4] + bl sub_8034838 + lsls r0, 24 + cmp r0, 0 + beq _080349D4 + b _08034ACC +_080349D4: + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + b _08034AF2 +_080349DC: + ldr r0, _080349F4 @ =gUnknown_2022B4C + ldr r0, [r0] + movs r1, 0x80 + ands r0, r1 + cmp r0, 0 + beq _080349F8 + ldrb r0, [r4] + cmp r0, 0 + bne _080349F8 + bl sub_8048008 + b _080349FE + .align 2, 0 +_080349F4: .4byte gUnknown_2022B4C +_080349F8: + ldrb r0, [r4] + bl sub_8047CE0 +_080349FE: + ldr r2, _08034A08 @ =gUnknown_3004FF0 + ldrb r1, [r4] + adds r1, r2 + strb r0, [r1] + b _08034ABA + .align 2, 0 +_08034A08: .4byte gUnknown_3004FF0 +_08034A0C: + ldrb r0, [r4] + bl sub_804831C + ldr r0, _08034A2C @ =gUnknown_2023BD6 + ldrb r1, [r4] + adds r0, r1, r0 + ldrb r0, [r0] + cmp r0, 0x1 + bhi _08034A34 + ldr r0, _08034A30 @ =gUnknown_3004FF0 + adds r0, r1, r0 + ldrb r0, [r0] + movs r1, 0 + bl nullsub_21 + b _08034ABA + .align 2, 0 +_08034A2C: .4byte gUnknown_2023BD6 +_08034A30: .4byte gUnknown_3004FF0 +_08034A34: + ldr r0, _08034A44 @ =gUnknown_3004FF0 + adds r0, r1, r0 + ldrb r0, [r0] + movs r1, 0x1 + bl nullsub_21 + b _08034ABA + .align 2, 0 +_08034A44: .4byte gUnknown_3004FF0 +_08034A48: + ldrb r0, [r4] + bl sub_80751C4 + lsls r0, 24 + cmp r0, 0 + bne _08034A90 + ldr r0, _08034A80 @ =gUnknown_2022B4C + ldr r0, [r0] + movs r1, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08034AAE + ldr r0, _08034A84 @ =gUnknown_3004FF0 + ldrb r1, [r4] + adds r0, r1, r0 + ldrb r0, [r0] + ldr r2, _08034A88 @ =gUnknown_2023BCE + lsls r1, 1 + adds r1, r2 + ldrh r2, [r1] + movs r1, 0x64 + muls r1, r2 + ldr r2, _08034A8C @ =gUnknown_2024284 + adds r1, r2 + movs r2, 0 + bl sub_8049D98 + b _08034AAE + .align 2, 0 +_08034A80: .4byte gUnknown_2022B4C +_08034A84: .4byte gUnknown_3004FF0 +_08034A88: .4byte gUnknown_2023BCE +_08034A8C: .4byte gUnknown_2024284 +_08034A90: + ldr r0, _08034AD8 @ =gUnknown_3004FF0 + ldrb r1, [r4] + adds r0, r1, r0 + ldrb r0, [r0] + ldr r2, _08034ADC @ =gUnknown_2023BCE + lsls r1, 1 + adds r1, r2 + ldrh r2, [r1] + movs r1, 0x64 + muls r1, r2 + ldr r2, _08034AE0 @ =gUnknown_202402C + adds r1, r2 + movs r2, 0 + bl sub_8049D98 +_08034AAE: + ldr r1, _08034AD8 @ =gUnknown_3004FF0 + ldrb r0, [r4] + adds r0, r1 + ldrb r0, [r0] + bl sub_8048188 +_08034ABA: + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + ldr r1, _08034AE4 @ =gUnknown_2023BCC + lsls r0, 24 + lsrs r0, 24 + ldrb r1, [r1] + cmp r0, r1 + bne _08034AF2 +_08034ACC: + movs r0, 0 + strb r0, [r4] +_08034AD0: + ldrb r0, [r5] + adds r0, 0x1 + strb r0, [r5] + b _08034AF2 + .align 2, 0 +_08034AD8: .4byte gUnknown_3004FF0 +_08034ADC: .4byte gUnknown_2023BCE +_08034AE0: .4byte gUnknown_202402C +_08034AE4: .4byte gUnknown_2023BCC +_08034AE8: + bl sub_8035538 + bl sub_8127CAC + movs r6, 0x1 +_08034AF2: + adds r0, r6, 0 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8034984 + + thumb_func_start sub_8034AFC +sub_8034AFC: @ 8034AFC + push {r4,lr} + ldr r4, _08034B20 @ =gUnknown_2024018 + ldr r0, [r4] + ldr r0, [r0, 0x4] + movs r1, 0 + movs r2, 0x30 + bl memset + ldr r0, [r4] + ldr r0, [r0, 0x8] + movs r1, 0 + movs r2, 0x10 + bl memset + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08034B20: .4byte gUnknown_2024018 + thumb_func_end sub_8034AFC + + thumb_func_start sub_8034B24 +sub_8034B24: @ 8034B24 + push {lr} + bl sub_8034AFC + ldr r0, _08034B3C @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0] + movs r1, 0 + movs r2, 0x10 + bl memset + pop {r0} + bx r0 + .align 2, 0 +_08034B3C: .4byte gUnknown_2024018 + thumb_func_end sub_8034B24 + + thumb_func_start sub_8034B40 +sub_8034B40: @ 8034B40 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + movs r4, 0 + ldr r5, _08034BA4 @ =gUnknown_2023BCC + ldrb r0, [r5] + cmp r4, r0 + bge _08034B96 + ldr r0, _08034BA8 @ =gUnknown_202063C + mov r9, r0 + movs r0, 0x1 + mov r12, r0 + movs r0, 0x2 + negs r0, r0 + mov r8, r0 + ldr r7, _08034BAC @ =gUnknown_2024018 + ldr r6, _08034BB0 @ =gUnknown_2023D44 +_08034B64: + ldr r0, [r7] + ldr r0, [r0] + lsls r3, r4, 2 + adds r3, r0 + adds r0, r4, r6 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r9 + adds r0, 0x3E + ldrb r1, [r0] + lsls r1, 29 + lsrs r1, 31 + mov r0, r12 + ands r1, r0 + ldrb r2, [r3] + mov r0, r8 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + adds r4, 0x1 + ldrb r0, [r5] + cmp r4, r0 + blt _08034B64 +_08034B96: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08034BA4: .4byte gUnknown_2023BCC +_08034BA8: .4byte gUnknown_202063C +_08034BAC: .4byte gUnknown_2024018 +_08034BB0: .4byte gUnknown_2023D44 + thumb_func_end sub_8034B40 + + thumb_func_start sub_8034BB4 +sub_8034BB4: @ 8034BB4 + lsls r0, 24 + lsrs r0, 24 + ldr r1, _08034BE8 @ =gUnknown_2024018 + ldr r1, [r1] + ldr r1, [r1] + lsls r3, r0, 2 + adds r3, r1 + ldr r2, _08034BEC @ =gUnknown_202063C + ldr r1, _08034BF0 @ =gUnknown_2023D44 + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r1, [r0] + lsls r1, 29 + lsrs r1, 31 + ldrb r2, [r3] + movs r0, 0x2 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3] + bx lr + .align 2, 0 +_08034BE8: .4byte gUnknown_2024018 +_08034BEC: .4byte gUnknown_202063C +_08034BF0: .4byte gUnknown_2023D44 + thumb_func_end sub_8034BB4 + + thumb_func_start sub_8034BF4 +sub_8034BF4: @ 8034BF4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + lsls r1, 24 + lsrs r1, 24 + str r1, [sp] + lsls r2, 24 + lsrs r2, 24 + cmp r2, 0xFF + beq _08034C16 + b _08034D88 +_08034C16: + bl sub_80751D8 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + ldr r0, _08034D58 @ =gUnknown_2023BCE + mov r1, r9 + lsls r1, 1 + adds r0, r1, r0 + str r0, [sp, 0xC] + ldrh r0, [r0] + movs r2, 0x64 + muls r0, r2 + ldr r3, _08034D5C @ =gUnknown_202402C + adds r0, r3 + movs r1, 0xB + bl sub_803FBE8 + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + ldr r1, [sp, 0xC] + ldrh r0, [r1] + movs r2, 0x64 + muls r0, r2 + ldr r3, _08034D5C @ =gUnknown_202402C + adds r0, r3 + movs r1, 0 + bl sub_803FBE8 + str r0, [sp, 0x4] + ldr r1, [sp, 0xC] + ldrh r0, [r1] + movs r2, 0x64 + muls r0, r2 + ldr r3, _08034D5C @ =gUnknown_202402C + adds r0, r3 + movs r1, 0x1 + bl sub_803FBE8 + adds r7, r0, 0 + mov r1, r8 + lsls r0, r1, 3 + ldr r1, _08034D60 @ =gUnknown_82350AC + adds r0, r1 + ldr r4, _08034D64 @ =gUnknown_202401C + ldr r1, [r4] + mov r2, r10 + lsls r5, r2, 2 + adds r1, 0x4 + adds r1, r5 + ldr r1, [r1] + mov r2, r8 + ldr r3, [sp, 0x4] + bl sub_800F108 + ldr r0, [r4] + adds r0, 0x4 + adds r0, r5 + ldr r2, [r0] + ldr r5, _08034D68 @ =gUnknown_202063C + ldr r4, _08034D6C @ =gUnknown_2023D44 + add r4, r9 + ldrb r1, [r4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + ldrh r0, [r0, 0x4] + lsls r0, 22 + lsrs r0, 17 + ldr r1, _08034D70 @ =0x06010000 + adds r0, r1 + ldr r1, _08034D74 @ =0x040000d4 + str r2, [r1] + str r0, [r1, 0x4] + ldr r0, _08034D78 @ =0x84000200 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + mov r3, r9 + lsls r0, r3, 20 + movs r1, 0x80 + lsls r1, 17 + adds r0, r1 + lsrs r0, 16 + mov r10, r0 + mov r0, r8 + adds r1, r7, 0 + ldr r2, [sp, 0x4] + bl sub_80440F4 + adds r6, r0, 0 + movs r0, 0x80 + lsls r0, 3 + bl sub_8002BB0 + adds r7, r0, 0 + adds r0, r6, 0 + adds r1, r7, 0 + bl sub_800EBB4 + adds r0, r7, 0 + mov r1, r10 + movs r2, 0x20 + bl sub_80703EC + adds r0, r7, 0 + bl sub_8002BC4 + mov r0, r9 + bl sub_80748A8 + ldrb r2, [r4] + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r5 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r1, 0x22] + ldrb r1, [r4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + ldr r1, _08034D7C @ =gUnknown_2024024 + add r1, r9 + ldrb r1, [r1] + bl sub_800838C + ldr r2, [sp, 0xC] + ldrh r0, [r2] + movs r3, 0x64 + muls r0, r3 + ldr r1, _08034D5C @ =gUnknown_202402C + adds r0, r1 + movs r1, 0xB + mov r2, r8 + muls r2, r1 + ldr r1, _08034D80 @ =gUnknown_8245EE0 + adds r2, r1 + movs r1, 0x2 + bl sub_804037C + ldr r4, _08034D84 @ =gUnknown_3004FF0 + add r4, r9 + ldrb r0, [r4] + ldr r2, [sp, 0xC] + ldrh r1, [r2] + movs r3, 0x64 + muls r1, r3 + ldr r2, _08034D5C @ =gUnknown_202402C + adds r1, r2 + bl sub_80496C0 + ldrb r0, [r4] + movs r1, 0x1 + bl sub_804981C + b _08035062 + .align 2, 0 +_08034D58: .4byte gUnknown_2023BCE +_08034D5C: .4byte gUnknown_202402C +_08034D60: .4byte gUnknown_82350AC +_08034D64: .4byte gUnknown_202401C +_08034D68: .4byte gUnknown_202063C +_08034D6C: .4byte gUnknown_2023D44 +_08034D70: .4byte 0x06010000 +_08034D74: .4byte 0x040000d4 +_08034D78: .4byte 0x84000200 +_08034D7C: .4byte gUnknown_2024024 +_08034D80: .4byte gUnknown_8245EE0 +_08034D84: .4byte gUnknown_3004FF0 +_08034D88: + cmp r2, 0 + beq _08034E4C + ldr r0, _08034E28 @ =gUnknown_2023D44 + mov r3, r9 + adds r5, r3, r0 + ldrb r1, [r5] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r6, _08034E2C @ =gUnknown_202063C + adds r0, r6 + ldr r4, _08034E30 @ =gUnknown_2024018 + ldr r1, [r4] + ldr r1, [r1, 0x8] + ldrb r1, [r1] + bl sub_800838C + mov r1, r9 + lsls r0, r1, 20 + movs r2, 0x80 + lsls r2, 17 + adds r0, r2 + lsrs r0, 16 + mov r10, r0 + ldr r2, _08034E34 @ =gUnknown_2023FE8 + ldr r0, [r4] + ldr r0, [r0, 0x8] + ldrh r1, [r0] + lsls r1, 5 + movs r3, 0x80 + lsls r3, 1 + adds r1, r3 + ldr r0, [r2] + adds r0, r1 + mov r1, r10 + movs r2, 0x20 + bl sub_80703EC + ldr r1, _08034E38 @ =gUnknown_2024024 + add r1, r9 + ldr r0, [r4] + ldr r0, [r0, 0x8] + ldrh r0, [r0] + strb r0, [r1] + ldr r0, [r4] + ldr r1, [r0] + mov r2, r9 + lsls r0, r2, 2 + adds r0, r1 + ldrh r0, [r0, 0x2] + cmp r0, 0 + beq _08034E0E + ldr r3, _08034E3C @ =0x00007fff + mov r0, r10 + movs r1, 0x10 + movs r2, 0x6 + bl sub_8045274 + mov r3, r10 + lsls r1, r3, 1 + ldr r0, _08034E40 @ =gUnknown_20375F8 + adds r0, r1, r0 + ldr r2, _08034E44 @ =gUnknown_20371F8 + adds r1, r2 + ldr r2, _08034E48 @ =0x04000008 + bl CpuSet +_08034E0E: + mov r0, r9 + bl sub_80748A8 + ldrb r2, [r5] + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + adds r1, r6 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r1, 0x22] + b _08035062 + .align 2, 0 +_08034E28: .4byte gUnknown_2023D44 +_08034E2C: .4byte gUnknown_202063C +_08034E30: .4byte gUnknown_2024018 +_08034E34: .4byte gUnknown_2023FE8 +_08034E38: .4byte gUnknown_2024024 +_08034E3C: .4byte 0x00007fff +_08034E40: .4byte gUnknown_20375F8 +_08034E44: .4byte gUnknown_20371F8 +_08034E48: .4byte 0x04000008 +_08034E4C: + mov r0, r9 + bl sub_80751D8 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + ldr r0, [sp] + bl sub_80751C4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08034E80 + ldr r1, _08034E78 @ =gUnknown_2023BCE + ldr r2, [sp] + lsls r0, r2, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _08034E7C @ =gUnknown_202402C + b _08034E90 + .align 2, 0 +_08034E78: .4byte gUnknown_2023BCE +_08034E7C: .4byte gUnknown_202402C +_08034E80: + ldr r1, _08034EFC @ =gUnknown_2023BCE + ldr r3, [sp] + lsls r0, r3, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _08034F00 @ =gUnknown_2024284 +_08034E90: + adds r0, r1 + movs r1, 0xB + bl sub_803FBE8 + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 + mov r0, r9 + bl sub_80751C4 + lsls r0, 24 + cmp r0, 0 + bne _08034F10 + ldr r0, _08034EFC @ =gUnknown_2023BCE + mov r1, r9 + lsls r4, r1, 1 + adds r4, r0 + ldrh r0, [r4] + movs r7, 0x64 + muls r0, r7 + ldr r5, _08034F00 @ =gUnknown_2024284 + adds r0, r5 + movs r1, 0 + bl sub_803FBE8 + str r0, [sp, 0x4] + ldrh r0, [r4] + muls r0, r7 + adds r0, r5 + movs r1, 0x1 + bl sub_803FBE8 + adds r7, r0, 0 + mov r2, r8 + lsls r0, r2, 3 + ldr r1, _08034F04 @ =gUnknown_823654C + adds r0, r1 + ldr r1, _08034F08 @ =gUnknown_202401C + ldr r1, [r1] + mov r3, r10 + lsls r5, r3, 2 + adds r1, 0x4 + adds r1, r5 + ldr r1, [r1] + ldr r2, _08034F0C @ =gUnknown_2024008 + mov r3, r9 + lsls r4, r3, 2 + adds r2, r4, r2 + ldr r3, [r2] + mov r2, r8 + bl sub_800F108 + b _08034F5E + .align 2, 0 +_08034EFC: .4byte gUnknown_2023BCE +_08034F00: .4byte gUnknown_2024284 +_08034F04: .4byte gUnknown_823654C +_08034F08: .4byte gUnknown_202401C +_08034F0C: .4byte gUnknown_2024008 +_08034F10: + ldr r0, _08035074 @ =gUnknown_2023BCE + mov r1, r9 + lsls r4, r1, 1 + adds r4, r0 + ldrh r0, [r4] + movs r7, 0x64 + muls r0, r7 + ldr r5, _08035078 @ =gUnknown_202402C + adds r0, r5 + movs r1, 0 + bl sub_803FBE8 + str r0, [sp, 0x4] + ldrh r0, [r4] + muls r0, r7 + adds r0, r5 + movs r1, 0x1 + bl sub_803FBE8 + adds r7, r0, 0 + mov r2, r8 + lsls r0, r2, 3 + ldr r1, _0803507C @ =gUnknown_82350AC + adds r0, r1 + ldr r1, _08035080 @ =gUnknown_202401C + ldr r1, [r1] + mov r3, r10 + lsls r5, r3, 2 + adds r1, 0x4 + adds r1, r5 + ldr r1, [r1] + ldr r2, _08035084 @ =gUnknown_2024008 + mov r3, r9 + lsls r4, r3, 2 + adds r2, r4, r2 + ldr r3, [r2] + mov r2, r8 + bl sub_800F108 +_08034F5E: + str r4, [sp, 0x14] + ldr r0, _08035080 @ =gUnknown_202401C + ldr r0, [r0] + adds r0, 0x4 + adds r0, r5 + ldr r2, [r0] + ldr r0, _08035088 @ =gUnknown_2023D44 + add r0, r9 + str r0, [sp, 0x10] + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0803508C @ =gUnknown_202063C + adds r0, r1 + ldrh r0, [r0, 0x4] + lsls r0, 22 + lsrs r0, 17 + ldr r1, _08035090 @ =0x06010000 + adds r0, r1 + ldr r1, _08035094 @ =0x040000d4 + str r2, [r1] + str r0, [r1, 0x4] + ldr r0, _08035098 @ =0x84000200 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + mov r2, r9 + lsls r0, r2, 20 + movs r3, 0x80 + lsls r3, 17 + adds r0, r3 + lsrs r0, 16 + mov r10, r0 + mov r0, r8 + adds r1, r7, 0 + ldr r2, [sp, 0x4] + bl sub_80440F4 + adds r6, r0, 0 + movs r0, 0x80 + lsls r0, 3 + bl sub_8002BB0 + adds r7, r0, 0 + adds r0, r6, 0 + adds r1, r7, 0 + bl sub_800EBB4 + adds r0, r7, 0 + mov r1, r10 + movs r2, 0x20 + bl sub_80703EC + adds r0, r7, 0 + bl sub_8002BC4 + ldr r0, _0803509C @ =0x00000181 + cmp r8, r0 + bne _08034FFC + ldr r5, _080350A0 @ =gUnknown_2023FE8 + ldr r1, [r5] + movs r4, 0x80 + lsls r4, 1 + adds r1, r4 + adds r0, r6, 0 + bl sub_800EBB4 + ldr r0, _080350A4 @ =gUnknown_2024024 + ldr r1, [sp] + adds r0, r1, r0 + ldrb r1, [r0] + lsls r1, 5 + adds r1, r4 + ldr r0, [r5] + adds r0, r1 + mov r1, r10 + movs r2, 0x20 + bl sub_80703EC +_08034FFC: + ldr r3, _080350A8 @ =0x00007fff + mov r0, r10 + movs r1, 0x10 + movs r2, 0x6 + bl sub_8045274 + mov r2, r10 + lsls r1, r2, 1 + ldr r0, _080350AC @ =gUnknown_20375F8 + adds r0, r1, r0 + ldr r2, _080350B0 @ =gUnknown_20371F8 + adds r1, r2 + ldr r2, _080350B4 @ =0x04000008 + bl CpuSet + ldr r0, _080350B8 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0] + ldr r3, [sp, 0x14] + adds r0, r3, r0 + mov r1, r8 + strh r1, [r0, 0x2] + ldr r0, _080350A4 @ =gUnknown_2024024 + mov r2, r9 + adds r4, r2, r0 + ldr r3, [sp] + adds r0, r3, r0 + ldrb r0, [r0] + strb r0, [r4] + mov r0, r9 + bl sub_80748A8 + ldr r1, [sp, 0x10] + ldrb r2, [r1] + lsls r1, r2, 4 + adds r1, r2 + lsls r1, 2 + ldr r2, _0803508C @ =gUnknown_202063C + adds r1, r2 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r1, 0x22] + ldr r3, [sp, 0x10] + ldrb r1, [r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r1, [r4] + bl sub_800838C +_08035062: + add sp, 0x18 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08035074: .4byte gUnknown_2023BCE +_08035078: .4byte gUnknown_202402C +_0803507C: .4byte gUnknown_82350AC +_08035080: .4byte gUnknown_202401C +_08035084: .4byte gUnknown_2024008 +_08035088: .4byte gUnknown_2023D44 +_0803508C: .4byte gUnknown_202063C +_08035090: .4byte 0x06010000 +_08035094: .4byte 0x040000d4 +_08035098: .4byte 0x84000200 +_0803509C: .4byte 0x00000181 +_080350A0: .4byte gUnknown_2023FE8 +_080350A4: .4byte gUnknown_2024024 +_080350A8: .4byte 0x00007fff +_080350AC: .4byte gUnknown_20375F8 +_080350B0: .4byte gUnknown_20371F8 +_080350B4: .4byte 0x04000008 +_080350B8: .4byte gUnknown_2024018 + thumb_func_end sub_8034BF4 + + thumb_func_start sub_80350BC +sub_80350BC: @ 80350BC + push {r4-r7,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r6, r4, 0 + lsls r1, 24 + cmp r1, 0 + bne _08035158 + adds r0, r4, 0 + bl sub_80751D8 + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r4, 0 + bl sub_80751C4 + lsls r0, 24 + cmp r0, 0 + beq _080350FC + ldr r0, _080350F4 @ =gUnknown_8D2D0B4 + ldr r1, _080350F8 @ =gUnknown_202401C + ldr r1, [r1] + lsls r4, r5, 2 + adds r1, 0x4 + adds r1, r4 + ldr r1, [r1] + bl sub_800EBC0 + b _0803510E + .align 2, 0 +_080350F4: .4byte gUnknown_8D2D0B4 +_080350F8: .4byte gUnknown_202401C +_080350FC: + ldr r0, _08035144 @ =gUnknown_8D2D2F4 + ldr r1, _08035148 @ =gUnknown_202401C + ldr r1, [r1] + lsls r4, r5, 2 + adds r1, 0x4 + adds r1, r4 + ldr r1, [r1] + bl sub_800EBC0 +_0803510E: + movs r3, 0x1 + lsls r6, 4 + ldr r7, _0803514C @ =gUnknown_8D2D090 + ldr r0, _08035148 @ =gUnknown_202401C + ldr r0, [r0] + adds r0, 0x4 + adds r4, r0, r4 + ldr r2, _08035150 @ =0x040000d4 + ldr r5, _08035154 @ =0x84000200 +_08035120: + ldr r0, [r4] + lsls r1, r3, 11 + adds r1, r0, r1 + str r0, [r2] + str r1, [r2, 0x4] + str r5, [r2, 0x8] + ldr r0, [r2, 0x8] + adds r3, 0x1 + cmp r3, 0x3 + ble _08035120 + movs r0, 0x80 + lsls r0, 1 + adds r1, r6, r0 + adds r0, r7, 0 + movs r2, 0x20 + bl sub_80703A8 + b _0803519A + .align 2, 0 +_08035144: .4byte gUnknown_8D2D2F4 +_08035148: .4byte gUnknown_202401C +_0803514C: .4byte gUnknown_8D2D090 +_08035150: .4byte 0x040000d4 +_08035154: .4byte 0x84000200 +_08035158: + adds r0, r4, 0 + bl sub_80751C4 + lsls r0, 24 + cmp r0, 0 + beq _08035184 + ldr r1, _0803517C @ =gUnknown_2023BCE + lsls r0, r4, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _08035180 @ =gUnknown_202402C + adds r0, r1 + adds r1, r4, 0 + bl sub_8034320 + b _0803519A + .align 2, 0 +_0803517C: .4byte gUnknown_2023BCE +_08035180: .4byte gUnknown_202402C +_08035184: + ldr r1, _080351A0 @ =gUnknown_2023BCE + lsls r0, r6, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080351A4 @ =gUnknown_2024284 + adds r0, r1 + adds r1, r6, 0 + bl sub_8034498 +_0803519A: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080351A0: .4byte gUnknown_2023BCE +_080351A4: .4byte gUnknown_2024284 + thumb_func_end sub_80350BC + + thumb_func_start sub_80351A8 +sub_80351A8: @ 80351A8 + push {r4-r6,lr} + adds r5, r1, 0 + adds r4, r2, 0 + lsls r0, 24 + lsrs r6, r0, 24 + lsls r5, 24 + lsrs r5, 24 + lsls r4, 24 + lsrs r4, 24 + adds r0, r6, 0 + adds r1, r5, 0 + bl sub_80350BC + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + ldr r1, _080351E4 @ =gUnknown_202063C + adds r4, r0, r1 + ldr r0, _080351E8 @ =gUnknown_2024024 + adds r0, r6, r0 + ldrb r1, [r0] + adds r0, r4, 0 + bl sub_800838C + cmp r5, 0 + bne _080351EC + adds r0, r6, 0 + bl sub_80748BC + b _080351F2 + .align 2, 0 +_080351E4: .4byte gUnknown_202063C +_080351E8: .4byte gUnknown_2024024 +_080351EC: + adds r0, r6, 0 + bl sub_80748A8 +_080351F2: + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x22] + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80351A8 + + thumb_func_start sub_8035200 +sub_8035200: @ 8035200 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r1, 16 + lsrs r1, 16 + cmp r1, 0xA4 + bne _08035220 + ldr r0, _08035224 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0] + lsls r1, r2, 2 + adds r1, r0 + ldrb r0, [r1] + movs r2, 0x4 + orrs r0, r2 + strb r0, [r1] +_08035220: + pop {r0} + bx r0 + .align 2, 0 +_08035224: .4byte gUnknown_2024018 + thumb_func_end sub_8035200 + + thumb_func_start sub_8035228 +sub_8035228: @ 8035228 + lsls r0, 24 + ldr r1, _08035240 @ =gUnknown_2024018 + ldr r1, [r1] + ldr r1, [r1] + lsrs r0, 22 + adds r0, r1 + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + bx lr + .align 2, 0 +_08035240: .4byte gUnknown_2024018 + thumb_func_end sub_8035228 + + thumb_func_start sub_8035244 +sub_8035244: @ 8035244 + push {r4-r7,lr} + adds r5, r0, 0 + lsls r1, 24 + lsrs r6, r1, 24 + adds r7, r6, 0 + movs r1, 0x39 + bl sub_803FBE8 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + movs r1, 0x3A + bl sub_803FBE8 + adds r1, r0, 0 + lsls r4, 16 + asrs r4, 16 + lsls r1, 16 + asrs r1, 16 + adds r0, r4, 0 + bl sub_804A614 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080352BC + ldr r7, _080352B8 @ =gUnknown_2024018 + ldr r0, [r7] + ldr r2, [r0] + lsls r4, r6, 2 + adds r0, r4, r2 + ldrb r1, [r0] + movs r5, 0x2 + movs r3, 0x2 + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + bne _0803530E + adds r0, r6, 0 + eors r0, r5 + lsls r0, 2 + adds r0, r2 + ldrb r1, [r0] + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + bne _080352AA + movs r0, 0x53 + bl sub_80722CC +_080352AA: + ldr r0, [r7] + ldr r1, [r0] + adds r1, r4, r1 + ldrb r0, [r1] + orrs r0, r5 + strb r0, [r1] + b _0803530E + .align 2, 0 +_080352B8: .4byte gUnknown_2024018 +_080352BC: + ldr r4, _080352E4 @ =gUnknown_2024018 + ldr r0, [r4] + ldr r0, [r0] + lsls r1, r6, 2 + adds r1, r0 + ldrb r2, [r1] + movs r0, 0x3 + negs r0, r0 + ands r0, r2 + strb r0, [r1] + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + bne _080352E8 + movs r0, 0x53 + bl m4aSongNumStop + b _0803530E + .align 2, 0 +_080352E4: .4byte gUnknown_2024018 +_080352E8: + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + beq _0803530E + ldr r1, [r4] + movs r0, 0x2 + eors r7, r0 + ldr r1, [r1] + lsls r0, r7, 2 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _0803530E + movs r0, 0x53 + bl m4aSongNumStop +_0803530E: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8035244 + + thumb_func_start sub_8035314 +sub_8035314: @ 8035314 + push {r4-r6,lr} + movs r0, 0 + bl sub_80751E8 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r5, _08035364 @ =gUnknown_2024018 + ldr r0, [r5] + ldr r0, [r0] + lsls r1, r4, 2 + adds r1, r0 + ldrb r2, [r1] + movs r6, 0x3 + negs r6, r6 + adds r0, r6, 0 + ands r0, r2 + strb r0, [r1] + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + beq _08035356 + ldr r2, [r5] + movs r0, 0x2 + adds r1, r4, 0 + eors r1, r0 + ldr r0, [r2] + lsls r1, 2 + adds r1, r0 + ldrb r2, [r1] + adds r0, r6, 0 + ands r0, r2 + strb r0, [r1] +_08035356: + movs r0, 0x53 + bl m4aSongNumStop + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08035364: .4byte gUnknown_2024018 + thumb_func_end sub_8035314 + + thumb_func_start sub_8035368 +sub_8035368: @ 8035368 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x39 + bl sub_803FBE8 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + movs r1, 0x3A + bl sub_803FBE8 + adds r1, r0, 0 + lsls r4, 16 + asrs r4, 16 + lsls r1, 16 + asrs r1, 16 + adds r0, r4, 0 + bl sub_804A614 + lsls r0, 24 + lsrs r0, 24 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8035368 + + thumb_func_start sub_803539C +sub_803539C: @ 803539C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + ldr r0, _08035440 @ =gUnknown_30030F0 + ldr r1, _08035444 @ =0x00000439 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08035432 + movs r0, 0 + bl sub_80751E8 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + movs r0, 0x2 + bl sub_80751E8 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldr r5, _08035448 @ =gUnknown_2023BCE + mov r1, r8 + lsls r0, r1, 1 + adds r0, r5 + ldrb r0, [r0] + bl sub_8128030 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + mov r1, r9 + lsls r0, r1, 1 + adds r0, r5 + ldrb r0, [r0] + bl sub_8128030 + lsls r0, 24 + lsrs r5, r0, 24 + movs r7, 0x64 + adds r0, r4, 0 + muls r0, r7 + ldr r6, _0803544C @ =gUnknown_2024284 + adds r4, r0, r6 + adds r0, r4, 0 + movs r1, 0x39 + bl sub_803FBE8 + cmp r0, 0 + beq _0803540E + adds r0, r4, 0 + mov r1, r8 + bl sub_8035244 +_0803540E: + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + beq _08035432 + adds r0, r5, 0 + muls r0, r7 + adds r4, r0, r6 + adds r0, r4, 0 + movs r1, 0x39 + bl sub_803FBE8 + cmp r0, 0 + beq _08035432 + adds r0, r4, 0 + mov r1, r9 + bl sub_8035244 +_08035432: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08035440: .4byte gUnknown_30030F0 +_08035444: .4byte 0x00000439 +_08035448: .4byte gUnknown_2023BCE +_0803544C: .4byte gUnknown_2024284 + thumb_func_end sub_803539C + + thumb_func_start sub_8035450 +sub_8035450: @ 8035450 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + movs r5, 0 + ldr r0, _080354E0 @ =gUnknown_2023BCC + ldrb r0, [r0] + cmp r5, r0 + bge _08035520 + movs r0, 0x3 + mov r10, r8 + mov r1, r10 + ands r1, r0 + mov r10, r1 + movs r6, 0 + movs r2, 0x3F + negs r2, r2 + mov r9, r2 +_0803547C: + lsls r0, r5, 24 + lsrs r0, 24 + bl sub_8075224 + lsls r0, 24 + cmp r0, 0 + beq _08035514 + ldr r4, _080354E4 @ =gUnknown_202063C + ldr r0, _080354E8 @ =gUnknown_2023D44 + adds r3, r5, r0 + ldrb r1, [r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrb r1, [r0, 0x1] + movs r7, 0x4 + negs r7, r7 + adds r2, r7, 0 + ands r1, r2 + mov r2, r10 + orrs r1, r2 + strb r1, [r0, 0x1] + mov r7, r8 + cmp r7, 0 + bne _080354F0 + ldr r0, _080354EC @ =gUnknown_2024018 + ldr r0, [r0] + ldr r2, [r0, 0x4] + adds r2, r6, r2 + ldrb r1, [r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrb r0, [r0, 0x3] + lsls r0, 26 + lsrs r0, 27 + strb r0, [r2, 0x6] + ldrb r1, [r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrb r1, [r0, 0x3] + mov r2, r9 + ands r1, r2 + strb r1, [r0, 0x3] + b _08035514 + .align 2, 0 +_080354E0: .4byte gUnknown_2023BCC +_080354E4: .4byte gUnknown_202063C +_080354E8: .4byte gUnknown_2023D44 +_080354EC: .4byte gUnknown_2024018 +_080354F0: + ldrb r0, [r3] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r4 + ldr r0, _08035530 @ =gUnknown_2024018 + ldr r0, [r0] + ldr r0, [r0, 0x4] + adds r0, r6, r0 + ldrb r1, [r0, 0x6] + movs r0, 0x1F + ands r1, r0 + lsls r1, 1 + ldrb r0, [r2, 0x3] + mov r3, r9 + ands r0, r3 + orrs r0, r1 + strb r0, [r2, 0x3] +_08035514: + adds r6, 0xC + adds r5, 0x1 + ldr r0, _08035534 @ =gUnknown_2023BCC + ldrb r0, [r0] + cmp r5, r0 + blt _0803547C +_08035520: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08035530: .4byte gUnknown_2024018 +_08035534: .4byte gUnknown_2023BCC + thumb_func_end sub_8035450 + + thumb_func_start sub_8035538 +sub_8035538: @ 8035538 + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r0, _08035614 @ =gUnknown_8250A0C + bl sub_800F034 + movs r0, 0x1 + bl sub_80751E8 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r0, _08035618 @ =gUnknown_8250A1C + mov r8, r0 + adds r0, r5, 0 + movs r1, 0 + bl sub_8074480 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8074480 + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 8 + movs r0, 0xE8 + lsls r0, 13 + adds r2, r0 + asrs r2, 16 + mov r0, r8 + adds r1, r4, 0 + movs r3, 0xC8 + bl sub_8006F8C + ldr r6, _0803561C @ =gUnknown_2024018 + ldr r1, [r6] + ldr r2, [r1, 0x4] + lsls r1, r5, 1 + adds r1, r5 + lsls r1, 2 + adds r2, r1, r2 + strb r0, [r2, 0x7] + ldr r7, _08035620 @ =gUnknown_202063C + ldr r0, [r6] + ldr r0, [r0, 0x4] + adds r1, r0 + ldrb r1, [r1, 0x7] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r7 + strh r5, [r0, 0x2E] + bl sub_8075290 + lsls r0, 24 + cmp r0, 0 + beq _0803560A + movs r0, 0x3 + bl sub_80751E8 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + adds r0, r5, 0 + movs r1, 0 + bl sub_8074480 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8074480 + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 8 + movs r0, 0xE8 + lsls r0, 13 + adds r2, r0 + asrs r2, 16 + mov r0, r8 + adds r1, r4, 0 + movs r3, 0xC8 + bl sub_8006F8C + ldr r1, [r6] + ldr r2, [r1, 0x4] + lsls r1, r5, 1 + adds r1, r5 + lsls r1, 2 + adds r2, r1, r2 + strb r0, [r2, 0x7] + ldr r0, [r6] + ldr r0, [r0, 0x4] + adds r1, r0 + ldrb r1, [r1, 0x7] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r7 + strh r5, [r0, 0x2E] +_0803560A: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08035614: .4byte gUnknown_8250A0C +_08035618: .4byte gUnknown_8250A1C +_0803561C: .4byte gUnknown_2024018 +_08035620: .4byte gUnknown_202063C + thumb_func_end sub_8035538 + + thumb_func_start sub_8035624 +sub_8035624: @ 8035624 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r5, r0, 0 + movs r0, 0 + mov r8, r0 + ldrh r0, [r5, 0x2E] + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08035668 @ =gUnknown_2023D44 + adds r0, r4, r0 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0803566C @ =gUnknown_202063C + adds r7, r0, r1 + adds r6, r7, 0 + adds r6, 0x3E + ldrb r1, [r6] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08035660 + adds r0, r4, 0 + bl sub_8075224 + lsls r0, 24 + cmp r0, 0 + bne _08035674 +_08035660: + ldr r0, _08035670 @ =sub_80356FC + str r0, [r5, 0x1C] + b _080356EA + .align 2, 0 +_08035668: .4byte gUnknown_2023D44 +_0803566C: .4byte gUnknown_202063C +_08035670: .4byte sub_80356FC +_08035674: + ldr r0, _08035690 @ =gUnknown_2037EE1 + ldrb r0, [r0] + cmp r0, 0 + bne _08035686 + ldrb r1, [r6] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _08035698 +_08035686: + movs r0, 0x1 + mov r8, r0 + ldr r2, _08035694 @ =gUnknown_2024018 + lsls r4, 2 + b _080356BA + .align 2, 0 +_08035690: .4byte gUnknown_2037EE1 +_08035694: .4byte gUnknown_2024018 +_08035698: + ldr r2, _080356F4 @ =gUnknown_2024018 + ldr r0, [r2] + ldr r0, [r0] + lsls r1, r4, 2 + adds r3, r1, r0 + ldrh r0, [r3, 0x2] + adds r4, r1, 0 + cmp r0, 0 + beq _080356BA + ldr r0, _080356F8 @ =gUnknown_823A004 + ldrh r1, [r3, 0x2] + adds r1, r0 + ldrb r0, [r1] + cmp r0, 0 + bne _080356BA + movs r0, 0x1 + mov r8, r0 +_080356BA: + ldr r0, [r2] + ldr r0, [r0] + adds r0, r4, r0 + ldrb r1, [r0] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _080356CE + movs r0, 0x1 + mov r8, r0 +_080356CE: + ldrh r0, [r7, 0x20] + strh r0, [r5, 0x20] + ldrh r0, [r7, 0x24] + strh r0, [r5, 0x24] + adds r2, r5, 0 + adds r2, 0x3E + mov r0, r8 + lsls r3, r0, 2 + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + orrs r0, r3 + strb r0, [r2] +_080356EA: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080356F4: .4byte gUnknown_2024018 +_080356F8: .4byte gUnknown_823A004 + thumb_func_end sub_8035624 + + thumb_func_start sub_80356FC +sub_80356FC: @ 80356FC + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + bx lr + thumb_func_end sub_80356FC + + thumb_func_start sub_8035708 +sub_8035708: @ 8035708 + push {r4-r6,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r6, r4, 0 + lsls r1, 16 + lsrs r5, r1, 16 + adds r0, r4, 0 + bl sub_80751C4 + lsls r0, 24 + cmp r0, 0 + beq _08035784 + ldr r0, _08035758 @ =gUnknown_2024018 + ldr r3, [r0] + ldr r1, [r3] + lsls r0, r4, 2 + adds r1, r0, r1 + ldrh r0, [r1, 0x2] + cmp r0, 0 + beq _08035732 + adds r5, r0, 0 +_08035732: + ldr r0, _0803575C @ =gUnknown_823A004 + adds r0, r5, r0 + ldrb r0, [r0] + cmp r0, 0 + beq _08035768 + ldr r2, _08035760 @ =gUnknown_202063C + ldr r1, [r3, 0x4] + lsls r0, r4, 1 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x7] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r2, 0x1C + adds r0, r2 + ldr r1, _08035764 @ =sub_8035624 + b _08035782 + .align 2, 0 +_08035758: .4byte gUnknown_2024018 +_0803575C: .4byte gUnknown_823A004 +_08035760: .4byte gUnknown_202063C +_08035764: .4byte sub_8035624 +_08035768: + ldr r2, _0803578C @ =gUnknown_202063C + ldr r1, [r3, 0x4] + lsls r0, r6, 1 + adds r0, r6 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x7] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r2, 0x1C + adds r0, r2 + ldr r1, _08035790 @ =sub_80356FC +_08035782: + str r1, [r0] +_08035784: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0803578C: .4byte gUnknown_202063C +_08035790: .4byte sub_80356FC + thumb_func_end sub_8035708 + + thumb_func_start sub_8035794 +sub_8035794: @ 8035794 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080357BC @ =gUnknown_202063C + ldr r1, _080357C0 @ =gUnknown_2024018 + ldr r1, [r1] + ldr r3, [r1, 0x4] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 2 + adds r1, r3 + ldrb r1, [r1, 0x7] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r2, 0x1C + adds r0, r2 + ldr r1, _080357C4 @ =sub_80356FC + str r1, [r0] + bx lr + .align 2, 0 +_080357BC: .4byte gUnknown_202063C +_080357C0: .4byte gUnknown_2024018 +_080357C4: .4byte sub_80356FC + thumb_func_end sub_8035794 + + thumb_func_start sub_80357C8 +sub_80357C8: @ 80357C8 + push {r4-r7,lr} + ldr r2, _08035894 @ =0x06000240 + movs r7, 0xF0 + lsls r7, 8 + movs r5, 0x8 +_080357D2: + movs r4, 0xF +_080357D4: + ldrh r1, [r2] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + bne _080357E4 + adds r0, r7, 0 + orrs r0, r1 + strh r0, [r2] +_080357E4: + ldrh r1, [r2] + movs r6, 0xF0 + lsls r6, 4 + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + bne _080357F8 + adds r0, r6, 0 + orrs r0, r1 + strh r0, [r2] +_080357F8: + ldrh r1, [r2] + movs r3, 0xF0 + movs r0, 0xF0 + ands r0, r1 + cmp r0, 0 + bne _0803580A + adds r0, r1, 0 + orrs r0, r3 + strh r0, [r2] +_0803580A: + ldrh r1, [r2] + movs r3, 0xF + movs r0, 0xF + ands r0, r1 + cmp r0, 0 + bne _0803581C + adds r0, r1, 0 + orrs r0, r3 + strh r0, [r2] +_0803581C: + adds r2, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _080357D4 + subs r5, 0x1 + cmp r5, 0 + bge _080357D2 + ldr r2, _08035898 @ =0x06000600 + movs r5, 0 + movs r7, 0xF0 + lsls r7, 8 +_08035832: + adds r3, r5, 0x1 + movs r4, 0xF +_08035836: + ldrh r1, [r2] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + bne _0803584A + movs r5, 0xC0 + lsls r5, 7 + adds r0, r5, 0 + orrs r0, r1 + strh r0, [r2] +_0803584A: + ldrh r1, [r2] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + bne _0803585E + movs r5, 0xC0 + lsls r5, 3 + adds r0, r5, 0 + orrs r0, r1 + strh r0, [r2] +_0803585E: + ldrh r1, [r2] + movs r0, 0xF0 + ands r0, r1 + cmp r0, 0 + bne _0803586E + movs r0, 0x60 + orrs r0, r1 + strh r0, [r2] +_0803586E: + ldrh r1, [r2] + movs r0, 0xF + ands r0, r1 + cmp r0, 0 + bne _0803587E + movs r0, 0x6 + orrs r0, r1 + strh r0, [r2] +_0803587E: + adds r2, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _08035836 + adds r5, r3, 0 + cmp r5, 0x11 + ble _08035832 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08035894: .4byte 0x06000240 +_08035898: .4byte 0x06000600 + thumb_func_end sub_80357C8 + + thumb_func_start sub_803589C +sub_803589C: @ 803589C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 24 + ldr r0, _080358CC @ =gUnknown_2024018 + ldr r0, [r0] + ldr r2, [r0] + lsls r0, r4, 2 + adds r0, r2 + movs r3, 0 + movs r2, 0 + strh r2, [r0, 0x2] + ldr r0, _080358D0 @ =gUnknown_2024024 + adds r0, r4, r0 + strb r3, [r0] + cmp r1, 0 + bne _080358C4 + adds r0, r4, 0 + bl sub_8035228 +_080358C4: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080358CC: .4byte gUnknown_2024018 +_080358D0: .4byte gUnknown_2024024 + thumb_func_end sub_803589C + + thumb_func_start sub_80358D4 +sub_80358D4: @ 80358D4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + movs r6, 0 + ldr r4, _080359A4 @ =gUnknown_202401C + str r6, [r4] + movs r0, 0xC0 + lsls r0, 1 + bl sub_8002BB0 + str r0, [r4] + movs r0, 0x80 + lsls r0, 8 + bl sub_8002BB0 + ldr r1, [r4] + str r0, [r1] +_080358FA: + ldr r0, _080359A4 @ =gUnknown_202401C + ldr r1, [r0] + lsls r4, r6, 2 + adds r2, r1, 0x4 + adds r2, r4 + lsls r3, r6, 13 + ldr r0, [r1] + adds r0, r3 + str r0, [r2] + lsls r3, r6, 1 + adds r0, r3, r6 + lsls r0, 3 + adds r1, r0, r1 + ldr r2, _080359A8 @ =gUnknown_825DEF0 + adds r1, 0x14 + adds r0, r2 + ldm r0!, {r2,r5,r7} + stm r1!, {r2,r5,r7} + ldm r0!, {r2,r5,r7} + stm r1!, {r2,r5,r7} + movs r5, 0 + mov r9, r3 + lsls r0, r6, 5 + mov r8, r0 + adds r1, r6, 0x1 + mov r10, r1 + mov r12, r8 + adds r7, r4, 0 +_08035932: + ldr r2, _080359A4 @ =gUnknown_202401C + ldr r1, [r2] + lsls r4, r5, 3 + add r4, r12 + adds r3, r1, 0 + adds r3, 0x74 + adds r3, r4 + adds r0, r1, 0x4 + adds r0, r7 + lsls r2, r5, 11 + ldr r0, [r0] + adds r0, r2 + str r0, [r3] + adds r1, r4 + adds r1, 0x78 + movs r0, 0x80 + lsls r0, 4 + strh r0, [r1] + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x3 + bls _08035932 + ldr r1, _080359A4 @ =gUnknown_202401C + ldr r2, [r1] + mov r5, r9 + adds r0, r5, r6 + lsls r0, 3 + adds r1, r2, 0 + adds r1, 0x20 + adds r1, r0 + mov r0, r8 + adds r0, 0x74 + adds r2, r0 + str r2, [r1] + mov r7, r10 + lsls r0, r7, 24 + lsrs r6, r0, 24 + cmp r6, 0x3 + bls _080358FA + movs r0, 0x80 + lsls r0, 5 + bl sub_8002BB0 + ldr r1, _080359A4 @ =gUnknown_202401C + ldr r1, [r1] + movs r2, 0xBA + lsls r2, 1 + adds r1, r2 + str r0, [r1] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080359A4: .4byte gUnknown_202401C +_080359A8: .4byte gUnknown_825DEF0 + thumb_func_end sub_80358D4 + + thumb_func_start sub_80359AC +sub_80359AC: @ 80359AC + push {r4-r6,lr} + ldr r6, _08035A24 @ =gUnknown_202401C + ldr r0, [r6] + cmp r0, 0 + beq _08035A1E + movs r1, 0xBE + lsls r1, 1 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0 + beq _080359D2 + bl sub_8002BC4 + ldr r0, [r6] + movs r1, 0xBE + lsls r1, 1 + adds r0, r1 + movs r1, 0 + str r1, [r0] +_080359D2: + ldr r0, [r6] + movs r1, 0xBC + lsls r1, 1 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0 + beq _080359F0 + bl sub_8002BC4 + ldr r0, [r6] + movs r1, 0xBC + lsls r1, 1 + adds r0, r1 + movs r1, 0 + str r1, [r0] +_080359F0: + ldr r0, [r6] + movs r5, 0xBA + lsls r5, 1 + adds r0, r5 + ldr r0, [r0] + bl sub_8002BC4 + ldr r0, [r6] + adds r5, r0, r5 + movs r4, 0 + str r4, [r5] + ldr r0, [r0] + bl sub_8002BC4 + ldr r0, [r6] + str r4, [r0] + str r4, [r0, 0x4] + str r4, [r0, 0x8] + str r4, [r0, 0xC] + str r4, [r0, 0x10] + bl sub_8002BC4 + str r4, [r6] +_08035A1E: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08035A24: .4byte gUnknown_202401C + thumb_func_end sub_80359AC + + thumb_func_start sub_8035A28 +sub_8035A28: @ 8035A28 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x37 + bl sub_803FBE8 + ldr r1, _08035A6C @ =0x00000fff + ands r1, r0 + cmp r1, 0 + bne _08035A70 + adds r0, r5, 0 + movs r1, 0x39 + bl sub_803FBE8 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + movs r1, 0x3A + bl sub_803FBE8 + adds r1, r0, 0 + lsls r4, 16 + asrs r4, 16 + lsls r1, 16 + asrs r1, 16 + adds r0, r4, 0 + bl sub_804A614 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + ble _08035A70 + movs r0, 0x1 + b _08035A72 + .align 2, 0 +_08035A6C: .4byte 0x00000fff +_08035A70: + movs r0, 0 +_08035A72: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8035A28 + + .align 2, 0 @ Don't pad with nop. |