Function at 0x140064c50
Capabilities:
Parse credit card information

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
xor cl, cl
cmp dword [rbx + 0x60], 0xffffffff
je 0x1400650f1
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
nop dword [rax]
mov eax, dword [rbx + 0x60]
cmp eax, 0x7c
je 0x1400650d9
cmp eax, 0x29
jne 0x140064cab
cmp dword [rbx + 0x1c], esi
jne 0x1400650d9
test dword [rbx + 0x64], 0x10000000
jne 0x140064cab
lea ecx, [rax - 0x24]
jmp 0x1400650bf
cmp eax, 0x2e
jne 0x140064d5f
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 0x140064cd9
mov qword [rax], rbp
mov qword [rax + 8], 5
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x140064cdc
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 0x140064d01
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 0x140064d52
cmp byte [rax], 0x5c
jne 0x140064d4f
inc rax
cmp rax, rcx
je 0x140064d39
test byte [rbx + 0x64], 8
jne 0x140064d39
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x140064d4c
cmp cl, 0x29
je 0x140064d4c
test byte [rbx + 0x64], 0x10
jne 0x140064d4f
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x140064d4c
cmp cl, 0x7d
jne 0x140064d4f
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.140060bc0
jmp 0x1400650c5
cmp eax, 0x5c
jne 0x140064ea5
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x140064dad
cmp byte [rax], 0x5c
jne 0x140064daa
inc rax
cmp rax, rcx
je 0x140064d94
test byte [rbx + 0x64], 8
jne 0x140064d94
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x140064da7
cmp cl, 0x29
je 0x140064da7
test byte [rbx + 0x64], 0x10
jne 0x140064daa
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x140064da7
cmp cl, 0x7d
jne 0x140064daa
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.140060bc0
mov eax, dword [rbx + 0x64]
and eax, 0x80
je 0x140064e25
cmp byte [rbx + 0x5e], 0x62
jne 0x140064e25
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.140060380
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x140064e18
cmp byte [rax], 0x5c
jne 0x140064e15
inc rax
cmp rax, rcx
je 0x140064dff
test byte [rbx + 0x64], 8
jne 0x140064dff
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x140064e12
cmp cl, 0x29
je 0x140064e12
test byte [rbx + 0x64], 0x10
jne 0x140064e15
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x140064e12
cmp cl, 0x7d
jne 0x140064e15
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.140060bc0
jmp 0x1400650cd
test eax, eax
je 0x140064e98
cmp byte [rbx + 0x5e], 0x42
jne 0x140064e98
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 0x140064e8b
cmp byte [rax], 0x5c
jne 0x140064e88
inc rax
cmp rax, rcx
je 0x140064e72
test byte [rbx + 0x64], 8
jne 0x140064e72
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x140064e85
cmp cl, 0x29
je 0x140064e85
test byte [rbx + 0x64], 0x10
jne 0x140064e88
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x140064e85
cmp cl, 0x7d
jne 0x140064e88
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.140060bc0
jmp 0x1400650cd
mov rcx, rbx
call fcn.140063870
jmp 0x1400650c5
cmp eax, 0x5b
jne 0x140064f66
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x140064ef3
cmp byte [rax], 0x5c
jne 0x140064ef0
inc rax
cmp rax, rcx
je 0x140064eda
test byte [rbx + 0x64], 8
jne 0x140064eda
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x140064eed
cmp cl, 0x29
je 0x140064eed
test byte [rbx + 0x64], 0x10
jne 0x140064ef0
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x140064eed
cmp cl, 0x7d
jne 0x140064ef0
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.140060bc0
mov rcx, rbx
call fcn.140064b40
cmp dword [rbx + 0x60], 0x5d
je 0x140064f14
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 0x140064f59
cmp byte [rax], 0x5c
jne 0x140064f56
inc rax
cmp rax, rcx
je 0x140064f40
test byte [rbx + 0x64], 8
jne 0x140064f40
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x140064f53
cmp cl, 0x29
je 0x140064f53
test byte [rbx + 0x64], 0x10
jne 0x140064f56
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x140064f53
cmp cl, 0x7d
jne 0x140064f56
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.140060bc0
jmp 0x1400650c5
cmp eax, 0x28
jne 0x140065033
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x140064fb4
cmp byte [rax], 0x5c
jne 0x140064fb1
inc rax
cmp rax, rcx
je 0x140064f9b
test byte [rbx + 0x64], 8
jne 0x140064f9b
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x140064fae
cmp cl, 0x29
je 0x140064fae
test byte [rbx + 0x64], 0x10
jne 0x140064fb1
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x140064fae
cmp cl, 0x7d
jne 0x140064fb1
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.140060bc0
mov rcx, rbx
call fcn.1400610a0
cmp dword [rbx + 0x60], 0x29
movzx edi, al
je 0x140064fd8
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 0x14006501d
cmp byte [rax], 0x5c
jne 0x14006501a
inc rax
cmp rax, rcx
je 0x140065004
test byte [rbx + 0x64], 8
jne 0x140065004
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x140065017
cmp cl, 0x29
je 0x140065017
test byte [rbx + 0x64], 0x10
jne 0x14006501a
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x140065017
cmp cl, 0x7d
jne 0x14006501a
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.140060bc0
test dil, dil
je 0x1400650cd
jmp 0x1400650c5
cmp eax, 0x5e
jne 0x14006504e
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x5c]
call fcn.140060380
mov rcx, rbx
call fcn.140060de0
jmp 0x1400650cd
cmp eax, 0x24
jne 0x140065069
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x21]
call fcn.140060380
mov rcx, rbx
call fcn.140060de0
jmp 0x1400650cd
cmp eax, 0x2a
je 0x1400650ba
cmp eax, 0x2b
je 0x1400650ba
cmp eax, 0x3f
je 0x1400650ba
cmp eax, 0x7b
je 0x1400650ba
cmp eax, 0x7d
jne 0x140065090
test dword [rbx + 0x64], 0x10000000
jne 0x140065090
lea ecx, [rax - 0x77]
jmp 0x1400650bf
cmp eax, 0x5d
jne 0x1400650a3
test dword [rbx + 0x64], 0x10000000
jne 0x1400650a3
lea ecx, [rax - 0x59]
jmp 0x1400650bf
movzx edx, byte [rbx + 0x5e]
lea rcx, [rbx + 0x28]
call fcn.140062f20
mov rcx, rbx
call fcn.140060de0
jmp 0x1400650c5
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.140063930
cmp dword [rbx + 0x60], 0xffffffff
mov cl, 1
jne 0x140064c80
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