Function at 0x14009cc50
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 rsi, r9
mov rbx, r8
mov r14, rdx
mov rbp, rcx
mov r15, qword [r9 + 0x10]
mov rdi, qword [r9 + 0x20]
cmp rdi, r15
jae 0x14009cd03
mov rax, qword [rsi + 8]
movzx eax, byte [rax + rdi]
movzx r12d, al
mov edx, dword [rsi]
mov r8d, dword [rsi + 4]
mov rax, qword [r14 + 0x290]
or rax, qword [r14 + 0x2a0]
mov rcx, qword [r14 + 0x288]
or rcx, qword [r14 + 0x298]
or rcx, rax
je 0x14009cd16
lea rax, [r14 + 0x288]
mov r9d, r12d
shr r9d, 7
shl r9, 4
mov r10d, 1
xor r11d, r11d
mov ecx, r12d
shld r11, r10, cl
shl r10, cl
xor ecx, ecx
test r12b, 0x40
cmovne r11, r10
cmovne r10, rcx
and r11, qword [rax + r9 + 8]
and r10, qword [rax + r9]
or r10, r11
je 0x14009cd16
shl r12, 0x20
mov r13d, 4
jmp 0x14009cf99
mov edx, dword [rsi]
mov r8d, dword [rsi + 4]
mov r9b, 2
movzx ecx, r9b
test edx, edx
jne 0x14009cd24
jmp 0x14009cd31
movzx r9d, byte [r14 + r12 + 0x78]
movzx ecx, r9b
test edx, edx
je 0x14009cd31
cmp edx, 1
jne 0x14009cf81
add rcx, 6
mov rax, qword [rbx + 0x58]
cmp rcx, rax
jae 0x14009d0b0
mov rax, qword [rbx + 0x48]
mov r12d, dword [rax + rcx*4]
shl r12, 0x20
js 0x14009d283
shr r12, 0x20
mov r13, qword [rsi + 0x18]
cmp r13, rdi
jne 0x14009cdcd
test rdi, rdi
je 0x14009d180
lea r13, [rdi - 1]
cmp r13, r15
jae 0x14009d78f
mov rax, qword [rsi + 8]
movzx esi, byte [rax + r13]
movzx eax, byte [r14 + rsi + 0x188]
mov ecx, r12d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rbx + 0x40]
cmp rcx, rdx
jae 0x14009d60c
mov rax, qword [rbx + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x14009d487
mov eax, edx
test eax, 0x8000000
jne 0x14009d1d8
test eax, 0x20000000
jne 0x14009d2d8
xor r8d, r8d
jmp 0x14009d476
mov qword [rsp + 0x30], rbp
dec rdi
mov rbp, qword [rsi + 8]
mov rax, qword [r14 + 0x178]
mov qword [rsp + 0x90], rax
mov r11, qword [r14 + 0x180]
and r11d, 0x3f
xor r10d, r10d
nop word cs:[rax + rax]
cmp rdi, r15
jae 0x14009d61a
movzx r8d, byte [rbp + rdi]
movzx eax, byte [r14 + r8 + 0x188]
mov ecx, r12d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rbx + 0x40]
cmp rcx, rdx
jae 0x14009d60c
mov rax, qword [rbx + 0x30]
mov esi, dword [rax + rcx*4]
test esi, esi
js 0x14009cf0f
cmp esi, 0x7ffffff
jbe 0x14009ceed
mov eax, esi
test eax, 0x8000000
jne 0x14009ce70
test eax, 0x40000000
jne 0x14009d3d0
test eax, 0x20000000
je 0x14009ceed
jmp 0x14009d3ed
xor r9d, r9d
mov rax, qword [rsp + 0x90]
cmp qword [rax + 0x160], 1
je 0x14009cedb
mov eax, esi
and eax, 0x7ffffff
mov ecx, r11d
shr rax, cl
mov rdx, qword [rbx + 0x70]
cmp rax, rdx
jae 0x14009d77e
mov rcx, qword [rbx + 0x60]
shl rax, 4
mov rdx, qword [rcx + rax + 8]
test rdx, rdx
je 0x14009d76c
mov rax, qword [rcx + rax]
test byte [rax + 0x10], 2
je 0x14009cedb
cmp rdx, 0xd
jb 0x14009d7c5
add rdx, 0xfffffffffffffff3
cmp rdx, 3
jbe 0x14009d7d8
mov r9d, dword [rax + 0x1d]
lea rax, [rdi + 1]
mov qword [rsp + 0x88], rax
mov r10d, 1
cmp r13, rdi
je 0x14009d0c1
dec rdi
mov r12d, esi
cmp rdi, qword [rsp + 0x110]
jae 0x14009ce00
jmp 0x14009d167
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x98], r10
mov qword [rsp + 0xa0], r15
mov r15, r13
mov r13d, r9d
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbx
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.14038c690
test eax, eax
jne 0x14009d52b
mov esi, edx
mov r9d, r13d
mov r13, r15
mov r15, qword [rsp + 0xa0]
mov r10, qword [rsp + 0x98]
mov r11, qword [rsp + 0x80]
cmp esi, 0x7ffffff
ja 0x14009ce4c
jmp 0x14009ceed
test byte [r14 + 0x71], 1
mov r12d, r8d
jne 0x14009d083
shl r12, 0x20
mov r13d, 2
lea ecx, [r13 - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x14009d005
shr r12, 0x20
cmp eax, 1
jne 0x14009d7eb
movzx eax, byte [0x1404a3530]
mov rcx, qword [0x1404a3498]
test rcx, rcx
jne 0x14009cfe5
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14009d826
mov rcx, rax
mov qword [0x1404a3498], rax
mov r8d, 0x10
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x14009d826
mov byte [rax], 0
mov byte [rax + 1], r12b
jmp 0x14009d04b
movzx eax, byte [0x1404a3530]
mov rcx, qword [0x1404a3498]
test rcx, rcx
jne 0x14009d031
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14009d826
mov rcx, rax
mov qword [0x1404a3498], rax
mov r8d, 0x10
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x14009d826
mov byte [rax], 1
mov qword [rax + 8], rdi
mov qword [rsp + 0x38], rax
mov rsi, qword [rax + 8]
mov rcx, qword [0x1404a3498]
xor edx, edx
mov r8, rax
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rbp + 8], 1
mov qword [rbp + 0x10], rsi
mov qword [rbp], 2
jmp 0x14009d758
mov rax, qword [r14 + 0x178]
cmp qword [rax + 0x160], r12
jbe 0x14009d255
lea rax, [r12 + r12*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov rax, qword [rbx + 0x58]
cmp rcx, rax
jb 0x14009cd3e
lea r8, str.C:Users_rosesxrq.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.3_srchybriddfa.rs
mov rdx, rax
call fcn.1403897b0
ud2
test r13, r13
je 0x14009d345
movzx edi, byte [rbp + r13 - 1]
movzx eax, byte [r14 + rdi + 0x188]
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rbx + 0x40]
cmp rcx, rdx
jae 0x14009d60c
mov rax, qword [rbx + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
mov r15, qword [rsp + 0x30]
js 0x14009d594
mov eax, edx
test eax, 0x8000000
jne 0x14009d649
test eax, 0x20000000
je 0x14009d396
dec r13
mov ecx, edi
mov rdx, r13
call fcn.1400c4c50
mov qword [rsp + 0x38], rax
movzx ecx, byte [rax]
test rcx, rcx
je 0x14009d140
cmp ecx, 1
jne 0x14009d877
mov rsi, qword [rax + 8]
mov rcx, qword [0x1404a3498]
xor edx, edx
mov r8, rax
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [r15 + 8], 1
mov qword [r15 + 0x10], rsi
jmp 0x14009d3c4
mov rax, qword [rsp + 0x30]
mov qword [rax + 8], 0
mov qword [rax], 2
jmp 0x14009d758
movzx r8d, byte [r14 + 0x287]
shl r8d, 0x10
add r8d, 0x10001
mov eax, r8d
shr eax, 0x10
mov ecx, r12d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rbx + 0x40]
cmp rdx, rcx
jbe 0x14009d7a3
mov rax, qword [rbx + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x14009d558
xor r9d, r9d
test edx, 0x8000000
jne 0x14009d2b6
xor r8d, r8d
jmp 0x14009d476
mov rax, qword [r14 + 0x178]
mov r8d, 1
xor r9d, r9d
cmp qword [rax + 0x160], 1
je 0x14009d476
and edx, 0x7ffffff
movzx ecx, byte [r14 + 0x180]
shr rdx, cl
mov rax, qword [rbx + 0x70]
cmp rdx, rax
jae 0x14009d7b1
mov rcx, qword [rbx + 0x60]
shl rdx, 4
mov rax, qword [rcx + rdx + 8]
test rax, rax
je 0x14009d76c
mov rcx, qword [rcx + rdx]
test byte [rcx + 0x10], 2
je 0x14009d476
cmp rax, 0xd
jb 0x14009d8d1
add rax, 0xfffffffffffffff3
cmp rax, 3
ja 0x14009d472
jmp 0x14009d8e7
mov rcx, qword [r14 + 0x180]
and ecx, 0x3f
mov r12d, 1
shl r12, cl
cmp rcx, 0x1b
jae 0x14009d837
or r12d, 0x40000000
shl r12, 0x20
jns 0x14009cd50
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbx
lea rcx, [rsp + 0x40]
call fcn.14038db30
movabs r12, 0xffffffff00000000
and r12, rax
mov r13d, eax
cmp r13, 5
je 0x14009cd50
jmp 0x14009cf99
mov rax, qword [r14 + 0x178]
mov r8d, 1
cmp qword [rax + 0x160], 1
jne 0x14009d413
xor edi, edi
jmp 0x14009d476
movzx eax, byte [0x1404a3530]
mov rcx, qword [0x1404a3498]
test rcx, rcx
jne 0x14009d304
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14009d826
mov rcx, rax
mov qword [0x1404a3498], rax
mov r8d, 0x10
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x14009d826
mov byte [rax], 0
mov byte [rax + 1], sil
mov qword [rax + 8], r13
mov qword [rsp + 0x38], rax
movzx ecx, byte [rax]
test rcx, rcx
je 0x14009d054
cmp ecx, 1
je 0x14009d054
jmp 0x14009d877
movzx r8d, byte [r14 + 0x287]
shl r8d, 0x10
add r8d, 0x10001
mov eax, r8d
shr eax, 0x10
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rbx + 0x40]
cmp rdx, rcx
mov r15, qword [rsp + 0x30]
jbe 0x14009d7a3
mov rax, qword [rbx + 0x30]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x14009d5c8
test edx, 0x8000000
jne 0x14009d6d7
test esi, 0x40000000
jne 0x14009d51e
test r10, r10
mov rax, qword [rsp + 0x88]
je 0x14009d74d
cmp rax, r13
jbe 0x14009d74d
mov qword [r15 + 8], 0
mov qword [r15], 2
jmp 0x14009d758
mov rax, qword [rsp + 0x30]
mov qword [rax], r10
mov rcx, qword [rsp + 0x88]
mov qword [rax + 8], rcx
mov dword [rax + 0x10], r9d
jmp 0x14009d758
movzx ebx, byte [rbp + rdi]
movzx eax, byte [0x1404a3530]
mov rcx, qword [0x1404a3498]
test rcx, rcx
je 0x14009d4b5
mov rsi, qword [rsp + 0x30]
jmp 0x14009d4d3
and edx, 0x7ffffff
movzx ecx, byte [r14 + 0x180]
shr rdx, cl
mov rax, qword [rbx + 0x70]
cmp rdx, rax
jae 0x14009d7b1
mov rcx, qword [rbx + 0x60]
shl rdx, 4
mov rax, qword [rcx + rdx + 8]
test rax, rax
je 0x14009d76c
mov rcx, qword [rcx + rdx]
test byte [rcx + 0x10], 2
jne 0x14009d458
xor r9d, r9d
xor edi, edi
jmp 0x14009d476
cmp rax, 0xd
jb 0x14009d8d1
add rax, 0xfffffffffffffff3
cmp rax, 3
jbe 0x14009d8e7
xor edi, edi
mov r9d, dword [rcx + 0x1d]
mov qword [rbp], r8
mov qword [rbp + 8], rdi
mov dword [rbp + 0x10], r9d
jmp 0x14009d758
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbx
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.14038c690
test eax, eax
je 0x14009cdad
mov rcx, rdi
jmp 0x14009d579
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
mov rsi, qword [rsp + 0x30]
je 0x14009d826
mov rcx, rax
mov qword [0x1404a3498], rax
mov r8d, 0x10
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x14009d826
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], rdi
mov rcx, qword [0x1404a3498]
xor edx, edx
mov r8, rax
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsi + 8], 1
mov qword [rsi + 0x10], rdi
mov qword [rsi], 2
jmp 0x14009d758
mov rax, qword [rsp + 0x88]
jmp 0x14009d74d
mov rcx, rdi
call fcn.1400f4b20
mov rcx, rax
call fcn.1400c7900
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], 1
mov qword [rcx + 0x10], rax
mov qword [rcx], 2
jmp 0x14009d758
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbx
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.14038c690
test eax, eax
je 0x14009d1c1
xor ecx, ecx
call fcn.1400f4b20
mov qword [rsp + 0x38], rax
movzx ecx, byte [rax]
test rcx, rcx
jne 0x14009d337
jmp 0x14009d054
mov qword [rsp + 0x80], r11
mov r12, r10
mov ebp, r9d
mov r8d, edi
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbx
lea rcx, [rsp + 0x40]
mov edx, esi
call fcn.14038c690
test eax, eax
je 0x14009d62e
mov rcx, r13
jmp 0x14009d5f1
mov rbp, r11
mov r12, r10
mov edi, r9d
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbx
lea rcx, [rsp + 0x40]
mov edx, esi
call fcn.14038c690
test eax, eax
je 0x14009d6c2
xor ecx, ecx
call fcn.1400f4b20
mov qword [rsp + 0x38], rax
movzx ecx, byte [rax]
test rcx, rcx
jne 0x14009d137
jmp 0x14009d140
lea r8, str.C:Users_rosesxrq.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.3_srchybriddfa.rs
call fcn.1403897b0
ud2
lea r8, [0x1403cc270]
mov rcx, rdi
mov rdx, r15
call fcn.1403897b0
ud2
mov r9d, ebp
mov r10, r12
mov r11, qword [rsp + 0x80]
mov eax, edx
test eax, 0x8000000
je 0x14009d112
xor r9d, r9d
mov r10d, 1
mov rax, qword [rsp + 0x90]
cmp qword [rax + 0x160], 1
je 0x14009d74a
and edx, 0x7ffffff
mov ecx, r11d
shr rdx, cl
mov rax, qword [rbx + 0x70]
cmp rdx, rax
jae 0x14009d7b1
mov rcx, qword [rbx + 0x60]
shl rdx, 4
mov rax, qword [rcx + rdx + 8]
test rax, rax
je 0x14009d76c
mov rcx, qword [rcx + rdx]
test byte [rcx + 0x10], 2
je 0x14009d74a
cmp rax, 0xd
jb 0x14009d8d1
add rax, 0xfffffffffffffff3
cmp rax, 3
ja 0x14009d746
jmp 0x14009d8e7
mov r9d, edi
mov r10, r12
mov r11, rbp
test edx, 0x8000000
je 0x14009d396
mov r10d, 1
mov rax, qword [rsp + 0x90]
cmp qword [rax + 0x160], 1
je 0x14009d724
and edx, 0x7ffffff
mov ecx, r11d
shr rdx, cl
mov rax, qword [rbx + 0x70]
cmp rdx, rax
jae 0x14009d7b1
mov rcx, qword [rbx + 0x60]
shl rdx, 4
mov rax, qword [rcx + rdx + 8]
test rax, rax
je 0x14009d76c
mov rcx, qword [rcx + rdx]
test byte [rcx + 0x10], 2
jne 0x14009d72b
xor eax, eax
xor r9d, r9d
jmp 0x14009d74d
cmp rax, 0xd
jb 0x14009d8d1
add rax, 0xfffffffffffffff3
cmp rax, 3
jbe 0x14009d8e7
xor r13d, r13d
mov r9d, dword [rcx + 0x1d]
mov rax, r13
mov qword [r15], r10
mov qword [r15 + 8], rax
mov dword [r15 + 0x10], r9d
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:Users_rosesxrq.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.3_srcutildeterminize_state.rs
xor ecx, ecx
xor edx, edx
call fcn.1403897b0
ud2
lea r8, str.C:Users_rosesxrq.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.3_srchybriddfa.rs
mov rcx, rax
call fcn.1403897b0
ud2
lea r8, [0x1403cc288]
mov rcx, r13
mov rdx, r15
call fcn.1403897b0
ud2
lea r8, str.C:Users_rosesxrq.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.3_srchybriddfa.rs
call fcn.1403897b0
ud2
lea r8, str.C:Users_rosesxrq.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.3_srchybriddfa.rs
mov rcx, rdx
mov rdx, rax
call fcn.1403897b0
ud2
lea r8, str.C:Users_rosesxrq.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.3_srcutildeterminize_state.rs
mov ecx, 0xd
call fcn.140389730
ud2
lea r8, str.C:Users_rosesxrq.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.3_srcutilwire.rs
mov ecx, 4
call fcn.140389830
ud2
movzx eax, byte [0x1404a3530]
mov rcx, qword [0x1404a3498]
test rcx, rcx
jne 0x14009d813
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x14009d826
mov rcx, rax
mov qword [0x1404a3498], rax
mov r8d, 0x10
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
jne 0x14009d867
mov ecx, 8
mov edx, 0x10
call fcn.140389330
ud2
mov qword [rsp + 0x40], r12
lea rax, str.C:Users_rosesxrq.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.3_srchybriddfa.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x1403cb2d8]
lea r8, [rsp + 0x40]
mov edx, 0x2b
call fcn.140389c00
ud2
mov byte [rax], 3
mov dword [rax + 4], r13d
mov dword [rax + 8], r12d
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x70], rax
lea rax, [0x1400c7990]
mov qword [rsp + 0x78], rax
lea rax, str.internal_error:_entered_unreachable_code:_found_impossible_error_in_meta_engine:
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
mov qword [rsp + 0x60], 0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
lea rdx, str.C:Users_rosesxrq.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.3_srcmetaerror.rs
lea rcx, [rsp + 0x40]
call fcn.1403896f0
ud2
lea r8, str.C:Users_rosesxrq.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.3_srcutildeterminize_state.rs
mov ecx, 0xd
mov rdx, rax
call fcn.140389730
ud2
lea r8, str.C:Users_rosesxrq.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.3_srcutilwire.rs
mov ecx, 4
mov rdx, rax
call fcn.140389830
ud2