Function at 0x1800a6370
Capabilities:
Log keystrokes via polling

Disassembly:
cmp cl, 1
jne 0x1800a67d6
mov r11, rsp
push rbp
lea rbp, [r11 - 0x18]
sub rsp, 0x110
mov rax, qword [0x18012e6b8]
xor rax, rsp
mov qword [rbp - 0x28], rax
mov rcx, qword [0x180109038]
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
mov qword [r11 - 0x10], r14
mov qword [r11 - 0x18], r15
movaps xmmword [r11 - 0x28], xmm6
movaps xmmword [r11 - 0x38], xmm7
call fcn.18000c530
mov rax, qword [0x180109038]
lea rdx, str.p_oil_slick_01
mov ecx, dword [rax + 8]
mov qword [rax + rcx*8 + 0x130], rdx
movabs rdx, 0xd24d37cc275948cc
inc dword [rax + 8]
mov rcx, qword [0x180109038]
call fcn.18000c5b0
mov rcx, qword [0x180109038]
mov rax, qword [rcx]
mov esi, dword [rax]
call fcn.18000c530
mov rax, qword [0x180109038]
xor r15d, r15d
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x40], esi
mov rcx, qword [rsp + 0x40]
mov edx, dword [rax + 8]
mov qword [rax + rdx*8 + 0x130], rcx
movabs rdx, 0x963d27a58df860ac
inc dword [rax + 8]
mov rcx, qword [0x180109038]
call fcn.18000c5b0
mov rcx, qword [0x180109038]
call fcn.18000c530
mov rcx, qword [0x180109038]
movabs rdx, 0xd80958fc74e988a6
call fcn.18000c5b0
mov rcx, qword [0x180109038]
mov rax, qword [rcx]
mov edi, dword [rax]
mov dword [rbp - 0x70], r15d
mov dword [rbp - 0x68], r15d
mov dword [rbp - 0x60], r15d
mov dword [rbp - 0x40], r15d
mov dword [rbp - 0x38], r15d
mov dword [rbp - 0x30], r15d
mov dword [rbp - 0x58], r15d
mov dword [rbp - 0x50], r15d
mov dword [rbp - 0x48], r15d
call fcn.18000c530
mov rax, qword [0x180109038]
movabs r14, 0x3e8d3d5f549087a
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x40], esi
mov rcx, qword [rsp + 0x40]
mov edx, dword [rax + 8]
mov qword [rax + rdx*8 + 0x130], rcx
lea rdx, [rbp - 0x70]
inc dword [rax + 8]
mov rax, qword [0x180109038]
mov ecx, dword [rax + 8]
mov qword [rax + rcx*8 + 0x130], rdx
lea rdx, [rbp - 0x40]
inc dword [rax + 8]
mov rax, qword [0x180109038]
mov ecx, dword [rax + 8]
mov qword [rax + rcx*8 + 0x130], rdx
mov rdx, r14
inc dword [rax + 8]
mov rcx, qword [0x180109038]
call fcn.18000c5b0
mov ecx, edi
call fcn.18007a060
mov rcx, qword [0x180109038]
mov ebx, eax
call fcn.18000c530
mov rax, qword [0x180109038]
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x40], ebx
mov rcx, qword [rsp + 0x40]
mov edx, dword [rax + 8]
mov qword [rax + rdx*8 + 0x130], rcx
lea rdx, [rbp - 0x70]
inc dword [rax + 8]
mov rax, qword [0x180109038]
mov ecx, dword [rax + 8]
mov qword [rax + rcx*8 + 0x130], rdx
lea rdx, [rbp - 0x58]
inc dword [rax + 8]
mov rax, qword [0x180109038]
mov ecx, dword [rax + 8]
mov qword [rax + rcx*8 + 0x130], rdx
mov rdx, r14
inc dword [rax + 8]
mov rcx, qword [0x180109038]
call fcn.18000c5b0
mov ecx, dword [0x18019d910]
call fcn.1800791e0
mov r14, qword [rsp + 0x108]
test eax, eax
jne 0x1800a6635
mov r8b, 1
lea rcx, [rsp + 0x48]
mov edx, edi
call fcn.180079f30
mov r8b, 1
lea rcx, [rsp + 0x60]
mov edx, edi
movss xmm7, dword [rax + 0x10]
subss xmm7, dword [0x1800b14a0]
call fcn.180079f30
mov r8b, 1
lea rcx, [rsp + 0x78]
mov edx, edi
movss xmm6, dword [rax + 8]
call fcn.180079f30
mov byte [rsp + 0x30], r15b
movaps xmm3, xmm7
mov byte [rsp + 0x28], 1
movaps xmm2, xmm6
mov ecx, esi
mov byte [rsp + 0x20], 1
movss xmm1, dword [rax]
call fcn.180078980
xor r9d, r9d
mov dword [0x18019d910], eax
xor r8d, r8d
mov edx, eax
movabs rcx, 0x44a0870b7e92d7c0
call fcn.18004acc0
mov edx, dword [0x18019d910]
mov r9b, 1
movzx r8d, r9b
movabs rcx, 0x1a9205c1b9ee827f
call fcn.18004b950
jmp 0x1800a6792
movss xmm6, dword [rbp - 0x48]
xorps xmm3, xmm3
addss xmm6, dword [rbp - 0x30]
mov ecx, dword [0x18019d910]
xorps xmm2, xmm2
mov byte [rsp + 0x28], r15b
xorps xmm1, xmm1
mov dword [rsp + 0x20], r15d
addss xmm6, dword [0x1800b1444]
call fcn.180080b80
mov r8b, 1
lea rcx, [rsp + 0x78]
mov edx, edi
call fcn.180079f30
mov r8b, 1
lea rcx, [rsp + 0x60]
mov edx, edi
movss xmm7, dword [rax + 0x10]
subss xmm7, xmm6
call fcn.180079f30
mov r8b, 1
lea rcx, [rsp + 0x48]
mov edx, edi
movss xmm6, dword [rax + 8]
call fcn.180079f30
mov ecx, dword [0x18019d910]
movaps xmm3, xmm7
mov byte [rsp + 0x38], r15b
movaps xmm2, xmm6
mov byte [rsp + 0x30], r15b
movss xmm1, dword [rax]
mov byte [rsp + 0x28], r15b
mov byte [rsp + 0x20], r15b
call fcn.180080870
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [0x180109008]
cmp rax, qword [rcx + 0x10]
jne 0x1800a66ee
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jb 0x1800a6717
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [0x180109008]
cmp rax, qword [rcx + 0x10]
jne 0x1800a6792
mov ecx, 0xa3
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x1800a6792
mov edx, dword [0x18019d910]
lea rcx, [rsp + 0x78]
mov r8b, 1
call fcn.180079f30
mov edx, dword [0x18019d910]
lea rcx, [rsp + 0x60]
mov r8b, 1
movss xmm0, dword [rax + 0x10]
cvtps2pd xmm0, xmm0
subsd xmm0, qword [0x1800d4338]
cvtpd2ps xmm7, xmm0
call fcn.180079f30
mov edx, dword [0x18019d910]
lea rcx, [rsp + 0x48]
mov r8b, 1
movss xmm6, dword [rax + 8]
call fcn.180079f30
mov ecx, dword [0x18019d910]
movaps xmm3, xmm7
mov byte [rsp + 0x38], r15b
movaps xmm2, xmm6
mov byte [rsp + 0x30], r15b
movss xmm1, dword [rax]
mov byte [rsp + 0x28], r15b
mov byte [rsp + 0x20], r15b
call fcn.180080870
movaps xmm6, xmmword [rsp + 0xf0]
mov r15, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0xe0]
mov rcx, qword [rbp - 0x28]
xor rcx, rsp
call fcn.1800ac150
add rsp, 0x110
pop rbp
ret