Function at 0x4bcbe0
Capabilities:
Parse credit card information
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]
mov rdi, qword [rcx + 0xc0]
lea rdx, [rax + 1]
mov rbx, rcx
mov qword [rcx + 0xb0], rdx
movsx r12d, byte [rax]
movzx ebp, r12b
mov esi, r12d
movsx edx, byte [rdi + rbp + 0x139]
test dl, dl
jne 0x4bcc45
mov rax, qword [rdi]
lea rcx, [method.std::ctype_char_.do_narrow_char__char__const]
mov edx, r12d
mov r9, qword [rax + 0x40]
mov eax, r12d
cmp r9, rcx
jne 0x4bce75
cmp al, 0x20
je 0x4bcc45
mov byte [rdi + rbp + 0x139], al
mov rcx, qword [rbx + 0xa0]
call sym.strchr
test rax, rax
je 0x4bcec5
cmp sil, 0x5c
je 0x4bcd40
cmp sil, 0x28
je 0x4bcd10
cmp sil, 0x29
je 0x4bce60
cmp sil, 0x5b
je 0x4bce90
cmp sil, 0x7b
je 0x4bce11
mov eax, esi
movsx edx, sil
and eax, 0xffffffdf
cmp al, 0x5d
je 0x4bcf30
mov rbp, qword [rbx + 0xc0]
movzx r12d, sil
mov rdi, rbx
movzx ecx, byte [rbp + r12 + 0x139]
test cl, cl
jne 0x4bcce3
mov rax, qword [rbp]
lea rcx, [method.std::ctype_char_.do_narrow_char__char__const]
mov rax, qword [rax + 0x40]
cmp rax, rcx
jne 0x4bcf20
test sil, sil
je 0x4bcf10
mov byte [rbp + r12 + 0x139], sil
mov ecx, esi
movzx eax, byte [rbx]
test al, al
je 0x4bcd2b
cmp cl, al
je 0x4bccff
nop
add rdi, 8
movzx eax, byte [rdi]
test al, al
je 0x4bcd2b
cmp al, cl
jne 0x4bccf0
mov eax, dword [rdi + 4]
mov dword [rbx + 0x90], eax
jmp 0x4bcd2b
mov eax, dword [rbx + 0x8c]
test al, 0x10
jne 0x4bcd90
test al, 2
setne al
movzx eax, al
add eax, 5
mov dword [rbx + 0x90], eax
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov rax, qword [rbx + 0xb0]
cmp rax, qword [rbx + 0xb8]
je 0x4bcfb7
test dword [rbx + 0x8c], 0x120
je 0x4bce30
movzx edx, byte [rax]
lea ecx, [rdx - 0x28]
cmp cl, 1
jbe 0x4bcd78
cmp dl, 0x7b
jne 0x4bce30
lea rdx, [rax + 1]
mov qword [rbx + 0xb0], rdx
movzx esi, byte [rax]
jmp 0x4bcc64
mov rdx, qword [rbx + 0xb0]
cmp byte [rdx], 0x3f
jne 0x4bcd1a
lea rax, [rdx + 1]
cmp rax, qword [rbx + 0xb8]
mov qword [rbx + 0xb0], rax
je 0x4bcfd9
movzx eax, byte [rdx + 1]
cmp al, 0x3a
je 0x4bcf60
cmp al, 0x3d
je 0x4bcf7a
cmp al, 0x21
jne 0x4bcfc8
mov r8, qword [rbx + 0xd0]
add rdx, 2
mov dword [rbx + 0x90], 7
mov r9d, 1
mov qword [rbx + 0xb0], rdx
lea rcx, [rbx + 0xc8]
xor edx, edx
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 0x4bcd2b
mov dword [rbx + 0x88], 1
mov dword [rbx + 0x90], 0xc
jmp 0x4bcd2b
mov rcx, qword [rbx + 0xf0]
mov rax, qword [rbx + 0xe8]
add rcx, rbx
test al, 1
je 0x4bce4d
mov rdx, qword [rcx]
mov rax, qword [rdx + rax - 1]
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp rax
mov dword [rbx + 0x90], 8
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov r8d, 0x20
mov rcx, rdi
call r9
movsx edx, al
jmp 0x4bcc3a
mov rax, qword [rbx + 0xb0]
mov byte [rbx + 0xa8], 1
cmp rax, qword [rbx + 0xb8]
mov dword [rbx + 0x88], 2
je 0x4bceb6
cmp byte [rax], 0x5e
je 0x4bcef4
mov dword [rbx + 0x90], 9
jmp 0x4bcd2b
mov r8, qword [rbx + 0xd0]
lea rcx, [rbx + 0xc8]
mov dword [rsp + 0x20], r12d
xor edx, edx
mov dword [rbx + 0x90], 1
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_
jmp 0x4bcd2b
mov dword [rbx + 0x90], 0xa
add rax, 1
mov qword [rbx + 0xb0], rax
jmp 0x4bcd2b
cmp byte [rbx], 0
je 0x4bcd2b
xor ecx, ecx
jmp 0x4bccf0
xor r8d, r8d
mov rcx, rbp
call rax
mov esi, eax
jmp 0x4bccd0
mov r8, qword [rbx + 0xd0]
mov dword [rsp + 0x20], edx
xor edx, edx
mov r9d, 1
mov dword [rbx + 0x90], 1
lea rcx, [rbx + 0xc8]
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 0x4bcd2b
mov dword [rbx + 0x90], 6
add rdx, 2
mov qword [rbx + 0xb0], rdx
jmp 0x4bcd2b
mov r8, qword [rbx + 0xd0]
add rdx, 2
mov dword [rbx + 0x90], 7
mov r9d, 1
mov qword [rbx + 0xb0], rdx
lea rcx, [rbx + 0xc8]
xor edx, edx
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_
jmp 0x4bcd2b
lea rdx, [0x00515280]
mov ecx, 2
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
lea rdx, [0x0051a3d0]
mov ecx, 5
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
lea rdx, [0x0051a398]
mov ecx, 5
call method.std.__throw_regex_error_std::regex_constants::error_type__char_const_
nop
nop
nop
nop
nop
nop