Function at 0x524550
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
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 0x5245c9
lea r15, [rsi + 0x118]
mov rdi, qword [rsi + 0x130]
test rdi, rdi
je 0x524694
mov r13, r15
mov rbx, qword [r15]
movdqa xmm0, xmmword [rbx]
pmovmskb r15d, xmm0
not r15d
lea r14, [rbx + 0x10]
jmp 0x5245ef
add rdi, 0x10
dec rbx
je 0x52458c
mov rax, qword [rdi]
lock dec qword [rax]
jne 0x5245c0
mov rcx, qword [rdi]
mov rdx, qword [rdi + 8]
call sym.alloc::sync::Arc_T_A_::drop_slow::h2849a27f9ffdd4ce
jmp 0x5245c0
lea eax, [r15 - 1]
and eax, r15d
mov r15d, eax
dec rdi
je 0x52464b
test r15w, r15w
jne 0x524621
nop word cs:[rax + rax]
movdqa xmm0, xmmword [r14]
pmovmskb r15d, xmm0
add rbx, 0xfffffffffffffe80
add r14, 0x10
cmp r15d, 0xffff
je 0x524600
not r15d
tzcnt eax, r15d
neg rax
lea rax, [rax + rax*2]
mov rcx, qword [rbx + rax*8 - 0x18]
lock dec qword [rcx]
jne 0x5245e0
lea rax, [rbx + rax*8]
mov rcx, qword [rax - 0x18]
mov rdx, qword [rax - 0x10]
call sym.alloc::sync::Arc_T_A_::drop_slow::h2849a27f9ffdd4ce
jmp 0x5245e0
mov rdi, qword [rsi + 0x120]
test rdi, rdi
mov r15, r13
je 0x524668
mov rcx, qword [r15]
lea r8, [rdi + 0x11]
mov dl, 0xff
call fcn.006f6398
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 qword [rsi], 0
je 0x5246bf
mov rax, qword [rsi + 0x10]
mov qword [rsi + 8], rax
mov rcx, r12
call sym.regex_automata::hybrid::dfa::Lazy::init_cache::hdf44b8563c164fb7
mov eax, dword [rsi + 0x100]
mov r14d, dword [rsi + 0x104]
mov rbx, qword [rsi + 0x108]
mov rdi, qword [rsi + 0x110]
mov dword [rsi + 0x100], 0
cmp eax, 1
jne 0x524ab5
cmp r14d, 0x80000000
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
je 0x524ac6
mov rax, qword [r12]
mov qword [rsp + 0x28], rax
mov rcx, qword [rax + 0x2b8]
and ecx, 0x3f
mov eax, 1
shl rax, cl
cmp rcx, 0x1b
jae 0x524b40
or eax, 0x40000000
cmp eax, r14d
je 0x524ac6
mov eax, 2
shl rax, cl
cmp rax, 0x8000000
jae 0x524b4e
or eax, 0x20000000
cmp eax, r14d
je 0x524ac6
mov rax, qword [rsi + 0x40]
mov rdx, qword [rsi + 0x58]
mov r8, rdx
shl r8, 4
add rax, qword [rsi + 0x28]
add rax, qword [rsi + 0x70]
add rax, qword [rsi + 0x88]
add rax, qword [rsi + 0xa8]
add rax, qword [rsi + 0xc0]
mov r9, qword [rsi + 0x130]
add rax, qword [rsi + 0xd0]
mov r10d, 4
shl r10, cl
lea rcx, [r9 + r9*4]
add r8, rdi
add r8, r10
lea rcx, [r8 + rcx*4]
add rcx, qword [rsi + 0xe8]
add rcx, qword [rsi + 0x148]
lea rax, [rcx + rax*4]
add rax, 0x24
mov rcx, qword [rsp + 0x28]
cmp rax, qword [rcx + 0x2c0]
jbe 0x52485a
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x40], 1
jne 0x524852
mov rax, qword [rsi + 0x150]
mov rcx, qword [rsp + 0x28]
cmp rax, qword [rcx + 0x48]
jb 0x524852
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x50], 1
jne 0x524b04
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x58]
mov r8, qword [rsi + 0x158]
cmp qword [rsi], 0
je 0x524836
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 0x524838
xor ecx, ecx
add rcx, r8
mul rdx
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
cmp rcx, rdx
jb 0x524b04
mov rcx, r12
call sym.regex_automata::hybrid::dfa::Lazy::clear_cache::he8b91b223bfbe636
mov rcx, r12
call sym.regex_automata::hybrid::dfa::Lazy::next_state_id::ha634671427e4ef80
test eax, eax
jne 0x524b04
test rdi, rdi
je 0x524b82
mov ebp, edx
movzx ebx, byte [rbx + 0x10]
mov rax, qword [rsp + 0x28]
mov r13, qword [rax + 0x2b8]
and r13d, 0x3f
mov r12d, 1
mov ecx, r13d
shl r12, cl
mov rax, qword [rsi + 0x18]
mov rdx, qword [rsi + 0x28]
sub rax, rdx
cmp rax, r12
jae 0x5248b5
lea rcx, [rsi + 0x18]
mov r8, r12
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h577f1e74572ed4ae
mov rdx, qword [rsi + 0x28]
and ebx, 1
and r14d, 0x10000000
or ebp, r14d
shl ebx, 0x1b
mov rax, qword [rsi + 0x20]
cmp r13d, 2
mov qword [rsp + 0x70], r15
ja 0x5248f5
nop word cs:[rax + rax]
lea rcx, [rdx + 1]
mov dword [rax + rdx*4], 0x80000000
mov rdx, rcx
dec r12
jne 0x5248e0
jmp 0x524927
and r12, 0xfffffffffffffff8
lea rax, [rax + rdx*4]
add rax, 0x10
add rdx, r12
xor ecx, ecx
movdqa xmm0, xmmword [0x007209b0]
nop
movdqu xmmword [rax + rcx*4 - 0x10], xmm0
movdqu xmmword [rax + rcx*4], xmm0
add rcx, 8
cmp r12, rcx
jne 0x524910
mov rcx, rdx
or ebp, ebx
mov qword [rsi + 0x28], rcx
mov rdx, qword [rsp + 0x28]
mov rax, qword [rdx + 0x298]
or rax, qword [rdx + 0x2a8]
mov rcx, qword [rdx + 0x290]
or rcx, qword [rdx + 0x2a0]
or rcx, rax
je 0x524a13
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x524b94
mov ebx, 2
shl rbx, cl
cmp rbx, 0x8000000
jae 0x524baa
mov rax, qword [rsp + 0x28]
lea r14, [rax + 0x290]
or ebx, 0x20000000
xor edi, edi
mov r15d, 1
xor r12d, r12d
xor r13d, r13d
jmp 0x5249ba
add r12d, 0x100
inc r13
cmp r13, 0x100
je 0x524a13
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, rdi
and rax, qword [r14 + rdx + 8]
and r8, qword [r14 + rdx]
or r8, rax
je 0x5249b0
mov dword [rsp + 0x20], ebx
mov rcx, qword [rsp + 0x28]
mov rdx, rsi
mov r8d, ebp
mov r9d, r12d
call sym.regex_automata::hybrid::dfa::Lazy::set_transition::hd41b1ac6788e9e8b
jmp 0x5249b0
mov r14, qword [rsp + 0x38]
add qword [rsi + 0x148], r14
mov r15, qword [rsp + 0x30]
lock inc qword [r15]
jle 0x524bdc
mov rbx, qword [rsi + 0x58]
cmp rbx, qword [rsi + 0x48]
jne 0x524a41
lea rcx, [rsi + 0x48]
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h003bde97f71e3733
lea rdi, [rsi + 0x108]
mov rax, qword [rsi + 0x50]
mov rcx, rbx
shl rcx, 4
mov qword [rax + rcx], r15
mov qword [rax + rcx + 8], r14
inc rbx
mov qword [rsi + 0x58], rbx
mov rcx, qword [rsp + 0x70]
mov rdx, r15
mov r8, r14
mov r9d, ebp
call sym.hashbrown::map::HashMap_K_V_S_A_::insert::h01f7b62658085dd2
cmp dword [rsi + 0x100], 1
jne 0x524a9b
mov rax, qword [rdi]
lock dec qword [rax]
jne 0x524a9b
mov rcx, qword [rsi + 0x108]
mov rdx, qword [rsi + 0x110]
call sym.alloc::sync::Arc_T_A_::drop_slow::h2849a27f9ffdd4ce
mov dword [rsi + 0x100], 2
mov dword [rsi + 0x104], ebp
movdqu xmm0, xmmword [rsp + 0x40]
movdqu xmmword [rdi], xmm0
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
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, str._home_slixe_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_dfa.rs
lea rcx, [rsp + 0x40]
call sym.core::panicking::panic_fmt::h9e181c62584cc428
jmp 0x524bdc
lock dec qword [rbx]
jne 0x524b17
mov rdx, rdi
mov rcx, qword [rsp + 0x30]
call sym.alloc::sync::Arc_T_A_::drop_slow::h2849a27f9ffdd4ce
lea rax, str._home_slixe_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_dfa.rs
mov qword [rsp + 0x20], rax
lea rcx, str.adding_one_state_after_cache_clear_must_work
lea r9, [0x007470a0]
lea r8, [rsp + 0x40]
mov edx, 0x2c
call sym.core::result::unwrap_failed::h9b9528a0a4171737
mov qword [rsp + 0x40], rax
lea rax, str._home_slixe_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_dfa.rs
jmp 0x524b5e
mov qword [rsp + 0x40], 0x8000000
lea rax, str._home_slixe_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_dfa.rs
lea r8, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x007470c0]
mov edx, 0x2b
call sym.core::result::unwrap_failed::h9b9528a0a4171737
jmp 0x524bdc
lea r8, str._home_slixe_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_util_determinize_state.rs
xor ecx, ecx
xor edx, edx
call sym.core::panicking::panic_bounds_check::ha5eba36dbaff2278
jmp 0x524bdc
mov eax, 1
shl rax, cl
mov qword [rsp + 0x40], rax
lea rax, str._home_slixe_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_dfa.rs
jmp 0x524bba
mov qword [rsp + 0x40], 0x8000000
lea rax, str._home_slixe_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_dfa.rs
lea r8, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x007470c0]
mov edx, 0x2b
call sym.core::result::unwrap_failed::h9b9528a0a4171737
ud2