Function at 0x140166ba0
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 0x140166be5
mov r9, qword [rsp + 0xf0]
mov r8, rax
add rsp, 0xb0
pop r14
pop rsi
pop rbp
jmp fcn.140167240
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x88], r15
mov r15, qword [rsp + 0xf0]
mov rcx, r15
call fcn.1400f4c70
mov rcx, r15
call fcn.1400f49e0
mov r13, rax
test rax, rax
je 0x140166e99
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.1400c46f0
test rax, rax
je 0x140166e91
mov qword [rsp + 0xa0], rdi
mov r8d, esi
mov dword [r13 + 8], ebx
test ebx, ebx
jle 0x140166ca5
cmp ebx, 2
jb 0x140166ca5
mov rdi, qword [r13]
lea eax, [rbx - 1]
movsxd rcx, eax
lea rax, [rdi + rcx*8]
cmp rdi, r13
ja 0x140166c70
cmp rax, r13
jae 0x140166ca5
mov eax, ebx
and eax, 0x80000001
jge 0x140166c80
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, ebx
sub ecx, eax
add r8d, 2
cmp r8d, ecx
jl 0x140166c84
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 0x140166cc0
mov rax, qword [r13]
mov qword [rax + rcx*8], rsi
inc rcx
cmp rcx, rdx
jl 0x140166cb0
mov ecx, dword [rbp + 8]
mov eax, esi
mov dword [rsp + 0xd8], eax
test ecx, ecx
jle 0x140166e5f
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 0x140166d0c
mov r8, qword [rdx + rdi - 8]
mov edx, dword [r14 + 8]
mov ebp, esi
mov qword [rsp + 0x28], r8
test edx, edx
jle 0x140166e1a
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 0x140166d4c
mov rdi, rsi
jmp 0x140166d54
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.140167c40
mov r9, qword [rsp + 0x58]
lea rdx, [rsp + 0x38]
mov r8, qword [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.140167c40
xor rdi, qword [rsp + 0x20]
lea rdx, [rsp + 0x70]
mov r9, qword [rsp + 0x60]
lea rcx, [rsp + 0x68]
mov r8, rdi
call fcn.140167c40
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 0x140166d30
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 0x140166cf0
mov r15, qword [rsp + 0xf0]
mov r12, qword [rsp + 0x98]
mov rcx, r13
call fcn.1400c4560
mov r8, qword [rsp + 0xe8]
mov rdx, r13
mov rcx, qword [rsp + 0xd0]
call fcn.140166090
mov rdi, qword [rsp + 0xa0]
test eax, eax
mov ecx, 1
cmovne esi, ecx
mov rbx, qword [rsp + 0xa8]
mov rcx, r15
call fcn.1400f48b0
mov r15, qword [rsp + 0x88]
mov eax, esi
mov r13, qword [rsp + 0x90]
add rsp, 0xb0
pop r14
pop rsi
pop rbp
ret