Function at 0x18000ab00
Capabilities:
Parse credit card information

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
xor cl, cl
cmp dword [rbx + 0x60], 0xffffffff
je 0x18000afe3
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 0x18000afcb
cmp eax, 0x29
jne 0x18000ab5b
cmp dword [rbx + 0x1c], esi
jne 0x18000afcb
test dword [rbx + 0x64], 0x10000000
jne 0x18000ab5b
lea ecx, [rax - 0x24]
jmp 0x18000afb2
cmp eax, 0x2e
jne 0x18000ac0f
lea ecx, [rax - 0xe]
call fcn.180011bb8
mov r11, rax
test rax, rax
je 0x18000ab89
mov qword [rax], rbp
mov qword [rax + 8], 5
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x18000ab8c
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 0x18000abb1
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 0x18000ac02
cmp byte [rax], 0x5c
jne 0x18000abff
inc rax
cmp rax, rcx
je 0x18000abe9
test byte [rbx + 0x64], 8
jne 0x18000abe9
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000abfc
cmp cl, 0x29
je 0x18000abfc
test byte [rbx + 0x64], 0x10
jne 0x18000abff
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000abfc
cmp cl, 0x7d
jne 0x18000abff
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180009960
jmp 0x18000afb7
cmp eax, 0x5c
jne 0x18000ad55
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000ac5d
cmp byte [rax], 0x5c
jne 0x18000ac5a
inc rax
cmp rax, rcx
je 0x18000ac44
test byte [rbx + 0x64], 8
jne 0x18000ac44
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000ac57
cmp cl, 0x29
je 0x18000ac57
test byte [rbx + 0x64], 0x10
jne 0x18000ac5a
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000ac57
cmp cl, 0x7d
jne 0x18000ac5a
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180009960
mov eax, dword [rbx + 0x64]
and eax, 0x80
je 0x18000acd5
cmp byte [rbx + 0x5e], 0x62
jne 0x18000acd5
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.18000b1d0
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000acc8
cmp byte [rax], 0x5c
jne 0x18000acc5
inc rax
cmp rax, rcx
je 0x18000acaf
test byte [rbx + 0x64], 8
jne 0x18000acaf
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000acc2
cmp cl, 0x29
je 0x18000acc2
test byte [rbx + 0x64], 0x10
jne 0x18000acc5
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000acc2
cmp cl, 0x7d
jne 0x18000acc5
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180009960
jmp 0x18000afbf
test eax, eax
je 0x18000ad48
cmp byte [rbx + 0x5e], 0x42
jne 0x18000ad48
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.18000b1d0
mov r11, qword [rbx + 0x30]
xor dword [r11 + 0xc], 1
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000ad3b
cmp byte [rax], 0x5c
jne 0x18000ad38
inc rax
cmp rax, rcx
je 0x18000ad22
test byte [rbx + 0x64], 8
jne 0x18000ad22
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000ad35
cmp cl, 0x29
je 0x18000ad35
test byte [rbx + 0x64], 0x10
jne 0x18000ad38
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000ad35
cmp cl, 0x7d
jne 0x18000ad38
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180009960
jmp 0x18000afbf
mov rcx, rbx
call fcn.18000c630
jmp 0x18000afb7
cmp eax, 0x5b
jne 0x18000ae15
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000ada3
cmp byte [rax], 0x5c
jne 0x18000ada0
inc rax
cmp rax, rcx
je 0x18000ad8a
test byte [rbx + 0x64], 8
jne 0x18000ad8a
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000ad9d
cmp cl, 0x29
je 0x18000ad9d
test byte [rbx + 0x64], 0x10
jne 0x18000ada0
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000ad9d
cmp cl, 0x7d
jne 0x18000ada0
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180009960
mov rcx, rbx
call fcn.18000c530
cmp dword [rbx + 0x60], 0x5d
je 0x18000adc3
mov ecx, 4
call fcn.18001ebc0
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000ae08
cmp byte [rax], 0x5c
jne 0x18000ae05
inc rax
cmp rax, rcx
je 0x18000adef
test byte [rbx + 0x64], 8
jne 0x18000adef
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000ae02
cmp cl, 0x29
je 0x18000ae02
test byte [rbx + 0x64], 0x10
jne 0x18000ae05
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000ae02
cmp cl, 0x7d
jne 0x18000ae05
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180009960
jmp 0x18000afb7
cmp eax, 0x28
jne 0x18000aee1
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000ae63
cmp byte [rax], 0x5c
jne 0x18000ae60
inc rax
cmp rax, rcx
je 0x18000ae4a
test byte [rbx + 0x64], 8
jne 0x18000ae4a
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000ae5d
cmp cl, 0x29
je 0x18000ae5d
test byte [rbx + 0x64], 0x10
jne 0x18000ae60
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000ae5d
cmp cl, 0x7d
jne 0x18000ae60
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180009960
mov rcx, rbx
call fcn.18000c6f0
cmp dword [rbx + 0x60], 0x29
movzx edi, al
je 0x18000ae86
mov ecx, 5
call fcn.18001ebc0
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000aecb
cmp byte [rax], 0x5c
jne 0x18000aec8
inc rax
cmp rax, rcx
je 0x18000aeb2
test byte [rbx + 0x64], 8
jne 0x18000aeb2
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000aec5
cmp cl, 0x29
je 0x18000aec5
test byte [rbx + 0x64], 0x10
jne 0x18000aec8
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000aec5
cmp cl, 0x7d
jne 0x18000aec8
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180009960
test dil, dil
je 0x18000afbf
jmp 0x18000afb7
cmp eax, 0x5e
jne 0x18000af41
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x5c]
call fcn.18000b1d0
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000af37
cmp byte [rax], 0x5c
jne 0x18000af34
inc rax
cmp rax, rcx
je 0x18000af1e
test byte [rbx + 0x64], 8
jne 0x18000af1e
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000af31
cmp cl, 0x29
je 0x18000af31
test byte [rbx + 0x64], 0x10
jne 0x18000af34
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000af31
cmp cl, 0x7d
jne 0x18000af34
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180009960
jmp 0x18000afbf
cmp eax, 0x24
jne 0x18000af5c
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x21]
call fcn.18000b1d0
mov rcx, rbx
call fcn.18000aab0
jmp 0x18000afbf
cmp eax, 0x2a
je 0x18000afad
cmp eax, 0x2b
je 0x18000afad
cmp eax, 0x3f
je 0x18000afad
cmp eax, 0x7b
je 0x18000afad
cmp eax, 0x7d
jne 0x18000af83
test dword [rbx + 0x64], 0x10000000
jne 0x18000af83
lea ecx, [rax - 0x77]
jmp 0x18000afb2
cmp eax, 0x5d
jne 0x18000af96
test dword [rbx + 0x64], 0x10000000
jne 0x18000af96
lea ecx, [rax - 0x59]
jmp 0x18000afb2
movzx edx, byte [rbx + 0x5e]
lea rcx, [rbx + 0x28]
call fcn.18000ca70
mov rcx, rbx
call fcn.18000aab0
jmp 0x18000afb7
mov ecx, 0xa
call fcn.18001ebc0
mov rcx, rbx
call fcn.18000c8e0
cmp dword [rbx + 0x60], 0xffffffff
mov cl, 1
jne 0x18000ab30
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