Function at 0x1401a2232
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, 0x5c8
movaps xmmword [rsp + 0x5b0], xmm6
mov rdi, r9
cmp r9, 0x7fffffff
jbe 0x1401a2270
mov dword [rcx], 0x25
mov qword [rcx + 8], rdi
mov qword [rcx + 0x10], 0x7fffffff
jmp 0x1401a2d9e
mov rsi, r8
mov r14, rdx
test byte [rdx + 0x13], 1
je 0x1401a2287
cmp byte [r14 + 0x15], 2
jne 0x1401a2495
mov qword [rsp + 0x78], rcx
lea r15, [r14 + 0x28]
lea rdx, str._Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.3_src_nfa_thompson_compiler.rs
mov rcx, r15
call fcn.14017b7fd
mov r13, rax
mov r12, rdx
and dword [rax + 0x10], 0
mov rbp, qword [rax + 0x18]
mov rbx, qword [rax + 0x28]
and qword [rax + 0x28], 0
sub rbx, 1
jb 0x1401a22ca
mov rcx, rbp
call fcn.1401c669d
add rbp, 0x20
jmp 0x1401a22b6
and qword [r13 + 0x40], 0
mov rbx, qword [r13 + 0x48]
mov rbp, qword [r13 + 0x58]
and qword [r13 + 0x58], 0
sub rbp, 1
jb 0x1401a2300
mov rcx, qword [rbx]
mov rdx, qword [rbx + 0x10]
call fcn.14017461f
mov rcx, qword [rbx]
mov rdx, qword [rbx + 8]
call fcn.140275209
add rbx, 0x18
jmp 0x1401a22dc
and qword [r13 + 0x60], 0
inc qword [r12]
lea rdx, str._Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.3_src_nfa_thompson_compiler.rs
mov rcx, r15
call fcn.14017b7fd
cmp byte [r14 + 0x12], 0
setne byte [rax + 0x68]
inc qword [rdx]
lea rdx, str._Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.3_src_nfa_thompson_compiler.rs
mov rcx, r15
call fcn.14017b7fd
mov cl, byte [r14 + 0x13]
and cl, 1
mov byte [rax + 0x69], cl
inc qword [rdx]
lea rdx, str._Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.3_src_nfa_thompson_compiler.rs
mov rcx, r15
call fcn.14017b7fd
cmp byte [r14 + 0x10], 0
movzx ecx, byte [r14 + 0x11]
mov r8d, 0xa
cmovne r8d, ecx
mov byte [rax + 0x6a], r8b
inc qword [rdx]
lea rdx, str._Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.3_src_nfa_thompson_compiler.rs
mov rcx, r15
call fcn.14017b7fd
mov r12, rdx
mov rcx, qword [r14]
mov rdx, qword [r14 + 8]
xor r8d, r8d
cmp rcx, 2
cmovne r8, rcx
mov qword [rax], r8
mov qword [rax + 8], rdx
lea r13, [rsp + 0xf8]
mov rcx, r13
mov rdx, rax
call fcn.1401c691d
mov eax, dword [r13]
cmp eax, 0x2a
jne 0x1401a2472
inc qword [r12]
lea rbx, [rsi + rdi*8]
shl rdi, 3
xor eax, eax
cmp rdi, rax
je 0x1401a24a0
mov rcx, qword [rsi + rax]
mov rcx, qword [rcx + 0x28]
add rax, 8
test byte [rcx + 0x3c], 1
jne 0x1401a23c3
lea rdi, [rsp + 0x550]
mov rcx, rdi
call fcn.1401d7708
mov rcx, rdi
xor edx, edx
mov r8b, 0xff
call fcn.1401d90a4
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
lea rdx, [rsp + 0x2a0]
movups xmmword [rdx + 0x18], xmm1
movups xmmword [rdx + 8], xmm0
mov qword [rdx], 1
lea rdi, [rsp + 0x3d8]
mov rcx, rdi
call fcn.1401bcea4
and dword [rsp + 0x20], 0
lea r12, [rsp + 0xf8]
mov rcx, r12
mov rdx, r14
mov r8, rdi
xor r9d, r9d
call fcn.14017e857
mov eax, dword [r12]
cmp eax, 0x2a
jne 0x1401a2592
mov r13d, dword [rsp + 0xfc]
mov ebp, dword [rsp + 0x100]
lea rcx, [rsp + 0x3d8]
call fcn.1401a4c09
jmp 0x1401a24c9
lea rsi, [rsp + 0xfc]
mov rdx, qword [rsp + 0x78]
lea rdi, [rdx + 4]
mov ecx, 0x1f
rep movsd dword [rdi], dword [rsi]
mov dword [rdx], eax
inc qword [r12]
jmp 0x1401a2d9e
mov dword [rcx], 0x29
jmp 0x1401a2d9e
lea rdi, [rsp + 0xf8]
mov rcx, rdi
mov rdx, r14
call fcn.14017e6e4
mov eax, dword [rdi]
cmp eax, 0x2a
jne 0x1401a250d
mov r13d, dword [rsp + 0xfc]
mov ebp, dword [rsp + 0x100]
lea rdx, [rsp + 0xa8]
mov qword [rdx], rsi
mov qword [rdx + 8], rbx
mov qword [rdx + 0x10], r14
lea rsi, [rsp + 0xf8]
mov rcx, rsi
call fcn.1401bcc14
mov edx, dword [rsi]
cmp edx, 0x2b
jne 0x1401a2535
lea rsi, [rsp + 0x2a0]
mov rcx, rsi
mov rdx, r14
call fcn.14017fa5c
mov edx, dword [rsi]
jmp 0x1401a25ef
lea rsi, [rsp + 0x104]
mov rdx, qword [rsi - 8]
mov r8, qword [rsp + 0x78]
lea rdi, [r8 + 0xc]
mov ecx, 0x1d
rep movsd dword [rdi], dword [rsi]
mov dword [r8], eax
mov qword [r8 + 4], rdx
jmp 0x1401a2d9e
mov ebx, r13d
mov r12d, dword [rsp + 0xfc]
mov r13d, dword [rsp + 0x100]
cmp edx, 0x2a
jne 0x1401a25c7
lea rsi, [rsp + 0xf8]
lea rdx, [rsp + 0xa8]
mov rcx, rsi
call fcn.1401bcc14
mov edx, dword [rsi]
cmp edx, 0x2b
jne 0x1401a2a73
mov dword [rsp + 0x2a4], r12d
mov dword [rsp + 0x2a8], r13d
mov dword [rsp + 0x2a0], 0x2a
mov edx, 0x2a
jmp 0x1401a25ec
lea rsi, [rsp + 0x104]
mov rdx, qword [rsi - 8]
mov r8, qword [rsp + 0x78]
lea rdi, [r8 + 0xc]
mov ecx, 0x1d
rep movsd dword [rdi], dword [rsi]
mov dword [r8], eax
mov qword [r8 + 4], rdx
lea rcx, [rsp + 0x3d8]
call fcn.1401a4c09
jmp 0x1401a2d9e
lea rsi, [rsp + 0x104]
lea rax, [rsp + 0x2ac]
mov ecx, 0x1d
mov rdi, rax
rep movsd dword [rdi], dword [rsi]
mov dword [rax - 0xc], edx
mov dword [rax - 8], r12d
mov dword [rax - 4], r13d
mov r13d, ebx
cmp edx, 0x2a
jne case.0x140178f6f.86
mov edi, dword [rsp + 0x2a4]
lea rsi, [rsp + 0xf8]
mov rcx, rsi
mov rdx, r14
mov r8d, ebp
mov r9d, edi
call fcn.14017bc4b
mov eax, dword [rsi]
cmp eax, 0x2a
jne 0x1401a2a54
lea rdx, str._Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.3_src_nfa_thompson_compiler.rs
mov rcx, r15
call fcn.14017b7fd
mov qword [rsp + 0xf0], rdx
cmp dword [rax + 0x10], 0
jne 0x1401a3fa8
mov r15, rax
mov ebx, 8
lea rsi, [rsp + 0x3d8]
mov qword [rsi + 0x128], rbx
xorps xmm6, xmm6
movups xmmword [rsi + 0x130], xmm6
mov r12d, 4
mov qword [rsi + 0x140], r12
movups xmmword [rsi + 0x148], xmm6
lea rcx, [rsp + 0xf8]
mov qword [rcx], r12
movups xmmword [rcx + 8], xmm6
mov qword [rcx + 0x18], rbx
movups xmmword [rcx + 0x20], xmm6
mov qword [rcx + 0x30], rbx
movups xmmword [rcx + 0x38], xmm6
and qword [rcx + 0x48], 0
call fcn.1401c26f6
mov r14, rax
mov rcx, rsi
call fcn.1401c38cc
lea rbp, [rsp + 0x530]
mov qword [rbp], r14
movups xmmword [rbp - 0x48], xmm6
movups xmmword [rbp - 0x58], xmm6
and dword [rbp + 0x19], 0
and qword [rbp + 0x10], 0
and qword [rbp - 0x38], 0
mov al, byte [r15 + 0x68]
mov byte [rbp + 0x1b], al
mov al, byte [r15 + 0x69]
mov byte [rbp + 0x1c], al
mov al, byte [r15 + 0x6a]
mov byte [rbp + 0x18], al
mov qword [rsp + 0xd8], r12
movups xmmword [rsp + 0xe0], xmm6
lea rcx, [rsp + 0x58]
mov qword [rcx], r12
movups xmmword [rcx + 8], xmm6
mov rdx, qword [r15 + 0x28]
mov qword [rsp + 0x50], rdx
call fcn.140174147
mov rsi, qword [r15 + 0x30]
mov r14, qword [r15 + 0x40]
mov dword [rbp + 8], edi
mov dword [rbp + 0xc], r13d
mov rcx, r14
call fcn.1401c17fc
mov rdi, rax
mov r13, r15
mov r15, rdx
lea r8, [r14*4]
mov rcx, rax
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
call fcn.14009756a
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], r14
mov rsi, qword [r13 + 0x48]
mov qword [rsp + 0x40], r13
imul rdi, qword [r13 + 0x58], 0x18
add rdi, rsi
lea r14, [rsp + 0x2a0]
movups xmmword [r14 + 8], xmm6
movups xmmword [r14 + 0x20], xmm6
movups xmmword [r14 + 0x38], xmm6
mov qword [r14], r12
mov qword [r14 + 0x18], rbx
mov qword [r14 + 0x30], rbx
and qword [r14 + 0x48], 0
xor edx, edx
mov qword [rsp + 0x98], rdi
cmp rsi, rdi
je 0x1401a2dba
mov rbx, qword [rsi]
mov rbp, qword [rsi + 0x10]
lea rcx, [rsp + 0xa8]
mov qword [rsp + 0x70], rdx
call fcn.140032333
cmp dword [rsp + 0xa8], 0
jne 0x1401a36d0
mov r15d, dword [rsp + 0xac]
test rbp, rbp
je 0x1401a36df
cmp qword [rbx], 0
jne 0x1401a36e6
add rsi, 0x18
mov qword [rsp + 0x48], rsi
inc qword [rsp + 0x70]
mov rcx, r14
mov edx, r15d
call fcn.1401c6b82
shl rbp, 4
add rbp, 0xfffffffffffffff0
add rbx, 0x10
mov r14d, 1
test rbp, rbp
je 0x1401a2a35
mov r13, qword [rbx]
test r13, r13
mov rdi, rbx
cmove rdi, r13
mov esi, 1
cmp r14, 0x7fffffff
je 0x1401a2c39
mov rcx, qword [rsp + 0x2a0]
mov r12, qword [rsp + 0x2b0]
mov rdx, r12
mov r8d, r15d
call fcn.1401c6d04
mov ecx, dword [rax + 4]
cmp ecx, 0x7ffffffc
ja 0x1401a2c41
mov qword [rsp + 0x30], rbp
add ecx, 2
mov dword [rax + 4], ecx
test r13, r13
je 0x1401a2972
mov rsi, qword [rdi]
mov r12, qword [rdi + 8]
add rsi, 0x10
mov rcx, r12
call fcn.1401c1752
mov rdi, rax
mov r13, rdx
lea rbp, [rax + 0x10]
mov rcx, rbp
mov rdx, rsi
mov r8, r12
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], r13
mov r12, qword [rsp + 0x2b8]
mov rsi, qword [rsp + 0x2c8]
mov rcx, r12
mov rdx, rsi
mov r8d, r15d
call fcn.1401c6d2a
mov rcx, rax
mov rdx, rbp
mov r8, r13
call fcn.1401c279d
test al, al
jne 0x1401a2c9b
mov rcx, r12
mov rdx, rsi
mov r8d, r15d
call fcn.1401c6d56
lock inc qword [rdi]
jle 0x1401a3f2a
mov rsi, qword [rsp + 0xb0]
mov rcx, rax
mov rdx, rdi
mov r8, rsi
mov r9d, r14d
call fcn.1401c2922
mov rbp, qword [rsp + 0x2d0]
mov rdi, qword [rsp + 0x2e0]
mov rcx, rbp
mov rdx, rdi
mov r8d, r15d
lea r9, str._Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.3_src_util_captures.rs
call fcn.140030f6a
mov rdx, qword [rsp + 0xa8]
mov rcx, rax
mov r8, rsi
call fcn.1401c6a17
mov r12, qword [rsp + 0x2b0]
mov rax, qword [rsp + 0x2e8]
lea rax, [rax + r13*2]
add rax, 0x24
mov qword [rsp + 0x2e8], rax
jmp 0x1401a29aa
mov rbp, qword [rsp + 0x2d0]
mov rdi, qword [rsp + 0x2e0]
mov rcx, rbp
mov rdx, rdi
mov r8d, r15d
lea r9, str._Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.3_src_util_captures.rs
call fcn.140030f6a
mov rcx, rax
xor edx, edx
call fcn.1401c6a17
add qword [rsp + 0x2e8], 0x10
mov eax, r14d
lea rsi, [rax + 1]
mov qword [rsp + 0x80], rsi
cmp r12, r15
jbe 0x1401a3edb
mov rcx, qword [rsp + 0x2a0]
mov edx, dword [rcx + r15*8]
mov ecx, dword [rcx + r15*8 + 4]
sub rcx, rdx
shr rcx, 1
lea rdx, [rcx + 1]
mov qword [rsp + 0x3a0], rdx
cmp rax, rcx
jne 0x1401a3ee4
mov qword [rsp + 0x80], rsi
mov rcx, rbp
mov rdx, rdi
mov r8d, r15d
lea r9, str._Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.3_src_util_captures.rs
call fcn.140030f6a
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x3a0], rax
cmp rsi, rax
jne 0x1401a3ef9
mov rbp, qword [rsp + 0x30]
add rbp, 0xfffffffffffffff0
add rbx, 0x10
inc r14
jmp 0x1401a2812
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x98]
lea r14, [rsp + 0x2a0]
mov rdx, qword [rsp + 0x70]
jmp 0x1401a279c
lea rsi, [rsp + 0xfc]
mov rdx, qword [rsp + 0x78]
lea rdi, [rdx + 4]
mov ecx, 0x1f
rep movsd dword [rdi], dword [rsi]
mov dword [rdx], eax
jmp 0x1401a2d9e
mov r9d, dword [rsp + 0xfc]
mov r8d, dword [rsp + 0x100]
cmp edx, 0x2a
jne 0x1401a2c49
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x40], r8d
lea rsi, [rsp + 0xf8]
mov rcx, rsi
mov rdx, r14
call fcn.14017e7e1
mov edx, dword [rsi]
cmp edx, 0x2a
jne 0x1401a2c73
lea rsi, [rsp + 0xf8]
mov edi, dword [rsi + 4]
mov rcx, rsi
mov rdx, r14
call fcn.14017e826
mov edx, dword [rsi]
cmp edx, 0x2a
jne 0x1401a2c73
lea rsi, [rsp + 0xf8]
mov eax, dword [rsi + 4]
mov dword [rsp + 0x50], eax
mov rcx, rsi
mov rdx, r14
mov r8d, edi
mov r9d, r12d
call fcn.14017bc4b
mov edx, dword [rsi]
cmp edx, 0x2a
jne 0x1401a2d64
lea rsi, [rsp + 0xf8]
mov rcx, rsi
mov rdx, r14
mov r8d, r13d
mov r12d, dword [rsp + 0x50]
mov r9d, r12d
call fcn.14017bc4b
mov edx, dword [rsi]
cmp edx, 0x2a
jne 0x1401a2d64
lea rsi, [rsp + 0xf8]
mov rcx, rsi
mov rdx, r14
mov r8d, edi
mov r9d, dword [rsp + 0x30]
call fcn.14017bc4b
mov edx, dword [rsi]
cmp edx, 0x2a
jne 0x1401a2d64
lea rsi, [rsp + 0xf8]
mov rcx, rsi
mov rdx, r14
mov r8d, dword [rsp + 0x40]
mov r9d, r12d
call fcn.14017bc4b
mov edx, dword [rsi]
cmp edx, 0x2a
jne 0x1401a2d64
mov rax, qword [rsp + 0xb8]
lea rcx, [rsp + 0x550]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0xa8]
movaps xmmword [rcx], xmm0
lea r13, [rsp + 0xf8]
mov esi, r12d
lea rcx, [rsp + 0x3d8]
lea rdx, [rsp + 0x550]
call fcn.1401bcc14
mov edx, dword [rsp + 0x3d8]
cmp edx, 0x2b
je 0x1401a3e64
mov r9d, dword [rsp + 0x3dc]
mov r12d, dword [rsp + 0x3e0]
cmp edx, 0x2a
jne 0x1401a3e6c
mov rcx, r13
mov rdx, r14
mov r8d, edi
call fcn.14017bc4b
mov edx, dword [rsp + 0xf8]
cmp edx, 0x2a
jne 0x1401a2c17
mov rcx, r13
mov rdx, r14
mov r8d, r12d
mov r12d, esi
mov r9d, esi
call fcn.14017bc4b
mov edx, dword [rsp + 0xf8]
cmp edx, 0x2a
je 0x1401a2b9c
lea rsi, [rsp + 0xfc]
lea rax, [rsp + 0x2a4]
mov ecx, 0x1f
mov rdi, rax
rep movsd dword [rdi], dword [rsi]
movsd dword [rdi], dword [rsi]
mov dword [rax - 4], edx
jmp case.0x140178f6f.86
mov r14d, 0x7fffffff
jmp 0x1401a2c44
mov r14d, r14d
jmp 0x1401a2ccb
lea rsi, [rsp + 0x104]
lea rax, [rsp + 0x2ac]
mov ecx, 0x1d
mov rdi, rax
rep movsd dword [rdi], dword [rsi]
mov dword [rax - 0xc], edx
mov dword [rax - 8], r9d
mov dword [rax - 4], r8d
jmp 0x1401a25ec
lea rsi, [rsp + 0x100]
mov r8d, dword [rsi - 4]
lea rax, [rsp + 0x2a8]
mov ecx, 0xf
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov dword [rax - 4], r8d
jmp case.0x140178f6f.86
mov rcx, r13
xor edx, edx
call fcn.1400408a4
mov r14, rax
mov r12, rdx
mov rcx, rax
mov rdx, rbp
mov r8, r13
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0xa8]
lea ecx, [rsp + 0xa8]
call fcn.140130af2
mov esi, 4
lea rsi, [rsp + 0xfc]
mov rdx, qword [rsp + 0x2a0]
mov r8, qword [rsp + 0x2b0]
mov eax, dword [rsp + 0x2b0]
mov r14, qword [rsp + 0xb0]
xor esi, esi
jmp 0x1401a2c44
mov esi, 2
jmp 0x1401a36eb
mov esi, 3
jmp 0x1401a2c44
mov r13d, ebx
jmp 0x1401a25ff
lea rax, [rsp + 0x2ac]
mov ecx, 0x1d
mov rdi, rax
lea rsi, [rsp + 0x3e4]
rep movsd dword [rdi], dword [rsi]
mov dword [rax - 0xc], edx
mov dword [rax - 8], r9d
mov dword [rax - 4], r12d
jmp case.0x140178f6f.86
and qword [rsp + 0x3a0], 0
lea r9, [rsp + 0xa8]
and qword [r9], 0
lea rax, str._Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.3_src_util_captures.rs
jmp 0x1401a3f0c
lea r9, [rsp + 0xa8]
and qword [r9], 0
lea rax, str._Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.3_src_util_captures.rs
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x3a0]
xor ecx, ecx
call fcn.14002beaf
ud2
ud2
lea rax, str.must_call_finish_pattern_firstE_
lea rcx, [rsp + 0xf8]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, [0x1404ef530]
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str._Users_spectrum_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.3_src_nfa_thompson_builder.rs