Function at 0x18003c9c0
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
sub rsp, 0x80
cmp byte [0x180139a98], 0
mov rsi, rcx
je 0x18003cc44
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18003cc44
mov rax, qword [0x1801399c8]
mov qword [rsp + 0x98], rbx
mov rbx, qword [rsi]
mov qword [rsp + 0xa0], rdi
mov rdi, qword [rsi + 8]
movaps xmmword [rsp + 0x70], xmm6
movss xmm6, dword [rax + 0x14]
mulss xmm6, dword [0x1801313b4]
movaps xmmword [rsp + 0x60], xmm7
movss xmm7, dword [rax + 0x10]
xor eax, eax
mulss xmm7, dword [0x1801313b4]
mov qword [rsp + 0x30], rax
movaps xmmword [rsp + 0x50], xmm8
movss xmm8, dword [0x18013149c]
cmp rbx, rdi
je 0x18003cc24
movaps xmmword [rsp + 0x40], xmm9
movss xmm9, dword [0x1801392a4]
mulss xmm9, dword [0x180131458]
nop word [rax + rax]
movaps xmm0, xmm7
movaps xmm1, xmm6
subss xmm0, dword [rbx]
subss xmm1, dword [rbx + 4]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x18003ca9c
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x18003caa4
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm9, xmm0
jb 0x18003cabe
comiss xmm8, xmm0
jbe 0x18003cabe
movaps xmm8, xmm0
movsd xmm0, qword [rbx]
movsd qword [rsp + 0x30], xmm0
add rbx, 0xc
cmp rbx, rdi
jne 0x18003ca70
ucomiss xmm8, dword [0x18013149c]
jp 0x18003cad7
je 0x18003cc1e
movss xmm5, dword [rsp + 0x30]
xorps xmm4, xmm4
ucomiss xmm5, xmm4
movss xmm8, dword [0x1801392a8]
xorps xmm3, xmm3
movss xmm9, dword [0x180131580]
xorps xmm2, xmm2
jp 0x18003caff
je 0x18003cb47
comiss xmm5, xmm7
jbe 0x18003cb2a
movaps xmm3, xmm7
movaps xmm1, xmm7
subss xmm3, xmm5
movaps xmm0, xmm7
addss xmm0, xmm7
xorps xmm3, xmm9
divss xmm3, xmm8
addss xmm1, xmm3
comiss xmm1, xmm0
jbe 0x18003cb2a
xorps xmm3, xmm3
comiss xmm7, xmm5
jbe 0x18003cb47
movaps xmm3, xmm5
subss xmm3, xmm7
divss xmm3, xmm8
addss xmm7, xmm3
comiss xmm4, xmm7
jbe 0x18003cb47
xorps xmm3, xmm3
movss xmm5, dword [rsp + 0x34]
ucomiss xmm5, xmm4
jp 0x18003cb54
je 0x18003cb9c
comiss xmm5, xmm6
jbe 0x18003cb7f
movaps xmm2, xmm6
movaps xmm1, xmm6
subss xmm2, xmm5
movaps xmm0, xmm6
addss xmm0, xmm6
xorps xmm2, xmm9
divss xmm2, xmm8
addss xmm1, xmm2
comiss xmm1, xmm0
jbe 0x18003cb7f
xorps xmm2, xmm2
comiss xmm6, xmm5
jbe 0x18003cb9c
movaps xmm2, xmm5
subss xmm2, xmm6
divss xmm2, xmm8
addss xmm6, xmm2
comiss xmm4, xmm6
jbe 0x18003cb9c
xorps xmm2, xmm2
divss xmm3, dword [0x18013143c]
movss xmm7, dword [0x180131570]
movss xmm5, dword [0x1801313e8]
movaps xmm1, xmm3
divss xmm2, dword [0x18013143c]
movss xmm6, dword [0x1801314a8]
andps xmm1, xmm7
comiss xmm5, xmm1
jbe 0x18003cbe1
comiss xmm3, xmm4
jbe 0x18003cbd9
movaps xmm3, xmm5
jmp 0x18003cbe1
comiss xmm4, xmm3
jbe 0x18003cbe1
movaps xmm3, xmm6
movaps xmm0, xmm2
andps xmm0, xmm7
comiss xmm5, xmm0
jbe 0x18003cbfe
comiss xmm2, xmm4
jbe 0x18003cbf6
movaps xmm2, xmm5
jmp 0x18003cbfe
comiss xmm4, xmm2
jbe 0x18003cbfe
movaps xmm2, xmm6
xor r9d, r9d
mov qword [rsp + 0x20], 0
cvttss2si r8, xmm2
lea ecx, [r9 + 1]
cvttss2si rdx, xmm3
call qword [sym.imp.USER32.dll_mouse_event]
movaps xmm9, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
mov rdi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
movaps xmm8, xmmword [rsp + 0x50]
mov rcx, rsi
add rsp, 0x80
pop rsi
jmp 0x18003ce70
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx]
test rcx, rcx
je 0x18003cedd
mov rdx, qword [rbx + 0x10]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rdx, rcx
imul rdx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 2
cmp rdx, 0x1000
jb 0x18003cecb
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18003cee3
mov rcx, r8
call fcn.18004370c
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
add rsp, 0x20
pop rbx
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3