Function at 0x18000e200
Capabilities:
Parse credit card information

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
xor cl, cl
cmp dword [rbx + 0x60], 0xffffffff
je 0x18000e6e3
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 0x18000e6cb
cmp eax, 0x29
jne 0x18000e25b
cmp dword [rbx + 0x1c], esi
jne 0x18000e6cb
test dword [rbx + 0x64], 0x10000000
jne 0x18000e25b
lea ecx, [rax - 0x24]
jmp 0x18000e6b2
cmp eax, 0x2e
jne 0x18000e30f
lea ecx, [rax - 0xe]
call fcn.1800161b8
mov r11, rax
test rax, rax
je 0x18000e289
mov qword [rax], rbp
mov qword [rax + 8], 5
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rsi
jmp 0x18000e28c
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 0x18000e2b1
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 0x18000e302
cmp byte [rax], 0x5c
jne 0x18000e2ff
inc rax
cmp rax, rcx
je 0x18000e2e9
test byte [rbx + 0x64], 8
jne 0x18000e2e9
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000e2fc
cmp cl, 0x29
je 0x18000e2fc
test byte [rbx + 0x64], 0x10
jne 0x18000e2ff
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000e2fc
cmp cl, 0x7d
jne 0x18000e2ff
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000cd30
jmp 0x18000e6b7
cmp eax, 0x5c
jne 0x18000e455
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000e35d
cmp byte [rax], 0x5c
jne 0x18000e35a
inc rax
cmp rax, rcx
je 0x18000e344
test byte [rbx + 0x64], 8
jne 0x18000e344
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000e357
cmp cl, 0x29
je 0x18000e357
test byte [rbx + 0x64], 0x10
jne 0x18000e35a
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000e357
cmp cl, 0x7d
jne 0x18000e35a
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000cd30
mov eax, dword [rbx + 0x64]
and eax, 0x80
je 0x18000e3d5
cmp byte [rbx + 0x5e], 0x62
jne 0x18000e3d5
lea rcx, [rbx + 0x28]
mov edx, 4
call fcn.18000d7a0
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000e3c8
cmp byte [rax], 0x5c
jne 0x18000e3c5
inc rax
cmp rax, rcx
je 0x18000e3af
test byte [rbx + 0x64], 8
jne 0x18000e3af
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000e3c2
cmp cl, 0x29
je 0x18000e3c2
test byte [rbx + 0x64], 0x10
jne 0x18000e3c5
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000e3c2
cmp cl, 0x7d
jne 0x18000e3c5
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000cd30
jmp 0x18000e6bf
test eax, eax
je 0x18000e448
cmp byte [rbx + 0x5e], 0x42
jne 0x18000e448
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 0x18000e43b
cmp byte [rax], 0x5c
jne 0x18000e438
inc rax
cmp rax, rcx
je 0x18000e422
test byte [rbx + 0x64], 8
jne 0x18000e422
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000e435
cmp cl, 0x29
je 0x18000e435
test byte [rbx + 0x64], 0x10
jne 0x18000e438
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000e435
cmp cl, 0x7d
jne 0x18000e438
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000cd30
jmp 0x18000e6bf
mov rcx, rbx
call fcn.18000f900
jmp 0x18000e6b7
cmp eax, 0x5b
jne 0x18000e515
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000e4a3
cmp byte [rax], 0x5c
jne 0x18000e4a0
inc rax
cmp rax, rcx
je 0x18000e48a
test byte [rbx + 0x64], 8
jne 0x18000e48a
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000e49d
cmp cl, 0x29
je 0x18000e49d
test byte [rbx + 0x64], 0x10
jne 0x18000e4a0
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000e49d
cmp cl, 0x7d
jne 0x18000e4a0
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000cd30
mov rcx, rbx
call fcn.18000f800
cmp dword [rbx + 0x60], 0x5d
je 0x18000e4c3
mov ecx, 4
call fcn.180014fe8
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000e508
cmp byte [rax], 0x5c
jne 0x18000e505
inc rax
cmp rax, rcx
je 0x18000e4ef
test byte [rbx + 0x64], 8
jne 0x18000e4ef
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000e502
cmp cl, 0x29
je 0x18000e502
test byte [rbx + 0x64], 0x10
jne 0x18000e505
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000e502
cmp cl, 0x7d
jne 0x18000e505
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000cd30
jmp 0x18000e6b7
cmp eax, 0x28
jne 0x18000e5e1
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000e563
cmp byte [rax], 0x5c
jne 0x18000e560
inc rax
cmp rax, rcx
je 0x18000e54a
test byte [rbx + 0x64], 8
jne 0x18000e54a
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000e55d
cmp cl, 0x29
je 0x18000e55d
test byte [rbx + 0x64], 0x10
jne 0x18000e560
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000e55d
cmp cl, 0x7d
jne 0x18000e560
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000cd30
mov rcx, rbx
call fcn.18000f9c0
cmp dword [rbx + 0x60], 0x29
movzx edi, al
je 0x18000e586
mov ecx, 5
call fcn.180014fe8
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000e5cb
cmp byte [rax], 0x5c
jne 0x18000e5c8
inc rax
cmp rax, rcx
je 0x18000e5b2
test byte [rbx + 0x64], 8
jne 0x18000e5b2
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000e5c5
cmp cl, 0x29
je 0x18000e5c5
test byte [rbx + 0x64], 0x10
jne 0x18000e5c8
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000e5c5
cmp cl, 0x7d
jne 0x18000e5c8
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000cd30
test dil, dil
je 0x18000e6bf
jmp 0x18000e6b7
cmp eax, 0x5e
jne 0x18000e641
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x5c]
call fcn.18000d7a0
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18000e637
cmp byte [rax], 0x5c
jne 0x18000e634
inc rax
cmp rax, rcx
je 0x18000e61e
test byte [rbx + 0x64], 8
jne 0x18000e61e
movzx ecx, byte [rax]
cmp cl, 0x28
je 0x18000e631
cmp cl, 0x29
je 0x18000e631
test byte [rbx + 0x64], 0x10
jne 0x18000e634
movzx ecx, byte [rax]
cmp cl, 0x7b
je 0x18000e631
cmp cl, 0x7d
jne 0x18000e634
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.18000cd30
jmp 0x18000e6bf
cmp eax, 0x24
jne 0x18000e65c
lea rcx, [rbx + 0x28]
lea edx, [rax - 0x21]
call fcn.18000d7a0
mov rcx, rbx
call fcn.18000e1b0
jmp 0x18000e6bf
cmp eax, 0x2a
je 0x18000e6ad
cmp eax, 0x2b
je 0x18000e6ad
cmp eax, 0x3f
je 0x18000e6ad
cmp eax, 0x7b
je 0x18000e6ad
cmp eax, 0x7d
jne 0x18000e683
test dword [rbx + 0x64], 0x10000000
jne 0x18000e683
lea ecx, [rax - 0x77]
jmp 0x18000e6b2
cmp eax, 0x5d
jne 0x18000e696
test dword [rbx + 0x64], 0x10000000
jne 0x18000e696
lea ecx, [rax - 0x59]
jmp 0x18000e6b2
movzx edx, byte [rbx + 0x5e]
lea rcx, [rbx + 0x28]
call fcn.18000fd40
mov rcx, rbx
call fcn.18000e1b0
jmp 0x18000e6b7
mov ecx, 0xa
call fcn.180014fe8
mov rcx, rbx
call fcn.18000fbb0
cmp dword [rbx + 0x60], 0xffffffff
mov cl, 1
jne 0x18000e230
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