Function at 0x18005c0d0
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 [0x180077a98], 0
mov rbx, r9
mov rax, r8
movzx r15d, dl
mov rsi, rcx
je 0x18005c6ea
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.18005c740
movsxd rdx, dword [rsp + 0x70]
cmp edx, 0xffffffff
je 0x18005c6ea
mov rax, qword [0x180077ae0]
imul rcx, rdx, 0x58
cmp byte [rcx + rax + 9], 0
je 0x18005c6ea
lea rcx, [rbp - 0x58]
mov dword [rsp + 0x78], edx
call fcn.180008500
mov r8, qword [0x180077aa0]
mov edx, dword [rsp + 0x78]
mov rcx, r8
mov rax, qword [r8 + 8]
cmp byte [rax + 0x19], 0
jne 0x18005c19a
cmp dword [rax + 0x20], edx
jge 0x18005c18e
mov rax, qword [rax + 0x10]
jmp 0x18005c194
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x18005c183
cmp byte [rcx + 0x19], 0
jne 0x18005c1a5
cmp edx, dword [rcx + 0x20]
jge 0x18005c1a8
mov rcx, r8
cmp rcx, r8
je 0x18005c1d8
lea rdx, [rsp + 0x78]
lea rcx, [0x180077aa0]
call fcn.18005be90
mov rcx, qword [rbp - 0x58]
sub rcx, qword [rax]
movabs rax, 0x2540be400
cmp rcx, rax
jl 0x18005c6ea
lea r8, [rbp - 0x30]
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.180059c20
movss xmm0, dword [0x180063d0c]
comiss xmm0, dword [rbp - 0x18]
jae 0x18005c6ea
mov rax, qword [0x180077a88]
lea r8, [rbp - 0x58]
mov rdx, qword [0x180077a48]
add rax, 0x28
mov rcx, qword [0x180077a58]
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 0x18005c6da
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 0x18005c2e7
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 0x18005c31c
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.18005bf90
movss xmm15, dword [0x180063e1c]
mov ebx, 0xa
movss xmm14, dword [0x180063e28]
xorps xmm13, xmm13
movss xmm9, dword [0x180063e2c]
movss xmm12, dword [0x180063e24]
movss xmm8, dword [0x180063d30]
movss xmm11, dword [0x180063e30]
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.180059ac0
mov rcx, qword [0x180077a58]
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.18005c740
movsxd rax, dword [rsp + 0x78]
cmp eax, 0xffffffff
je 0x18005c525
imul rcx, rax, 0x58
mov rax, qword [0x180077ae0]
cmp byte [rcx + rax + 9], r12b
je 0x18005c525
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x10]
call fcn.180059b60
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 0x18005c444
xorps xmm0, xmm0
sqrtss xmm0, xmm7
jmp 0x18005c44c
movaps xmm0, xmm7
call fcn.1800607de
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 [0x180063e40]
movaps xmm1, xmm0
call fcn.180059aa0
movsd xmm0, qword [rsp + 0x50]
movsd qword [rsp + 0x40], xmm0
movss xmm0, dword [rsp + 0x50]
comiss xmm0, dword [0x180063e20]
jbe 0x18005c49f
mov dword [rsp + 0x40], 0x42b20000
jmp 0x18005c4ad
comiss xmm14, xmm0
jbe 0x18005c4ad
mov dword [rsp + 0x40], 0xc2b20000
movss xmm0, dword [rsp + 0x44]
comiss xmm9, xmm0
jbe 0x18005c4d1
nop dword [rax]
addss xmm0, xmm12
comiss xmm9, xmm0
ja 0x18005c4c0
movss dword [rsp + 0x44], xmm0
comiss xmm0, xmm8
jbe 0x18005c4f1
nop word [rax + rax]
addss xmm0, xmm11
comiss xmm0, xmm8
ja 0x18005c4e0
movss dword [rsp + 0x44], xmm0
movsd xmm0, qword [rsp + 0x40]
lea rdx, [r14 + 0x44]
mov rcx, qword [0x180077a58]
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 0x18005c383
mov ecx, dword [0x180077b70]
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 [0x180077ac0], ecx
jg 0x18005c703
cmp byte [0x180077ac4], r12b
jne 0x18005c60a
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.180008500
mov byte [0x180077ac4], 1
mov rcx, qword [rax]
mov qword [0x180077ab8], rcx
lea rcx, [rsp + 0x30]
call fcn.180008500
mov rax, qword [rsp + 0x30]
sub rax, qword [0x180077ab8]
cmp rax, 0x1c9c380
jl 0x18005c6da
xorps xmm0, xmm0
mov byte [0x180077ac4], 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.18005bf90
lea rcx, [rsp + 0x30]
call fcn.180008500
lea rdx, [rsp + 0x70]
lea rcx, [0x180077aa0]
mov rbx, qword [rax]
call fcn.18005be90
mov qword [rax], rbx
mov r12, qword [rsp + 0x1b8]
mov r14, qword [rsp + 0x1b0]
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.18005fbf0
add rsp, 0x1c8
pop r15
pop rsi
pop rbx
pop rbp
ret
lea rcx, [0x180077ac0]
call fcn.18005fa68
cmp dword [0x180077ac0], 0xffffffff
jne 0x18005c5b6
lea rcx, [0x180077ab8]
call fcn.180008500
lea rcx, [0x180077ac0]
call fcn.18005f9fc
jmp 0x18005c5b6