Function at 0x1401657e0
Capabilities:
Inspect section memory permissions

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push r14
sub rsp, 0xb0
xor esi, esi
mov rax, r9
mov rbp, r8
mov r14, rdx
cmp rdx, r8
jne 0x140165825
mov r9, qword [rsp + 0xf0]
mov r8, rax
add rsp, 0xb0
pop r14
pop rsi
pop rbp
jmp fcn.140165e80
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x88], r15
mov r15, qword [rsp + 0xf0]
mov rcx, r15
call fcn.1400f4e80
mov rcx, r15
call fcn.1400f4bf0
mov r13, rax
test rax, rax
je 0x140165ad9
mov edx, dword [rbp + 8]
mov rcx, rax
add edx, 4
mov qword [rsp + 0xa8], rbx
mov ebx, dword [r14 + 8]
add ebx, edx
mov edx, ebx
call fcn.1400c3720
test rax, rax
je 0x140165ad1
mov qword [rsp + 0xa0], rdi
mov r8d, esi
mov dword [r13 + 8], ebx
test ebx, ebx
jle 0x1401658e5
cmp ebx, 2
jb 0x1401658e5
mov rdi, qword [r13]
lea eax, [rbx - 1]
movsxd rcx, eax
lea rax, [rdi + rcx*8]
cmp rdi, r13
ja 0x1401658b0
cmp rax, r13
jae 0x1401658e5
mov eax, ebx
and eax, 0x80000001
jge 0x1401658c0
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, ebx
sub ecx, eax
add r8d, 2
cmp r8d, ecx
jl 0x1401658c4
lea eax, [rcx + 1]
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
shl rcx, 4
shr rcx, 3
xor eax, eax
rep stosq qword [rdi], rax
movsxd rcx, r8d
movsxd rdx, ebx
cmp rcx, rdx
jge 0x140165900
mov rax, qword [r13]
mov qword [rax + rcx*8], rsi
inc rcx
cmp rcx, rdx
jl 0x1401658f0
mov ecx, dword [rbp + 8]
mov eax, esi
mov dword [rsp + 0xd8], eax
test ecx, ecx
jle 0x140165a9f
mov edi, reloc.WS2_32.dll_recv
mov qword [rsp + 0x98], r12
mov qword [rsp + 0x30], rdi
lea r12, [rdi - 0x20]
lea r15, [rdi - 0x18]
nop
mov rdx, qword [rbp]
inc eax
mov r8, rsi
mov r9, qword [rdx + rdi - 0x10]
mov qword [rsp + 0x58], r9
cmp eax, ecx
je 0x14016594c
mov r8, qword [rdx + rdi - 8]
mov edx, dword [r14 + 8]
mov ebp, esi
mov qword [rsp + 0x28], r8
test edx, edx
jle 0x140165a5a
mov rax, r8
mov rbx, rdi
xor rax, r9
mov qword [rsp + 0x60], rax
nop dword [rax]
mov rax, qword [r14]
lea rcx, [rbx + rax]
mov rcx, qword [rcx + r12]
mov qword [rsp + 0x20], rcx
lea ecx, [rbp + 1]
cmp ecx, edx
jne 0x14016598c
mov rdi, rsi
jmp 0x140165994
lea rcx, [rbx + rax]
mov rdi, qword [rcx + r15]
mov r9, r8
lea rdx, [rsp + 0x48]
mov r8, rdi
lea rcx, [rsp + 0x50]
call fcn.140166880
mov r9, qword [rsp + 0x58]
lea rdx, [rsp + 0x38]
mov r8, qword [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.140166880
xor rdi, qword [rsp + 0x20]
lea rdx, [rsp + 0x70]
mov r9, qword [rsp + 0x60]
lea rcx, [rsp + 0x68]
mov r8, rdi
call fcn.140166880
mov r9, qword [rsp + 0x50]
add ebp, 2
mov rax, qword [rsp + 0x40]
xor rax, qword [rsp + 0x68]
mov r8, qword [rsp + 0x48]
xor rax, r9
mov rcx, qword [rsp + 0x38]
xor r8, rax
mov rax, qword [r13]
mov rdi, r8
xor rdi, rcx
mov qword [rsp + 0x48], r8
xor rdi, qword [rsp + 0x68]
xor rdi, qword [rsp + 0x70]
xor qword [rax + rbx - 0x10], rcx
xor rdi, r9
mov rax, qword [r13]
mov qword [rsp + 0x40], rdi
xor qword [rax + rbx - 8], rdi
mov rax, qword [r13]
xor qword [rbx + rax], r8
mov rax, qword [r13]
mov r8, qword [rsp + 0x28]
xor qword [rax + rbx + 8], r9
add rbx, 0x10
mov edx, dword [r14 + 8]
cmp ebp, edx
jl 0x140165970
mov rdi, qword [rsp + 0x30]
mov eax, dword [rsp + 0xd8]
add rdi, 0x10
mov rbp, qword [rsp + 0xe0]
add eax, 2
sub r15, 0x10
mov dword [rsp + 0xd8], eax
sub r12, 0x10
mov qword [rsp + 0x30], rdi
mov ecx, dword [rbp + 8]
cmp eax, ecx
jl 0x140165930
mov r15, qword [rsp + 0xf0]
mov r12, qword [rsp + 0x98]
mov rcx, r13
call fcn.1400c3590
mov r8, qword [rsp + 0xe8]
mov rdx, r13
mov rcx, qword [rsp + 0xd0]
call fcn.140164cd0
mov rdi, qword [rsp + 0xa0]
test eax, eax
mov ecx, 1
cmovne esi, ecx
mov rbx, qword [rsp + 0xa8]
mov rcx, r15
call fcn.1400f4ac0
mov r15, qword [rsp + 0x88]
mov eax, esi
mov r13, qword [rsp + 0x90]
add rsp, 0xb0
pop r14
pop rsi
pop rbp
ret