Function at 0x1800098f0
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x48
cmp byte [0x1801af81a], 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 0x1800099ac
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rcx, qword [0x1801af828]
add rcx, 0x610
test ax, ax
je 0x180009978
cmp rcx, 0x40000
jbe 0x1800099ac
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800099ac
mov rcx, qword [rcx]
add rcx, 0x84
cmp rcx, 0x40000
jbe 0x1800099ac
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x1800099ac
mov dword [rcx], 0x3f800000
jmp 0x1800099ac
cmp rcx, 0x40000
jbe 0x1800099ac
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800099ac
mov rcx, qword [rcx]
add rcx, 0x84
cmp rcx, 0x40000
jbe 0x1800099ac
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x1800099ac
mov dword [rcx], 0x40400000
cmp byte [0x1801af823], 0
je 0x1800099fa
mov rcx, qword [0x1801af828]
add rcx, 0x608
cmp rcx, 0x40000
jbe 0x1800099fa
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800099fa
mov rcx, qword [rcx]
xorps xmm0, xmm0
add rcx, 0x64
cmp rcx, 0x40000
jbe 0x1800099fa
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800099fa
movss dword [rcx], xmm0
movss dword [rcx + 4], xmm0
cmp byte [0x1801af812], 0
je 0x180009a64
mov rcx, qword [0x1801afc08]
add rcx, 0x3341148
cmp rcx, 0x40000
jbe 0x180009a64
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009a64
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x180009a64
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009a64
mov rcx, qword [rcx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x180009a64
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009a64
movss xmm0, dword [0x1800bef00]
movss dword [rcx], xmm0
xor esi, esi
cmp byte [0x1801af809], sil
je 0x180009ac0
lea ecx, [rsi + 0x58]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180009ac0
mov rcx, qword [0x1801af828]
add rcx, 0x828
cmp rcx, 0x40000
jbe 0x180009ac0
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009ac0
mov rcx, qword [rcx]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180009ac0
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x180009ac0
mov dword [rcx], esi
mov qword [rcx + 4], 0x3f800000
cmp byte [0x1800beef5], sil
je 0x180009b26
mov rcx, qword [0x1801af828]
add rcx, 0x610
cmp rcx, 0x40000
jbe 0x180009b26
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009b26
mov rcx, qword [rcx]
mov rdx, rcx
lea r8, [rcx + 0xc4]
cmp r8, 0x40000
jbe 0x180009b0b
lea rax, [r8 + 4]
cmp rax, rdi
jae 0x180009b0b
mov dword [r8], esi
lea rcx, [rdx + 0xc8]
cmp rcx, 0x40000
jbe 0x180009b26
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009b26
mov dword [rcx], esi
cmp byte [0x1801af83d], sil
je 0x180009b55
mov rcx, qword [0x1801af828]
add rcx, 0x8fc
cmp rcx, 0x40000
jbe 0x180009b55
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009b55
mov dword [rcx], 0x3f800000
cmp byte [0x1801af80b], sil
je 0x180009b9b
mov rcx, qword [0x1801af828]
add rcx, 0x820
cmp rcx, 0x40000
jbe 0x180009b9b
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009b82
mov edx, dword [rcx]
jmp 0x180009b96
cmp rcx, 0x40000
jbe 0x180009b9b
lea rax, [rcx + 4]
mov edx, esi
cmp rax, rdi
jae 0x180009b9b
or edx, 4
mov dword [rcx], edx
cmp byte [0x1801af80a], sil
je 0x180009be6
mov rcx, qword [0x1801af828]
add rcx, 0x820
cmp rcx, 0x40000
jbe 0x180009be6
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009bc8
mov edx, dword [rcx]
jmp 0x180009bdc
cmp rcx, 0x40000
jbe 0x180009be6
lea rax, [rcx + 4]
mov edx, esi
cmp rax, rdi
jae 0x180009be6
mov eax, esi
cmp edx, 4
sete al
mov dword [rcx], eax
cmp byte [0x1801af7f2], sil
je 0x180009c2c
mov rax, qword [0x1801af828]
lea rcx, [rax + 0x820]
lea rdx, [rax + 0x824]
cmp rcx, 0x400000
jbe 0x180009c2c
cmp rdx, rdi
jae 0x180009c16
mov eax, dword [rcx]
jmp 0x180009c26
cmp rcx, 0x400000
jbe 0x180009c2c
mov eax, esi
cmp rdx, rdi
jae 0x180009c2c
bts eax, 0x16
mov dword [rcx], eax
cmp byte [0x1801af815], sil
lea rbp, str.user32
mov qword [rsp + 0x50], rbx
je 0x180009cee
mov ecx, dword [0x1801af910]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180009cee
mov rax, qword [0x1801afc58]
mov rbx, qword [0x1801af828]
test rax, rax
jne 0x180009ca5
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.180007040
mov rcx, rax
lea rdx, [0x18005fb10]
call fcn.180006ed0
mov qword [0x1801afc58], rax
mov ecx, dword [0x1801af910]
call rax
test ax, ax
je 0x180009cee
lea rcx, [rbx + 0x828]
cmp rcx, 0x40000
jbe 0x180009cee
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009cee
mov rcx, qword [rcx]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180009cee
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x180009cee
mov qword [rcx], 0x3f800000
mov dword [rcx + 8], esi
cmp byte [0x1801af80c], sil
je 0x180009da4
mov ecx, dword [0x1801af90c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180009da4
mov rax, qword [0x1801afd38]
mov rbx, qword [0x1801af828]
test rax, rax
jne 0x180009d5b
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.180007040
mov rcx, rax
lea rdx, [0x18005fb10]
call fcn.180006ed0
mov qword [0x1801afd38], rax
mov ecx, dword [0x1801af90c]
call rax
test ax, ax
je 0x180009da4
lea rcx, [rbx + 0x828]
cmp rcx, 0x40000
jbe 0x180009da4
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009da4
mov rcx, qword [rcx]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180009da4
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x180009da4
mov dword [rcx], 0xbf800000
mov qword [rcx + 4], rsi
cmp byte [0x1801af838], 0
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
je 0x180009ec4
mov rax, qword [0x1801afe10]
test rax, rax
jne 0x180009dff
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.180007040
mov rcx, rax
lea rdx, [0x18005fb10]
call fcn.180006ed0
mov qword [0x1801afe10], rax
mov ecx, dword [0x1801af908]
call rax
mov rcx, qword [0x1801afc08]
add rcx, 0x3341148
test ax, ax
je 0x180009e71
cmp rcx, 0x40000
jbe 0x180009ec4
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009ec4
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x180009ec4
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009ec4
mov rcx, qword [rcx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x180009ec4
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009ec4
mov dword [rcx], 0x41a00000
jmp 0x180009ec4
cmp rcx, 0x40000
jbe 0x180009ec4
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009ec4
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x180009ec4
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009ec4
mov rcx, qword [rcx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x180009ec4
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009ec4
movss xmm0, dword [0x1800bef00]
movss dword [rcx], xmm0
cmp byte [0x1801af80f], 0
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x58]
je 0x180009ef1
mov rcx, qword [0x1801af828]
add rsp, 0x48
jmp fcn.180007720
add rsp, 0x48
ret