Function at 0x18000cf40
Capabilities:
Parse credit card information

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
xor cl, cl
cmp dword [rbx + 0x60], 0xffffffff
je 0x18000d41f
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 0x18000d407
cmp eax, 0x29
jne 0x18000cf9b
cmp dword [rbx + 0x1c], esi
jne 0x18000d407
test dword [rbx + 0x64], 0x10000000
jne 0x18000cf9b
lea ecx, [rax - 0x24]
jmp 0x18000d3ee
cmp eax, 0x2e
jne 0x18000d04f
lea ecx, [rax - 0xe]
call fcn.1800161b8
mov r11, rax
test rax, rax
je 0x18000cfc9
mov qword [rax], rbp
mov qword [rax + 8], 5
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x18000cfcc
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 0x18000cff1
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 0x18000d042
cmp byte [rax], 0x5c
jne 0x18000d03f
inc rax
cmp rax, rcx
je 0x18000d029
test byte [rbx + 0x64], 8
jne 0x18000d029
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d03c
cmp cl, 0x29
je 0x18000d03c
test byte [rbx + 0x64], 0x10
jne 0x18000d03f
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d03c
cmp cl, 0x7d
jne 0x18000d03f
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000b900
jmp 0x18000d3f3
cmp eax, 0x5c
jne 0x18000d195
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000d09d
cmp byte [rax], 0x5c
jne 0x18000d09a
inc rax
cmp rax, rcx
je 0x18000d084
test byte [rbx + 0x64], 8
jne 0x18000d084
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d097
cmp cl, 0x29
je 0x18000d097
test byte [rbx + 0x64], 0x10
jne 0x18000d09a
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d097
cmp cl, 0x7d
jne 0x18000d09a
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000b900
mov eax, dword [rbx + 0x64]
and eax, 0x80
je 0x18000d115
cmp byte [rbx + 0x5e], 0x62
jne 0x18000d115
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.18000d430
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000d108
cmp byte [rax], 0x5c
jne 0x18000d105
inc rax
cmp rax, rcx
je 0x18000d0ef
test byte [rbx + 0x64], 8
jne 0x18000d0ef
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d102
cmp cl, 0x29
je 0x18000d102
test byte [rbx + 0x64], 0x10
jne 0x18000d105
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d102
cmp cl, 0x7d
jne 0x18000d105
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000b900
jmp 0x18000d3fb
test eax, eax
je 0x18000d188
cmp byte [rbx + 0x5e], 0x42
jne 0x18000d188
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.18000d430
mov r11, qword [rbx + 0x30]
xor dword [r11 + 0xc], 1
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000d17b
cmp byte [rax], 0x5c
jne 0x18000d178
inc rax
cmp rax, rcx
je 0x18000d162
test byte [rbx + 0x64], 8
jne 0x18000d162
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d175
cmp cl, 0x29
je 0x18000d175
test byte [rbx + 0x64], 0x10
jne 0x18000d178
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d175
cmp cl, 0x7d
jne 0x18000d178
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000b900
jmp 0x18000d3fb
mov rcx, rbx
call fcn.18000ef40
jmp 0x18000d3f3
cmp eax, 0x5b
jne 0x18000d255
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000d1e3
cmp byte [rax], 0x5c
jne 0x18000d1e0
inc rax
cmp rax, rcx
je 0x18000d1ca
test byte [rbx + 0x64], 8
jne 0x18000d1ca
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d1dd
cmp cl, 0x29
je 0x18000d1dd
test byte [rbx + 0x64], 0x10
jne 0x18000d1e0
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d1dd
cmp cl, 0x7d
jne 0x18000d1e0
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000b900
mov rcx, rbx
call fcn.18000ee40
cmp dword [rbx + 0x60], 0x5d
je 0x18000d203
mov ecx, 4
call fcn.180014fb8
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000d248
cmp byte [rax], 0x5c
jne 0x18000d245
inc rax
cmp rax, rcx
je 0x18000d22f
test byte [rbx + 0x64], 8
jne 0x18000d22f
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d242
cmp cl, 0x29
je 0x18000d242
test byte [rbx + 0x64], 0x10
jne 0x18000d245
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d242
cmp cl, 0x7d
jne 0x18000d245
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000b900
jmp 0x18000d3f3
cmp eax, 0x28
jne 0x18000d31d
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000d2a3
cmp byte [rax], 0x5c
jne 0x18000d2a0
inc rax
cmp rax, rcx
je 0x18000d28a
test byte [rbx + 0x64], 8
jne 0x18000d28a
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d29d
cmp cl, 0x29
je 0x18000d29d
test byte [rbx + 0x64], 0x10
jne 0x18000d2a0
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d29d
cmp cl, 0x7d
jne 0x18000d2a0
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000b900
mov rcx, rbx
call fcn.18000f000
cmp dword [rbx + 0x60], 0x29
movzx edi, al
je 0x18000d2c6
mov ecx, 5
call fcn.180014fb8
mov rcx, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
je 0x18000d307
cmp byte [rcx], 0x5c
jne 0x18000d304
inc rcx
cmp rcx, rdx
je 0x18000d2f0
test byte [rbx + 0x64], 8
jne 0x18000d2f0
movzx eax, byte [rcx]
cmp al, 0x28
je 0x18000d301
cmp al, 0x29
je 0x18000d301
test byte [rbx + 0x64], 0x10
jne 0x18000d304
movzx eax, byte [rcx]
cmp al, 0x7b
je 0x18000d301
cmp al, 0x7d
jne 0x18000d304
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18000b900
test dil, dil
je 0x18000d3fb
jmp 0x18000d3f3
cmp eax, 0x5e
jne 0x18000d37d
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x5c]
call fcn.18000d430
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000d373
cmp byte [rax], 0x5c
jne 0x18000d370
inc rax
cmp rax, rcx
je 0x18000d35a
test byte [rbx + 0x64], 8
jne 0x18000d35a
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d36d
cmp cl, 0x29
je 0x18000d36d
test byte [rbx + 0x64], 0x10
jne 0x18000d370
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d36d
cmp cl, 0x7d
jne 0x18000d370
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000b900
jmp 0x18000d3fb
cmp eax, 0x24
jne 0x18000d398
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x21]
call fcn.18000d430
mov rcx, rbx
call fcn.18000cef0
jmp 0x18000d3fb
cmp eax, 0x2a
je 0x18000d3e9
cmp eax, 0x2b
je 0x18000d3e9
cmp eax, 0x3f
je 0x18000d3e9
cmp eax, 0x7b
je 0x18000d3e9
cmp eax, 0x7d
jne 0x18000d3bf
test dword [rbx + 0x64], 0x10000000
jne 0x18000d3bf
lea ecx, [rax - 0x77]
jmp 0x18000d3ee
cmp eax, 0x5d
jne 0x18000d3d2
test dword [rbx + 0x64], 0x10000000
jne 0x18000d3d2
lea ecx, [rax - 0x59]
jmp 0x18000d3ee
movzx edx, byte [rbx + 0x5e]
lea rcx, [rbx + 0x28]
call fcn.18000fba0
mov rcx, rbx
call fcn.18000cef0
jmp 0x18000d3f3
mov ecx, 0xa
call fcn.180014fb8
mov rcx, rbx
call fcn.18000f1f0
cmp dword [rbx + 0x60], 0xffffffff
mov cl, 1
jne 0x18000cf70
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