Function at 0x1401596f0
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov r15, r9
mov rbx, r8
mov r11, rdx
mov r13, rcx
mov rdi, qword [r9 + 0x18]
test rdi, rdi
je 0x1401597b1
lea rax, [rdi - 1]
cmp rax, qword [r15 + 0x10]
jae 0x1401597b1
mov rcx, qword [r15 + 8]
movzx eax, byte [rcx + rax]
movzx r9d, al
mov eax, dword [r15]
mov r8d, dword [r15 + 4]
mov rcx, qword [r11 + 0x298]
or rcx, qword [r11 + 0x2a8]
mov rdx, qword [r11 + 0x290]
or rdx, qword [r11 + 0x2a0]
or rdx, rcx
je 0x1401597c5
lea rdx, [r11 + 0x290]
mov r10d, r9d
shr r10d, 3
and r10d, 0xfffffff0
mov r14, r11
mov r11d, 1
xor esi, esi
mov ecx, r9d
shld rsi, r11, cl
shl r11, cl
xor ecx, ecx
test r9b, 0x40
cmovne rsi, r11
cmovne r11, rcx
and rsi, qword [rdx + r10 + 8]
and r11, qword [rdx + r10]
or r11, rsi
mov r11, r14
je 0x1401597c5
shl r9, 0x20
or r9, 4
jmp 0x140159be8
mov eax, dword [r15]
mov r8d, dword [r15 + 4]
mov r9b, 2
movzx ecx, r9b
test eax, eax
jne 0x1401597d6
jmp 0x1401597e3
movzx r9d, byte [r11 + r9 + 0x90]
movzx ecx, r9b
test eax, eax
je 0x1401597e3
cmp eax, 1
jne 0x140159a44
add rcx, 6
mov rdx, qword [rbx + 0x40]
cmp rcx, rdx
jae 0x140159b72
mov rdx, qword [rbx + 0x38]
mov edx, dword [rdx + rcx*4]
test edx, edx
js 0x140159ba8
mov edx, edx
mov r14, qword [r15 + 0x10]
mov r12, qword [r15 + 0x20]
cmp rdi, r12
jae 0x1401599b8
mov qword [rsp + 0x38], r13
mov r13, qword [r15 + 8]
mov rsi, qword [r11 + 0x2b0]
mov rax, qword [r11 + 0x2b8]
and eax, 0x3f
mov qword [rsp + 0x88], rax
movzx eax, byte [r15 + 0x28]
mov byte [rsp + 0x37], al
xor ebp, ebp
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x78], rsi
jmp 0x140159871
mov ebp, 1
cmp byte [rsp + 0x37], 0
jne 0x140159c65
mov qword [rsp + 0x40], rdi
inc rdi
cmp r12, rdi
je 0x140159a72
cmp rdi, r14
jae 0x140159e18
movzx r8d, byte [r13 + rdi]
movzx eax, byte [r11 + r8 + 0x190]
mov ecx, edx
and ecx, 0x7ffffff
add rcx, rax
mov rax, qword [rbx + 0x28]
cmp rcx, rax
jae 0x140159e09
mov rax, qword [rbx + 0x20]
mov ecx, dword [rax + rcx*4]
test ecx, ecx
js 0x140159958
mov edx, ecx
cmp ecx, 0x7ffffff
jbe 0x140159865
mov eax, edx
test eax, 0x8000000
jne 0x1401598e0
test eax, 0x40000000
jne 0x140159c3f
test eax, 0x20000000
je 0x140159865
jmp 0x140159c23
xor r10d, r10d
cmp qword [rsi + 0x168], 1
je 0x140159850
mov r9d, edx
and r9d, 0x7ffffff
mov rcx, qword [rsp + 0x88]
shr r9, cl
mov rax, qword [rbx + 0x58]
cmp r9, rax
jae 0x140159e3a
mov rcx, qword [rbx + 0x50]
shl r9d, 4
mov rax, qword [rcx + r9 + 8]
test rax, rax
je 0x140159e2a
mov rcx, qword [rcx + r9]
test byte [rcx + 0x10], 2
je 0x140159850
cmp rax, 0xc
jbe 0x140159e7e
add rax, 0xfffffffffffffff3
cmp rax, 3
jbe 0x140159e6a
mov r10d, dword [rcx + 0x1d]
jmp 0x140159850
mov r12, r14
mov r14, rbp
mov rbp, r15
mov r15d, r10d
shl r8d, 8
mov rsi, r11
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x48]
call fcn.1402cd7e0
test eax, eax
jne 0x140159c23
mov ecx, edx
mov r10d, r15d
mov r15, rbp
mov rbp, r14
mov r11, rsi
mov r14, r12
mov r12, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x78]
mov edx, ecx
cmp ecx, 0x7ffffff
jbe 0x140159865
jmp 0x1401598ba
xor ebp, ebp
cmp r12, r14
jae 0x140159a83
mov rax, qword [r15 + 8]
movzx esi, byte [rax + r12]
movzx eax, byte [r11 + rsi + 0x190]
mov ecx, edx
and ecx, 0x7ffffff
add rcx, rax
mov rax, qword [rbx + 0x28]
cmp rcx, rax
jae 0x140159e09
mov rax, qword [rbx + 0x20]
mov r9d, dword [rax + rcx*4]
test r9d, r9d
js 0x140159c7e
mov eax, r9d
test eax, 0x8000000
jne 0x140159d41
test eax, 0x20000000
mov rcx, qword [rsp + 0x40]
je 0x140159dc0
movzx eax, byte [0x1404c8501]
mov edx, 0x10
xor ecx, ecx
call fcn.140277170
test rax, rax
je 0x140159ef6
mov byte [rax], 0
mov byte [rax + 1], sil
jmp 0x140159d03
test byte [r11 + 0x81], 1
mov edx, r8d
jne 0x140159b49
mov rcx, rdx
shl rcx, 0x20
lea rax, [rcx + 2]
mov r9d, eax
cmp r9, 5
je 0x140159801
jmp 0x140159be5
mov rdi, r12
mov r13, qword [rsp + 0x38]
cmp r12, r14
jb 0x1401599c3
movzx r8d, byte [r11 + 0x28f]
shl r8d, 0x10
add r8d, 0x10001
mov eax, r8d
shr eax, 0x10
mov ecx, edx
and ecx, 0x7ffffff
add ecx, eax
mov rax, qword [rbx + 0x28]
cmp rax, rcx
jbe 0x140159e4c
mov rax, qword [rbx + 0x20]
mov r9d, dword [rax + rcx*4]
test r9d, r9d
js 0x140159cbf
test r9d, 0x8000000
mov rcx, qword [rsp + 0x40]
je 0x140159dc0
mov rax, qword [r11 + 0x2b0]
mov ebp, 1
xor r10d, r10d
cmp qword [rax + 0x168], 1
je 0x140159dbd
and r9d, 0x7ffffff
movzx ecx, byte [r11 + 0x2b8]
shr r9, cl
mov rdx, qword [rbx + 0x58]
cmp r9, rdx
jae 0x140159e5b
mov rax, qword [rbx + 0x50]
shl r9d, 4
mov rdx, qword [rax + r9 + 8]
test rdx, rdx
je 0x140159e2a
mov rax, qword [rax + r9]
test byte [rax + 0x10], 2
je 0x140159dbd
cmp rdx, 0xc
jbe 0x140159f33
add rdx, 0xfffffffffffffff3
jmp 0x140159daf
mov r10, qword [r11 + 0x2b0]
cmp qword [r10 + 0x168], rdx
jbe 0x140159b7e
lea rdx, [rdx + rdx*2]
lea rcx, [rcx + rdx*2]
add rcx, 0xc
mov rdx, qword [rbx + 0x40]
cmp rcx, rdx
jb 0x1401597f0
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.5_srchybriddfa.rs
call fcn.1402c7670
mov rcx, qword [r11 + 0x2b8]
and ecx, 0x3f
mov edx, 1
shl rdx, cl
cmp rcx, 0x1b
jae 0x140159f05
or edx, 0x40000000
test edx, edx
jns 0x1401597ff
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x48]
mov edx, eax
mov rsi, r11
call fcn.1402cec00
mov r11, rsi
mov rdx, rax
shr rdx, 0x20
movabs rcx, 0xffffffff00000000
and rcx, rax
mov r9d, eax
cmp r9, 5
je 0x140159801
or r9, rcx
mov rcx, rdi
mov rdx, r9
call fcn.140120800
mov qword [rsp + 0x90], rax
cmp byte [rax], 2
jae 0x140159e92
mov rsi, qword [rax + 8]
mov rcx, qword [0x1404c8458]
xor edx, edx
mov r8, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r13 + 8], rsi
jmp 0x140159d1d
movzx eax, byte [0x1404c8501]
mov rax, qword [rsp + 0x38]
mov qword [rax + 8], rdi
mov qword [rax], 2
jmp 0x140159dd8
xor eax, eax
test rbp, rbp
mov rdx, qword [rsp + 0x40]
cmove rdx, rdi
sete al
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov dword [rcx + 0x10], r10d
jmp 0x140159dd8
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
mov qword [rax + 8], rdi
mov dword [rax + 0x10], r10d
jmp 0x140159dd8
mov r15d, r10d
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x48]
mov r14, r11
call fcn.1402cd7e0
test eax, eax
je 0x140159d2a
movzx eax, byte [0x1404c8501]
mov edx, 0x10
xor ecx, ecx
call fcn.140277170
mov r14, r12
jmp 0x140159cf4
mov r15d, r10d
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x50], rbx
lea rcx, [rsp + 0x48]
mov rsi, r11
call fcn.1402cd7e0
test eax, eax
je 0x140159dec
movzx eax, byte [0x1404c8501]
mov edx, 0x10
xor ecx, ecx
call fcn.140277170
test rax, rax
je 0x140159ef6
mov byte [rax], 1
mov r12, r14
mov qword [rax + 8], r12
mov rcx, qword [0x1404c8458]
xor edx, edx
mov r8, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [r13 + 8], r12
mov qword [r13], 2
jmp 0x140159dd8
mov r9d, edx
mov r10d, r15d
mov r11, r14
mov eax, r9d
test eax, 0x8000000
je 0x140159a0c
mov rax, qword [r11 + 0x2b0]
mov ebp, 1
xor r10d, r10d
cmp qword [rax + 0x168], 1
je 0x140159d99
and r9d, 0x7ffffff
movzx ecx, byte [r11 + 0x2b8]
shr r9, cl
mov rdx, qword [rbx + 0x58]
cmp r9, rdx
jae 0x140159e5b
mov rax, qword [rbx + 0x50]
shl r9d, 4
mov rdx, qword [rax + r9 + 8]
test rdx, rdx
je 0x140159e2a
mov rax, qword [rax + r9]
test byte [rax + 0x10], 2
jne 0x140159d9e
mov rcx, r12
jmp 0x140159dc0
cmp rdx, 0xc
jbe 0x140159f33
add rdx, 0xfffffffffffffff3
mov r14, r12
cmp rdx, 3
jbe 0x140159f44
mov r10d, dword [rax + 0x1d]
mov rcx, r14
xor eax, eax
test rbp, rbp
cmove rcx, rdi
sete al
mov qword [r13], rax
mov qword [r13 + 8], rcx
mov dword [r13 + 0x10], r10d
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r9d, edx
mov r10d, r15d
mov r11, rsi
test r9d, 0x8000000
mov rcx, qword [rsp + 0x40]
jne 0x140159ad6
jmp 0x140159dc0
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.5_srchybriddfa.rs
mov rdx, rax
call fcn.1402c7670
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.5_srcmeta_stopat.rs
mov rcx, rdi
mov rdx, r14
call fcn.1402c7670
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.5_srcutildeterminize_state.rs
xor ecx, ecx
xor edx, edx
call fcn.1402c7670
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.5_srchybriddfa.rs
mov rcx, r9
mov rdx, rax
call fcn.1402c7670
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.5_srchybriddfa.rs
mov rdx, rax
call fcn.1402c7670
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.5_srchybriddfa.rs
mov rcx, r9
call fcn.1402c7670
lea r8, [0x140423430]
mov ecx, 4
mov rdx, rax
call fcn.1402c76e0
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.5_srcutildeterminize_state.rs
mov ecx, 0xd
mov rdx, rax
call fcn.1402c7660
lea rax, [rsp + 0x90]
mov qword [rsp + 0x98], rax
lea rax, [0x140123300]
mov qword [rsp + 0xa0], rax
lea rax, str.internal_error:_entered_unreachable_code:_found_impossible_error_in_meta_engine:
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x68], 0
lea rax, [rsp + 0x98]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 1
lea rdx, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.5_srcmetaerror.rs
lea rcx, [rsp + 0x48]
call fcn.1402c7620
mov ecx, 8
mov edx, 0x10
call fcn.1402c6fa0
mov qword [rsp + 0x48], rdx
lea rax, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.5_srchybriddfa.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x14041e5e8]
lea r8, [rsp + 0x48]
mov edx, 0x2b
call fcn.1402c79b0
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.5_srcutildeterminize_state.rs
mov ecx, 0xd
call fcn.1402c7660
lea r8, [0x140423430]
mov ecx, 4
call fcn.1402c76e0
int3