Function at 0x18002ff60
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
xor al, al
cmp dword [rcx + 0x7c], 0xffffffff
mov rbx, rcx
je 0x18003039c
nop dword [rax]
mov ecx, dword [rbx + 0x7c]
cmp ecx, 0x7c
je 0x18003039c
cmp ecx, 0x29
jne 0x18002ffab
cmp dword [rbx + 0x1c], 0
jne 0x18003039c
test dword [rbx + 0x80], 0x10000000
je 0x1800303a7
cmp ecx, 0x2e
jne 0x18003000c
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.180011f20
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x18002ffff
cmp byte [rcx], 0x5c
jne 0x18002fffc
inc rcx
cmp rcx, rax
je 0x18002fffc
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18002ffeb
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18002fff9
test dl, 0x10
jne 0x18002fffc
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18002fffc
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002e380
jmp 0x180030388
cmp ecx, 0x5c
jne 0x180030148
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180030056
cmp byte [rcx], 0x5c
jne 0x180030053
inc rcx
cmp rcx, rax
je 0x180030053
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180030042
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180030050
test dl, 0x10
jne 0x180030053
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180030053
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002e380
mov eax, dword [rbx + 0x80]
and eax, 0x80
je 0x1800300cd
cmp byte [rbx + 0x78], 0x62
jne 0x1800300cd
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.180011f20
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1800300c0
cmp byte [rcx], 0x5c
jne 0x1800300bd
inc rcx
cmp rcx, rax
je 0x1800300bd
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1800300ac
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1800300ba
test dl, 0x10
jne 0x1800300bd
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x1800300bd
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002e380
jmp 0x180030390
test eax, eax
je 0x18003013b
cmp byte [rbx + 0x78], 0x42
jne 0x18003013b
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.180011f20
mov rax, qword [rbx + 0x48]
xor dword [rax + 0xc], 1
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x18003012e
cmp byte [rcx], 0x5c
jne 0x18003012b
inc rcx
cmp rcx, rax
je 0x18003012b
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18003011a
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180030128
test dl, 0x10
jne 0x18003012b
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18003012b
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002e380
jmp 0x180030390
mov rcx, rbx
call fcn.1800316a0
jmp 0x180030388
cmp ecx, 0x5b
jne 0x1800301fa
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180030192
cmp byte [rcx], 0x5c
jne 0x18003018f
inc rcx
cmp rcx, rax
je 0x18003018f
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18003017e
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18003018c
test dl, 0x10
jne 0x18003018f
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18003018f
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002e380
mov rcx, rbx
call fcn.1800315a0
cmp dword [rbx + 0x7c], 0x5d
jne 0x1800303b2
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1800301ed
cmp byte [rcx], 0x5c
jne 0x1800301ea
inc rcx
cmp rcx, rax
je 0x1800301ea
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1800301d9
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1800301e7
test dl, 0x10
jne 0x1800301ea
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x1800301ea
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002e380
jmp 0x180030388
cmp ecx, 0x28
jne 0x1800302b8
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x180030244
cmp byte [rcx], 0x5c
jne 0x180030241
inc rcx
cmp rcx, rax
je 0x180030241
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180030230
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18003023e
test dl, 0x10
jne 0x180030241
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180030241
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002e380
mov rcx, rbx
call fcn.180031790
cmp dword [rbx + 0x7c], 0x29
movzx edi, al
jne 0x1800303bd
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1800302a2
cmp byte [rcx], 0x5c
jne 0x18003029f
inc rcx
cmp rcx, rax
je 0x18003029f
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18003028e
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x18003029c
test dl, 0x10
jne 0x18003029f
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x18003029f
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002e380
test dil, dil
je 0x180030390
jmp 0x180030388
cmp ecx, 0x5e
jne 0x180030316
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.180011f20
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x18003030c
cmp byte [rcx], 0x5c
jne 0x180030309
inc rcx
cmp rcx, rax
je 0x180030309
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1800302f8
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x180030306
test dl, 0x10
jne 0x180030309
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x180030309
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.18002e380
jmp 0x180030390
cmp ecx, 0x24
jne 0x180030333
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.180011f20
mov rcx, rbx
call fcn.18002ff10
jmp 0x180030390
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x1800303de
cmp ecx, 0x3f
je 0x1800303de
cmp ecx, 0x7b
je 0x1800303de
cmp ecx, 0x7d
jne 0x180030362
test dword [rbx + 0x80], 0x10000000
je 0x1800303c8
cmp ecx, 0x5d
jne 0x180030373
test dword [rbx + 0x80], 0x10000000
je 0x1800303d3
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.180013f10
mov rcx, rbx
call fcn.18002ff10
mov rcx, rbx
call fcn.1800318b0
cmp dword [rbx + 0x7c], 0xffffffff
mov al, 1
jne 0x18002ff80
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ecx, 5
call fcn.180095aa4
int3
mov ecx, 4
call fcn.180095aa4
int3
mov ecx, 5
call fcn.180095aa4
int3
mov ecx, 6
call fcn.180095aa4
int3
mov ecx, 4
call fcn.180095aa4
int3
mov ecx, 0xa
call fcn.180095aa4
int3