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

Disassembly:
mov qword [rsp + 0x18], r8
mov word [rsp + 0x10], dx
mov dword [rsp + 8], ecx
push rbx
push rdi
push r13
push r15
sub rsp, 0x58
mov di, r9w
xor ebx, ebx
mov dword [rsp + 0x28], edi
test r8, r8
jne 0x1400c3f8d
mov edi, ebx
mov dword [rsp + 0x28], ebx
lea eax, [rdi + 4]
mov word [rsp + 0x20], ax
lea r8d, [rax + 8]
movzx eax, di
cdq
mov word [rsp + 0x98], r8w
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov r15d, eax
mov dword [rsp + 0x24], eax
test ax, ax
je 0x1400c3fcb
mov r15d, 4
sub r15w, ax
mov dword [rsp + 0x24], r15d
movzx eax, r15w
movzx r13d, r8w
add r13d, eax
mov dword [rsp + 0x2c], eax
cmp r13d, 0xd8
jbe 0x1400c3ff0
xor eax, eax
add rsp, 0x58
pop r15
pop r13
pop rdi
pop rbx
ret
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r14
mov esi, r13d
mov r12, rbx
mov rbp, rbx
mov r14d, ebx
test r13d, r13d
jle 0x1400c4199
mov r15, qword [0x1402e8788]
cmp esi, 0xb0
jle 0x1400c40ce
mov rcx, r15
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400c407b
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov dword [rax + 0x18], ebx
mov dword [rax + 0x1c], 2
mov eax, 1
mov qword [rdi + 0x28], rbx
mov word [rdi + 0x20], ax
lea rax, [rdi + 0x50]
mov dword [rdi + 0x38], ebx
mov qword [rdi + 0x30], rbx
mov dword [rdi + 0x3c], ebx
mov dword [rdi + 0x40], ebx
mov qword [rdi + 0x10], rax
mov word [rdi + 0x44], bx
mov word [rdi + 0x46], bx
mov qword [rdi + 0x48], rbx
mov rcx, qword [0x1402e8790]
mov qword [rdi + 0x50], rbx
call fcn.1401e6440
mov rcx, qword [0x1402e8798]
mov rbx, rax
call fcn.1401e6440
mov ecx, 1
mov dword [rax], ecx
or dword [rdi + 0x1c], ecx
mov qword [rdi + 0x50], rbx
mov qword [rdi + 0x10], rbx
xor ebx, ebx
mov qword [rdi + 0x70], rax
mov dword [rdi + 0x68], 0x800
mov dword [rdi + 0x78], ecx
mov eax, 0x800
mov qword [rdi + 0x58], rbx
mov qword [rdi + 0x60], rbx
jmp 0x1400c4167
test r14b, 2
je 0x1400c412f
mov rcx, r15
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400c4123
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov dword [rax + 0x18], ebx
mov dword [rax + 0x1c], 2
mov eax, 1
mov qword [rdi + 0x28], rbx
mov word [rdi + 0x20], ax
lea rax, [rdi + 0x50]
mov dword [rdi + 0x38], ebx
mov qword [rdi + 0x30], rbx
mov dword [rdi + 0x3c], ebx
mov dword [rdi + 0x40], ebx
mov qword [rdi + 0x10], rax
mov word [rdi + 0x44], bx
mov word [rdi + 0x46], bx
mov qword [rdi + 0x48], rbx
mov eax, 0xb0
cmp esi, eax
cmovl eax, esi
jmp 0x1400c4167
mov rcx, r15
call fcn.1401e6440
mov rdi, rax
test rax, rax
je 0x1400c415d
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov dword [rax + 0x18], ebx
mov dword [rax + 0x1c], ebx
mov eax, 1
mov word [rdi + 0x20], ax
lea rax, [rdi + 0x28]
mov qword [rdi + 0x10], rax
mov eax, 0xd8
cmp esi, eax
cmovl eax, esi
test rdi, rdi
je 0x1400c41be
cmp eax, r13d
jl 0x1400c41af
sub esi, eax
test rbp, rbp
je 0x1400c417e
mov qword [rbp], rdi
jmp 0x1400c4181
mov r12, rdi
and r14d, 0xfffffffd
mov rbp, rdi
test esi, esi
jg 0x1400c4020
mov r15d, dword [rsp + 0x24]
mov edi, dword [rsp + 0x28]
test r14b, 4
je 0x1400c41a3
or dword [rbp + 0x1c], 4
test r12, r12
jne 0x1400c41d2
xor eax, eax
jmp 0x1400c425b
mov rcx, rdi
call fcn.1400795b0
xor eax, eax
jmp 0x1400c425b
test r12, r12
je 0x1400c41a8
mov rcx, r12
call fcn.1400795b0
xor eax, eax
jmp 0x1400c425b
mov rbx, qword [r12 + 0x10]
mov ecx, 0xc003
call sub.WS2_32.dll_htons
movzx ecx, word [rsp + 0x98]
mov word [rbx], ax
call sub.WS2_32.dll_htons
movzx ecx, word [rsp + 0x88]
mov word [rbx + 2], ax
mov eax, dword [rsp + 0x80]
mov dword [rbx + 4], eax
call sub.WS2_32.dll_htons
movzx ecx, word [rsp + 0x20]
mov word [rbx + 8], ax
call sub.WS2_32.dll_htons
mov rdx, qword [rsp + 0x90]
mov word [rbx + 0xa], ax
test rdx, rdx
je 0x1400c4253
movzx edi, di
lea rcx, [rbx + 0xc]
mov r8, rdi
call fcn.1401e75a0
xor eax, eax
cmp ax, r15w
jae 0x1400c4253
mov r8d, dword [rsp + 0x2c]
lea rcx, [rdi + rbx + 0xc]
xor edx, edx
call fcn.1401e6750
mov dword [r12 + 0x18], r13d
mov rax, r12
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov r14, qword [rsp + 0x38]
add rsp, 0x58
pop r15
pop r13
pop rdi
pop rbx
ret