Function at 0x1800094e0
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x48
cmp byte [0x1801af86d], 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 0x18000959c
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rcx, qword [0x1801af880]
add rcx, 0x5c0
test ax, ax
je 0x180009568
cmp rcx, 0x40000
jbe 0x18000959c
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000959c
mov rcx, qword [rcx]
add rcx, 0x8c
cmp rcx, 0x40000
jbe 0x18000959c
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x18000959c
mov dword [rcx], 0x3f800000
jmp 0x18000959c
cmp rcx, 0x40000
jbe 0x18000959c
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000959c
mov rcx, qword [rcx]
add rcx, 0x8c
cmp rcx, 0x40000
jbe 0x18000959c
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x18000959c
mov dword [rcx], 0x40400000
cmp byte [0x1801af876], 0
je 0x1800095ea
mov rcx, qword [0x1801af880]
add rcx, 0x5b8
cmp rcx, 0x40000
jbe 0x1800095ea
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800095ea
mov rcx, qword [rcx]
xorps xmm0, xmm0
sub rcx, 0xffffffffffffff80
cmp rcx, 0x40000
jbe 0x1800095ea
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800095ea
movss dword [rcx], xmm0
movss dword [rcx + 4], xmm0
cmp byte [0x1801af865], 0
je 0x180009654
mov rcx, qword [0x1801afc58]
add rcx, 0x3b04fe0
cmp rcx, 0x40000
jbe 0x180009654
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009654
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x180009654
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009654
mov rcx, qword [rcx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x180009654
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009654
movss xmm0, dword [0x1800bef50]
movss dword [rcx], xmm0
xor esi, esi
cmp byte [0x1801af85c], sil
je 0x1800096b0
lea ecx, [rsi + 0x58]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800096b0
mov rcx, qword [0x1801af880]
add rcx, 0x800
cmp rcx, 0x40000
jbe 0x1800096b0
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800096b0
mov rcx, qword [rcx]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x1800096b0
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x1800096b0
mov dword [rcx], esi
mov qword [rcx + 4], 0x3f800000
cmp byte [0x1800bef45], sil
je 0x180009716
mov rcx, qword [0x1801af880]
add rcx, 0x5c0
cmp rcx, 0x40000
jbe 0x180009716
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009716
mov rcx, qword [rcx]
mov rdx, rcx
lea r8, [rcx + 0xcc]
cmp r8, 0x40000
jbe 0x1800096fb
lea rax, [r8 + 4]
cmp rax, rdi
jae 0x1800096fb
mov dword [r8], esi
lea rcx, [rdx + 0xd0]
cmp rcx, 0x40000
jbe 0x180009716
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009716
mov dword [rcx], esi
cmp byte [0x1801af890], sil
je 0x180009745
mov rcx, qword [0x1801af880]
add rcx, 0x8d8
cmp rcx, 0x40000
jbe 0x180009745
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009745
mov dword [rcx], 0x3f800000
cmp byte [0x1801af85e], sil
je 0x18000978b
mov rcx, qword [0x1801af880]
add rcx, 0x7f8
cmp rcx, 0x40000
jbe 0x18000978b
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009772
mov edx, dword [rcx]
jmp 0x180009786
cmp rcx, 0x40000
jbe 0x18000978b
lea rax, [rcx + 4]
mov edx, esi
cmp rax, rdi
jae 0x18000978b
or edx, 4
mov dword [rcx], edx
cmp byte [0x1801af85d], sil
je 0x1800097d6
mov rcx, qword [0x1801af880]
add rcx, 0x7f8
cmp rcx, 0x40000
jbe 0x1800097d6
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x1800097b8
mov edx, dword [rcx]
jmp 0x1800097cc
cmp rcx, 0x40000
jbe 0x1800097d6
lea rax, [rcx + 4]
mov edx, esi
cmp rax, rdi
jae 0x1800097d6
mov eax, esi
cmp edx, 4
sete al
mov dword [rcx], eax
cmp byte [0x1801af859], sil
je 0x18000981c
mov rax, qword [0x1801af880]
lea rcx, [rax + 0x7f8]
lea rdx, [rax + 0x7fc]
cmp rcx, 0x400000
jbe 0x18000981c
cmp rdx, rdi
jae 0x180009806
mov eax, dword [rcx]
jmp 0x180009816
cmp rcx, 0x400000
jbe 0x18000981c
mov eax, esi
cmp rdx, rdi
jae 0x18000981c
bts eax, 0x16
mov dword [rcx], eax
cmp byte [0x1801af868], sil
lea rbp, str.user32
mov qword [rsp + 0x50], rbx
je 0x1800098de
mov ecx, dword [0x1801af960]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800098de
mov rax, qword [0x1801afcb8]
mov rbx, qword [0x1801af880]
test rax, rax
jne 0x180009895
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.180006c30
mov rcx, rax
lea rdx, [0x18005fb10]
call fcn.180006ac0
mov qword [0x1801afcb8], rax
mov ecx, dword [0x1801af960]
call rax
test ax, ax
je 0x1800098de
lea rcx, [rbx + 0x800]
cmp rcx, 0x40000
jbe 0x1800098de
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800098de
mov rcx, qword [rcx]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x1800098de
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x1800098de
mov qword [rcx], 0x3f800000
mov dword [rcx + 8], esi
cmp byte [0x1801af85f], sil
je 0x180009994
mov ecx, dword [0x1801af95c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180009994
mov rax, qword [0x1801afd88]
mov rbx, qword [0x1801af880]
test rax, rax
jne 0x18000994b
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.180006c30
mov rcx, rax
lea rdx, [0x18005fb10]
call fcn.180006ac0
mov qword [0x1801afd88], rax
mov ecx, dword [0x1801af95c]
call rax
test ax, ax
je 0x180009994
lea rcx, [rbx + 0x800]
cmp rcx, 0x40000
jbe 0x180009994
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009994
mov rcx, qword [rcx]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180009994
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x180009994
mov dword [rcx], 0xbf800000
mov qword [rcx + 4], rsi
cmp byte [0x1801af877], 0
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
je 0x180009ab4
mov rax, qword [0x1801afe68]
test rax, rax
jne 0x1800099ef
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.180006c30
mov rcx, rax
lea rdx, [0x18005fb10]
call fcn.180006ac0
mov qword [0x1801afe68], rax
mov ecx, dword [0x1801af958]
call rax
mov rcx, qword [0x1801afc58]
add rcx, 0x3b04fe0
test ax, ax
je 0x180009a61
cmp rcx, 0x40000
jbe 0x180009ab4
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009ab4
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x180009ab4
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009ab4
mov rcx, qword [rcx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x180009ab4
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009ab4
mov dword [rcx], 0x41a00000
jmp 0x180009ab4
cmp rcx, 0x40000
jbe 0x180009ab4
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009ab4
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x180009ab4
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009ab4
mov rcx, qword [rcx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x180009ab4
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009ab4
movss xmm0, dword [0x1800bef50]
movss dword [rcx], xmm0
cmp byte [0x1801af862], 0
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x58]
je 0x180009ae1
mov rcx, qword [0x1801af880]
add rsp, 0x48
jmp fcn.180007310
add rsp, 0x48
ret