Function at 0x180003670
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1b0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1800a7048]
xor rax, rsp
mov qword [rbp + 8], rax
mov rdi, rdx
xor r12d, r12d
movzx ecx, byte [0x1800a99b4]
test cl, cl
jne 0x180003734
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a99b8], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [0x1800a99c0], rax
mov cl, 1
mov byte [0x1800a99b4], cl
jmp 0x18000373b
mov rax, qword [0x1800a99c0]
cmp byte [rax + 0x4ac], r12b
je 0x18000483f
test cl, cl
jne 0x18000378e
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a99b8], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [0x1800a99c0], rax
mov byte [0x1800a99b4], 1
cmp byte [rax + 0x4c2], r12b
je 0x1800037ad
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x18000483f
mov rcx, rdi
call fcn.180014fa0
mov r14, rax
mov rcx, rdi
call fcn.180015150
mov rsi, rax
mov rcx, rdi
call fcn.180015970
mov rbx, rax
test r14, r14
je 0x18000483f
test rsi, rsi
je 0x18000483f
test rax, rax
je 0x18000483f
movzx ecx, byte [0x1800a99b4]
test cl, cl
jne 0x180003839
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a99b8], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [0x1800a99c0], rax
mov cl, 1
mov byte [0x1800a99b4], cl
jmp 0x180003840
mov rax, qword [0x1800a99c0]
cmp byte [rax + 0x4c0], r12b
je 0x180003875
mov rdx, rdi
mov rcx, r14
call fcn.180014730
mov rdx, rdi
mov rcx, rax
call fcn.180012100
test al, al
je 0x18000483f
movzx ecx, byte [0x1800a99b4]
mov rax, qword [0x1800a99c0]
test cl, cl
jne 0x1800038bb
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a99b8], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [0x1800a99c0], rax
mov byte [0x1800a99b4], 1
cmp byte [rax + 0x4c1], r12b
jne 0x1800038d7
mov rdx, rdi
mov rcx, rbx
call fcn.1800122f0
test al, al
jne 0x18000483f
mov r8, rdi
lea rdx, [rsp + 0x30]
mov rcx, r14
call fcn.180013440
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, qword [0x1800a9a10]
movsd xmm15, qword [rsp + 0x40]
movsd xmm10, qword [rsp + 0x38]
movsd xmm9, qword [rsp + 0x30]
movsd xmm7, qword [0x1800981e0]
cmp rax, 0x64
jbe 0x180003a45
movsd xmm8, qword [0x1800982c8]
mov r8, rdi
lea rdx, [rbp - 0x10]
mov rcx, rsi
call fcn.1800165a0
nop
mov rsi, qword [rbp - 0x10]
mov rbx, rsi
mov r15, qword [rbp - 8]
cmp rsi, r15
je 0x1800039f3
nop dword [rax + rax]
mov rax, qword [rdi]
mov r9, qword [rax + 0xc0]
mov r8, r14
mov rdx, qword [rbx]
mov rcx, rdi
call r9
test al, al
jne 0x1800039e6
mov r8, rdi
lea rdx, [rbp - 0x30]
mov rcx, qword [rbx]
call fcn.180013440
movaps xmm0, xmm10
subsd xmm0, qword [rbp - 0x28]
movaps xmm1, xmm7
call fcn.18006ab10
movaps xmm6, xmm0
movaps xmm0, xmm9
subsd xmm0, qword [rbp - 0x30]
movaps xmm1, xmm7
call fcn.18006ab10
addsd xmm6, xmm0
movaps xmm0, xmm15
subsd xmm0, qword [rbp - 0x20]
movaps xmm1, xmm7
call fcn.18006ab10
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x1800039c9
xorps xmm0, xmm0
sqrtsd xmm0, xmm6
jmp 0x1800039d1
movaps xmm0, xmm6
call fcn.18006d778
comisd xmm8, xmm0
jb 0x1800039e6
movaps xmm8, xmm0
mov rax, qword [rbx]
mov qword [0x1800a9a18], rax
add rbx, 8
cmp rbx, r15
jne 0x180003950
test rsi, rsi
je 0x180003a38
mov rax, qword [rbp]
sub rax, rsi
sar rax, 3
lea rdx, [rax*8]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180003a30
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800048b0
mov rcx, rsi
call fcn.18004a6ec
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov qword [0x1800a9a10], rax
mov rcx, qword [0x1800a9a18]
test rcx, rcx
je 0x18000484a
mov rdx, rdi
call fcn.1800139e0
xorps xmm14, xmm14
comiss xmm14, xmm0
jae 0x18000484a
mov r8, rdi
lea rdx, [rbp - 0x30]
mov rcx, qword [0x1800a9a18]
call fcn.180013440
movsd xmm11, qword [rbp - 0x30]
movaps xmm8, xmm11
subsd xmm8, xmm9
movsd xmm12, qword [rbp - 0x20]
movaps xmm9, xmm12
subsd xmm9, xmm15
movsd xmm13, qword [rbp - 0x28]
movaps xmm0, xmm13
subsd xmm0, xmm10
movaps xmm1, xmm7
call fcn.18006ab10
movaps xmm6, xmm0
movaps xmm1, xmm7
movaps xmm0, xmm8
call fcn.18006ab10
addsd xmm6, xmm0
movaps xmm1, xmm7
movaps xmm0, xmm9
call fcn.18006ab10
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x180003ae5
sqrtsd xmm6, xmm6
jmp 0x180003af0
movaps xmm0, xmm6
call fcn.18006d778
movaps xmm6, xmm0
cmp byte [0x1800a99b4], 0
jne 0x180003b3d
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a99b8], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [0x1800a99c0], rax
mov byte [0x1800a99b4], 1
jmp 0x180003b44
mov rax, qword [0x1800a99c0]
movss xmm0, dword [rax + 0x4b4]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm6
jb 0x18000484a
mov rdx, rdi
mov rcx, r14
call fcn.180013050
mov rdx, rdi
mov rcx, r14
call fcn.180012f30
movss dword [rsp + 0x68], xmm0
mov rdx, rdi
mov rcx, r14
call fcn.180012e10
movss dword [rsp + 0x6c], xmm0
movzx esi, byte [0x1800a99b4]
test sil, sil
jne 0x180003bdc
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a99b8], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rbx, rax
mov qword [0x1800a99c0], rax
mov sil, 1
mov byte [0x1800a99b4], sil
jmp 0x180003be3
mov rbx, qword [0x1800a99c0]
cmp dword [rbx + 0x4c4], 1
jne 0x1800040a9
movaps xmm1, xmm11
movsd xmm0, qword [0x180098190]
subsd xmm1, xmm0
movsd qword [rsp + 0x70], xmm1
movsd qword [rsp + 0x78], xmm13
movaps xmm2, xmm12
addsd xmm2, xmm0
movsd qword [rbp - 0x80], xmm2
movsd qword [rbp - 0x78], xmm1
movsd qword [rbp - 0x70], xmm13
subsd xmm12, xmm0
movsd qword [rbp - 0x68], xmm12
addsd xmm11, xmm0
movsd qword [rbp - 0x60], xmm11
movsd qword [rbp - 0x58], xmm13
movsd qword [rbp - 0x50], xmm12
movsd qword [rbp - 0x48], xmm11
movsd qword [rbp - 0x40], xmm13
movsd qword [rbp - 0x38], xmm2
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r12
mov edx, 4
lea rcx, [rbp - 0x30]
call fcn.1800049c0
mov rbx, qword [rbp - 0x30]
mov r8d, 0x60
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.18004c840
add rbx, 0x60
mov qword [rbp - 0x28], rbx
mov rsi, qword [rbp - 0x30]
sub rbx, rsi
movabs r15, 0x2aaaaaaaaaaaaaab
mov rax, r15
imul rbx
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
je 0x1800048ce
movsd xmm0, qword [rsi + 8]
subsd xmm0, xmm10
movaps xmm1, xmm7
call fcn.18006ab10
movaps xmm6, xmm0
movsd xmm0, qword [rsi]
movsd xmm12, qword [rsp + 0x30]
subsd xmm0, xmm12
movaps xmm1, xmm7
call fcn.18006ab10
addsd xmm6, xmm0
movsd xmm0, qword [rsi + 0x10]
subsd xmm0, xmm15
movaps xmm1, xmm7
call fcn.18006ab10
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x180003d1a
xorps xmm11, xmm11
sqrtsd xmm11, xmm6
jmp 0x180003d26
movaps xmm0, xmm6
call fcn.18006d778
movaps xmm11, xmm0
cmp rbx, 1
jbe 0x1800048ce
movsd xmm0, qword [rsi + 0x20]
subsd xmm0, xmm10
movaps xmm1, xmm7
call fcn.18006ab10
movaps xmm6, xmm0
movsd xmm0, qword [rsi + 0x18]
subsd xmm0, xmm12
movaps xmm1, xmm7
call fcn.18006ab10
addsd xmm6, xmm0
movsd xmm0, qword [rsi + 0x28]
subsd xmm0, xmm15
movaps xmm1, xmm7
call fcn.18006ab10
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x180003d85
xorps xmm9, xmm9
sqrtsd xmm9, xmm6
jmp 0x180003d91
movaps xmm0, xmm6
call fcn.18006d778
movaps xmm9, xmm0
cmp rbx, 2
jbe 0x1800048ce
movsd xmm0, qword [rsi + 0x38]
subsd xmm0, xmm10
movaps xmm1, xmm7
call fcn.18006ab10
movaps xmm6, xmm0
movsd xmm0, qword [rsi + 0x30]
subsd xmm0, xmm12
movaps xmm1, xmm7
call fcn.18006ab10
addsd xmm6, xmm0
movsd xmm0, qword [rsi + 0x40]
subsd xmm0, xmm15
movaps xmm1, xmm7
call fcn.18006ab10
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x180003df0
xorps xmm8, xmm8
sqrtsd xmm8, xmm6
jmp 0x180003dfc
movaps xmm0, xmm6
call fcn.18006d778
movaps xmm8, xmm0
cmp rbx, 3
jbe 0x1800048ce
movsd xmm0, qword [rsi + 0x50]
subsd xmm0, xmm10
movaps xmm1, xmm7
call fcn.18006ab10
movaps xmm6, xmm0
movsd xmm0, qword [rsi + 0x48]
subsd xmm0, xmm12
movaps xmm1, xmm7
call fcn.18006ab10
addsd xmm6, xmm0
movsd xmm0, qword [rsi + 0x58]
subsd xmm0, xmm15
movaps xmm1, xmm7
call fcn.18006ab10
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x180003e56
sqrtsd xmm6, xmm6
jmp 0x180003e61
movaps xmm0, xmm6
call fcn.18006d778
movaps xmm6, xmm0
xorps xmm1, xmm1
movsd qword [rsp + 0x48], xmm11
movsd qword [rsp + 0x50], xmm9
movsd qword [rsp + 0x58], xmm8
movsd qword [rsp + 0x60], xmm6
movdqu xmmword [rbp - 0x10], xmm1
mov qword [rbp], r12
mov ecx, 0x20
call fcn.18004a330
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
lea rbx, [rax + 0x20]
mov qword [rbp], rbx
mov r8d, 0x20
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.18004c840
mov qword [rbp - 8], rbx
mov rax, rbx
mov r8, qword [rbp - 0x10]
sub rax, r8
sar rax, 3
test rax, rax
je 0x180003f4c
mov r9, r12
mov r10d, 1
nop dword [rax]
mov r11, r10
mov rcx, r10
mov rax, rbx
sub rax, r8
sar rax, 3
cmp r10, rax
jae 0x180003f36
mov rdx, r8
nop dword [rax + rax]
movsd xmm1, qword [r9 + rdx]
movsd xmm0, qword [rdx + rcx*8]
comisd xmm1, xmm0
jbe 0x180003f24
movsd qword [r9 + rdx], xmm0
movsd qword [rdx + rcx*8], xmm1
mov rbx, qword [rbp - 8]
mov r8, qword [rbp - 0x10]
inc rcx
mov rax, rbx
sub rax, r8
sar rax, 3
cmp rcx, rax
jb 0x180003f00
inc r10
add r9, 8
mov rcx, rbx
sub rcx, r8
sar rcx, 3
cmp r11, rcx
jb 0x180003ee0
mov rcx, qword [rbp - 0x28]
mov r9, qword [rbp - 0x30]
sub rcx, r9
mov rax, r15
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1800048c8
movups xmm0, xmmword [r9]
movups xmmword [rsp + 0x30], xmm0
movsd xmm1, qword [r9 + 0x10]
movsd qword [rsp + 0x40], xmm1
sub rbx, r8
sar rbx, 3
test rbx, rbx
je 0x1800048b6
movsd xmm2, qword [r8]
ucomisd xmm2, xmm11
jp 0x180003faf
jne 0x180003faf
movups xmmword [rsp + 0x30], xmm0
movsd qword [rsp + 0x40], xmm1
ucomisd xmm2, xmm9
jp 0x180003fd8
jne 0x180003fd8
cmp rdx, 1
jbe 0x1800048c8
movups xmm0, xmmword [r9 + 0x18]
movups xmmword [rsp + 0x30], xmm0
movsd xmm1, qword [r9 + 0x28]
movsd qword [rsp + 0x40], xmm1
ucomisd xmm2, xmm8
jp 0x180004001
jne 0x180004001
cmp rdx, 2
jbe 0x1800048c8
movups xmm0, xmmword [r9 + 0x30]
movups xmmword [rsp + 0x30], xmm0
movsd xmm1, qword [r9 + 0x40]
movsd qword [rsp + 0x40], xmm1
ucomisd xmm2, xmm6
jp 0x180004029
jne 0x180004029
cmp rdx, 3
jbe 0x1800048c8
movups xmm0, xmmword [r9 + 0x48]
movups xmmword [rsp + 0x30], xmm0
movsd xmm1, qword [r9 + 0x58]
movsd qword [rsp + 0x40], xmm1
movsd xmm8, qword [rsp + 0x30]
subsd xmm8, xmm12
movsd xmm9, qword [rsp + 0x40]
subsd xmm9, xmm15
test r8, r8
je 0x180004092
mov rax, qword [rbp]
sub rax, r8
sar rax, 3
lea rdx, [rax*8]
mov rax, r8
cmp rdx, 0x1000
jb 0x18000407e
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800048bc
mov rcx, r8
call fcn.18004a6ec
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x10], xmm0
mov qword [rbp], r12
lea rcx, [rbp - 0x30]
call fcn.180004920
movzx esi, byte [0x1800a99b4]
mov rbx, qword [0x1800a99c0]
cvtpd2ps xmm0, xmm9
cvtpd2ps xmm1, xmm8
call fcn.180069a80
mulss xmm0, dword [0x180098294]
divss xmm0, dword [0x180098214]
subss xmm0, dword [0x180098288]
subss xmm0, dword [rsp + 0x68]
movss xmm7, dword [0x1800982a0]
movaps xmm1, xmm7
call fcn.18006a8c4
movaps xmm9, xmm0
comiss xmm9, dword [0x180098294]
jb 0x1800040fd
addss xmm9, dword [0x1800982e4]
movss xmm1, dword [0x1800982e0]
comiss xmm1, xmm9
jbe 0x180004110
addss xmm9, xmm7
movaps xmm6, xmm9
movss xmm11, dword [0x1800985f0]
andps xmm6, xmm11
test sil, sil
jne 0x18000416e
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a99b8], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rbx, rax
mov qword [0x1800a99c0], rax
mov sil, 1
mov byte [0x1800a99b4], sil
cvttss2si eax, xmm6
cmp eax, dword [rbx + 0x4b8]
jg 0x18000484a
comiss xmm6, dword [0x1800981d8]
jbe 0x18000484a
test sil, sil
jne 0x1800041d5
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a99b8], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rbx, rax
mov qword [0x1800a99c0], rax
mov byte [0x1800a99b4], 1
call fcn.1800511c0
xorps xmm8, xmm8
cvtsi2ss xmm8, eax
movss xmm12, dword [0x1800982bc]
divss xmm8, xmm12
mulss xmm8, dword [0x180098158]
subss xmm8, dword [0x180098150]
addss xmm8, dword [rbx + 0x4bc]
call fcn.1800511c0
xorps xmm7, xmm7
cvtsi2ss xmm7, eax
divss xmm7, xmm12
call fcn.1800511c0
xorps xmm10, xmm10
cvtsi2ss xmm10, eax
divss xmm10, xmm12
mulss xmm10, dword [0x180098248]
addss xmm10, dword [0x180098150]
addss xmm10, xmm8
mulss xmm7, dword [0x180098110]
addss xmm7, dword [0x180098104]
mulss xmm10, xmm7
mulss xmm10, xmm9
movaps xmm1, xmm10
andps xmm1, xmm11
movss xmm0, dword [0x18009824c]
comiss xmm0, xmm1
jb 0x180004291
mov edx, 8
lea ecx, [rdx - 7]
call fcn.180020020
cmp eax, 2
jg 0x180004291
mulss xmm10, dword [0x1800982dc]
call fcn.1800511c0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, xmm12
mulss xmm0, dword [0x1800980e0]
movss xmm6, dword [0x1800980e4]
subss xmm6, xmm0
mulss xmm6, xmm10
mov rdx, rdi
mov rcx, r14
call fcn.180012f30
movaps xmm7, xmm0
addss xmm7, xmm6
mov rdx, rdi
mov rcx, r14
call fcn.180013050
movaps xmm8, xmm0
addss xmm8, xmm6
test rdi, rdi
je 0x1800044a8
mov rax, qword [rdi]
mov r8, qword [rax + 0xf8]
mov rdx, r14
mov rcx, rdi
call r8
mov rbx, rax
test rax, rax
je 0x1800043cb
mov r8d, 1
lea rdx, str.rotationYaw
lea rcx, [rsp + 0x48]
call fcn.18001e0e0
mov r8, rax
cmp qword [rax + 0x18], 0x10
jb 0x18000432d
mov r8, qword [rax]
mov rax, qword [rdi]
mov r10, qword [rax + 0x2f0]
lea r9, [0x180096c9c]
mov rdx, rbx
mov rcx, rdi
call r10
mov rsi, rax
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x180004387
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180004382
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800048c2
call fcn.18004a6ec
movdqa xmm0, xmmword [0x180098300]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
mov rax, qword [rdi]
mov r8, qword [rax + 0xb8]
mov rdx, rbx
mov rcx, rdi
call r8
test rsi, rsi
je 0x1800043cb
mov rax, qword [rdi]
mov r9, qword [rax + 0x378]
movaps xmm3, xmm7
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call r9
mov rax, qword [rdi]
mov r8, qword [rax + 0xf8]
mov rdx, r14
mov rcx, rdi
call r8
mov rbx, rax
test rax, rax
je 0x1800044a8
mov r8d, 1
lea rdx, str.prevRotationYaw
lea rcx, [rbp - 0x30]
call fcn.18001e0e0
mov r8, rax
cmp qword [rax + 0x18], 0x10
jb 0x18000440d
mov r8, qword [rax]
mov rax, qword [rdi]
mov r10, qword [rax + 0x2f0]
lea r9, [0x180096c9c]
mov rdx, rbx
mov rcx, rdi
call r10
mov rsi, rax
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x180004465
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180004460
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800048d4
call fcn.18004a6ec
movdqa xmm0, xmmword [0x180098300]
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0
mov rax, qword [rdi]
mov r8, qword [rax + 0xb8]
mov rdx, rbx
mov rcx, rdi
call r8
test rsi, rsi
je 0x1800044a8
mov rax, qword [rdi]
mov r9, qword [rax + 0x378]
movaps xmm3, xmm8
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call r9
cmp byte [0x1800a99b4], 0
jne 0x1800044f5
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a99b8], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [0x1800a99c0], rax
mov byte [0x1800a99b4], 1
jmp 0x1800044fc
mov rax, qword [0x1800a99c0]
cmp byte [rax + 0x4c3], 0
je 0x18000484a
movss xmm0, dword [0x1800a9a0c]
movss xmm6, dword [rsp + 0x6c]
ucomiss xmm0, xmm6
jp 0x18000482a
jne 0x18000482a
mov edx, 0xa
lea ecx, [rdx - 9]
call fcn.180020020
cmp eax, 1
jne 0x18000482a
andps xmm6, xmm11
movss xmm0, dword [0x180098284]
comiss xmm0, xmm6
jbe 0x18000482a
call fcn.1800511c0
movd xmm6, eax
cvtdq2ps xmm6, xmm6
divss xmm6, xmm12
mulss xmm6, dword [0x1800980fc]
subss xmm6, dword [0x1800980f4]
mov rdx, rdi
mov rcx, r14
call fcn.180012e10
movaps xmm7, xmm0
addss xmm7, xmm6
test rdi, rdi
je 0x18000482a
mov rax, qword [rdi]
mov r8, qword [rax + 0xf8]
mov rdx, r14
mov rcx, rdi
call r8
mov rbx, rax
test rax, rax
je 0x18000466e
mov r8d, 1
lea rdx, str.rotationPitch
lea rcx, [rsp + 0x48]
call fcn.18001e0e0
mov r8, rax
cmp qword [rax + 0x18], 0x10
jb 0x1800045d0
mov r8, qword [rax]
mov rax, qword [rdi]
mov r10, qword [rax + 0x2f0]
lea r9, [0x180096c9c]
mov rdx, rbx
mov rcx, rdi
call r10
mov rsi, rax
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x18000462a
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180004625
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800048da
call fcn.18004a6ec
movdqa xmm0, xmmword [0x180098300]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
mov rax, qword [rdi]
mov r8, qword [rax + 0xb8]
mov rdx, rbx
mov rcx, rdi
call r8
test rsi, rsi
je 0x18000466e
mov rax, qword [rdi]
mov r9, qword [rax + 0x378]
movaps xmm3, xmm7
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call r9
mov rax, qword [rdi]
mov r8, qword [rax + 0xf8]
mov rdx, r14
mov rcx, rdi
call r8
mov rbx, rax
test rax, rax
je 0x180004750
mov r8d, 1
lea rdx, str.prevRotationPitch
lea rcx, [rsp + 0x48]
call fcn.18001e0e0
mov r8, rax
cmp qword [rax + 0x18], 0x10
jb 0x1800046b1
mov r8, qword [rax]
mov rax, qword [rdi]
mov r10, qword [rax + 0x2f0]
lea r9, [0x180096c9c]
mov rdx, rbx
mov rcx, rdi
call r10
mov rsi, rax
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x18000470b
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180004706
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800048e0
call fcn.18004a6ec
movdqa xmm0, xmmword [0x180098300]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], 0
mov rax, qword [rdi]
mov r8, qword [rax + 0xb8]
mov rdx, rbx
mov rcx, rdi
call r8
test rsi, rsi
je 0x180004750
mov rax, qword [rdi]
mov r9, qword [rax + 0x330]
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call r9
movaps xmm14, xmm0
addss xmm14, xmm6
mov rax, qword [rdi]
mov r9, qword [rax + 0xf8]
mov rdx, r14
mov rcx, rdi
call r9
mov rbx, rax
test rax, rax
je 0x18000482a
mov r8d, 1
lea rdx, str.prevRotationPitch
lea rcx, [rbp - 0x30]
call fcn.18001e0e0
mov r8, rax
cmp qword [rax + 0x18], 0x10
jb 0x180004797
mov r8, qword [rax]
mov rax, qword [rdi]
mov r10, qword [rax + 0x2f0]
lea r9, [0x180096c9c]
mov rdx, rbx
mov rcx, rdi
call r10
mov rsi, rax
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x1800047ef
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800047ea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800048aa
call fcn.18004a6ec
movdqa xmm0, xmmword [0x180098300]
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0
mov rax, qword [rdi]
mov rdx, rbx
mov rcx, rdi
call qword [rax + 0xb8]
test rsi, rsi
je 0x18000482a
mov rax, qword [rdi]
movaps xmm3, xmm14
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call qword [rax + 0x378]
mov rdx, rdi
mov rcx, r14
call fcn.180012e10
movss dword [0x1800a9a0c], xmm0
jmp 0x18000484a
mov ecx, 5
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.18004a310
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.1800510f0
int3
call fcn.1800510f0
nop
call fcn.180004900
nop
call fcn.1800510f0
nop
call fcn.1800510f0
nop
call fcn.180004900
nop
call fcn.180004900
nop
call fcn.1800510f0
int3
call fcn.1800510f0
int3
call fcn.1800510f0
int3