Function at 0x14008e010
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 rsi, rcx
mov r13, qword [rcx + 8]
mov qword [r13 + 0x28], 0
mov qword [r13 + 0x40], 0
mov rdi, qword [r13 + 0x50]
mov rbx, qword [r13 + 0x58]
mov qword [r13 + 0x58], 0
test rbx, rbx
jne 0x14008e069
mov rdi, qword [r13 + 0x130]
test rdi, rdi
jne 0x14008e094
jmp 0x14008e169
add rdi, 0x10
dec rbx
je 0x14008e080
mov rax, qword [rdi]
lock dec qword [rax]
jne 0x14008e060
mov rcx, qword [rdi]
mov rdx, qword [rdi + 8]
call fcn.14004d570
jmp 0x14008e060
mov r13, qword [rsi + 8]
mov rdi, qword [r13 + 0x130]
test rdi, rdi
je 0x14008e169
mov rbx, qword [r13 + 0x118]
movdqa xmm0, xmmword [rbx]
pmovmskb r15d, xmm0
not r15d
lea r14, [rbx + 0x10]
jmp 0x14008e0bf
lea eax, [r15 - 1]
and eax, r15d
mov r15d, eax
dec rdi
je 0x14008e11b
test r15w, r15w
jne 0x14008e0f1
nop word cs:[rax + rax]
movdqa xmm0, xmmword [r14]
pmovmskb r15d, xmm0
add rbx, 0xfffffffffffffe80
add r14, 0x10
cmp r15d, 0xffff
je 0x14008e0d0
not r15d
tzcnt eax, r15d
neg rax
lea rax, [rax + rax*2]
mov rcx, qword [rbx + rax*8 - 0x18]
lock dec qword [rcx]
jne 0x14008e0b0
lea rax, [rbx + rax*8]
mov rcx, qword [rax - 0x18]
mov rdx, qword [rax - 0x10]
call fcn.14004d570
jmp 0x14008e0b0
mov rdi, qword [r13 + 0x120]
test rdi, rdi
je 0x14008e139
mov rcx, qword [r13 + 0x118]
lea r8, [rdi + 0x11]
mov dl, 0xff
call sub.msvcrt.dll_memset
mov qword [r13 + 0x130], 0
lea rax, [rdi + 1]
mov rcx, rax
shr rcx, 3
and rax, 0xfffffffffffffff8
sub rax, rcx
cmp rdi, 8
cmovb rax, rdi
mov qword [r13 + 0x128], rax
mov r13, qword [rsi + 8]
mov qword [r13 + 0x148], 0
inc qword [r13 + 0x150]
mov qword [r13 + 0x158], 0
cmp qword [r13], 0
je 0x14008e195
mov rax, qword [r13 + 0x10]
mov qword [r13 + 8], rax
mov rcx, rsi
call fcn.14008cf50
mov eax, dword [r13 + 0x100]
mov ebp, dword [r13 + 0x104]
mov rcx, qword [r13 + 0x108]
mov rdi, qword [r13 + 0x110]
mov dword [r13 + 0x100], 0
cmp eax, 1
jne 0x14008e64e
mov qword [rsp + 0x20], rcx
cmp ebp, 0x80000000
je 0x14008e677
mov rbx, qword [rsi]
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x14008e677
mov eax, 1
shl rax, cl
or eax, 0x40000000
cmp eax, ebp
je 0x14008e677
mov eax, 2
shl rax, cl
cmp rax, 0x8000000
jae 0x14008e677
or eax, 0x20000000
cmp eax, ebp
je 0x14008e677
mov qword [rsp + 0x30], rsi
mov r14, qword [r13 + 0x28]
mov rdx, qword [r13 + 0x58]
mov rax, rdx
shl rax, 4
mov r8, qword [r13 + 0x130]
mov r9, qword [r13 + 0x40]
add r9, r14
add r9, qword [r13 + 0x70]
add r9, qword [r13 + 0x88]
add r9, qword [r13 + 0xa8]
lea r8, [r8 + r8*4]
add r9, qword [r13 + 0xc0]
mov r10d, 4
shl r10, cl
add r9, qword [r13 + 0xd0]
add rax, rdi
lea rax, [rax + r8*4]
add rax, qword [r13 + 0xe8]
add rax, qword [r13 + 0x148]
lea rax, [rax + r9*4]
add rax, r10
add rax, 0x24
cmp rax, qword [rbx + 0x2c0]
jbe 0x14008e315
cmp dword [rbx + 0x40], 1
mov rcx, qword [rsp + 0x30]
jne 0x14008e30c
mov rax, qword [r13 + 0x150]
cmp rax, qword [rbx + 0x48]
jb 0x14008e30c
cmp dword [rbx + 0x50], 1
jne 0x14008e65f
mov rax, qword [rbx + 0x58]
mov r11, qword [r13 + 0x158]
cmp qword [r13], 0
je 0x14008e2ef
mov r9, qword [r13 + 8]
mov r10, qword [r13 + 0x10]
mov r8, r9
sub r8, r10
ja 0x14008e2f2
sub r10, r9
mov r8, r10
jmp 0x14008e2f2
xor r8d, r8d
add r8, r11
mul rdx
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp r8, rdx
jb 0x14008e65f
call fcn.14008e010
mov r14, qword [r13 + 0x28]
cmp r14, 0x8000000
jb 0x14008e3a2
cmp dword [rbx + 0x40], 1
mov rcx, qword [rsp + 0x30]
jne 0x14008e38c
mov rax, qword [r13 + 0x150]
cmp rax, qword [rbx + 0x48]
jb 0x14008e38c
cmp dword [rbx + 0x50], 1
jne 0x14008e65f
mov rax, qword [rbx + 0x58]
mov r10, qword [r13 + 0x158]
cmp qword [r13], 0
je 0x14008e36e
mov rdx, qword [r13 + 8]
mov r9, qword [r13 + 0x10]
mov r8, rdx
sub r8, r9
ja 0x14008e371
sub r9, rdx
mov r8, r9
jmp 0x14008e371
xor r8d, r8d
add r8, r10
mul qword [r13 + 0x58]
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp r8, rdx
jb 0x14008e65f
call fcn.14008e010
mov r14, qword [r13 + 0x28]
cmp r14, 0x8000000
jae 0x14008e677
test rdi, rdi
je 0x14008e677
mov qword [rsp + 0x28], rdi
mov rax, qword [rsp + 0x20]
movzx edi, byte [rax + 0x10]
mov r12, qword [rbx + 0x2b8]
and r12d, 0x3f
mov r15d, 1
mov ecx, r12d
shl r15, cl
mov rcx, qword [r13 + 0x18]
sub rcx, r14
mov rax, r14
cmp rcx, r15
jb 0x14008e405
mov rcx, qword [r13 + 0x20]
cmp r12d, 2
ja 0x14008e422
nop dword [rax]
lea rdx, [rax + 1]
mov dword [rcx + rax*4], 0x80000000
mov rax, rdx
dec r15
jne 0x14008e3f0
jmp 0x14008e457
lea rcx, [r13 + 0x18]
mov rdx, r14
mov r8, r15
call fcn.14004dbf0
mov rax, qword [r13 + 0x28]
mov rcx, qword [r13 + 0x20]
cmp r12d, 2
jbe 0x14008e3f0
and r15, 0xfffffffffffffff8
lea rcx, [rcx + rax*4]
add rcx, 0x10
add rax, r15
xor edx, edx
movdqa xmm0, xmmword [0x14010cb50]
nop dword [rax + rax]
movdqu xmmword [rcx + rdx*4 - 0x10], xmm0
movdqu xmmword [rcx + rdx*4], xmm0
add rdx, 8
cmp r15, rdx
jne 0x14008e440
mov rdx, rax
mov qword [r13 + 0x28], rdx
mov rax, qword [rbx + 0x298]
or rax, qword [rbx + 0x2a8]
mov rcx, qword [rbx + 0x290]
or rcx, qword [rbx + 0x2a0]
or rcx, rax
je 0x14008e58d
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x14008e677
mov edx, 2
shl rdx, cl
cmp rdx, 0x8000000
jae 0x14008e677
lea r8, [rbx + 0x290]
mov r9d, edx
or r9d, 0x20000000
xor r10d, r10d
mov r11d, 1
xor eax, eax
cmp rax, 0xff
jbe 0x14008e4ef
jmp 0x14008e58d
inc rax
cmp rax, 0xff
ja 0x14008e58d
xor r15d, r15d
mov ecx, eax
shld r15, r11, cl
mov r12, rax
shr r12, 3
mov esi, 1
shl rsi, cl
and r12, 0xfffffffffffffff0
test al, 0x40
cmovne r15, rsi
cmovne rsi, r10
and r15, qword [r8 + r12 + 8]
and rsi, qword [r8 + r12]
or rsi, r15
je 0x14008e4e0
mov r15, qword [r13 + 0x28]
cmp r15, r14
jbe 0x14008e677
movzx ecx, byte [rbx + 0x2b8]
mov r12, 0xffffffffffffffff
shl r12, cl
mov rcx, r12
not rcx
test r14, rcx
jne 0x14008e677
cmp r15, rdx
jbe 0x14008e677
and r12, rdx
je 0x14008e677
movzx ecx, byte [rbx + rax + 0x190]
add rcx, r14
cmp rcx, r15
jae 0x14008e677
mov rsi, qword [r13 + 0x20]
mov dword [rsi + rcx*4], r9d
inc rax
cmp rax, 0xff
jbe 0x14008e4ef
mov rax, qword [rsp + 0x28]
add qword [r13 + 0x148], rax
mov rsi, qword [rsp + 0x20]
lock inc qword [rsi]
jle 0x14008e677
and edi, 1
and ebp, 0x10000000
shl edi, 0x1b
or edi, ebp
or r14d, edi
mov rdx, qword [r13 + 0x58]
cmp rdx, qword [r13 + 0x48]
jne 0x14008e5d0
lea rcx, [r13 + 0x48]
call fcn.14004d8d0
mov rdx, qword [r13 + 0x58]
mov r8, qword [rsp + 0x28]
mov rax, qword [r13 + 0x50]
shl rdx, 4
mov qword [rax + rdx], rsi
mov qword [rax + rdx + 8], r8
inc qword [r13 + 0x58]
lea rcx, [r13 + 0x118]
mov rdx, rsi
mov r9d, r14d
call fcn.14007e260
cmp dword [r13 + 0x100], 1
jne 0x14008e626
mov rax, qword [r13 + 0x108]
lock dec qword [rax]
jne 0x14008e626
mov rcx, qword [r13 + 0x108]
mov rdx, qword [r13 + 0x110]
call fcn.14004d570
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 8]
mov dword [rax + 0x100], 2
mov dword [rax + 0x104], r14d
movdqu xmm0, xmmword [rsp + 0x38]
movdqu xmmword [rax + 0x108], xmm0
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x20]
lock dec qword [rax]
jne 0x14008e677
mov rdx, rdi
mov rcx, qword [rsp + 0x20]
call fcn.14004d570
ud2