Function at 0x1400ffc10
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, 0x148
mov r14, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.1400f5980
cmp eax, 0x70
je 0x1400ffc47
mov rcx, r14
call fcn.1400f5980
cmp eax, 0x50
jne 0x1401009a8
mov r15, qword [r14]
cmp qword [r15 + 0x80], 0
jne 0x140100993
mov qword [r15 + 0x80], 0xffffffffffffffff
mov qword [r15 + 0x98], 0
mov rcx, r14
call fcn.1400f5980
mov edi, eax
mov rcx, r14
call fcn.1400f6370
test al, al
je 0x1400fff22
mov rcx, r14
call fcn.1400f5600
mov rbx, qword [r14 + 0x10]
cmp qword [r15 + 0xa0], rbx
je 0x1400fff26
lea r13, [r15 + 0xa0]
mov rcx, r14
call fcn.1400f5980
cmp eax, 0x7b
mov qword [rsp + 0xc8], r13
jne 0x14010000d
mov dword [rsp + 0x3c], edi
lea rdi, [r15 + 0x88]
lea r12, [rsp + 0x40]
mov rcx, r12
mov rdx, r14
call fcn.1400f6280
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x110], rax
movups xmm0, xmmword [rsp + 0x58]
movaps xmmword [rsp + 0x100], xmm0
mov rcx, r14
call fcn.1400f6370
test al, al
jne 0x1400ffdc2
cmp qword [r13], rbx
jne 0x14010009f
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0xf8], rax
movups xmm0, xmmword [r13]
movups xmmword [rsp + 0xe8], xmm0
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0xe0], rax
mov rdi, qword [r14 + 8]
test rbx, rbx
je 0x14010030d
js 0x1401009a1
movzx eax, byte [0x1404a3530]
mov rcx, qword [0x1404a3498]
test rcx, rcx
jne 0x1400ffd81
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1400fffa2
mov rcx, rax
mov qword [0x1404a3498], rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapAlloc]
mov r14, rax
test rax, rax
jne 0x140100313
jmp 0x1400fffa2
mov rax, qword [r15 + 0x88]
mov byte [rax + rdx], bpl
inc qword [r15 + 0x98]
mov rcx, r14
call fcn.1400f6370
test al, al
je 0x1400ffd06
mov rcx, r14
call fcn.1400f5600
cmp qword [r13], rbx
je 0x1400ffd06
mov rcx, r14
call fcn.1400f5980
cmp eax, 0x7d
je 0x1400ffd06
mov rcx, r14
call fcn.1400f5980
mov ebp, eax
cmp eax, 0x80
jae 0x1400ffe20
mov rdx, qword [r15 + 0x98]
cmp rdx, qword [r15 + 0x90]
jne 0x1400ffda0
mov rcx, rdi
call fcn.14007fee0
mov rdx, qword [r15 + 0x98]
jmp 0x1400ffda0
mov dword [rsp + 0x40], 0
mov eax, ebp
cmp ebp, 0x800
jae 0x1400ffe50
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x40], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x41], bpl
mov r13d, 2
jmp 0x1400ffeb9
cmp ebp, 0x10000
jae 0x1400ffe83
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x40], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x41], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x42], bpl
mov r13d, 3
jmp 0x1400ffeb9
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x40], al
mov eax, ebp
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x41], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x42], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x43], bpl
mov r13d, 4
mov rax, qword [r15 + 0x90]
mov rbp, qword [r15 + 0x98]
sub rax, rbp
cmp rax, r13
jb 0x1400fff0b
mov rcx, qword [r15 + 0x88]
add rcx, rbp
mov rdx, r12
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
add rbp, r13
mov qword [r15 + 0x98], rbp
mov r13, qword [rsp + 0xc8]
mov rcx, r14
call fcn.1400f6370
test al, al
jne 0x1400ffdc2
jmp 0x1400ffd06
mov rcx, rdi
mov rdx, rbp
mov r8, r13
call fcn.140395ca0
mov rbp, qword [r15 + 0x98]
jmp 0x1400ffecf
mov rbx, qword [r14 + 0x10]
mov rax, qword [r15 + 0xb0]
mov qword [rsp + 0x68], rax
movups xmm0, xmmword [r15 + 0xa0]
movups xmmword [rsp + 0x58], xmm0
mov rax, qword [r15 + 0xb0]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [r15 + 0xa0]
movaps xmmword [rsp + 0x40], xmm0
mov rdi, qword [r14 + 8]
test rbx, rbx
je 0x1400fffb1
js 0x1401009a1
movzx eax, byte [0x1404a3530]
mov rcx, qword [0x1404a3498]
test rcx, rcx
jne 0x1400fff8f
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1400fffa2
mov rcx, rax
mov qword [0x1404a3498], rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapAlloc]
mov r14, rax
test rax, rax
jne 0x1400fffb7
mov r14d, 1
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov dword [rsi], 0xa
mov qword [rsi + 0x38], r14
mov qword [rsi + 0x40], rbx
mov qword [rsi + 0x48], rbx
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movaps xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x140], rax
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x130], xmm0
mov rcx, r14
call fcn.1400f5980
cmp eax, 0x5c
jne 0x1401002e3
lea rcx, [rsp + 0x40]
mov rdx, r14
call fcn.1400f6280
mov rdi, qword [r14 + 8]
test rbx, rbx
je 0x14010037e
js 0x1401009a1
movzx eax, byte [0x1404a3530]
mov rcx, qword [0x1404a3498]
test rcx, rcx
jne 0x140100083
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1400fffa2
mov rcx, rax
mov qword [0x1404a3498], rax
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapAlloc]
mov r14, rax
test rax, rax
jne 0x140100384
jmp 0x1400fffa2
mov rcx, r14
call fcn.1400f5980
mov dword [rsp + 0xd0], eax
cmp eax, 0x7d
jne 0x1401009c2
mov rcx, r14
call fcn.1400f6370
mov r14, qword [r15 + 0x88]
mov r8, qword [r15 + 0x98]
mov qword [rsp + 0x20], 2
lea r9, [0x1403d2cb0]
lea rcx, [rsp + 0x40]
mov rdx, r14
mov qword [rsp + 0xb8], r8
call fcn.1400566d0
cmp qword [rsp + 0x40], 0
je 0x1401003b8
mov r13, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0xa0]
lea rcx, [rax + r13]
dec rcx
cmp rcx, rdx
jae 0x1401003c3
mov rbp, qword [rsp + 0x78]
mov r10, qword [rsp + 0x88]
mov r11, qword [rsp + 0x98]
lea rdi, [rax - 1]
mov rbx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x48]
mov qword [rsp + 0x30], r9
mov r9, qword [rsp + 0x58]
mov r12, rax
mov qword [rsp + 0x128], r9
sub r12, r9
mov qword [rsp + 0x120], r12
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0xb0], r14
cmp qword [rsp + 0x28], 0xffffffffffffffff
je 0x14010019f
movzx ecx, byte [r10 + rcx]
bt rbx, rcx
jae 0x1401001af
mov r8, rbp
jmp 0x1401001df
add r13, rax
lea rcx, [rdi + r13]
lea r8, [rdi + r13]
cmp r8, rdx
jae 0x1401003c3
movzx ecx, byte [r10 + rcx]
bt rbx, rcx
jae 0x14010018b
xor r8d, r8d
jmp 0x1401001df
add r13, rax
lea rcx, [rdi + r13]
cmp rcx, rdx
jae 0x1401003c3
movzx r8d, byte [r10 + rcx]
bt rbx, r8
jb 0x1401001da
add r13, rax
add rcx, rax
cmp rcx, rdx
jb 0x1401001bf
jmp 0x1401003c3
xor r8d, r8d
xor ebp, ebp
mov rcx, qword [rsp + 0x30]
cmp rcx, rbp
mov qword [rsp + 0xc0], rbp
cmova rbp, rcx
cmp qword [rsp + 0x28], 0xffffffffffffffff
cmove rbp, rcx
cmp rbp, rax
jae 0x140100229
lea r9, [r10 + r13]
mov rcx, rbp
lea r14, [rcx + r13]
cmp r14, rdx
jae 0x140100978
movzx r12d, byte [r11 + rcx]
cmp r12b, byte [r9 + rcx]
jne 0x14010028f
inc rcx
cmp rax, rcx
jne 0x140100209
mov rcx, qword [rsp + 0x30]
mov r14, qword [rsp + 0xb0]
nop word cs:[rax + rax]
cmp r8, rcx
jae 0x140100572
dec rcx
cmp rcx, rax
jae 0x140100956
lea r9, [rcx + r13]
cmp r9, rdx
jae 0x140100967
movzx ebp, byte [r11 + rcx]
cmp bpl, byte [r10 + r9]
je 0x140100240
add r13, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x120]
cmp qword [rsp + 0x28], 0xffffffffffffffff
mov rbp, qword [rsp + 0xc0]
jne 0x1401002ac
jmp 0x1401002af
sub r14, qword [rsp + 0x30]
mov r13, r14
inc r13
cmp qword [rsp + 0x28], 0xffffffffffffffff
je 0x1401002c1
xor ecx, ecx
mov r14, qword [rsp + 0xb0]
mov rbp, rcx
lea rcx, [rdi + r13]
cmp rcx, rdx
jb 0x140100173
jmp 0x1401003c3
mov r14, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xc0]
lodsb al, byte [rsi]
and al, 0xc0
add byte [rax], al
add byte [rdx - 0x73], cl
or al, 0x2f
cmp rcx, rdx
jb 0x140100173
jmp 0x1401003c3
mov r12d, eax
mov dword [rsp + 0x3c], edi
mov rcx, r14
call fcn.1400f6370
lea rbx, [rsp + 0x130]
test al, al
je 0x140100306
mov rcx, r14
call fcn.1400f5600
xor eax, eax
jmp 0x140100880
mov r14d, 1
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x50]
movups xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 4], xmm0
movups xmmword [rsi + 0x14], xmm1
movups xmmword [rsi + 0x24], xmm2
mov eax, dword [rsp + 0x70]
mov dword [rsi + 0x34], eax
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmm1, xmmword [rsp + 0xe0]
movaps xmm2, xmmword [rsp + 0xf0]
movups xmmword [rsi + 0x70], xmm2
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x50], xmm0
mov dword [rsi], 0xa
mov qword [rsi + 0x38], r14
mov qword [rsi + 0x40], rbx
mov qword [rsi + 0x48], rbx
jmp 0x1400ffff2
mov r14d, 1
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov dword [rsi], 0x1f
mov qword [rsi + 0x38], r14
mov qword [rsi + 0x40], rbx
mov qword [rsi + 0x48], rbx
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x50]
movups xmm2, xmmword [rsp + 0x60]
jmp 0x1400fffe6
cmp byte [rsp + 0x5a], 0
je 0x140100530
mov r13, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
movzx eax, byte [rsp + 0x58]
mov r8, rdx
test r13, r13
je 0x1401006a6
mov r8, rdx
sub r8, r13
jbe 0x1401006a0
cmp byte [rcx + r13], 0xc0
jge 0x1401006a6
jmp 0x1401009fc
add rax, r13
jne 0x1401009fc
lea r8, str._rustc_a28077b28a02b92985b3a3faecf92813155f1ea1librarycore_src_strpattern.rs
mov rdx, rax
call fcn.1403897b0
ud2
lea r8, str._rustc_a28077b28a02b92985b3a3faecf92813155f1ea1librarycore_src_strpattern.rs
mov rcx, r9
call fcn.1403897b0
ud2
add rbp, r13
lea rcx, str.C:Users_rosesxrq.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
lea rcx, str.assertion_failed:_self.char____p__self.char____P
lea r8, str.C:Users_rosesxrq.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
lea eax, [0x1403d2da0]
mov qword [rsp + 0x40], 0