Function at 0x14006fce0
Capabilities:
Inspect section memory permissions

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov r15, rcx
mov rsi, qword [rcx]
test byte [rsi + 0x71], 1
jne 0x14006fd2f
mov rdi, qword [r15 + 8]
lea r14, [rdi + 0x58]
mov rax, qword [rdi + 0x50]
mov rdx, qword [rdi + 0x58]
sub rax, rdx
mov ebx, 0xc
cmp rax, 0xb
ja 0x14006fd66
jmp 0x14006fd75
mov rax, qword [rsi + 0x178]
mov rax, qword [rax + 0x160]
lea rax, [rax + rax*2]
lea rbx, [rax*2 + 0xc]
mov rdi, qword [r15 + 8]
lea r14, [rdi + 0x58]
mov rax, qword [rdi + 0x50]
mov rdx, qword [rdi + 0x58]
sub rax, rdx
cmp rax, rbx
jb 0x14006fd75
test rbx, rbx
je 0x14006fddf
mov rax, qword [rdi + 0x48]
cmp rbx, 8
jae 0x14006fd8f
mov rcx, rbx
jmp 0x14006fdd0
lea rcx, [rdi + 0x48]
mov r8, rbx
call fcn.1401062f0
mov rdx, qword [rdi + 0x58]
mov rax, qword [rdi + 0x48]
cmp rbx, 8
jb 0x14006fd70
mov r8, rbx
and r8, 0xfffffffffffffff8
mov ecx, ebx
and ecx, 7
lea r9, [rax + rdx*4]
add r9, 0x10
add rdx, r8
xor r10d, r10d
movaps xmm0, xmmword [0x14010c410]
movups xmmword [r9 + r10*4 - 0x10], xmm0
movups xmmword [r9 + r10*4], xmm0
add r10, 8
cmp r8, r10
jne 0x14006fdb0
cmp rbx, r8
je 0x14006fddf
nop dword [rax]
mov dword [rax + rdx*4], 0x80000000
inc rdx
dec rcx
jne 0x14006fdd0
mov qword [rbp + 0x18], r15
mov qword [r14], rdx
call fcn.14004ab20
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rdx
lock inc qword [rax]
jle 0x140070adc
mov rbx, rax
mov r15, rdx
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rdx
mov rax, qword [rdi + 0x58]
mov rdx, qword [rdi + 0x70]
mov r8, rdx
shl r8, 4
mov rcx, qword [rdi + 0x90]
lea r9, [rcx + rcx*4]
add rax, qword [rdi + 0x40]
add rax, qword [rdi + 0xb8]
add rax, qword [rdi + 0xd0]
add rax, qword [rdi + 0xf0]
add rax, qword [rdi + 0x108]
movzx ecx, byte [rsi + 0x180]
mov r10d, 4
shl r10, cl
add rax, qword [rdi + 0x120]
add r8, r15
lea rcx, [r8 + r9*4]
add rcx, qword [rdi + 0x138]
add rcx, qword [rdi + 0x148]
lea rax, [rcx + rax*4]
add rax, r10
add rax, 0x24
cmp rax, qword [rsi + 0x2a8]
jbe 0x14006fef6
cmp dword [rsi + 0x38], 1
jne 0x14006fee9
mov rax, qword [rdi + 0x150]
cmp rax, qword [rsi + 0x40]
jb 0x14006fee9
cmp dword [rsi + 0x48], 1
jne 0x140070ae0
mov rax, qword [rsi + 0x50]
mov r8, qword [rdi + 0x158]
cmp qword [rdi], 0
je 0x14006fecd
mov rcx, qword [rdi + 0x10]
mov r9, qword [rdi + 8]
mov r10, rcx
sub r10, r9
neg r10
sub rcx, r9
cmovb rcx, r10
jmp 0x14006fecf
xor ecx, ecx
add rcx, r8
mul rdx
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp rcx, rdx
jb 0x140070ae0
mov byte [rbp + 0x3e], 1
mov rcx, qword [rbp + 0x18]
call fcn.14006f390
mov byte [rbp + 0x3e], 1
mov rcx, qword [rbp + 0x18]
call fcn.14006ee90
test eax, eax
jne 0x140070ae0
test r15, r15
je 0x140070a91
mov r12d, edx
movzx r14d, byte [rbx + 0x10]
lea r8, [rdi + 0x30]
mov r13, qword [rsi + 0x180]
and r13d, 0x3f
mov ebx, 1
mov ecx, r13d
shl rbx, cl
mov rax, qword [rdi + 0x38]
mov rdx, qword [rdi + 0x40]
sub rax, rdx
cmp rax, rbx
mov qword [rbp + 8], r8
jae 0x14006ff61
mov byte [rbp + 0x3e], 1
mov rcx, r8
mov r8, rbx
call fcn.1401062f0
mov rdx, qword [rdi + 0x40]
mov r8, qword [rbp + 8]
and r14d, 1
shl r14d, 0x1b
or r14d, r12d
mov dword [rbp + 0x24], r14d
mov rax, qword [r8]
cmp r13d, 3
jb 0x14006ffb9
mov rcx, rbx
and rcx, 0xfffffffffffffff8
and ebx, 6
lea r8, [rax + rdx*4]
add r8, 0x10
add rdx, rcx
xor r9d, r9d
movaps xmm0, xmmword [0x14010c410]
nop dword [rax + rax]
movups xmmword [r8 + r9*4 - 0x10], xmm0
movups xmmword [r8 + r9*4], xmm0
add r9, 8
cmp rcx, r9
jne 0x14006ffa0
test rcx, rcx
jne 0x14006ffd3
mov rcx, rdx
nop dword [rax]
lea rdx, [rcx + 1]
mov dword [rax + rcx*4], 0x80000000
mov rcx, rdx
dec rbx
jne 0x14006ffc0
or dword [rbp + 0x24], 0x80000000
mov qword [rdi + 0x40], rdx
lea r13, [rsi + 0x288]
mov rax, qword [rsi + 0x290]
or rax, qword [rsi + 0x2a0]
mov rcx, qword [rsi + 0x288]
or rcx, qword [rsi + 0x298]
or rcx, rax
je 0x140070039
cmp dword [rbp + 0x24], 0x80000000
je 0x140070039
mov rcx, qword [rsi + 0x180]
and ecx, 0x3f
mov eax, 1
shl rax, cl
cmp rcx, 0x1b
jae 0x140070d55
or eax, 0x40000000
cmp eax, dword [rbp + 0x24]
jne 0x1400701a7
mov rbx, qword [rbp + 0x30]
add qword [rdi + 0x148], rbx
mov rcx, qword [rbp + 0x28]
lock inc qword [rcx]
jle 0x140070adc
lea r14, [rdi + 0x60]
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rbx
mov rdx, qword [rdi + 0x70]
cmp rdx, qword [rdi + 0x68]
jne 0x14007007c
mov qword [rbp + 0x10], rcx
mov rcx, r14
call fcn.140046390
mov rdx, qword [rdi + 0x70]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rdi + 0x60]
shl rdx, 4
mov qword [rax + rdx], rcx
mov qword [rax + rdx + 8], rbx
inc qword [rdi + 0x70]
mov rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x30]
lea rcx, [rdi + 0x78]
mov byte [rbp + 0x3e], 0
mov qword [rbp + 0x10], rcx
mov r9d, dword [rbp + 0x24]
call fcn.14001add0
mov qword [rbp - 0x58], r14
mov eax, dword [rbp + 0x24]
mov dword [rbp - 0x3c], eax
mov rbx, qword [rbp - 0x38]
mov r14, qword [rbp - 0x30]
lock inc qword [rbx]
jle 0x140070adc
mov qword [rbp + 0x28], rbx
mov qword [rbp + 0x30], r14
mov rax, qword [rdi + 0x58]
mov rdx, qword [rdi + 0x70]
mov r8, rdx
shl r8, 4
mov rcx, qword [rdi + 0x90]
lea r9, [rcx + rcx*4]
add rax, qword [rdi + 0x40]
add rax, qword [rdi + 0xb8]
add rax, qword [rdi + 0xd0]
add rax, qword [rdi + 0xf0]
add rax, qword [rdi + 0x108]
movzx ecx, byte [rsi + 0x180]
mov r10d, 4
shl r10, cl
add rax, qword [rdi + 0x120]
add r8, r14
lea rcx, [r8 + r9*4]
add rcx, qword [rdi + 0x138]
add rcx, qword [rdi + 0x148]
lea rax, [rcx + rax*4]
add rax, r10
add rax, 0x24
cmp rax, qword [rsi + 0x2a8]
jbe 0x140070260
cmp dword [rsi + 0x38], 1
jne 0x140070253
mov rax, qword [rdi + 0x150]
cmp rax, qword [rsi + 0x40]
jb 0x140070253
cmp dword [rsi + 0x48], 1
jne 0x140070b24
mov rax, qword [rsi + 0x50]
mov r8, qword [rdi + 0x158]
cmp qword [rdi], 0
je 0x140070237
mov rcx, qword [rdi + 0x10]
mov r9, qword [rdi + 8]
mov r10, rcx
sub r10, r9
neg r10
sub rcx, r9
cmovb rcx, r10
jmp 0x140070239
mov ebx, 2
shl rbx, cl
cmp rbx, 0x8000000
jae 0x140070dbd
or ebx, 0x20000000
xor r14d, r14d
mov r15d, 1
xor r12d, r12d
nop
cmp r12, 0xff
ja 0x140070039
mov rcx, r12
xor eax, eax
shld rax, r15, cl
mov rdx, r12
shr rdx, 3
mov r8d, 1
shl r8, cl
and rdx, 0xfffffffffffffff0
test cl, 0x40
cmovne rax, r8
cmovne r8, r14
and rax, qword [r13 + rdx + 8]
inc r12
and r8, qword [r13 + rdx]
or r8, rax
je 0x1400701d0
shl ecx, 8
movzx r9d, cx
mov byte [rbp + 0x3e], 1
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov rdx, rdi
mov r8d, dword [rbp + 0x24]
call fcn.140071030
jmp 0x1400701d0
xor ecx, ecx
add rcx, r8
mul rdx
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp rcx, rdx
jb 0x140070b24
mov byte [rbp + 0x3d], 1
mov rcx, qword [rbp + 0x18]
call fcn.14006f390
mov byte [rbp + 0x3d], 1
mov rcx, qword [rbp + 0x18]
call fcn.14006ee90
test eax, eax
jne 0x140070b24
test r14, r14
je 0x140070aaa
mov r15d, edx
movzx r12d, byte [rbx + 0x10]
mov r14, qword [rsi + 0x180]
and r14d, 0x3f
mov ebx, 1
mov ecx, r14d
shl rbx, cl
mov rax, qword [rdi + 0x38]
mov rdx, qword [rdi + 0x40]
sub rax, rdx
cmp rax, rbx
jae 0x1400702c0
mov byte [rbp + 0x3d], 1
mov rcx, qword [rbp + 8]
mov r8, rbx
call fcn.1401062f0
mov rdx, qword [rdi + 0x40]
and r12d, 1
shl r12d, 0x1b
or r12d, r15d
mov rax, qword [rbp + 8]
mov rax, qword [rax]
cmp r14d, 3
jb 0x140070319
mov rcx, rbx
and rcx, 0xfffffffffffffff8
and ebx, 6
lea r8, [rax + rdx*4]
add r8, 0x10
add rdx, rcx
xor r9d, r9d
movaps xmm0, xmmword [0x14010c410]
nop word [rax + rax]
movups xmmword [r8 + r9*4 - 0x10], xmm0
movups xmmword [r8 + r9*4], xmm0
add r9, 8
cmp rcx, r9
jne 0x140070300
test rcx, rcx
jne 0x140070333
mov rcx, rdx
nop dword [rax]
lea rdx, [rcx + 1]
mov dword [rax + rcx*4], 0x80000000
mov rcx, rdx
dec rbx
jne 0x140070320
or r12d, 0x40000000
mov qword [rdi + 0x40], rdx
mov rax, qword [r13 + 8]
or rax, qword [r13 + 0x18]
mov rcx, qword [r13]
or rcx, qword [r13 + 0x10]
or rcx, rax
je 0x14007037d
mov rcx, qword [rsi + 0x180]
and ecx, 0x3f
mov eax, 1
shl rax, cl
cmp rcx, 0x1b
jae 0x140070caa
or eax, 0x40000000
cmp eax, r12d
jne 0x1400704e1
mov rbx, qword [rbp + 0x30]
add qword [rdi + 0x148], rbx
mov rcx, qword [rbp + 0x28]
lock inc qword [rcx]
jle 0x140070adc
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rbx
mov rdx, qword [rdi + 0x70]
cmp rdx, qword [rdi + 0x68]
jne 0x1400703bd
mov qword [rbp - 0x50], rcx
mov rcx, qword [rbp - 0x58]
call fcn.140046390
mov rdx, qword [rdi + 0x70]
mov rcx, qword [rbp - 0x50]
mov rax, qword [rdi + 0x60]
shl rdx, 4
mov qword [rax + rdx], rcx
mov qword [rax + rdx + 8], rbx
inc qword [rdi + 0x70]
mov rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x30]
mov byte [rbp + 0x3d], 0
mov rcx, qword [rbp + 0x10]
mov r9d, r12d
call fcn.14001add0
mov dword [rbp - 0x40], r12d
mov rbx, qword [rbp - 0x38]
mov r14, qword [rbp - 0x30]
lock inc qword [rbx]
jle 0x140070adc
mov qword [rbp + 0x28], rbx
mov qword [rbp + 0x30], r14
mov rax, qword [rdi + 0x58]
mov rdx, qword [rdi + 0x70]
mov r8, rdx
shl r8, 4
mov rcx, qword [rdi + 0x90]
lea r9, [rcx + rcx*4]
add rax, qword [rdi + 0x40]
add rax, qword [rdi + 0xb8]
add rax, qword [rdi + 0xd0]
add rax, qword [rdi + 0xf0]
add rax, qword [rdi + 0x108]
movzx ecx, byte [rsi + 0x180]
mov r10d, 4
shl r10, cl
add rax, qword [rdi + 0x120]
add r8, r14
lea rcx, [r8 + r9*4]
add rcx, qword [rdi + 0x138]
add rcx, qword [rdi + 0x148]
lea rax, [rcx + rax*4]
add rax, r10
add rax, 0x24
cmp rax, qword [rsi + 0x2a8]
mov r15, qword [rbp + 0x18]
jbe 0x1400705a4
cmp dword [rsi + 0x38], 1
jne 0x140070598
mov rax, qword [rdi + 0x150]
cmp rax, qword [rsi + 0x40]
jb 0x140070598
cmp dword [rsi + 0x48], 1
jne 0x140070b68
mov rax, qword [rsi + 0x50]
mov r8, qword [rdi + 0x158]
cmp qword [rdi], 0
je 0x14007057c
mov rcx, qword [rdi + 0x10]
mov r9, qword [rdi + 8]
mov r10, rcx
sub r10, r9
neg r10
sub rcx, r9
cmovb rcx, r10
jmp 0x14007057e
mov ebx, 2
shl rbx, cl
cmp rbx, 0x8000000
jae 0x140070d87
or ebx, 0x20000000
mov r15d, 1
xor r14d, r14d
nop word cs:[rax + rax]
cmp r14, 0xff
ja 0x14007037d
mov rcx, r14
xor eax, eax
shld rax, r15, cl
mov rdx, r14
shr rdx, 3
mov r8d, 1
shl r8, cl
and rdx, 0xfffffffffffffff0
test cl, 0x40
cmovne rax, r8
mov r9d, 0
cmovne r8, r9
and rax, qword [r13 + rdx + 8]
inc r14
and r8, qword [r13 + rdx]
or r8, rax
je 0x140070510
shl ecx, 8
movzx r9d, cx
mov byte [rbp + 0x3d], 1
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov rdx, rdi
mov r8d, r12d
call fcn.140071030
jmp 0x140070510
xor ecx, ecx
add rcx, r8
mul rdx
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp rcx, rdx
jb 0x140070b68
mov byte [rbp + 0x3c], 1
mov rcx, r15
call fcn.14006f390
mov byte [rbp + 0x3c], 1
mov rcx, r15
call fcn.14006ee90
test eax, eax
jne 0x140070b68
test r14, r14
je 0x140070ac3
mov r8d, edx
movzx r14d, byte [rbx + 0x10]
mov r15, qword [rsi + 0x180]
and r15d, 0x3f
mov ebx, 1
mov ecx, r15d
shl rbx, cl
mov rax, qword [rdi + 0x38]
mov rdx, qword [rdi + 0x40]
sub rax, rdx
cmp rax, rbx
jae 0x14007060b
mov byte [rbp + 0x3c], 1
mov rcx, qword [rbp + 8]
mov dword [rbp + 0x18], r8d
mov r8, rbx
call fcn.1401062f0
mov r8d, dword [rbp + 0x18]
mov rdx, qword [rdi + 0x40]
and r14d, 1
shl r14d, 0x1b
or r14d, r8d
mov rax, qword [rbp + 8]
mov rax, qword [rax]
cmp r15d, 3
jb 0x140070669
mov rcx, rbx
and rcx, 0xfffffffffffffff8
and ebx, 6
lea r8, [rax + rdx*4]
add r8, 0x10
add rdx, rcx
xor r9d, r9d
movaps xmm0, xmmword [0x14010c410]
nop word cs:[rax + rax]
movups xmmword [r8 + r9*4 - 0x10], xmm0
movups xmmword [r8 + r9*4], xmm0
add r9, 8
cmp rcx, r9
jne 0x140070650
test rcx, rcx
jne 0x140070683
mov rcx, rdx
nop dword [rax]
lea rdx, [rcx + 1]
mov dword [rax + rcx*4], 0x80000000
mov rcx, rdx
dec rbx
jne 0x140070670
or r14d, 0x20000000
mov qword [rdi + 0x40], rdx
mov rax, qword [r13 + 8]
or rax, qword [r13 + 0x18]
mov rcx, qword [r13]
or rcx, qword [r13 + 0x10]
or rcx, rax
je 0x1400706db
mov rcx, qword [rsi + 0x180]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x140070cdf
mov ebx, 2
shl rbx, cl
cmp rbx, 0x8000000
jae 0x140070d1c
or ebx, 0x20000000
cmp ebx, r14d
jne 0x140070a1b
mov rbx, qword [rbp + 0x30]
add qword [rdi + 0x148], rbx
mov rcx, qword [rbp + 0x28]
lock inc qword [rcx]
jle 0x140070adc
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rbx
mov rdx, qword [rdi + 0x70]
cmp rdx, qword [rdi + 0x68]
jne 0x14007071b
mov qword [rbp + 0x18], rcx
mov rcx, qword [rbp - 0x58]
call fcn.140046390
mov rdx, qword [rdi + 0x70]
mov rcx, qword [rbp + 0x18]
mov rax, qword [rdi + 0x60]
shl rdx, 4
mov qword [rax + rdx], rcx
mov qword [rax + rdx + 8], rbx
inc qword [rdi + 0x70]
mov rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x30]
mov byte [rbp + 0x3c], 0
mov rcx, qword [rbp + 0x10]
mov r9d, r14d
call fcn.14001add0
mov dword [rbp - 0x44], r14d
mov dword [rbp + 0x28], 0x80000000
cmp dword [rbp + 0x24], 0x80000000
jne 0x140070bac
mov rcx, qword [rsi + 0x180]
and ecx, 0x3f
mov eax, 1
shl rax, cl
cmp rcx, 0x1b
jae 0x140070bdc
or eax, 0x40000000
mov dword [rbp + 0x28], eax
cmp r12d, eax
jne 0x140070c11
mov eax, 2
shl rax, cl
cmp rax, 0x8000000
jae 0x140070c41
or eax, 0x20000000
mov dword [rbp + 0x28], eax
cmp r14d, eax
jne 0x140070c7a
xor ebx, ebx
xor r13d, r13d
jmp 0x1400707f7
movzx edx, byte [rsi + r13 + 0x188]
lea rax, [r13 + 1]
mov r9d, r13d
xor ecx, ecx
mov bl, 1
mov r15d, edx
mov r13, rax
shl r9d, 8
or r9d, ecx
mov byte [rbp + 0x3f], 1
mov dword [rsp + 0x20], 0x80000000
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x80000000
call fcn.140071030
test bl, bl
je 0x140070830
cmp r13, 0x101
mov ecx, 0x100
cmovae rcx, r13
mov rax, r13
nop
cmp rax, 0x100
jae 0x140070840
mov r13, rax
movzx edx, byte [rsi + rax + 0x188]
inc rax
cmp r15b, dl
je 0x140070810
jmp 0x1400707c6
cmp r13, 0xff
jbe 0x1400707b9
mov rcx, r13
cmp rcx, 0xffffffffffffffff
je 0x14007086e
movzx r9d, byte [rsi + 0x287]
shl r9d, 0x10
add r9d, 0x10001
shr r9d, 8
mov ecx, 1
mov r13, 0xffffffffffffffff
jmp 0x1400707d3
xor r13d, r13d
xor ebx, ebx
jmp 0x1400708ad
movzx ecx, byte [rsi + r13 + 0x188]
lea rdx, [r13 + 1]
mov r9d, r13d
xor eax, eax
mov bl, 1
mov r13, rdx
mov r15d, ecx
shl r9d, 8
or r9d, eax
mov byte [rbp + 0x3f], 1
mov dword [rsp + 0x20], r12d
mov rcx, rsi
mov rdx, rdi
mov r8d, r12d
call fcn.140071030
test bl, bl
je 0x1400708f0
cmp r13, 0x101
mov eax, 0x100
cmovae rax, r13
mov rdx, r13
nop word cs:[rax + rax]
cmp rdx, 0x100
jae 0x140070900
mov r13, rdx
movzx ecx, byte [rsi + rdx + 0x188]
inc rdx
cmp r15b, cl
je 0x1400708d0
jmp 0x140070882
cmp r13, 0xff
jbe 0x140070875
mov rax, r13
cmp rax, 0xffffffffffffffff
je 0x14007092e
movzx r9d, byte [rsi + 0x287]
shl r9d, 0x10
add r9d, 0x10001
shr r9d, 8
mov eax, 1
mov r13, 0xffffffffffffffff
jmp 0x14007088f
xor r13d, r13d
xor ebx, ebx
jmp 0x14007096d
movzx ecx, byte [rsi + r13 + 0x188]
lea rdx, [r13 + 1]
mov r9d, r13d
xor eax, eax
mov bl, 1
mov r13, rdx
mov r15d, ecx
shl r9d, 8
or r9d, eax
mov byte [rbp + 0x3f], 1
mov dword [rsp + 0x20], r14d
mov rcx, rsi
mov rdx, rdi
mov r8d, r14d
invalid