Function at 0x18003c970
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
sub rsp, 0x80
cmp byte [0x180138a78], 0
mov rsi, rcx
je 0x18003cbf4
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18003cbf4
mov rax, qword [0x1801389c8]
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 [0x1801313a4]
movaps xmmword [rsp + 0x60], xmm7
movss xmm7, dword [rax + 0x10]
xor eax, eax
mulss xmm7, dword [0x1801313a4]
mov qword [rsp + 0x30], rax
movaps xmmword [rsp + 0x50], xmm8
movss xmm8, dword [0x18013148c]
cmp rbx, rdi
je 0x18003cbd4
movaps xmmword [rsp + 0x40], xmm9
movss xmm9, dword [0x1801382a4]
mulss xmm9, dword [0x180131448]
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 0x18003ca4c
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x18003ca54
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm9, xmm0
jb 0x18003ca6e
comiss xmm8, xmm0
jbe 0x18003ca6e
movaps xmm8, xmm0
movsd xmm0, qword [rbx]
movsd qword [rsp + 0x30], xmm0
add rbx, 0xc
cmp rbx, rdi
jne 0x18003ca20
ucomiss xmm8, dword [0x18013148c]
jp 0x18003ca87
je 0x18003cbce
movss xmm5, dword [rsp + 0x30]
xorps xmm4, xmm4
ucomiss xmm5, xmm4
movss xmm8, dword [0x1801382a8]
xorps xmm3, xmm3
movss xmm9, dword [0x1801315b0]
xorps xmm2, xmm2
jp 0x18003caaf
je 0x18003caf7
comiss xmm5, xmm7
jbe 0x18003cada
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 0x18003cada
xorps xmm3, xmm3
comiss xmm7, xmm5
jbe 0x18003caf7
movaps xmm3, xmm5
subss xmm3, xmm7
divss xmm3, xmm8
addss xmm7, xmm3
comiss xmm4, xmm7
jbe 0x18003caf7
xorps xmm3, xmm3
movss xmm5, dword [rsp + 0x34]
ucomiss xmm5, xmm4
jp 0x18003cb04
je 0x18003cb4c
comiss xmm5, xmm6
jbe 0x18003cb2f
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 0x18003cb2f
xorps xmm2, xmm2
comiss xmm6, xmm5
jbe 0x18003cb4c
movaps xmm2, xmm5
subss xmm2, xmm6
divss xmm2, xmm8
addss xmm6, xmm2
comiss xmm4, xmm6
jbe 0x18003cb4c
xorps xmm2, xmm2
divss xmm3, dword [0x18013142c]
movss xmm7, dword [0x1801315a0]
movss xmm5, dword [0x1801313d8]
movaps xmm1, xmm3
divss xmm2, dword [0x18013142c]
movss xmm6, dword [0x180131498]
andps xmm1, xmm7
comiss xmm5, xmm1
jbe 0x18003cb91
comiss xmm3, xmm4
jbe 0x18003cb89
movaps xmm3, xmm5
jmp 0x18003cb91
comiss xmm4, xmm3
jbe 0x18003cb91
movaps xmm3, xmm6
movaps xmm0, xmm2
andps xmm0, xmm7
comiss xmm5, xmm0
jbe 0x18003cbae
comiss xmm2, xmm4
jbe 0x18003cba6
movaps xmm2, xmm5
jmp 0x18003cbae
comiss xmm4, xmm2
jbe 0x18003cbae
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 0x18003ce20
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx]
test rcx, rcx
je 0x18003ce8d
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 0x18003ce7b
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18003ce93
mov rcx, r8
call fcn.1800433bc
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