Function at 0x180002870
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
sub rsp, 0xf0
mov rax, qword [0x180011010]
xor rax, rsp
mov qword [rsp + 0x68], rax
cmp byte [0x180011050], 0
mov rsi, rcx
mov qword [rsp + 0x40], r8
mov dword [0x180011924], 0
jne 0x1800028aa
xor al, al
jmp 0x180002cb3
movss xmm1, dword [0x18001193c]
mov rdx, r8
movss xmm0, dword [0x180011938]
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0xe8], rbp
movaps xmmword [rsp + 0xd0], xmm6
unpcklps xmm0, xmm1
movaps xmmword [rsp + 0xa0], xmm9
movq rcx, xmm0
movaps xmmword [rsp + 0x80], xmm11
call fcn.180002490
mov rbp, 0xffffffffffffffff
movzx ebx, al
cmp dword [0x180011048], ebp
je 0x180002921
lea ecx, [rbp + 2]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov edx, dword [0x180011048]
test ax, ax
cmove edx, ebp
mov dword [0x180011048], edx
movzx eax, byte [0x18001181d]
xorps xmm6, xmm6
movss xmm11, dword [rsp + 0x44]
movss xmm9, dword [rsp + 0x40]
test al, al
je 0x180002958
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180002a47
movzx eax, byte [0x18001181d]
test bl, bl
jne 0x18000296f
movss xmm0, dword [0x180013d48]
ucomiss xmm0, xmm6
jp 0x18000296f
je 0x180002a40
test al, al
jne 0x180002a40
cmp byte [0x180011818], 0
movsxd rax, dword [0x180011924]
je 0x180002a1c
lea rcx, [0x180011820]
cmp byte [rax + rcx], 0
jne 0x18000299c
mov byte [rax + rcx], 1
lea rcx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm2, dword [rsp + 0x64]
movd xmm1, dword [rsp + 0x60]
movss xmm0, dword [0x180013d48]
ucomiss xmm0, xmm6
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
subss xmm2, xmm11
subss xmm1, xmm9
jp 0x1800029fa
jne 0x1800029fa
movaps xmm0, xmm1
movaps xmm3, xmm2
subss xmm0, dword [0x180011938]
subss xmm3, dword [0x18001193c]
movss dword [0x180013d48], xmm0
movss dword [0x180013d4c], xmm3
jmp 0x180002a02
movss xmm3, dword [0x180013d4c]
subss xmm1, xmm0
subss xmm2, xmm3
movss dword [0x180011938], xmm1
movss dword [0x18001193c], xmm2
jmp 0x180002a47
cmp rax, 0x100
jae 0x180002cc9
lea rcx, [0x180011820]
mov qword [0x180013d48], 0
mov byte [rax + rcx], 0
jmp 0x180002a47
mov byte [0x18001181d], 0
comiss xmm11, xmm6
mov qword [rsp + 0xe0], rdi
mov dword [0x180011920], 0
mov dword [0x180011928], 0
mov qword [0x180013d98], 0
mov qword [0x180013da8], 0
mov qword [0x180013d90], 0
movss xmm1, dword [0x180011938]
movaps xmmword [rsp + 0xc0], xmm7
xorps xmm7, xmm7
movaps xmmword [rsp + 0xb0], xmm8
movss xmm8, dword [0x18000e6e0]
movaps xmmword [rsp + 0x90], xmm10
movss xmm10, dword [0x18001193c]
movaps xmmword [rsp + 0x70], xmm12
movups xmm12, xmmword [0x18000e678]
movss dword [0x180013dcc], xmm10
movss dword [0x180013dc8], xmm1
jbe 0x180002b4a
movaps xmm0, xmm1
movss dword [rsp + 0x30], xmm1
addss xmm0, xmm9
movss dword [rsp + 0x38], xmm0
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [0x180011810]
lea rax, [rsp + 0x50]
movaps xmm0, xmm10
movdqa xmmword [rsp + 0x50], xmm12
addss xmm0, xmm7
mov qword [rsp + 0x20], rax
movaps xmm3, xmm8
movss dword [rsp + 0x3c], xmm0
mov r8, qword [rsp + 0x38]
movss dword [rsp + 0x34], xmm0
mov rdx, qword [rsp + 0x30]
call fcn.180001820
addss xmm7, xmm8
comiss xmm11, xmm7
ja 0x180002b00
movss xmm1, dword [0x180011938]
movups xmm10, xmmword [0x18000e5b8]
movss xmm11, dword [0x18001193c]
movaps xmm0, xmm1
movss xmm7, dword [0x18000e744]
addss xmm0, xmm9
movaps xmm12, xmmword [rsp + 0x70]
movss dword [rsp + 0x38], xmm1
movss dword [rsp + 0x30], xmm0
nop word [rax + rax]
mov rcx, qword [0x180011810]
lea rax, [rsp + 0x50]
movaps xmm0, xmm6
movdqa xmmword [rsp + 0x50], xmm10
addss xmm0, xmm11
mov qword [rsp + 0x20], rax
movaps xmm3, xmm8
movss dword [rsp + 0x34], xmm0
mov r8, qword [rsp + 0x30]
movss dword [rsp + 0x3c], xmm0
mov rdx, qword [rsp + 0x38]
call fcn.180001820
addss xmm6, xmm8
comiss xmm7, xmm6
ja 0x180002b90
movss xmm0, dword [0x180011928]
mov rdi, rbp
mulss xmm9, dword [0x18000e6dc]
addss xmm0, xmm7
movss xmm1, dword [0x18001193c]
addss xmm1, dword [0x18000e72c]
addss xmm9, dword [0x180011938]
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
movss dword [0x180011928], xmm0
movss dword [rsp + 0x30], xmm9
movss dword [rsp + 0x34], xmm1
nop dword [rax]
inc rdi
cmp byte [rsi + rdi], 0
jne 0x180002c40
inc rdi
mov eax, 2
mul rdi
cmovo rax, rbp
mov rcx, rax
call fcn.18000b9d8
mov r8, rdi
mov rdx, rsi
mov rcx, rax
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_mbstowcs]
mov rdx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.180002630
mov rdi, qword [rsp + 0xe0]
mov al, 1
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0xd0]
mov rbp, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0x108]
movaps xmm11, xmmword [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.18000b470
add rsp, 0xf0
pop rsi
ret
call fcn.18000b800
int3