Function at 0x1401404e0
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 ebp, r9d
mov r14, rdx
mov r15, rcx
xor r12b, r12b
call fcn.14014ebd0
mov rdi, qword [r14 + 0x10]
mov rbx, rax
mov r13d, dword [rsp + 0xa0]
test rdi, rdi
je 0x1401405d0
mov rsi, qword [rsp + 0x88]
mov eax, dword [rsi]
test eax, eax
je 0x1401405bd
cmp qword [rdi + 0x48], 0
mov r12b, 1
je 0x140140568
mov r9d, dword [rbx + 0x3c]
mov r8d, eax
add r9d, 2
mov dword [rsp + 0x20], 0
mov edx, 0x4c
mov rcx, rbx
call fcn.140167a30
mov eax, dword [rsi]
mov r9d, eax
mov dword [rsp + 0x20], 0
mov r8d, ebp
mov edx, WSAStartup
mov rcx, rbx
call fcn.140167a30
mov eax, r13d
neg eax
mov eax, dword [rdi + 0x5c]
sbb cl, cl
and al, 3
and cl, 0x10
movzx edx, cl
cmp al, 2
jne 0x1401405a3
test byte [r14 + 0x46], 0x20
je 0x1401405a3
or dl, 1
test dl, dl
je 0x1401405bd
mov r8, qword [rbx + 8]
test r8, r8
je 0x1401405bd
movsxd rax, dword [rbx + 0x3c]
lea rcx, [rax + rax*2]
mov byte [r8 + rcx*8 - 0x15], dl
mov rdi, qword [rdi + 0x28]
inc ebp
add rsi, 4
test rdi, rdi
jne 0x140140532
test byte [r14 + 0x46], 0x20
jne 0x140140739
movzx eax, byte [r15 + 0x1f]
mov ebp, dword [rsp + 0x80]
test al, al
jne 0x1401405f5
inc dword [r15 + 0x54]
mov edi, dword [r15 + 0x54]
jmp 0x140140603
dec al
movzx eax, al
mov byte [r15 + 0x1f], al
mov edi, dword [r15 + rax*4 + 0x24]
movsx r9d, word [r14 + 0x3e]
lea r8d, [rbp + 1]
mov edx, PathResolve
mov dword [rsp + 0x20], edi
mov rcx, rbx
call fcn.140167a30
test r12b, r12b
jne 0x140140630
xor r8d, r8d
mov rdx, r14
mov rcx, rbx
call fcn.140163820
movsx r8d, word [r14 + 0x3e]
lea edx, [rbp + 1]
mov rcx, r15
call fcn.140145c80
cmp byte [r15 + 0x1e], 0
je 0x14014064b
xor dl, dl
jmp 0x140140660
cmp dword [rsp + 0x90], 0
mov edx, 3
mov eax, 5
cmovne edx, eax
mov r8d, dword [rsp + 0x70]
movzx eax, dl
or al, 8
mov dword [rsp + 0x20], ebp
cmp dword [rsp + 0x98], 0
mov r9d, edi
movzx ecx, al
movzx eax, dl
cmove ecx, eax
movzx edx, cl
mov rcx, rbx
movzx eax, dl
or al, 0x10
movzx r12d, al
test r13d, r13d
cmove r12d, edx
mov edx, 0x54
call fcn.140167a30
cmp byte [r15 + 0x1e], 0
jne 0x140140723
mov r8, qword [rbx + 8]
mov rdi, qword [r14]
mov rcx, qword [rbx]
test r8, r8
je 0x140140719
cmp byte [rcx + 0x51], 0
jne 0x140140719
movsxd rax, dword [rbx + 0x3c]
lea rdx, [rax + rax*2]
lea rsi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 - 0x17]
mov r8, qword [rsi - 8]
call fcn.1401255e0
mov qword [rsi - 8], 0
test rdi, rdi
jne 0x1401406ec
mov byte [rsi - 0x17], dil
jmp 0x140140723
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdi + r8], 0
jne 0x1401406f3
mov rcx, qword [rbx]
and r8d, 0x3fffffff
mov rdx, rdi
call fcn.140142330
mov qword [rsi - 8], rax
mov byte [rsi - 0x17], 0xff
jmp 0x140140723
mov r8, rdi
xor edx, edx
call fcn.1401255e0
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x140140739
movsxd rax, dword [rbx + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], r12b
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