Function at 0x18006f170
Capabilities:
Parse credit card information

Disassembly:
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], rsi
mov rbx, rcx
xor cl, cl
cmp dword [rbx + 0x60], 0xffffffff
je 0x18006f60c
lea rbp, vtable.std::tr1::_Node_base.0
xor esi, esi
nop word [rax + rax]
mov eax, dword [rbx + 0x60]
cmp eax, 0x7c
je 0x18006f60c
cmp eax, 0x29
jne 0x18006f1dc
cmp dword [rbx + 0x1c], 0
jne 0x18006f60c
test dword [rbx + 0x64], 0x10000000
jne 0x18006f1dc
lea ecx, [rax - 0x24]
jmp 0x18006f5f3
cmp eax, 0x2e
jne 0x18006f295
lea ecx, [rax - 0xe]
call fcn.180074954
mov r11, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x18006f20f
mov qword [rax], rbp
mov qword [rax + 8], 5
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x18006f212
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 0x18006f237
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 0x18006f288
cmp byte [rax], 0x5c
jne 0x18006f285
inc rax
cmp rax, rcx
je 0x18006f26f
test byte [rbx + 0x64], 8
jne 0x18006f26f
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18006f282
cmp cl, 0x29
je 0x18006f282
test byte [rbx + 0x64], 0x10
jne 0x18006f285
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18006f282
cmp cl, 0x7d
jne 0x18006f285
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180067c10
jmp 0x18006f5f8
cmp eax, 0x5c
jne 0x18006f3db
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18006f2e3
cmp byte [rax], 0x5c
jne 0x18006f2e0
inc rax
cmp rax, rcx
je 0x18006f2ca
test byte [rbx + 0x64], 8
jne 0x18006f2ca
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18006f2dd
cmp cl, 0x29
je 0x18006f2dd
test byte [rbx + 0x64], 0x10
jne 0x18006f2e0
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18006f2dd
cmp cl, 0x7d
jne 0x18006f2e0
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180067c10
mov eax, dword [rbx + 0x64]
and eax, 0x80
je 0x18006f35b
cmp byte [rbx + 0x5e], 0x62
jne 0x18006f35b
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.180066c70
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18006f34e
cmp byte [rax], 0x5c
jne 0x18006f34b
inc rax
cmp rax, rcx
je 0x18006f335
test byte [rbx + 0x64], 8
jne 0x18006f335
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18006f348
cmp cl, 0x29
je 0x18006f348
test byte [rbx + 0x64], 0x10
jne 0x18006f34b
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18006f348
cmp cl, 0x7d
jne 0x18006f34b
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180067c10
jmp 0x18006f600
test eax, eax
je 0x18006f3ce
cmp byte [rbx + 0x5e], 0x42
jne 0x18006f3ce
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.180066c70
mov r11, qword [rbx + 0x30]
xor dword [r11 + 0xc], 1
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18006f3c1
cmp byte [rax], 0x5c
jne 0x18006f3be
inc rax
cmp rax, rcx
je 0x18006f3a8
test byte [rbx + 0x64], 8
jne 0x18006f3a8
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18006f3bb
cmp cl, 0x29
je 0x18006f3bb
test byte [rbx + 0x64], 0x10
jne 0x18006f3be
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18006f3bb
cmp cl, 0x7d
jne 0x18006f3be
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180067c10
jmp 0x18006f600
mov rcx, rbx
call fcn.18006c260
jmp 0x18006f5f8
cmp eax, 0x5b
jne 0x18006f49b
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18006f429
cmp byte [rax], 0x5c
jne 0x18006f426
inc rax
cmp rax, rcx
je 0x18006f410
test byte [rbx + 0x64], 8
jne 0x18006f410
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18006f423
cmp cl, 0x29
je 0x18006f423
test byte [rbx + 0x64], 0x10
jne 0x18006f426
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18006f423
cmp cl, 0x7d
jne 0x18006f426
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180067c10
mov rcx, rbx
call fcn.18006ed80
cmp dword [rbx + 0x60], 0x5d
je 0x18006f449
mov ecx, 4
call fcn.180072c7c
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18006f48e
cmp byte [rax], 0x5c
jne 0x18006f48b
inc rax
cmp rax, rcx
je 0x18006f475
test byte [rbx + 0x64], 8
jne 0x18006f475
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18006f488
cmp cl, 0x29
je 0x18006f488
test byte [rbx + 0x64], 0x10
jne 0x18006f48b
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18006f488
cmp cl, 0x7d
jne 0x18006f48b
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180067c10
jmp 0x18006f5f8
cmp eax, 0x28
jne 0x18006f567
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18006f4e9
cmp byte [rax], 0x5c
jne 0x18006f4e6
inc rax
cmp rax, rcx
je 0x18006f4d0
test byte [rbx + 0x64], 8
jne 0x18006f4d0
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18006f4e3
cmp cl, 0x29
je 0x18006f4e3
test byte [rbx + 0x64], 0x10
jne 0x18006f4e6
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18006f4e3
cmp cl, 0x7d
jne 0x18006f4e6
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180067c10
mov rcx, rbx
call fcn.180068080
movzx edi, al
cmp dword [rbx + 0x60], 0x29
je 0x18006f50c
mov ecx, 5
call fcn.180072c7c
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18006f551
cmp byte [rax], 0x5c
jne 0x18006f54e
inc rax
cmp rax, rcx
je 0x18006f538
test byte [rbx + 0x64], 8
jne 0x18006f538
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18006f54b
cmp cl, 0x29
je 0x18006f54b
test byte [rbx + 0x64], 0x10
jne 0x18006f54e
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18006f54b
cmp cl, 0x7d
jne 0x18006f54e
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180067c10
test dil, dil
je 0x18006f600
jmp 0x18006f5f8
cmp eax, 0x5e
jne 0x18006f582
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x5c]
call fcn.180066c70
mov rcx, rbx
call fcn.180067e30
jmp 0x18006f600
cmp eax, 0x24
jne 0x18006f59d
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x21]
call fcn.180066c70
mov rcx, rbx
call fcn.180067e30
jmp 0x18006f600
cmp eax, 0x2a
je 0x18006f5ee
cmp eax, 0x2b
je 0x18006f5ee
cmp eax, 0x3f
je 0x18006f5ee
cmp eax, 0x7b
je 0x18006f5ee
cmp eax, 0x7d
jne 0x18006f5c4
test dword [rbx + 0x64], 0x10000000
jne 0x18006f5c4
lea ecx, [rax - 0x77]
jmp 0x18006f5f3
cmp eax, 0x5d
jne 0x18006f5d7
test dword [rbx + 0x64], 0x10000000
jne 0x18006f5d7
lea ecx, [rax - 0x59]
jmp 0x18006f5f3
lea rcx, [rbx + 0x28]
movzx edx, byte [rbx + 0x5e]
call fcn.18006b6c0
mov rcx, rbx
call fcn.180067e30
jmp 0x18006f5f8
mov ecx, 0xa
call fcn.180072c7c
mov rcx, rbx
call fcn.18006c320
mov cl, 1
cmp dword [rbx + 0x60], 0xffffffff
jne 0x18006f1b0
movzx eax, cl
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret