Function at 0x1400ca000
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x298
mov rax, qword [0x14057bbc0]
xor rax, rsp
mov qword [rsp + 0x288], rax
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
je 0x1400ca030
jmp 0x1400ca402
movzx eax, byte [0x14057f3af]
test eax, eax
jne 0x1400ca040
jmp 0x1400ca402
mov rax, qword [rsp + 0x2b0]
add rax, 0xa0
mov rdx, rax
lea rcx, [rsp + 0x268]
call fcn.140020940
nop
lea rdx, [rsp + 0x268]
lea rcx, [0x1405801a0]
call fcn.1400db9e0
movzx eax, al
test eax, eax
je 0x1400ca096
mov byte [0x1405802b5], 0
lea rdx, [rsp + 0x268]
lea rcx, [0x1405801a0]
call fcn.140022250
nop
mov edx, Ordinal_27
lea rcx, [rsp + 0x248]
call fcn.140024800
lea rcx, [rsp + 0x20]
call fcn.14001ec90
mov qword [rsp + 0x30], rax
lea rdx, str.smokegrenade
lea rcx, [rsp + 0xb0]
call fcn.1400209e0
lea rdx, str.flashbang
lea rcx, [rsp + 0xd0]
call fcn.1400209e0
lea rdx, str.hegrenade
lea rcx, [rsp + 0xf0]
call fcn.1400209e0
lea rdx, str.molotov
lea rcx, [rsp + 0x110]
call fcn.1400209e0
lea rdx, str.decoy
lea rcx, [rsp + 0x130]
call fcn.1400209e0
lea rdx, str.incgrenade
lea rcx, [rsp + 0x150]
call fcn.1400209e0
lea rdx, [0x140469ca4]
lea rcx, [rsp + 0x170]
call fcn.1400209e0
lea rdx, str.ssg08
lea rcx, [rsp + 0x190]
call fcn.1400209e0
lea rdx, [0x140469cb0]
lea rcx, [rsp + 0x1b0]
call fcn.1400209e0
lea rdx, str.sg556
lea rcx, [rsp + 0x1d0]
call fcn.1400209e0
lea rdx, str.knife
lea rcx, [rsp + 0x1f0]
call fcn.1400209e0
lea rdx, [0x140469cc4]
lea rcx, [rsp + 0x210]
call fcn.1400209e0
lea rax, [rsp + 0x230]
mov r8, rax
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0xa0]
call fcn.140020c10
lea rcx, [rsp + 0x78]
mov rdi, rcx
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
lea rax, [rsp + 0x90]
lea rcx, [rsp + 0x78]
mov rdi, rax
mov rsi, rcx
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov r8, qword [rsp + 0x30]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x248]
call fcn.1400dc070
lea r9, [fcn.140021d10]
mov r8d, listen
mov edx, reloc.WLDAP32.dll_Ordinal_32
lea rcx, [rsp + 0xb0]
call fcn.140382874
nop
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x248]
call fcn.140051b80
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x248]
call fcn.140050e40
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
lea r9, [rsp + 0x268]
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x68]
call fcn.1400dbd30
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x248]
call fcn.140051b80
mov qword [rsp + 0x48], rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
call fcn.14004d720
movzx eax, al
test eax, eax
je 0x1400ca2cf
lea rcx, [rsp + 0x248]
call fcn.140021e50
lea rcx, [rsp + 0x268]
call fcn.140021d10
nop
jmp 0x1400ca402
mov eax, dword [0x140580c74]
mov rcx, qword [rsp + 0x2b0]
add rax, qword [rcx + 0x48]
lea r8, [rsp + 0x260]
mov rdx, rax
lea rcx, [0x14057e698]
call fcn.140068ce0
mov eax, dword [0x140580f68]
mov rcx, qword [rsp + 0x260]
add rcx, rax
mov rax, rcx
lea r8, [rsp + 0x240]
mov rdx, rax
lea rcx, [0x14057e698]
call fcn.140093240
nop
movzx eax, byte [rsp + 0x240]
test eax, eax
je 0x1400ca337
mov byte [0x1405802b5], 0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x28], eax
movzx eax, byte [0x14057f250]
test eax, eax
jne 0x1400ca3a8
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1400ca3a8
mov eax, dword [0x1405802b8]
mov ecx, dword [rsp + 0x28]
sub ecx, eax
mov eax, ecx
cmp eax, 0x1f4
jb 0x1400ca3a8
movzx eax, byte [0x1405802b5]
test eax, eax
jne 0x1400ca38b
mov dword [rsp + 0x24], 1
jmp 0x1400ca393
mov dword [rsp + 0x24], 0
movzx eax, byte [rsp + 0x24]
mov byte [0x1405802b5], al
mov eax, dword [rsp + 0x28]
mov dword [0x1405802b8], eax
movzx eax, byte [0x1405802b5]
test eax, eax
je 0x1400ca3e7
mov dword [rsp + 0x244], reloc.WLDAP32.dll_Ordinal_45
mov eax, dword [0x140580cc8]
mov rcx, qword [rsp + 0x2b0]
add rax, qword [rcx]
lea r8, [rsp + 0x244]
mov rdx, rax
lea rcx, [0x14057e698]
call fcn.1400dba90
nop
lea rcx, [rsp + 0x248]
call fcn.140021e50
lea rcx, [rsp + 0x268]
call fcn.140021d10
nop
mov rcx, qword [rsp + 0x288]
xor rcx, rsp
call fcn.140382d40
add rsp, 0x298
pop rdi
pop rsi
ret