Function at 0x18002b940
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movss xmm0, dword [0x1803ad96c]
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
movaps xmmword [rax - 0x28], xmm6
xorps xmm6, xmm6
ucomiss xmm0, xmm6
mov r12d, 4
jne 0x18002b9be
call fcn.18001b220
mov rbx, rax
test rax, rax
je 0x18002b9b6
mov rax, qword gs:[0x58]
mov ecx, dword [0x1803ad344]
mov rcx, qword [rax + rcx*8]
mov eax, dword [r12 + rcx]
cmp dword [0x1803e4648], eax
jg 0x18002bfe4
mov rax, qword [0x1803e4460]
movss xmm6, dword [rax + rbx]
movss dword [0x1803ad96c], xmm6
call fcn.18001b220
mov rcx, rax
call fcn.18001aee0
xor r15d, r15d
mov rdi, rax
movabs r14, 0x7fffffff0000
lea rdx, [rax + 0x20]
cmp rdx, 0x40000
jbe 0x18002bbe8
lea rcx, [rdx + 8]
cmp rcx, r14
jae 0x18002ba16
mov rcx, qword [rdx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x18002ba16
lea rax, [rcx + 4]
cmp rax, r14
jae 0x18002ba16
cmp dword [rcx], 0x40547fde
je 0x18002ba5d
cmp rdx, 0x40000
jbe 0x18002bbe8
lea rax, [rdx + 8]
cmp rax, r14
jae 0x18002bbe8
mov rcx, qword [rdx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x18002bbe8
lea rax, [rcx + 4]
cmp rax, r14
jae 0x18002bbe8
cmp dword [rcx], 0x847b9bf0
jne 0x18002bbe8
cmp byte [0x1803ad890], r15b
je 0x18002bbe8
call fcn.18001b220
mov rbx, rax
test rax, rax
je 0x18002bab3
mov rcx, qword gs:[0x58]
mov edx, dword [0x1803ad344]
mov rdx, qword [rcx + rdx*8]
mov ecx, dword [r12 + rdx]
cmp dword [0x1803e5098], ecx
jg 0x18002c01f
mov rax, qword [0x1803e4b48]
movss xmm0, dword [rax + rbx]
comiss xmm0, dword [0x1801c1918]
jae 0x18002bbe8
lea rcx, [rdi + 0x98]
cmp rcx, 0x40000
jbe 0x18002bbdb
lea rax, [rcx + 8]
cmp rax, r14
jae 0x18002bbdb
mov rdi, qword [rcx]
lea rcx, [rdi + 0x188]
cmp rcx, 0x40000
jbe 0x18002bbdb
lea rax, [rcx + 1]
cmp rax, r14
jae 0x18002bbdb
movzx ebx, byte [rcx]
call fcn.18001b220
mov rcx, rax
call fcn.180019f70
movss xmm6, dword [rax]
test bl, bl
je 0x18002bbe8
movss xmm0, dword [0x1803ad96c]
addss xmm0, dword [0x1801c13c0]
comiss xmm6, xmm0
jbe 0x18002bbe8
mov r8, qword [0x1803ad740]
lea r9, str.UseSelf
add r8, 0x2ffe00
mov dword [rsp + 0x30], 7
mov edx, r15d
mov rcx, r15
movzx eax, word [rcx + r9]
inc edx
mov word [rsp + rcx + 0x34], ax
lea rcx, [rcx + 2]
movsxd rax, dword [rsp + 0x30]
cmp edx, eax
jl 0x18002bb50
mov word [rsp + rax*2 + 0x34], r15w
lea rdx, [rbp - 0x40]
movups xmm0, xmmword [rsp + 0x20]
mov rcx, rdi
movups xmm1, xmmword [rsp + 0x30]
movaps xmmword [rbp - 0x40], xmm0
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rbp - 0x30], xmm1
movups xmm1, xmmword [rsp + 0x50]
movaps xmmword [rbp - 0x20], xmm0
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rbp - 0x10], xmm1
movups xmm1, xmmword [rsp + 0x70]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [rbp - 0x80]
movaps xmmword [rbp + 0x10], xmm1
movups xmm1, xmmword [rbp - 0x70]
movaps xmmword [rbp + 0x20], xmm0
movups xmm0, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0x30], xmm1
movsd xmm1, qword [rbp - 0x50]
movaps xmmword [rbp + 0x40], xmm0
movsd qword [rbp + 0x50], xmm1
call r8
movss dword [0x1803ad96c], xmm6
jmp 0x18002bbe8
call fcn.18001b220
mov rcx, rax
call fcn.180019f70
cmp byte [0x1803ad8a4], r15b
mov rdi, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x198]
je 0x18002bc98
mov ecx, dword [0x1803ad914]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18002bc5b
call fcn.18001b220
lea rcx, [rax + 0x4d0]
cmp rcx, 0x40000
jbe 0x18002bc98
lea rax, [rcx + 8]
cmp rax, r14
jae 0x18002bc98
mov rcx, qword [rcx]
add rcx, 0x74
cmp rcx, 0x40000
jbe 0x18002bc98
lea rax, [rcx + 4]
cmp rax, r14
jae 0x18002bc98
movss xmm0, dword [0x1803ad84c]
movss dword [rcx], xmm0
jmp 0x18002bc98
call fcn.18001b220
lea rcx, [rax + 0x4d0]
cmp rcx, 0x40000
jbe 0x18002bc98
lea rax, [rcx + 8]
cmp rax, r14
jae 0x18002bc98
mov rcx, qword [rcx]
add rcx, 0x74
cmp rcx, 0x40000
jbe 0x18002bc98
lea rax, [rcx + 4]
cmp rax, r14
jae 0x18002bc98
mov dword [rcx], 0x40200000
cmp byte [0x1803ad802], r15b
movss xmm6, dword [0x1802a8c68]
je 0x18002bcc9
mov ecx, dword [0x1803ad8e4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18002bcc9
call fcn.180016ca0
movss xmm6, dword [0x1801c1858]
jmp 0x18002bcce
call fcn.180016ca0
subss xmm6, dword [rax]
mulss xmm6, dword [0x1801c12ec]
addss xmm6, dword [rax]
call fcn.180016ca0
movss dword [rax], xmm6
cmp byte [0x1803ad7fe], r15b
je 0x18002bd2e
mov rax, qword gs:[0x58]
mov ecx, dword [0x1803ad344]
movss xmm6, dword [0x1802a8afc]
mov rcx, qword [rax + rcx*8]
mov eax, dword [r12 + rcx]
cmp dword [0x1803e4ba8], eax
jg 0x18002c05a
mov rax, qword [0x1803e4370]
mov rcx, qword [rax + 0xb8]
movss dword [rcx + 0x14], xmm6
cmp byte [0x1803ad883], r15b
movaps xmm6, xmmword [rsp + 0x160]
mov r12, qword [rsp + 0x1a8]
je 0x18002bd66
call qword [0x1803ceb80]
movss xmm1, dword [0x1802a8c7c]
mov rcx, rax
mulss xmm1, dword [0x1801c1220]
call qword [0x1803ceb88]
cmp byte [0x1803ad89a], r15b
je 0x18002bdc9
call fcn.18001b220
add rax, 0x4d0
cmp rax, 0x40000
jbe 0x18002bdc9
lea rcx, [rax + 8]
cmp rcx, r14
jae 0x18002bdc9
mov rcx, qword [rax]
mov rdx, rcx
lea r8, [rcx + 0xb4]
cmp r8, 0x40000
jbe 0x18002bdad
lea rax, [r8 + 4]
cmp rax, r14
jae 0x18002bdad
mov dword [r8], r15d
lea rcx, [rdx + 0xb8]
cmp rcx, 0x40000
jbe 0x18002bdc9
lea rax, [rcx + 4]
cmp rax, r14
jae 0x18002bdc9
mov dword [rcx], r15d
cmp byte [0x1803ad89d], r15b
je 0x18002be0e
call fcn.18001b220
lea rcx, [rax + 0x5f8]
cmp rcx, 0x40000
jbe 0x18002be0e
lea rax, [rcx + 4]
cmp rax, r14
jae 0x18002bdf4
mov edx, dword [rcx]
jmp 0x18002be09
cmp rcx, 0x40000
jbe 0x18002be0e
lea rax, [rcx + 4]
mov edx, r15d
cmp rax, r14
jae 0x18002be0e
or edx, 4
mov dword [rcx], edx
cmp byte [0x1803ad871], r15b
je 0x18002be59
call fcn.18001b220
lea rcx, [rax + 0x5f8]
cmp rcx, 0x40000
jbe 0x18002be59
lea rax, [rcx + 4]
cmp rax, r14
jae 0x18002be39
mov edx, dword [rcx]
jmp 0x18002be4e
cmp rcx, 0x40000
jbe 0x18002be59
lea rax, [rcx + 4]
mov edx, r15d
cmp rax, r14
jae 0x18002be59
mov eax, r15d
cmp edx, 4
sete al
mov dword [rcx], eax
cmp byte [0x1803ad88d], r15b
je 0x18002bf7d
call fcn.18001b220
mov eax, dword [0x1803ad874]
mov rdx, qword [0x1803ad740]
test eax, eax
jne 0x18002bef0
lea rcx, [rdx + 0x2998760]
cmp rcx, 0x40000
jbe 0x18002bf7d
lea rax, [rcx + 8]
cmp rax, r14
jae 0x18002bf7d
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x18002bf7d
lea rax, [rcx + 8]
cmp rax, r14
jae 0x18002bf7d
mov rcx, qword [rcx]
cmp rcx, 0x40000
jbe 0x18002bf7d
lea rax, [rcx + 4]
cmp rax, r14
jae 0x18002bf7d
movss xmm0, dword [0x1802a8a9c]
movss dword [rcx], xmm0
mov eax, dword [0x1803ad874]
cmp eax, 1
jne 0x18002bf7d
lea rcx, [rdx + 0x2998760]
cmp rcx, 0x40000
jbe 0x18002bf33
lea rax, [rcx + 8]
cmp rax, r14
jae 0x18002bf33
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x18002bf33
lea rax, [rcx + 8]
cmp rax, r14
jae 0x18002bf33
mov rcx, qword [rcx]
jmp 0x18002bf36
mov rcx, r15
movss xmm0, dword [0x1803e3880]
addss xmm0, dword [0x1802a8abc]
comiss xmm0, dword [0x1801c1890]
movss dword [0x1803e3880], xmm0
jbe 0x18002bf67
movss xmm0, dword [0x1801c12cc]
movss dword [0x1803e3880], xmm0
cmp rcx, 0x40000
jbe 0x18002bf7d
lea rax, [rcx + 4]
cmp rax, r14
jae 0x18002bf7d
movss dword [rcx], xmm0
cmp byte [0x1803ad8bb], r15b
je 0x18002bfd7
mov ecx, dword [0x1803ad904]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18002bfd7
call fcn.18001b220
add rax, 0x600
cmp rax, 0x40000
jbe 0x18002bfd7
lea rcx, [rax + 8]
cmp rcx, r14
jae 0x18002bfd7
mov rcx, qword [rax]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x18002bfd7
lea rax, [rcx + 0xc]
cmp rax, r14
jae 0x18002bfd7
mov dword [rcx], r15d
mov qword [rcx + 4], 0x3fc00000
add rsp, 0x170
pop r15
pop r14
pop rbp
ret
lea rcx, [0x1803e4648]
call fcn.18011c184
cmp dword [0x1803e4648], 0xffffffff
jne 0x18002b9aa
mov ecx, 0xc566d10
call fcn.180015290
lea rcx, [0x1803e4648]
mov qword [0x1803e4460], rax
call fcn.18011c124
jmp 0x18002b9aa
lea rcx, [0x1803e5098]
call fcn.18011c184
cmp dword [0x1803e5098], 0xffffffff
jne 0x18002ba9a
mov ecx, 0x43f29029
call fcn.180015290
lea rcx, [0x1803e5098]
mov qword [0x1803e4b48], rax
call fcn.18011c124
jmp 0x18002ba9a
lea rcx, [0x1803e4ba8]
call fcn.18011c184
cmp dword [0x1803e4ba8], 0xffffffff
jne 0x18002bd1b
mov ecx, 0xe714efe7
call fcn.180011310
lea rcx, [0x1803e4ba8]
mov qword [0x1803e4370], rax
call fcn.18011c124
jmp 0x18002bd1b