Function at 0x14015f1b0
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.1401e62f0
sub rsp, rax
xor edi, edi
mov rax, r9
mov rbp, r8
mov r14, rdx
cmp rdx, r8
jne 0x14015f1fb
mov r9, qword [rsp + 0xe0]
mov r8, rax
add rsp, 0xa0
pop r14
pop rdi
pop rbp
jmp fcn.14015f880
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x78], r15
mov r15, qword [rsp + 0xe0]
mov rcx, r15
call fcn.1400cd440
mov rcx, r15
call fcn.1400cd160
mov r12, rax
test rax, rax
je 0x14015f4aa
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.140039370
test rax, rax
je 0x14015f4a2
mov qword [rsp + 0x98], rbx
mov ebx, edi
mov dword [r12 + 8], esi
test esi, esi
jle 0x14015f2bb
cmp esi, 2
jb 0x14015f2bb
mov r9, qword [r12]
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [r9 + rcx*8]
cmp r9, r12
ja 0x14015f283
cmp rax, r12
jae 0x14015f2bb
mov eax, esi
and eax, 0x80000001
jge 0x14015f293
dec eax
or eax, 0xfffffffe
inc eax
mov edx, esi
sub edx, eax
add ebx, 2
cmp ebx, edx
jl 0x14015f297
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 0x14015f2e0
nop word [rax + rax]
mov rax, qword [r12]
mov qword [rax + rcx*8], rdi
inc rcx
cmp rcx, rdx
jl 0x14015f2d0
mov ecx, dword [rbp + 8]
mov eax, edi
mov dword [rsp + 0xc8], eax
test ecx, ecx
jle 0x14015f470
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 0x14015f32c
mov rax, qword [rdx + r13 - 8]
mov edx, dword [r14 + 8]
mov ebp, edi
mov qword [rsp + 0x20], rax
test edx, edx
jle 0x14015f42f
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 0x14015f36e
mov rbx, qword [rcx + r15 + 8]
mov r9, r13
lea rdx, [rsp + 0x60]
mov r8, rbx
lea rcx, [rsp + 0x68]
call fcn.1401602d0
mov r9, qword [rsp + 0x30]
lea rdx, [rsp + 0x50]
mov r8, qword [rsp + 0x20]
lea rcx, [rsp + 0x58]
call fcn.1401602d0
xor rbx, qword [rsp + 0x20]
lea rdx, [rsp + 0x48]
mov r9, qword [rsp + 0x38]
lea rcx, [rsp + 0x40]
mov r8, rbx
call fcn.1401602d0
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 0x14015f350
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 0x14015f310
mov r13, qword [rsp + 0x80]
mov r15, qword [rsp + 0xe0]
mov rcx, r12
call fcn.140039120
mov r8, qword [rsp + 0xd8]
mov rdx, r12
mov rcx, qword [rsp + 0xc0]
call fcn.14015e5e0
mov rbx, qword [rsp + 0x98]
test eax, eax
mov ecx, 1
cmovne edi, ecx
mov rsi, qword [rsp + 0x90]
mov rcx, r15
call fcn.1400cd020
mov r15, qword [rsp + 0x78]
mov eax, edi
mov r12, qword [rsp + 0x88]
add rsp, 0xa0
pop r14
pop rdi
pop rbp
ret