Function at 0x18001f730
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
xor al, al
mov rbx, rcx
cmp dword [rcx + 0x7c], 0xffffffff
je 0x18001fa6b
nop dword [rax]
mov ecx, dword [rbx + 0x7c]
cmp ecx, 0x7c
je 0x18001fa6b
cmp ecx, 0x29
jne 0x18001f77b
cmp dword [rbx + 0x1c], 0
jne 0x18001fa6b
test dword [rbx + 0x80], 0x10000000
je 0x18001fa76
cmp ecx, 0x2e
jne 0x18001f7dc
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.18001fc90
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x18001f7cf
cmp byte [rcx], 0x5c
jne 0x18001f7cc
inc rcx
cmp rcx, rax
je 0x18001f7cc
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18001f7bb
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18001f7c9
test dl, 0x10
jne 0x18001f7cc
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18001f7cc
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18001d1b0
jmp 0x18001fa57
cmp ecx, 0x5c
jne 0x18001f89a
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x18001f826
cmp byte [rax], cl
jne 0x18001f823
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x18001f823
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18001f812
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18001f820
test dl, 0x10
jne 0x18001f823
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18001f823
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18001d1b0
mov eax, dword [rbx + 0x80]
and eax, 0x80
je 0x18001f85c
cmp byte [rbx + 0x78], 0x62
jne 0x18001f85c
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.18001fc90
mov rcx, rbx
call fcn.18001f6e0
jmp 0x18001fa5f
test eax, eax
je 0x18001f88d
cmp byte [rbx + 0x78], 0x42
jne 0x18001f88d
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.18001fc90
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
add rax, 0xc
call fcn.18001f6e0
jmp 0x18001fa5f
mov rcx, rbx
call fcn.180021b70
jmp 0x18001fa57
cmp ecx, 0x5b
jne 0x18001f908
mov rcx, rbx
call fcn.18001f6e0
mov rcx, rbx
call fcn.180021a10
cmp dword [rbx + 0x7c], 0x5d
jne 0x18001fa81
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x18001f8fb
cmp byte [rax], 0x5c
jne 0x18001f8f8
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x18001f8f8
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18001f8e7
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18001f8f5
test dl, 0x10
jne 0x18001f8f8
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18001f8f8
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18001d1b0
jmp 0x18001fa57
cmp ecx, 0x28
jne 0x18001f9c8
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x18001f953
cmp byte [rax], 0x5c
jne 0x18001f950
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x18001f950
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18001f93f
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18001f94d
test dl, 0x10
jne 0x18001f950
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18001f950
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18001d1b0
mov rcx, rbx
call fcn.180021cf0
cmp dword [rbx + 0x7c], 0x29
movzx edi, al
jne 0x18001fa8c
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x18001f9b2
cmp byte [rax], 0x5c
jne 0x18001f9af
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x18001f9af
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18001f99e
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18001f9ac
test dl, 0x10
jne 0x18001f9af
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18001f9af
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18001d1b0
test dil, dil
je 0x18001fa5f
jmp 0x18001fa57
cmp ecx, 0x5e
jne 0x18001f9e5
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.18001fc90
mov rcx, rbx
call fcn.18001f6e0
jmp 0x18001fa5f
cmp ecx, 0x24
jne 0x18001fa02
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.18001fc90
mov rcx, rbx
call fcn.18001f6e0
jmp 0x18001fa5f
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x18001faad
cmp ecx, 0x3f
je 0x18001faad
cmp ecx, 0x7b
je 0x18001faad
cmp ecx, 0x7d
jne 0x18001fa31
test dword [rbx + 0x80], 0x10000000
je 0x18001fa97
cmp ecx, 0x5d
jne 0x18001fa42
test dword [rbx + 0x80], 0x10000000
je 0x18001faa2
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.180021fa0
mov rcx, rbx
call fcn.18001f6e0
mov rcx, rbx
call fcn.180021e10
cmp dword [rbx + 0x7c], 0xffffffff
mov al, 1
jne 0x18001f750
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ecx, 5
call fcn.1800acb28
int3
mov ecx, 4
call fcn.1800acb28
int3
mov ecx, 5
call fcn.1800acb28
int3
mov ecx, 6
call fcn.1800acb28
int3
mov ecx, 4
call fcn.1800acb28
int3
mov ecx, 0xa
call fcn.1800acb28
int3