Function at 0x180064db0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0xb0
xor r15d, r15d
mov rdi, rcx
mov ebx, r15d
cmp byte [rcx + 0x109], bl
sete bl
call fcn.18005b2d0
mov ecx, eax
call fcn.18005a3e0
mov edx, ebx
mov ecx, eax
call fcn.18005c750
cmp byte [rdi + 0x109], r15b
je 0x18006534c
movaps xmmword [rsp + 0x90], xmm7
xorps xmm7, xmm7
cmp dword [rdi + 0x10c], r15d
jne 0x1800650ba
call fcn.18005b2d0
mov ecx, eax
call fcn.18005a3e0
movzx edx, byte [rdi + 0x10a]
lea r8d, [r15 + 1]
mov ecx, eax
mov ebx, eax
call fcn.18005b5c0
call fcn.18005b2d0
mov ecx, eax
xor edx, edx
call fcn.18005ae30
test eax, eax
je 0x1800650ba
mov ecx, ebx
movaps xmmword [rsp + 0xa0], xmm6
call fcn.18005b180
test eax, eax
jne 0x180064e65
mov r8d, 0x12c
lea rcx, [0x180248570]
mov edx, ebx
call fcn.180070170
xor edx, edx
mov ecx, ebx
call fcn.18005c750
mov ecx, ebx
call fcn.180059800
mov ecx, ebx
movss dword [0x180266154], xmm0
call fcn.180059900
mov ecx, 0x57
movaps xmm6, xmm0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm3, dword [0x180266150]
mov ecx, ebx
movss xmm2, dword [0x180266158]
movss xmm1, dword [0x180266154]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
test ax, ax
je 0x180064eff
call fcn.18005bae0
movss xmm1, dword [0x1801db1e8]
comiss xmm1, xmm6
jbe 0x180064ee0
addss xmm6, dword [0x1801a4d54]
movaps xmm1, xmm6
jmp 0x180064f26
movss xmm0, dword [0x1801db1ec]
comiss xmm0, xmm6
ja 0x180064f26
comiss xmm6, xmm0
jbe 0x180064f2d
subss xmm6, dword [0x1801a4d54]
movaps xmm1, xmm6
jmp 0x180064f26
call fcn.18005bae0
cvttss2si eax, xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x1801db14c]
jbe 0x180064f23
dec eax
movd xmm1, eax
cvtdq2ps xmm1, xmm1
jmp 0x180064f26
xorps xmm1, xmm1
mov ecx, ebx
call fcn.18005c6e0
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180064f76
movss xmm3, dword [0x180266150]
mov ecx, ebx
movss xmm2, dword [0x180266158]
movss xmm1, dword [0x180266154]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
call fcn.18005bae0
xorps xmm1, xmm1
mov ecx, ebx
call fcn.18005c6e0
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180064fc5
movss xmm3, dword [0x180266150]
mov ecx, ebx
addss xmm3, dword [0x1801db174]
movss xmm2, dword [0x180266158]
movss xmm1, dword [0x180266154]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
movss dword [0x180266150], xmm3
call fcn.18005bae0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm6, dword [0x1801db220]
test ax, ax
je 0x180065018
movss xmm3, dword [0x180266150]
mov ecx, ebx
movss xmm2, dword [0x180266158]
addss xmm3, xmm6
movss xmm1, dword [0x180266154]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
movss dword [0x180266150], xmm3
call fcn.18005bae0
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180065063
movss xmm1, dword [0x180266154]
mov ecx, ebx
movss xmm3, dword [0x180266150]
addss xmm1, xmm6
movss xmm2, dword [0x180266158]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
movss dword [0x180266154], xmm1
call fcn.18005bae0
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm6, xmmword [rsp + 0xa0]
test ax, ax
je 0x1800650ba
movss xmm1, dword [0x180266154]
mov ecx, ebx
addss xmm1, dword [0x1801db174]
movss xmm3, dword [0x180266150]
movss xmm2, dword [0x180266158]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 2
movss dword [0x180266154], xmm1
call fcn.18005bae0
cmp dword [rdi + 0x10c], 1
jne 0x180065344
mov qword [rsp + 0xd0], rbp
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xe0], r14
call fcn.180059fc0
xor edx, edx
mov ecx, eax
call fcn.18005c750
call fcn.180059fc0
xor edx, edx
lea rcx, [rsp + 0x70]
mov ebx, eax
call fcn.1800599b0
movss xmm3, dword [rsp + 0x80]
mov ecx, ebx
movss xmm2, dword [rsp + 0x78]
movss xmm1, dword [rsp + 0x70]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
call fcn.18005bae0
movzx edx, byte [rdi + 0x10a]
mov r8d, 1
mov ecx, ebx
call fcn.18005b5c0
call fcn.18005b290
mov edx, 0x47
lea ecx, [rdx - 0x45]
call fcn.18005a7c0
mov esi, 0xc8
mov r14d, 0x190
test eax, eax
je 0x180065188
mov edx, 0x10
lea rcx, [section..data]
call fcn.1800e1480
test al, al
mov ecx, esi
cmovne ecx, r14d
movd xmm1, ecx
mov ecx, ebx
cvtdq2ps xmm1, xmm1
call fcn.18005c6e0
mov edx, 0x48
lea ecx, [rdx - 0x46]
call fcn.18005a7c0
mov edi, 0xffffff38
mov ebp, 0xfffffe70
test eax, eax
je 0x1800651c9
mov edx, 0x10
lea rcx, [section..data]
call fcn.1800e1480
test al, al
mov ecx, edi
cmovne ecx, ebp
movd xmm1, ecx
mov ecx, ebx
cvtdq2ps xmm1, xmm1
call fcn.18005c6e0
mov edx, 0x3f
lea ecx, [rdx - 0x3d]
call fcn.18005a7c0
test eax, eax
je 0x180065248
mov edx, 0x10
lea rcx, [section..data]
call fcn.1800e1480
mov dword [rsp + 0x68], 1
test al, al
mov dword [rsp + 0x60], r15d
xorps xmm3, xmm3
mov dword [rsp + 0x58], 1
cmovne edi, ebp
mov dword [rsp + 0x50], 1
mov edx, 1
mov dword [rsp + 0x48], 1
mov ecx, ebx
mov dword [rsp + 0x40], r15d
movss dword [rsp + 0x38], xmm7
movss dword [rsp + 0x30], xmm7
movd xmm2, edi
movss dword [rsp + 0x28], xmm7
cvtdq2ps xmm2, xmm2
movss dword [rsp + 0x20], xmm7
call fcn.180058170
mov edx, 0x40
lea ecx, [rdx - 0x3e]
call fcn.18005a7c0
mov rbp, qword [rsp + 0xd0]
test eax, eax
je 0x1800652d0
mov edx, 0x10
lea rcx, [section..data]
call fcn.1800e1480
mov dword [rsp + 0x68], 1
test al, al
mov dword [rsp + 0x60], r15d
xorps xmm3, xmm3
mov dword [rsp + 0x58], 1
cmovne esi, r14d
mov dword [rsp + 0x50], 1
mov edx, 1
mov dword [rsp + 0x48], 1
mov ecx, ebx
mov dword [rsp + 0x40], r15d
movss dword [rsp + 0x38], xmm7
movss dword [rsp + 0x30], xmm7
movd xmm2, esi
movss dword [rsp + 0x28], xmm7
cvtdq2ps xmm2, xmm2
movss dword [rsp + 0x20], xmm7
call fcn.180058170
mov edx, 0x40
lea ecx, [rdx - 0x3e]
call fcn.18005a7c0
mov r14, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xd8]
test eax, eax
jne 0x18006531a
lea edx, [rax + 0x3f]
lea ecx, [rax + 2]
call fcn.18005a7c0
test eax, eax
jne 0x18006531a
lea edx, [rax + 0x48]
lea ecx, [rax + 2]
call fcn.18005a7c0
test eax, eax
jne 0x18006531a
lea edx, [rax + 0x47]
lea ecx, [rax + 2]
call fcn.18005a7c0
mov edx, 0x47
lea ecx, [rdx - 0x45]
call fcn.18005a7c0
test eax, eax
jne 0x180065344
lea edx, [rax + 0x48]
lea ecx, [rax + 2]
call fcn.18005a7c0
test eax, eax
jne 0x180065344
xorps xmm1, xmm1
mov ecx, ebx
call fcn.18005c6e0
movaps xmm7, xmmword [rsp + 0x90]
add rsp, 0xb0
pop r15
pop rdi
pop rbx
ret