Function at 0x180103ca0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
push rdi
push r14
push r15
sub rsp, 0x90
movaps xmmword [rax - 0x28], xmm6
xor edi, edi
cmp byte [0x18029c63c], dil
movabs rbp, 0xd80958fc74e988a6
mov qword [rax + 8], rsi
movabs r14, 0x6094ad011a2ea87d
movabs rsi, 0xf3a21bcd95725a4a
movabs r15, 0x7239b21a38f536ba
xorps xmm6, xmm6
je 0x180103e5d
movss xmm0, dword [0x18029c630]
ucomiss xmm0, xmm6
jp 0x180103d0c
je 0x180103e5d
mov rcx, qword [0x180217fa8]
call fcn.18001a360
mov rcx, qword [0x180217fa8]
mov rdx, rbp
call fcn.18001a3e0
mov rcx, qword [0x180217fa8]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.18001a360
mov rdx, qword [0x180217fa8]
mov qword [rsp + 0xb8], rdi
mov dword [rsp + 0xb8], ebx
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rdx, r14
mov rcx, qword [0x180217fa8]
call fcn.18001a3e0
mov rcx, qword [0x180217fa8]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.18001a360
mov rdx, qword [0x180217fa8]
mov qword [rsp + 0xb8], rdi
mov dword [rsp + 0xb8], ebx
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rdx, r15
mov rcx, qword [0x180217fa8]
call fcn.18001a3e0
mov rax, qword [0x180217fa8]
mov rcx, qword [rax]
cmp dword [rcx], edi
je 0x180103e5d
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180103df8
mov edx, 2
mov r8d, Ordinal_211
mov rcx, rsi
call fcn.180070900
test eax, eax
je 0x180103e5d
mov ecx, ebx
call fcn.180107540
test eax, eax
je 0x180103e5d
movss xmm0, dword [0x18029c630]
xorps xmm3, xmm3
divss xmm0, dword [0x1801b7548]
mov dword [rsp + 0x70], 1
mov r8d, 1
mov dword [rsp + 0x68], edi
mov edx, ebx
mov dword [rsp + 0x50], 1
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], xmm0
call fcn.18006e900
movss xmm0, dword [0x18029c634]
ucomiss xmm0, xmm6
jp 0x180103e70
je 0x180103fca
mov rcx, qword [0x180217fa8]
call fcn.18001a360
mov rcx, qword [0x180217fa8]
mov rdx, rbp
call fcn.18001a3e0
mov rcx, qword [0x180217fa8]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.18001a360
mov rdx, qword [0x180217fa8]
mov qword [rsp + 0xb8], rdi
mov dword [rsp + 0xb8], ebx
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rdx, r14
mov rcx, qword [0x180217fa8]
call fcn.18001a3e0
mov rcx, qword [0x180217fa8]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.18001a360
mov rdx, qword [0x180217fa8]
mov qword [rsp + 0xb8], rdi
mov dword [rsp + 0xb8], ebx
mov rax, qword [rsp + 0xb8]
mov ecx, dword [rdx + 8]
mov qword [rdx + rcx*8 + 0x130], rax
inc dword [rdx + 8]
mov rdx, r15
mov rcx, qword [0x180217fa8]
call fcn.18001a3e0
mov rax, qword [0x180217fa8]
mov r8, qword [rax]
cmp dword [r8], edi
je 0x180103fca
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180103f5d
mov edx, 2
mov r8d, Ordinal_211
mov rcx, rsi
call fcn.180070900
test eax, eax
je 0x180103fca
mov ecx, ebx
call fcn.180107540
test eax, eax
je 0x180103fca
movss xmm0, dword [0x18029c634]
xorps xmm3, xmm3
divss xmm0, dword [0x1801b7548]
mov dword [rsp + 0x70], 1
mov r8d, 1
mov dword [rsp + 0x68], edi
mov edx, ebx
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm6
mulss xmm0, dword [0x1801b76c0]
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm0
call fcn.18006e900
movss xmm0, dword [0x18029c62c]
ucomiss xmm0, xmm6
mov rsi, qword [rsp + 0xb0]
jp 0x180103fe5
je 0x18010410b
mov rcx, qword [0x180217fa8]
call fcn.18001a360
mov rcx, qword [0x180217fa8]
mov rdx, rbp
call fcn.18001a3e0
mov rcx, qword [0x180217fa8]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.18001a360
mov r8, qword [0x180217fa8]
mov rdx, r14
mov qword [rsp + 0xb8], rdi
mov dword [rsp + 0xb8], ebx
mov rax, qword [rsp + 0xb8]
mov ecx, dword [r8 + 8]
mov qword [r8 + rcx*8 + 0x130], rax
inc dword [r8 + 8]
mov rcx, qword [0x180217fa8]
call fcn.18001a3e0
mov rcx, qword [0x180217fa8]
mov rax, qword [rcx]
mov ebx, dword [rax]
call fcn.18001a360
mov r8, qword [0x180217fa8]
mov rdx, r15
mov qword [rsp + 0xb8], rdi
mov dword [rsp + 0xb8], ebx
mov rax, qword [rsp + 0xb8]
mov ecx, dword [r8 + 8]
mov qword [r8 + rcx*8 + 0x130], rax
inc dword [r8 + 8]
mov rcx, qword [0x180217fa8]
call fcn.18001a3e0
mov rax, qword [0x180217fa8]
mov rcx, qword [rax]
cmp dword [rcx], edi
je 0x18010410b
movss xmm0, dword [0x18029c62c]
xorps xmm3, xmm3
xorps xmm0, xmmword [0x1801b7920]
mov r8d, 1
divss xmm0, dword [0x1801b7548]
mov dword [rsp + 0x70], 1
mov edx, ebx
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], 1
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm6
call fcn.18006e900
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop rdi
ret