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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
push rbx
push r13
push r15
sub rsp, 0xd0
mov rbx, rcx
xor ecx, ecx
mov qword [r11 - 0x20], rbp
mov r13, qword [rbx]
mov qword [r11 - 0x28], rsi
mov qword [r11 - 0x30], rdi
mov qword [r11 - 0x38], r12
mov r15, r8
mov rax, rdx
mov dword [rsp + 0xf0], 0xffffffff
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x58], rcx
cmp dword [rbx + 0x50], ecx
jne 0x1400d487e
cmp byte [r13 + 0x50], cl
jne 0x1400d487e
mov rcx, rbx
mov qword [r11 - 0x40], r14
call fcn.1400d3e50
mov r14, rax
test rax, rax
je 0x1400d4869
xor r9d, r9d
mov rdx, rax
mov rcx, rbx
lea r8d, [r9 + 0x6a]
mov qword [rsp + 0x20], 0
call fcn.1400f26a0
xor edi, edi
mov rdx, r14
cmp qword [r14 + 0x18], rdi
mov rcx, rbx
mov r12, rax
setne dil
mov dword [rsp + 0x48], edi
call fcn.1400cf470
test eax, eax
jne 0x1400d4869
xor r8d, r8d
test r12, r12
mov rdx, r14
setne r8b
mov rcx, rbx
call fcn.1400d3ec0
test eax, eax
jne 0x1400d4869
mov rdx, qword [r14 + 0x68]
mov rcx, r13
call fcn.1400e6730
mov rcx, qword [r13 + 0x20]
mov r8, qword [r14]
movsxd rbp, eax
xor r9d, r9d
mov rdx, rbp
shl rdx, 5
mov rdx, qword [rdx + rcx]
mov rcx, rbx
mov qword [rsp + 0x20], rdx
lea edx, [r9 + 9]
call fcn.1400cc430
mov esi, eax
cmp eax, 1
mov rax, qword [rsp + 0xf8]
je 0x1400d4871
mov r15d, dword [rbx + 0x54]
mov dword [rax + 0x4c], r15d
inc dword [rbx + 0x54]
mov rcx, qword [r14 + 0x10]
mov edx, dword [rbx + 0x54]
mov dword [rsp + 0x108], r15d
test rcx, rcx
je 0x1400d428e
nop dword [rax + rax]
inc edx
mov dword [rbx + 0x54], edx
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x1400d4280
test edi, edi
je 0x1400d42ad
mov rax, qword [rbx + 0x248]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x40], rax
mov rax, qword [r14]
mov qword [rbx + 0x248], rax
mov rcx, rbx
call fcn.1400e9f90
mov rdi, rax
test rax, rax
je 0x1400d4861
cmp byte [rbx + 0x1e], 0
jne 0x1400d42ce
or dword [rax + 0x9c], 0x10
mov r8d, ebp
mov edx, 1
mov rcx, rbx
call fcn.1400d29d0
cmp dword [rsp + 0x48], 0
je 0x1400d4300
mov r9d, r15d
mov r15, qword [rsp + 0x100]
mov rdx, r14
mov r8, r15
mov rcx, rbx
call fcn.1400d3f60
jmp 0x1400d4308
mov r15, qword [rsp + 0x100]
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rax
test r15, r15
je 0x1400d4362
lea rcx, [rsp + 0x60]
mov rdx, r15
call fcn.1400c2270
test eax, eax
jne 0x1400d4869
test byte [r13 + 0x2c], 0x10
je 0x1400d4390
inc dword [rbx + 0x58]
mov eax, dword [rbx + 0x58]
xor r8d, r8d
lea edx, [r8 + 7]
mov rcx, rdi
mov r9d, eax
mov dword [rsp + 0xf0], eax
mov dword [rsp + 0x20], 0
call fcn.1400b0840
test esi, esi
jne 0x1400d4497
test r15, r15
jne 0x1400d4497
test r12, r12
jne 0x1400d4497
test byte [r14 + 0x46], 0x10
jne 0x1400d4497
xor r9d, r9d
xor r8d, r8d
mov rdx, r14
mov rcx, rbx
call fcn.1400da990
test eax, eax
jne 0x1400d4497
mov r12d, dword [rsp + 0xf0]
mov r8d, dword [r14 + 0x3c]
mov r15, qword [r14]
lea edx, [rsi + 0x67]
mov r9d, ebp
mov rcx, rdi
mov dword [rsp + 0x20], r12d
call fcn.1400b0840
mov r8, qword [rdi + 8]
mov rcx, qword [rdi]
test r8, r8
je 0x1400d4450
cmp byte [rcx + 0x50], sil
jne 0x1400d4450
test eax, eax
jns 0x1400d440b
mov eax, dword [rdi + 0x34]
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.1400b0d20
mov qword [rsi + 0x10], 0
test r15, r15
jne 0x1400d443b
mov qword [rsi + 0x10], r15
mov byte [rsi + 1], r15b
jmp 0x1400d4460
mov qword [rsi + 0x10], r15
mov byte [rsi + 1], 0xfe
jmp 0x1400d445d
mov r8, r15
mov edx, 0xfffffffe
call fcn.1400b0d20
xor r15d, r15d
mov rsi, qword [r14 + 0x10]
test rsi, rsi
je 0x1400d4749
nop dword [rax]
mov r8d, dword [rsi + 0x48]
mov r9d, ebp
mov edx, 0x67
mov rcx, rdi
mov dword [rsp + 0x20], r15d
call fcn.1400b0840
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x1400d4470
jmp 0x1400d4749
mov esi, dword [rbx + 0x58]
xor ebp, ebp
xor r8d, r8d
inc esi
lea edx, [rbp + 0xa]
mov rcx, rdi
lea r15d, [rsi + 1]
mov r9d, esi
mov dword [rsp + 0x20], ebp
mov dword [rbx + 0x58], r15d
call fcn.1400b0840
mov r8, qword [rsp + 0x100]
mov rdx, qword [rsp + 0xf8]
mov eax, 8
mov dword [rsp + 0x30], ebp
mov word [rsp + 0x28], ax
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], rbp
call fcn.1400fe410
mov rbp, rax
test rax, rax
je 0x1400d4861
mov r9d, dword [rsp + 0x108]
or r8d, 0xffffffff
mov rdx, r14
mov rcx, rbx
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], r15d
call fcn.1400c5a80
mov r8d, esi
mov edx, reloc.WS2_32.dll_WSASetLastError
mov rcx, rdi
mov r9d, eax
mov dword [rsp + 0x20], 0
call fcn.1400b0840
test byte [r13 + 0x2c], 0x10
je 0x1400d455a
mov r8d, dword [rsp + 0xf0]
mov r9d, 1
mov rcx, rdi
lea edx, [r9 + 0x13]
mov dword [rsp + 0x20], 0
call fcn.1400b0840
mov rcx, rbp
call fcn.1400ff0b0
mov rcx, rdi
call fcn.1400b0a60
cmp dword [rsp + 0x48], 0
mov ebp, dword [rsp + 0x108]
mov dword [rsp + 0x4c], eax
jne 0x1400d4594
mov r9d, 0x28
mov r8d, ebp
mov rdx, r14
mov rcx, rbx
call fcn.1400dfe90
mov eax, dword [rsp + 0x4c]
mov r9d, eax
mov r8d, esi
mov edx, WSACleanup
mov rcx, rdi
mov dword [rsp + 0x20], r15d
call fcn.1400b0840
test byte [r14 + 0x46], 0x10
mov dword [rsp + 0x50], eax
je 0x1400d4684
mov rsi, qword [r14 + 0x58]
test rsi, rsi
je 0x1400d45d2
cmp qword [rsi], r13
je 0x1400d45d2
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x1400d45c4
mov rdx, r14
mov rcx, rbx
call fcn.1400f7570
mov r9d, 1
xor r8d, r8d
mov edx, 0x8c
mov rcx, rdi
mov dword [rsp + 0x20], r15d
call fcn.1400b0840
mov r8, qword [rdi + 8]
mov rcx, qword [rdi]
test r8, r8
je 0x1400d4650
cmp byte [rcx + 0x50], 0
jne 0x1400d4650
test eax, eax
jns 0x1400d4613
mov eax, dword [rdi + 0x34]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rbp, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rbp + 0x10]
call fcn.1400b0d20
xor eax, eax
mov qword [rbp + 0x10], rax
test rsi, rsi
jne 0x1400d4640
mov qword [rbp + 0x10], rax
mov byte [rbp + 1], al
jmp 0x1400d4650
mov qword [rbp + 0x10], rsi
mov byte [rbp + 1], 0xf6
inc dword [rsi + 0x18]
nop dword [rax + rax]
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x1400d4666
movsxd rax, dword [rdi + 0x34]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 2
mov rax, qword [rbx + 0x1d0]
mov ebp, dword [rsp + 0x108]
mov rcx, rbx
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x24], 1
jmp 0x1400d46ae
xor eax, eax
mov dword [rsp + 0x30], 0x63
mov r9d, r15d
cmp byte [rbx + 0x1e], al
mov r8d, ebp
mov rdx, r14
sete al
mov rcx, rbx
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], eax
call fcn.1400d48e0
mov r9d, dword [rsp + 0x50]
xor r15d, r15d
xor r8d, r8d
lea edx, [r15 + 1]
mov rcx, rdi
mov dword [rsp + 0x20], r15d
call fcn.1400b0840
mov rcx, qword [rdi + 0x40]
test rcx, rcx
je 0x1400d46e8
movsxd rax, dword [rsp + 0x4c]
lea rax, [rax*4 + 4]
sub rcx, rax
mov eax, dword [rdi + 0x34]
mov dword [rcx], eax
cmp dword [rsp + 0x48], r15d
jne 0x1400d4741
test byte [r14 + 0x46], 0x10
jne 0x1400d4741
mov rsi, qword [r14 + 0x10]
test rsi, rsi
je 0x1400d4725
inc ebp
mov r9d, dword [rsi + 0x48]
mov r8d, ebp
mov edx, 0x2d
mov rcx, rdi
mov dword [rsp + 0x20], r15d
call fcn.1400b0840
mov rsi, qword [rsi + 0x28]
inc ebp
test rsi, rsi
jne 0x1400d4701
mov r8d, dword [rsp + 0x108]
xor r9d, r9d
mov rcx, rdi
lea edx, [r9 + 0x2d]
mov dword [rsp + 0x20], r15d
call fcn.1400b0840
mov r12d, dword [rsp + 0xf0]
cmp byte [rbx + 0x1e], 0
jne 0x1400d4761
cmp qword [rbx + 0x1d8], 0
jne 0x1400d4761
mov rcx, rbx
call fcn.1400dc980
test byte [r13 + 0x2c], 0x10
je 0x1400d4861
cmp byte [rbx + 0x1e], 0
jne 0x1400d4861
cmp qword [rbx + 0x1d8], 0
jne 0x1400d4861
mov r9d, 1
mov r8d, r12d
mov rcx, rdi
lea edx, [r9 + 0xf]
mov dword [rsp + 0x20], r15d
call fcn.1400b0840
mov edx, 1
mov rcx, rdi
call fcn.1400b2260
mov rax, qword [rdi]
cmp byte [rax + 0x50], 0
jne 0x1400d4861
mov rbx, qword [rdi + 0x20]
mov rax, qword [rbx]
test rax, rax
je 0x1400d47c9
mov ecx, dword [rax + 0x68]
jmp 0x1400d47ce
mov ecx, 0x3b9aca00
movsxd rcx, ecx
mov edi, r15d
mov rax, r15
lea rbp, [0x1401e0390]
test rcx, rcx
js 0x1400d47f3
cmp byte [rax + rbp], 0
je 0x1400d47f3
inc rax
inc edi
cmp rax, rcx
jle 0x1400d47e3
lea rax, [0x14008ff70]
mov esi, 0x202
test rax, rax
mov eax, 0x2460
jne 0x1400d4829
test word [rbx + 0x24], ax
je 0x1400d4817
mov rcx, rbx
call fcn.1400aeea0
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx]
call fcn.140090030
mov qword [rbx + 0x30], rbp
jmp 0x1400d484c
test word [rbx + 0x24], ax
je 0x1400d4837
mov rcx, rbx
call fcn.1400aeea0
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx]
call fcn.140090030
mov qword [rbx + 0x30], r15
mov esi, 0xa02
mov qword [rbx + 0x28], r15
mov qword [rbx + 8], rbp
mov dword [rbx + 0x20], edi
mov word [rbx + 0x24], si
mov word [rbx + 0x26], 0x103
mov r15, qword [rsp + 0x100]
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x40]
mov r14, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
mov r12, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xc8]
test rbx, rbx
je 0x1400d48af
mov qword [rbx + 0x248], rcx
mov rdx, rax
mov rcx, r13
call fcn.1400d2140
mov rdx, r15
mov rcx, r13
call fcn.1400c3430
add rsp, 0xd0
pop r15
pop r13
pop rbx
ret