Function at 0x1400f43e0
Capabilities:
Enumerate pe sections

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x178
movups xmmword [rsp + 0x150], xmm6
movups xmmword [rsp + 0x160], xmm7
mov eax, dword [rcx + 0x98]
mov rsi, rcx
mov rdi, rdx
mov rbx, r8
cmp eax, 0xb
je 0x1400f4570
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x108], r8
cmp eax, 0x10
je 0x1400f45a0
cmp eax, 0x11
je 0x1400f4648
cmp eax, 0xf
je 0x1400f46f8
call method.std::__detail::_Compiler_std::__cxx11::regex_traits_char___._M_try_char__
test al, al
jne 0x1400f4510
mov eax, dword [rsi + 0x98]
cmp eax, 0x1c
je 0x1400f47b0
cmp eax, 0xe
jne 0x1400f5106
lea rdx, [rsi + 0xd0]
lea rcx, [rsi + 0x110]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rbp, [rsi + 8]
mov rcx, rbp
call method.std::__detail::_Scanner_char_._M_advance__
cmp byte [rdi], 1
je 0x1400f4768
mov rdx, qword [rsi + 0x110]
mov byte [rdi], 2
xor r9d, r9d
mov rax, qword [rsi + 0x188]
mov r8, qword [rsi + 0x118]
movzx ecx, byte [rdx]
mov rax, qword [rax + 0x30]
add r8, rdx
movzx edi, word [rax + rcx*2]
mov rcx, qword [rbx + 0x68]
call method.std::__cxx11::regex_traits_char_::_RegexMask_std::__cxx11::regex_traits_char_.lookup_classname_char_const__char_const__char_const__bool__const
and edi, 1
mov r12d, eax
shr eax, 0x10
test r12d, 0x10000
je 0x1400f4530
test dil, dil
jne 0x1400f4548
or word [rbx + 0x60], r12w
or byte [rbx + 0x62], al
mov eax, 1
movups xmm6, xmmword [rsp + 0x150]
movups xmm7, xmmword [rsp + 0x160]
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsi + 0x110]
cmp byte [rdi], 1
movzx esi, byte [rax]
je 0x1400f4790
mov byte [rdi], 1
mov byte [rdi + 1], sil
jmp 0x1400f44e4
test r12w, r12w
jne 0x1400f44d7
lea rdx, str.Invalid_character_class.
xor ecx, ecx
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
nop dword [rax]
mov rsi, qword [rbx + 0x50]
mov rax, qword [rbx + 0x58]
cmp rsi, rax
je 0x1400f4830
mov dword [rsi], r12d
add rsi, 4
mov qword [rbx + 0x50], rsi
jmp 0x1400f44e4
lea rdx, [rcx + 0xd0]
lea rbx, [rcx + 8]
lea rcx, [rcx + 0x110]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, rbx
call method.std::__detail::_Scanner_char_._M_advance__
xor eax, eax
jmp 0x1400f44e9
lea rdx, [rcx + 0xd0]
lea rbp, [rcx + 8]
lea rcx, [rcx + 0x110]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, rbp
lea rbp, [rsp + 0x130]
call method.std::__detail::_Scanner_char_._M_advance__
mov r8, qword [rsi + 0x110]
mov rdx, qword [rbx + 0x68]
mov rcx, rbp
mov r9, qword [rsi + 0x118]
add r9, r8
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::__cxx11::regex_traits_char_.lookup_collatename_char_const__char_const__char_const__const
cmp qword [rsp + 0x138], 0
je 0x1400f50f8
mov rax, qword [rsp + 0x130]
lea r12, [rsp + 0x110]
mov rcx, rbx
mov rdx, r12
movzx eax, byte [rax]
mov byte [rsp + 0x110], al
call method.char_std::vector_char__std::allocator_char___.emplace_back_char__char___clone_.isra.0_
cmp qword [rsp + 0x138], 1
movzx eax, byte [rdi]
je 0x1400f4810
cmp al, 1
je 0x1400f4d48
mov byte [rdi], 2
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
jmp 0x1400f44e4
lea rdx, [rcx + 0xd0]
lea rbp, [rcx + 8]
lea rcx, [rcx + 0x110]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, rbp
call method.std::__detail::_Scanner_char_._M_advance__
cmp byte [rdi], 1
je 0x1400f4cd0
mov r8, qword [rsi + 0x110]
mov r9, qword [rsi + 0x118]
mov byte [rdi], 2
lea r12, [rsp + 0x110]
mov rdx, qword [rbx + 0x68]
mov rcx, r12
add r9, r8
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::__cxx11::regex_traits_char_.lookup_collatename_char_const__char_const__char_const__const
mov rax, qword [rsp + 0x118]
test rax, rax
je 0x1400f50a2
mov r8, qword [rsp + 0x110]
lea rbp, [rsp + 0x130]
mov rdx, qword [rbx + 0x68]
mov rcx, rbp
lea r9, [r8 + rax]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::__cxx11::regex_traits_char_.transform_primary_char__char__char__const
mov rdx, rbp
mov rcx, r12
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
lea rcx, [rbx + 0x18]
mov rdx, r12
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.push_back_std::__cxx11::basic_string_char__std::char_tra
mov rcx, r12
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
jmp 0x1400f44e4
lea rdx, [rcx + 0xd0]
lea rbp, [rcx + 8]
lea rcx, [rcx + 0x110]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, rbp
call method.std::__detail::_Scanner_char_._M_advance__
cmp byte [rdi], 1
je 0x1400f4cf0
mov rdx, qword [rsi + 0x110]
mov rcx, qword [rbx + 0x68]
mov byte [rdi], 2
xor r9d, r9d
mov r8, qword [rsi + 0x118]
add r8, rdx
call method.std::__cxx11::regex_traits_char_::_RegexMask_std::__cxx11::regex_traits_char_.lookup_classname_char_const__char_const__char_const__bool__const
mov edx, eax
shr edx, 0x10
test eax, 0x10000
jne 0x1400f4755
test ax, ax
je 0x1400f4536
or word [rbx + 0x60], ax
or byte [rbx + 0x62], dl
jmp 0x1400f44e4
movzx eax, byte [rdi + 1]
lea rdx, [rsp + 0x130]
mov rcx, rbx
mov byte [rsp + 0x130], al
call method.char_std::vector_char__std::allocator_char___.emplace_back_char__char___clone_.isra.0_
jmp 0x1400f4493
movzx eax, byte [rdi + 1]
lea rdx, [rsp + 0x130]
mov rcx, rbx
mov byte [rsp + 0x130], al
call method.char_std::vector_char__std::allocator_char___.emplace_back_char__char___clone_.isra.0_
jmp 0x1400f4523
lea r13, [rsi + 0xd0]
lea r12, [rsi + 0x110]
mov rdx, r13
mov rcx, r12
lea rbp, [rsi + 8]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, rbp
call method.std::__detail::_Scanner_char_._M_advance__
cmp dword [rsi + 0x98], 0xb
je 0x1400f4e30
movzx eax, byte [rdi]
cmp al, 2
je 0x1400f50d4
cmp al, 1
je 0x1400f4d63
test byte [rsi], 0x10
je 0x1400f5117
mov eax, 0x2d01
mov word [rdi], ax
jmp 0x1400f44e4
mov rdx, qword [rsp + 0x130]
movzx esi, byte [rdx]
cmp al, 1
je 0x1400f4e10
mov byte [rdi], 1
mov byte [rdi + 1], sil
jmp 0x1400f4635
mov rdi, qword [rbx + 0x48]
mov r14, rsi
movabs rcx, 0x1fffffffffffffff
sub r14, rdi
mov rdx, r14
sar rdx, 2
cmp rdx, rcx
je 0x1400f5085
cmp rsi, rdi
je 0x1400f4dc7
lea rcx, [rdx + rdx]
cmp rcx, rdx
jb 0x1400f4e5c
test rcx, rcx
jne 0x1400f5024
mov dword [r14], r12d
xor ebp, ebp
mov qword [rsp + 0x20], 0
mov r14, rsi
sub r14, rdi
lea r8, [r14 - 4]
cmp r8, 0x1c
jbe 0x1400f4d10
mov rdx, rbp
sub rdx, rdi
sub rdx, 5
cmp rdx, 0x36
jbe 0x1400f4d10
lea rcx, [rdi + 4]
mov rdx, rbp
sub rdx, rcx
cmp rdx, 0x38
jbe 0x1400f4d10
mov r10, r8
shr r10, 2
cmp r8, 0x3c
jbe 0x1400f4f58
and r8, 0xffffffffffffffc0
mov rdx, rbp
lea rcx, [rdi + 2]
add r8, rbp
nop dword [rax]
movdqu xmm7, xmmword [rcx - 2]
movdqu xmm6, xmmword [rcx + 0xe]
add rdx, 0x40
add rcx, 0x40
movdqu xmm5, xmmword [rcx - 0x22]
movdqu xmm4, xmmword [rcx - 0x12]
movd r9d, xmm7
movdqu xmm2, xmmword [rcx - 0x30]
movdqu xmm1, xmmword [rcx - 0x20]
movdqu xmm0, xmmword [rcx - 0x10]
movdqu xmm3, xmmword [rcx - 0x40]
mov word [rdx - 0x40], r9w
pextrw r9d, xmm7, 2
mov word [rdx - 0x3c], r9w
pextrw r9d, xmm7, 4
mov word [rdx - 0x38], r9w
pextrw r9d, xmm7, 6
mov word [rdx - 0x34], r9w
movd r9d, xmm6
mov word [rdx - 0x30], r9w
pextrw r9d, xmm6, 2
mov word [rdx - 0x2c], r9w
pextrw r9d, xmm6, 4
mov word [rdx - 0x28], r9w
pextrw r9d, xmm6, 6
mov word [rdx - 0x24], r9w
movd r9d, xmm5
mov word [rdx - 0x20], r9w
pextrw r9d, xmm5, 2
mov word [rdx - 0x1c], r9w
pextrw r9d, xmm5, 4
mov word [rdx - 0x18], r9w
pextrw r9d, xmm5, 6
mov word [rdx - 0x14], r9w
movd r9d, xmm4
mov word [rdx - 0x10], r9w
pextrw r9d, xmm4, 2
mov word [rdx - 0xc], r9w
pextrw r9d, xmm4, 4
mov word [rdx - 8], r9w
pextrw r9d, xmm4, 6
mov word [rdx - 4], r9w
movd r9d, xmm3
mov byte [rdx - 0x3e], r9b
movups xmmword [rsp + 0xe0], xmm3
movzx r9d, byte [rsp + 0xe4]
mov byte [rdx - 0x3a], r9b
movups xmmword [rsp + 0xd0], xmm3
movzx r9d, byte [rsp + 0xd8]
mov byte [rdx - 0x36], r9b
movups xmmword [rsp + 0xc0], xmm3
movzx r9d, byte [rsp + 0xcc]
mov byte [rdx - 0x32], r9b
movd r9d, xmm2
mov byte [rdx - 0x2e], r9b
movups xmmword [rsp + 0xb0], xmm2
movzx r9d, byte [rsp + 0xb4]
mov byte [rdx - 0x2a], r9b
movups xmmword [rsp + 0xa0], xmm2
movzx r9d, byte [rsp + 0xa8]
mov byte [rdx - 0x26], r9b
movups xmmword [rsp + 0x90], xmm2
movzx r9d, byte [rsp + 0x9c]
mov byte [rdx - 0x22], r9b
movd r9d, xmm1
mov byte [rdx - 0x1e], r9b
movups xmmword [rsp + 0x80], xmm1
movzx r9d, byte [rsp + 0x84]
mov byte [rdx - 0x1a], r9b
movups xmmword [rsp + 0x70], xmm1
movzx r9d, byte [rsp + 0x78]
mov byte [rdx - 0x16], r9b
movups xmmword [rsp + 0x60], xmm1
movzx r9d, byte [rsp + 0x6c]
mov byte [rdx - 0x12], r9b
movd r9d, xmm0
mov byte [rdx - 0xe], r9b
movups xmmword [rsp + 0x50], xmm0
movzx r9d, byte [rsp + 0x54]
mov byte [rdx - 0xa], r9b
movups xmmword [rsp + 0x40], xmm0
movzx r9d, byte [rsp + 0x48]
mov byte [rdx - 6], r9b
movups xmmword [rsp + 0x30], xmm0
movzx r9d, byte [rsp + 0x3c]
mov byte [rdx - 2], r9b
cmp rdx, r8
jne 0x1400f48e0
mov rdx, r10
and rdx, 0xfffffffffffffff0
lea rcx, [rdx*4]
lea r9, [rbp + rcx]
add rcx, rdi
sub r10, rdx
mov qword [rsp + 0x28], r10
cmp r10, 7
jbe 0x1400f4bc5
shl rdx, 2
lea r11, [rdi + rdx]
lea r8, [rdx + 2]
add rdx, rbp
movq xmm3, qword [r11]
movq xmm2, qword [r11 + 8]
lea r10, [rdi + r8]
add r8, rbp
movq xmm1, qword [r11 + 0x10]
movq xmm0, qword [r11 + 0x18]
pextrw r15d, xmm3, 0
mov r13, qword [r10]
mov r12, qword [r10 + 8]
mov r11, qword [r10 + 0x10]
mov r10, qword [r10 + 0x18]
mov word [rdx], r15w
pextrw r15d, xmm3, 2
mov word [rdx + 4], r15w
pextrw r15d, xmm2, 0
mov word [rdx + 8], r15w
pextrw r15d, xmm2, 2
mov word [rdx + 0xc], r15w
pextrw r15d, xmm1, 0
mov word [rdx + 0x10], r15w
pextrw r15d, xmm1, 2
mov word [rdx + 0x14], r15w
pextrw r15d, xmm0, 0
mov word [rdx + 0x18], r15w
pextrw r15d, xmm0, 2
mov word [rdx + 0x1c], r15w
mov rdx, qword [rsp + 0x28]
mov byte [r8], r13b
shr r13, 0x20
mov byte [r8 + 8], r12b
shr r12, 0x20
and rdx, 0xfffffffffffffff8
mov byte [r8 + 0x10], r11b
shr r11, 0x20
shl rdx, 2
mov byte [r8 + 0x18], r10b
shr r10, 0x20
add r9, rdx
add rcx, rdx
mov byte [r8 + 4], r13b
mov byte [r8 + 0xc], r12b
mov byte [r8 + 0x14], r11b
mov byte [r8 + 0x1c], r10b
movzx edx, byte [rcx + 2]
movzx r8d, word [rcx]
mov byte [r9 + 2], dl
lea rdx, [rcx + 4]
mov word [r9], r8w
cmp rsi, rdx
je 0x1400f4ca0
movzx edx, byte [rcx + 6]
movzx r8d, word [rcx + 4]
mov byte [r9 + 6], dl
lea rdx, [rcx + 8]
mov word [r9 + 4], r8w
cmp rsi, rdx
je 0x1400f4ca0
movzx edx, byte [rcx + 0xa]
movzx r8d, word [rcx + 8]
mov byte [r9 + 0xa], dl
lea rdx, [rcx + 0xc]
mov word [r9 + 8], r8w
cmp rsi, rdx
je 0x1400f4ca0
movzx edx, byte [rcx + 0xe]
movzx r8d, word [rcx + 0xc]
mov byte [r9 + 0xe], dl
lea rdx, [rcx + 0x10]
mov word [r9 + 0xc], r8w
cmp rsi, rdx
je 0x1400f4ca0
movzx edx, byte [rcx + 0x12]
movzx r8d, word [rcx + 0x10]
mov byte [r9 + 0x12], dl
lea rdx, [rcx + 0x14]
mov word [r9 + 0x10], r8w
cmp rsi, rdx
je 0x1400f4ca0
movzx edx, byte [rcx + 0x16]
movzx r8d, word [rcx + 0x14]
mov byte [r9 + 0x16], dl
lea rdx, [rcx + 0x18]
mov word [r9 + 0x14], r8w
cmp rsi, rdx
je 0x1400f4ca0
movzx edx, byte [rcx + 0x1a]
movzx r8d, word [rcx + 0x18]
mov byte [r9 + 0x1a], dl
lea rdx, [rcx + 0x1c]
mov word [r9 + 0x18], r8w
cmp rsi, rdx
je 0x1400f4ca0
movzx r8d, word [rcx + 0x1c]
movzx edx, byte [rcx + 0x1e]
mov word [r9 + 0x1c], r8w
mov byte [r9 + 0x1e], dl
nop
lea rsi, [rbp + r14 + 4]
test rdi, rdi
je 0x1400f4cb8
sub rax, rdi
mov rcx, rdi
mov rdx, rax
call sym.operator_delete_void__unsigned_long_long_
mov rax, qword [rsp + 0x20]
mov qword [rbx + 0x48], rbp
mov qword [rbx + 0x50], rsi
mov qword [rbx + 0x58], rax
jmp 0x1400f44e4
movzx eax, byte [rdi + 1]
lea rdx, [rsp + 0x130]
mov rcx, rbx
mov byte [rsp + 0x130], al
call method.char_std::vector_char__std::allocator_char___.emplace_back_char__char___clone_.isra.0_
jmp 0x1400f4670
movzx eax, byte [rdi + 1]
lea rdx, [rsp + 0x130]
mov rcx, rbx
mov byte [rsp + 0x130], al
call method.char_std::vector_char__std::allocator_char___.emplace_back_char__char___clone_.isra.0_
jmp 0x1400f4720
mov rdx, rdi
mov rcx, rbp
nop word cs:[rax + rax]
movzx r9d, word [rdx]
movzx r8d, byte [rdx + 2]
add rdx, 4
add rcx, 4
mov word [rcx - 4], r9w
mov byte [rcx - 2], r8b
cmp rdx, rsi
jne 0x1400f4d20
jmp 0x1400f4ca0
movzx eax, byte [rdi + 1]
mov rdx, r12
mov rcx, rbx
mov byte [rsp + 0x110], al
call method.char_std::vector_char__std::allocator_char___.emplace_back_char__char___clone_.isra.0_
jmp 0x1400f4632
mov rcx, rsi
call method.std::__detail::_Compiler_std::__cxx11::regex_traits_char___._M_try_char__
test al, al
jne 0x1400f4e6b
cmp dword [rsi + 0x98], 0x1c
jne 0x1400f5091
mov rdx, r13
mov rcx, r12
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, rbp
call method.std::__detail::_Scanner_char_._M_advance__
movzx r14d, byte [rdi + 1]
cmp r14b, 0x2d
jg 0x1400f50c3
mov rsi, qword [rbx + 0x38]
cmp rsi, qword [rbx + 0x40]
je 0x1400f4eab
mov byte [rsi], r14b
add rsi, 2
mov byte [rsi - 1], 0x2d
mov qword [rbx + 0x38], rsi
mov byte [rdi], 0
jmp 0x1400f44e4
add rdx, 1
jb 0x1400f4e5c
cmp rdx, rcx
cmova rdx, rcx
lea r13, [rdx*4]
mov rcx, r13
call sym.operator_new_unsigned_long_long_
mov rbp, rax
mov rax, qword [rbx + 0x58]
lea rcx, [rbp + r13]
mov dword [rbp + r14], r12d
mov qword [rsp + 0x20], rcx
cmp rsi, rdi
jne 0x1400f4881
lea rsi, [rbp + 4]
jmp 0x1400f4ca5
movzx eax, byte [rdi + 1]
lea rdx, [rsp + 0xff]
mov rcx, rbx
mov byte [rsp + 0xff], al
call method.char_std::vector_char__std::allocator_char___.emplace_back_char__char___clone_.isra.0_
jmp 0x1400f4823
mov rdx, r13
mov rcx, r12
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_assign_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, rbp
call method.std::__detail::_Scanner_char_._M_advance__
lea rcx, [rsp + 0x100]
mov edx, 0x2d
call sym._ZZNSt8__detail9_CompilerINSt7__cxx1112regex_traitsIcEEE18_M_expression_termILb0ELb0EEEbRNS4_13_BracketStateERNS_15_BracketMat
xor eax, eax
jmp 0x1400f44e9
movabs r13, 0x7ffffffffffffffc
jmp 0x1400f4de0
mov rax, qword [rsi + 0x110]
movzx edx, byte [rax]
movzx eax, byte [rdi + 1]
movzx r14d, al
mov ecx, r14d
mov ch, dl
mov r14d, ecx
cmp dl, al
jl 0x1400f50c3
mov rsi, qword [rbx + 0x38]
cmp rsi, qword [rbx + 0x40]
je 0x1400f4f65
mov word [rsi], cx
add rsi, 2
mov qword [rbx + 0x38], rsi
jmp 0x1400f4dbf
mov r12, qword [rbx + 0x30]
mov r15, rsi
movabs rcx, 0x3fffffffffffffff
sub r15, r12
mov rax, r15
sar rax, 1
cmp rax, rcx
je 0x1400f5085
cmp rsi, r12
je 0x1400f5008
mov rdx, r15
cmp r15, rax
jb 0x1400f4ff1
xor r13d, r13d
xor ebp, ebp
test r15, r15
jne 0x1400f5011
add r15, r13
mov byte [r15], r14b
mov byte [r15 + 1], 0x2d
cmp rsi, r12
je 0x1400f5075
sub rsi, r12
mov rax, r13
mov rdx, r12
mov rcx, rsi
add rcx, r13
movzx r8d, word [rdx]
add rax, 2
add rdx, 2
mov word [rax - 2], r8w
cmp rcx, rax
jne 0x1400f4f14
lea rsi, [rcx + 2]
test r12, r12
je 0x1400f4f42
mov rdx, qword [rbx + 0x40]
mov rcx, r12
sub rdx, r12
call sym.operator_delete_void__unsigned_long_long_
lea rax, [r13 + rbp]
mov qword [rbx + 0x30], r13
mov qword [rbx + 0x38], rsi
mov qword [rbx + 0x40], rax
jmp 0x1400f4dbf
mov rcx, rdi
mov r9, rbp
xor edx, edx
jmp 0x1400f4ade
mov r12, qword [rbx + 0x30]
mov r15, rsi
movabs rcx, 0x3fffffffffffffff
sub r15, r12
mov rax, r15
sar rax, 1
cmp rax, rcx
je 0x1400f5085
cmp rsi, r12
je 0x1400f5059
mov rdx, r15
cmp r15, rax
jb 0x1400f5042
xor r13d, r13d
xor ebp, ebp
test r15, r15
jne 0x1400f5062
mov word [r13 + r15], r14w
cmp rsi, r12
je 0x1400f507d
sub rsi, r12
mov rax, r13
mov rcx, r12
mov rdx, rsi
add rdx, r13
movzx r8d, word [rcx]
add rax, 2
add rcx, 2
mov word [rax - 2], r8w
cmp rax, rdx
jne 0x1400f4fc9
lea rsi, [rdx + 2]
test r12, r12
jne 0x1400f4f33
jmp 0x1400f4f42
mov rdx, rcx
lea rbp, [rdx + rdx]
mov rcx, rbp
call sym.operator_new_unsigned_long_long_
mov r13, rax
jmp 0x1400f4ef1
add rax, 1
mov rdx, rax
jb 0x1400f4ff1
movabs rax, 0x3fffffffffffffff
cmp rdx, rax
cmova rdx, rax
jmp 0x1400f4ff4
movabs rax, 0x1fffffffffffffff
cmp rcx, rax
cmova rcx, rax
lea r13, [rcx*4]
jmp 0x1400f4de0
mov rdx, rcx
lea rbp, [rdx + rdx]
mov rcx, rbp
call sym.operator_new_unsigned_long_long_
mov r13, rax
jmp 0x1400f4fab
add rax, 1
mov rdx, rax
jb 0x1400f5042
movabs rax, 0x3fffffffffffffff
cmp rdx, rax
cmova rdx, rax
jmp 0x1400f5045
mov rcx, r13
jmp 0x1400f4f2a
mov rdx, r13
jmp 0x1400f4fdf
lea rcx, [0x1402e8598]
call sym.std::__throw_length_error_char_const_
lea rdx, str.Invalid_end_of__x_x__range_in_regular_expression
mov ecx, 8
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
lea rdx, str.Invalid_equivalence_class.
xor ecx, ecx
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
mov rbx, rax
mov rcx, r12
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov rcx, rbx
call sym._Unwind_Resume
lea rdx, str.Invalid_range_in_bracket_expression.
mov ecx, 8
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
lea rdx, str.Invalid_start_of__x_x__range_in_regular_expression
mov ecx, 8
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
mov rbx, rax
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_dispose__
mov rcx, rbx
call sym._Unwind_Resume
lea rdx, str.Invalid_collate_element.
xor ecx, ecx
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
lea rdx, str.Unexpected_character_within__...__in_regular_expression
mov ecx, 4
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
lea rdx, str.Invalid_location_of___within__...__in_POSIX_regular_expression
mov ecx, 8
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
jmp 0x1400f50e5