Function at 0x180060a30
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
movsxd rdi, ecx
mov ecx, 0x41
movaps xmmword [rax - 0x38], xmm6
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor esi, esi
lea r12, [0x180340230]
movabs rbp, 0x50fac3a3e030a6e1
movabs r14, 0x9a9112a0fe9a4713
movabs r15, 0x42a8ec77d5150cbe
xorps xmm6, xmm6
test ax, ax
je 0x180060b9e
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], edi
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb80], r14
mov ecx, dword [rax]
mov dword [rsp + 0xc8], ecx
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], rsi
mov qword [0x1802da5c8], rax
mov dword [rsp + 0xc8], esi
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], esi
mov dword [0x1802da4f0], 2
call fcn.1800cf2b0
mov ebx, dword [rax]
mov ecx, ebx
call fcn.1800b2020
cmp byte [rdi + r12], sil
je 0x180060b41
movss xmm0, dword [0x180269c70]
jmp 0x180060b44
movaps xmm0, xmm6
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], rsi
movss dword [rsp + 0xc8], xmm0
mov qword [0x1802da5c8], rax
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], r15
mov dword [0x1802da4f0], 2
call fcn.1800cf2b0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180060cbc
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], edi
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb80], r14
mov ecx, dword [rax]
mov dword [rsp + 0xc8], ecx
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], rsi
mov qword [0x1802da5c8], rax
mov dword [rsp + 0xc8], esi
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], esi
mov dword [0x1802da4f0], 2
call fcn.1800cf2b0
mov ebx, dword [rax]
mov ecx, ebx
call fcn.1800b2020
cmp byte [rdi + r12], sil
je 0x180060c5f
movss xmm0, dword [0x18026be5c]
jmp 0x180060c62
movaps xmm0, xmm6
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], rsi
movss dword [rsp + 0xc8], xmm0
mov qword [0x1802da5c8], rax
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], r15
mov dword [0x1802da4f0], 2
call fcn.1800cf2b0
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movabs r13, 0xd5037ba82e12416f
movabs r15, 0xb69317bf5e782347
movabs r12, 0x1bf60a500e28887
test ax, ax
je 0x180060f3d
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], edi
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb80], r14
mov ecx, dword [rax]
mov dword [rsp + 0xc8], ecx
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], rsi
mov qword [0x1802da5c8], rax
mov dword [rsp + 0xc8], esi
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], esi
mov dword [0x1802da4f0], 2
call fcn.1800cf2b0
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb80], r15
mov ebx, dword [rax]
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], r12
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
cmp dword [rax], esi
je 0x180060f3d
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], edi
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
xor edx, edx
mov ecx, dword [rax]
call fcn.1800afb50
mov dword [rsp + 0x68], 1
movaps xmm3, xmm6
mov dword [rsp + 0x60], 1
mov r8d, 1
mov dword [rsp + 0x58], 1
mov edx, eax
mov dword [rsp + 0x50], esi
mov ebx, eax
mov dword [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm6
call fcn.1800ae8d0
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], r13
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
movss xmm0, dword [0x18026a230]
movabs rax, 0xab54a438726d25d5
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb80], rax
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], rsi
movss dword [rsp + 0xc8], xmm0
mov qword [0x1802da5c8], rax
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], esi
mov dword [0x1802da4f0], 2
call fcn.1800cf2b0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800611a0
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], edi
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb80], r14
mov ecx, dword [rax]
mov dword [rsp + 0xc8], ecx
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], rsi
mov qword [0x1802da5c8], rax
mov dword [rsp + 0xc8], esi
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], esi
mov dword [0x1802da4f0], 2
call fcn.1800cf2b0
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb80], r15
mov ebx, dword [rax]
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], r12
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
cmp dword [rax], esi
je 0x1800611a0
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], edi
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
xor edx, edx
mov ecx, dword [rax]
call fcn.1800afb50
mov dword [rsp + 0x68], 1
movaps xmm3, xmm6
mov dword [rsp + 0x60], 1
mov r8d, 1
mov dword [rsp + 0x58], 1
mov edx, eax
mov dword [rsp + 0x50], esi
mov ebx, eax
mov dword [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm6
call fcn.1800ae8d0
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], r13
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
movss xmm0, dword [0x18026c3b4]
movabs rax, 0xab54a438726d25d5
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb80], rax
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], rsi
movss dword [rsp + 0xc8], xmm0
mov qword [0x1802da5c8], rax
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], esi
mov dword [0x1802da4f0], 2
call fcn.1800cf2b0
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800613f9
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], edi
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb80], r14
mov ecx, dword [rax]
mov dword [rsp + 0xc8], ecx
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], rsi
mov qword [0x1802da5c8], rax
mov dword [rsp + 0xc8], esi
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], esi
mov dword [0x1802da4f0], 2
call fcn.1800cf2b0
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb80], r15
mov ebx, dword [rax]
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], r12
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
cmp dword [rax], esi
je 0x1800613f9
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], edi
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
xor edx, edx
mov ecx, dword [rax]
call fcn.1800afb50
mov dword [rsp + 0x68], 1
movaps xmm3, xmm6
mov dword [rsp + 0x60], 1
mov r8d, 1
mov dword [rsp + 0x58], 1
mov edx, eax
mov dword [rsp + 0x50], esi
mov ebx, eax
mov dword [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm6
call fcn.1800ae8d0
mov qword [rsp + 0xc8], rsi
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5c8], rax
mov dword [0x1802da500], esi
mov qword [0x18034fb80], r13
mov dword [0x1802da4f0], 1
call fcn.1800cf2b0
mov qword [rsp + 0xc8], rsi
movabs rax, 0xab54a438726d25d5
mov qword [0x18034fb80], rax
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], rsi
mov qword [0x1802da5c8], rax
mov dword [rsp + 0xc8], esi
mov rax, qword [rsp + 0xc8]
mov qword [0x1802da5d0], rax
mov dword [0x1802da500], esi
mov dword [0x1802da4f0], 2
call fcn.1800cf2b0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret