Function at 0x18005c9e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push r15
lea rbp, [rsp - 0xc8]
sub rsp, 0x1c8
mov rax, qword [0x1800772c0]
xor rax, rsp
mov qword [rbp], rax
cmp byte [0x180077ad0], 0
mov rbx, r9
mov rax, r8
movzx r15d, dl
mov rsi, rcx
je 0x18005cffa
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x70], 0xffffffff
mov qword [rsp + 0x20], rcx
lea r8, [rbp + 0xf0]
movzx r9d, dl
lea rcx, [rbp - 0x30]
mov rdx, rax
call fcn.18005d050
movsxd rdx, dword [rsp + 0x70]
cmp edx, 0xffffffff
je 0x18005cffa
mov rax, qword [0x180077b18]
imul rcx, rdx, 0x58
cmp byte [rcx + rax + 9], 0
je 0x18005cffa
lea rcx, [rbp - 0x58]
mov dword [rsp + 0x78], edx
call fcn.180008520
mov r8, qword [0x180077ad8]
mov edx, dword [rsp + 0x78]
mov rcx, r8
mov rax, qword [r8 + 8]
cmp byte [rax + 0x19], 0
jne 0x18005caaa
cmp dword [rax + 0x20], edx
jge 0x18005ca9e
mov rax, qword [rax + 0x10]
jmp 0x18005caa4
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x18005ca93
cmp byte [rcx + 0x19], 0
jne 0x18005cab5
cmp edx, dword [rcx + 0x20]
jge 0x18005cab8
mov rcx, r8
cmp rcx, r8
je 0x18005cae8
lea rdx, [rsp + 0x78]
lea rcx, [0x180077ad8]
call fcn.18005c7a0
mov rcx, qword [rbp - 0x58]
sub rcx, qword [rax]
movabs rax, 0x2540be400
cmp rcx, rax
jl 0x18005cffa
lea r8, [rbp - 0x30]
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.18005a400
movss xmm0, dword [0x180063d2c]
comiss xmm0, dword [rbp - 0x18]
jae 0x18005cffa
mov rax, qword [0x180077ac0]
lea r8, [rbp - 0x58]
mov rdx, qword [0x180077a80]
add rax, 0x28
mov rcx, qword [0x180077a90]
add rdx, rax
mov qword [rsp + 0x1b8], r12
mov r9d, 8
xor r12d, r12d
mov qword [rsp + 0x1b0], r14
mov qword [rbp - 0x58], r12
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r14, qword [rbp - 0x58]
test r14, r14
je 0x18005cfea
mov qword [rsp + 0x1c0], rdi
mov ecx, 1
movaps xmmword [rsp + 0x180], xmm8
movaps xmmword [rsp + 0x170], xmm9
movaps xmmword [rsp + 0x150], xmm11
movaps xmmword [rsp + 0x140], xmm12
movaps xmmword [rsp + 0x130], xmm13
movaps xmmword [rsp + 0x120], xmm14
movaps xmmword [rsp + 0x110], xmm15
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 2
movzx ebx, ax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx edi, ax
test bx, bx
jns 0x18005cbf7
xorps xmm0, xmm0
mov dword [rbp - 0x80], r12d
xorps xmm1, xmm1
mov dword [rbp - 0x6c], 4
mov r8d, 0x28
lea rdx, [rbp - 0x80]
mov ecx, 1
movdqu xmmword [rbp - 0x7c], xmm0
movdqu xmmword [rbp - 0x68], xmm1
call qword [sym.imp.USER32.dll_SendInput]
test di, di
jns 0x18005cc2c
xorps xmm0, xmm0
mov dword [rbp - 0x80], r12d
xorps xmm1, xmm1
mov dword [rbp - 0x6c], 0x10
mov r8d, 0x28
lea rdx, [rbp - 0x80]
mov ecx, 1
movdqu xmmword [rbp - 0x7c], xmm0
movdqu xmmword [rbp - 0x68], xmm1
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0x34
call fcn.18005c8a0
movss xmm15, dword [0x180063e3c]
mov ebx, 0xa
movss xmm14, dword [0x180063e48]
xorps xmm13, xmm13
movss xmm9, dword [0x180063e4c]
movss xmm12, dword [0x180063e44]
movss xmm8, dword [0x180063d50]
movss xmm11, dword [0x180063e50]
movaps xmmword [rsp + 0x1a0], xmm6
movaps xmmword [rsp + 0x190], xmm7
movaps xmmword [rsp + 0x160], xmm10
mov qword [rsp + 0x30], rsi
lea rcx, [rbp - 0x50]
call fcn.18005a300
mov rcx, qword [0x180077a90]
lea r8, [rbp - 0x50]
mov r9d, 0xc
mov qword [rsp + 0x20], r12
lea rdx, [r14 + 0x38]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rax, [rsp + 0x78]
mov dword [rsp + 0x78], 0xffffffff
movzx r9d, r15b
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x10]
call fcn.18005d050
movsxd rax, dword [rsp + 0x78]
cmp eax, 0xffffffff
je 0x18005ce35
imul rcx, rax, 0x58
mov rax, qword [0x180077b18]
cmp byte [rcx + rax + 9], r12b
je 0x18005ce35
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x10]
call fcn.18005a340
movss xmm6, dword [rbp - 0x40]
movss xmm7, dword [rbp - 0x3c]
movaps xmm1, xmm6
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm10, xmm0
mulss xmm7, xmm7
mulss xmm6, xmm6
xorps xmm0, xmm0
mulss xmm10, xmm15
addss xmm7, xmm6
ucomiss xmm0, xmm7
ja 0x18005cd54
xorps xmm0, xmm0
sqrtss xmm0, xmm7
jmp 0x18005cd5c
movaps xmm0, xmm7
call fcn.1800610de
movaps xmm1, xmm0
movss xmm0, dword [rbp - 0x38]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
mulss xmm0, xmm15
lea rcx, [rsp + 0x50]
movaps xmm3, xmm13
movaps xmm2, xmm10
xorps xmm0, xmmword [0x180063e60]
movaps xmm1, xmm0
call fcn.18005a2e0
movsd xmm0, qword [rsp + 0x50]
movsd qword [rsp + 0x40], xmm0
movss xmm0, dword [rsp + 0x50]
comiss xmm0, dword [0x180063e40]
jbe 0x18005cdaf
mov dword [rsp + 0x40], 0x42b20000
jmp 0x18005cdbd
comiss xmm14, xmm0
jbe 0x18005cdbd
mov dword [rsp + 0x40], 0xc2b20000
movss xmm0, dword [rsp + 0x44]
comiss xmm9, xmm0
jbe 0x18005cde1
nop dword [rax]
addss xmm0, xmm12
comiss xmm9, xmm0
ja 0x18005cdd0
movss dword [rsp + 0x44], xmm0
comiss xmm0, xmm8
jbe 0x18005ce01
nop word [rax + rax]
addss xmm0, xmm11
comiss xmm0, xmm8
ja 0x18005cdf0
movss dword [rsp + 0x44], xmm0
movsd xmm0, qword [rsp + 0x40]
lea rdx, [r14 + 0x44]
mov rcx, qword [0x180077a90]
lea r8, [rsp + 0x60]
mov r9d, 0xc
movsd qword [rsp + 0x60], xmm0
movss dword [rsp + 0x68], xmm13
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
sub rbx, 1
jne 0x18005cc93
mov ecx, dword [0x180077ba8]
mov rax, qword gs:[0x58]
movaps xmm15, xmmword [rsp + 0x110]
movaps xmm14, xmmword [rsp + 0x120]
movaps xmm13, xmmword [rsp + 0x130]
mov rax, qword [rax + rcx*8]
movaps xmm12, xmmword [rsp + 0x140]
movaps xmm11, xmmword [rsp + 0x150]
movaps xmm10, xmmword [rsp + 0x160]
movaps xmm9, xmmword [rsp + 0x170]
movaps xmm8, xmmword [rsp + 0x180]
movaps xmm7, xmmword [rsp + 0x190]
movaps xmm6, xmmword [rsp + 0x1a0]
mov rdi, qword [rsp + 0x1c0]
mov edx, 4
mov ecx, dword [rdx + rax]
cmp dword [0x180077af8], ecx
jg 0x18005d013
cmp byte [0x180077afc], r12b
jne 0x18005cf1a
xorps xmm0, xmm0
mov dword [rbp - 0x80], r12d
xorps xmm1, xmm1
mov dword [rbp - 0x6c], 8
mov r8d, 0x28
lea rdx, [rbp - 0x80]
mov ecx, 1
movdqu xmmword [rbp - 0x7c], xmm0
movdqu xmmword [rbp - 0x68], xmm1
call qword [sym.imp.USER32.dll_SendInput]
lea rcx, [rsp + 0x30]
call fcn.180008520
mov byte [0x180077afc], 1
mov rcx, qword [rax]
mov qword [0x180077af0], rcx
lea rcx, [rsp + 0x30]
call fcn.180008520
mov rax, qword [rsp + 0x30]
sub rax, qword [0x180077af0]
cmp rax, 0x1c9c380
jl 0x18005cfea
xorps xmm0, xmm0
mov byte [0x180077afc], r12b
xorps xmm1, xmm1
mov dword [rbp - 0x80], r12d
mov r8d, 0x28
mov dword [rbp - 0x6c], 2
lea rdx, [rbp - 0x80]
mov ecx, 1
movdqu xmmword [rbp - 0x7c], xmm0
movdqu xmmword [rbp - 0x68], xmm1
call qword [sym.imp.USER32.dll_SendInput]
mov r8d, 0x28
mov dword [rbp - 0x6c], 4
lea rdx, [rbp - 0x80]
mov ecx, 1
call qword [sym.imp.USER32.dll_SendInput]
xorps xmm0, xmm0
mov dword [rbp - 0x80], r12d
xorps xmm1, xmm1
mov dword [rbp - 0x6c], 0x10
mov r8d, 0x28
lea rdx, [rbp - 0x80]
mov ecx, 1
movdqu xmmword [rbp - 0x7c], xmm0
movdqu xmmword [rbp - 0x68], xmm1
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0x34
call fcn.18005c8a0
lea rcx, [rsp + 0x30]
call fcn.180008520
lea rdx, [rsp + 0x70]
lea rcx, [0x180077ad8]
mov rbx, qword [rax]
call fcn.18005c7a0
mov qword [rax], rbx
mov r12, qword [rsp + 0x1b8]
mov r14, qword [rsp + 0x1b0]
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1800604f0
add rsp, 0x1c8
pop r15
pop rsi
pop rbx
pop rbp
ret
lea rcx, [0x180077af8]
call fcn.180060368
cmp dword [0x180077af8], 0xffffffff
jne 0x18005cec6
lea rcx, [0x180077af0]
call fcn.180008520
lea rcx, [0x180077af8]
call fcn.1800602fc
jmp 0x18005cec6