Function at 0x18002bfc0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x120
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x1801da5d0]
xor rax, rsp
mov qword [rbp - 0x28], rax
cmp byte [0x1801f22b0], 0
xorps xmm9, xmm9
je 0x18002c1c1
call fcn.18001b880
mov r15d, eax
call fcn.18000a950
mov r14d, eax
xor edi, edi
nop dword [rax]
cmp edi, r15d
je 0x18002c1b6
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18002c1b6
mov ecx, edi
call fcn.18000a910
mov r8d, 1
lea rcx, [rsp + 0x40]
mov edx, eax
mov esi, eax
call fcn.180008100
mov ecx, esi
call fcn.1800080c0
mov ecx, esi
mov ebx, eax
call fcn.180029b60
test ebx, ebx
je 0x18002c1b6
test eax, eax
jne 0x18002c1b6
movss xmm2, dword [rsp + 0x50]
lea rax, [rsp + 0x58]
movss xmm1, dword [rsp + 0x48]
lea r9, [rsp + 0x5c]
movss xmm0, dword [rsp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.1800183c0
mov ecx, esi
mov ebx, eax
call fcn.180028c30
test eax, eax
je 0x18002c1b6
test ebx, ebx
je 0x18002c1b6
mov edx, esi
mov ecx, r14d
call fcn.180018200
test eax, eax
je 0x18002c1b6
mov r8d, 0x796e
movss dword [rsp + 0x28], xmm9
mov edx, esi
lea rcx, [rsp + 0x60]
call fcn.18000a5c0
movups xmm0, xmmword [rsp + 0x40]
lea rdx, [rbp - 0x80]
mov ecx, r14d
movss xmm6, dword [rsp + 0x60]
movss xmm7, dword [rsp + 0x68]
movss xmm0, xmm6
movss xmm8, dword [rsp + 0x70]
shufps xmm0, xmm0, 0xd2
movss xmm0, xmm7
shufps xmm0, xmm0, 0xc9
movups xmmword [rsp + 0x40], xmm0
movaps xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [rsp + 0x50]
movss xmm0, xmm8
movsd qword [rsp + 0x50], xmm0
movsd qword [rbp - 0x70], xmm0
call fcn.18002be90
movaps xmm3, xmm8
movaps xmm2, xmm7
movaps xmm1, xmm6
mov ecx, r14d
call fcn.1800299a0
mov dword [rbp - 0x40], 0
mov dword [rbp - 0x38], 0
mov dword [rbp - 0x30], 0
call fcn.18000a950
mov ecx, eax
lea rdx, [rbp - 0x40]
call fcn.18002a3f0
test eax, eax
je 0x18002c1b6
movss xmm0, dword [rbp - 0x40]
ucomiss xmm0, xmm6
jne 0x18002c193
movss xmm0, dword [rbp - 0x38]
ucomiss xmm0, xmm7
jne 0x18002c193
movss xmm0, dword [rbp - 0x30]
ucomiss xmm0, xmm8
jne 0x18002c193
mov al, 1
jmp 0x18002c195
xor al, al
test al, al
je 0x18002c1b6
movups xmm0, xmmword [rsp + 0x60]
lea rcx, [rbp - 0x80]
movsd xmm1, qword [rsp + 0x70]
movaps xmmword [rbp - 0x80], xmm0
movsd qword [rbp - 0x70], xmm1
call fcn.18002b740
inc edi
cmp edi, 0x20
jl 0x18002c020
cmp byte [0x1801f22af], 0
mov qword [rsp + 0x150], r12
mov qword [rsp + 0x158], r13
je 0x18002c3df
mov ecx, 0x58
call fcn.18014f5a0
mov r14, rax
mov dword [rax], 0xa
call fcn.18000a950
mov ecx, eax
mov rdx, r14
call fcn.18000a850
movsxd rbx, eax
call fcn.18001b880
movsxd rdi, eax
call fcn.18000a950
xor esi, esi
mov r15d, eax
mov r12, rbx
test ebx, ebx
jle 0x18002c3df
mov r13, rdi
add r14, 8
nop word [rax + rax]
mov edx, dword [r14]
lea rcx, [rbp - 0x60]
xor r8d, r8d
call fcn.180008100
cmp rsi, r13
je 0x18002c3cf
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18002c3cf
mov edi, dword [r14]
lea rcx, [rsp + 0x40]
mov edx, edi
mov r8d, 1
call fcn.180008100
mov ecx, edi
call fcn.1800080c0
mov ecx, edi
mov ebx, eax
call fcn.180029b60
test ebx, ebx
je 0x18002c3cf
test eax, eax
jne 0x18002c3cf
movss xmm2, dword [rsp + 0x50]
lea rax, [rsp + 0x5c]
movss xmm1, dword [rsp + 0x48]
lea r9, [rsp + 0x58]
movss xmm0, dword [rsp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.1800183c0
mov ecx, edi
mov ebx, eax
call fcn.180028c30
test eax, eax
je 0x18002c3cf
test ebx, ebx
je 0x18002c3cf
mov edx, edi
mov ecx, r15d
call fcn.180018200
test eax, eax
je 0x18002c3cf
mov r8d, 0x796e
movss dword [rsp + 0x28], xmm9
mov edx, edi
lea rcx, [rsp + 0x60]
call fcn.18000a5c0
movups xmm0, xmmword [rsp + 0x40]
lea rdx, [rbp - 0x80]
mov ecx, r15d
movss xmm6, dword [rsp + 0x60]
movss xmm7, dword [rsp + 0x68]
movss xmm0, xmm6
movss xmm8, dword [rsp + 0x70]
shufps xmm0, xmm0, 0xd2
movss xmm0, xmm7
shufps xmm0, xmm0, 0xc9
movups xmmword [rsp + 0x40], xmm0
movaps xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [rsp + 0x50]
movss xmm0, xmm8
movsd qword [rsp + 0x50], xmm0
movsd qword [rbp - 0x70], xmm0
call fcn.18002be90
movaps xmm3, xmm8
movaps xmm2, xmm7
movaps xmm1, xmm6
mov ecx, r15d
call fcn.1800299a0
mov dword [rbp - 0x40], 0
mov dword [rbp - 0x38], 0
mov dword [rbp - 0x30], 0
call fcn.18000a950
mov ecx, eax
lea rdx, [rbp - 0x40]
call fcn.18002a3f0
test eax, eax
je 0x18002c3cf
movss xmm0, dword [rbp - 0x40]
ucomiss xmm0, xmm6
jne 0x18002c3ac
movss xmm0, dword [rbp - 0x38]
ucomiss xmm0, xmm7
jne 0x18002c3ac
movss xmm0, dword [rbp - 0x30]
ucomiss xmm0, xmm8
jne 0x18002c3ac
mov al, 1
jmp 0x18002c3ae
xor al, al
test al, al
je 0x18002c3cf
movups xmm0, xmmword [rsp + 0x60]
lea rcx, [rbp - 0x80]
movsd xmm1, qword [rsp + 0x70]
movaps xmmword [rbp - 0x80], xmm0
movsd qword [rbp - 0x70], xmm1
call fcn.18002b740
inc rsi
add r14, 8
cmp rsi, r12
jl 0x18002c230
cmp byte [0x1801f22ae], 0
je 0x18002c743
call fcn.18001b880
movsxd r13, eax
call fcn.18000a950
mov r15d, eax
xor edi, edi
nop
cmp edi, r13d
je 0x18002c582
mov ecx, edi
call fcn.18000a910
mov r8d, 1
lea rcx, [rsp + 0x40]
mov edx, eax
mov esi, eax
call fcn.180008100
mov ecx, esi
call fcn.1800080c0
mov ecx, esi
mov ebx, eax
call fcn.180029b60
test ebx, ebx
je 0x18002c582
test eax, eax
jne 0x18002c582
movss xmm2, dword [rsp + 0x50]
lea rax, [rsp + 0x5c]
movss xmm1, dword [rsp + 0x48]
lea r9, [rsp + 0x58]
movss xmm0, dword [rsp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.1800183c0
mov ecx, esi
mov ebx, eax
call fcn.180028c30
test eax, eax
je 0x18002c582
test ebx, ebx
je 0x18002c582
mov edx, esi
mov ecx, r15d
call fcn.180018200
test eax, eax
je 0x18002c582
mov r8d, 0x796e
movss dword [rsp + 0x28], xmm9
mov edx, esi
lea rcx, [rsp + 0x60]
call fcn.18000a5c0
movups xmm0, xmmword [rsp + 0x40]
lea rdx, [rbp - 0x60]
mov ecx, r15d
movss xmm6, dword [rsp + 0x60]
movss xmm7, dword [rsp + 0x68]
movss xmm0, xmm6
movss xmm8, dword [rsp + 0x70]
shufps xmm0, xmm0, 0xd2
movss xmm0, xmm7
shufps xmm0, xmm0, 0xc9
movups xmmword [rsp + 0x40], xmm0
movaps xmmword [rbp - 0x60], xmm0
movsd xmm0, qword [rsp + 0x50]
movss xmm0, xmm8
movsd qword [rsp + 0x50], xmm0
movsd qword [rbp - 0x50], xmm0
call fcn.18002be90
movaps xmm3, xmm8
movaps xmm2, xmm7
movaps xmm1, xmm6
mov ecx, r15d
call fcn.1800299a0
mov dword [rbp - 0x40], 0
mov dword [rbp - 0x38], 0
mov dword [rbp - 0x30], 0
call fcn.18000a950
mov ecx, eax
lea rdx, [rbp - 0x40]
call fcn.18002a3f0
test eax, eax
je 0x18002c582
movss xmm0, dword [rbp - 0x40]
ucomiss xmm0, xmm6
jne 0x18002c55f
movss xmm0, dword [rbp - 0x38]
ucomiss xmm0, xmm7
jne 0x18002c55f
movss xmm0, dword [rbp - 0x30]
ucomiss xmm0, xmm8
jne 0x18002c55f
mov al, 1
jmp 0x18002c561
xor al, al
test al, al
je 0x18002c582
movups xmm0, xmmword [rsp + 0x60]
lea rcx, [rbp - 0x60]
movsd xmm1, qword [rsp + 0x70]
movaps xmmword [rbp - 0x60], xmm0
movsd qword [rbp - 0x50], xmm1
call fcn.18002b740
inc edi
cmp edi, 0x20
jl 0x18002c400
mov ecx, 0x58
call fcn.18014f5a0
mov r14, rax
xor esi, esi
mov dword [rax], 0xa
call fcn.18000a950
mov ecx, eax
mov rdx, r14
call fcn.18000a850
movsxd r12, eax
test eax, eax
jle 0x18002c6e8
add r14, 8
mov edx, dword [r14]
lea rcx, [rbp - 0x60]
xor r8d, r8d
call fcn.180008100
cmp rsi, r13
je 0x18002c6d8
mov edi, dword [r14]
lea rcx, [rsp + 0x40]
mov edx, edi
mov r8d, 1
call fcn.180008100
mov ecx, edi
call fcn.1800080c0
mov ecx, edi
mov ebx, eax
call fcn.180029b60
test ebx, ebx
je 0x18002c6d8
test eax, eax
jne 0x18002c6d8
movss xmm2, dword [rsp + 0x50]
lea rax, [rsp + 0x5c]
movss xmm1, dword [rsp + 0x48]
lea r9, [rsp + 0x58]
movss xmm0, dword [rsp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.1800183c0
mov ecx, edi
mov ebx, eax
call fcn.180028c30
test eax, eax
je 0x18002c6d8
test ebx, ebx
je 0x18002c6d8
mov edx, edi
mov ecx, r15d
call fcn.180018200
test eax, eax
je 0x18002c6d8
mov r8d, 0x796e
movss dword [rsp + 0x28], xmm9
mov edx, edi
lea rcx, [rsp + 0x40]
call fcn.18000a5c0
movups xmm0, xmmword [rsp + 0x40]
lea rdx, [rbp - 0x60]
mov ecx, r15d
movss xmm8, dword [rsp + 0x40]
movss xmm7, dword [rsp + 0x48]
movss xmm0, xmm8
movss xmm6, dword [rsp + 0x50]
shufps xmm0, xmm0, 0xd2
movss xmm0, xmm7
shufps xmm0, xmm0, 0xc9
movups xmmword [rsp + 0x40], xmm0
movaps xmmword [rbp - 0x60], xmm0
movsd xmm0, qword [rsp + 0x50]
movss xmm0, xmm6
movsd qword [rsp + 0x50], xmm0
movsd qword [rbp - 0x50], xmm0
call fcn.18002be90
movaps xmm3, xmm6
movaps xmm2, xmm7
movaps xmm1, xmm8
mov ecx, r15d
call fcn.1800299a0
inc rsi
add r14, 8
cmp rsi, r12
jl 0x18002c5c0
call fcn.18000a950
mov edx, eax
lea rcx, [rbp - 0x80]
mov r8d, 1
call fcn.180008100
movss xmm6, dword [rbp - 0x70]
comiss xmm6, dword [0x1801babe4]
jae 0x18002c743
addss xmm6, dword [0x1801bab18]
call fcn.18000a950
movss xmm2, dword [rbp - 0x78]
mov ecx, eax
movss xmm1, dword [rbp - 0x80]
xor eax, eax
mov dword [rsp + 0x38], eax
movaps xmm3, xmm6
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 1
call fcn.180008950
mov r13, qword [rsp + 0x158]
mov r12, qword [rsp + 0x150]
mov rcx, qword [rbp - 0x28]
xor rcx, rsp
call fcn.18014f070
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret