Function at 0x14015e630
Capabilities:
Inspect section memory permissions

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rdi
push r14
mov eax, 0xa0
call fcn.1401e5730
sub rsp, rax
xor edi, edi
mov rax, r9
mov rbp, r8
mov r14, rdx
cmp rdx, r8
jne 0x14015e67b
mov r9, qword [rsp + 0xe0]
mov r8, rax
add rsp, 0xa0
pop r14
pop rdi
pop rbp
jmp fcn.14015ed00
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x78], r15
mov r15, qword [rsp + 0xe0]
mov rcx, r15
call fcn.1400cc910
mov rcx, r15
call fcn.1400cc630
mov r12, rax
test rax, rax
je 0x14015e92a
mov edx, dword [rbp + 8]
mov rcx, rax
add edx, 4
mov qword [rsp + 0x90], rsi
mov esi, dword [r14 + 8]
add esi, edx
mov edx, esi
call fcn.140038810
test rax, rax
je 0x14015e922
mov qword [rsp + 0x98], rbx
mov ebx, edi
mov dword [r12 + 8], esi
test esi, esi
jle 0x14015e73b
cmp esi, 2
jb 0x14015e73b
mov r9, qword [r12]
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [r9 + rcx*8]
cmp r9, r12
ja 0x14015e703
cmp rax, r12
jae 0x14015e73b
mov eax, esi
and eax, 0x80000001
jge 0x14015e713
dec eax
or eax, 0xfffffffe
inc eax
mov edx, esi
sub edx, eax
add ebx, 2
cmp ebx, edx
jl 0x14015e717
lea eax, [rdx + 1]
mov rcx, r9
cdq
sub eax, edx
xor edx, edx
sar eax, 1
movsxd r8, eax
shl r8, 4
and r8, 0xfffffffffffffff8
call sub.msvcrt.dll_memset
movsxd rcx, ebx
movsxd rdx, esi
cmp rcx, rdx
jge 0x14015e760
nop word [rax + rax]
mov rax, qword [r12]
mov qword [rax + rcx*8], rdi
inc rcx
cmp rcx, rdx
jl 0x14015e750
mov ecx, dword [rbp + 8]
mov eax, edi
mov dword [rsp + 0xc8], eax
test ecx, ecx
jle 0x14015e8f0
mov qword [rsp + 0x80], r13
mov r13d, reloc.WS2_32.dll_recv
mov qword [rsp + 0x28], r13
lea r15, [r13 - 0x20]
nop dword [rax + rax]
mov rdx, qword [rbp]
inc eax
cmp eax, ecx
mov rax, rdi
mov r8, qword [rdx + r13 - 0x10]
mov qword [rsp + 0x30], r8
je 0x14015e7ac
mov rax, qword [rdx + r13 - 8]
mov edx, dword [r14 + 8]
mov ebp, edi
mov qword [rsp + 0x20], rax
test edx, edx
jle 0x14015e8af
xor rax, r8
mov rsi, r13
mov r13, qword [rsp + 0x20]
mov qword [rsp + 0x38], rax
nop
mov rcx, qword [r14]
mov rbx, rdi
add rcx, rsi
mov rax, qword [rcx + r15]
mov qword [rsp + 0x20], rax
lea eax, [rbp + 1]
cmp eax, edx
je 0x14015e7ee
mov rbx, qword [rcx + r15 + 8]
mov r9, r13
lea rdx, [rsp + 0x60]
mov r8, rbx
lea rcx, [rsp + 0x68]
call fcn.14015f750
mov r9, qword [rsp + 0x30]
lea rdx, [rsp + 0x50]
mov r8, qword [rsp + 0x20]
lea rcx, [rsp + 0x58]
call fcn.14015f750
xor rbx, qword [rsp + 0x20]
lea rdx, [rsp + 0x48]
mov r9, qword [rsp + 0x38]
lea rcx, [rsp + 0x40]
mov r8, rbx
call fcn.14015f750
mov r10, qword [rsp + 0x68]
add ebp, 2
mov rax, qword [rsp + 0x58]
xor rax, qword [rsp + 0x40]
mov r9, qword [rsp + 0x60]
xor rax, r10
mov rcx, qword [rsp + 0x50]
xor r9, rax
mov rax, qword [r12]
mov r8, r9
xor r8, rcx
mov qword [rsp + 0x60], r9
xor r8, qword [rsp + 0x40]
xor r8, qword [rsp + 0x48]
xor qword [rsi + rax - 0x10], rcx
xor r8, r10
mov rax, qword [r12]
mov qword [rsp + 0x58], r8
xor qword [rsi + rax - 8], r8
mov rax, qword [r12]
xor qword [rsi + rax], r9
mov rax, qword [r12]
xor qword [rsi + rax + 8], r10
add rsi, 0x10
mov edx, dword [r14 + 8]
cmp ebp, edx
jl 0x14015e7d0
mov r13, qword [rsp + 0x28]
mov eax, dword [rsp + 0xc8]
add r13, 0x10
mov rbp, qword [rsp + 0xd0]
add eax, 2
sub r15, 0x10
mov dword [rsp + 0xc8], eax
mov qword [rsp + 0x28], r13
mov ecx, dword [rbp + 8]
cmp eax, ecx
jl 0x14015e790
mov r13, qword [rsp + 0x80]
mov r15, qword [rsp + 0xe0]
mov rcx, r12
call fcn.1400385c0
mov r8, qword [rsp + 0xd8]
mov rdx, r12
mov rcx, qword [rsp + 0xc0]
call fcn.14015da60
mov rbx, qword [rsp + 0x98]
test eax, eax
mov ecx, 1
cmovne edi, ecx
mov rsi, qword [rsp + 0x90]
mov rcx, r15
call fcn.1400cc4f0
mov r15, qword [rsp + 0x78]
mov eax, edi
mov r12, qword [rsp + 0x88]
add rsp, 0xa0
pop r14
pop rdi
pop rbp
ret