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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rdx
mov word [rsp + 8], cx
push rbx
sub rsp, 0x70
mov rbx, rdx
movzx edx, cx
test cx, cx
je 0x140097e35
test rbx, rbx
je 0x140097e35
or rcx, 0xffffffffffffffff
mov qword [r11 - 0x20], rdi
xor eax, eax
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
dec rcx
mov qword [rsp + 0x28], rcx
cmp rcx, 0xfffb
ja 0x140097e11
mov qword [r11 - 0x10], rbp
mov qword [r11 - 0x18], rsi
mov qword [r11 - 0x28], r12
xor esi, esi
mov qword [r11 - 0x30], r13
mov qword [r11 - 0x38], r14
mov qword [r11 - 0x40], r15
lea r15d, [rcx + 4]
mov r13, rsi
movzx eax, r15w
mov r12, rsi
mov r14d, esi
mov word [rsp + 0x90], r15w
mov dword [rsp + 0x20], eax
mov ebp, eax
mov edi, eax
mov dword [rsp + 0x98], eax
test eax, eax
jle 0x140097dab
mov r15, qword [0x1402e8788]
cmp ebp, 0xb0
jle 0x140097cc5
mov rcx, r15
call fcn.1401e6440
mov rbx, rax
test rax, rax
je 0x140097c6d
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov dword [rax + 0x18], esi
mov dword [rax + 0x1c], 2
mov eax, 1
mov qword [rbx + 0x28], rsi
mov word [rbx + 0x20], ax
lea rax, [rbx + 0x50]
mov dword [rbx + 0x38], esi
mov qword [rbx + 0x30], rsi
mov dword [rbx + 0x3c], esi
mov dword [rbx + 0x40], esi
mov qword [rbx + 0x10], rax
mov word [rbx + 0x44], si
mov word [rbx + 0x46], si
mov qword [rbx + 0x48], rsi
mov rcx, qword [0x1402e8790]
mov qword [rbx + 0x50], rsi
call fcn.1401e6440
mov rcx, qword [0x1402e8798]
mov rdi, rax
call fcn.1401e6440
mov ecx, 1
mov dword [rax], ecx
or dword [rbx + 0x1c], ecx
mov qword [rbx + 0x50], rdi
mov qword [rbx + 0x10], rdi
mov edi, dword [rsp + 0x98]
mov qword [rbx + 0x70], rax
mov eax, 0x800
mov qword [rbx + 0x58], rsi
mov qword [rbx + 0x60], rsi
mov dword [rbx + 0x68], 0x800
mov dword [rbx + 0x78], ecx
jmp 0x140097d5e
test r14b, 2
je 0x140097d26
mov rcx, r15
call fcn.1401e6440
mov rbx, rax
test rax, rax
je 0x140097d1a
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov dword [rax + 0x18], esi
mov dword [rax + 0x1c], 2
mov eax, 1
mov qword [rbx + 0x28], rsi
mov word [rbx + 0x20], ax
lea rax, [rbx + 0x50]
mov dword [rbx + 0x38], esi
mov qword [rbx + 0x30], rsi
mov dword [rbx + 0x3c], esi
mov dword [rbx + 0x40], esi
mov qword [rbx + 0x10], rax
mov word [rbx + 0x44], si
mov word [rbx + 0x46], si
mov qword [rbx + 0x48], rsi
mov eax, 0xb0
cmp ebp, eax
cmovl eax, ebp
jmp 0x140097d5e
mov rcx, r15
call fcn.1401e6440
mov rbx, rax
test rax, rax
je 0x140097d54
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov dword [rax + 0x18], esi
mov dword [rax + 0x1c], esi
mov eax, 1
mov word [rbx + 0x20], ax
lea rax, [rbx + 0x28]
mov qword [rbx + 0x10], rax
mov eax, 0xd8
cmp ebp, eax
cmovl eax, ebp
test rbx, rbx
je 0x140097e26
cmp eax, edi
jl 0x140097e1c
sub ebp, eax
test r12, r12
je 0x140097d7c
mov qword [r12], rbx
jmp 0x140097d7f
mov r13, rbx
and r14d, 0xfffffffd
mov r12, rbx
test ebp, ebp
jg 0x140097c12
mov rbx, qword [rsp + 0x88]
movzx r15d, word [rsp + 0x90]
mov dx, word [rsp + 0x80]
mov eax, dword [rsp + 0x20]
test r14b, 4
je 0x140097db7
or dword [r12 + 0x1c], 4
test r13, r13
je 0x140097df0
mov rdi, qword [r13 + 0x10]
movzx ecx, dx
mov rsi, r13
mov dword [r13 + 0x18], eax
call sub.WS2_32.dll_htons
movzx ecx, r15w
mov word [rdi], ax
call sub.WS2_32.dll_htons
mov r8, qword [rsp + 0x28]
lea rcx, [rdi + 4]
mov rdx, rbx
mov word [rdi + 2], ax
call fcn.1401e75a0
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x68]
mov rax, rsi
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
add rsp, 0x70
pop rbx
ret
mov rcx, rbx
call fcn.1400795b0
jmp 0x140097df0
test r13, r13
je 0x140097df0
mov rcx, r13
call fcn.1400795b0
jmp 0x140097df0
xor eax, eax
add rsp, 0x70
pop rbx
ret