Function at 0x14015f4c0
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.1401e6580
sub rsp, rax
xor edi, edi
mov rax, r9
mov rbp, r8
mov r14, rdx
cmp rdx, r8
jne 0x14015f50b
mov r9, qword [rsp + 0xe0]
mov r8, rax
add rsp, 0xa0
pop r14
pop rdi
pop rbp
jmp fcn.14015fb90
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x78], r15
mov r15, qword [rsp + 0xe0]
mov rcx, r15
call fcn.1400cd760
mov rcx, r15
call fcn.1400cd480
mov r12, rax
test rax, rax
je 0x14015f7ba
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.140039600
test rax, rax
je 0x14015f7b2
mov qword [rsp + 0x98], rbx
mov ebx, edi
mov dword [r12 + 8], esi
test esi, esi
jle 0x14015f5cb
cmp esi, 2
jb 0x14015f5cb
mov r9, qword [r12]
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [r9 + rcx*8]
cmp r9, r12
ja 0x14015f593
cmp rax, r12
jae 0x14015f5cb
mov eax, esi
and eax, 0x80000001
jge 0x14015f5a3
dec eax
or eax, 0xfffffffe
inc eax
mov edx, esi
sub edx, eax
add ebx, 2
cmp ebx, edx
jl 0x14015f5a7
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 0x14015f5f0
nop word [rax + rax]
mov rax, qword [r12]
mov qword [rax + rcx*8], rdi
inc rcx
cmp rcx, rdx
jl 0x14015f5e0
mov ecx, dword [rbp + 8]
mov eax, edi
mov dword [rsp + 0xc8], eax
test ecx, ecx
jle 0x14015f780
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 0x14015f63c
mov rax, qword [rdx + r13 - 8]
mov edx, dword [r14 + 8]
mov ebp, edi
mov qword [rsp + 0x20], rax
test edx, edx
jle 0x14015f73f
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 0x14015f67e
mov rbx, qword [rcx + r15 + 8]
mov r9, r13
lea rdx, [rsp + 0x60]
mov r8, rbx
lea rcx, [rsp + 0x68]
call fcn.1401605e0
mov r9, qword [rsp + 0x30]
lea rdx, [rsp + 0x50]
mov r8, qword [rsp + 0x20]
lea rcx, [rsp + 0x58]
call fcn.1401605e0
xor rbx, qword [rsp + 0x20]
lea rdx, [rsp + 0x48]
mov r9, qword [rsp + 0x38]
lea rcx, [rsp + 0x40]
mov r8, rbx
call fcn.1401605e0
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 0x14015f660
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 0x14015f620
mov r13, qword [rsp + 0x80]
mov r15, qword [rsp + 0xe0]
mov rcx, r12
call fcn.1400393b0
mov r8, qword [rsp + 0xd8]
mov rdx, r12
mov rcx, qword [rsp + 0xc0]
call fcn.14015e8f0
mov rbx, qword [rsp + 0x98]
test eax, eax
mov ecx, 1
cmovne edi, ecx
mov rsi, qword [rsp + 0x90]
mov rcx, r15
call fcn.1400cd340
mov r15, qword [rsp + 0x78]
mov eax, edi
mov r12, qword [rsp + 0x88]
add rsp, 0xa0
pop r14
pop rdi
pop rbp
ret