Function at 0x18000a440
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x48
cmp byte [0x1801bb2ad], 0
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x40], rdi
movabs rdi, 0x7fffffff0000
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r15
je 0x18000a4fc
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rcx, qword [0x1801bb2c0]
add rcx, 0x6b8
test ax, ax
je 0x18000a4c8
cmp rcx, 0x40000
jbe 0x18000a4fc
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000a4fc
mov rcx, qword [rcx]
add rcx, 0x84
cmp rcx, 0x40000
jbe 0x18000a4fc
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x18000a4fc
mov dword [rcx], 0x3f800000
jmp 0x18000a4fc
cmp rcx, 0x40000
jbe 0x18000a4fc
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000a4fc
mov rcx, qword [rcx]
add rcx, 0x84
cmp rcx, 0x40000
jbe 0x18000a4fc
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x18000a4fc
mov dword [rcx], 0x40400000
cmp byte [0x1801bb2b6], 0
je 0x18000a54a
mov rcx, qword [0x1801bb2c0]
add rcx, 0x6b0
cmp rcx, 0x40000
jbe 0x18000a54a
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000a54a
mov rcx, qword [rcx]
xorps xmm0, xmm0
add rcx, 0x78
cmp rcx, 0x40000
jbe 0x18000a54a
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000a54a
movss dword [rcx], xmm0
movss dword [rcx + 4], xmm0
cmp byte [0x1801bb2a5], 0
je 0x18000a5b4
mov rcx, qword [0x1801bb698]
add rcx, 0x3981d08
cmp rcx, 0x40000
jbe 0x18000a5b4
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000a5b4
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x18000a5b4
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000a5b4
mov rcx, qword [rcx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x18000a5b4
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x18000a5b4
movss xmm0, dword [0x1800c9f60]
movss dword [rcx], xmm0
xor esi, esi
cmp byte [0x1801bb29c], sil
je 0x18000a610
lea ecx, [rsi + 0x58]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000a610
mov rcx, qword [0x1801bb2c0]
add rcx, 0x8f8
cmp rcx, 0x40000
jbe 0x18000a610
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000a610
mov rcx, qword [rcx]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x18000a610
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x18000a610
mov dword [rcx], esi
mov qword [rcx + 4], 0x3f800000
cmp byte [0x1800c9f55], sil
je 0x18000a676
mov rcx, qword [0x1801bb2c0]
add rcx, 0x6b8
cmp rcx, 0x40000
jbe 0x18000a676
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000a676
mov rcx, qword [rcx]
mov rdx, rcx
lea r8, [rcx + 0xc4]
cmp r8, 0x40000
jbe 0x18000a65b
lea rax, [r8 + 4]
cmp rax, rdi
jae 0x18000a65b
mov dword [r8], esi
lea rcx, [rdx + 0xc8]
cmp rcx, 0x40000
jbe 0x18000a676
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x18000a676
mov dword [rcx], esi
cmp byte [0x1801bb2d0], sil
je 0x18000a6a5
mov rcx, qword [0x1801bb2c0]
add rcx, 0x9cc
cmp rcx, 0x40000
jbe 0x18000a6a5
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x18000a6a5
mov dword [rcx], 0x3f800000
cmp byte [0x1801bb29e], sil
je 0x18000a6eb
mov rcx, qword [0x1801bb2c0]
add rcx, 0x8f0
cmp rcx, 0x40000
jbe 0x18000a6eb
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x18000a6d2
mov edx, dword [rcx]
jmp 0x18000a6e6
cmp rcx, 0x40000
jbe 0x18000a6eb
lea rax, [rcx + 4]
mov edx, esi
cmp rax, rdi
jae 0x18000a6eb
or edx, 4
mov dword [rcx], edx
cmp byte [0x1801bb29d], sil
je 0x18000a736
mov rcx, qword [0x1801bb2c0]
add rcx, 0x8f0
cmp rcx, 0x40000
jbe 0x18000a736
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x18000a718
mov edx, dword [rcx]
jmp 0x18000a72c
cmp rcx, 0x40000
jbe 0x18000a736
lea rax, [rcx + 4]
mov edx, esi
cmp rax, rdi
jae 0x18000a736
mov eax, esi
cmp edx, 4
sete al
mov dword [rcx], eax
cmp byte [0x1801bb299], sil
je 0x18000a77c
mov rax, qword [0x1801bb2c0]
lea rcx, [rax + 0x8f0]
lea rdx, [rax + 0x8f4]
cmp rcx, 0x400000
jbe 0x18000a77c
cmp rdx, rdi
jae 0x18000a766
mov eax, dword [rcx]
jmp 0x18000a776
cmp rcx, 0x400000
jbe 0x18000a77c
mov eax, esi
cmp rdx, rdi
jae 0x18000a77c
bts eax, 0x16
mov dword [rcx], eax
cmp byte [0x1801bb2a8], sil
lea rbp, str.user32
mov qword [rsp + 0x50], rbx
je 0x18000a83e
mov ecx, dword [0x1801bb3a0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000a83e
mov rax, qword [0x1801bb708]
mov rbx, qword [0x1801bb2c0]
test rax, rax
jne 0x18000a7f5
mov dword [rsp + 0x20], 0xe000c
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x28], rbp
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.180007b90
mov rcx, rax
lea rdx, [0x180068dd0]
call fcn.180007a20
mov qword [0x1801bb708], rax
mov ecx, dword [0x1801bb3a0]
call rax
test ax, ax
je 0x18000a83e
lea rcx, [rbx + 0x8f8]
cmp rcx, 0x40000
jbe 0x18000a83e
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000a83e
mov rcx, qword [rcx]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x18000a83e
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x18000a83e
mov qword [rcx], 0x3f800000
mov dword [rcx + 8], esi
cmp byte [0x1801bb29f], sil
je 0x18000a8f4
mov ecx, dword [0x1801bb39c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000a8f4
mov rax, qword [0x1801bb7d8]
mov rbx, qword [0x1801bb2c0]
test rax, rax
jne 0x18000a8ab
mov dword [rsp + 0x20], 0xe000c
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x28], rbp
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.180007b90
mov rcx, rax
lea rdx, [0x180068dd0]
call fcn.180007a20
mov qword [0x1801bb7d8], rax
mov ecx, dword [0x1801bb39c]
call rax
test ax, ax
je 0x18000a8f4
lea rcx, [rbx + 0x8f8]
cmp rcx, 0x40000
jbe 0x18000a8f4
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000a8f4
mov rcx, qword [rcx]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x18000a8f4
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x18000a8f4
mov dword [rcx], 0xbf800000
mov qword [rcx + 4], rsi
cmp byte [0x1801bb2b7], 0
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
je 0x18000aa14
mov rax, qword [0x1801bb8b8]
test rax, rax
jne 0x18000a94f
mov dword [rsp + 0x20], 0xe000c
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x28], rbp
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.180007b90
mov rcx, rax
lea rdx, [0x180068dd0]
call fcn.180007a20
mov qword [0x1801bb8b8], rax
mov ecx, dword [0x1801bb398]
call rax
mov rcx, qword [0x1801bb698]
add rcx, 0x3981d08
test ax, ax
je 0x18000a9c1
cmp rcx, 0x40000
jbe 0x18000aa14
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000aa14
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x18000aa14
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000aa14
mov rcx, qword [rcx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x18000aa14
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x18000aa14
mov dword [rcx], 0x41a00000
jmp 0x18000aa14
cmp rcx, 0x40000
jbe 0x18000aa14
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000aa14
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x18000aa14
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000aa14
mov rcx, qword [rcx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x18000aa14
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x18000aa14
movss xmm0, dword [0x1800c9f60]
movss dword [rcx], xmm0
cmp byte [0x1801bb2a2], 0
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x58]
je 0x18000aa41
mov rcx, qword [0x1801bb2c0]
add rsp, 0x48
jmp fcn.180008270
add rsp, 0x48
ret