Function at 0x140069d08
Capabilities:
Inspect section memory permissions

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
mov eax, 0x20
call fcn.14024eae0
sub rsp, rax
mov r15, rcx
mov rbp, r9
mov rcx, r9
mov r14, r8
mov rsi, rdx
xor ebx, ebx
call fcn.14005e124
mov rcx, rbp
call fcn.14005e1f8
mov rdi, rax
test rax, rax
je 0x14006a260
mov edx, dword [rsi + 8]
add edx, edx
cmp edx, dword [rax + 0xc]
jle 0x140069d6a
mov rcx, rax
call fcn.14005d6f4
test rax, rax
je 0x14006a260
mov eax, dword [rsi + 8]
mov r12d, 1
sub eax, r12d
movsxd r8, eax
js 0x14006a216
mov r9, r8
mov r11d, 0x80000000
shl r9, 4
mov rax, qword [rsi]
movabs r10, 0x200000000
mov rcx, qword [rax + r8*8]
mov rdx, rcx
mov rax, rcx
and rax, r10
shr rdx, 1
and rdx, r11
movabs r10, 0x400000000
or rdx, rax
mov rax, rcx
and rax, r10
shr rdx, 1
or rdx, rax
movabs r10, 0x800000000
shr rdx, 1
mov rax, rcx
and rax, r10
movabs r10, 0x1000000000
or rdx, rax
mov rax, rcx
and rax, r10
shr rdx, 1
or rdx, rax
movabs r10, 0x2000000000
shr rdx, 1
mov rax, rcx
and rax, r10
movabs r10, 0x4000000000
or rdx, rax
mov rax, rcx
and rax, r10
shr rdx, 1
or rdx, rax
movabs r10, 0x8000000000
shr rdx, 1
mov rax, rcx
and rax, r10
movabs r10, 0x10000000000
or rdx, rax
mov rax, rcx
and rax, r10
shr rdx, 1
or rdx, rax
movabs r10, 0x20000000000
shr rdx, 1
mov rax, rcx
and rax, r10
movabs r10, 0x40000000000
or rdx, rax
mov rax, rcx
and rax, r10
shr rdx, 1
or rdx, rax
movabs r10, 0x80000000000
shr rdx, 1
mov rax, rcx
and rax, r10
movabs r10, 0x100000000000
or rdx, rax
mov rax, rcx
and rax, r10
shr rdx, 1
or rdx, rax
movabs r10, 0x200000000000
shr rdx, 1
mov rax, rcx
and rax, r10
movabs r10, 0x400000000000
or rdx, rax
mov rax, rcx
and rax, r10
shr rdx, 1
or rdx, rax
movabs r10, 0x800000000000
shr rdx, 1
mov rax, rcx
and rax, r10
or rdx, rax
mov rax, rcx
shr rdx, 1
movabs r10, 0x1000000000000
and rax, r10
movabs r10, 0x2000000000000
or rdx, rax
mov rax, rcx
and rax, r10
shr rdx, 1
or rdx, rax
movabs r10, 0x4000000000000
shr rdx, 1
mov rax, rcx
and rax, r10
movabs r10, 0x8000000000000
or rdx, rax
mov rax, rcx
and rax, r10
shr rdx, 1
or rdx, rax
movabs r10, 0x10000000000000
shr rdx, 1
mov rax, rcx
and rax, r10
movabs r10, 0x20000000000000
or rdx, rax
mov rax, rcx
and rax, r10
shr rdx, 1
or rdx, rax
movabs r10, 0x40000000000000
shr rdx, 1
mov rax, rcx
and rax, r10
movabs r10, 0x80000000000000
or rdx, rax
mov rax, rcx
and rax, r10
shr rdx, 1
or rdx, rax
movabs r10, 0x100000000000000
shr rdx, 1
mov rax, rcx
and rax, r10
movabs r10, 0x200000000000000
or rdx, rax
mov rax, rcx
and rax, r10
shr rdx, 1
or rdx, rax
movabs r10, 0x400000000000000
shr rdx, 1
mov rax, rcx
and rax, r10
movabs r10, 0x800000000000000
or rdx, rax
mov rax, rcx
and rax, r10
shr rdx, 1
or rdx, rax
movabs r10, 0x1000000000000000
shr rdx, 1
mov rax, rcx
and rax, r10
movabs r10, 0x2000000000000000
or rdx, rax
mov rax, rcx
and rax, r10
shr rdx, 1
or rdx, rax
movabs r10, 0x4000000000000000
shr rdx, 1
mov rax, rcx
and rax, r10
or rdx, rax
movabs rax, 0x8000000000000001
and rcx, rax
shr rdx, 1
mov rax, qword [rdi]
or rdx, rcx
shr rdx, 1
mov qword [rax + r9 + 8], rdx
mov rax, qword [rsi]
mov rcx, qword [rax + r8*8]
mov rax, rcx
mov rdx, rcx
and rdx, r11
and eax, 0x40000000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x20000000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x10000000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x8000000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x4000000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x2000000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x1000000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x800000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x400000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x200000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x100000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x80000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x40000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x20000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x10000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x8000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x4000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x2000
add rdx, rdx
or rdx, rax
mov rax, rcx
and eax, 0x1000
add rdx, rdx
or rdx, rax
mov rax, rcx
add rdx, rdx
and eax, 0x800
or rdx, rax
mov rax, rcx
add rdx, rdx
and eax, 0x400
or rdx, rax
mov rax, rcx
add rdx, rdx
and eax, 0x200
or rdx, rax
mov rax, rcx
add rdx, rdx
and eax, 0x100
or rdx, rax
mov rax, rcx
add rdx, rdx
and eax, 0x80
or rdx, rax
mov rax, rcx
add rdx, rdx
and eax, 0x40
or rdx, rax
mov rax, rcx
add rdx, rdx
and eax, 0x20
or rdx, rax
mov rax, rcx
add rdx, rdx
and eax, 0x10
or rdx, rax
mov rax, rcx
add rdx, rdx
and eax, 8
or rdx, rax
mov rax, rcx
add rdx, rdx
and eax, 4
or rdx, rax
mov rax, rcx
add rdx, rdx
and eax, 2
or rdx, rax
and rcx, r12
mov rax, qword [rdi]
add rdx, rdx
or rdx, rcx
sub r8, r12
mov qword [r9 + rax], rdx
lea r9, [r9 - 0x10]
jns 0x140069d95
mov edx, dword [rsi + 8]
add edx, edx
mov dword [rdi + 8], edx
test edx, edx
jle 0x14006a247
mov rax, qword [rdi]
movsxd r8, edx
dec r8
lea r8, [rax + r8*8]
mov rax, qword [r8]
lea r8, [r8 - 8]
test rax, rax
jne 0x14006a242
sub edx, r12d
test edx, edx
jg 0x14006a22f
mov dword [rdi + 8], edx
test edx, edx
jne 0x14006a24c
mov dword [rdi + 0x10], ebx
mov r8, r14
mov rdx, rdi
mov rcx, r15
call fcn.140069678
test eax, eax
cmovne ebx, r12d
mov rcx, rbp
call fcn.14005e184
mov rbp, qword [rsp + 0x48]
mov eax, ebx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret