.syntax unified .text push {r4, r5, r6, r7, lr} mov r7, sl mov r6, sb mov r5, r8 push {r5, r6, r7} sub sp, #8 adds r4, r0, #0 mov sb, r1 mov r8, r2 movs r0, #0x2e ldrsh r7, [r4, r0] movs r1, #0x32 ldrsh r6, [r4, r1] mov r2, sb subs r0, r2, r7 mov r5, r8 subs r1, r5, r6 bl sub_080045DA lsls r7, r7, #8 lsls r6, r6, #8 ldr r3, _08061058 @ =gSineTable lsls r1, r0, #1 adds r1, r1, r3 movs r5, #0 ldrsh r2, [r1, r5] lsls r1, r2, #1 adds r1, r1, r2 lsls r1, r1, #1 str r1, [sp] adds r0, #0x40 lsls r0, r0, #1 adds r0, r0, r3 movs r2, #0 ldrsh r1, [r0, r2] lsls r0, r1, #1 adds r0, r0, r1 lsls r0, r0, #1 str r0, [sp, #4] adds r4, #0x38 ldrb r0, [r4] ldr r5, _0806105C @ =gUnk_0200D654 mov sl, r5 cmp r0, #2 beq _0806102E ldr r0, _08061060 @ =gUnk_02027EB4 mov sl, r0 _0806102E: adds r1, r7, #0 cmp r7, #0 bge _08061036 adds r1, #0xff _08061036: asrs r5, r1, #8 adds r2, r6, #0 cmp r6, #0 bge _08061040 adds r2, #0xff _08061040: asrs r4, r2, #8 mov r0, sl adds r1, r5, #0 adds r2, r4, #0 movs r3, #6 bl sub_080AE4CC cmp r0, #0 beq _08061064 movs r0, #0 b _08061084 .align 2, 0 _08061058: .4byte gSineTable _0806105C: .4byte gUnk_0200D654 _08061060: .4byte gUnk_02027EB4 _08061064: mov r1, sb subs r0, r1, r5 adds r0, #6 cmp r0, #0xc bhi _08061078 mov r2, r8 subs r0, r2, r4 adds r0, #6 cmp r0, #0xc bls _08061082 _08061078: ldr r5, [sp] adds r7, r7, r5 ldr r0, [sp, #4] subs r6, r6, r0 b _0806102E _08061082: movs r0, #1 _08061084: add sp, #8 pop {r3, r4, r5} mov r8, r3 mov sb, r4 mov sl, r5 pop {r4, r5, r6, r7, pc} .syntax divided