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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov rdi, qword [rsp + 0xd0]
mov r10, r8
mov r15, qword [rsp + 0xc8]
mov r12d, r9d
mov rsi, qword [rcx + 0x10]
mov rbx, rcx
mov dword [rsp + 0x30], 0
movzx r8d, byte [rdi]
mov eax, dword [rdi + 4]
mov dword [rsp + 0x34], r8d
mov dword [rsp + 0xb8], eax
test r15, r15
je 0x1400c3933
movzx eax, byte [r15 + 1]
jmp 0x1400c3935
xor eax, eax
mov r13, qword [rsp + 0xc0]
mov dword [rsp + 0xc8], eax
test r13, r13
je 0x1400c395b
cmp qword [r13], 0
jne 0x1400c397f
xor r13d, r13d
mov qword [rsp + 0xc0], r13
test eax, eax
jne 0x1400c397f
mov r8d, dword [rsp + 0xd8]
mov rcx, rsi
mov edx, dword [rdx + 0x10]
call fcn.140078080
mov r8d, dword [rsp + 0x34]
mov r10, qword [rsp + 0xb0]
mov eax, dword [rdi + 8]
movsxd r14, dword [r10]
test eax, eax
jne 0x1400c39b4
test r13, r13
je 0x1400c39a6
mov rax, qword [r13]
test byte [r13 + 0x1c], 1
mov ecx, dword [rax]
lea edx, [rcx + 1]
cmovne edx, ecx
add dword [rbx + 0x54], edx
mov dword [rsp + 0x30], edx
mov eax, dword [rbx + 0x54]
inc eax
mov dword [rdi + 8], eax
add dword [rbx + 0x54], r14d
jmp 0x1400c39c5
mov ecx, dword [rbx + 0x54]
add eax, r14d
cmp eax, ecx
jle 0x1400c39c5
lea eax, [rcx + r14]
mov dword [rbx + 0x54], eax
mov ebp, dword [rdi + 8]
mov dword [rdi + 0xc], r14d
test r12d, r12d
js 0x1400c3a03
xor edi, edi
test r14d, r14d
jle 0x1400c3a21
nop dword [rax + rax]
lea eax, [rdi + rbp]
mov r9d, edi
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov edx, 0x2f
mov rcx, rsi
call fcn.1401089e0
inc edi
cmp edi, r14d
jl 0x1400c39e0
jmp 0x1400c3a21
cmp r8b, 3
je 0x1400c3a21
lea eax, [r8 - 9]
mov rdx, r10
test al, 0xfb
mov r8d, ebp
mov rcx, rbx
sete r9b
call fcn.1400dab40
cmp dword [rsp + 0xc8], 0
je 0x1400c3c16
movzx ecx, byte [r15 + 1]
sub ecx, 1
je 0x1400c3be6
cmp ecx, 1
je 0x1400c3a64
mov edi, dword [rsp + 0xd8]
mov r9d, r14d
mov edx, dword [r15 + 4]
mov r8d, edi
mov rcx, rbx
mov dword [rsp + 0x20], ebp
call fcn.140077b20
jmp 0x1400c3bf9
mov eax, dword [rbx + 0x54]
mov rcx, rsi
lea r12d, [rax + 1]
add eax, r14d
mov dword [rbx + 0x54], eax
mov edx, dword [r15 + 8]
mov dword [rsp + 0x3c], r12d
call fcn.140108f10
mov ecx, dword [r15 + 8]
test ecx, ecx
jns 0x1400c3a8f
mov ecx, dword [rsi + 0x3c]
dec ecx
mov rax, qword [rsi]
cmp byte [rax + 0x51], 0
je 0x1400c3aa1
lea rax, [0x1403038c8]
jmp 0x1400c3ab0
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
lea rax, [rax + rcx*8]
mov byte [rax], 0x1c
xor r15d, r15d
mov dword [rax + 4], 1
mov dword [rax + 8], r12d
mov eax, dword [rsi + 0x3c]
add eax, r14d
mov dword [rsp + 0xc8], eax
test r14d, r14d
jle 0x1400c3bc9
xor edi, edi
mov eax, r12d
sub eax, ebp
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], eax
mov r13, r14
nop word [rax + rax]
mov rax, qword [rsp + 0xb0]
mov rcx, rbx
mov rdx, qword [rax + 8]
mov rdx, qword [rdi + rdx]
call fcn.1400dc920
mov r9d, dword [rsp + 0xd8]
lea r10d, [r14 - 1]
mov ecx, dword [rsp + 0x38]
lea r8d, [r15 + rbp]
cmp r15d, r10d
mov r12, rax
cmovl r9d, dword [rsp + 0xc8]
add ecx, r8d
xor edx, edx
mov dword [rsp + 0x20], ecx
cmp r15d, r10d
mov rcx, rsi
setge dl
add edx, 0x4e
call fcn.1401089e0
mov r8, qword [rsi + 8]
mov rcx, qword [rsi]
test r8, r8
je 0x1400c3ba6
cmp byte [rcx + 0x51], 0
jne 0x1400c3b90
movsxd rax, dword [rsi + 0x3c]
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 - 0x17]
mov r8, qword [rdi - 8]
call fcn.140087680
test r12, r12
jne 0x1400c3b81
mov qword [rdi - 8], r12
mov byte [rdi - 0x17], r12b
jmp 0x1400c3b89
mov qword [rdi - 8], r12
mov byte [rdi - 0x17], 0xfc
mov rdi, qword [rsp + 0x40]
nop
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x1400c3ba6
movsxd rax, dword [rsi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x80
add rdi, 0x28
inc r15d
mov qword [rsp + 0x40], rdi
sub r13, 1
jne 0x1400c3af0
mov r13, qword [rsp + 0xc0]
mov r12d, dword [rsp + 0x3c]
lea eax, [r14 - 1]
mov r9d, r12d
mov r8d, ebp
mov dword [rsp + 0x20], eax
mov edx, 0x21
mov rcx, rsi
call fcn.1401089e0
jmp 0x1400c3bf2
mov edx, dword [r15 + 8]
mov rcx, rsi
call fcn.140108f10
mov edi, dword [rsp + 0xd8]
test r13, r13
jne 0x1400c3c16
mov r8d, edi
mov rcx, rsi
mov rdi, qword [rsp + 0xa8]
mov edx, dword [rdi + 0x10]
call fcn.140078080
jmp 0x1400c3c1e
mov rdi, qword [rsp + 0xa8]
mov r8d, dword [rsp + 0x34]
lea eax, [r8 - 1]
cmp eax, 0xd
ja case.0x1400c3c43.4
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0xc4418]
add rcx, rdx
jmp rcx
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1400c3c55
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
jmp 0x1400c3c61
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov edi, dword [rbx + rax*4 + 0x24]
mov r9d, r14d
mov dword [rsp + 0x20], edi
mov r8d, ebp
mov edx, 0x31
mov rcx, rsi
call fcn.1401089e0
mov r8d, dword [rsp + 0xb8]
xor r14d, r14d
mov r9d, edi
mov dword [rsp + 0x20], r14d
mov rcx, rsi
lea edx, [r14 + 0x6e]
call fcn.1401089e0
test edi, edi
je case.0x1400c3c43.4
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae case.0x1400c3c43.4
mov ecx, r14d
lea rax, [rbx + 0x88]
cmp dword [rax + 0xc], edi
je 0x1400c3cd2
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x1400c3cb6
mov dword [rbx + rdx*4 + 0x24], edi
inc byte [rbx + 0x1f]
jmp case.0x1400c3c43.4
mov byte [rax + 6], 1
jmp case.0x1400c3c43.4
mov r8d, dword [rsp + 0xb8]
mov r9d, ebp
mov edx, reloc.WS2_32.dll_WSAGetLastError
mov dword [rsp + 0x20], r14d
mov rcx, rsi
call fcn.1401089e0
jmp case.0x1400c3c43.4
mov edx, dword [rsp + 0x30]
mov ecx, dword [rbx + 0x44]
mov r15d, dword [rbx + 0x48]
lea r12d, [rdx + 1]
cmp r12d, ecx
jg 0x1400c3d20
lea eax, [r12 + r15]
sub ecx, r12d
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], ecx
jmp 0x1400c3d2d
mov eax, dword [rbx + 0x54]
lea r15d, [rax + 1]
add eax, r12d
mov dword [rbx + 0x54], eax
lea edi, [r15 + rdx]
mov r9d, r14d
mov edx, 0x31
mov dword [rsp + 0xb0], edi
mov r8d, ebp
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.1401089e0
cmp byte [rsp + 0x34], 6
mov r14d, dword [rsp + 0xb8]
jne 0x1400c3dec
mov r9d, dword [rsi + 0x3c]
lea r8d, [r14 + 1]
add r9d, 4
mov dword [rsp + 0x20], r15d
mov edx, 0x45
mov rcx, rsi
call fcn.1401089e0
mov r8, qword [rsi + 8]
mov rcx, qword [rsi]
test r8, r8
je 0x1400c3dd0
cmp byte [rcx + 0x51], 0
jne 0x1400c3dd0
test eax, eax
jns 0x1400c3d9b
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.140087680
mov qword [rdi + 0x10], 0
mov byte [rdi + 1], 0xf2
mov edi, dword [rsp + 0xb0]
nop word [rax + rax]
mov r9d, r15d
mov dword [rsp + 0x20], 0
lea r8d, [r14 + 1]
mov edx, WSASetLastError
mov rcx, rsi
call fcn.1401089e0
test r13, r13
je 0x1400c3e1f
mov eax, dword [rsp + 0x30]
mov r9d, edi
mov rbp, qword [rsp + 0xa8]
mov rdx, r13
mov dword [rsp + 0x28], eax
mov r8, rbp
mov rcx, rbx
mov dword [rsp + 0x20], 1
call fcn.1400bac50
jmp 0x1400c3ec5
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1400c3e2f
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
jmp 0x1400c3e3b
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov edi, dword [rbx + rax*4 + 0x24]
mov r9d, edi
mov dword [rsp + 0x20], 0
mov r8d, r14d
mov edx, 0x4a
mov rcx, rsi
call fcn.1401089e0
mov r9d, r15d
mov dword [rsp + 0x20], edi
mov r8d, r14d
mov edx, 0x4b
mov rcx, rsi
call fcn.1401089e0
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x1400c3e83
movsxd rax, dword [rsi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 8
test edi, edi
je 0x1400c3ebd
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae 0x1400c3ebd
xor ecx, ecx
lea rax, [rbx + 0x88]
nop dword [rax]
cmp dword [rax + 0xc], edi
je 0x1400c3eb9
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x1400c3ea0
mov dword [rbx + rdx*4 + 0x24], edi
inc byte [rbx + 0x1f]
jmp 0x1400c3ebd
mov byte [rax + 6], 1
mov rbp, qword [rsp + 0xa8]
mov r8d, r12d
mov edx, r15d
mov rcx, rbx
call fcn.1400da510
cmp r12d, dword [rbx + 0x44]
jle 0x1400c4401
mov dword [rbx + 0x44], r12d
mov dword [rbx + 0x48], r15d
jmp 0x1400c4401
mov rax, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xd0]
inc r12
mov rcx, qword [rax + 8]
movzx edx, byte [r12]
mov rcx, qword [rcx]
call fcn.1400d40c0
mov byte [r12], al
test r13, r13
jne 0x1400c40fc
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x1400c3f2c
inc dword [rbx + 0x54]
mov r15d, dword [rbx + 0x54]
jmp 0x1400c3f39
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov r15d, dword [rbx + rax*4 + 0x24]
mov r9d, 1
mov dword [rsp + 0x20], r15d
mov r8d, ebp
mov rcx, rsi
lea edx, [r9 + 0x30]
call fcn.1401089e0
mov r8, qword [rsi + 8]
mov rcx, qword [rsi]
test r8, r8
je 0x1400c4007
cmp byte [rcx + 0x51], 0
jne 0x1400c4007
test eax, eax
jns 0x1400c3f76
mov eax, dword [rsi + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea r14, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [r14 + 0x10]
call fcn.140087680
mov qword [r14 + 0x10], 0
test r12, r12
jne 0x1400c3fa2
mov byte [r14 + 1], r12b
jmp 0x1400c4007
mov rdi, qword [rsi]
mov eax, 2
test rdi, rdi
je 0x1400c3fd5
cmp byte [rdi + 0x51], 0
je 0x1400c3fb9
xor ecx, ecx
jmp 0x1400c3ffe
cmp byte [rdi + 0x152], 0
je 0x1400c3fd5
cmp ax, word [rdi + 0x150]
jbe 0x1400c4081
inc dword [rdi + 0x160]
mov rcx, rax
call fcn.1400f1360
mov rcx, rax
test rax, rax
jne 0x1400c3ff3
test rdi, rdi
je 0x1400c3fee
mov byte [rdi + 0x51], 1
test rax, rax
je 0x1400c3ffe
movzx eax, byte [r12]
mov byte [rcx], al
mov byte [rcx + 1], 0
mov qword [r14 + 0x10], rcx
mov byte [r14 + 1], 0xff
mov r8d, 1
mov edx, ebp
mov rcx, rbx
call fcn.1400da510
mov r8d, dword [rsp + 0xb8]
mov r9d, r15d
mov edx, WSASetLastError
mov dword [rsp + 0x20], 0
mov rcx, rsi
call fcn.1401089e0
mov edx, r15d
mov rcx, rbx
call fcn.1400fbb60
mov rbp, qword [rsp + 0xa8]
mov r8d, dword [rbp + 0xc]
test r8d, r8d
je 0x1400c4070
mov r9d, dword [rsp + 0xe0]
mov edx, 0x8c
mov rcx, rsi
mov dword [rsp + 0x20], 0
call fcn.1401089e0
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rcx, qword [rdi + 0x168]
test rcx, rcx
jne 0x1400c4098
inc dword [rdi + 0x164]
jmp 0x1400c3fd5
mov rax, qword [rcx]
mov qword [rdi + 0x168], rax
mov eax, dword [rdi + 0x154]
inc eax
mov dword [rdi + 0x154], eax
inc dword [rdi + 0x15c]
cmp eax, dword [rdi + 0x158]
jle 0x1400c3ff3
mov dword [rdi + 0x158], eax
jmp 0x1400c3ff3
mov r9d, dword [rsp + 0xb8]
mov edx, 0x19
mov rcx, rsi
mov dword [rsp + 0x20], 0
lea r8d, [rdx - 0x18]
call fcn.1401089e0
jmp case.0x1400c3c43.4
test r13, r13
je 0x1400c4042
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 1
mov r9d, ebp
mov r8, rdi
mov rdx, r13
mov rcx, rbx
call fcn.1400bac50
jmp 0x1400c4070
test r13, r13
je 0x1400c4136
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
jmp 0x1400c410c
mov dword [rsp + 0x20], 0
mov rcx, rsi
cmp r8b, 0xd
jne 0x1400c4164
mov rax, qword [rsp + 0xd0]
xor r9d, r9d
mov r8d, dword [rax + 4]
lea edx, [r9 + 0x16]
call fcn.1401089e0
jmp 0x1400c4042
mov r9d, r14d
mov r8d, ebp
mov edx, 0x23
call fcn.1401089e0
mov r8d, r14d
mov edx, ebp
mov rcx, rbx
call fcn.1400da510
jmp 0x1400c4042
mov rax, qword [rsp + 0xd0]
mov dword [rsp + 0xc8], 0
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x40], rax
mov edx, dword [rax]
movzx eax, byte [rbx + 0x1f]
mov dword [rsp + 0x3c], edx
test al, al
jne 0x1400c41b9
inc dword [rbx + 0x54]
mov r15d, dword [rbx + 0x54]
jmp 0x1400c41c6
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov r15d, dword [rbx + rax*4 + 0x24]
mov ecx, dword [rbx + 0x44]
lea r13d, [rdx + 2]
mov edi, dword [rbx + 0x48]
mov dword [rsp + 0xb0], edi
cmp r13d, ecx
jg 0x1400c41eb
lea eax, [rdi + r13]
sub ecx, r13d
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], ecx
jmp 0x1400c41fe
mov eax, dword [rbx + 0x54]
lea edi, [rax + 1]
add eax, r13d
mov dword [rbx + 0x54], eax
mov dword [rsp + 0xb0], edi
mov ecx, dword [rsp + 0xb8]
lea eax, [rdi + rdx]
mov dword [rsp + 0xd0], eax
inc eax
cmp r8b, 8
jne 0x1400c42ac
xor r9d, r9d
mov dword [rsp + 0x28], r14d
lea r8d, [rcx + 1]
mov dword [rsp + 0x20], ebp
mov rcx, rsi
lea edx, [r9 + 0x45]
call fcn.140108a80
mov r12d, eax
mov dword [rsp + 0xc8], eax
mov eax, dword [rsp + 0xd0]
mov r9d, r14d
inc eax
mov r8d, ebp
mov edx, 0x31
mov dword [rsp + 0x20], eax
mov rcx, rsi
call fcn.1401089e0
mov r9d, dword [rsp + 0xd0]
mov edx, WSASetLastError
mov r8d, dword [rsp + 0xb8]
inc r9d
inc r8d
mov dword [rsp + 0x20], 0
mov rcx, rsi
call fcn.1401089e0
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x1400c42c3
movsxd rax, dword [rsi + 0x3c]
mov dword [rsp + 0xc8], r12d
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x10
jmp 0x1400c42c3
mov r9d, r14d
mov dword [rsp + 0x20], eax
mov r8d, ebp
mov edx, 0x31
mov rcx, rsi
call fcn.1401089e0
movsxd r12, dword [rsp + 0x3c]
test r12, r12
jle 0x1400c4324
mov r14d, dword [rsp + 0xb0]
xor edi, edi
mov rbx, qword [rsp + 0x40]
nop dword [rax]
mov rax, qword [rbx + 8]
lea r8d, [rbp - 1]
mov r9d, r14d
mov dword [rsp + 0x20], 0
mov edx, 0x22
movzx ecx, word [rdi + rax + 0x20]
add r8d, ecx
mov rcx, rsi
call fcn.1401089e0
inc r14d
lea rdi, [rdi + 0x28]
sub r12, 1
jne 0x1400c42e0
mov rbx, qword [rsp + 0xa0]
mov edi, dword [rsp + 0xb0]
mov r9d, dword [rsp + 0xd0]
xor r14d, r14d
mov r8d, dword [rsp + 0xb8]
mov rcx, rsi
mov dword [rsp + 0x20], r14d
lea edx, [r14 + 0x49]
call fcn.1401089e0
mov r9d, r13d
mov dword [rsp + 0x20], r15d
mov r8d, edi
lea edx, [r14 + 0x31]
mov rcx, rsi
call fcn.1401089e0
mov r8d, dword [rsp + 0xb8]
lea edx, [r14 + 0x6e]
mov r9d, r15d
mov dword [rsp + 0x20], r14d
mov rcx, rsi
call fcn.1401089e0
mov eax, dword [rsp + 0xc8]
test eax, eax
je 0x1400c43a6
mov edx, dword [rsi + 0x3c]
cmp edx, eax
jbe 0x1400c439c
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 8]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
lea ecx, [rdx - 1]
mov dword [rax + 0x64], ecx
test r15d, r15d
je 0x1400c43df
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae 0x1400c43df
mov ecx, r14d
lea rax, [rbx + 0x88]
nop
cmp dword [rax + 0xc], r15d
je 0x1400c43db
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x1400c43c0
mov dword [rbx + rdx*4 + 0x24], r15d
inc byte [rbx + 0x1f]
jmp 0x1400c43df
mov byte [rax + 6], 1
mov r8d, r13d
mov edx, edi
mov rcx, rbx
call fcn.1400da510
cmp r13d, dword [rbx + 0x44]
jle case.0x1400c3c43.4
mov dword [rbx + 0x44], r13d
mov dword [rbx + 0x48], edi
mov rbp, qword [rsp + 0xa8]
cmp qword [rsp + 0xc0], 0
jne 0x1400c4070
jmp 0x1400c404a