Function at 0x180060a20
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 0x180060b8e
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 [0x18034fb78], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf390
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb78], 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.1800cf390
mov ebx, dword [rax]
mov ecx, ebx
call fcn.1800b2100
cmp byte [rdi + r12], sil
je 0x180060b31
movss xmm0, dword [0x180269c58]
jmp 0x180060b34
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 [0x18034fb78], r15
mov dword [0x1802da4f0], 2
call fcn.1800cf390
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180060cac
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 [0x18034fb78], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf390
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb78], 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.1800cf390
mov ebx, dword [rax]
mov ecx, ebx
call fcn.1800b2100
cmp byte [rdi + r12], sil
je 0x180060c4f
movss xmm0, dword [0x18026be4c]
jmp 0x180060c52
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 [0x18034fb78], r15
mov dword [0x1802da4f0], 2
call fcn.1800cf390
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movabs r13, 0xd5037ba82e12416f
movabs r15, 0xb69317bf5e782347
movabs r12, 0x1bf60a500e28887
test ax, ax
je 0x180060f2d
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 [0x18034fb78], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf390
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb78], 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.1800cf390
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb78], 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.1800cf390
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 [0x18034fb78], r12
mov dword [0x1802da4f0], 1
call fcn.1800cf390
cmp dword [rax], esi
je 0x180060f2d
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 [0x18034fb78], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf390
xor edx, edx
mov ecx, dword [rax]
call fcn.1800afc30
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.1800ae9b0
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 [0x18034fb78], r13
mov dword [0x1802da4f0], 1
call fcn.1800cf390
movss xmm0, dword [0x18026a220]
movabs rax, 0xab54a438726d25d5
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb78], 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.1800cf390
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180061190
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 [0x18034fb78], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf390
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb78], 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.1800cf390
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb78], 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.1800cf390
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 [0x18034fb78], r12
mov dword [0x1802da4f0], 1
call fcn.1800cf390
cmp dword [rax], esi
je 0x180061190
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 [0x18034fb78], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf390
xor edx, edx
mov ecx, dword [rax]
call fcn.1800afc30
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.1800ae9b0
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 [0x18034fb78], r13
mov dword [0x1802da4f0], 1
call fcn.1800cf390
movss xmm0, dword [0x18026c3a4]
movabs rax, 0xab54a438726d25d5
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb78], 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.1800cf390
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800613e9
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 [0x18034fb78], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf390
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb78], 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.1800cf390
mov qword [rsp + 0xc8], rsi
mov qword [0x18034fb78], 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.1800cf390
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 [0x18034fb78], r12
mov dword [0x1802da4f0], 1
call fcn.1800cf390
cmp dword [rax], esi
je 0x1800613e9
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 [0x18034fb78], rbp
mov dword [0x1802da4f0], 1
call fcn.1800cf390
xor edx, edx
mov ecx, dword [rax]
call fcn.1800afc30
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.1800ae9b0
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 [0x18034fb78], r13
mov dword [0x1802da4f0], 1
call fcn.1800cf390
mov qword [rsp + 0xc8], rsi
movabs rax, 0xab54a438726d25d5
mov qword [0x18034fb78], 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.1800cf390
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