Function at 0x180009e80
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0xb8]
sub rsp, 0x1b0
cmp byte [0x180026395], 1
jne 0x18000a7e3
mov qword [rax - 0x20], rdi
mov rdi, qword [0x1800263b8]
test rdi, rdi
je 0x18000a7db
mov rdx, qword [0x180026690]
lea r9, [rbp - 0x78]
mov qword [rax - 0x10], rbx
add rdx, 0x296b0c0
mov qword [rax - 0x28], r12
xor r12d, r12d
mov eax, dword [0x1800263b4]
mov qword [rbp - 0x78], r12
mov qword [rsp + 0x20], rax
lea ecx, [r12 + 5]
lea r8d, [r12 + 8]
call fcn.1800033d0
mov rbx, qword [rbp - 0x78]
test rbx, rbx
je 0x18000a7cb
mov rdx, qword [0x180026690]
lea r9, [rsp + 0x30]
mov eax, dword [0x1800263b4]
lea ecx, [r12 + 5]
add rdx, 0x2773648
mov qword [rsp + 0x188], r13
lea r8d, [r12 + 8]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x20], rax
call fcn.1800033d0
mov rdx, qword [rsp + 0x30]
lea r9, [rbp + 0xc0]
mov eax, dword [0x1800263b4]
lea ecx, [r12 + 5]
mov qword [0x1800263a8], rdx
lea r8d, [r12 + 1]
add rdx, 0x23c
mov byte [rbp + 0xc0], r12b
mov qword [rsp + 0x20], rax
call fcn.1800033d0
movzx eax, byte [rbp + 0xc0]
lea r9, [rbp + 0xd0]
mov rdx, qword [0x1800263a8]
lea ecx, [r12 + 5]
mov byte [0x1800263a7], al
lea r8d, [r12 + 4]
mov eax, dword [0x1800263b4]
add rdx, 0x250
mov qword [rsp + 0x20], rax
mov dword [rbp + 0xd0], r12d
call fcn.1800033d0
mov eax, dword [rbp + 0xd0]
lea r9, [rbp + 0xc8]
mov rdx, qword [0x180026690]
lea ecx, [r12 + 5]
mov dword [0x1800263b0], eax
lea r8d, [r12 + 1]
mov eax, dword [0x1800263b4]
add rdx, 0x296b0b4
mov qword [rsp + 0x20], rax
mov byte [rbp + 0xc8], r12b
call fcn.1800033d0
movzx eax, byte [rbp + 0xc8]
mov r13d, 0x1db0
mov byte [0x1800263a4], al
test al, al
je 0x18000a019
cmp byte [0x1800263a7], 1
jne 0x18000a17d
movzx ecx, word [0x1800263e8]
lea rax, [rbx + 0x15f0]
mov edx, dword [0x1800263b4]
mov qword [rbp + 0x30], rax
lea rax, [rbp + 0xd8]
mov qword [rbp + 0x40], rax
movzx eax, cx
sub ax, r13w
mov dword [rbp + 0xd8], r12d
mov qword [rbp + 0x20], 0x65083911
mov qword [rbp + 0x28], 6
mov qword [rbp + 0x38], 4
mov qword [rbp + 0x48], rdx
mov qword [rbp + 0x50], 0xffffffffffffffff
cmp ax, 1
jbe 0x18000a09f
lea rax, [rbp + 0x20]
xor r9d, r9d
lea r8, [rsp + 0x40]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
xor ecx, ecx
call qword [0x1800263c0]
mov edx, dword [0x1800263b4]
movzx ecx, word [0x1800263e8]
lea rax, [rbx + 0x15e8]
mov dword [rbp - 0x18], r12d
mov qword [rbp - 0x50], rax
lea rax, [rbp - 0x18]
mov qword [rbp - 0x40], rax
mov eax, edx
mov qword [rbp - 0x38], rax
movzx eax, cx
sub ax, r13w
mov qword [rbp - 0x60], 0x65083911
mov qword [rbp - 0x58], 6
mov qword [rbp - 0x48], 4
mov qword [rbp - 0x30], 0xffffffffffffffff
cmp ax, 1
jbe 0x18000a114
lea rax, [rbp - 0x60]
xor r9d, r9d
lea r8, [rsp + 0x48]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
xor ecx, ecx
call qword [0x1800263c0]
mov edx, dword [0x1800263b4]
movzx ecx, word [0x1800263e8]
lea rax, [rbx + 0x15ec]
mov dword [rbp - 0x28], r12d
mov qword [rsp + 0x60], rax
sub cx, r13w
mov qword [rsp + 0x50], 0x65083911
lea rax, [rbp - 0x28]
mov qword [rsp + 0x70], rax
mov eax, edx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x58], 6
mov qword [rsp + 0x68], 4
mov qword [rbp - 0x80], 0xffffffffffffffff
cmp cx, 1
jbe 0x18000a17d
lea rax, [rsp + 0x50]
xor r9d, r9d
lea r8, [rbp - 0x68]
mov qword [rbp - 0x68], rax
lea rdx, [rbp - 0x68]
xor ecx, ecx
call qword [0x1800263c0]
mov ecx, 0x46
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18000a7c3
cmp byte [0x1800263a7], r12b
jne 0x18000a7c3
mov eax, dword [0x1800263b4]
lea rdx, [rbx + 0x530]
mov ecx, 5
mov qword [rsp + 0x178], r15
lea r9, [rbp + 0xc0]
mov qword [rbp + 0xc0], r12
mov qword [rsp + 0x20], rax
lea r8d, [rcx + 3]
call fcn.1800033d0
mov r15, qword [rbp + 0xc0]
test r15, r15
je 0x18000a7bb
mov eax, dword [0x1800263b4]
lea rdx, [rdi + 0x281]
mov ecx, 5
mov qword [rsp + 0x180], r14
lea r9, [rbp + 0xc0]
mov byte [rbp + 0xc0], r12b
mov qword [rsp + 0x20], rax
lea r8d, [rcx - 4]
call fcn.1800033d0
movzx eax, byte [rbp + 0xc0]
lea r14, [rdi + 0x288]
imul rcx, rax, 0xdc0
add r14, rcx
je 0x18000a7b3
call fcn.18000a7f0
cmp eax, 0xffffffff
je 0x18000a7b3
mov qword [rsp + 0x1a0], rsi
mov rsi, qword [0x1800263b8]
imul eax, eax, 0xdc0
add rsi, 0x288
movsxd rcx, eax
add rsi, rcx
cmp rsi, r14
je 0x18000a7ab
mov eax, dword [0x1800263b4]
lea rdx, [rsi + 9]
mov ecx, 5
mov byte [rbp + 0xc0], r12b
lea r9, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
lea r8d, [rcx - 4]
call fcn.1800033d0
mov eax, dword [0x1800263b4]
lea rdx, [r14 + 9]
movzx ebx, byte [rbp + 0xc0]
lea r9, [rbp + 0xc8]
mov ecx, 5
mov byte [rbp + 0xc8], r12b
mov qword [rsp + 0x20], rax
lea r8d, [rcx - 4]
call fcn.1800033d0
cmp bl, byte [rbp + 0xc8]
je 0x18000a7ab
mov eax, dword [0x1800263b4]
lea r9, [rbp + 0xd8]
mov r8d, 8
mov qword [rbp + 0xd8], r12
mov rdx, rsi
mov qword [rsp + 0x20], rax
lea ecx, [r8 - 3]
call fcn.1800033d0
mov rbx, qword [rbp + 0xd8]
test rbx, rbx
je 0x18000a7ab
mov eax, dword [0x1800263b4]
lea rdx, [rbx + 0x28f8]
mov ecx, 5
mov qword [rbp - 0x68], r12
lea r9, [rbp - 0x68]
mov qword [rsp + 0x20], rax
lea r8d, [rcx + 3]
call fcn.1800033d0
mov rdx, qword [rbp - 0x68]
lea r9, [rbp + 0x20]
mov eax, dword [0x1800263b4]
mov ecx, 5
add rdx, 0x180
mov qword [rsp + 0x20], rax
lea r8d, [rcx + 0x3b]
call fcn.1800033d0
movaps xmm0, xmmword [0x18001afa0]
lea rdx, [rbx + 0x1a8]
mov eax, dword [0x1800263b4]
lea r9, [rbp]
mov ecx, 5
mov qword [rsp + 0x20], rax
movups xmmword [rbp], xmm0
lea r8d, [rcx + 0xb]
call fcn.1800033d0
cmp byte [0x1800263cf], 1
movss xmm3, dword [rbp]
movss xmm2, dword [rbp + 4]
movss xmm5, dword [rbp + 8]
movss xmm1, dword [rbp + 0xc]
movaps xmm4, xmm5
mulss xmm4, xmm3
movaps xmm0, xmm1
mulss xmm0, xmm2
mulss xmm5, xmm2
addss xmm4, xmm0
mulss xmm2, xmm2
movaps xmm0, xmm3
mulss xmm3, xmm3
mulss xmm0, xmm1
addss xmm3, xmm2
addss xmm4, xmm4
subss xmm5, xmm0
movss xmm0, dword [0x18001af08]
addss xmm3, xmm3
addss xmm4, dword [rbp + 0x2c]
addss xmm5, xmm5
subss xmm0, xmm3
movss dword [rsp + 0x30], xmm4
addss xmm5, dword [rbp + 0x3c]
addss xmm0, dword [rbp + 0x4c]
addss xmm5, dword [0x18001af1c]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x34], xmm5
jne 0x18000a720
cmp dword [0x1800263b0], 0x726
jl 0x18000a566
mov eax, dword [0x1800263b4]
lea rdx, [rdi + 0x40]
mov ecx, 5
mov byte [0x1800263a5], 1
lea r9, [rsp + 0x48]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x20], rax
lea r8d, [rcx + 3]
call fcn.1800033d0
mov rax, qword [rsp + 0x48]
movzx ecx, word [0x1800263e8]
add rax, 0x98
mov edx, dword [0x1800263b4]
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x70], rax
movzx eax, cx
sub ax, r13w
mov dword [rbp + 0xd0], 1
mov qword [rsp + 0x50], 0x65083911
mov qword [rsp + 0x58], 6
mov qword [rsp + 0x68], 4
mov qword [rsp + 0x78], rdx
mov qword [rbp - 0x80], 0xffffffffffffffff
cmp ax, 1
jbe 0x18000a4f5
lea rax, [rsp + 0x50]
xor r9d, r9d
lea r8, [rsp + 0x40]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
xor ecx, ecx
call qword [0x1800263c0]
mov edx, dword [0x1800263b4]
movzx ecx, word [0x1800263e8]
mov eax, dword [rsp + 0x38]
sub cx, r13w
movsd xmm0, qword [rsp + 0x30]
mov dword [rbp - 0x70], eax
lea rax, [r15 + 0x19c]
mov qword [rbp - 0x50], rax
lea rax, [rbp - 0x78]
mov qword [rbp - 0x40], rax
mov eax, edx
mov qword [rbp - 0x38], rax
movsd qword [rbp - 0x78], xmm0
mov qword [rbp - 0x60], 0x65083911
mov qword [rbp - 0x58], 6
mov qword [rbp - 0x48], 0xc
mov qword [rbp - 0x30], 0xffffffffffffffff
cmp cx, 1
jbe 0x18000a7ab
lea rax, [rbp - 0x60]
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x30]
jmp 0x18000a7a0
cmp byte [0x1800263a5], 1
jne 0x18000a7ab
mov eax, dword [0x1800263b4]
lea r9, [rsp + 0x48]
mov r8d, 8
movaps xmmword [rsp + 0x160], xmm6
lea rdx, [rdi + 0x40]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x20], rax
lea ecx, [r8 - 3]
call fcn.1800033d0
mov rax, qword [rsp + 0x48]
mov ecx, dword [0x1800263b4]
add rax, 0x98
mov qword [rsp + 0x60], rax
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x70], rax
movzx eax, word [0x1800263e8]
sub ax, r13w
mov dword [rbp + 0xd0], 2
mov qword [rsp + 0x50], 0x65083911
mov qword [rsp + 0x58], 6
mov qword [rsp + 0x68], 4
mov qword [rsp + 0x78], rcx
mov qword [rbp - 0x80], 0xffffffffffffffff
cmp ax, 1
jbe 0x18000a62d
lea rax, [rsp + 0x50]
xor r9d, r9d
lea r8, [rsp + 0x40]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
xor ecx, ecx
call qword [0x1800263c0]
mov ecx, dword [0x1800263b4]
movss xmm6, dword [0x18001af5c]
lea r9, [rsp + 0x30]
mov eax, ecx
lea rdx, [rdi + 0x40]
mov r8d, 8
mov dword [rbp - 0x20], 0x47c34f80
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x20], rax
lea ecx, [r8 - 3]
call fcn.1800033d0
mov rdx, qword [rsp + 0x30]
lea r9, [rbp - 0x78]
mov eax, dword [0x1800263b4]
mov ecx, 5
add rdx, 0x70
mov qword [rbp - 0x78], r12
mov qword [rsp + 0x20], rax
lea r8d, [rcx + 3]
call fcn.1800033d0
mov eax, dword [rbp - 0x20]
movss xmm0, dword [0x18001af44]
mov dword [rbp - 8], eax
mov rax, qword [rbp - 0x78]
add rax, 0x19c
unpcklps xmm0, xmm6
movaps xmm6, xmmword [rsp + 0x160]
mov qword [rbp - 0x50], rax
lea rax, [rbp - 0x10]
mov qword [rbp - 0x40], rax
mov eax, dword [0x1800263b4]
mov qword [rbp - 0x38], rax
movzx eax, word [0x1800263e8]
sub ax, r13w
movsd qword [rbp - 0x10], xmm0
mov qword [rbp - 0x60], 0x65083911
mov qword [rbp - 0x58], 6
mov qword [rbp - 0x48], 0xc
mov qword [rbp - 0x30], 0xffffffffffffffff
cmp ax, 1
jbe 0x18000a714
lea rax, [rbp - 0x60]
xor r9d, r9d
lea r8, [rbp - 0x28]
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0x28]
xor ecx, ecx
call qword [0x1800263c0]
mov byte [0x1800263a5], r12b
jmp 0x18000a7ab
mov eax, dword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
mov dword [rbp - 8], eax
lea rax, [r15 + 0x19c]
mov qword [rsp + 0x60], rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x70], rax
mov eax, dword [0x1800263b4]
mov qword [rsp + 0x78], rax
movzx eax, word [0x1800263e8]
sub ax, r13w
movsd qword [rbp - 0x10], xmm0
mov qword [rsp + 0x50], 0x65083911
mov qword [rsp + 0x58], 6
mov qword [rsp + 0x68], 0xc
mov qword [rbp - 0x80], 0xffffffffffffffff
cmp ax, 1
jbe 0x18000a7ab
lea rax, [rsp + 0x50]
mov qword [rbp + 0xd0], rax
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0xd0]
xor r9d, r9d
xor ecx, ecx
call qword [0x1800263c0]
mov rsi, qword [rsp + 0x1a0]
mov r14, qword [rsp + 0x180]
mov r15, qword [rsp + 0x178]
mov r13, qword [rsp + 0x188]
mov rbx, qword [rsp + 0x1a8]
mov r12, qword [rsp + 0x190]
mov rdi, qword [rsp + 0x198]
add rsp, 0x1b0
pop rbp
ret