Function at 0x1400e3a70
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0xb8
mov rax, qword [0x140383d78]
xor rax, rsp
mov qword [rsp + 0xa8], rax
call fcn.1400831c0
call fcn.1400848c0
call fcn.140028520
movss xmm0, dword [0x14015d2c8]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x1401d1a14]
movss xmm2, dword [0x1401d1a10]
movss xmm1, dword [0x1401d1a0c]
lea rcx, [rsp + 0x88]
call fcn.14005c360
mov byte [rsp + 0x40], 0
mov ecx, reloc.WLDAP32.dll_Ordinal_45
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x1400e3b0b
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
jne 0x1400e3af8
mov dword [rsp + 0x44], 1
jmp 0x1400e3b00
mov dword [rsp + 0x44], 0
movzx eax, byte [rsp + 0x44]
mov byte [reloc.WS2_32.dll_accept], al
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
je 0x1400e3b65
call fcn.1400284e0
mov byte [rax + 0x68], 1
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x50]
call fcn.1400281e0
lea rdx, [rsp + 0x50]
mov ecx, 2
call fcn.140031560
mov r8d, Ordinal_46
xor edx, edx
lea rcx, str.CougarWare
call fcn.14002c1b0
movzx eax, al
test eax, eax
je 0x1400e3b5e
call fcn.1400d6ed0
call fcn.14002fce0
jmp 0x1400e3b6e
call fcn.1400284e0
mov byte [rax + 0x68], 0
call fcn.140035350
mov dword [rsp + 0x4c], eax
movss xmm0, dword [0x14015d2c8]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x14038a2f4]
movss xmm2, dword [0x140383cf8]
movss xmm1, dword [0x14038a2f0]
lea rcx, [rsp + 0x98]
call fcn.14005c360
xor eax, eax
test eax, eax
jne 0x1400e3e18
movss xmm0, dword [0x140383cf8]
ucomiss xmm0, dword [0x140160500]
jp 0x1400e3bf2
jne 0x1400e3bf2
movss xmm0, dword [0x14038a2f4]
ucomiss xmm0, dword [0x14015d2b8]
jp 0x1400e3bf2
jne 0x1400e3bf2
movss xmm0, dword [0x14038a2f0]
addss xmm0, dword [0x140160500]
movss dword [0x14038a2f0], xmm0
movss xmm0, dword [0x14038a2f0]
comiss xmm0, dword [0x140166f3c]
jbe 0x1400e3c3e
movss xmm0, dword [0x14038a2f4]
ucomiss xmm0, dword [0x14015d2b8]
jp 0x1400e3c3e
jne 0x1400e3c3e
movss xmm0, dword [0x14015d2c8]
movss dword [0x14038a2f0], xmm0
movss xmm0, dword [0x140383cf8]
addss xmm0, dword [0x140160500]
movss dword [0x140383cf8], xmm0
movss xmm0, dword [0x140383cf8]
comiss xmm0, dword [0x140166f3c]
jbe 0x1400e3c8a
movss xmm0, dword [0x14038a2f4]
ucomiss xmm0, dword [0x14015d2b8]
jp 0x1400e3c8a
jne 0x1400e3c8a
movss xmm0, dword [0x14015d2c8]
movss dword [0x140383cf8], xmm0
movss xmm0, dword [0x14038a2f0]
subss xmm0, dword [0x140160500]
movss dword [0x14038a2f0], xmm0
movss xmm0, dword [0x140160500]
comiss xmm0, dword [0x14038a2f0]
jbe 0x1400e3cd1
movss xmm0, dword [0x140383cf8]
ucomiss xmm0, dword [0x14015d2c8]
jp 0x1400e3cd1
jne 0x1400e3cd1
xorps xmm0, xmm0
movss dword [0x14038a2f0], xmm0
movss xmm0, dword [0x14038a2f4]
addss xmm0, dword [0x140160500]
movss dword [0x14038a2f4], xmm0
movss xmm0, dword [0x14038a2f4]
comiss xmm0, dword [0x140166f3c]
jbe 0x1400e3d1d
movss xmm0, dword [0x14038a2f0]
ucomiss xmm0, dword [0x14015d2b8]
jp 0x1400e3d1d
jne 0x1400e3d1d
movss xmm0, dword [0x14015d2c8]
movss dword [0x14038a2f4], xmm0
movss xmm0, dword [0x140383cf8]
subss xmm0, dword [0x140160500]
movss dword [0x140383cf8], xmm0
movss xmm0, dword [0x140160500]
comiss xmm0, dword [0x140383cf8]
jbe 0x1400e3d64
movss xmm0, dword [0x14038a2f4]
ucomiss xmm0, dword [0x14015d2c8]
jp 0x1400e3d64
jne 0x1400e3d64
xorps xmm0, xmm0
movss dword [0x140383cf8], xmm0
movss xmm0, dword [0x14038a2f0]
addss xmm0, dword [0x140160500]
movss dword [0x14038a2f0], xmm0
movss xmm0, dword [0x14038a2f0]
comiss xmm0, dword [0x140166f3c]
jbe 0x1400e3db0
movss xmm0, dword [0x140383cf8]
ucomiss xmm0, dword [0x14015d2b8]
jp 0x1400e3db0
jne 0x1400e3db0
movss xmm0, dword [0x14015d2c8]
movss dword [0x14038a2f0], xmm0
movss xmm0, dword [0x14038a2f4]
subss xmm0, dword [0x140160500]
movss dword [0x14038a2f4], xmm0
movss xmm0, dword [0x140160500]
comiss xmm0, dword [0x14038a2f4]
jbe 0x1400e3e18
movss xmm0, dword [0x140383cf8]
ucomiss xmm0, dword [0x14015d2b8]
jp 0x1400e3e18
jne 0x1400e3e18
xorps xmm0, xmm0
movss dword [0x14038a2f4], xmm0
movss xmm0, dword [0x14038a2f0]
subss xmm0, dword [0x140160500]
movss dword [0x14038a2f0], xmm0
movss xmm0, dword [0x140160500]
comiss xmm0, dword [0x14038a2f0]
jbe 0x1400e3e18
movss xmm0, dword [0x140160500]
movss dword [0x140383cf8], xmm0
call fcn.1400dfe10
mov rax, qword [0x14038a2c0]
mov rax, qword [rax]
mov rax, qword [rax + 0x1c8]
mov qword [rsp + 0x58], rax
xor r8d, r8d
mov edx, 7
mov rcx, qword [0x14038a2c0]
call qword [rsp + 0x58]
mov rax, qword [0x14038a2c0]
mov rax, qword [rax]
mov rax, qword [rax + 0x1c8]
mov qword [rsp + 0x60], rax
xor r8d, r8d
mov edx, reloc.WLDAP32.dll_Ordinal_27
mov rcx, qword [0x14038a2c0]
call qword [rsp + 0x60]
mov rax, qword [0x14038a2c0]
mov rax, qword [rax]
mov rax, qword [rax + 0x1c8]
mov qword [rsp + 0x68], rax
xor r8d, r8d
mov edx, 0xae
mov rcx, qword [0x14038a2c0]
call qword [rsp + 0x68]
mov rax, qword [0x14038a2c0]
mov rax, qword [rax]
mov rax, qword [rax + 0x158]
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x30], 0
movss xmm0, dword [0x14015d2c8]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x14038a2c0]
call qword [rsp + reloc.WS2_32.dll_WSASetLastError]
mov rax, qword [0x14038a2c0]
mov rax, qword [rax]
mov rcx, qword [0x14038a2c0]
call qword [rax + 0x148]
test eax, eax
jl 0x1400e3f26
call fcn.1400296b0
call fcn.140029bd0
mov rcx, rax
call fcn.1400831e0
mov rax, qword [0x14038a2c0]
mov rax, qword [rax]
mov rcx, qword [0x14038a2c0]
call qword [rax + 0x150]
mov rax, qword [0x14038a2c0]
mov rax, qword [rax]
mov rax, qword [rax + 0x88]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x14038a2c0]
call qword [rsp + 0x78]
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0x88760868
jne 0x1400e3fb9
mov rax, qword [0x14038a2c0]
mov rax, qword [rax]
mov rcx, qword [0x14038a2c0]
call qword [rax + Ordinal_26]
cmp eax, 0x88760869
jne 0x1400e3fb9
call fcn.1400842b0
mov rax, qword [0x14038a2c0]
mov rax, qword [rax]
mov rax, qword [rax + 0x80]
mov qword [rsp + 0x80], rax
lea rdx, [0x14038a100]
mov rcx, qword [0x14038a2c0]
call qword [rsp + 0x80]
call fcn.140084370
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.1401552b0
add rsp, 0xb8
ret