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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x18], r8d
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r14d, r9d
mov r13, rdx
mov rbp, rcx
xor r15b, r15b
call fcn.140076f80
mov rdi, qword [r13 + 0x10]
lea r12, [0x140120b10]
mov rbx, rax
test rdi, rdi
je 0x14006c660
mov rsi, qword [rsp + 0x88]
mov r8d, dword [rsi]
test r8d, r8d
je 0x14006c64c
cmp qword [rdi + 0x48], 0
mov r15b, 1
je 0x14006c5e4
mov r9d, dword [rbx + 0x3c]
mov edx, 0x4c
add r9d, 2
mov dword [rsp + 0x20], 0
mov rcx, rbx
call fcn.140037d60
mov r9d, dword [rsi]
mov r8d, r14d
mov edx, WSAStartup
mov dword [rsp + 0x20], 0
mov rcx, rbx
call fcn.140037d60
mov eax, dword [rsp + 0xa0]
neg eax
mov eax, dword [rdi + 0x64]
sbb cl, cl
and al, 3
and cl, 0x10
movzx edx, cl
cmp al, 2
jne 0x14006c623
test byte [r13 + 0x46], 0x20
je 0x14006c623
or dl, 1
test dl, dl
je 0x14006c64c
mov rax, qword [rbx]
mov ecx, dword [rbx + 0x3c]
dec ecx
cmp byte [rax + 0x51], 0
je 0x14006c63a
mov rax, r12
jmp 0x14006c649
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rax, [rax + rcx*8]
mov byte [rax + 3], dl
mov rdi, qword [rdi + 0x28]
inc r14d
add rsi, 4
test rdi, rdi
jne 0x14006c5b1
test byte [r13 + 0x46], 0x20
jne 0x14006c88a
mov eax, dword [rsp + 0x80]
lea r14d, [rax + 1]
movzx eax, byte [rbp + 0x1f]
test al, al
jne 0x14006c687
inc dword [rbp + 0x54]
mov r12d, dword [rbp + 0x54]
jmp 0x14006c694
dec al
movzx eax, al
mov byte [rbp + 0x1f], al
mov r12d, dword [rbp + rax*4 + 0x24]
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
movsx esi, word [r13 + 0x3e]
cmp dword [rax + 0x60], edi
jg 0x14006c6b2
mov rcx, rbx
call fcn.140037cb0
test eax, eax
jne 0x14006c6df
inc dword [rbx + 0x3c]
lea rcx, [rdi + rdi*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 8], esi
xor esi, esi
mov qword [rax + rcx*8 + 0x10], rsi
mov word [rax + rcx*8], 0x31
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 0xc], r12d
jmp 0x14006c6e1
xor esi, esi
test r15b, r15b
jne 0x14006c6f4
xor r8d, r8d
mov rdx, r13
mov rcx, rbx
call fcn.140069480
movsx eax, word [r13 + 0x3e]
lea r9d, [r14 - 1]
add r9d, eax
lea rcx, [rbp + 0x94]
mov r8d, 0xa
nop dword [rax]
mov edx, dword [rcx]
cmp edx, r14d
jl 0x14006c73a
cmp edx, r9d
jg 0x14006c73a
cmp byte [rcx - 6], 0
je 0x14006c738
movzx eax, byte [rbp + 0x1f]
cmp al, 8
jae 0x14006c734
movzx eax, al
mov dword [rbp + rax*4 + 0x24], edx
inc byte [rbp + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], esi
add rcx, 0x14
sub r8, 1
jne 0x14006c710
cmp byte [rbp + 0x1e], r8b
je 0x14006c74e
xor dl, dl
jmp 0x14006c763
cmp dword [rsp + 0x90], 0
mov edx, 3
mov eax, 5
cmovne edx, eax
movsxd rdi, dword [rbx + 0x3c]
movzx eax, dl
or al, 8
cmp dword [rsp + 0x98], 0
movzx ecx, al
movzx eax, dl
cmove ecx, eax
movzx edx, cl
movzx eax, dl
or al, 0x10
cmp dword [rsp + 0xa0], 0
movzx r14d, al
mov rax, qword [rbx + 0x30]
cmove r14d, edx
cmp dword [rax + 0x60], edi
jg 0x14006c7aa
mov rcx, rbx
call fcn.140037cb0
test eax, eax
jne 0x14006c7dd
mov rax, qword [rbx + 8]
lea rcx, [rdi + rdi*2]
inc dword [rbx + 0x3c]
mov edx, dword [rsp + 0x70]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x80]
mov dword [rax + rcx*8 + 0xc], edx
mov word [rax + rcx*8], 0x54
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], r12d
mov qword [rax + rcx*8 + 0x10], rsi
cmp byte [rbp + 0x1e], 0
jne 0x14006c860
mov r8, qword [rbx + 8]
mov rdi, qword [r13]
mov rcx, qword [rbx]
test r8, r8
je 0x14006c856
cmp byte [rcx + 0x51], 0
jne 0x14006c856
mov eax, dword [rbx + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rsi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rsi + 0x10]
call fcn.1400384b0
xor eax, eax
mov qword [rsi + 0x10], rax
test rdi, rdi
jne 0x14006c82b
mov qword [rsi + 0x10], rax
mov byte [rsi + 1], al
jmp 0x14006c860
or rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rdi + rax], 0
jne 0x14006c830
mov rcx, qword [rbx]
and eax, 0x3fffffff
movsxd r8, eax
mov rdx, rdi
call fcn.140017bd0
mov qword [rsi + 0x10], rax
mov byte [rsi + 1], 0xff
jmp 0x14006c860
mov r8, rdi
xor edx, edx
call fcn.1400384b0
mov rax, qword [rbx]
mov ecx, dword [rbx + 0x3c]
dec ecx
cmp byte [rax + 0x51], 0
je 0x14006c877
lea rdx, [0x140120b10]
jmp 0x14006c886
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rdx, [rax + rcx*8]
mov byte [rdx + 3], r14b
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret