Function at 0x180015580
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov r12, rcx
mov rsi, qword [rcx + 8]
mov qword [rsi + 0x28], 0
mov qword [rsi + 0x40], 0
mov rdi, qword [rsi + 0x50]
mov rbx, qword [rsi + 0x58]
mov qword [rsi + 0x58], 0
test rbx, rbx
jne 0x1800155f9
lea rbp, [rsi + 0x118]
mov rdi, qword [rsi + 0x130]
test rdi, rdi
je 0x1800156be
mov rbx, qword [rbp]
movdqa xmm0, xmmword [rbx]
pmovmskb r15d, xmm0
not r15d
lea r14, [rbx + 0x10]
jmp 0x18001561f
add rdi, 0x10
dec rbx
je 0x1800155bf
mov rax, qword [rdi]
lock dec qword [rax]
jne 0x1800155f0
mov rcx, rdi
call fcn.180006a40
jmp 0x1800155f0
lea eax, [r15 - 1]
and eax, r15d
mov r15d, eax
dec rdi
je 0x180015677
test r15w, r15w
jne 0x180015651
nop word cs:[rax + rax]
movdqa xmm0, xmmword [r14]
pmovmskb r15d, xmm0
add rbx, 0xfffffffffffffe80
add r14, 0x10
cmp r15d, 0xffff
je 0x180015630
not r15d
tzcnt eax, r15d
neg rax
lea rax, [rax + rax*2]
mov rcx, qword [rbx + rax*8 - 0x18]
lock dec qword [rcx]
jne 0x180015610
lea rcx, [rbx + rax*8]
add rcx, 0xffffffffffffffe8
call fcn.180006a40
jmp 0x180015610
mov rdi, qword [rsi + 0x120]
test rdi, rdi
je 0x180015692
mov rcx, qword [rbp]
lea r8, [rdi + 0x11]
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov qword [rsi + 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 [rsi + 0x128], rax
mov qword [rsi + 0x148], 0
inc qword [rsi + 0x150]
mov qword [rsi + 0x158], 0
cmp dword [rsi], 1
jne 0x1800156e8
mov rax, qword [rsi + 0x10]
mov qword [rsi + 8], rax
mov rcx, r12
call fcn.180015c80
mov eax, dword [rsi + 0x100]
mov ebx, dword [rsi + 0x104]
mov r14, qword [rsi + 0x108]
mov r15, qword [rsi + 0x110]
mov dword [rsi + 0x100], 0
cmp eax, 1
jne 0x180015b20
mov eax, ebx
neg eax
jo 0x180015b60
mov r11, qword [r12]
mov rcx, qword [r11 + 0x2b8]
and ecx, 0x3f
mov eax, 1
shl rax, cl
cmp rcx, 0x1b
jae 0x180015b99
or eax, 0x40000000
cmp eax, ebx
je 0x180015b60
mov eax, 2
shl rax, cl
cmp rax, 0x8000000
jae 0x180015ba7
or eax, 0x20000000
cmp eax, ebx
je 0x180015b60
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r15
mov r13, qword [rsi + 0x28]
mov rdx, qword [rsi + 0x58]
mov rax, rdx
shl rax, 4
mov r8, qword [rsi + 0x40]
add r8, r13
add r8, qword [rsi + 0x70]
add r8, qword [rsi + 0x88]
add r8, qword [rsi + 0xa8]
add r8, qword [rsi + 0xc0]
mov r9, qword [rsi + 0x130]
add r8, qword [rsi + 0xd0]
mov r10d, 4
shl r10, cl
lea rcx, [r9 + r9*4]
add rax, r15
add rax, r10
lea rax, [rax + rcx*4]
add rax, qword [rsi + 0xe8]
add rax, qword [rsi + 0x148]
lea rax, [rax + r8*4]
add rax, 0x24
cmp rax, qword [r11 + 0x2c0]
mov qword [rsp + 0x38], r11
jbe 0x18001586d
cmp dword [r11 + 0x40], 1
jne 0x18001585c
mov rax, qword [rsi + 0x150]
cmp rax, qword [r11 + 0x48]
jb 0x18001585c
cmp dword [r11 + 0x50], 1
jne 0x180015c13
mov rax, qword [r11 + 0x58]
mov r8, qword [rsi + 0x158]
cmp dword [rsi], 1
jne 0x180015840
mov rcx, qword [rsi + 0x10]
mov r9, qword [rsi + 8]
mov r10, rcx
sub r10, r9
neg r10
sub rcx, r9
cmovb rcx, r10
jmp 0x180015842
xor ecx, ecx
add rcx, r8
mul rdx
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp rcx, rdx
jb 0x180015c13
mov rcx, r12
call fcn.180015580
mov r11, qword [rsp + 0x38]
mov r13, qword [rsi + 0x28]
cmp r13, 0x8000000
jb 0x1800158fe
cmp dword [r11 + 0x40], 1
jne 0x1800158e0
mov rax, qword [rsi + 0x150]
cmp rax, qword [r11 + 0x48]
jb 0x1800158e0
cmp dword [r11 + 0x50], 1
jne 0x180015c13
mov rax, qword [r11 + 0x58]
mov rdx, qword [rsi + 0x158]
cmp dword [rsi], 1
jne 0x1800158c3
mov rcx, qword [rsi + 0x10]
mov r8, qword [rsi + 8]
mov r9, rcx
sub r9, r8
neg r9
sub rcx, r8
cmovb rcx, r9
jmp 0x1800158c5
xor ecx, ecx
add rcx, rdx
mul qword [rsi + 0x58]
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp rcx, rdx
jb 0x180015c13
mov rcx, r12
call fcn.180015580
mov r13, qword [rsi + 0x28]
cmp r13, 0x8000000
jae 0x180015c4c
mov r11, qword [rsp + 0x38]
mov qword [rsp + 0x80], rbp
test r15, r15
je 0x180015bd9
and ebx, 0x10000000
movzx ebp, byte [r14 + 0x10]
mov rdi, qword [r11 + 0x2b8]
and edi, 0x3f
mov r12d, 1
mov ecx, edi
shl r12, cl
and ebp, 1
mov rax, qword [rsi + 0x18]
sub rax, r13
cmp rax, r12
jb 0x180015b34
mov rax, r13
or ebx, r13d
shl ebp, 0x1b
mov rcx, qword [rsi + 0x20]
cmp edi, 2
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x70], r15
ja 0x180015975
nop
lea rdx, [rax + 1]
mov dword [rcx + rax*4], 0x80000000
mov rax, rdx
dec r12
jne 0x180015960
jmp 0x1800159a7
and r12, 0xfffffffffffffff8
lea rcx, [rcx + rax*4]
add rcx, 0x10
add rax, r12
xor edx, edx
movdqa xmm0, xmmword [0x18012f430]
nop
movdqu xmmword [rcx + rdx*4 - 0x10], xmm0
movdqu xmmword [rcx + rdx*4], xmm0
add rdx, 8
cmp r12, rdx
jne 0x180015990
mov rdx, rax
or ebp, ebx
mov qword [rsi + 0x28], rdx
mov rax, qword [r11 + 0x298]
or rax, qword [r11 + 0x2a8]
mov rcx, qword [r11 + 0x290]
or rcx, qword [r11 + 0x2a0]
or rcx, rax
je 0x180015a86
mov rcx, qword [r11 + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x180015beb
mov edi, 2
shl rdi, cl
cmp rdi, 0x8000000
jae 0x180015c01
lea rbx, [r11 + 0x290]
or edi, 0x20000000
xor r14d, r14d
mov r15d, 1
xor r12d, r12d
xor r13d, r13d
jmp 0x180015a2a
add r12d, 0x100
inc r13
cmp r13, 0xff
ja 0x180015a86
xor eax, eax
mov ecx, r13d
shld rax, r15, cl
mov rdx, r13
shr rdx, 3
mov r8d, 1
shl r8, cl
and rdx, 0xfffffffffffffff0
test r13b, 0x40
cmovne rax, r8
cmovne r8, r14
and rax, qword [rbx + rdx + 8]
and r8, qword [rbx + rdx]
or r8, rax
je 0x180015a20
mov dword [rsp + 0x20], edi
mov rcx, r11
mov rdx, rsi
mov r8d, ebp
mov r9d, r12d
call fcn.180016d60
mov r11, qword [rsp + 0x38]
jmp 0x180015a20
mov r15, qword [rsp + 0x70]
add qword [rsi + 0x148], r15
mov r14, qword [rsp + 0x78]
lock inc qword [r14]
jle 0x180015be9
mov rbx, qword [rsi + 0x58]
cmp rbx, qword [rsi + 0x48]
jne 0x180015ab4
lea rcx, [rsi + 0x48]
call fcn.180021170
lea rdi, [rsi + 0x108]
mov rax, qword [rsi + 0x50]
mov rcx, rbx
shl rcx, 4
mov qword [rax + rcx], r14
mov qword [rax + rcx + 8], r15
inc rbx
mov qword [rsi + 0x58], rbx
mov rcx, qword [rsp + 0x80]
mov rdx, r14
mov r8, r15
mov r9d, ebp
call fcn.180021ac0
cmp dword [rsi + 0x100], 1
jne 0x180015b06
mov rax, qword [rdi]
lock dec qword [rax]
jne 0x180015b06
mov rcx, rdi
call fcn.180006a40
mov dword [rsi + 0x100], 2
mov dword [rsi + 0x104], ebp
movdqu xmm0, xmmword [rsp + 0x40]
movdqu xmmword [rdi], xmm0
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsi + 0x18]
mov qword [rsp + 0x20], 4
mov r9d, 4
mov rdx, r13
mov r8, r12
call fcn.18010d440
mov r11, qword [rsp + 0x38]
mov rax, qword [rsi + 0x28]
jmp 0x180015945
lea rax, str.cannot_save_sentinel_state
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
mov qword [rsp + 0x50], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
lea rdx, [0x18012f860]
lea rcx, [rsp + 0x40]
call fcn.180112410
mov qword [rsp + 0x40], rax
lea rax, [0x18012fad8]
jmp 0x180015bb7
mov qword [rsp + 0x40], 0x8000000
lea rax, [0x18012faf0]
mov qword [rsp + 0x20], rax
lea rcx, [0x18012f5b0]
lea r9, [0x18012f590]
lea r8, [rsp + 0x40]
mov edx, 0x2b
call fcn.1801127a0
lea r8, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srcutildeterminize_state.rs
xor ecx, ecx
xor edx, edx
call fcn.180112540
ud2
mov eax, 1
shl rax, cl
mov qword [rsp + 0x30], rax
lea rax, [0x18012fad8]
jmp 0x180015c58
mov qword [rsp + 0x30], 0x8000000
lea rax, [0x18012faf0]
jmp 0x180015c58
lock dec qword [r14]
jne 0x180015c23
lea rcx, [rsp + 0x40]
call fcn.180006a40
lea rax, [0x18012f818]
mov qword [rsp + 0x20], rax
lea rcx, str.adding_one_state_after_cache_clear_must_work
lea r9, [0x18012f570]
lea r8, [rsp + 0x40]
mov edx, 0x2c
call fcn.1801127a0
mov qword [rsp + 0x30], r13
lea rax, [0x18012f7d0]
mov qword [rsp + 0x20], rax
lea rcx, [0x18012f5b0]
lea r9, [0x18012f590]
lea r8, [rsp + 0x30]
mov edx, 0x2b
call fcn.1801127a0
int3