Function at 0x1800d8270
Capabilities:
Log keystrokes via polling

Disassembly:
mov byte [rsp + 8], cl
push rbx
push rdi
sub rsp, 0xc8
xor edi, edi
movabs rbx, 0xd80958fc74e988a6
mov dword [0x1805870e8], edi
mov dword [0x1805870f8], edi
mov qword [0x1805dd278], rbx
call fcn.1801e4620
mov qword [rsp + 0xe8], rdi
mov ecx, dword [rax]
movabs rax, 0x997abd671d25ca0b
mov dword [rsp + 0xe8], ecx
mov qword [0x1805dd278], rax
mov rax, qword [rsp + 0xe8]
mov qword [0x180587120], rax
mov dword [0x1805870f8], edi
mov qword [0x180587128], rdi
mov dword [0x1805870e8], 2
call fcn.1801e4620
cmp dword [rax], edi
je 0x1800d8936
mov qword [rsp + 0xf0], rbp
mov qword [rsp + 0xc0], rsi
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0x90], xmm8
mov dword [0x1805870e8], edi
mov dword [0x1805870f8], edi
mov qword [0x1805dd278], rbx
call fcn.1801e4620
mov qword [rsp + 0xe8], rdi
mov ecx, dword [rax]
movabs rax, 0x9a9112a0fe9a4713
mov dword [rsp + 0xe8], ecx
mov qword [0x1805dd278], rax
mov rax, qword [rsp + 0xe8]
mov qword [0x180587120], rax
mov dword [0x1805870f8], edi
mov qword [0x180587128], rdi
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov qword [rsp + 0xe8], rdi
mov ebx, dword [rax]
movabs rax, 0xd5037ba82e12416f
mov qword [0x1805dd278], rax
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [0x180587120], rax
mov dword [0x1805870f8], edi
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
movss xmm8, dword [rax]
movabs rax, 0xd45dc2893621e1fe
mov qword [0x1805dd278], rax
mov rax, qword [rsp + 0xe8]
mov qword [0x180587120], rax
mov dword [0x1805870f8], edi
mov dword [0x1805870e8], 1
call fcn.1801e4620
lea ecx, [rdi + 0x49]
movss xmm7, dword [rax]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movabs rsi, 0xab54a438726d25d5
test ax, ax
je 0x1800d84a3
mov qword [rsp + 0xe8], rdi
movaps xmm0, xmm8
addss xmm0, dword [0x180504354]
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [0x180587120], rax
mov qword [rsp + 0xe8], rdi
movss dword [rsp + 0xe0], xmm0
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0xe8]
mov qword [0x180587128], rax
mov dword [0x1805870f8], edi
mov qword [0x1805dd278], rsi
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov ecx, 0x55
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xorps xmm6, xmm6
test ax, ax
je 0x1800d850c
movss xmm0, dword [0x1805048d8]
xorps xmm3, xmm3
mov dword [rsp + 0x60], 1
xorps xmm2, xmm2
mov dword [rsp + 0x58], 1
mov edx, 1
mov dword [rsp + 0x50], 1
mov ecx, ebx
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], 1
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm0
call fcn.18015d3f0
mov ecx, 0x4b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800d8596
xorps xmm8, xmmword [0x18050a140]
subss xmm8, dword [0x1805043d0]
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [0x180587120], rax
movss dword [rsp + 0xe0], xmm8
mov eax, dword [rsp + 0xe0]
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0xe8]
mov qword [0x180587128], rax
mov dword [0x1805870f8], edi
mov qword [0x1805dd278], rsi
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov ecx, 0x4a
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm8, xmmword [rsp + 0x90]
movabs rbp, 0xafbd61cc738d9eb9
test ax, ax
je 0x1800d8647
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], rdi
mov qword [0x180587120], rax
mov dword [rsp + 0xe8], 2
mov rax, qword [rsp + 0xe8]
mov qword [0x180587128], rax
mov dword [0x1805870f8], edi
mov qword [0x1805dd278], rbp
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov dword [rsp + 0x28], 1
mov ecx, ebx
mov dword [rsp + 0x20], 2
movups xmm1, xmmword [rax]
movsd xmm3, qword [rax + 0x10]
addss xmm3, dword [0x180504280]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xaa
call fcn.18015bbb0
mov ecx, 0x4c
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800d86e5
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], rdi
mov qword [0x180587120], rax
mov dword [rsp + 0xe8], 2
mov rax, qword [rsp + 0xe8]
mov qword [0x180587128], rax
mov dword [0x1805870f8], edi
mov qword [0x1805dd278], rbp
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov dword [rsp + 0x28], 1
mov ecx, ebx
mov dword [rsp + 0x20], 2
movups xmm1, xmmword [rax]
movsd xmm3, qword [rax + 0x10]
addss xmm3, dword [0x180506b80]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xaa
call fcn.18015bbb0
mov ecx, 0x4e
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rbp, qword [rsp + 0xf0]
test ax, ax
je 0x1800d877a
mov dword [rsp + 0x28], edi
xorps xmm3, xmm3
xorps xmm2, xmm2
mov dword [rsp + 0x20], 2
xorps xmm1, xmm1
mov ecx, ebx
call fcn.18015bbb0
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [0x180587120], rax
mov eax, edi
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0xe8]
mov qword [0x180587128], rax
mov dword [0x1805870f8], edi
mov qword [0x1805dd278], rsi
mov dword [rsp + 0xe0], edi
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov ecx, 0x48
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rsi, qword [rsp + 0xc0]
test ax, ax
je 0x1800d87b6
addss xmm7, dword [0x180506cb4]
mov dword [rsp + 0x28], edi
xorps xmm3, xmm3
xorps xmm2, xmm2
mov dword [rsp + 0x20], 2
mov ecx, ebx
movaps xmm1, xmm7
call fcn.18015bbb0
mov ecx, 0x47
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800d87ea
addss xmm7, dword [0x18050447c]
mov dword [rsp + 0x28], edi
xorps xmm3, xmm3
xorps xmm2, xmm2
mov dword [rsp + 0x20], 2
mov ecx, ebx
movaps xmm1, xmm7
call fcn.18015bbb0
mov ecx, 0x39
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800d881f
movss xmm3, dword [0x180507258]
xorps xmm2, xmm2
mov dword [rsp + 0x28], 1
movaps xmm1, xmm7
mov ecx, ebx
mov dword [rsp + 0x20], 2
call fcn.18015bbb0
mov ecx, 0x38
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800d8854
movss xmm3, dword [0x180504e28]
xorps xmm2, xmm2
mov dword [rsp + 0x28], 1
movaps xmm1, xmm7
mov ecx, ebx
mov dword [rsp + 0x20], 2
call fcn.18015bbb0
mov ecx, 0x37
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800d8889
movss xmm3, dword [0x180505480]
xorps xmm2, xmm2
mov dword [rsp + 0x28], 1
movaps xmm1, xmm7
mov ecx, ebx
mov dword [rsp + 0x20], 2
call fcn.18015bbb0
mov ecx, 0x30
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800d88c0
movss xmm3, dword [0x1805076e8]
xorps xmm2, xmm2
mov dword [rsp + 0x28], 1
movaps xmm1, xmm7
mov ecx, ebx
mov dword [rsp + 0x20], 2
call fcn.18015bbb0
jmp 0x1800d8926
mov qword [rsp + 0xe8], rdi
movabs rax, 0x89f149b6131e57da
mov qword [0x1805dd278], rax
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], rdi
mov qword [0x180587120], rax
mov dword [rsp + 0xe8], 1
mov rax, qword [rsp + 0xe8]
mov qword [0x180587128], rax
mov dword [0x1805870f8], edi
mov dword [0x1805870e8], 2
call fcn.1801e4620
movaps xmm6, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xa0]
add rsp, 0xc8
pop rdi
pop rbx
ret