Function at 0x14004b5a0
Capabilities:
Parse credit card information

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
xor cl, cl
cmp dword [rbx + 0x60], 0xffff
je 0x14004ba81
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rsi
xor esi, esi
mov qword [rsp + 0x40], rdi
lea rbp, vtable.std::tr1::_Node_base.0
mov eax, dword [rbx + 0x60]
cmp eax, 0x7c
je 0x14004ba69
cmp eax, 0x29
jne 0x14004b5fb
cmp dword [rbx + 0x1c], esi
jne 0x14004ba69
test dword [rbx + 0x64], 0x10000000
jne 0x14004b5fb
lea ecx, [rax - 0x24]
jmp 0x14004ba4c
cmp eax, 0x2e
jne 0x14004b6b6
lea ecx, [rax - 0xe]
call sub.MSVCR100.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov r11, rax
test rax, rax
je 0x14004b629
mov qword [rax], rbp
mov qword [rax + 8], 5
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x14004b62c
mov r11, rsi
mov rax, qword [rbx + 0x30]
mov qword [r11 + 0x18], rax
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14004b651
mov qword [r11 + 0x10], rcx
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x10]
mov qword [rcx + 0x18], r11
mov rax, qword [rbx + 0x30]
mov qword [rax + 0x10], r11
mov qword [rbx + 0x30], r11
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x14004b6a9
cmp word [rax], 0x5c
jne 0x14004b6a5
add rax, 2
cmp rax, rcx
je 0x14004b68d
test byte [rbx + 0x64], 8
jne 0x14004b68d
movzx ecx, word [rax]
cmp cx, 0x28
je 0x14004b6a2
cmp cx, 0x29
je 0x14004b6a2
test byte [rbx + 0x64], 0x10
jne 0x14004b6a5
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x14004b6a2
cmp cx, 0x7d
jne 0x14004b6a5
mov qword [rbx], rax
add qword [rbx], 2
mov rcx, rbx
call fcn.140046990
jmp 0x14004ba52
cmp eax, 0x5c
jne 0x14004b813
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x14004b70b
cmp word [rax], 0x5c
jne 0x14004b707
add rax, 2
cmp rax, rcx
je 0x14004b6ef
test byte [rbx + 0x64], 8
jne 0x14004b6ef
movzx ecx, word [rax]
cmp cx, 0x28
je 0x14004b704
cmp cx, 0x29
je 0x14004b704
test byte [rbx + 0x64], 0x10
jne 0x14004b707
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x14004b704
cmp cx, 0x7d
jne 0x14004b707
mov qword [rbx], rax
add qword [rbx], 2
mov rcx, rbx
call fcn.140046990
mov eax, dword [rbx + 0x64]
and eax, 0x80
je 0x14004b78b
cmp word [rbx + 0x5e], 0x62
jne 0x14004b78b
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.140060380
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x14004b77e
cmp word [rax], 0x5c
jne 0x14004b77a
add rax, 2
cmp rax, rcx
je 0x14004b762
test byte [rbx + 0x64], 8
jne 0x14004b762
movzx ecx, word [rax]
cmp cx, 0x28
je 0x14004b777
cmp cx, 0x29
je 0x14004b777
test byte [rbx + 0x64], 0x10
jne 0x14004b77a
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x14004b777
cmp cx, 0x7d
jne 0x14004b77a
mov qword [rbx], rax
add qword [rbx], 2
mov rcx, rbx
call fcn.140046990
jmp 0x14004ba5a
test eax, eax
je 0x14004b806
cmp word [rbx + 0x5e], 0x42
jne 0x14004b806
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.140060380
mov r11, qword [rbx + 0x30]
xor dword [r11 + 0xc], 1
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x14004b7f9
cmp word [rax], 0x5c
jne 0x14004b7f5
add rax, 2
cmp rax, rcx
je 0x14004b7dd
test byte [rbx + 0x64], 8
jne 0x14004b7dd
movzx ecx, word [rax]
cmp cx, 0x28
je 0x14004b7f2
cmp cx, 0x29
je 0x14004b7f2
test byte [rbx + 0x64], 0x10
jne 0x14004b7f5
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x14004b7f2
cmp cx, 0x7d
jne 0x14004b7f5
mov qword [rbx], rax
add qword [rbx], 2
mov rcx, rbx
call fcn.140046990
jmp 0x14004ba5a
mov rcx, rbx
call fcn.140049cd0
jmp 0x14004ba52
cmp eax, 0x5b
jne 0x14004b8e2
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x14004b868
cmp word [rax], 0x5c
jne 0x14004b864
add rax, 2
cmp rax, rcx
je 0x14004b84c
test byte [rbx + 0x64], 8
jne 0x14004b84c
movzx ecx, word [rax]
cmp cx, 0x28
je 0x14004b861
cmp cx, 0x29
je 0x14004b861
test byte [rbx + 0x64], 0x10
jne 0x14004b864
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x14004b861
cmp cx, 0x7d
jne 0x14004b864
mov qword [rbx], rax
add qword [rbx], 2
mov rcx, rbx
call fcn.140046990
mov rcx, rbx
call fcn.14004b2e0
cmp dword [rbx + 0x60], 0x5d
je 0x14004b889
mov ecx, 4
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::tr1::_Xbad_enum_std::tr1::regex_constants::error_type_]
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x14004b8d5
cmp word [rax], 0x5c
jne 0x14004b8d1
add rax, 2
cmp rax, rcx
je 0x14004b8b9
test byte [rbx + 0x64], 8
jne 0x14004b8b9
movzx ecx, word [rax]
cmp cx, 0x28
je 0x14004b8ce
cmp cx, 0x29
je 0x14004b8ce
test byte [rbx + 0x64], 0x10
jne 0x14004b8d1
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x14004b8ce
cmp cx, 0x7d
jne 0x14004b8d1
mov qword [rbx], rax
add qword [rbx], 2
mov rcx, rbx
call fcn.140046990
jmp 0x14004ba52
cmp eax, 0x28
jne 0x14004b9bd
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x14004b937
cmp word [rax], 0x5c
jne 0x14004b933
add rax, 2
cmp rax, rcx
je 0x14004b91b
test byte [rbx + 0x64], 8
jne 0x14004b91b
movzx ecx, word [rax]
cmp cx, 0x28
je 0x14004b930
cmp cx, 0x29
je 0x14004b930
test byte [rbx + 0x64], 0x10
jne 0x14004b933
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x14004b930
cmp cx, 0x7d
jne 0x14004b933
mov qword [rbx], rax
add qword [rbx], 2
mov rcx, rbx
call fcn.140046990
mov rcx, rbx
call fcn.140046fe0
cmp dword [rbx + 0x60], 0x29
movzx edi, al
je 0x14004b95b
mov ecx, 5
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::tr1::_Xbad_enum_std::tr1::regex_constants::error_type_]
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x14004b9a7
cmp word [rax], 0x5c
jne 0x14004b9a3
add rax, 2
cmp rax, rcx
je 0x14004b98b
test byte [rbx + 0x64], 8
jne 0x14004b98b
movzx ecx, word [rax]
cmp cx, 0x28
je 0x14004b9a0
cmp cx, 0x29
je 0x14004b9a0
test byte [rbx + 0x64], 0x10
jne 0x14004b9a3
movzx ecx, word [rax]
cmp cx, 0x7b
je 0x14004b9a0
cmp cx, 0x7d
jne 0x14004b9a3
mov qword [rbx], rax
add qword [rbx], 2
mov rcx, rbx
call fcn.140046990
test dil, dil
je 0x14004ba5a
jmp 0x14004ba52
cmp eax, 0x5e
jne 0x14004b9db
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x5c]
call fcn.140060380
mov rcx, rbx
call fcn.140046bc0
jmp 0x14004ba5a
cmp eax, 0x24
jne 0x14004b9f6
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x21]
call fcn.140060380
mov rcx, rbx
call fcn.140046bc0
jmp 0x14004ba5a
cmp eax, 0x2a
je 0x14004ba47
cmp eax, 0x2b
je 0x14004ba47
cmp eax, 0x3f
je 0x14004ba47
cmp eax, 0x7b
je 0x14004ba47
cmp eax, 0x7d
jne 0x14004ba1d
test dword [rbx + 0x64], 0x10000000
jne 0x14004ba1d
lea ecx, [rax - 0x77]
jmp 0x14004ba4c
cmp eax, 0x5d
jne 0x14004ba30
test dword [rbx + 0x64], 0x10000000
jne 0x14004ba30
lea ecx, [rax - 0x59]
jmp 0x14004ba4c
movzx edx, word [rbx + 0x5e]
lea rcx, [rbx + 0x28]
call fcn.1400495a0
mov rcx, rbx
call fcn.140046bc0
jmp 0x14004ba52
mov ecx, 0xa
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::tr1::_Xbad_enum_std::tr1::regex_constants::error_type_]
mov rcx, rbx
call fcn.140049da0
cmp dword [rbx + 0x60], 0xffff
mov cl, 1
jne 0x14004b5d0
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
movzx eax, cl
add rsp, 0x20
pop rbx
ret
movzx eax, cl
add rsp, 0x20
pop rbx
ret