Function at 0x140095240
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbx
push rsi
push rdi
sub rsp, 0x1c0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
movaps xmmword [rax - 0xb8], xmm15
lea rsi, [0x14037d580]
xor edi, edi
cmp byte [0x14037e13c], 0
jne 0x1400952ad
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
jmp 0x140095296
mov rbx, qword [0x14037e5b0]
test rbx, rbx
je 0x14009570b
cmp qword [0x14037e5d0], 0
je 0x14009570b
mov ecx, dword [0x14037daa0]
add rcx, rbx
je 0x14009532e
mov eax, dword [0x14037e380]
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x50], edi
mov eax, dword [0x14037e378]
mov dword [rsp + 0x54], eax
mov eax, dword [0x14037e37c]
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x60], rcx
lea rax, [rsp + 0x1e8]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 8
mov rax, qword [0x14037d9f8]
test rax, rax
je 0x14009532e
lea rcx, [rsp + 0x50]
call rax
test rax, rax
jne 0x140095336
mov qword [rsp + 0x1e8], rdi
test rbx, rbx
jne 0x14009534c
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
jmp 0x140095296
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x14037e080]
je 0x140095375
cmp rax, qword [0x14037e078]
je 0x140095375
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
jmp 0x140095296
lea rcx, [rbx + 0x90]
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x28], 0
test rcx, rcx
je 0x1400953f0
mov eax, dword [0x14037e380]
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x50], edi
mov eax, dword [0x14037e378]
mov dword [rsp + 0x54], eax
mov eax, dword [0x14037e37c]
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x60], rcx
lea rax, [rsp + 0x20]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], recvfrom
mov rdx, qword [0x14037d9f8]
test rdx, rdx
je 0x1400953f7
lea rcx, [rsp + 0x50]
call rdx
test rax, rax
je 0x1400953f0
mov rdx, qword [0x14037d9f8]
jmp 0x140095402
mov rdx, qword [0x14037d9f8]
xor eax, eax
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], eax
cmp byte [0x14037e144], 0
jne 0x140095450
movss xmm0, dword [rsp + 0x20]
movss dword [rsp + 0x30], xmm0
movss xmm1, dword [rsp + 0x24]
movss dword [rsp + 0x34], xmm1
movss xmm0, dword [rsp + 0x28]
movss dword [rsp + 0x38], xmm0
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rbx
call fcn.140096460
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
jmp 0x140095296
mov rcx, qword [0x14037e5c0]
add rcx, 0x3c0
je 0x1400954d7
mov eax, dword [0x14037e380]
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0x90], edi
mov eax, dword [0x14037e378]
mov dword [rsp + 0x94], eax
mov eax, dword [0x14037e37c]
mov dword [rsp + 0x98], eax
mov qword [rsp + 0xa0], rcx
lea rax, [rsp + 0x1e0]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], 8
test rdx, rdx
je 0x1400954d7
lea rcx, [rsp + 0x90]
call rdx
mov rdx, qword [0x14037d9f8]
test rax, rax
je 0x1400954d7
mov rcx, qword [rsp + 0x1e0]
jmp 0x1400954e2
mov rcx, rdi
mov qword [rsp + 0x1e0], rcx
test rcx, rcx
je 0x140095540
mov eax, dword [0x14037e380]
mov dword [rsp + 0x108], eax
mov dword [rsp + 0xd0], edi
mov eax, dword [0x14037e378]
mov dword [rsp + 0xd4], eax
mov eax, dword [0x14037e37c]
mov dword [rsp + 0xd8], eax
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf0], 0x3f0
test rdx, rdx
je 0x140095540
lea rcx, [rsp + 0xd0]
call rdx
movss xmm12, dword [0x14037d958]
movss xmm10, dword [0x14037d954]
movss xmm11, dword [0x14037d950]
xorps xmm0, xmm0
ucomiss xmm11, xmm0
jne 0x14009558b
ucomiss xmm10, xmm0
jne 0x14009558b
ucomiss xmm12, xmm0
jne 0x14009558b
movss xmm11, dword [0x14037d5c0]
movss xmm10, dword [0x14037d5c4]
movss xmm12, dword [0x14037d5c8]
movss xmm8, dword [rsp + 0x20]
movaps xmm13, xmm8
movss xmm9, dword [rsp + 0x24]
movaps xmm14, xmm9
movss xmm7, dword [rsp + 0x28]
movaps xmm15, xmm7
movss xmm6, dword [0x140328fa8]
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400955cd
movss xmm6, dword [0x140328fe4]
jmp 0x1400955e5
mov ecx, 0xa4
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400955e5
movss xmm6, dword [0x140328f94]
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14009561e
movaps xmm8, xmm11
mulss xmm8, xmm6
addss xmm8, xmm13
movaps xmm9, xmm10
mulss xmm9, xmm6
addss xmm9, xmm14
movaps xmm7, xmm12
mulss xmm7, xmm6
addss xmm7, xmm15
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140095652
movaps xmm0, xmm11
mulss xmm0, xmm6
subss xmm8, xmm0
movaps xmm1, xmm10
mulss xmm1, xmm6
subss xmm9, xmm1
mulss xmm12, xmm6
subss xmm7, xmm12
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14009567c
movaps xmm0, xmm10
mulss xmm0, xmm6
subss xmm8, xmm0
movaps xmm1, xmm11
mulss xmm1, xmm6
addss xmm9, xmm1
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400956a0
mulss xmm10, xmm6
addss xmm8, xmm10
mulss xmm11, xmm6
subss xmm9, xmm11
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400956b4
addss xmm7, xmm6
mov ecx, reloc.WS2_32.dll_recvfrom
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400956c8
subss xmm7, xmm6
movss dword [rsp + 0x40], xmm8
movss dword [rsp + 0x44], xmm9
movss dword [rsp + 0x48], xmm7
mov r9b, 1
lea r8, [rsp + 0x40]
mov rdx, rbx
call fcn.140096460
mov qword [rsp + 0x1f0], 1
lea rcx, [rsp + 0x1f0]
call fcn.140004f30
nop
jmp 0x140095296
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
jmp 0x140095296