Function at 0x1400c1ad0
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 0x1400c1afd
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 0x1400c1b3b
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 0x1400c1b60
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 0x1400c1d09
mov r15, qword [0x1402e6b48]
cmp esi, 0xb0
jle 0x1400c1c3e
mov rcx, r15
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400c1beb
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 [0x1402e6b50]
mov qword [rdi + 0x50], rbx
call fcn.1401e3610
mov rcx, qword [0x1402e6b58]
mov rbx, rax
call fcn.1401e3610
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 0x1400c1cd7
test r14b, 2
je 0x1400c1c9f
mov rcx, r15
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400c1c93
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 0x1400c1cd7
mov rcx, r15
call fcn.1401e3610
mov rdi, rax
test rax, rax
je 0x1400c1ccd
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 0x1400c1d2e
cmp eax, r13d
jl 0x1400c1d1f
sub esi, eax
test rbp, rbp
je 0x1400c1cee
mov qword [rbp], rdi
jmp 0x1400c1cf1
mov r12, rdi
and r14d, 0xfffffffd
mov rbp, rdi
test esi, esi
jg 0x1400c1b90
mov r15d, dword [rsp + 0x24]
mov edi, dword [rsp + 0x28]
test r14b, 4
je 0x1400c1d13
or dword [rbp + 0x1c], 4
test r12, r12
jne 0x1400c1d42
xor eax, eax
jmp 0x1400c1dcb
mov rcx, rdi
call fcn.140077120
xor eax, eax
jmp 0x1400c1dcb
test r12, r12
je 0x1400c1d18
mov rcx, r12
call fcn.140077120
xor eax, eax
jmp 0x1400c1dcb
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 0x1400c1dc3
movzx edi, di
lea rcx, [rbx + 0xc]
mov r8, rdi
call fcn.1401e3ed0
xor eax, eax
cmp ax, r15w
jae 0x1400c1dc3
mov r8d, dword [rsp + 0x2c]
lea rcx, [rdi + rbx + 0xc]
xor edx, edx
call fcn.1401e42d0
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