Function at 0x140166b40
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 0x140166b85
mov r9, qword [rsp + 0xf0]
mov r8, rax
add rsp, 0xb0
pop r14
pop rsi
pop rbp
jmp fcn.1401671e0
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x88], r15
mov r15, qword [rsp + 0xf0]
mov rcx, r15
call fcn.1400f4c10
mov rcx, r15
call fcn.1400f4980
mov r13, rax
test rax, rax
je 0x140166e39
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.1400c4690
test rax, rax
je 0x140166e31
mov qword [rsp + 0xa0], rdi
mov r8d, esi
mov dword [r13 + 8], ebx
test ebx, ebx
jle 0x140166c45
cmp ebx, 2
jb 0x140166c45
mov rdi, qword [r13]
lea eax, [rbx - 1]
movsxd rcx, eax
lea rax, [rdi + rcx*8]
cmp rdi, r13
ja 0x140166c10
cmp rax, r13
jae 0x140166c45
mov eax, ebx
and eax, 0x80000001
jge 0x140166c20
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, ebx
sub ecx, eax
add r8d, 2
cmp r8d, ecx
jl 0x140166c24
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 0x140166c60
mov rax, qword [r13]
mov qword [rax + rcx*8], rsi
inc rcx
cmp rcx, rdx
jl 0x140166c50
mov ecx, dword [rbp + 8]
mov eax, esi
mov dword [rsp + 0xd8], eax
test ecx, ecx
jle 0x140166dff
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 0x140166cac
mov r8, qword [rdx + rdi - 8]
mov edx, dword [r14 + 8]
mov ebp, esi
mov qword [rsp + 0x28], r8
test edx, edx
jle 0x140166dba
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 0x140166cec
mov rdi, rsi
jmp 0x140166cf4
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.140167be0
mov r9, qword [rsp + 0x58]
lea rdx, [rsp + 0x38]
mov r8, qword [rsp + 0x20]
lea rcx, [rsp + 0x40]
call fcn.140167be0
xor rdi, qword [rsp + 0x20]
lea rdx, [rsp + 0x70]
mov r9, qword [rsp + 0x60]
lea rcx, [rsp + 0x68]
mov r8, rdi
call fcn.140167be0
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 0x140166cd0
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 0x140166c90
mov r15, qword [rsp + 0xf0]
mov r12, qword [rsp + 0x98]
mov rcx, r13
call fcn.1400c4500
mov r8, qword [rsp + 0xe8]
mov rdx, r13
mov rcx, qword [rsp + 0xd0]
call fcn.140166030
mov rdi, qword [rsp + 0xa0]
test eax, eax
mov ecx, 1
cmovne esi, ecx
mov rbx, qword [rsp + 0xa8]
mov rcx, r15
call fcn.1400f4850
mov r15, qword [rsp + 0x88]
mov eax, esi
mov r13, qword [rsp + 0x90]
add rsp, 0xb0
pop r14
pop rsi
pop rbp
ret