Function at 0x1400c8c04
Capabilities:
Receive data
Receive data on socket
Set socket configuration

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x4fd0]
mov eax, 0x50d0
call fcn.140001a50
sub rsp, rax
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x4fc0], rax
xor ebx, ebx
mov rsi, r8
mov dword [rsp + 0x30], ebx
test rdx, rdx
jne 0x1400c8c4e
mov eax, 1
jmp 0x1400c8f6c
mov rcx, qword [rcx]
lea r8, [0x1400c8444]
mov qword [rsp + 0x20], rbx
call fcn.1400c77cc
mov rdi, rax
test rax, rax
je 0x1400c8c44
mov rax, rsi
shr rax, 0x10
movzx r15d, ax
test r15d, r15d
je 0x1400c8d19
mov r8, qword [rdi + 0x78]
mov esi, 1
lea r14, str.Network_error__winsock_.
test r8, r8
je 0x1400c8cf7
mov rcx, qword [rdi + 0x18]
mov r9d, dword [rdi + 0x90]
mov edx, esi
mov rax, qword [rcx]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r14
call qword [rax]
jmp 0x1400c8cf1
mov rax, qword [rdi + 0x80]
mov rcx, qword [rdi + 0x78]
test rax, rax
je 0x1400c8cd3
mov rax, qword [rax + 0x28]
test rax, rax
je 0x1400c8cf7
mov qword [rdi + 0x80], rax
jmp 0x1400c8ce6
mov eax, dword [rdi + 0x88]
inc eax
cmp eax, dword [rcx + 0x28]
jge 0x1400c8cf7
mov dword [rdi + 0x88], eax
mov rcx, rdi
call fcn.1400c9198
mov r15d, eax
cmp qword [rdi + 0x78], rbx
jne 0x1400c8cb1
test r15d, r15d
je 0x1400c8dd6
mov r8d, r15d
mov rdx, r14
mov rcx, qword [rdi + 0x18]
xor r9d, r9d
mov r10, qword [rcx]
call qword [r10 + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400c8f6c
movzx ecx, si
mov esi, 1
dec ecx
je 0x1400c8ed7
dec ecx
je 0x1400c8ea9
lea r15d, [rsi + 1]
sub ecx, r15d
je 0x1400c8e57
sub ecx, 4
je 0x1400c8ddd
sub ecx, 8
je 0x1400c8dbe
cmp ecx, 0x10
jne 0x1400c8dd6
mov rcx, qword [rdi + 0x10]
lea rdx, [rbp - 0x40]
xor r9d, r9d
mov r8d, 0x5000
call qword [sym.imp.WS2_32.dll_recv]
mov r14d, eax
test eax, eax
js 0x1400c8da2
mov rcx, qword [rdi + 0x18]
je 0x1400c8d8b
mov r10, qword [rcx]
lea r8, [rbp - 0x40]
mov r9d, eax
xor edx, edx
call qword [r10 + reloc.SHELL32.dll_ILFindLastID]
jmp 0x1400c8d99
mov rax, qword [rcx]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
and esi, eax
test r14d, r14d
jle 0x1400c8dd6
jmp 0x1400c8d55
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x1400c8dd6
mov r8d, eax
lea rdx, str.Network_error__winsock_.
jmp 0x1400c8d06
mov rcx, qword [rdi + 0x78]
mov dword [rdi + 0x4c], esi
mov dword [rdi + 0x48], esi
test rcx, rcx
je 0x1400c8dd6
call fcn.1400c8818
mov qword [rdi + 0x78], rbx
mov eax, esi
jmp 0x1400c8f6c
mov r8d, 0x80
lea rcx, [rsp + 0x40]
xor edx, edx
mov dword [rsp + 0x34], r8d
call qword [sym.imp.msvcrt.dll_memset]
mov rcx, qword [rdi + 0x10]
lea r8, [rsp + 0x34]
lea rdx, [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_accept]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x1400c8e1f
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2afa
je 0x1400c8dd6
cmp word [rsp + 0x40], r15w
jne 0x1400c8e44
cmp dword [rdi + 0x58], ebx
je 0x1400c8e44
mov ecx, dword [rsp + 0x44]
call fcn.1400c8734
test eax, eax
jne 0x1400c8e44
mov rcx, r14
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x1400c8dd6
mov rcx, qword [rdi + 0x18]
mov rdx, r14
mov rax, qword [rcx]
call qword [rax + 0x20]
test eax, eax
je 0x1400c8dd6
jmp 0x1400c8e39
mov rcx, qword [rdi + 0x10]
lea rdx, [rbp - 0x40]
mov r9d, esi
mov r8d, 0x5000
call qword [sym.imp.WS2_32.dll_recv]
mov r9d, eax
test eax, eax
jg 0x1400c8ea1
jne 0x1400c8e80
lea r14, str.Internal_err
jmp 0x1400c8e8d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea r14, str.Network_error__winsock_.
lea rcx, [0x1401312e8]
mov rdx, r14
call fcn.1400c8398
jmp 0x1400c8dd6
mov edx, r15d
jmp 0x1400c8f5e
mov ebx, dword [rdi + 0x40]
mov rcx, rdi
mov dword [rdi + 0x4c], esi
add ebx, dword [rdi + 0x60]
call fcn.1400c9524
mov edx, dword [rdi + 0x40]
add edx, dword [rdi + 0x60]
cmp edx, ebx
jge 0x1400c8dd6
mov rcx, qword [rdi + 0x18]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
jmp 0x1400c8dd6
cmp dword [rdi + 0x50], ebx
je 0x1400c8ee4
mov dword [rdi + 0x54], esi
jmp 0x1400c8dd6
cmp dword [rdi + 0x64], ebx
mov dword [rsp + 0x30], esi
je 0x1400c8f01
mov rcx, qword [rdi + 0x10]
lea r8, [rsp + 0x30]
mov edx, 0x40047307
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov rcx, qword [rdi + 0x10]
lea rdx, [rbp - 0x40]
xor r9d, r9d
mov r8d, 0x5000
call qword [sym.imp.WS2_32.dll_recv]
mov r9d, eax
test eax, eax
jns 0x1400c8f49
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8d, eax
cmp eax, 0x2733
je 0x1400c8dd6
xor r9d, r9d
lea rdx, str.Network_error__winsock_.
mov rcx, qword [rdi + 0x18]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400c8f6c
jne 0x1400c8f55
xor r9d, r9d
xor r8d, r8d
xor edx, edx
jmp 0x1400c8f3d
cmp dword [rsp + 0x30], ebx
sete bl
mov edx, ebx
mov rcx, qword [rdi + 0x18]
lea r8, [rbp - 0x40]
mov rax, qword [rcx]
call qword [rax + reloc.SHELL32.dll_ILFindLastID]
mov rcx, qword [rbp + 0x4fc0]
xor rcx, rsp
call fcn.140001010
mov rbx, qword [rsp + 0x5118]
add rsp, 0x50d0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret