Function at 0x180001aa0
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 r14
sub rsp, 0x180
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
mov rax, qword [0x180062010]
xor rax, rsp
mov qword [rsp + 0x110], rax
cmp byte [0x180063980], 1
jne 0x180001f54
xor edi, edi
xorps xmm6, xmm6
mov dword [rsp + 0x40], edi
cmp edi, 0x20
jge 0x180001f54
mov rax, qword [0x180063db0]
mov rdx, qword [rax + 8]
add rdx, 0x15eaad0
call fcn.180002040
mov rdx, rax
lea eax, [rdi*8]
movsxd rcx, eax
add rdx, rcx
call fcn.180002040
mov rbx, rax
mov rcx, qword [0x180063db0]
mov rdx, qword [rcx + 8]
add rdx, 0x15ccdb0
call fcn.1800020f0
movzx esi, al
mov rcx, qword [0x180063db0]
mov rdx, qword [rcx + 8]
add rdx, 0x15de954
call fcn.1800020f0
movzx r14d, al
cmp byte [0x180062038], 0
je 0x180001b84
lea rdx, [rbx + 0x68]
call fcn.1800020f0
cmp al, sil
setne sil
jmp 0x180001b87
mov sil, 1
test rbx, rbx
je 0x180001f4d
cmp qword [0x180063970], 0
je 0x180001f4d
lea rdx, [rbx + 0x2d8]
call fcn.1800020f0
cmp al, 1
jne 0x180001f4d
test sil, sil
je 0x180001f4d
lea rdx, [rbx + 0x2d0]
call fcn.180002040
mov rcx, rax
call fcn.180001170
mov rbx, rax
test rax, rax
je 0x180001f4d
mov rcx, qword [0x180063db0]
mov rdx, qword [rcx]
add rdx, 0x3b1698
call fcn.180002120
movaps xmm8, xmm0
mov rcx, qword [0x180063db0]
mov rdx, qword [rcx]
add rdx, 0x3b16a8
call fcn.180002120
movaps xmm9, xmm0
mov rax, qword [0x180063db0]
mov rdx, qword [rax]
add rdx, 0x3b16b8
call fcn.180002120
movaps xmm10, xmm0
movss dword [rsp + 0xb0], xmm8
movss dword [rsp + 0xb4], xmm9
movss dword [rsp + 0xb8], xmm10
mov r8, rbx
lea rdx, [rsp + 0x30]
call fcn.1800015a0
mov rax, qword [0x180063db0]
mov rdx, qword [rax + 8]
add rdx, 0x1679a68
call fcn.180002040
lea rdx, [rax + 0x4a8]
call fcn.180002120
movaps xmm7, xmm0
mov rax, qword [0x180063db0]
mov rdx, qword [rax + 8]
add rdx, 0x1679a68
call fcn.180002040
lea rdx, [rax + 0x3a4]
call fcn.180002120
movaps xmm11, xmm0
movss dword [rsp + 0x48], xmm7
movss dword [rsp + 0x4c], xmm11
mov ecx, dword [0x180062040]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180001f4d
cmp byte [0x180063988], 0
je 0x180001f4d
ucomiss xmm7, xmm6
jp 0x180001cdb
je 0x180001f4d
ucomiss xmm11, xmm6
jp 0x180001ce7
je 0x180001f4d
dec r14b
cmp r14b, 1
ja 0x180001f4d
movss xmm2, dword [rsp + 0x30]
cmp byte [0x180063989], 0
je 0x180001e1e
ucomiss xmm2, xmm6
jp 0x180001d12
je 0x180001f4d
movss dword [rsp + 0xc0], xmm2
movss xmm1, dword [rsp + 0x34]
movss dword [rsp + 0xc4], xmm1
movss xmm0, dword [rsp + 0x38]
movss dword [rsp + 0xc8], xmm0
movss dword [rsp + 0x60], xmm2
movss dword [rsp + 0x64], xmm1
movss dword [rsp + 0x68], xmm0
movss xmm2, dword [0x180062034]
lea rdx, [rsp + 0x60]
call fcn.1800016b0
test al, al
je 0x180001f4d
movsd xmm7, qword [rsp + 0x30]
movsd qword [rsp + 0xd0], xmm7
mov ebx, dword [rsp + 0x38]
mov dword [rsp + 0xd8], ebx
movss dword [rsp + 0x70], xmm8
movss dword [rsp + 0x74], xmm9
movss dword [rsp + 0x78], xmm10
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x70]
call fcn.180001430
test al, al
je 0x180001f4d
movss dword [rsp + 0x80], xmm8
movss dword [rsp + 0x84], xmm9
movss dword [rsp + 0x88], xmm10
movsd qword [rsp + 0xe0], xmm7
mov dword [rsp + 0xe8], ebx
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xe0]
mov r8, qword [rsp + 0x48]
lea rdx, [rsp + 0x50]
call fcn.1800018b0
movss xmm8, dword [rsp + 0x50]
ucomiss xmm8, xmm6
jp 0x180001e13
je 0x180001f4d
movss xmm7, dword [rsp + 0x54]
jmp 0x180001ef9
ucomiss xmm2, xmm6
jp 0x180001e29
je 0x180001f4d
movss dword [rsp + 0xf0], xmm2
movss xmm1, dword [rsp + 0x34]
movss dword [rsp + 0xf4], xmm1
movss xmm0, dword [rsp + 0x38]
movss dword [rsp + 0xf8], xmm0
movss dword [rsp + 0x90], xmm2
movss dword [rsp + 0x94], xmm1
movss dword [rsp + 0x98], xmm0
movss xmm2, dword [0x180062034]
lea rdx, [rsp + 0x90]
call fcn.1800016b0
test al, al
je 0x180001f4d
movss dword [rsp + 0xa0], xmm8
movss dword [rsp + 0xa4], xmm9
movss dword [rsp + 0xa8], xmm10
movsd xmm0, qword [rsp + 0x30]
movsd qword [rsp + 0x100], xmm0
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x108], eax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x100]
mov r8, qword [rsp + 0x48]
lea rdx, [rsp + 0x58]
call fcn.1800018b0
movss xmm8, dword [rsp + 0x58]
ucomiss xmm8, xmm6
jp 0x180001ef3
je 0x180001f4d
movss xmm7, dword [rsp + 0x5c]
ucomiss xmm7, xmm6
jp 0x180001f00
je 0x180001f4d
mov rax, qword [0x180063db0]
mov rdx, qword [rax + 8]
add rdx, 0x1679a68
call fcn.180002040
movaps xmm2, xmm8
lea rdx, [rax + 0x4a8]
call fcn.180002150
mov rax, qword [0x180063db0]
mov rdx, qword [rax + 8]
add rdx, 0x1679a68
call fcn.180002040
movaps xmm2, xmm7
lea rdx, [rax + 0x3a4]
call fcn.180002150
inc edi
jmp 0x180001af8
jmp 0x180001f56
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.18004cb40
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
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]
mov rsp, r11
pop r14
ret