Function at 0x509930
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x268
mov r14, rdx
mov rdi, rcx
mov r15, qword [rdx]
mov rbx, qword [rdx + 8]
mov r8, qword [r15 + 0xa0]
mov rsi, qword [rdx + 0x10]
mov qword [rsp + 0xa0], r8
mov rax, rsi
test r8, r8
je 0x509985
mov rax, rsi
sub rax, r8
jbe 0x50997f
cmp byte [rbx + r8], 0xc0
jge 0x509985
jmp 0x50bc15
jne 0x50bc15
test rax, rax
je 0x50bc98
movzx eax, byte [rbx + r8]
test al, al
jns 0x5099ec
mov ecx, eax
and ecx, 0x1f
movzx r9d, byte [rbx + r8 + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x5099e4
movzx edx, byte [rbx + r8 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp al, 0xf0
jb 0x509aa4
movzx eax, byte [rbx + r8 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
jne 0x5099ec
jmp 0x50bc98
shl ecx, 6
or ecx, r9d
mov eax, ecx
mov dword [rsp + 0x30], eax
cmp eax, 0x28
jne 0x509ab8
mov qword [rsp + 0xa0], r8
mov rax, rsi
test r8, r8
je 0x509a23
mov rax, rsi
sub rax, r8
jbe 0x509a1d
cmp byte [rbx + r8], 0xc0
jge 0x509a23
jmp 0x50bc15
jne 0x50bc15
test rax, rax
je 0x50bc98
movzx ecx, byte [rbx + r8]
test cl, cl
js 0x509a40
mov r11d, 1
jmp 0x509b19
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [rbx + r8 + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x509a8c
movzx edx, byte [rbx + r8 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp cl, 0xf0
jb 0x509ae6
movzx ecx, byte [rbx + r8 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
jne 0x509a94
jmp 0x50bc98
shl eax, 6
or eax, r9d
mov ecx, eax
mov r11d, 1
cmp ecx, 0x80
jae 0x509afb
jmp 0x509b19
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov dword [rsp + 0x30], eax
cmp eax, 0x28
je 0x5099f9
mov qword [rsp + 0x100], 0
lea rdx, [0x005980f0]
lea r9, str._usr_cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.7.5_src_ast_parse.rs
lea rcx, [rsp + 0x30]
lea r8, [rsp + 0x100]
call sym.core::panicking::assert_failed::h05ae35143ac6d6b4
ud2
shl eax, 0xc
or edx, eax
mov ecx, edx
mov r11d, 1
cmp ecx, 0x80
jb 0x509b19
mov r11d, 2
cmp ecx, 0x800
jb 0x509b19
cmp ecx, 0x10000
mov r11d, 4
sbb r11, 0
add r11, r8
jb 0x50c0c6
mov rcx, qword [r15 + 0xb0]
inc rcx
je 0x50c0e0
mov rax, qword [r15 + 0xa8]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xa0], r8
mov rax, rsi
test r8, r8
je 0x509b6b
mov rax, rsi
sub rax, r8
jbe 0x509b65
cmp byte [rbx + r8], 0xc0
jge 0x509b6b
jmp 0x50bc15
jne 0x50bc15
test rax, rax
je 0x50bc98
movzx eax, byte [rbx + r8]
test al, al
jns 0x509bdc
mov edx, eax
and edx, 0x1f
movzx r10d, byte [rbx + r8 + 1]
and r10d, 0x3f
cmp al, 0xdf
jbe 0x509bc9
movzx r9d, byte [rbx + r8 + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp al, 0xf0
jb 0x509bd3
movzx eax, byte [rbx + r8 + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and eax, 0x3f
or eax, r9d
or eax, edx
cmp eax, 0x110000
jne 0x509bdc
jmp 0x50bc98
shl edx, 6
or edx, r10d
mov eax, edx
jmp 0x509bdc
shl edx, 0xc
or r9d, edx
mov eax, r9d
mov qword [rsp + 0x98], r11
lea r13, [r15 + 0xa0]
xor ebp, ebp
cmp eax, 0xa
sete r12b
mov eax, 1
cmovne rax, rcx
mov qword [rsp + 0x1d8], rax
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x1e0], xmm0
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x1f0], rax
cmp rsi, r8
je 0x509e33
mov qword [rsp + 0xa0], r8
mov rax, rsi
test r8, r8
je 0x509c4e
mov rax, rsi
sub rax, r8
jbe 0x50bc15
cmp byte [rbx + r8], 0xc0
jl 0x50bc15
test rax, rax
je 0x50bc98
movzx eax, byte [rbx + r8]
test al, al
jns 0x509cb3
mov edx, eax
and edx, 0x1f
movzx r10d, byte [rbx + r8 + 1]
and r10d, 0x3f
cmp al, 0xdf
jbe 0x509d6f
movzx r9d, byte [rbx + r8 + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp al, 0xf0
jb 0x509da6
movzx eax, byte [rbx + r8 + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and eax, 0x3f
or eax, r9d
or eax, edx
cmp eax, 0x110000
je 0x50bc98
mov rdx, qword [rsp + 0x90]
cmp eax, 0xa
jne 0x509cd6
mov rdx, qword [rsp + 0x90]
mov ecx, 1
inc rdx
je 0x50bbd3
mov qword [rsp + 0xa0], r8
mov rax, rsi
test r8, r8
je 0x509cfd
mov rax, rsi
sub rax, r8
jbe 0x50bc15
cmp byte [rbx + r8], 0xc0
jl 0x50bc15
test rax, rax
je 0x50bc98
movzx r9d, byte [rbx + r8]
test r9b, r9b
js 0x509d1a
mov eax, 1
jmp 0x509dfa
mov eax, r9d
and eax, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp r9b, 0xdf
jbe 0x509d8d
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r9b, 0xf0
jb 0x509dc5
movzx r9d, byte [rbx + r8 + 3]
and eax, 7
shl eax, 0x12
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
or r9d, eax
cmp r9d, 0x110000
jne 0x509d96
jmp 0x50bc98
shl edx, 6
or edx, r10d
mov eax, edx
mov rdx, qword [rsp + 0x90]
cmp eax, 0xa
jne 0x509cd6
jmp 0x509cc0
shl eax, 6
or eax, r11d
mov r9d, eax
mov eax, 1
cmp r9d, 0x80
jae 0x509ddc
jmp 0x509dfa
shl edx, 0xc
or r9d, edx
mov eax, r9d
mov rdx, qword [rsp + 0x90]
cmp eax, 0xa
je 0x509cc0
jmp 0x509cd6
shl eax, 0xc
or r10d, eax
mov r9d, r10d
mov eax, 1
cmp r9d, 0x80
jb 0x509dfa
mov eax, 2
cmp r9d, 0x800
jb 0x509dfa
cmp r9d, 0x10000
mov eax, 4
sbb rax, 0
mov r9, rsi
add rax, r8
mov qword [r15 + 0xa0], rax
mov qword [r15 + 0xa8], rdx
mov qword [r15 + 0xb0], rcx
je 0x509e30
mov r9, rsi
sub r9, rax
jbe 0x509e2a
cmp byte [rbx + rax], 0xbf
jg 0x509e30
jmp 0x50bae6
jne 0x50bae6
test r9, r9
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::bump_space::h9fd4d579196de4c5
mov r8, qword [r13]
mov rax, rsi
test r8, r8
je 0x509e61
mov rax, rsi
sub rax, r8
jbe 0x509e5b
cmp byte [rbx + r8], 0xbf
jg 0x509e61
jmp 0x50c090
jne 0x50c090
cmp rax, 2
jb 0x509e77
movzx eax, word [rbx + r8]
cmp eax, 0x3d3f
je 0x509f32
mov rax, rsi
test r8, r8
je 0x509ea3
cmp r8, rsi
jae 0x509e97
cmp byte [rbx + r8], 0xbf
jle 0x50c090
mov rax, rsi
sub rax, r8
jmp 0x509ea3
mov rax, rsi
sub rax, r8
jne 0x50c090
cmp rax, 2
jb 0x509eb9
movzx eax, word [rbx + r8]
cmp eax, 0x213f
je 0x50a074
mov rax, rsi
test r8, r8
je 0x509ee5
cmp r8, rsi
jae 0x509ed9
cmp byte [rbx + r8], 0xbf
jle 0x50c090
mov rax, rsi
sub rax, r8
jmp 0x509ee5
mov rax, rsi
sub rax, r8
jne 0x50c090
cmp rax, 3
jb 0x509f07
movzx eax, word [rbx + r8]
xor eax, 0x3c3f
movzx ecx, byte [rbx + r8 + 2]
xor ecx, 0x3d
or cx, ax
je 0x50a18f
mov rax, rsi
test r8, r8
je 0x509ff5
cmp r8, rsi
jae 0x509fe9
cmp byte [rbx + r8], 0xbf
jle 0x50c090
mov rax, rsi
sub rax, r8
jmp 0x509ff5
mov rdx, rsi
sub rdx, r8
je 0x50b8cb
mov rax, qword [r15 + 0xa8]
mov rcx, qword [r15 + 0xb0]
mov qword [rsp + 0xa0], r8
mov r9, rsi
test r8, r8
je 0x509f73
cmp r8, rsi
jae 0x50bc15
cmp byte [rbx + r8], 0xc0
mov r9, rdx
jl 0x50bc15
test r9, r9
je 0x50bc98
movzx edx, byte [rbx + r8]
test dl, dl
jns 0x50adaa
mov r9d, edx
and r9d, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x50ad85
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x50ada0
movzx edx, byte [rbx + r8 + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r9d
cmp edx, 0x110000
jne 0x50adaa
jmp 0x50bc98
mov rax, rsi
sub rax, r8
jne 0x50c090
cmp rax, 3
jb 0x50a017
movzx eax, word [rbx + r8]
xor eax, 0x3c3f
movzx ecx, byte [rbx + r8 + 2]
xor ecx, 0x21
or cx, ax
je 0x50a448
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x258], rax
movups xmm0, xmmword [r13]
movups xmmword [rsp + 0x248], xmm0
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x230], xmm0
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x240], rax
mov rax, rsi
test r8, r8
je 0x50a137
cmp r8, rsi
jae 0x50a12b
cmp byte [rbx + r8], 0xbf
jle 0x50c090
mov rax, rsi
sub rax, r8
jmp 0x50a137
cmp r8, rsi
je 0x50b8cb
mov rax, qword [r15 + 0xa8]
mov rcx, qword [r15 + 0xb0]
mov qword [rsp + 0xa0], r8
mov rdx, rsi
test r8, r8
je 0x50a0b5
cmp r8, rsi
jae 0x50bc15
cmp byte [rbx + r8], 0xc0
jl 0x50bc15
mov rdx, rsi
sub rdx, r8
test rdx, rdx
je 0x50bc98
movzx edx, byte [rbx + r8]
test dl, dl
jns 0x50afb2
mov r9d, edx
and r9d, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x50ad91
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x50afa8
movzx edx, byte [rbx + r8 + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r9d
cmp edx, 0x110000
jne 0x50afb2
jmp 0x50bc98
mov rax, rsi
sub rax, r8
jne 0x50c090
mov bpl, r12b
add qword [rsp + 0x90], rbp
cmp rax, 3
jb 0x50a164
movzx eax, word [rbx + r8]
xor eax, 0x503f
movzx ecx, byte [rbx + r8 + 2]
xor ecx, 0x3c
or cx, ax
je 0x50a8d1
mov rax, rsi
test r8, r8
je 0x50a407
cmp r8, rsi
jae 0x50a3fb
cmp byte [rbx + r8], 0xbf
jle 0x50c090
mov rax, rsi
sub rax, r8
jmp 0x50a407
mov eax, 3
mov rcx, r8
jmp 0x50a1ac
mov rcx, rsi
dec rax
je 0x50b8cb
cmp rcx, rsi
je 0x50a1a0
mov rdx, qword [r15 + 0xa8]
mov r9, qword [r15 + 0xb0]
mov qword [rsp + 0xa0], r8
mov r10, rsi
test r8, r8
je 0x50a1e9
mov r10, rsi
sub r10, r8
jbe 0x50a1e3
cmp byte [rbx + r8], 0xc0
jge 0x50a1e9
jmp 0x50bc15
jne 0x50bc15
test r10, r10
je 0x50bc98
movzx r10d, byte [rbx + r8]
test r10b, r10b
jns 0x50a260
mov r11d, r10d
and r11d, 0x1f
movzx r14d, byte [rbx + r8 + 1]
and r14d, 0x3f
cmp r10b, 0xdf
jbe 0x50a276
movzx ebp, byte [rbx + r8 + 2]
shl r14d, 6
and ebp, 0x3f
or ebp, r14d
cmp r10b, 0xf0
jb 0x50a352
movzx r10d, byte [rbx + r8 + 3]
and r11d, 7
shl r11d, 0x12
shl ebp, 6
and r10d, 0x3f
or r10d, ebp
or r10d, r11d
cmp r10d, 0x110000
je 0x50bc98
nop word cs:[rax + rax]
cmp r10d, 0xa
jne 0x50a290
mov r9d, 1
inc rdx
jne 0x50a299
jmp 0x50bbd3
shl r11d, 6
or r11d, r14d
mov r10d, r11d
cmp r10d, 0xa
je 0x50a266
nop word cs:[rax + rax]
inc r9
je 0x50c0ac
mov qword [rsp + 0xa0], r8
mov r10, rsi
test r8, r8
je 0x50a2c3
mov r10, rsi
sub r10, r8
jbe 0x50a2bd
cmp byte [rbx + r8], 0xc0
jge 0x50a2c3
jmp 0x50bc15
jne 0x50bc15
test r10, r10
je 0x50bc98
movzx r11d, byte [rbx + r8]
test r11b, r11b
js 0x50a2e1
mov r8d, 1
jmp 0x50a3b0
mov r10d, r11d
and r10d, 0x1f
movzx r14d, byte [rbx + r8 + 1]
and r14d, 0x3f
cmp r11b, 0xdf
jbe 0x50a337
movzx ebp, byte [rbx + r8 + 2]
shl r14d, 6
and ebp, 0x3f
or ebp, r14d
cmp r11b, 0xf0
jb 0x50a36b
movzx r11d, byte [rbx + r8 + 3]
and r10d, 7
shl r10d, 0x12
shl ebp, 6
and r11d, 0x3f
or r11d, ebp
or r11d, r10d
cmp r11d, 0x110000
jne 0x50a341
jmp 0x50bc98
shl r10d, 6
or r10d, r14d
mov r11d, r10d
mov r8d, 1
cmp r11d, 0x80
jae 0x50a384
jmp 0x50a3b0
shl r11d, 0xc
or ebp, r11d
mov r10d, ebp
cmp r10d, 0xa
je 0x50a266
jmp 0x50a290
shl r10d, 0xc
or ebp, r10d
mov r11d, ebp
mov r8d, 1
cmp r11d, 0x80
jb 0x50a3b0
mov r8d, 2
cmp r11d, 0x800
jb 0x50a3b0
cmp r11d, 0x10000
mov r8d, 4
sbb r8, 0
nop word cs:[rax + rax]
mov r10, rsi
add r8, rcx
mov qword [r15 + 0xa0], r8
mov qword [r15 + 0xa8], rdx
mov qword [r15 + 0xb0], r9
je 0x50a3e7
mov r10, rsi
sub r10, r8
jbe 0x50a3e1
cmp byte [rbx + r8], 0xbf
jg 0x50a3e7
jmp 0x50c087
jne 0x50c087
test r10, r10
mov rcx, r8
dec rax
jne 0x50a1ac
jmp 0x50b8cb
mov rax, rsi
sub rax, r8
jne 0x50c090
cmp rax, 2
jb 0x50a41d
movzx eax, word [rbx + r8]
cmp eax, 0x3c3f
je 0x50abb2
mov rax, rsi
test r8, r8
je 0x50a6c7
cmp r8, rsi
jae 0x50a6bb
cmp byte [rbx + r8], 0xbf
jle 0x50c090
mov rax, rsi
sub rax, r8
jmp 0x50a6c7
mov eax, 3
mov rcx, r8
jmp 0x50a46c
mov rcx, rsi
dec rax
je 0x50b8cb
cmp rcx, rsi
je 0x50a460
mov rdx, qword [r15 + 0xa8]
mov r9, qword [r15 + 0xb0]
mov qword [rsp + 0xa0], r8
mov r10, rsi
test r8, r8
je 0x50a4a9
mov r10, rsi
sub r10, r8
jbe 0x50a4a3
cmp byte [rbx + r8], 0xc0
jge 0x50a4a9
jmp 0x50bc15
jne 0x50bc15
test r10, r10
je 0x50bc98
movzx r10d, byte [rbx + r8]
test r10b, r10b
jns 0x50a520
mov r11d, r10d
and r11d, 0x1f
movzx r14d, byte [rbx + r8 + 1]
and r14d, 0x3f
cmp r10b, 0xdf
jbe 0x50a536
movzx ebp, byte [rbx + r8 + 2]
shl r14d, 6
and ebp, 0x3f
or ebp, r14d
cmp r10b, 0xf0
jb 0x50a612
movzx r10d, byte [rbx + r8 + 3]
and r11d, 7
shl r11d, 0x12
shl ebp, 6
and r10d, 0x3f
or r10d, ebp
or r10d, r11d
cmp r10d, 0x110000
je 0x50bc98
nop word cs:[rax + rax]
cmp r10d, 0xa
jne 0x50a550
mov r9d, 1
inc rdx
jne 0x50a559
jmp 0x50bbd3
shl r11d, 6
or r11d, r14d
mov r10d, r11d
cmp r10d, 0xa
je 0x50a526
nop word cs:[rax + rax]
inc r9
je 0x50c0ac
mov qword [rsp + 0xa0], r8
mov r10, rsi
test r8, r8
je 0x50a583
mov r10, rsi
sub r10, r8
jbe 0x50a57d
cmp byte [rbx + r8], 0xc0
jge 0x50a583
jmp 0x50bc15
jne 0x50bc15
test r10, r10
je 0x50bc98
movzx r11d, byte [rbx + r8]
test r11b, r11b
js 0x50a5a1
mov r8d, 1
jmp 0x50a670
mov r10d, r11d
and r10d, 0x1f
movzx r14d, byte [rbx + r8 + 1]
and r14d, 0x3f
cmp r11b, 0xdf
jbe 0x50a5f7
movzx ebp, byte [rbx + r8 + 2]
shl r14d, 6
and ebp, 0x3f
or ebp, r14d
cmp r11b, 0xf0
jb 0x50a62b
movzx r11d, byte [rbx + r8 + 3]
and r10d, 7
shl r10d, 0x12
shl ebp, 6
and r11d, 0x3f
or r11d, ebp
or r11d, r10d
cmp r11d, 0x110000
jne 0x50a601
jmp 0x50bc98
shl r10d, 6
or r10d, r14d
mov r11d, r10d
mov r8d, 1
cmp r11d, 0x80
jae 0x50a644
jmp 0x50a670
shl r11d, 0xc
or ebp, r11d
mov r10d, ebp
cmp r10d, 0xa
je 0x50a526
jmp 0x50a550
shl r10d, 0xc
or ebp, r10d
mov r11d, ebp
mov r8d, 1
cmp r11d, 0x80
jb 0x50a670
mov r8d, 2
cmp r11d, 0x800
jb 0x50a670
cmp r11d, 0x10000
mov r8d, 4
sbb r8, 0
nop word cs:[rax + rax]
mov r10, rsi
add r8, rcx
mov qword [r15 + 0xa0], r8
mov qword [r15 + 0xa8], rdx
mov qword [r15 + 0xb0], r9
je 0x50a6a7
mov r10, rsi
sub r10, r8
jbe 0x50a6a1
cmp byte [rbx + r8], 0xbf
jg 0x50a6a7
jmp 0x50c087
jne 0x50c087
test r10, r10
mov rcx, r8
dec rax
jne 0x50a46c
jmp 0x50b8cb
mov rax, rsi
sub rax, r8
jne 0x50c090
test rax, rax
je 0x50a766
cmp byte [rbx + r8], 0x3f
jne 0x50a766
cmp r8, rsi
jne 0x50ac69
mov rax, r8
cmp rax, rsi
jne 0x50b43f
mov rcx, rsi
call sym.alloc::raw_vec::RawVec_T_A_::allocate_in::h3de7286e9c671466
mov r14, rax
mov r15, rdx
mov rcx, rax
mov rdx, rbx
mov r8, rsi
call sym.memcpy
mov dword [rdi + 8], 0x15
mov qword [rdi + 0x40], r14
mov qword [rdi + 0x48], r15
mov qword [rdi + 0x50], rsi
movaps xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rdi + 0x58], xmm0
mov rax, qword [rsp + 0x1f0]
mov qword [rdi + 0x68], rax
mov rax, qword [rsp + 0x98]
mov qword [rdi + 0x70], rax
mov rax, qword [rsp + 0x90]
mov qword [rdi + 0x78], rax
mov rax, qword [rsp + 0x1d8]
mov qword [rdi + 0x80], rax
mov byte [rdi], 4
jmp 0x50c073
mov ebp, dword [r15 + 0xb8]
inc ebp
jne 0x50a7e3
mov rcx, rsi
call sym.alloc::raw_vec::RawVec_T_A_::allocate_in::h3de7286e9c671466
mov r14, rax
mov r15, rdx
mov rcx, rax
mov rdx, rbx
mov r8, rsi
call sym.memcpy
movaps xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rdi + 0x58], xmm0
mov rax, qword [rsp + 0x1f0]
mov qword [rdi + 0x68], rax
mov rax, qword [rsp + 0x98]
mov qword [rdi + 0x70], rax
mov rax, qword [rsp + 0x90]
mov qword [rdi + 0x78], rax
mov rax, qword [rsp + 0x1d8]
mov qword [rdi + 0x80], rax
mov dword [rdi + 8], 0
mov dword [rdi + 0xc], ebp
mov qword [rdi + 0x40], r14
mov qword [rdi + 0x48], r15
jmp 0x50ad79
mov dword [r15 + 0xb8], ebp
mov dword [rsp + 0x34], ebp
mov byte [rsp + 0x30], 0
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0xc8], rax
movups xmm0, xmmword [r13]
movups xmmword [rsp + 0xb8], xmm0
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x100], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x118], rax
mov dword [rsp + 0x1c8], 0x11000b
movzx eax, byte [0x006101a4]
mov ecx, 0xd8
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x50c101
mov rsi, rax
lea rdx, [rsp + 0x100]
mov r8d, 0xd8
mov rcx, rax
call sym.memcpy
mov rax, qword [rsp + 0x1f0]
mov qword [rdi + 0x70], rax
movaps xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rdi + 0x60], xmm0
mov rax, qword [rsp + 0x98]
mov qword [rdi + 0x78], rax
jmp 0x50c019
mov al, 1
mov dword [rsp + 0x28], eax
cmp r8, rsi
je 0x50ab46
mov eax, 3
mov rcx, r8
jmp 0x50a8fc
mov rcx, rsi
dec rax
je 0x50ab46
cmp rcx, rsi
je 0x50a8f0
mov rdx, qword [r15 + 0xa8]
mov r9, qword [r15 + 0xb0]
mov qword [rsp + 0xa0], r8
mov r10, rsi
test r8, r8
je 0x50a939
mov r10, rsi
sub r10, r8
jbe 0x50a933
cmp byte [rbx + r8], 0xc0
jge 0x50a939
jmp 0x50bc15
jne 0x50bc15
test r10, r10
je 0x50bc98
movzx r10d, byte [rbx + r8]
test r10b, r10b
jns 0x50a9b0
mov r11d, r10d
and r11d, 0x1f
movzx r12d, byte [rbx + r8 + 1]
and r12d, 0x3f
cmp r10b, 0xdf
jbe 0x50a9c6
movzx ebp, byte [rbx + r8 + 2]
shl r12d, 6
and ebp, 0x3f
or ebp, r12d
cmp r10b, 0xf0
jb 0x50aaa2
movzx r10d, byte [rbx + r8 + 3]
and r11d, 7
shl r11d, 0x12
shl ebp, 6
and r10d, 0x3f
or r10d, ebp
or r10d, r11d
cmp r10d, 0x110000
je 0x50bc98
nop word cs:[rax + rax]
cmp r10d, 0xa
jne 0x50a9e0
mov r9d, 1
inc rdx
jne 0x50a9e9
jmp 0x50bbd3
shl r11d, 6
or r11d, r12d
mov r10d, r11d
cmp r10d, 0xa
je 0x50a9b6
nop word cs:[rax + rax]
inc r9
je 0x50c0ac
mov qword [rsp + 0xa0], r8
mov r10, rsi
test r8, r8
je 0x50aa13
mov r10, rsi
sub r10, r8
jbe 0x50aa0d
cmp byte [rbx + r8], 0xc0
jge 0x50aa13
jmp 0x50bc15
jne 0x50bc15
test r10, r10
je 0x50bc98
movzx r11d, byte [rbx + r8]
test r11b, r11b
js 0x50aa31
mov r8d, 1
jmp 0x50ab00
mov r10d, r11d
and r10d, 0x1f
movzx r12d, byte [rbx + r8 + 1]
and r12d, 0x3f
cmp r11b, 0xdf
jbe 0x50aa87
movzx ebp, byte [rbx + r8 + 2]
shl r12d, 6
and ebp, 0x3f
or ebp, r12d
cmp r11b, 0xf0
jb 0x50aabb
movzx r11d, byte [rbx + r8 + 3]
and r10d, 7
shl r10d, 0x12
shl ebp, 6
and r11d, 0x3f
or r11d, ebp
or r11d, r10d
cmp r11d, 0x110000
jne 0x50aa91
jmp 0x50bc98
shl r10d, 6
or r10d, r12d
mov r11d, r10d
mov r8d, 1
cmp r11d, 0x80
jae 0x50aad4
jmp 0x50ab00
shl r11d, 0xc
or ebp, r11d
mov r10d, ebp
cmp r10d, 0xa
je 0x50a9b6
jmp 0x50a9e0
shl r10d, 0xc
or ebp, r10d
mov r11d, ebp
mov r8d, 1
cmp r11d, 0x80
jb 0x50ab00
mov r8d, 2
cmp r11d, 0x800
jb 0x50ab00
cmp r11d, 0x10000
mov r8d, 4
sbb r8, 0
nop word cs:[rax + rax]
mov r10, rsi
add r8, rcx
mov qword [r15 + 0xa0], r8
mov qword [r15 + 0xa8], rdx
mov qword [r15 + 0xb0], r9
je 0x50ab37
mov r10, rsi
sub r10, r8
jbe 0x50ab31
cmp byte [rbx + r8], 0xbf
jg 0x50ab37
jmp 0x50c087
jne 0x50c087
test r10, r10
mov rcx, r8
dec rax
jne 0x50a8fc
mov ebp, dword [r15 + 0xb8]
inc ebp
jne 0x50bd97
test rsi, rsi
je 0x50ad14
mov r15, qword [rsp + 0x98]
js 0x50c0fa
movzx eax, byte [0x006101a4]
mov rcx, qword [0x00610110]
test rcx, rcx
jne 0x50ab97
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x50b948
mov rcx, rax
mov qword [0x00610110], rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapAlloc
mov r14, rax
test rax, rax
jne 0x50ad22
jmp 0x50b948
cmp r8, rsi
je 0x50bd80
mov rax, qword [r15 + 0xa8]
mov rcx, qword [r15 + 0xb0]
mov qword [rsp + 0xa0], r8
mov rdx, rsi
test r8, r8
je 0x50abf3
cmp r8, rsi
jae 0x50bc15
cmp byte [rbx + r8], 0xc0
jl 0x50bc15
mov rdx, rsi
sub rdx, r8
test rdx, rdx
je 0x50bc98
movzx edx, byte [rbx + r8]
test dl, dl
jns 0x50b9b4
mov r9d, edx
and r9d, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x50b1ab
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x50b9aa
movzx edx, byte [rbx + r8 + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r9d
cmp edx, 0x110000
jne 0x50b9b4
jmp 0x50bc98
mov rcx, qword [r15 + 0xa8]
mov rdx, qword [r15 + 0xb0]
mov qword [rsp + 0xa0], r8
mov rax, rsi
test r8, r8
je 0x50aca1
cmp r8, rsi
jae 0x50bc15
cmp byte [rbx + r8], 0xc0
jl 0x50bc15
mov rax, rsi
sub rax, r8
test rax, rax
je 0x50bc98
movzx eax, byte [rbx + r8]
test al, al
jns 0x50b2fa
mov r9d, eax
and r9d, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp al, 0xdf
jbe 0x50af99
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp al, 0xf0
jb 0x50b2f0
movzx eax, byte [rbx + r8 + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and eax, 0x3f
or eax, r10d
or eax, r9d
cmp eax, 0x110000
jne 0x50b2fa
jmp 0x50bc98
mov r14d, 1
mov r15, qword [rsp + 0x98]
mov rcx, r14
mov rdx, rbx
mov r8, rsi
call sym.memcpy
movaps xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rdi + 0x58], xmm0
mov rax, qword [rsp + 0x1f0]
mov qword [rdi + 0x68], rax
mov qword [rdi + 0x70], r15
mov rax, qword [rsp + 0x90]
mov qword [rdi + 0x78], rax
mov rax, qword [rsp + 0x1d8]
mov qword [rdi + 0x80], rax
mov dword [rdi + 8], 0
mov dword [rdi + 0xc], ebp
mov qword [rdi + 0x40], r14
mov qword [rdi + 0x48], rsi
mov qword [rdi + 0x50], rsi
mov byte [rdi], 4
jmp 0x50c073
shl r9d, 6
or r9d, r11d
mov edx, r9d
jmp 0x50adaa
shl r9d, 6
or r9d, r11d
mov edx, r9d
jmp 0x50afb2
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
cmp edx, 0xa
jne 0x50adbe
mov ecx, 1
inc rax
jne 0x50adc7
jmp 0x50bbd3
inc rcx
je 0x50c0ac
mov qword [rsp + 0xa0], r8
mov rdx, rsi
test r8, r8
je 0x50adf1
cmp r8, rsi
jae 0x50bc15
cmp byte [rbx + r8], 0xc0
jl 0x50bc15
mov rdx, rsi
sub rdx, r8
test rdx, rdx
je 0x50bc98
movzx r9d, byte [rbx + r8]
test r9b, r9b
js 0x50ae0e
mov edx, 1
jmp 0x50aea3
mov edx, r9d
and edx, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp r9b, 0xdf
jbe 0x50ae63
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r9b, 0xf0
jb 0x50ae6e
movzx r9d, byte [rbx + r8 + 3]
and edx, 7
shl edx, 0x12
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
or r9d, edx
cmp r9d, 0x110000
jne 0x50ae77
jmp 0x50bc98
shl edx, 6
or edx, r11d
mov r9d, edx
jmp 0x50ae77
shl edx, 0xc
or r10d, edx
mov r9d, r10d
mov edx, 1
cmp r9d, 0x80
jb 0x50aea3
mov edx, 2
cmp r9d, 0x800
jb 0x50aea3
cmp r9d, 0x10000
mov edx, 4
sbb rdx, 0
mov r9, rsi
add r8, rdx
mov qword [r15 + 0xa0], r8
mov qword [r15 + 0xa8], rax
mov qword [r15 + 0xb0], rcx
je 0x50aeda
mov r9, rsi
sub r9, r8
jbe 0x50aed4
cmp byte [rbx + r8], 0xbf
jg 0x50aeda
jmp 0x50bae3
jne 0x50bae3
test r9, r9
cmp rsi, r8
je 0x50b8cb
mov rcx, qword [r15 + 0xa8]
mov rdx, qword [r15 + 0xb0]
mov qword [rsp + 0xa0], r8
mov rax, rsi
test r8, r8
je 0x50af1b
mov rax, rsi
sub rax, r8
jbe 0x50bc15
cmp byte [rbx + r8], 0xc0
jl 0x50bc15
test rax, rax
je 0x50bc98
movzx eax, byte [rbx + r8]
test al, al
jns 0x50b1c4
mov r9d, eax
and r9d, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp al, 0xe0
jb 0x50af8a
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp al, 0xf0
jb 0x50b1ba
movzx eax, byte [rbx + r8 + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and eax, 0x3f
or eax, r10d
or eax, r9d
cmp eax, 0x110000
jne 0x50b1c4
jmp 0x50bc98
shl r9d, 6
or r9d, r11d
mov eax, r9d
jmp 0x50b1c4
shl r9d, 6
or r9d, r11d
mov eax, r9d
jmp 0x50b2fa
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
cmp edx, 0xa
jne 0x50afc6
mov ecx, 1
inc rax
jne 0x50afcf
jmp 0x50bbd3
inc rcx
je 0x50c0ac
mov qword [rsp + 0xa0], r8
mov rdx, rsi
test r8, r8
je 0x50b003
cmp r8, rsi
jae 0x50aff7
cmp byte [rbx + r8], 0xc0
jl 0x50bc15
mov rdx, rsi
sub rdx, r8
jmp 0x50b003
mov rdx, rsi
sub rdx, r8
jne 0x50bc15
test rdx, rdx
je 0x50bc98
movzx r9d, byte [rbx + r8]
test r9b, r9b
js 0x50b020
mov edx, 1
jmp 0x50b0b5
mov edx, r9d
and edx, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp r9b, 0xdf
jbe 0x50b075
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r9b, 0xf0
jb 0x50b080
movzx r9d, byte [rbx + r8 + 3]
and edx, 7
shl edx, 0x12
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
or r9d, edx
cmp r9d, 0x110000
jne 0x50b089
jmp 0x50bc98
shl edx, 6
or edx, r11d
mov r9d, edx
jmp 0x50b089
shl edx, 0xc
or r10d, edx
mov r9d, r10d
mov edx, 1
cmp r9d, 0x80
jb 0x50b0b5
mov edx, 2
cmp r9d, 0x800
jb 0x50b0b5
cmp r9d, 0x10000
mov edx, 4
sbb rdx, 0
mov r9, rsi
add r8, rdx
mov qword [r15 + 0xa0], r8
mov qword [r15 + 0xa8], rax
mov qword [r15 + 0xb0], rcx
je 0x50b0ec
mov r9, rsi
sub r9, r8
jbe 0x50b0e6
cmp byte [rbx + r8], 0xbf
jg 0x50b0ec
jmp 0x50bae3
jne 0x50bae3
test r9, r9
cmp rsi, r8
je 0x50b8cb
mov rcx, qword [r15 + 0xa8]
mov rdx, qword [r15 + 0xb0]
mov qword [rsp + 0xa0], r8
mov rax, rsi
test r8, r8
je 0x50b12d
mov rax, rsi
sub rax, r8
jbe 0x50bc15
cmp byte [rbx + r8], 0xc0
jl 0x50bc15
test rax, rax
je 0x50bc98
movzx eax, byte [rbx + r8]
test al, al
jns 0x50b7a9
mov r9d, eax
and r9d, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp al, 0xe0
jb 0x50b19c
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp al, 0xf0
jb 0x50b79f
movzx eax, byte [rbx + r8 + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and eax, 0x3f
or eax, r10d
or eax, r9d
cmp eax, 0x110000
jne 0x50b7a9
jmp 0x50bc98
shl r9d, 6
or r9d, r11d
mov eax, r9d
jmp 0x50b7a9
shl r9d, 6
or r9d, r11d
mov edx, r9d
jmp 0x50b9b4
shl r9d, 0xc
or r10d, r9d
mov eax, r10d
cmp eax, 0xa
jne 0x50b1d8
mov edx, 1
inc rcx
jne 0x50b1e1
jmp 0x50bbd3
inc rdx
je 0x50c0ac
mov qword [rsp + 0xa0], r8
mov rax, rsi
test r8, r8
je 0x50b208
mov rax, rsi
sub rax, r8
jbe 0x50bc15
cmp byte [rbx + r8], 0xc0
jl 0x50bc15
test rax, rax
je 0x50bc98
movzx r9d, byte [rbx + r8]
test r9b, r9b
js 0x50b225
mov eax, 1
jmp 0x50b2ba
mov eax, r9d
and eax, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp r9b, 0xe0
jb 0x50b27a
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r9b, 0xf0
jb 0x50b285
movzx r9d, byte [rbx + r8 + 3]
and eax, 7
shl eax, 0x12
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
or r9d, eax
cmp r9d, 0x110000
jne 0x50b28e
jmp 0x50bc98
shl eax, 6
or eax, r11d
mov r9d, eax
jmp 0x50b28e
shl eax, 0xc
or r10d, eax
mov r9d, r10d
mov eax, 1
cmp r9d, 0x80
jb 0x50b2ba
mov eax, 2
cmp r9d, 0x800
jb 0x50b2ba
cmp r9d, 0x10000
mov eax, 4
sbb rax, 0
add rax, r8
mov qword [r15 + 0xa0], rax
mov qword [r15 + 0xa8], rcx
mov qword [r15 + 0xb0], rdx
je 0x50b8cb
cmp rsi, rax
jbe 0x50b8c5
cmp byte [rbx + rax], 0xc0
jge 0x50b8cb
jmp 0x50bae6
shl r9d, 0xc
or r10d, r9d
mov eax, r10d
cmp eax, 0xa
jne 0x50b30e
mov edx, 1
inc rcx
jne 0x50b317
jmp 0x50bbd3
inc rdx
je 0x50c0ac
mov qword [rsp + 0xa0], r8
mov rax, rsi
test r8, r8
je 0x50b34b
cmp r8, rsi
jae 0x50b33f
cmp byte [rbx + r8], 0xc0
jl 0x50bc15
mov rax, rsi
sub rax, r8
jmp 0x50b34b
mov rax, rsi
sub rax, r8
jne 0x50bc15
test rax, rax
je 0x50bc98
movzx r9d, byte [rbx + r8]
test r9b, r9b
js 0x50b368
mov eax, 1
jmp 0x50b3fd
mov eax, r9d
and eax, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp r9b, 0xdf
jbe 0x50b3bd
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r9b, 0xf0
jb 0x50b3c8
movzx r9d, byte [rbx + r8 + 3]
and eax, 7
shl eax, 0x12
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
or r9d, eax
cmp r9d, 0x110000
jne 0x50b3d1
jmp 0x50bc98
shl eax, 6
or eax, r11d
mov r9d, eax
jmp 0x50b3d1
shl eax, 0xc
or r10d, eax
mov r9d, r10d
mov eax, 1
cmp r9d, 0x80
jb 0x50b3fd
mov eax, 2
cmp r9d, 0x800
jb 0x50b3fd
cmp r9d, 0x10000
mov eax, 4
sbb rax, 0
mov r9, rsi
add rax, r8
mov qword [r15 + 0xa0], rax
mov qword [r15 + 0xa8], rcx
mov qword [r15 + 0xb0], rdx
je 0x50b433
mov r9, rsi
sub r9, rax
jbe 0x50b42d
cmp byte [rbx + rax], 0xbf
jg 0x50b433
jmp 0x50bae6
jne 0x50bae6
test r9, r9
cmp rax, rsi
je 0x50a6f0
lea rcx, [rsp + 0x100]
mov rdx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::parse_flags::h0fec1e7ba33df8b5
mov eax, dword [rsp + 0x100]
cmp eax, 0x1f
jne 0x50b5ab
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x28], rax
mov r15, qword [rsp + 0x110]
mov r12, qword [rsp + 0x118]
movups xmm0, xmmword [rsp + 0x140]
movups xmm1, xmmword [rsp + 0x130]
movups xmm2, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x200], xmm2
movaps xmmword [rsp + 0x210], xmm1
movaps xmmword [rsp + 0x220], xmm0
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::he775882ffd4838f2
mov ebp, eax
mov dword [rsp + 0x1fc], eax
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::bump::h12d6e77a732c0d9e
cmp ebp, 0x3a
je 0x50b638
cmp ebp, 0x29
jne 0x50c123
test r12, r12
je 0x50b728
movups xmm0, xmmword [r13]
movups xmmword [rsp + 0x118], xmm0
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x1f0]
mov qword [rsp + 0x110], rax
movaps xmm0, xmmword [rsp + 0x1e0]
movaps xmmword [rsp + 0x30], xmm0
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x58], rax
mov byte [rdi], 3
mov rax, qword [rsp + 0x28]
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r12
movaps xmm0, xmmword [rsp + 0x200]
movaps xmm1, xmmword [rsp + 0x210]
movaps xmm2, xmmword [rsp + 0x220]
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm1
movups xmmword [rdi + 0x40], xmm2
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
movups xmmword [rdi + 0x50], xmm0
movups xmmword [rdi + 0x60], xmm1
mov qword [rdi + 0x70], rax
mov qword [rdi + 0x78], rcx
jmp 0x50c073
mov ecx, dword [rsp + 0x104]
mov rdx, qword [rsp + 0x108]
movups xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rsp + 0x170]
movups xmmword [rdi + 0x78], xmm0
movups xmm0, xmmword [rsp + 0x160]
movups xmmword [rdi + 0x68], xmm0
movups xmm0, xmmword [rsp + 0x150]
movups xmmword [rdi + 0x58], xmm0
movups xmm0, xmmword [rsp + 0x110]
mov dword [rdi + 0xc], ecx
mov qword [rdi + 0x10], rdx
movups xmmword [rdi + 0x18], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movups xmmword [rdi + 0x28], xmm0
movups xmmword [rdi + 0x38], xmm1
movups xmmword [rdi + 0x48], xmm2
jmp 0x50bfa3
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r12
movaps xmm0, xmmword [rsp + 0x200]
movaps xmm1, xmmword [rsp + 0x210]
movaps xmm2, xmmword [rsp + 0x220]
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm1
movups xmmword [rsp + 0x70], xmm2
mov byte [rsp + 0x30], 2
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0xc8], rax
movups xmm0, xmmword [r13]
movups xmmword [rsp + 0xb8], xmm0
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x100], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x118], rax
mov dword [rsp + 0x1c8], 0x11000b
movzx eax, byte [0x006101a4]
mov ecx, 0xd8
mov edx, 8
call sym.__rust_alloc
test rax, rax
jne 0x50a88f
mov ecx, 8
mov edx, 0xd8
call dbg.handle_alloc_error
jmp 0x50c152
mov rcx, rsi
call sym.alloc::raw_vec::RawVec_T_A_::allocate_in::h3de7286e9c671466
mov r14, rax
mov r13, rdx
mov rcx, rax
mov rdx, rbx
mov r8, rsi
call sym.memcpy
movaps xmm0, xmmword [rsp + 0x230]
movaps xmm1, xmmword [rsp + 0x240]
movaps xmm2, xmmword [rsp + 0x250]
movups xmmword [rdi + 0x58], xmm0
movups xmmword [rdi + 0x68], xmm1
movups xmmword [rdi + 0x78], xmm2
mov dword [rdi + 8], 0x1b
mov qword [rdi + 0x40], r14
mov qword [rdi + 0x48], r13
mov qword [rdi + 0x50], rsi
mov byte [rdi], 4
test r15, r15
je 0x50c073
mov rcx, qword [0x00610110]
xor edx, edx
mov r8, qword [rsp + 0x28]
call fcn.00573784
jmp 0x50c073
shl r9d, 0xc
or r10d, r9d
mov eax, r10d
cmp eax, 0xa
jne 0x50b7bd
mov edx, 1
inc rcx
jne 0x50b7c6
jmp 0x50bbd3
inc rdx
je 0x50c0ac
mov qword [rsp + 0xa0], r8
mov rax, rsi
test r8, r8
je 0x50b7f0
mov rax, rsi
sub rax, r8
jbe 0x50b7ea
cmp byte [rbx + r8], 0xc0
jge 0x50b7f0
jmp 0x50bc15
jne 0x50bc15
test rax, rax
je 0x50bc98
movzx r9d, byte [rbx + r8]
test r9b, r9b
js 0x50b80d
mov eax, 1
jmp 0x50b8a2
mov eax, r9d
and eax, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp r9b, 0xe0
jb 0x50b862
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r9b, 0xf0
jb 0x50b86d
movzx r9d, byte [rbx + r8 + 3]
and eax, 7
shl eax, 0x12
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
or r9d, eax
cmp r9d, 0x110000
jne 0x50b876
jmp 0x50bc98
shl eax, 6
or eax, r11d
mov r9d, eax
jmp 0x50b876
shl eax, 0xc
or r10d, eax
mov r9d, r10d
mov eax, 1
cmp r9d, 0x80
jb 0x50b8a2
mov eax, 2
cmp r9d, 0x800
jb 0x50b8a2
cmp r9d, 0x10000
mov eax, 4
sbb rax, 0
add rax, r8
mov qword [r15 + 0xa0], rax
mov qword [r15 + 0xa8], rcx
mov qword [r15 + 0xb0], rdx
je 0x50b8cb
cmp rsi, rax
ja 0x50b2e1
jne 0x50bae6
mov rax, qword [rsp + 0x1f0]
mov qword [rsp + 0x110], rax
movaps xmm0, xmmword [rsp + 0x1e0]
movaps xmmword [rsp + 0x100], xmm0
movups xmm0, xmmword [r13]
movups xmmword [rsp + 0x118], xmm0
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x128], rax
test rsi, rsi
je 0x50b957
js 0x50c0fa
movzx eax, byte [0x006101a4]
mov rcx, qword [0x00610110]
test rcx, rcx
jne 0x50b936
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x50b948
mov rcx, rax
mov qword [0x00610110], rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapAlloc
mov r14, rax
test rax, rax
jne 0x50b95d
mov ecx, 1
mov rdx, rsi
call dbg.handle_alloc_error
ud2
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rsi
call sym.memcpy
mov dword [rdi + 8], 0x1e
mov qword [rdi + 0x40], r14
mov qword [rdi + 0x48], rsi
mov qword [rdi + 0x50], rsi
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmm2, xmmword [rsp + 0x120]
movups xmmword [rdi + 0x58], xmm0
movups xmmword [rdi + 0x68], xmm1
movups xmmword [rdi + 0x78], xmm2
mov byte [rdi], 4
jmp 0x50c073
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
cmp edx, 0xa
jne 0x50b9c8
mov ecx, 1
inc rax
jne 0x50b9d1
jmp 0x50bbd3
inc rcx
je 0x50c0ac
mov qword [rsp + 0xa0], r8
mov rdx, rsi
test r8, r8
je 0x50ba05
cmp r8, rsi
jae 0x50b9f9
cmp byte [rbx + r8], 0xc0
jl 0x50bc15
mov rdx, rsi
sub rdx, r8
jmp 0x50ba05
mov rdx, rsi
sub rdx, r8
jne 0x50bc15
test rdx, rdx
je 0x50bc98
movzx r9d, byte [rbx + r8]
test r9b, r9b
js 0x50ba22
mov edx, 1
jmp 0x50bab7
mov edx, r9d
and edx, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp r9b, 0xdf
jbe 0x50ba77
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r9b, 0xf0
jb 0x50ba82
movzx r9d, byte [rbx + r8 + 3]
and edx, 7
shl edx, 0x12
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
or r9d, edx
cmp r9d, 0x110000
jne 0x50ba8b
jmp 0x50bc98
shl edx, 6
or edx, r11d
mov r9d, edx
jmp 0x50ba8b
shl edx, 0xc
or r10d, edx
mov r9d, r10d
mov edx, 1
cmp r9d, 0x80
jb 0x50bab7
mov edx, 2
cmp r9d, 0x800
jb 0x50bab7
cmp r9d, 0x10000
mov edx, 4
sbb rdx, 0
mov r9, rsi
add r8, rdx
mov qword [r15 + 0xa0], r8
mov qword [r15 + 0xa8], rax
mov qword [r15 + 0xb0], rcx
je 0x50bb07
mov r9, rsi
sub r9, r8
jbe 0x50bb05
cmp byte [rbx + r8], 0xbf
jg 0x50bb07
mov rax, r8
lea rcx, str._usr_cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.7.5_src_ast_parse.rs
mov qword [rsp + 0x20], rcx
mov rcx, rbx
mov rdx, rsi
mov r8, rax
mov r9, rsi
call dbg.slice_error_fail
ud2
jne 0x50bae3
test r9, r9
cmp rsi, r8
je 0x50bd80
mov rcx, qword [r15 + 0xa8]
mov rdx, qword [r15 + 0xb0]
mov qword [rsp + 0xa0], r8
mov rax, rsi
test r8, r8
je 0x50bb4b
mov rax, rsi
sub rax, r8
jbe 0x50bb45
cmp byte [rbx + r8], 0xc0
jge 0x50bb4b
jmp 0x50bc15
jne 0x50bc15
test rax, rax
je 0x50bc98
movzx eax, byte [rbx + r8]
test al, al
jns 0x50bbc4
mov r9d, eax
and r9d, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp al, 0xe0
jb 0x50bbae
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp al, 0xf0
jb 0x50bbba
movzx eax, byte [rbx + r8 + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and eax, 0x3f
or eax, r10d
or eax, r9d
cmp eax, 0x110000
jne 0x50bbc4
jmp 0x50bc98
shl r9d, 6
or r9d, r11d
mov eax, r9d
jmp 0x50bbc4
shl r9d, 0xc
or r10d, r9d
mov eax, r10d
cmp eax, 0xa
jne 0x50bbed
mov edx, 1
inc rcx
jne 0x50bbf6
lea rcx, str.called__Option::unwrap____on_a__None__value_usr_cargo_registry_src_index.crates.io_6f17d22bba15001f_chrono_0.4.28_src_offset_fixed.rs
lea r8, str._usr_cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.7.5_src_ast_parse.rs
mov edx, 0x2b
call dbg.panic
ud2
inc rdx
je 0x50c0ac
mov qword [rsp + 0xa0], r8
mov rax, rsi
test r8, r8
je 0x50bc23
mov rax, rsi
sub rax, r8
jbe 0x50bc21
cmp byte [rbx + r8], 0xc0
jge 0x50bc23
lea rax, str._usr_cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.7.5_src_ast_parse.rs
jmp 0x50c097
jne 0x50bc15
test rax, rax
je 0x50bc98
movzx r9d, byte [rbx + r8]
test r9b, r9b
js 0x50bc3c
mov eax, 1
jmp 0x50bd47
mov eax, r9d
and eax, 0x1f
movzx r11d, byte [rbx + r8 + 1]
and r11d, 0x3f
cmp r9b, 0xe0
jb 0x50bd07
movzx r10d, byte [rbx + r8 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r9b, 0xf0
jb 0x50bd12
movzx r9d, byte [rbx + r8 + 3]
and eax, 7
shl eax, 0x12
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
or r9d, eax
cmp r9d, 0x110000
jne 0x50bd1b
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x30], rax
lea rax, [sym.core::fmt::num::imp::__impl_core::fmt::Display_for_u64_::fmt::haec8635edb57a637]
mov qword [rsp + 0x38], rax
lea rax, str.expected_char_at_offset_x
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 1
mov qword [rsp + 0x120], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], 1
lea rdx, str._usr_cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.7.5_src_ast_parse.rs
lea rcx, [rsp + 0x100]
call dbg.panic_fmt
ud2
shl eax, 6
or eax, r11d
mov r9d, eax
jmp 0x50bd1b
shl eax, 0xc
or r10d, eax
mov r9d, r10d
mov eax, 1
cmp r9d, 0x80
jb 0x50bd47
mov eax, 2
cmp r9d, 0x800
jb 0x50bd47
cmp r9d, 0x10000
mov eax, 4
sbb rax, 0
mov r9, rsi
add rax, r8
mov qword [r15 + 0xa0], rax
mov qword [r15 + 0xa8], rcx
mov qword [r15 + 0xb0], rdx
je 0x50bd7d
mov r9, rsi
sub r9, rax
jbe 0x50bd77
cmp byte [rbx + rax], 0xc0
jge 0x50bd7d
jmp 0x50bae6
jne 0x50bae6
test r9, r9
mov dword [rsp + 0x28], 0
mov ebp, dword [r15 + 0xb8]
inc ebp
je 0x50ab55
mov dword [r15 + 0xb8], ebp
lea rcx, [rsp + 0x100]
mov rdx, r14
mov r8d, ebp
call sym.regex_syntax::ast::parse::ParserI_P_::parse_capture_name::h4bc3a9b8c9e26872
mov eax, dword [rsp + 0x100]
cmp eax, 0x1f
jne 0x50bed8
movups xmm0, xmmword [rsp + 0x148]
movups xmmword [rsp + 0xe4], xmm0
movups xmm1, xmmword [rsp + 0x108]
movups xmm2, xmmword [rsp + 0x118]
movups xmm3, xmmword [rsp + 0x128]
movups xmm4, xmmword [rsp + 0x138]
movups xmmword [rsp + 0xd4], xmm4
movups xmmword [rsp + 0xc4], xmm3
movups xmmword [rsp + 0xb4], xmm2
movups xmmword [rsp + 0xa4], xmm1
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x68], xmm4
movups xmmword [rsp + 0x58], xmm3
movups xmmword [rsp + 0x48], xmm2
movups xmmword [rsp + 0x38], xmm1
mov eax, dword [rsp + 0x28]
mov byte [rsp + 0x31], al
mov byte [rsp + 0x30], 1
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0xc8], rax
movups xmm0, xmmword [r13]
movups xmmword [rsp + 0xb8], xmm0
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x100], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x118], rax
mov dword [rsp + 0x1c8], 0x11000b
movzx eax, byte [0x006101a4]
mov rcx, qword [0x00610110]
test rcx, rcx
je 0x50bfae
mov rbx, qword [rsp + 0x98]
jmp 0x50bfce
mov ecx, dword [rsp + 0x154]
mov dword [rsp + 0xf0], ecx
movups xmm0, xmmword [rsp + 0x144]
movaps xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [rsp + 0x104]
movups xmm1, xmmword [rsp + 0x114]
movups xmm2, xmmword [rsp + 0x124]
movups xmm3, xmmword [rsp + 0x134]
movaps xmmword [rsp + 0xd0], xmm3
movaps xmmword [rsp + 0xc0], xmm2
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
mov rcx, qword [rsp + 0x178]
mov qword [rdi + 0x80], rcx
movups xmm0, xmmword [rsp + 0x168]
movups xmmword [rdi + 0x70], xmm0
movups xmm0, xmmword [rsp + 0x158]
movups xmmword [rdi + 0x60], xmm0
mov ecx, dword [rsp + 0xf0]
mov dword [rdi + 0x5c], ecx
movaps xmm0, xmmword [rsp + 0xe0]
movups xmmword [rdi + 0x4c], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movaps xmm2, xmmword [rsp + 0xc0]
movaps xmm3, xmmword [rsp + 0xd0]
movups xmmword [rdi + 0x3c], xmm3
movups xmmword [rdi + 0x2c], xmm2
movups xmmword [rdi + 0x1c], xmm1
movups xmmword [rdi + 0xc], xmm0
mov dword [rdi + 8], eax
mov byte [rdi], 4
jmp 0x50c073
call sub.kernel32.dll_GetProcessHeap
test rax, rax
mov rbx, qword [rsp + 0x98]
je 0x50c112
mov rcx, rax
mov qword [0x00610110], rax
mov r8d, 0xd8
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x50c112
mov rsi, rax
lea rdx, [rsp + 0x100]
mov r8d, 0xd8
mov rcx, rax
call sym.memcpy
mov rax, qword [rsp + 0x1f0]
mov qword [rdi + 0x70], rax
movaps xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rdi + 0x60], xmm0
mov qword [rdi + 0x78], rbx
mov rax, qword [rsp + 0x90]
mov qword [rdi + 0x80], rax
mov rax, qword [rsp + 0x1d8]
mov qword [rdi + 0x88], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmm2, xmmword [rsp + 0x50]
movups xmm3, xmmword [rsp + 0x60]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x30], xmm3
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rdi + 0x40], xmm0
mov rax, qword [rsp + 0x80]
mov qword [rdi + 0x50], rax
mov qword [rdi + 0x58], rsi
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, str._usr_cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.7.5_src_ast_parse.rs
jmp 0x50c097
lea rax, str._usr_cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.7.5_src_ast_parse.rs
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rsi
mov r9, rsi
call dbg.slice_error_fail
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value_usr_cargo_registry_src_index.crates.io_6f17d22bba15001f_chrono_0.4.28_src_offset_fixed.rs
lea r8, str._usr_cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.7.5_src_ast_parse.rs
mov edx, 0x2b
call dbg.panic
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value_usr_cargo_registry_src_index.crates.io_6f17d22bba15001f_chrono_0.4.28_src_offset_fixed.rs
lea r8, str._usr_cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.7.5_src_ast_parse.rs
mov edx, 0x2b
call dbg.panic
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value_usr_cargo_registry_src_index.crates.io_6f17d22bba15001f_chrono_0.4.28_src_offset_fixed.rs
lea r8, str._usr_cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.7.5_src_ast_parse.rs
mov edx, 0x2b
call dbg.panic
ud2
call sym.alloc::raw_vec::capacity_overflow::hb8123ef5e6b3b729
ud2
mov ecx, 8
mov edx, 0xd8
call dbg.handle_alloc_error
jmp 0x50c152
mov ecx, 8
mov edx, 0xd8
call dbg.handle_alloc_error
jmp 0x50c152
mov qword [rsp + 0x100], 0
lea rdx, [0x00598418]
lea r9, str._usr_cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.7.5_src_ast_parse.rs
lea rcx, [rsp + 0x1fc]
lea r8, [rsp + 0x100]
call sym.core::panicking::assert_failed::h05ae35143ac6d6b4
ud2