Function at 0x14002ef90
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x1d8
mov rax, qword [0x140c3a780]
xor rax, rsp
mov qword [rsp + 0x1c0], rax
lea rax, [rsp + 0x50]
mov rdi, rax
mov rsi, qword [rsp + 0x200]
mov ecx, Ordinal_27
rep movsb byte [rdi], byte [rsi]
mov ecx, dword [reloc.WS2_32.dll_bind]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x14002eff2
movzx eax, byte [section..data]
test eax, eax
je 0x14002eff7
jmp 0x14002f583
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
je 0x14002f4d8
mov rax, qword [rsp + 0x1f8]
add rax, 0x1aa0
mov rcx, rax
call fcn.14002ea30
movss dword [rsp + 0x24], xmm0
mov rax, qword [rsp + 0x1f8]
add rax, 0x1d0c
mov rcx, rax
call fcn.14002ea30
movss dword [rsp + 0x28], xmm0
movss xmm0, dword [rsp + 0x24]
comiss xmm0, dword [0x1402af1fc]
jbe 0x14002f4d8
movsd xmm0, qword [rsp + 0x60]
subsd xmm0, qword [0x140c3b348]
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x68], xmm0
movsd xmm0, qword [rsp + 0x58]
subsd xmm0, qword [0x140c3b340]
mov edx, 2
call fcn.14002ea00
movsd qword [rsp + 0x70], xmm0
movsd xmm1, qword [rsp + 0x50]
subsd xmm1, qword [0x140c3b338]
mov edx, 2
movaps xmm0, xmm1
call fcn.14002ea00
movsd xmm1, qword [rsp + 0x70]
addsd xmm1, xmm0
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [rsp + 0x48]
divss xmm0, dword [rsp + 0x24]
movss dword [rsp + 0x4c], xmm0
mov rax, qword [rsp + 0x1f0]
add rax, 0x318
mov rcx, rax
call fcn.14002eab0
mov qword [rsp + 0x1f0], rax
xorps xmm0, xmm0
movsd qword [rsp + 0x168], xmm0
xorps xmm0, xmm0
movsd qword [rsp + 0x170], xmm0
xorps xmm0, xmm0
movsd qword [rsp + 0x178], xmm0
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
je 0x14002f16d
mov rax, qword [rsp + 0x1f0]
add rax, 0xb8
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.14002ea80
lea rcx, [rsp + 0xa0]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_27
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x168]
lea rcx, [rsp + 0xa0]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_27
rep movsb byte [rdi], byte [rsi]
xorps xmm0, xmm0
movsd qword [rsp + 0x180], xmm0
xorps xmm0, xmm0
movsd qword [rsp + 0x188], xmm0
xorps xmm0, xmm0
movsd qword [rsp + 0x190], xmm0
movzx eax, byte [0x140c3b2a0]
test eax, eax
je 0x14002f1ec
mov rax, qword [rsp + 0x1f0]
add rax, 0x308
mov rdx, rax
lea rcx, [rsp + 0x138]
call fcn.14002ea80
lea rcx, [rsp + 0xb8]
mov rdi, rcx
mov rsi, rax
mov ecx, Ordinal_27
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x180]
lea rcx, [rsp + 0xb8]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_27
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x30]
lea rcx, [rsp + 0x50]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_27
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xd0]
lea rcx, [rsp + 0x50]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_27
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0xd0]
lea rcx, [0x140c3b338]
call fcn.14002eec0
movsd qword [rsp + 0x78], xmm0
movss xmm0, dword [rsp + 0x24]
call fcn.14002fba0
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x78]
divsd xmm1, xmm0
movaps xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x20], xmm0
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
je 0x14002f38b
movzx eax, byte [0x140c3b2a0]
test eax, eax
je 0x14002f38b
cvtss2sd xmm0, dword [rsp + 0x4c]
movaps xmm2, xmm0
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x180]
call fcn.14002eda0
mov r8, rax
lea rdx, [rsp + 0x198]
lea rcx, [rsp + 0x168]
call fcn.14002ee10
nop
cvtss2sd xmm0, dword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x198]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd xmm1, qword [rsp + 0x30]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x30], xmm0
cvtss2sd xmm0, dword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x1a0]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd xmm1, qword [rsp + 0x38]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x38], xmm0
cvtss2sd xmm0, dword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x1a8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd xmm1, qword [rsp + 0x40]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x40], xmm0
movss xmm0, dword [0x1402af220]
mulss xmm0, dword [rsp + 0x28]
call fcn.14002fba0
mulss xmm0, dword [0x1402af200]
movss xmm1, dword [rsp + 0x20]
mulss xmm1, dword [rsp + 0x20]
mulss xmm0, xmm1
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x40]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x40], xmm0
lea rax, [rsp + 0x50]
lea rcx, [rsp + 0x30]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_27
rep movsb byte [rdi], byte [rsi]
jmp 0x14002f4d8
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
je 0x14002f47f
movzx eax, byte [0x140c3b2a0]
test eax, eax
jne 0x14002f47f
cvtss2sd xmm0, dword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x168]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd xmm1, qword [rsp + 0x30]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x30], xmm0
cvtss2sd xmm0, dword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x170]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd xmm1, qword [rsp + 0x38]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x38], xmm0
cvtss2sd xmm0, dword [rsp + 0x20]
movsd xmm1, qword [rsp + 0x178]
mulsd xmm1, xmm0
movaps xmm0, xmm1
movsd xmm1, qword [rsp + 0x40]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x40], xmm0
movss xmm0, dword [0x1402af220]
mulss xmm0, dword [rsp + 0x28]
call fcn.14002fba0
mulss xmm0, dword [0x1402af200]
movss xmm1, dword [rsp + 0x20]
mulss xmm1, dword [rsp + 0x20]
mulss xmm0, xmm1
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x40]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x40], xmm0
lea rax, [rsp + 0x50]
lea rcx, [rsp + 0x30]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_27
rep movsb byte [rdi], byte [rsi]
jmp 0x14002f4d8
movss xmm0, dword [0x1402af220]
mulss xmm0, dword [rsp + 0x28]
call fcn.14002fba0
mulss xmm0, dword [0x1402af200]
movss xmm1, dword [rsp + 0x20]
mulss xmm1, dword [rsp + 0x20]
mulss xmm0, xmm1
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rsp + 0x40]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [rsp + 0x40], xmm0
lea rax, [rsp + 0x50]
lea rcx, [rsp + 0x30]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_27
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0xf0]
lea rcx, [rsp + 0x50]
mov rdi, rax
mov rsi, rcx
mov ecx, Ordinal_27
rep movsb byte [rdi], byte [rsi]
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x110]
call fcn.1400461e0
lea rcx, [rsp + 0x80]
mov rdi, rcx
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
cvtsi2sd xmm0, dword [0x140c3b290]
divsd xmm0, qword [0x1402af218]
movsd qword [rsp + 0x90], xmm0
cvtsi2sd xmm0, dword [0x140c3b294]
divsd xmm0, qword [0x1402af218]
movsd qword [rsp + 0x98], xmm0
lea rax, [rsp + 0x1b0]
mov rdi, rax
xor eax, eax
mov ecx, reloc.WS2_32.dll_recv
rep stosb byte [rdi], al
movss xmm2, dword [rsp + 0x210]
movsd xmm1, qword [rsp + 0x88]
movsd xmm0, qword [rsp + 0x80]
call fcn.140101520
nop
mov rcx, qword [rsp + 0x1c0]
xor rcx, rsp
call fcn.1402a5b30
add rsp, 0x1d8
pop rdi
pop rsi
ret