Function at 0x18000d200
Capabilities:
Parse credit card information

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
xor cl, cl
cmp dword [rbx + 0x60], 0xffffffff
je 0x18000d6df
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 0x18000d6c7
cmp eax, 0x29
jne 0x18000d25b
cmp dword [rbx + 0x1c], esi
jne 0x18000d6c7
test dword [rbx + 0x64], 0x10000000
jne 0x18000d25b
lea ecx, [rax - 0x24]
jmp 0x18000d6ae
cmp eax, 0x2e
jne 0x18000d30f
lea ecx, [rax - 0xe]
call fcn.1800161b8
mov r11, rax
test rax, rax
je 0x18000d289
mov qword [rax], rbp
mov qword [rax + 8], 5
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x18000d28c
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 0x18000d2b1
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 0x18000d302
cmp byte [rax], 0x5c
jne 0x18000d2ff
inc rax
cmp rax, rcx
je 0x18000d2e9
test byte [rbx + 0x64], 8
jne 0x18000d2e9
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d2fc
cmp cl, 0x29
je 0x18000d2fc
test byte [rbx + 0x64], 0x10
jne 0x18000d2ff
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d2fc
cmp cl, 0x7d
jne 0x18000d2ff
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000bbd0
jmp 0x18000d6b3
cmp eax, 0x5c
jne 0x18000d455
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000d35d
cmp byte [rax], 0x5c
jne 0x18000d35a
inc rax
cmp rax, rcx
je 0x18000d344
test byte [rbx + 0x64], 8
jne 0x18000d344
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d357
cmp cl, 0x29
je 0x18000d357
test byte [rbx + 0x64], 0x10
jne 0x18000d35a
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d357
cmp cl, 0x7d
jne 0x18000d35a
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000bbd0
mov eax, dword [rbx + 0x64]
and eax, 0x80
je 0x18000d3d5
cmp byte [rbx + 0x5e], 0x62
jne 0x18000d3d5
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.18000d7a0
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000d3c8
cmp byte [rax], 0x5c
jne 0x18000d3c5
inc rax
cmp rax, rcx
je 0x18000d3af
test byte [rbx + 0x64], 8
jne 0x18000d3af
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d3c2
cmp cl, 0x29
je 0x18000d3c2
test byte [rbx + 0x64], 0x10
jne 0x18000d3c5
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d3c2
cmp cl, 0x7d
jne 0x18000d3c5
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000bbd0
jmp 0x18000d6bb
test eax, eax
je 0x18000d448
cmp byte [rbx + 0x5e], 0x42
jne 0x18000d448
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.18000d7a0
mov r11, qword [rbx + 0x30]
xor dword [r11 + 0xc], 1
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000d43b
cmp byte [rax], 0x5c
jne 0x18000d438
inc rax
cmp rax, rcx
je 0x18000d422
test byte [rbx + 0x64], 8
jne 0x18000d422
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d435
cmp cl, 0x29
je 0x18000d435
test byte [rbx + 0x64], 0x10
jne 0x18000d438
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d435
cmp cl, 0x7d
jne 0x18000d438
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000bbd0
jmp 0x18000d6bb
mov rcx, rbx
call fcn.18000f0e0
jmp 0x18000d6b3
cmp eax, 0x5b
jne 0x18000d515
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000d4a3
cmp byte [rax], 0x5c
jne 0x18000d4a0
inc rax
cmp rax, rcx
je 0x18000d48a
test byte [rbx + 0x64], 8
jne 0x18000d48a
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d49d
cmp cl, 0x29
je 0x18000d49d
test byte [rbx + 0x64], 0x10
jne 0x18000d4a0
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d49d
cmp cl, 0x7d
jne 0x18000d4a0
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000bbd0
mov rcx, rbx
call fcn.18000efe0
cmp dword [rbx + 0x60], 0x5d
je 0x18000d4c3
mov ecx, 4
call fcn.180014fe8
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000d508
cmp byte [rax], 0x5c
jne 0x18000d505
inc rax
cmp rax, rcx
je 0x18000d4ef
test byte [rbx + 0x64], 8
jne 0x18000d4ef
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d502
cmp cl, 0x29
je 0x18000d502
test byte [rbx + 0x64], 0x10
jne 0x18000d505
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d502
cmp cl, 0x7d
jne 0x18000d505
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000bbd0
jmp 0x18000d6b3
cmp eax, 0x28
jne 0x18000d5dd
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000d563
cmp byte [rax], 0x5c
jne 0x18000d560
inc rax
cmp rax, rcx
je 0x18000d54a
test byte [rbx + 0x64], 8
jne 0x18000d54a
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d55d
cmp cl, 0x29
je 0x18000d55d
test byte [rbx + 0x64], 0x10
jne 0x18000d560
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d55d
cmp cl, 0x7d
jne 0x18000d560
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000bbd0
mov rcx, rbx
call fcn.18000f1a0
cmp dword [rbx + 0x60], 0x29
movzx edi, al
je 0x18000d586
mov ecx, 5
call fcn.180014fe8
mov rcx, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
je 0x18000d5c7
cmp byte [rcx], 0x5c
jne 0x18000d5c4
inc rcx
cmp rcx, rdx
je 0x18000d5b0
test byte [rbx + 0x64], 8
jne 0x18000d5b0
movzx eax, byte [rcx]
cmp al, 0x28
je 0x18000d5c1
cmp al, 0x29
je 0x18000d5c1
test byte [rbx + 0x64], 0x10
jne 0x18000d5c4
movzx eax, byte [rcx]
cmp al, 0x7b
je 0x18000d5c1
cmp al, 0x7d
jne 0x18000d5c4
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18000bbd0
test dil, dil
je 0x18000d6bb
jmp 0x18000d6b3
cmp eax, 0x5e
jne 0x18000d63d
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x5c]
call fcn.18000d7a0
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000d633
cmp byte [rax], 0x5c
jne 0x18000d630
inc rax
cmp rax, rcx
je 0x18000d61a
test byte [rbx + 0x64], 8
jne 0x18000d61a
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000d62d
cmp cl, 0x29
je 0x18000d62d
test byte [rbx + 0x64], 0x10
jne 0x18000d630
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000d62d
cmp cl, 0x7d
jne 0x18000d630
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000bbd0
jmp 0x18000d6bb
cmp eax, 0x24
jne 0x18000d658
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x21]
call fcn.18000d7a0
mov rcx, rbx
call fcn.18000d1b0
jmp 0x18000d6bb
cmp eax, 0x2a
je 0x18000d6a9
cmp eax, 0x2b
je 0x18000d6a9
cmp eax, 0x3f
je 0x18000d6a9
cmp eax, 0x7b
je 0x18000d6a9
cmp eax, 0x7d
jne 0x18000d67f
test dword [rbx + 0x64], 0x10000000
jne 0x18000d67f
lea ecx, [rax - 0x77]
jmp 0x18000d6ae
cmp eax, 0x5d
jne 0x18000d692
test dword [rbx + 0x64], 0x10000000
jne 0x18000d692
lea ecx, [rax - 0x59]
jmp 0x18000d6ae
movzx edx, byte [rbx + 0x5e]
lea rcx, [rbx + 0x28]
call fcn.18000fd40
mov rcx, rbx
call fcn.18000d1b0
jmp 0x18000d6b3
mov ecx, 0xa
call fcn.180014fe8
mov rcx, rbx
call fcn.18000f390
cmp dword [rbx + 0x60], 0xffffffff
mov cl, 1
jne 0x18000d230
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