Function at 0x18001ab40
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0x110
mov rax, qword [0x180139808]
mov rbx, qword [0x180139800]
add rax, 0x30c670
call rax
test rax, rax
je 0x18001b10e
test rbx, rbx
je 0x18001b10e
mov rax, qword [0x180139808]
add rax, 0x30c670
call rax
mov rcx, rax
call fcn.180015d60
test rax, rax
je 0x18001b10e
mov rcx, rbx
call fcn.180013f10
test al, al
jne 0x18001b10e
cmp byte [0x180139904], al
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0x130], rdi
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm7
movaps xmmword [rsp + 0xe0], xmm8
movaps xmmword [rsp + 0xd0], xmm9
movaps xmmword [rsp + 0xc0], xmm10
movaps xmmword [rsp + 0xb0], xmm11
movaps xmmword [rsp + 0xa0], xmm12
movaps xmmword [rsp + 0x90], xmm13
movaps xmmword [rsp + 0x80], xmm14
movaps xmmword [rsp + 0x70], xmm15
je 0x18001ac74
mov ecx, dword [0x180139918]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18001ac74
mov rax, qword [0x180139808]
add rax, 0x30c670
call rax
mov r8d, 0x2f
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.180015830
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
addss xmm1, dword [0x18010f360]
movss dword [rsp + 0x30], xmm0
movss xmm0, dword [rax + 8]
lea rax, [rsp + 0x30]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x34], xmm1
jmp 0x18001ac96
mov rax, qword [0x180139808]
add rax, 0x30c670
call rax
mov r8d, 0x2f
lea rdx, [rsp + 0x5c]
mov rcx, rax
call fcn.180015830
movsd xmm0, qword [rax]
lea rdx, [rsp + 0x20]
mov edi, dword [rax + 8]
mov r8d, 0x2f
mov rcx, rbx
movsd qword [rsp + 0x40], xmm0
call fcn.180015830
mov rax, qword [0x180139808]
add rax, 0x30c670
call rax
mov rcx, rax
call fcn.180015d60
mov rcx, rax
call fcn.180015200
mov ecx, eax
call fcn.18001a5f0
movss dword [rsp + 0x120], xmm0
call fcn.18001a640
add rbx, 0x4a8
movaps xmm15, xmm0
xorps xmm12, xmm12
movabs rsi, 0x7fffffff0000
cmp rbx, 0x40000
jbe 0x18001ad3e
lea rax, [rbx + 8]
cmp rax, rsi
jae 0x18001ad3e
mov rcx, qword [rbx]
add rcx, 0x1fc
cmp rcx, 0x40000
jbe 0x18001ad3e
lea rax, [rcx + 0xc]
cmp rax, rsi
jae 0x18001ad3e
movsd xmm13, qword [rcx]
movss xmm14, dword [rcx + 8]
jmp 0x18001ad46
xorps xmm14, xmm14
xorps xmm13, xmm13
movss xmm4, dword [rsp + 0x20]
xorps xmm3, xmm3
movss xmm5, dword [rsp + 0x28]
movaps xmm2, xmm4
movss xmm11, dword [rsp + 0x40]
movaps xmm1, xmm5
movss xmm6, dword [0x18010f2ec]
subss xmm2, xmm11
movss xmm8, dword [rsp + 0x24]
mov eax, 0x5f3759df
movss xmm10, dword [rsp + 0x44]
movaps xmm7, xmm8
mulss xmm13, dword [0x18010f248]
subss xmm7, xmm10
mulss xmm14, dword [0x18010f248]
mulss xmm2, xmm2
movaps xmm0, xmm7
movd xmm9, edi
mulss xmm0, xmm7
subss xmm1, xmm9
addss xmm2, xmm0
movaps xmm0, xmm6
divss xmm0, xmm15
mulss xmm1, xmm1
addss xmm2, xmm1
sqrtss xmm3, xmm2
mulss xmm3, xmm0
mulss xmm13, xmm3
mulss xmm14, xmm3
movss xmm3, dword [0x18010f470]
addss xmm13, xmm4
movaps xmm2, xmm3
addss xmm14, xmm5
movaps xmm0, xmm13
movss dword [rsp + 0x20], xmm13
subss xmm0, xmm11
movaps xmm1, xmm14
movss dword [rsp + 0x28], xmm14
subss xmm1, xmm9
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movd ecx, xmm1
movaps xmm4, xmm1
mulss xmm4, dword [0x18010f1b0]
sar ecx, 1
sub eax, ecx
movd xmm1, eax
movaps xmm0, xmm1
mulss xmm0, xmm4
mulss xmm0, xmm1
subss xmm2, xmm0
mulss xmm2, xmm1
movaps xmm0, xmm2
mulss xmm0, xmm4
mulss xmm0, xmm2
subss xmm3, xmm0
cvtps2pd xmm0, xmm7
mulss xmm3, xmm2
movaps xmm2, xmm15
divss xmm6, xmm3
movss xmm3, dword [rsp + 0x120]
cvtps2pd xmm1, xmm6
call fcn.18001a130
xorps xmm1, xmm1
subss xmm11, xmm13
cvtsd2ss xmm1, xmm0
subss xmm9, xmm14
addss xmm8, xmm1
movaps xmm1, xmm11
mulss xmm1, xmm11
movaps xmm2, xmm9
mulss xmm2, xmm9
subss xmm10, xmm8
movss dword [rsp + 0x24], xmm8
movaps xmm3, xmm10
mulss xmm3, xmm10
addss xmm3, xmm1
addss xmm3, xmm2
xorps xmm2, xmm2
sqrtss xmm2, xmm3
divss xmm10, xmm2
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_asinf
xorps xmm9, xmmword [0x18010fe80]
movaps xmm10, xmm0
mulss xmm10, dword [0x18010f698]
movaps xmm1, xmm9
movaps xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
mov rax, qword [0x180139808]
movaps xmm7, xmm0
mulss xmm7, dword [0x18010f854]
add rax, 0x30c670
call rax
movaps xmm15, xmmword [rsp + 0x70]
add rax, 0x4c8
movaps xmm14, xmmword [rsp + 0x80]
mov rdi, qword [rsp + 0x130]
cmp rax, 0x40000
jbe 0x18001af5a
lea rcx, [rax + 8]
cmp rcx, rsi
jae 0x18001af5a
mov rcx, qword [rax]
add rcx, 0x3c
cmp rcx, 0x40000
jbe 0x18001af5a
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x18001af5a
movss xmm0, dword [rcx]
movss xmm1, dword [rcx + 4]
jmp 0x18001af60
xorps xmm1, xmm1
xorps xmm0, xmm0
movss xmm9, dword [0x18010f858]
subss xmm10, xmm0
movss xmm13, dword [0x18010f6d4]
subss xmm7, xmm1
comiss xmm10, xmm9
jae 0x18001af87
movaps xmm10, xmm9
jmp 0x18001af8c
minss xmm10, xmm13
movss xmm11, dword [0x18010f86c]
comiss xmm7, xmm11
movss xmm8, dword [0x18010f754]
jae 0x18001afab
addss xmm7, xmm8
jmp 0x18001afb6
comiss xmm7, xmm8
jbe 0x18001afb6
subss xmm7, xmm8
mov rax, qword [0x180139808]
add rax, 0x30c670
call rax
add rax, 0x4c8
cmp rax, 0x40000
jbe 0x18001b001
lea rcx, [rax + 8]
cmp rcx, rsi
jae 0x18001b001
mov rcx, qword [rax]
add rcx, 0x3c
cmp rcx, 0x40000
jbe 0x18001b001
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x18001b001
movss xmm12, dword [rcx]
movss xmm6, dword [rcx + 4]
jmp 0x18001b004
xorps xmm6, xmm6
cmp byte [0x18013985b], 0
addss xmm12, xmm10
movaps xmm10, xmmword [rsp + 0xc0]
addss xmm6, xmm7
movaps xmm7, xmmword [rsp + 0xf0]
movss dword [rsp + 0x120], xmm12
movss dword [rsp + 0x124], xmm6
je 0x18001b05a
lea rcx, [rsp + 0x120]
call fcn.18001a890
movss xmm6, dword [rsp + 0x124]
movss xmm12, dword [rsp + 0x120]
comiss xmm12, xmm9
jae 0x18001b066
movaps xmm12, xmm9
jmp 0x18001b070
comiss xmm12, xmm13
jbe 0x18001b070
movaps xmm12, xmm13
comiss xmm6, xmm11
movaps xmm13, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xd0]
jae 0x18001b08f
addss xmm6, xmm8
jmp 0x18001b09a
comiss xmm6, xmm8
jbe 0x18001b09a
addss xmm6, xmm11
mov rax, qword [0x180139808]
add rax, 0x30c670
call rax
movaps xmm11, xmmword [rsp + 0xb0]
add rax, 0x4c8
movaps xmm8, xmmword [rsp + 0xe0]
cmp rax, 0x40000
jbe 0x18001b0f5
lea rcx, [rax + 8]
cmp rcx, rsi
jae 0x18001b0f5
mov rcx, qword [rax]
add rcx, 0x3c
cmp rcx, 0x40000
jbe 0x18001b0f5
lea rax, [rcx + 8]
cmp rax, rsi
jae 0x18001b0f5
movss dword [rcx], xmm12
movss dword [rcx + 4], xmm6
movaps xmm6, xmmword [rsp + 0x100]
mov rsi, qword [rsp + 0x128]
movaps xmm12, xmmword [rsp + 0xa0]
add rsp, 0x110
pop rbx
ret