Function at 0x18004c7a0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x140
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 [0x1800b1040]
xor rax, rsp
mov qword [rbp - 0x70], rax
mov rax, qword [0x1801523c0]
movss xmm6, dword [rax + 0x10]
movss dword [rsp + 0x34], xmm6
movss xmm7, dword [rax + 0x14]
movss dword [rsp + 0x38], xmm7
call fcn.1800497d0
test rax, rax
je 0x18004cd12
lea rcx, [rax - 0x10000]
movabs r13, 0x7ffffffdfffe
cmp rcx, r13
ja 0x18004cd12
mov r15, qword [rax + 0x1d48]
test r15, r15
je 0x18004cd12
lea rax, [r15 - 0x10000]
cmp rax, r13
ja 0x18004cd12
mov rcx, qword [0x180152340]
mov ecx, dword [rcx + 4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18004cd12
mov rbx, qword [0x180152340]
movss xmm15, dword [rbx + 0x10]
movss xmm12, dword [0x1800a14cc]
subss xmm15, xmm12
movss xmm3, dword [rbx + 0xc]
subss xmm3, xmm12
movss dword [rsp + 0x30], xmm3
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov qword [rbp - 0x78], rax
mov ecx, dword [rbx + 8]
test ecx, ecx
je 0x18004c8ed
sub ecx, 1
je 0x18004c8e3
cmp ecx, 1
jne 0x18004c913
mov dword [rsp + 0x70], 5
jmp 0x18004c8f5
mov dword [rsp + 0x70], 0x33
jmp 0x18004c8f5
mov dword [rsp + 0x70], 0x35
lea r8, [rsp + 0x70]
xor edx, edx
lea rcx, [rsp + 0x78]
call fcn.1800502f0
mov rbx, qword [0x180152340]
movss xmm3, dword [rsp + 0x30]
mov r14, qword [rsp + 0x78]
mov rdi, r14
mov r12, qword [rbp - 0x80]
cmp r14, r12
je 0x18004ccd9
movss xmm13, dword [0x1800a1940]
xorps xmm9, xmm9
movss xmm14, dword [0x1800a15a8]
nop
movsxd r8, dword [rdi]
cmp r8d, 0xffffffff
je 0x18004ccc6
mov rcx, qword [r15 + 0x490]
test rcx, rcx
je 0x18004ccc6
lea rax, [rcx - 0x10000]
cmp rax, r13
ja 0x18004ccc6
cmp byte [rcx + 0x30], 0
je 0x18004ccc6
mov rdx, qword [rcx + 0x18]
test rdx, rdx
je 0x18004ccc6
lea rax, [rdx - 0x10000]
cmp rax, r13
ja 0x18004ccc6
mov rax, r8
shl rax, 5
movss xmm0, dword [rax + rdx]
movss xmm2, dword [rax + rdx + 4]
movss xmm1, dword [rax + rdx + 8]
subss xmm1, xmm3
subss xmm2, xmm15
movss dword [rsp + 0x40], xmm0
movss dword [rsp + 0x44], xmm2
movss dword [rsp + 0x48], xmm1
mov rsi, qword [0x1801523c0]
cvttss2si r8, dword [rsi + 0x14]
cvttss2si rdx, dword [rsi + 0x10]
lea rcx, [rsp + 0x40]
call fcn.180049600
test al, al
je 0x18004c9f8
movss xmm10, dword [rsp + 0x40]
movss xmm11, dword [rsp + 0x44]
jmp 0x18004ca00
movaps xmm10, xmm9
movaps xmm11, xmm9
movaps xmm0, xmm7
mulss xmm0, xmm12
xorps xmm8, xmm8
cvtss2sd xmm8, xmm0
movaps xmm1, xmm6
mulss xmm1, xmm12
xorps xmm2, xmm2
cvtss2sd xmm2, xmm1
xorps xmm7, xmm7
cvtss2sd xmm7, xmm11
xorps xmm0, xmm0
cvtss2sd xmm0, xmm10
subsd xmm2, xmm0
movsd xmm1, qword [0x1800a1540]
movaps xmm0, xmm2
call fcn.18007d560
movaps xmm6, xmm0
subsd xmm8, xmm7
movsd xmm1, qword [0x1800a1540]
movaps xmm0, xmm8
call fcn.18007d560
movaps xmm1, xmm0
addsd xmm1, xmm6
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x18004ca76
xorps xmm0, xmm0
sqrtsd xmm0, xmm1
jmp 0x18004ca7e
movaps xmm0, xmm1
call fcn.180080228
movss xmm1, dword [rbx + 0x30]
mulss xmm1, xmm14
cvtps2pd xmm1, xmm1
comisd xmm1, xmm0
jb 0x18004ccba
movaps xmm0, xmm11
call fcn.18007fac8
movaps xmm8, xmm0
movaps xmm0, xmm10
call fcn.18007fac8
movaps xmm10, xmm0
movss xmm3, dword [rbx + 0x14]
movss xmm4, dword [rbx + 0x2c]
movss xmm1, dword [rsi + 0x10]
movss xmm2, dword [rsi + 0x14]
mov qword [rsp + 0x70], 0
mulss xmm1, xmm12
cvttss2si eax, xmm1
mulss xmm2, xmm12
cvttss2si ecx, xmm2
movaps xmm7, xmm9
movaps xmm6, xmm9
ucomiss xmm10, xmm9
jp 0x18004caee
je 0x18004cb4f
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm10, xmm2
jbe 0x18004cb28
movaps xmm7, xmm2
subss xmm7, xmm10
xorps xmm7, xmm13
divss xmm7, xmm4
addss xmm7, xmm3
movaps xmm1, xmm7
addss xmm1, xmm2
add eax, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x18004cb28
movaps xmm7, xmm9
comiss xmm2, xmm10
jbe 0x18004cb4f
movaps xmm7, xmm10
subss xmm7, xmm2
divss xmm7, xmm4
subss xmm7, xmm3
movaps xmm0, xmm7
addss xmm0, xmm2
comiss xmm9, xmm0
jbe 0x18004cb4f
movaps xmm7, xmm9
ucomiss xmm8, xmm9
jp 0x18004cb57
je 0x18004cbb9
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
comiss xmm8, xmm2
jbe 0x18004cb92
movaps xmm6, xmm2
subss xmm6, xmm8
xorps xmm6, xmm13
divss xmm6, xmm4
addss xmm6, xmm3
movaps xmm1, xmm6
addss xmm1, xmm2
lea eax, [rcx + rcx]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x18004cb92
movaps xmm6, xmm9
comiss xmm2, xmm8
jbe 0x18004cbb9
movaps xmm6, xmm8
subss xmm6, xmm2
divss xmm6, xmm4
subss xmm6, xmm3
movaps xmm0, xmm6
addss xmm0, xmm2
comiss xmm9, xmm0
jbe 0x18004cbb9
movaps xmm6, xmm9
xor ecx, ecx
call qword [sym.imp.USER32.dll_ShowCursor]
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_GetCursorPos]
cvttss2si eax, xmm7
mov ecx, dword [rsp + 0x70]
add ecx, eax
mov dword [rsp + 0x70], ecx
cvttss2si eax, xmm6
mov edx, dword [rsp + 0x74]
add edx, eax
mov dword [rsp + 0x74], edx
call qword [sym.imp.USER32.dll_SetCursorPos]
mov rbx, qword [0x180152340]
cmp byte [rbx + 0x35], 0
je 0x18004ccba
movss dword [rsp + 0x50], xmm10
movss dword [rsp + 0x54], xmm8
mov rdx, qword [0x1801523c0]
mov rax, qword [rdx + 0x3ea0]
mov byte [rax + 0x98], 1
mov rax, qword [rdx + 0x3ea0]
mov r8, qword [rax + 0x280]
mov qword [rsp + 0x60], 0x3f800000
mov dword [rsp + 0x68], 0
movss xmm0, dword [rdx + 0x37e0]
movss dword [rsp + 0x6c], xmm0
lea rcx, [rsp + 0x60]
call fcn.18000ce70
mov dword [rsp + 0x20], 0x10
mov r9d, eax
movss xmm6, dword [0x1800a1570]
movaps xmm2, xmm6
lea rdx, [rsp + 0x50]
mov rcx, r8
call fcn.18002ea70
movss dword [rsp + 0x58], xmm10
movss dword [rsp + 0x5c], xmm8
mov dword [rsp + 0x28], 0x10
movss xmm0, dword [0x1800a1554]
movss dword [rsp + 0x20], xmm0
mov r9d, 0xffffff00
movaps xmm2, xmm6
lea rdx, [rsp + 0x58]
call fcn.18004eaf0
mov rbx, qword [0x180152340]
movss xmm6, dword [rsp + 0x34]
movss xmm7, dword [rsp + 0x38]
add rdi, 4
cmp rdi, r12
movss xmm3, dword [rsp + 0x30]
jne 0x18004c940
test r14, r14
je 0x18004cd12
mov rdx, qword [rbp - 0x78]
sub rdx, r14
and rdx, 0xfffffffffffffffc
mov rax, r14
cmp rdx, 0x1000
jb 0x18004cd0a
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004cd77
mov rcx, r14
call fcn.180053cdc
mov rcx, qword [rbp - 0x70]
xor rcx, rsp
call fcn.180053910
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, 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 r13
pop r12
pop rbp
ret
call fcn.18005abf8
int3