Function at 0x18000a650
Capabilities:
Parse credit card information

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
xor cl, cl
cmp dword [rbx + 0x60], 0xffffffff
je 0x18000ab33
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 0x18000ab1b
cmp eax, 0x29
jne 0x18000a6ab
cmp dword [rbx + 0x1c], esi
jne 0x18000ab1b
test dword [rbx + 0x64], 0x10000000
jne 0x18000a6ab
lea ecx, [rax - 0x24]
jmp 0x18000ab02
cmp eax, 0x2e
jne 0x18000a75f
lea ecx, [rax - 0xe]
call fcn.180011440
mov r11, rax
test rax, rax
je 0x18000a6d9
mov qword [rax], rbp
mov qword [rax + 8], 5
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x18000a6dc
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 0x18000a701
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 0x18000a752
cmp byte [rax], 0x5c
jne 0x18000a74f
inc rax
cmp rax, rcx
je 0x18000a739
test byte [rbx + 0x64], 8
jne 0x18000a739
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000a74c
cmp cl, 0x29
je 0x18000a74c
test byte [rbx + 0x64], 0x10
jne 0x18000a74f
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000a74c
cmp cl, 0x7d
jne 0x18000a74f
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.1800094b0
jmp 0x18000ab07
cmp eax, 0x5c
jne 0x18000a8a5
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000a7ad
cmp byte [rax], 0x5c
jne 0x18000a7aa
inc rax
cmp rax, rcx
je 0x18000a794
test byte [rbx + 0x64], 8
jne 0x18000a794
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000a7a7
cmp cl, 0x29
je 0x18000a7a7
test byte [rbx + 0x64], 0x10
jne 0x18000a7aa
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000a7a7
cmp cl, 0x7d
jne 0x18000a7aa
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.1800094b0
mov eax, dword [rbx + 0x64]
and eax, 0x80
je 0x18000a825
cmp byte [rbx + 0x5e], 0x62
jne 0x18000a825
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.18000ad20
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000a818
cmp byte [rax], 0x5c
jne 0x18000a815
inc rax
cmp rax, rcx
je 0x18000a7ff
test byte [rbx + 0x64], 8
jne 0x18000a7ff
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000a812
cmp cl, 0x29
je 0x18000a812
test byte [rbx + 0x64], 0x10
jne 0x18000a815
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000a812
cmp cl, 0x7d
jne 0x18000a815
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.1800094b0
jmp 0x18000ab0f
test eax, eax
je 0x18000a898
cmp byte [rbx + 0x5e], 0x42
jne 0x18000a898
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.18000ad20
mov r11, qword [rbx + 0x30]
xor dword [r11 + 0xc], 1
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000a88b
cmp byte [rax], 0x5c
jne 0x18000a888
inc rax
cmp rax, rcx
je 0x18000a872
test byte [rbx + 0x64], 8
jne 0x18000a872
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000a885
cmp cl, 0x29
je 0x18000a885
test byte [rbx + 0x64], 0x10
jne 0x18000a888
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000a885
cmp cl, 0x7d
jne 0x18000a888
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.1800094b0
jmp 0x18000ab0f
mov rcx, rbx
call fcn.18000c150
jmp 0x18000ab07
cmp eax, 0x5b
jne 0x18000a965
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000a8f3
cmp byte [rax], 0x5c
jne 0x18000a8f0
inc rax
cmp rax, rcx
je 0x18000a8da
test byte [rbx + 0x64], 8
jne 0x18000a8da
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000a8ed
cmp cl, 0x29
je 0x18000a8ed
test byte [rbx + 0x64], 0x10
jne 0x18000a8f0
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000a8ed
cmp cl, 0x7d
jne 0x18000a8f0
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.1800094b0
mov rcx, rbx
call fcn.18000c050
cmp dword [rbx + 0x60], 0x5d
je 0x18000a913
mov ecx, 4
call fcn.18001cf7c
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000a958
cmp byte [rax], 0x5c
jne 0x18000a955
inc rax
cmp rax, rcx
je 0x18000a93f
test byte [rbx + 0x64], 8
jne 0x18000a93f
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000a952
cmp cl, 0x29
je 0x18000a952
test byte [rbx + 0x64], 0x10
jne 0x18000a955
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000a952
cmp cl, 0x7d
jne 0x18000a955
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.1800094b0
jmp 0x18000ab07
cmp eax, 0x28
jne 0x18000aa31
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000a9b3
cmp byte [rax], 0x5c
jne 0x18000a9b0
inc rax
cmp rax, rcx
je 0x18000a99a
test byte [rbx + 0x64], 8
jne 0x18000a99a
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000a9ad
cmp cl, 0x29
je 0x18000a9ad
test byte [rbx + 0x64], 0x10
jne 0x18000a9b0
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000a9ad
cmp cl, 0x7d
jne 0x18000a9b0
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.1800094b0
mov rcx, rbx
call fcn.18000c210
cmp dword [rbx + 0x60], 0x29
movzx edi, al
je 0x18000a9d6
mov ecx, 5
call fcn.18001cf7c
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000aa1b
cmp byte [rax], 0x5c
jne 0x18000aa18
inc rax
cmp rax, rcx
je 0x18000aa02
test byte [rbx + 0x64], 8
jne 0x18000aa02
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000aa15
cmp cl, 0x29
je 0x18000aa15
test byte [rbx + 0x64], 0x10
jne 0x18000aa18
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000aa15
cmp cl, 0x7d
jne 0x18000aa18
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.1800094b0
test dil, dil
je 0x18000ab0f
jmp 0x18000ab07
cmp eax, 0x5e
jne 0x18000aa91
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x5c]
call fcn.18000ad20
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000aa87
cmp byte [rax], 0x5c
jne 0x18000aa84
inc rax
cmp rax, rcx
je 0x18000aa6e
test byte [rbx + 0x64], 8
jne 0x18000aa6e
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000aa81
cmp cl, 0x29
je 0x18000aa81
test byte [rbx + 0x64], 0x10
jne 0x18000aa84
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000aa81
cmp cl, 0x7d
jne 0x18000aa84
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.1800094b0
jmp 0x18000ab0f
cmp eax, 0x24
jne 0x18000aaac
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x21]
call fcn.18000ad20
mov rcx, rbx
call fcn.18000a600
jmp 0x18000ab0f
cmp eax, 0x2a
je 0x18000aafd
cmp eax, 0x2b
je 0x18000aafd
cmp eax, 0x3f
je 0x18000aafd
cmp eax, 0x7b
je 0x18000aafd
cmp eax, 0x7d
jne 0x18000aad3
test dword [rbx + 0x64], 0x10000000
jne 0x18000aad3
lea ecx, [rax - 0x77]
jmp 0x18000ab02
cmp eax, 0x5d
jne 0x18000aae6
test dword [rbx + 0x64], 0x10000000
jne 0x18000aae6
lea ecx, [rax - 0x59]
jmp 0x18000ab02
movzx edx, byte [rbx + 0x5e]
lea rcx, [rbx + 0x28]
call fcn.18000c590
mov rcx, rbx
call fcn.18000a600
jmp 0x18000ab07
mov ecx, 0xa
call fcn.18001cf7c
mov rcx, rbx
call fcn.18000c400
cmp dword [rbx + 0x60], 0xffffffff
mov cl, 1
jne 0x18000a680
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