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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
mov rbx, qword [0x140485900]
mov r8d, 0x28
mov rax, qword [rbx]
mov qword [rsp + 0xe8], rax
xor eax, eax
mov rdi, rdx
mov qword [rsp + 0x60], rdx
mov edx, 0xe
mov rsi, rcx
lea r12, [rdi + 8]
call sym._ZN5boost13re_detail_50019basic_regex_creatorIcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE12append_stateENS0_19syntax_elem
mov rcx, qword [rdi + 0x18]
mov qword [rsp + 0x68], rax
cmp r12, rcx
je 0x1401d6e5a
xor ebx, ebx
nop word [rax + rax]
call sym.std::_Rb_tree_increment_std::_Rb_tree_node_base_const_
add rbx, 1
mov rcx, rax
cmp r12, rax
jne 0x1401d6340
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov dword [rdx + 0x10], ebx
mov rax, qword [rdi + 0x38]
sub rax, qword [rdi + 0x30]
sar rax, 1
shr eax, 1
mov dword [rdx + 0x14], eax
mov rcx, qword [rdi + 0x70]
lea rax, [rdi + 0x60]
mov qword [rsp + 0x58], rax
mov rdi, rax
cmp rax, rcx
je 0x1401d6e61
xor ebx, ebx
nop dword [rax]
call sym.std::_Rb_tree_increment_std::_Rb_tree_node_base_const_
add rbx, 1
mov rcx, rax
cmp rdi, rax
jne 0x1401d6390
mov rdi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
mov dword [rdi + 0x18], ebx
mov edx, dword [rax + 0x4c]
mov dword [rdi + 0x1c], edx
mov eax, dword [rax + 0x50]
mov dword [rdi + 0x20], eax
mov rcx, qword [rsi]
test byte [rcx + 0x2a], 0x10
je 0x1401d63fe
mov r8d, edx
mov ecx, dword [rsi + 0x58]
not r8d
test r8d, ecx
je 0x1401d6de0
mov r8d, edx
not r8d
test dword [rsi + 0x5c], r8d
je 0x1401d6de0
mov edx, eax
not edx
test edx, ecx
je 0x1401d6dfa
mov edx, eax
not edx
test dword [rsi + 0x5c], edx
je 0x1401d6dfa
mov rdi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
movzx eax, byte [rdi + 0x48]
mov byte [rbx + 0x24], al
movzx eax, byte [rdi + 0x49]
mov byte [rsp + 0x30], al
xor eax, 1
mov byte [rbx + 0x25], al
mov r15, qword [rsi]
mov rdi, qword [rdi + 0x18]
mov rax, qword [r15 + 0x160]
mov qword [rsp + 0x78], rax
cmp r12, rdi
jne 0x1401d645b
jmp 0x1401d6501
mov byte [rbp], 0
mov rcx, rdi
call sym.std::_Rb_tree_increment_std::_Rb_tree_node_base_const_
mov rdi, rax
cmp r12, rax
je 0x1401d6501
mov r15, qword [rsi]
cmp byte [rdi + 0x20], 0
mov r13d, 1
je 0x1401d6472
cmp byte [rdi + 0x21], 1
sbb r13, r13
add r13, 3
mov rax, qword [r15 + 0x158]
mov rbp, qword [r15 + 0x168]
mov rdx, rax
sub rdx, rbp
cmp rdx, r13
jb 0x1401d68a0
add r13, rbp
mov qword [r15 + 0x168], r13
cmp byte [rsi + 0x18], 0
movzx eax, byte [rdi + 0x20]
je 0x1401d64b7
mov rdx, qword [rsi + 8]
mov rdx, qword [rdx]
mov rcx, qword [rdx + 8]
movsx edx, al
mov rax, qword [rcx]
call qword [rax + 0x20]
mov byte [rbp], al
cmp byte [rdi + 0x20], 0
je 0x1401d6440
movzx eax, byte [rdi + 0x21]
test al, al
je 0x1401d6928
cmp byte [rsi + 0x18], 0
je 0x1401d64e6
mov rdx, qword [rsi + 8]
mov rdx, qword [rdx]
mov rcx, qword [rdx + 8]
movsx edx, al
mov rax, qword [rcx]
call qword [rax + 0x20]
mov byte [rbp + 1], al
mov rcx, rdi
mov byte [rbp + 2], 0
call sym.std::_Rb_tree_increment_std::_Rb_tree_node_base_const_
mov rdi, rax
cmp r12, rax
jne 0x1401d6458
mov rax, qword [rsp + 0x60]
mov rbp, qword [rax + 0x30]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x50], rax
cmp rbp, rax
je 0x1401d6b80
lea rax, [rsp + 0x80]
lea r13, [rsp + 0xb0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x90]
lea r12, [rsp + 0xc0]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x38], rax
jmp 0x1401d6871
mov rax, qword [rax]
movsx edx, r14b
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
call qword [rax + 0x20]
cmp byte [rsi + 0x18], 0
mov r14d, eax
mov rax, qword [rsi + 8]
je 0x1401d6888
mov rax, qword [rax]
movsx edx, bl
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
call qword [rax + 0x20]
cmp byte [rsi + 0x18], 0
movsx edi, byte [rbp + 2]
movsx ebx, al
movsx r15d, byte [rbp + 3]
mov rax, qword [rsi + 8]
je 0x1401d65db
mov rax, qword [rax]
movsx edx, dil
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
call qword [rax + 0x20]
cmp byte [rsi + 0x18], 0
movsx edi, al
mov rax, qword [rsi + 8]
je 0x1401d65db
mov rax, qword [rax]
movsx edx, r15b
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
call qword [rax + 0x20]
movsx r15d, al
mov rax, qword [rsp + 0x30]
mov byte [rsp + 0x90], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x80], rax
mov rax, qword [rsi]
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0xa8], 0
mov byte [rsp + 0xb0], 0
test byte [rax + 0x2a], 0x20
je 0x1401d6938
mov rax, qword [rsi + 8]
cmp bl, 1
mov rcx, r12
mov byte [rsp + 0xe6], 0
mov byte [rsp + 0xe4], dil
lea r9, [rsp + 0xf0]
lea r8, [rsp + 0xe1]
mov byte [rsp + 0xe5], r15b
mov rdx, qword [rax]
sbb r9, 0xd
mov byte [rsp + 0xe3], 0
mov byte [rsp + 0xe1], r14b
mov byte [rsp + 0xe2], bl
call method.boost::re_detail_500::cpp_regex_traits_implementation_char_.transform_abi:cxx11__char_const__char_const__const
mov rcx, qword [rsp + 0x40]
mov rdx, r12
lea rbx, [rsp + 0xd0]
call fcn.1401cafa0
mov rcx, qword [rsp + 0xc0]
cmp rcx, rbx
je 0x1401d66ad
mov rax, qword [rsp + 0xd0]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
cmp byte [rsp + 0xe5], 0
mov rax, qword [rsi + 8]
lea r9, [rsp + 0xe5]
je 0x1401d66cb
lea r9, [rsp + 0xe6]
mov rdx, qword [rax]
lea r8, [rsp + 0xe4]
mov rcx, r12
call method.boost::re_detail_500::cpp_regex_traits_implementation_char_.transform_abi:cxx11__char_const__char_const__const
mov rcx, qword [rsp + 0x38]
mov rdx, r12
call fcn.1401cafa0
mov rcx, qword [rsp + 0xc0]
cmp rcx, rbx
je 0x1401d6709
mov rax, qword [rsp + 0xd0]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
cmp qword [rsp + 0x88], 0
je 0x1401d6b30
mov r14, qword [rsp + 0xa8]
test r14, r14
je 0x1401d6af0
mov rdi, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0xa0]
cmp r14, rdi
mov r8, rdi
cmovbe r8, r14
test r8, r8
je 0x1401d6763
mov qword [rsp + 0x48], rcx
call sym.memcmp
mov rcx, qword [rsp + 0x48]
test eax, eax
jne 0x1401d6786
mov rax, rdi
mov ebx, 0x80000000
sub rax, r14
cmp rax, rbx
jge 0x1401d6e10
movabs rbx, 0xffffffff7fffffff
cmp rax, rbx
jle 0x1401d678e
test eax, eax
jg 0x1401d6e10
mov r15, qword [rsi]
lea r14, [r14 + rdi + 2]
mov rbx, qword [r15 + 0x158]
mov r9, qword [r15 + 0x168]
mov rax, rbx
sub rax, r9
cmp rax, r14
jb 0x1401d69d8
add r14, r9
mov qword [r15 + 0x168], r14
cmp rdi, 1
jle 0x1401d6a87
mov r8, rdi
mov rdx, rcx
mov rcx, r9
call sym.memmove
mov rdi, qword [rsp + 0x88]
mov r9, rax
mov byte [r9 + rdi], 0
mov rax, qword [rsp + 0x88]
mov r8, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xa0]
lea rcx, [r9 + rax + 1]
cmp r8, 1
jle 0x1401d6b68
call sym.memmove
mov r8, qword [rsp + 0xa8]
mov rcx, rax
mov byte [rcx + r8], 0
mov rcx, qword [rsp + 0xa0]
cmp rcx, r13
je 0x1401d683f
mov rax, qword [rsp + 0xb0]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x30]
cmp rcx, rax
je 0x1401d6862
mov rax, qword [rsp + 0x90]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
add rbp, 4
cmp qword [rsp + 0x50], rbp
je 0x1401d6b80
cmp byte [rsi + 0x18], 0
movzx r14d, byte [rbp]
movsx ebx, byte [rbp + 1]
mov rax, qword [rsi + 8]
jne 0x1401d6560
movsx edi, byte [rbp + 2]
movsx r15d, byte [rbp + 3]
jmp 0x1401d65db
mov rcx, qword [r15 + 0x160]
mov ebx, 0x400
sub rbp, rcx
sub rax, rcx
test rcx, rcx
cmove rax, rbx
lea rdx, [r13 + rbp]
cmp rax, rdx
jae 0x1401d68d0
nop dword [rax + rax]
add rax, rax
cmp rax, rdx
jb 0x1401d68c8
lea rbx, [rax + 7]
and rbx, 0xfffffffffffffff8
mov rcx, rbx
call sym.operator_new_unsigned_long_long_
mov rdx, qword [r15 + 0x160]
mov r14, rax
test rdx, rdx
je 0x1401d6904
mov r8, rbp
mov rcx, rax
mov qword [rsp + 0x30], rdx
call sym.memcpy
mov rdx, qword [rsp + 0x30]
mov rcx, rdx
add rbp, r14
call sym.operator_delete_void_
mov qword [r15 + 0x160], r14
add r14, rbx
mov qword [r15 + 0x158], r14
jmp 0x1401d648f
mov byte [rbp + 1], 0
jmp 0x1401d6444
movsx r8d, r14b
test bl, bl
je 0x1401d6ab0
mov dword [rsp + 0x20], r8d
mov r14, qword [rsp + 0x40]
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov rcx, r14
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_replace_aux_unsigned_long_long__unsigned_long_long__unsigned_long_long__char_
mov dword [rsp + 0x20], ebx
mov r9d, 1
xor r8d, r8d
mov rcx, r14
mov rdx, qword [rsp + 0x88]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_replace_aux_unsigned_long_long__unsigned_long_long__unsigned_long_long__char_
mov dword [rsp + 0x20], edi
mov rdx, qword [rsp + 0xa8]
mov r9d, 1
xor r8d, r8d
test r15b, r15b
je 0x1401d6aa0
mov rdi, qword [rsp + 0x38]
mov rcx, rdi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_replace_aux_unsigned_long_long__unsigned_long_long__unsigned_long_long__char_
mov dword [rsp + 0x20], r15d
mov r9d, 1
xor r8d, r8d
mov rcx, rdi
mov rdx, qword [rsp + 0xa8]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_replace_aux_unsigned_long_long__unsigned_long_long__unsigned_long_long__char_
mov r14, qword [rsp + 0xa8]
jmp 0x1401d6729
mov rdx, qword [r15 + 0x160]
mov rdi, r9
sub rdi, rdx
sub rbx, rdx
test rdx, rdx
mov edx, 0x400
cmove rbx, rdx
lea rax, [r14 + rdi]
cmp rbx, rax
jae 0x1401d6a08
nop dword [rax]
add rbx, rbx
cmp rbx, rax
jb 0x1401d6a00
add rbx, 7
and rbx, 0xfffffffffffffff8
mov rcx, rbx
mov qword [rsp + 0x48], rbx
call sym.operator_new_unsigned_long_long_
mov rdx, qword [r15 + 0x160]
mov rbx, rax
test rdx, rdx
je 0x1401d6a41
mov r8, rdi
mov rcx, rax
mov qword [rsp + 0x70], rdx
call sym.memcpy
mov rdx, qword [rsp + 0x70]
mov rcx, rdx
call sym.operator_delete_void_
mov r10, qword [rsp + 0x48]
lea r9, [rbx + rdi]
mov rdi, qword [rsp + 0x88]
add r14, r9
mov qword [r15 + 0x160], rbx
mov rcx, qword [rsp + 0x80]
add r10, rbx
mov qword [r15 + 0x168], r14
mov qword [r15 + 0x158], r10
cmp rdi, 1
jg 0x1401d67c7
jne 0x1401d67e0
movzx eax, byte [rcx]
mov byte [r9], al
mov rdi, qword [rsp + 0x88]
jmp 0x1401d67e0
mov rcx, qword [rsp + 0x38]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_replace_aux_unsigned_long_long__unsigned_long_long__unsigned_long_long__char_
jmp 0x1401d69c7
lea rax, [rsp + 0xd0]
mov edx, 1
mov rcx, r12
mov qword [rsp + 0xc0], rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_construct_unsigned_long_long__char_
mov rcx, qword [rsp + 0x40]
mov rdx, r12
call fcn.1401cafa0
mov rcx, r12
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
jmp 0x1401d697e
xor r8d, r8d
mov edx, 1
mov rcx, r12
mov qword [rsp + 0xc0], rbx
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_construct_unsigned_long_long__char_
mov rcx, qword [rsp + 0x38]
mov rdx, r12
call fcn.1401cafa0
mov rcx, r12
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov r14, qword [rsp + 0xa8]
jmp 0x1401d6729
xor r8d, r8d
mov edx, 1
mov rcx, r12
mov qword [rsp + 0xc0], rbx
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_construct_unsigned_long_long__char_
mov rcx, qword [rsp + 0x40]
mov rdx, r12
call fcn.1401cafa0
mov rcx, r12
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
jmp 0x1401d6718
jne 0x1401d681c
movzx eax, byte [rdx]
mov byte [rcx], al
mov r8, qword [rsp + 0xa8]
jmp 0x1401d681c
mov rax, qword [rsp + 0x60]
lea r13, [rsp + 0xb0]
lea r15, [rsp + 0xc0]
mov rdi, qword [rax + 0x70]
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xe4]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xe6]
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x58], rdi
jne 0x1401d6cfb
nop dword [rax + rax]
mov rdx, qword [rsi]
mov rax, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
sub rax, rdi
add rax, qword [rdx + 0x160]
mov qword [rsi + 0x10], rax
mov rsi, qword [0x140485900]
mov rdx, qword [rsp + 0xe8]
sub rdx, qword [rsi]
jne 0x1401d6e8d
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov byte [rsp + 0xe6], 0
movzx ecx, byte [rdi + 0x20]
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
mov ch, al
mov word [rsp + 0xe4], cx
mov rdx, qword [rdx]
mov rcx, r15
call method.boost::re_detail_500::cpp_regex_traits_implementation_char_.transform_primary_abi:cxx11__char_const__char_const__const
mov rcx, qword [rsp + 0x38]
mov rdx, r15
call fcn.1401cafa0
mov rcx, r15
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov r8, qword [rsp + 0xa8]
test r8, r8
je 0x1401d6e49
mov r14, qword [rsi]
lea r12, [r8 + 1]
mov rbx, qword [r14 + 0x158]
mov rbp, qword [r14 + 0x168]
mov rax, rbx
sub rax, rbp
cmp rax, r12
jb 0x1401d6d40
add r12, rbp
mov qword [r14 + 0x168], r12
mov rdx, qword [rsp + 0xa0]
cmp r8, 1
jle 0x1401d6e30
mov rcx, rbp
call sym.memmove
mov r8, qword [rsp + 0xa8]
mov byte [rbp + r8], 0
mov rcx, rdi
call sym.std::_Rb_tree_increment_std::_Rb_tree_node_base_const_
mov rcx, qword [rsp + 0xa0]
mov rdi, rax
cmp rcx, r13
je 0x1401d6cf0
mov rax, qword [rsp + 0xb0]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
cmp qword [rsp + 0x58], rdi
je 0x1401d6bd0
mov qword [rsp + 0xa0], r13
mov rdx, qword [rsi + 8]
mov qword [rsp + 0xa8], 0
mov byte [rsp + 0xb0], 0
movzx eax, byte [rdi + 0x21]
test al, al
jne 0x1401d6c20
mov rdx, qword [rdx]
lea r9, [rdi + 0x21]
lea r8, [rdi + 0x20]
mov rcx, r15
call method.boost::re_detail_500::cpp_regex_traits_implementation_char_.transform_primary_abi:cxx11__char_const__char_const__const
jmp 0x1401d6c4b
mov rdx, qword [r14 + 0x160]
sub rbp, rdx
sub rbx, rdx
test rdx, rdx
mov edx, 0x400
cmove rbx, rdx
lea rax, [r12 + rbp]
cmp rbx, rax
jae 0x1401d6d70
nop word [rax + rax]
add rbx, rbx
cmp rbx, rax
jb 0x1401d6d68
add rbx, 7
and rbx, 0xfffffffffffffff8
mov rcx, rbx
mov qword [rsp + 0x30], rbx
call sym.operator_new_unsigned_long_long_
mov rdx, qword [r14 + 0x160]
mov rbx, rax
test rdx, rdx
je 0x1401d6da9
mov r8, rbp
mov rcx, rax
mov qword [rsp + 0x50], rdx
call sym.memcpy
mov rdx, qword [rsp + 0x50]
mov rcx, rdx
add rbp, rbx
call sym.operator_delete_void_
mov r9, qword [rsp + 0x30]
mov qword [r14 + 0x160], rbx
add r9, rbx
mov qword [r14 + 0x158], r9
mov r8, qword [rsp + 0xa8]
jmp 0x1401d6c95
mov rdi, qword [rsp + 0x68]
or edx, dword [rsi + 0x60]
mov dword [rdi + 0x1c], edx
mov edx, eax
mov ecx, dword [rsi + 0x58]
not edx
test edx, ecx
jne 0x1401d63f1
mov rdi, qword [rsp + 0x68]
or eax, dword [rsi + 0x60]
mov dword [rdi + 0x20], eax
jmp 0x1401d63fe
mov rcx, qword [rsp + 0x38]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov rcx, qword [rsp + 0x40]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
xor eax, eax
jmp 0x1401d6beb
jne 0x1401d6cc1
movzx eax, byte [rdx]
mov byte [rbp], al
mov r8, qword [rsp + 0xa8]
jmp 0x1401d6cc1
mov rcx, qword [rsp + 0x38]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
xor eax, eax
jmp 0x1401d6beb
xor ebx, ebx
jmp 0x1401d6351
xor ebx, ebx
jmp 0x1401d63a1
call dbg.__stack_chk_fail
endbr64
mov rcx, qword [rsp + 0x38]
mov rbx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov rcx, qword [rsp + 0x40]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov rsi, qword [0x140485900]
mov rax, qword [rsp + 0xe8]
sub rax, qword [rsi]
jne 0x1401d6e8d
mov rcx, rbx
call sym._Unwind_Resume
nop
nop word [rax + rax]