Function at 0x140291bd4
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rbx, qword [rcx]
xor r13d, r13d
mov rdi, rcx
cmp byte [rcx + 0x1e], r13b
jne 0x14029204a
cmp dword [rcx + 0x30], r13d
je 0x140291c1f
cmp byte [rbx + 0x67], r13b
je 0x14029204a
mov dword [rcx + 0x18], 7
jmp 0x14029204a
mov rsi, qword [rcx + 0x10]
test rsi, rsi
jne 0x140291c55
cmp byte [rbx + 0xc5], r13b
je 0x140291c3d
mov dword [rcx + 0x18], 0x65
jmp 0x14029204a
call fcn.1402a1b20
mov rsi, rax
test rax, rax
jne 0x140291c55
lea ebp, [rax + 1]
mov dword [rdi + 0x18], ebp
jmp 0x14029202d
mov ebp, 1
cmp byte [rdi + 0xd5], r13b
je 0x140291d38
mov r14, qword [rdi + 0xc0]
cmp dword [r14 + 0xbc], r13d
je 0x140291d38
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
lea edx, [rbp + 0x51]
mov rcx, rsi
call fcn.1402b4e38
mov r8d, dword [r14 + 0xb8]
lea edx, [rbp + 0x25]
xor r9d, r9d
mov dword [rsp + 0x20], r13d
mov rcx, rsi
call fcn.1402b4e38
mov r12d, dword [r14 + 0xc0]
xor r15d, r15d
mov r13d, eax
cmp dword [r14 + 0xbc], r15d
jle 0x140291cec
mov r8d, dword [r14 + 0xb8]
lea ecx, [r15 + r12]
mov dword [rsp + 0x20], ecx
mov r9d, r15d
mov rcx, rsi
mov edx, 0x5d
call fcn.1402b4e38
add r15d, ebp
cmp r15d, dword [r14 + 0xbc]
jl 0x140291cc1
and dword [rsp + 0x20], 0
mov r9d, r15d
mov r8d, r12d
mov edx, 0x53
mov rcx, rsi
call fcn.1402b4e38
mov r8d, dword [r14 + 0xb8]
lea r9d, [r13 + 1]
and dword [rsp + 0x20], 0
mov edx, 5
mov rcx, rsi
call fcn.1402b4e38
mov edx, r13d
mov rcx, rsi
call fcn.1402bd15c
mov ecx, dword [rsi + 0x98]
xor r13d, r13d
mov dword [rax + 8], ecx
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 0x46]
call fcn.1402b4e38
cmp byte [rbx + 0x67], r13b
jne 0x14029202d
cmp dword [rdi + 0x74], r13d
jne 0x140291d69
cmp qword [rdi + 0x58], r13
je 0x14029202d
mov rax, qword [rsi]
mov ecx, dword [rsi + 0x98]
cmp byte [rax + 0x67], r13b
lea rax, [0x140420268]
jne 0x140291d86
mov rax, qword [rsi + 0x90]
mov dword [rax + 8], ecx
mov r14d, r13d
cmp dword [rbx + 0x28], r13d
jle 0x140291e11
mov r15, r13
mov ecx, r14d
mov r10d, ebp
shl r10d, cl
test dword [rdi + 0x74], r10d
je 0x140291e04
mov edx, r14d
mov rcx, rsi
call fcn.1402c0660
mov rcx, qword [rbx + 0x20]
mov r9d, r13d
test dword [rdi + 0x70], r10d
mov r8d, r14d
setne r9b
mov rdx, qword [rcx + r15 + 0x18]
mov rcx, rsi
mov eax, dword [rdx + 4]
mov dword [rsp + 0x28], eax
mov eax, dword [rdx]
mov edx, 2
mov dword [rsp + 0x20], eax
call fcn.1402b4f4c
cmp byte [rbx + 0xc5], r13b
jne 0x140291e04
movsxd rax, dword [rsi + 0x98]
test eax, eax
jle 0x140291e04
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x90]
mov word [rax + rcx*8 - 0x16], bp
add r14d, ebp
add r15, 0x20
cmp r14d, dword [rbx + 0x28]
jl 0x140291d95
mov r12d, r13d
cmp dword [rdi + 0x128], r13d
jle 0x140291e7a
mov r15, r13
mov rax, qword [rdi + 0x180]
mov rcx, qword [rax + r15]
mov r14, qword [rcx + 0x50]
jmp 0x140291e3a
cmp qword [r14], rbx
je 0x140291e3f
mov r14, qword [r14 + 0x28]
test r14, r14
jne 0x140291e31
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
mov edx, 0xa9
mov rcx, rsi
call fcn.1402b4e38
mov r9d, 0xfffffff4
mov r8, r14
mov edx, eax
mov rcx, rsi
call fcn.1402b51fc
add r12d, ebp
add r15, 8
cmp r12d, dword [rdi + 0x128]
jl 0x140291e20
mov r15d, r13d
mov r12, qword [rdi + 0x10]
mov dword [rdi + 0x128], r13d
cmp dword [rdi + 0x88], r13d
jle 0x140291ee1
mov r14, r13
mov r9, qword [rdi + 0x90]
mov edx, 0xa8
mov rcx, r12
movzx eax, byte [r14 + r9 + 8]
mov r8d, dword [r14 + r9]
mov rbx, qword [r14 + r9 + 0x10]
mov r9d, dword [r14 + r9 + 4]
mov dword [rsp + 0x20], eax
call fcn.1402b4e38
or r9d, 0xffffffff
mov r8, rbx
mov edx, eax
mov rcx, r12
call fcn.1402b51fc
add r15d, ebp
lea r14, [r14 + 0x18]
cmp r15d, dword [rdi + 0x88]
jl 0x140291e94
mov r13, qword [rdi]
mov r12, qword [rdi + 0x10]
mov r14, qword [rdi + 0x98]
jmp 0x140291f9c
movsxd r8, dword [r14 + 0x10]
xor edx, edx
mov rax, qword [r13 + 0x20]
mov r9, r8
mov ebx, dword [r14 + 0x14]
mov rcx, rdi
shl r9, 5
mov dword [rsp + 0x20], 0x65
mov r9, qword [r9 + rax + 0x18]
mov r9, qword [r9 + 0x68]
call fcn.1402a5a30
mov r8, qword [r14 + 8]
lea r15d, [rbx - 1]
mov edx, r15d
mov rcx, r12
mov r8, qword [r8]
call fcn.1402bda7c
xor r9d, r9d
lea r8, [0x1403f8320]
mov rcx, r12
lea edx, [r9 + 0xc]
call fcn.1402b4f90
test rax, rax
je 0x140291fa5
lea edx, [rbx + 2]
mov dword [rax + 8], ebx
lea ecx, [rbx + 1]
mov dword [rax + 0xc], edx
mov dword [rax + 0x68], ecx
mov dword [rax + 0xb0], edx
mov dword [rax + 0x3c], ebx
mov dword [rax + 0x4c], r15d
mov dword [rax + 0x54], ebx
mov word [rax + 0x4a], reloc.WS2_32.dll_recv
mov dword [rax + 0x84], ebx
mov dword [rax + 0x94], ebx
mov dword [rax + 0xac], ebx
mov dword [rax + 0xf8], ebx
cmp dword [rdi + 0x34], 0
jne 0x140291f99
mov dword [rdi + 0x34], ebp
mov r14, qword [r14]
test r14, r14
jne 0x140291ef4
mov rbx, qword [rdi + 0x58]
xor r13d, r13d
test rbx, rbx
je 0x140291fe1
mov byte [rdi + 0x23], r13b
mov r15d, r13d
cmp dword [rbx], r13d
jle 0x140291fe1
lea r14, [rbx + 8]
mov r8d, dword [r14 + 0x18]
test r8d, r8d
jle 0x140291fd5
mov rdx, qword [r14]
mov rcx, rdi
call fcn.14028d600
add r15d, ebp
add r14, 0x20
cmp r15d, dword [rbx]
jl 0x140291fc1
cmp byte [rdi + 0xd5], r13b
je 0x140292016
mov r8, qword [rdi + 0xc0]
mov r9d, dword [r8 + 0xbc]
test r9d, r9d
je 0x140292016
mov r8d, dword [r8 + 0xb8]
mov edx, reloc.WS2_32.dll_WSACleanup
mov rcx, rsi
mov dword [rsp + 0x20], r13d
call fcn.1402b4e38
xor r8d, r8d
mov dword [rsp + 0x20], r13d
mov r9d, ebp
mov rcx, rsi
lea edx, [r8 + 0xb]
call fcn.1402b4e38
cmp dword [rdi + 0x30], r13d
jne 0x140292047
mov rdx, rdi
mov rcx, rsi
call fcn.1402bdacc
mov dword [rdi + 0x18], 0x65
jmp 0x14029204a
mov dword [rdi + 0x18], ebp
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret