Function at 0x14007ffa0
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r14, rcx
mov r13, qword [rcx + 8]
mov qword [r13 + 0x28], 0
mov qword [r13 + 0x40], 0
mov rsi, qword [r13 + 0x50]
mov rdi, qword [r13 + 0x58]
mov qword [r13 + 0x58], 0
test rdi, rdi
jne 0x140080019
lea r12, [r13 + 0x118]
mov rsi, qword [r13 + 0x130]
test rsi, rsi
je 0x1400800e1
mov rdi, qword [r12]
movdqa xmm0, xmmword [rdi]
pmovmskb r15d, xmm0
not r15d
lea rbx, [rdi + 0x10]
jmp 0x14008003f
add rsi, 0x10
dec rdi
je 0x14007ffdc
mov rax, qword [rsi]
lock dec qword [rax]
jne 0x140080010
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
call fcn.14007a1d0
jmp 0x140080010
lea eax, [r15 - 1]
and eax, r15d
mov r15d, eax
dec rsi
je 0x14008009a
test r15w, r15w
jne 0x140080070
nop word cs:[rax + rax]
movdqa xmm0, xmmword [rbx]
pmovmskb r15d, xmm0
add rdi, 0xfffffffffffffe80
add rbx, 0x10
cmp r15d, 0xffff
je 0x140080050
not r15d
tzcnt eax, r15d
neg rax
lea rax, [rax + rax*2]
mov rcx, qword [rdi + rax*8 - 0x18]
lock dec qword [rcx]
jne 0x140080030
lea rax, [rdi + rax*8]
mov rcx, qword [rax - 0x18]
mov rdx, qword [rax - 0x10]
call fcn.14007a1d0
jmp 0x140080030
mov rsi, qword [r13 + 0x120]
test rsi, rsi
je 0x1400800b5
mov rcx, qword [r12]
lea r8, [rsi + 0x11]
mov dl, 0xff
call sub.msvcrt.dll_memset
mov qword [r13 + 0x130], 0
lea rax, [rsi + 1]
mov rcx, rax
shr rcx, 3
and rax, 0xfffffffffffffff8
sub rax, rcx
cmp rsi, 8
cmovb rax, rsi
mov qword [r13 + 0x128], rax
mov qword [rsp + 0x30], r12
mov qword [r13 + 0x148], 0
inc qword [r13 + 0x150]
mov qword [r13 + 0x158], 0
cmp qword [r13], 0
je 0x140080112
mov rax, qword [r13 + 0x10]
mov qword [r13 + 8], rax
mov rcx, r14
call fcn.14007ee20
mov eax, dword [r13 + 0x100]
mov ebp, dword [r13 + 0x104]
mov rbx, qword [r13 + 0x108]
mov rdi, qword [r13 + 0x110]
mov dword [r13 + 0x100], 0
cmp eax, 1
jne 0x1400805a8
cmp ebp, 0x80000000
je 0x1400805f0
mov rsi, qword [r14]
mov rcx, qword [rsi + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x1400805f0
mov eax, 1
shl rax, cl
or eax, 0x40000000
cmp eax, ebp
je 0x1400805f0
mov eax, 2
shl rax, cl
cmp rax, 0x8000000
jae 0x1400805f0
or eax, 0x20000000
cmp eax, ebp
je 0x1400805f0
mov r15, qword [r13 + 0x28]
mov rdx, qword [r13 + 0x58]
mov rax, rdx
shl rax, 4
mov r8, qword [r13 + 0x40]
add r8, r15
add r8, qword [r13 + 0x70]
add r8, qword [r13 + 0x88]
add r8, qword [r13 + 0xa8]
add r8, qword [r13 + 0xc0]
mov r9, qword [r13 + 0x130]
add r8, qword [r13 + 0xd0]
mov r10d, 4
shl r10, cl
lea rcx, [r9 + r9*4]
add rax, rdi
add rax, r10
lea rax, [rax + rcx*4]
add rax, qword [r13 + 0xe8]
add rax, qword [r13 + 0x148]
lea rax, [rax + r8*4]
add rax, 0x24
cmp rax, qword [rsi + 0x2c0]
jbe 0x140080287
cmp dword [rsi + 0x40], 1
jne 0x14008027b
mov rax, qword [r13 + 0x150]
cmp rax, qword [rsi + 0x48]
jb 0x14008027b
cmp dword [rsi + 0x50], 1
jne 0x1400805df
mov rax, qword [rsi + 0x58]
mov r8, qword [r13 + 0x158]
cmp qword [r13], 0
je 0x14008025f
mov rcx, qword [r13 + 0x10]
mov r9, qword [r13 + 8]
mov r10, rcx
sub r10, r9
neg r10
sub rcx, r9
cmovb rcx, r10
jmp 0x140080261
xor ecx, ecx
add rcx, r8
mul rdx
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp rcx, rdx
jb 0x1400805df
mov rcx, r14
call fcn.14007ffa0
mov r15, qword [r13 + 0x28]
cmp r15, 0x8000000
jb 0x14008030f
cmp dword [rsi + 0x40], 1
jne 0x1400802f6
mov rax, qword [r13 + 0x150]
cmp rax, qword [rsi + 0x48]
jb 0x1400802f6
cmp dword [rsi + 0x50], 1
jne 0x1400805df
mov rax, qword [rsi + 0x58]
mov rdx, qword [r13 + 0x158]
cmp qword [r13], 0
je 0x1400802d9
mov rcx, qword [r13 + 0x10]
mov r8, qword [r13 + 8]
mov r9, rcx
sub r9, r8
neg r9
sub rcx, r8
cmovb rcx, r9
jmp 0x1400802db
xor ecx, ecx
add rcx, rdx
mul qword [r13 + 0x58]
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp rcx, rdx
jb 0x1400805df
mov rcx, r14
call fcn.14007ffa0
mov r15, qword [r13 + 0x28]
cmp r15, 0x8000000
jae 0x1400805f0
test rdi, rdi
je 0x1400805f0
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rbx
movzx ebx, byte [rbx + 0x10]
mov r12, qword [rsi + 0x2b8]
and r12d, 0x3f
mov r14d, 1
mov ecx, r12d
shl r14, cl
mov rcx, qword [r13 + 0x18]
sub rcx, r15
mov rax, r15
cmp rcx, r14
jb 0x1400805b9
mov rcx, qword [r13 + 0x20]
cmp r12d, 3
jb 0x14008039b
mov rdx, r14
and rdx, 0xfffffffffffffff8
and r14d, 6
lea r8, [rcx + rax*4]
add r8, 0x10
add rax, rdx
xor r9d, r9d
movdqa xmm0, xmmword [0x140119990]
nop dword [rax + rax]
movdqu xmmword [r8 + r9*4 - 0x10], xmm0
movdqu xmmword [r8 + r9*4], xmm0
add r9, 8
cmp rdx, r9
jne 0x140080380
test rdx, rdx
jne 0x1400803b3
mov rdx, rax
nop
lea rax, [rdx + 1]
mov dword [rcx + rdx*4], 0x80000000
mov rdx, rax
dec r14
jne 0x1400803a0
mov qword [r13 + 0x28], rax
mov rax, qword [rsi + 0x298]
or rax, qword [rsi + 0x2a8]
mov rcx, qword [rsi + 0x290]
or rcx, qword [rsi + 0x2a0]
or rcx, rax
je 0x1400804ed
mov rcx, qword [rsi + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x1400805f0
mov edx, 2
shl rdx, cl
cmp rdx, 0x8000000
jae 0x1400805f0
lea r8, [rsi + 0x290]
mov r9d, edx
or r9d, 0x20000000
and edx, 0x7fffffe
xor r10d, r10d
mov r11d, 1
xor eax, eax
cmp rax, 0xff
jbe 0x14008044f
jmp 0x1400804ed
inc rax
cmp rax, 0xff
ja 0x1400804ed
xor r14d, r14d
mov ecx, eax
shld r14, r11, cl
mov r12, rax
shr r12, 3
mov edi, 1
shl rdi, cl
and r12, 0xfffffffffffffff0
test al, 0x40
cmovne r14, rdi
cmovne rdi, r10
and r14, qword [r8 + r12 + 8]
and rdi, qword [r8 + r12]
or rdi, r14
je 0x140080440
mov r14, qword [r13 + 0x28]
cmp r14, r15
jbe 0x1400805f0
movzx ecx, byte [rsi + 0x2b8]
mov r12, 0xffffffffffffffff
shl r12, cl
not r12
test r15, r12
jne 0x1400805f0
cmp r14, rdx
jbe 0x1400805f0
and r12d, edx
jne 0x1400805f0
movzx ecx, al
movzx ecx, byte [rsi + rcx + 0x190]
add rcx, r15
cmp rcx, r14
jae 0x1400805f0
mov rdi, qword [r13 + 0x20]
mov dword [rdi + rcx*4], r9d
inc rax
cmp rax, 0xff
jbe 0x14008044f
mov rax, qword [rsp + 0x28]
add qword [r13 + 0x148], rax
mov rax, qword [rsp + 0x20]
lock inc qword [rax]
jle 0x1400805f0
and ebx, 1
and ebp, 0x10000000
shl ebx, 0x1b
or ebx, ebp
or r15d, ebx
mov rdx, qword [r13 + 0x58]
cmp rdx, qword [r13 + 0x48]
jne 0x140080530
lea rcx, [r13 + 0x48]
call fcn.14004b240
mov rdx, qword [r13 + 0x58]
mov rcx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x20]
lea rsi, [r13 + 0x108]
mov rax, qword [r13 + 0x50]
shl rdx, 4
mov qword [rax + rdx], r9
mov qword [rax + rdx + 8], r8
inc qword [r13 + 0x58]
mov rdx, r9
mov r9d, r15d
call fcn.14007b680
cmp dword [r13 + 0x100], 1
jne 0x14008058c
mov rax, qword [rsi]
lock dec qword [rax]
jne 0x14008058c
mov rcx, qword [r13 + 0x108]
mov rdx, qword [r13 + 0x110]
call fcn.14007a1d0
mov dword [r13 + 0x100], 2
mov dword [r13 + 0x104], r15d
movdqu xmm0, xmmword [rsp + 0x38]
movdqu xmmword [rsi], xmm0
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [r13 + 0x18]
mov rdx, r15
mov r8, r14
call fcn.14001f130
mov rax, qword [r13 + 0x28]
mov rcx, qword [r13 + 0x20]
cmp r12d, 3
jae 0x14008035a
jmp 0x14008039b
lock dec qword [rbx]
jne 0x1400805f0
mov rdx, rdi
mov rcx, rbx
call fcn.14007a1d0
ud2