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

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rax, qword [rcx + 0xb0]
cmp rax, qword [rcx + 0xb8]
mov rbx, rcx
je 0x4bd8d2
lea rdx, [rax + 1]
mov rdi, qword [rcx + 0xc0]
mov qword [rcx + 0xb0], rdx
movsx r12d, byte [rax]
movzx ebp, r12b
mov esi, r12d
movzx eax, byte [rdi + rbp + 0x139]
test al, al
jne 0x4bd593
mov rax, qword [rdi]
lea rdx, [method.std::ctype_char_.do_narrow_char__char__const]
mov r9, qword [rax + 0x40]
mov eax, r12d
cmp r9, rdx
jne 0x4bd7b0
test al, al
je 0x4bd720
mov byte [rdi + rbp + 0x139], al
mov rdx, qword [rbx + 0x98]
movzx ecx, byte [rdx]
test cl, cl
je 0x4bd5c3
cmp al, cl
jne 0x4bd5b8
jmp 0x4bd690
cmp cl, al
je 0x4bd690
add rdx, 2
movzx ecx, byte [rdx]
test cl, cl
jne 0x4bd5b0
cmp sil, 0x62
je 0x4bd69f
cmp sil, 0x42
je 0x4bd77b
lea eax, [rsi - 0x44]
cmp al, 0x33
jbe 0x4bd735
lea rdi, [rbx + 0xc8]
cmp sil, 0x78
je 0x4bd827
cmp sil, 0x75
je 0x4bd827
mov rax, qword [rbx + 0xc0]
movzx esi, sil
mov r8, qword [rbx + 0xd0]
mov rax, qword [rax + 0x30]
test byte [rax + rsi*2], 8
je 0x4bd803
xor edx, edx
mov dword [rsp + 0x20], r12d
mov r9d, 1
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 rax, qword [rbx + 0xb0]
cmp rax, qword [rbx + 0xb8]
jne 0x4bd66a
jmp 0x4bd67e
lea rdx, [rax + 1]
mov rcx, rdi
mov qword [rbx + 0xb0], rdx
movsx edx, byte [rax]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::push_back_char_
mov rax, qword [rbx + 0xb0]
cmp rax, qword [rbx + 0xb8]
je 0x4bd67e
mov rdx, qword [rbx + 0xc0]
movzx ecx, byte [rax]
mov rdx, qword [rdx + 0x30]
test byte [rdx + rcx*2], 8
jne 0x4bd644
mov dword [rbx + 0x90], 4
jmp 0x4bd6cd
cmp sil, 0x62
jne 0x4bd6e0
cmp dword [rbx + 0x88], 2
je 0x4bd6e0
mov r8, qword [rbx + 0xd0]
mov r9d, 1
xor edx, edx
mov dword [rbx + 0x90], 0x18
lea rcx, [rbx + 0xc8]
mov dword [rsp + 0x20], 0x70
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_
nop
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov dword [rbx + 0x90], 1
movsx eax, byte [rdx + 1]
lea rcx, [rbx + 0xc8]
mov r8, qword [rbx + 0xd0]
mov dword [rsp + 0x20], eax
mov r9d, 1
xor edx, edx
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_
nop
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rdx, qword [rbx + 0x98]
cmp byte [rdx], 0
jne 0x4bd5b8
jmp 0x4bd5c3
movabs rdx, 0x8800100088001
bt rdx, rax
jae 0x4bd7c1
mov r8, qword [rbx + 0xd0]
lea rcx, [rbx + 0xc8]
mov dword [rsp + 0x20], r12d
xor edx, edx
mov dword [rbx + 0x90], 0xe
mov r9d, 1
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_
nop
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov r8, qword [rbx + 0xd0]
mov r9d, 1
xor edx, edx
mov dword [rbx + 0x90], 0x18
lea rcx, [rbx + 0xc8]
mov dword [rsp + 0x20], 0x6e
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 0x4bd6cd
xor r8d, r8d
mov edx, r12d
mov rcx, rdi
call r9
jmp 0x4bd584
cmp sil, 0x63
jne 0x4bd5e2
mov rax, qword [rbx + 0xb0]
cmp rax, qword [rbx + 0xb8]
je 0x4bd8e3
mov dword [rbx + 0x90], 1
lea rdx, [rax + 1]
mov qword [rbx + 0xb0], rdx
lea rcx, [rbx + 0xc8]
movsx eax, byte [rax]
jmp 0x4bd6f5
mov dword [rsp + 0x20], r12d
mov r9d, 1
xor edx, edx
mov rcx, rdi
mov dword [rbx + 0x90], 1
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 0x4bd6cd
mov rax, qword [rbx + 0xc8]
mov qword [rbx + 0xd0], 0
mov byte [rax], 0
xor eax, eax
cmp sil, 0x78
setne al
lea ebp, [rax + rax + 2]
mov rax, qword [rbx + 0xb0]
cmp qword [rbx + 0xb8], rax
je 0x4bd8c1
mov rdx, qword [rbx + 0xc0]
movzx ecx, byte [rax]
mov rdx, qword [rdx + 0x30]
test byte [rdx + rcx*2], 0x10
je 0x4bd8c1
xor esi, esi
jmp 0x4bd895
mov rax, qword [rbx + 0xb0]
cmp rax, qword [rbx + 0xb8]
je 0x4bd8c1
mov rdx, qword [rbx + 0xc0]
movzx ecx, byte [rax]
mov rdx, qword [rdx + 0x30]
test byte [rdx + rcx*2], 0x10
je 0x4bd8c1
lea rdx, [rax + 1]
mov rcx, rdi
add esi, 1
mov qword [rbx + 0xb0], rdx
movsx edx, byte [rax]
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::push_back_char_
cmp ebp, esi
jne 0x4bd871
mov dword [rbx + 0x90], 3
jmp 0x4bd6cd
lea rdx, [0x005152e0]
mov ecx, 2
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
lea rdx, [0x00515280]
mov ecx, 2
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
lea rdx, [0x005152a8]
mov ecx, 2
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop