Function at 0x1402e5628
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 0x1402e5aa1
cmp dword [rcx + 0x30], r13d
je 0x1402e5673
cmp byte [rbx + 0x67], r13b
je 0x1402e5aa1
mov dword [rcx + 0x18], 7
jmp 0x1402e5aa1
mov rsi, qword [rcx + 0x10]
test rsi, rsi
jne 0x1402e56a9
cmp byte [rbx + 0xc5], r13b
je 0x1402e5691
mov dword [rcx + 0x18], 0x65
jmp 0x1402e5aa1
call fcn.1402f5478
mov rsi, rax
test rax, rax
jne 0x1402e56a9
lea ebp, [rax + 1]
mov dword [rdi + 0x18], ebp
jmp 0x1402e5a84
mov ebp, 1
cmp byte [rdi + 0xd5], r13b
je 0x1402e578c
mov r14, qword [rdi + 0xc0]
cmp dword [r14 + 0xbc], r13d
je 0x1402e578c
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
lea edx, [rbp + 0x51]
mov rcx, rsi
call fcn.140308700
mov r8d, dword [r14 + 0xb8]
lea edx, [rbp + 0x25]
xor r9d, r9d
mov dword [rsp + 0x20], r13d
mov rcx, rsi
call fcn.140308700
mov r12d, dword [r14 + 0xc0]
xor r15d, r15d
mov r13d, eax
cmp dword [r14 + 0xbc], r15d
jle 0x1402e5740
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.140308700
add r15d, ebp
cmp r15d, dword [r14 + 0xbc]
jl 0x1402e5715
and dword [rsp + 0x20], 0
mov r9d, r15d
mov r8d, r12d
mov edx, 0x53
mov rcx, rsi
call fcn.140308700
mov r8d, dword [r14 + 0xb8]
lea r9d, [r13 + 1]
and dword [rsp + 0x20], 0
mov edx, 5
mov rcx, rsi
call fcn.140308700
mov edx, r13d
mov rcx, rsi
call fcn.1403106e8
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.140308700
cmp byte [rbx + 0x67], r13b
jne 0x1402e5a84
cmp dword [rdi + 0x74], r13d
jne 0x1402e57bd
cmp qword [rdi + 0x58], r13
je 0x1402e5a84
mov rax, qword [rsi]
mov ecx, dword [rsi + 0x98]
cmp byte [rax + 0x67], r13b
lea rax, [0x1404829a0]
jne 0x1402e57da
mov rax, qword [rsi + 0x90]
mov dword [rax + 8], ecx
mov r14d, r13d
cmp dword [rbx + 0x28], r13d
jle 0x1402e5865
mov r15, r13
mov ecx, r14d
mov r10d, ebp
shl r10d, cl
test dword [rdi + 0x74], r10d
je 0x1402e5858
mov edx, r14d
mov rcx, rsi
call fcn.140313c5c
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.140308814
cmp byte [rbx + 0xc5], r13b
jne 0x1402e5858
movsxd rax, dword [rsi + 0x98]
test eax, eax
jle 0x1402e5858
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 0x1402e57e9
mov r12d, r13d
cmp dword [rdi + 0x128], r13d
jle 0x1402e58ce
mov r15, r13
mov rax, qword [rdi + 0x180]
mov rcx, qword [rax + r15]
mov r14, qword [rcx + 0x50]
jmp 0x1402e588e
cmp qword [r14], rbx
je 0x1402e5893
mov r14, qword [r14 + 0x28]
test r14, r14
jne 0x1402e5885
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
mov edx, 0xa9
mov rcx, rsi
call fcn.140308700
mov r9d, 0xfffffff4
mov r8, r14
mov edx, eax
mov rcx, rsi
call fcn.140308aa8
add r12d, ebp
add r15, 8
cmp r12d, dword [rdi + 0x128]
jl 0x1402e5874
mov r15d, r13d
mov r12, qword [rdi + 0x10]
mov dword [rdi + 0x128], r13d
cmp dword [rdi + 0x88], r13d
jle 0x1402e5935
mov r14, r13
mov rcx, qword [rdi + 0x90]
mov edx, 0xa8
movzx eax, byte [r14 + rcx + 8]
mov rbx, qword [r14 + rcx + 0x10]
mov r9d, dword [r14 + rcx + 4]
mov r8d, dword [r14 + rcx]
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.140308700
or r9d, 0xffffffff
mov r8, rbx
mov edx, eax
mov rcx, r12
call fcn.140308aa8
add r15d, ebp
lea r14, [r14 + 0x18]
cmp r15d, dword [rdi + 0x88]
jl 0x1402e58e8
mov r13, qword [rdi]
mov r12, qword [rdi + 0x10]
mov r14, qword [rdi + 0x98]
jmp 0x1402e59f3
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.1402f92c0
mov r8, qword [r14 + 8]
lea r15d, [rbx - 1]
mov edx, r15d
mov rcx, r12
mov r8, qword [r8]
call fcn.140311000
xor r9d, r9d
lea r8, [0x14045e628]
mov rcx, r12
lea edx, [r9 + 0xc]
call fcn.140308858
test rax, rax
je 0x1402e59fc
mov ecx, reloc.WS2_32.dll_recv
mov dword [rax + 8], ebx
mov word [rax + 0x4a], cx
lea edx, [rbx + 2]
lea ecx, [rbx + 1]
mov dword [rax + 0xc], edx
mov dword [rax + 0x68], ecx
mov dword [rax + 0x3c], ebx
mov dword [rax + 0x4c], r15d
mov dword [rax + 0x54], ebx
mov dword [rax + 0x84], ebx
mov dword [rax + 0x94], ebx
mov dword [rax + 0xb0], edx
mov dword [rax + 0xac], ebx
mov dword [rax + 0xf8], ebx
cmp dword [rdi + 0x34], 0
jne 0x1402e59f0
mov dword [rdi + 0x34], ebp
mov r14, qword [r14]
test r14, r14
jne 0x1402e5948
mov rbx, qword [rdi + 0x58]
xor r13d, r13d
test rbx, rbx
je 0x1402e5a38
mov byte [rdi + 0x23], r13b
mov r15d, r13d
cmp dword [rbx], r13d
jle 0x1402e5a38
lea r14, [rbx + 8]
mov r8d, dword [r14 + 0x18]
test r8d, r8d
jle 0x1402e5a2c
mov rdx, qword [r14]
mov rcx, rdi
call fcn.1402e1044
add r15d, ebp
add r14, 0x20
cmp r15d, dword [rbx]
jl 0x1402e5a18
cmp byte [rdi + 0xd5], r13b
je 0x1402e5a6d
mov rax, qword [rdi + 0xc0]
mov r9d, dword [rax + 0xbc]
test r9d, r9d
je 0x1402e5a6d
mov r8d, dword [rax + 0xb8]
mov edx, reloc.WS2_32.dll_WSACleanup
mov rcx, rsi
mov dword [rsp + 0x20], r13d
call fcn.140308700
xor r8d, r8d
mov dword [rsp + 0x20], r13d
mov r9d, ebp
mov rcx, rsi
lea edx, [r8 + 0xb]
call fcn.140308700
cmp dword [rdi + 0x30], r13d
jne 0x1402e5a9e
mov rdx, rdi
mov rcx, rsi
call fcn.140311050
mov dword [rdi + 0x18], 0x65
jmp 0x1402e5aa1
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