Function at 0x180009200
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x48
cmp byte [0x1801ae86d], 0
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], rdi
movabs rdi, 0x7fffffff0000
mov qword [rsp + 0x40], r14
movaps xmmword [rsp + 0x30], xmm6
je 0x1800092bc
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rcx, qword [0x1801ae880]
add rcx, 0x860
test ax, ax
je 0x180009288
cmp rcx, 0x40000
jbe 0x1800092bc
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800092bc
mov rcx, qword [rcx]
add rcx, 0x8c
cmp rcx, 0x40000
jbe 0x1800092bc
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x1800092bc
mov dword [rcx], 0x3f800000
jmp 0x1800092bc
cmp rcx, 0x40000
jbe 0x1800092bc
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800092bc
mov rcx, qword [rcx]
add rcx, 0x8c
cmp rcx, 0x40000
jbe 0x1800092bc
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x1800092bc
mov dword [rcx], 0x40400000
cmp byte [0x1801ae876], 0
xorps xmm6, xmm6
je 0x18000930a
mov rcx, qword [0x1801ae880]
add rcx, 0x858
cmp rcx, 0x40000
jbe 0x18000930a
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000930a
mov rcx, qword [rcx]
sub rcx, 0xffffffffffffff80
cmp rcx, 0x40000
jbe 0x18000930a
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x18000930a
movss dword [rcx], xmm6
movss dword [rcx + 4], xmm6
cmp byte [0x1801ae865], 0
je 0x180009374
mov rcx, qword [0x1801aec58]
add rcx, 0x3c276a0
cmp rcx, 0x40000
jbe 0x180009374
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009374
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x180009374
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009374
mov rcx, qword [rcx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x180009374
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009374
movss xmm0, dword [0x1800bdf50]
movss dword [rcx], xmm0
cmp byte [0x1801ae85c], 0
je 0x1800093dd
mov ecx, 0x58
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800093dd
mov rcx, qword [0x1801ae880]
add rcx, 0xa90
cmp rcx, 0x40000
jbe 0x1800093dd
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800093dd
mov rcx, qword [rcx]
movss xmm1, dword [0x18008c8bc]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x1800093dd
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x1800093dd
xorps xmm0, xmm0
unpcklps xmm0, xmm1
movsd qword [rcx], xmm0
movss dword [rcx + 8], xmm6
xor edx, edx
cmp byte [0x1800bdf45], dl
je 0x180009444
mov rcx, qword [0x1801ae880]
add rcx, 0x860
cmp rcx, 0x40000
jbe 0x180009444
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009444
mov rcx, qword [rcx]
mov r8, rcx
lea r9, [rcx + 0xcc]
cmp r9, 0x40000
jbe 0x180009429
lea rax, [r9 + 4]
cmp rax, rdi
jae 0x180009429
mov dword [r9], edx
lea rcx, [r8 + 0xd0]
cmp rcx, 0x40000
jbe 0x180009444
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009444
mov dword [rcx], edx
cmp byte [0x1801ae890], dl
je 0x180009472
mov rcx, qword [0x1801ae880]
add rcx, 0xb68
cmp rcx, 0x40000
jbe 0x180009472
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x180009472
mov dword [rcx], 0x3f800000
cmp byte [0x1801ae85e], dl
je 0x1800094bb
mov rcx, qword [0x1801ae880]
add rcx, 0xa88
cmp rcx, 0x40000
jbe 0x1800094bb
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x18000949f
mov r8d, dword [rcx]
jmp 0x1800094b4
cmp rcx, 0x40000
jbe 0x1800094bb
lea rax, [rcx + 4]
mov r8d, edx
cmp rax, rdi
jae 0x1800094bb
or r8d, 4
mov dword [rcx], r8d
cmp byte [0x1801ae85d], dl
je 0x180009508
mov rcx, qword [0x1801ae880]
add rcx, 0xa88
cmp rcx, 0x40000
jbe 0x180009508
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x1800094e8
mov r8d, dword [rcx]
jmp 0x1800094fd
cmp rcx, 0x40000
jbe 0x180009508
lea rax, [rcx + 4]
mov r8d, edx
cmp rax, rdi
jae 0x180009508
mov eax, edx
cmp r8d, 4
sete al
mov dword [rcx], eax
cmp byte [0x1801ae859], dl
je 0x18000954a
mov rax, qword [0x1801ae880]
lea rcx, [rax + 0xa88]
add rax, 0xa8c
cmp rcx, 0x400000
jbe 0x18000954a
cmp rax, rdi
jae 0x180009536
mov edx, dword [rcx]
jmp 0x180009544
cmp rcx, 0x400000
jbe 0x18000954a
cmp rax, rdi
jae 0x18000954a
bts edx, 0x16
mov dword [rcx], edx
cmp byte [0x1801ae868], 0
lea rsi, str.user32
mov qword [rsp + 0x50], rbx
je 0x180009616
mov ecx, dword [0x1801ae960]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180009616
mov rax, qword [0x1801aecb8]
mov rbx, qword [0x1801ae880]
test rax, rax
jne 0x1800095c3
mov dword [rsp + 0x20], 0xe000c
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.180006990
mov rcx, rax
lea rdx, [0x18005eb00]
call fcn.180006820
mov qword [0x1801aecb8], rax
mov ecx, dword [0x1801ae960]
call rax
test ax, ax
je 0x180009616
lea rcx, [rbx + 0xa90]
cmp rcx, 0x40000
jbe 0x180009616
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x180009616
mov rcx, qword [rcx]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x180009616
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x180009616
movss xmm0, dword [0x18008c8bc]
unpcklps xmm0, xmm6
movsd qword [rcx], xmm0
movss dword [rcx + 8], xmm6
cmp byte [0x1801ae85f], 0
je 0x1800096d6
mov ecx, dword [0x1801ae95c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800096d6
mov rax, qword [0x1801aed88]
mov rbx, qword [0x1801ae880]
test rax, rax
jne 0x180009683
mov dword [rsp + 0x20], 0xe000c
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.180006990
mov rcx, rax
lea rdx, [0x18005eb00]
call fcn.180006820
mov qword [0x1801aed88], rax
mov ecx, dword [0x1801ae95c]
call rax
test ax, ax
je 0x1800096d6
lea rcx, [rbx + 0xa90]
cmp rcx, 0x40000
jbe 0x1800096d6
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800096d6
mov rcx, qword [rcx]
add rcx, 0x38
cmp rcx, 0x40000
jbe 0x1800096d6
lea rax, [rcx + 0xc]
cmp rax, rdi
jae 0x1800096d6
movss xmm0, dword [0x18008ca64]
unpcklps xmm0, xmm6
movsd qword [rcx], xmm0
movss dword [rcx + 8], xmm6
cmp byte [0x1801ae877], 0
movaps xmm6, xmmword [rsp + 0x30]
mov rbx, qword [rsp + 0x50]
je 0x1800097f6
mov rax, qword [0x1801aee68]
test rax, rax
jne 0x180009731
mov dword [rsp + 0x20], 0xe000c
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x28], rsi
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.180006990
mov rcx, rax
lea rdx, [0x18005eb00]
call fcn.180006820
mov qword [0x1801aee68], rax
mov ecx, dword [0x1801ae958]
call rax
mov rcx, qword [0x1801aec58]
add rcx, 0x3c276a0
test ax, ax
je 0x1800097a3
cmp rcx, 0x40000
jbe 0x1800097f6
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800097f6
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x1800097f6
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800097f6
mov rcx, qword [rcx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x1800097f6
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x1800097f6
mov dword [rcx], 0x41a00000
jmp 0x1800097f6
cmp rcx, 0x40000
jbe 0x1800097f6
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800097f6
mov rcx, qword [rcx]
add rcx, 0xb8
cmp rcx, 0x40000
jbe 0x1800097f6
lea rax, [rcx + 8]
cmp rax, rdi
jae 0x1800097f6
mov rcx, qword [rcx]
add rcx, 0x18
cmp rcx, 0x40000
jbe 0x1800097f6
lea rax, [rcx + 4]
cmp rax, rdi
jae 0x1800097f6
movss xmm0, dword [0x1800bdf50]
movss dword [rcx], xmm0
cmp byte [0x1801ae862], 0
mov r14, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
je 0x180009823
mov rcx, qword [0x1801ae880]
add rsp, 0x48
jmp fcn.180007050
add rsp, 0x48
ret