Function at 0x140090b80
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 0x140090bd9
mov rdi, qword [r13 + 0x130]
test rdi, rdi
jne 0x140090c04
jmp 0x140090cd9
add rdi, 0x10
dec rbx
je 0x140090bf0
mov rax, qword [rdi]
lock dec qword [rax]
jne 0x140090bd0
mov rcx, qword [rdi]
mov rdx, qword [rdi + 8]
call fcn.1400f8b00
jmp 0x140090bd0
mov r13, qword [rsi + 8]
mov rdi, qword [r13 + 0x130]
test rdi, rdi
je 0x140090cd9
mov rbx, qword [r13 + 0x118]
movdqa xmm0, xmmword [rbx]
pmovmskb r15d, xmm0
not r15d
lea r14, [rbx + 0x10]
jmp 0x140090c2f
lea eax, [r15 - 1]
and eax, r15d
mov r15d, eax
dec rdi
je 0x140090c8b
test r15w, r15w
jne 0x140090c61
nop word cs:[rax + rax]
movdqa xmm0, xmmword [r14]
pmovmskb r15d, xmm0
add rbx, 0xfffffffffffffe80
add r14, 0x10
cmp r15d, 0xffff
je 0x140090c40
not r15d
tzcnt eax, r15d
neg rax
lea rax, [rax + rax*2]
mov rcx, qword [rbx + rax*8 - 0x18]
lock dec qword [rcx]
jne 0x140090c20
lea rax, [rbx + rax*8]
mov rcx, qword [rax - 0x18]
mov rdx, qword [rax - 0x10]
call fcn.1400f8b00
jmp 0x140090c20
mov rdi, qword [r13 + 0x120]
test rdi, rdi
je 0x140090ca9
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 0x140090d05
mov rax, qword [r13 + 0x10]
mov qword [r13 + 8], rax
mov rcx, rsi
call fcn.14008fac0
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 0x1400911be
mov qword [rsp + 0x20], rcx
cmp ebp, 0x80000000
je 0x1400911e7
mov rbx, qword [rsi]
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x1400911e7
mov eax, 1
shl rax, cl
or eax, 0x40000000
cmp eax, ebp
je 0x1400911e7
mov eax, 2
shl rax, cl
cmp rax, 0x8000000
jae 0x1400911e7
or eax, 0x20000000
cmp eax, ebp
je 0x1400911e7
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 0x140090e85
cmp dword [rbx + 0x40], 1
mov rcx, qword [rsp + 0x30]
jne 0x140090e7c
mov rax, qword [r13 + 0x150]
cmp rax, qword [rbx + 0x48]
jb 0x140090e7c
cmp dword [rbx + 0x50], 1
jne 0x1400911cf
mov rax, qword [rbx + 0x58]
mov r11, qword [r13 + 0x158]
cmp qword [r13], 0
je 0x140090e5f
mov r9, qword [r13 + 8]
mov r10, qword [r13 + 0x10]
mov r8, r9
sub r8, r10
ja 0x140090e62
sub r10, r9
mov r8, r10
jmp 0x140090e62
xor r8d, r8d
add r8, r11
mul rdx
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp r8, rdx
jb 0x1400911cf
call fcn.140090b80
mov r14, qword [r13 + 0x28]
cmp r14, 0x8000000
jb 0x140090f12
cmp dword [rbx + 0x40], 1
mov rcx, qword [rsp + 0x30]
jne 0x140090efc
mov rax, qword [r13 + 0x150]
cmp rax, qword [rbx + 0x48]
jb 0x140090efc
cmp dword [rbx + 0x50], 1
jne 0x1400911cf
mov rax, qword [rbx + 0x58]
mov r10, qword [r13 + 0x158]
cmp qword [r13], 0
je 0x140090ede
mov rdx, qword [r13 + 8]
mov r9, qword [r13 + 0x10]
mov r8, rdx
sub r8, r9
ja 0x140090ee1
sub r9, rdx
mov r8, r9
jmp 0x140090ee1
xor r8d, r8d
add r8, r10
mul qword [r13 + 0x58]
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp r8, rdx
jb 0x1400911cf
call fcn.140090b80
mov r14, qword [r13 + 0x28]
cmp r14, 0x8000000
jae 0x1400911e7
test rdi, rdi
je 0x1400911e7
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 0x140090f75
mov rcx, qword [r13 + 0x20]
cmp r12d, 2
ja 0x140090f92
nop dword [rax]
lea rdx, [rax + 1]
mov dword [rcx + rax*4], 0x80000000
mov rax, rdx
dec r15
jne 0x140090f60
jmp 0x140090fc7
lea rcx, [r13 + 0x18]
mov rdx, r14
mov r8, r15
call fcn.1400507f0
mov rax, qword [r13 + 0x28]
mov rcx, qword [r13 + 0x20]
cmp r12d, 2
jbe 0x140090f60
and r15, 0xfffffffffffffff8
lea rcx, [rcx + rax*4]
add rcx, 0x10
add rax, r15
xor edx, edx
movdqa xmm0, xmmword [0x140111170]
nop dword [rax + rax]
movdqu xmmword [rcx + rdx*4 - 0x10], xmm0
movdqu xmmword [rcx + rdx*4], xmm0
add rdx, 8
cmp r15, rdx
jne 0x140090fb0
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 0x1400910fd
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x1400911e7
mov edx, 2
shl rdx, cl
cmp rdx, 0x8000000
jae 0x1400911e7
lea r8, [rbx + 0x290]
mov r9d, edx
or r9d, 0x20000000
xor r10d, r10d
mov r11d, 1
xor eax, eax
cmp rax, 0xff
jbe 0x14009105f
jmp 0x1400910fd
inc rax
cmp rax, 0xff
ja 0x1400910fd
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 0x140091050
mov r15, qword [r13 + 0x28]
cmp r15, r14
jbe 0x1400911e7
movzx ecx, byte [rbx + 0x2b8]
mov r12, 0xffffffffffffffff
shl r12, cl
mov rcx, r12
not rcx
test r14, rcx
jne 0x1400911e7
cmp r15, rdx
jbe 0x1400911e7
and r12, rdx
je 0x1400911e7
movzx ecx, byte [rbx + rax + 0x190]
add rcx, r14
cmp rcx, r15
jae 0x1400911e7
mov rsi, qword [r13 + 0x20]
mov dword [rsi + rcx*4], r9d
inc rax
cmp rax, 0xff
jbe 0x14009105f
mov rax, qword [rsp + 0x28]
add qword [r13 + 0x148], rax
mov rsi, qword [rsp + 0x20]
lock inc qword [rsi]
jle 0x1400911e7
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 0x140091140
lea rcx, [r13 + 0x48]
call fcn.140050430
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.140080db0
cmp dword [r13 + 0x100], 1
jne 0x140091196
mov rax, qword [r13 + 0x108]
lock dec qword [rax]
jne 0x140091196
mov rcx, qword [r13 + 0x108]
mov rdx, qword [r13 + 0x110]
call fcn.1400f8b00
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 0x1400911e7
mov rdx, rdi
mov rcx, qword [rsp + 0x20]
call fcn.1400f8b00
ud2