Function at 0x14002ef70
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x14002f55b
lea rdi, [rbx + 0x10]
cmp ecx, 0x7c
je 0x14002f55b
cmp ecx, 0x29
jne 0x14002efc1
cmp dword [rbx + 0x1c], 0
jne 0x14002f55b
test dword [rbx + 0x80], 0x10000000
je 0x14002f576
jmp 0x14002f4ea
cmp ecx, 0x2e
jne 0x14002f056
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.14002f5b0
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x14002f539
cmp byte [rax], 0x5c
jne 0x14002f2db
lea r8, [rax + 1]
mov rcx, rax
cmp r8, rdx
je 0x14002f048
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x14002f01d
movzx ecx, byte [r8]
mov rdx, rax
cmp cl, 0x28
je 0x14002f039
cmp cl, 0x29
je 0x14002f039
mov rcx, rax
test r9b, 0x10
jne 0x14002f048
movzx r8d, byte [r8]
mov rdx, rax
cmp r8b, 0x7b
je 0x14002f039
mov rdx, rcx
cmp r8b, 0x7d
jne 0x14002f048
lea rax, [rdx + 1]
inc rax
mov qword [rbx], rax
jmp 0x14002f539
mov rax, rcx
inc rax
mov qword [rbx], rax
jmp 0x14002f539
cmp ecx, 0x5c
jne 0x14002f207
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x14002f0c6
cmp byte [rax], cl
jne 0x14002f0c0
lea r8, [rax + 1]
mov rcx, rax
cmp r8, rdx
je 0x14002f0bd
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x14002f09b
movzx ecx, byte [r8]
mov rdx, rax
cmp cl, 0x28
je 0x14002f0b7
cmp cl, 0x29
je 0x14002f0b7
mov rcx, rax
test r9b, 0x10
jne 0x14002f0bd
movzx r8d, byte [r8]
mov rdx, rax
cmp r8b, 0x7b
je 0x14002f0b7
mov rdx, rcx
cmp r8b, 0x7d
jne 0x14002f0bd
lea rax, [rdx + 1]
jmp 0x14002f0c0
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.14002dd10
test byte [rbx + 0x80], 0x80
je 0x14002f1fa
movzx eax, byte [rbx + 0x78]
cmp al, 0x62
jne 0x14002f17b
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.14002f5b0
mov rax, qword [rbx]
mov rdx, qword [rdi]
cmp rax, rdx
je 0x14002f16e
cmp byte [rax], 0x5c
jne 0x14002f168
lea r8, [rax + 1]
mov rcx, rax
cmp r8, rdx
je 0x14002f165
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x14002f132
movzx ecx, byte [r8]
mov rdx, rax
cmp cl, 0x28
je 0x14002f14e
cmp cl, 0x29
je 0x14002f14e
mov rcx, rax
test r9b, 0x10
jne 0x14002f165
movzx r8d, byte [r8]
mov rdx, rax
cmp r8b, 0x7b
je 0x14002f14e
mov rdx, rcx
cmp r8b, 0x7d
jne 0x14002f165
lea rax, [rdx + 1]
mov rcx, rbx
inc rax
mov qword [rbx], rax
call fcn.14002dd10
jmp 0x14002f54d
mov rax, rcx
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.14002dd10
jmp 0x14002f54d
cmp al, 0x42
jne 0x14002f1fa
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.14002f5b0
mov rax, qword [rbx + 0x48]
xor dword [rax + 0xc], 1
mov rax, qword [rbx]
mov rcx, qword [rdi]
cmp rax, rcx
je 0x14002f1ed
cmp byte [rax], 0x5c
jne 0x14002f1e7
lea r8, [rax + 1]
cmp r8, rcx
je 0x14002f1e7
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x14002f1cc
movzx edx, byte [r8]
mov rcx, rax
cmp dl, 0x28
je 0x14002f1e3
cmp dl, 0x29
je 0x14002f1e3
test r9b, 0x10
jne 0x14002f1e7
movzx edx, byte [r8]
mov rcx, rax
cmp dl, 0x7b
je 0x14002f1e3
cmp dl, 0x7d
jne 0x14002f1e7
lea rax, [rcx + 1]
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.14002dd10
jmp 0x14002f54d
mov rcx, rbx
call fcn.1400300f0
jmp 0x14002f541
cmp ecx, 0x5b
jne 0x14002f2e6
mov rax, qword [rbx]
mov rcx, qword [rdi]
cmp rax, rcx
je 0x14002f269
cmp byte [rax], 0x5c
jne 0x14002f263
lea rdx, [rax + 1]
cmp rdx, rcx
je 0x14002f263
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x14002f249
movzx r8d, byte [rdx]
mov rcx, rax
cmp r8b, 0x28
je 0x14002f25f
cmp r8b, 0x29
je 0x14002f25f
test r9b, 0x10
jne 0x14002f263
movzx edx, byte [rdx]
mov rcx, rax
cmp dl, 0x7b
je 0x14002f25f
cmp dl, 0x7d
jne 0x14002f263
lea rax, [rcx + 1]
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.14002dd10
mov rcx, rbx
call fcn.14002ff70
cmp dword [rbx + 0x7c], 0x5d
jne 0x14002f597
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x14002f539
cmp byte [rax], 0x5c
jne 0x14002f2db
lea rdx, [rax + 1]
cmp rdx, rcx
je 0x14002f2db
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x14002f2c1
movzx r8d, byte [rdx]
mov rcx, rax
cmp r8b, 0x28
je 0x14002f2d7
cmp r8b, 0x29
je 0x14002f2d7
test r9b, 0x10
jne 0x14002f2db
movzx edx, byte [rdx]
mov rcx, rax
cmp dl, 0x7b
je 0x14002f2d7
cmp dl, 0x7d
jne 0x14002f2db
lea rax, [rcx + 1]
inc rax
mov qword [rbx], rax
jmp 0x14002f539
cmp ecx, 0x28
jne 0x14002f3d4
mov rax, qword [rbx]
mov rcx, qword [rdi]
cmp rax, rcx
je 0x14002f348
cmp byte [rax], 0x5c
jne 0x14002f342
lea rdx, [rax + 1]
cmp rdx, rcx
je 0x14002f342
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x14002f328
movzx r8d, byte [rdx]
mov rcx, rax
cmp r8b, 0x28
je 0x14002f33e
cmp r8b, 0x29
je 0x14002f33e
test r9b, 0x10
jne 0x14002f342
movzx edx, byte [rdx]
mov rcx, rax
cmp dl, 0x7b
je 0x14002f33e
cmp dl, 0x7d
jne 0x14002f342
lea rax, [rcx + 1]
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.14002dd10
mov rcx, rbx
call fcn.140030280
cmp dword [rbx + 0x7c], 0x29
movzx esi, al
jne 0x14002f5a2
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x14002f3be
cmp byte [rax], 0x5c
jne 0x14002f3b8
lea r8, [rax + 1]
cmp r8, rcx
je 0x14002f3b8
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x14002f39d
movzx edx, byte [r8]
mov rcx, rax
cmp dl, 0x28
je 0x14002f3b4
cmp dl, 0x29
je 0x14002f3b4
test r9b, 0x10
jne 0x14002f3b8
movzx edx, byte [r8]
mov rcx, rax
cmp dl, 0x7b
je 0x14002f3b4
cmp dl, 0x7d
jne 0x14002f3b8
lea rax, [rcx + 1]
inc rax
mov qword [rbx], rax
mov rcx, rbx
call fcn.14002dd10
test sil, sil
je 0x14002f54d
jmp 0x14002f541
cmp ecx, 0x5e
jne 0x14002f43a
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.14002f5b0
mov rdx, qword [rbx + 0x10]
lea rdi, [rbx + 0x10]
mov rax, qword [rbx]
cmp rax, rdx
je 0x14002f42d
cmp byte [rax], 0x5c
jne 0x14002f42a
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14002f42a
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14002f419
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14002f427
test dl, 0x10
jne 0x14002f42a
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14002f42a
inc qword [rbx]
inc qword [rbx]
mov rcx, rbx
call fcn.14002dd10
jmp 0x14002f54d
cmp ecx, 0x24
jne 0x14002f4a0
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.14002f5b0
mov rdx, qword [rbx + 0x10]
lea rdi, [rbx + 0x10]
mov rax, qword [rbx]
cmp rax, rdx
je 0x14002f493
cmp byte [rax], 0x5c
jne 0x14002f490
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14002f490
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14002f47f
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14002f48d
test dl, 0x10
jne 0x14002f490
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14002f490
inc qword [rbx]
inc qword [rbx]
mov rcx, rbx
call fcn.14002dd10
jmp 0x14002f54d
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x14002f58c
cmp ecx, 0x3f
je 0x14002f58c
cmp ecx, 0x7b
je 0x14002f58c
cmp ecx, 0x7d
jne 0x14002f4d5
test dword [rbx + 0x80], 0x10000000
je 0x14002f581
jmp 0x14002f4ea
cmp ecx, 0x5d
jne 0x14002f4ea
test dword [rbx + 0x80], 0x10000000
je 0x14002f56b
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.1400306a0
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x14002f539
cmp byte [rax], 0x5c
jne 0x14002f536
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x14002f536
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14002f525
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14002f533
test dl, 0x10
jne 0x14002f536
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14002f536
inc qword [rbx]
inc qword [rbx]
mov rcx, rbx
call fcn.14002dd10
mov rcx, rbx
call fcn.140030450
lea rdi, [rbx + 0x10]
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x14002ef94
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov edx, 4
call fcn.14002dd00
int3
mov edx, 5
call fcn.14002dd00
int3
mov edx, 6
call fcn.14002dd00
int3
mov edx, 0xa
call fcn.14002dd00
int3
mov edx, 4
call fcn.14002dd00
int3
mov edx, 5
call fcn.14002dd00
int3