Function at 0x18002f830
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x18002faa2
nop dword [rax + rax]
cmp ecx, 0x7c
je 0x18002faa2
cmp ecx, 0x29
jne 0x18002f878
cmp dword [rbx + 0x1c], 0
jne 0x18002faa2
test dword [rbx + 0x80], 0x10000000
je 0x18002faad
cmp ecx, 0x2e
jne 0x18002f8dd
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.180033560
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18002f8d0
cmp byte [rax], 0x5c
jne 0x18002f8cd
inc rax
cmp rax, rcx
je 0x18002f8cd
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18002f8ba
movzx ecx, byte [rax]
sub cl, 0x28
cmp cl, 1
jbe 0x18002f8ca
test dl, 0x10
jne 0x18002f8cd
movzx ecx, byte [rax]
sub cl, 0x7b
test cl, 0xfd
jne 0x18002f8cd
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180034840
jmp 0x18002fa8c
cmp ecx, 0x5c
jne 0x18002f99f
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18002f92b
cmp byte [rax], 0x5c
jne 0x18002f928
inc rax
cmp rax, rcx
je 0x18002f928
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18002f915
movzx ecx, byte [rax]
sub cl, 0x28
cmp cl, 1
jbe 0x18002f925
test dl, 0x10
jne 0x18002f928
movzx ecx, byte [rax]
sub cl, 0x7b
test cl, 0xfd
jne 0x18002f928
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180034840
mov eax, dword [rbx + 0x80]
and eax, 0x80
je 0x18002f961
cmp byte [rbx + 0x78], 0x62
jne 0x18002f961
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.180033560
mov rcx, rbx
call fcn.1800335f0
jmp 0x18002fa94
test eax, eax
je 0x18002f992
cmp byte [rbx + 0x78], 0x42
jne 0x18002f992
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.180033560
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
add rax, 0xc
call fcn.1800335f0
jmp 0x18002fa94
mov rcx, rbx
call fcn.18002fb70
jmp 0x18002fa8c
cmp ecx, 0x5b
jne 0x18002f9ca
mov rcx, rbx
call fcn.1800335f0
mov rcx, rbx
call fcn.180030290
mov edx, 0x5d
mov rcx, rbx
lea r8d, [rdx - 0x59]
call fcn.180032300
jmp 0x18002fa8c
cmp ecx, 0x28
jne 0x18002fa01
mov rcx, rbx
call fcn.1800335f0
mov rcx, rbx
call fcn.180034c60
mov edx, 0x29
mov rcx, rbx
movzx edi, al
lea r8d, [rdx - 0x24]
call fcn.180032300
test dil, dil
je 0x18002fa94
jmp 0x18002fa8c
cmp ecx, 0x5e
jne 0x18002fa1e
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.180033560
mov rcx, rbx
call fcn.1800335f0
jmp 0x18002fa94
cmp ecx, 0x24
jne 0x18002fa3b
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.180033560
mov rcx, rbx
call fcn.1800335f0
jmp 0x18002fa94
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x18002fad1
cmp ecx, 0x3f
je 0x18002fad1
cmp ecx, 0x7b
je 0x18002fad1
cmp ecx, 0x7d
jne 0x18002fa66
test dword [rbx + 0x80], 0x10000000
je 0x18002fab9
cmp ecx, 0x5d
jne 0x18002fa77
test dword [rbx + 0x80], 0x10000000
je 0x18002fac5
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.18002ed30
mov rcx, rbx
call fcn.1800335f0
mov rcx, rbx
call fcn.180033700
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x18002f850
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3
mov ecx, 4
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3
mov ecx, 0xa
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3