Function at 0x180030050
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 0x1800302c2
nop dword [rax + rax]
cmp ecx, 0x7c
je 0x1800302c2
cmp ecx, 0x29
jne 0x180030098
cmp dword [rbx + 0x1c], 0
jne 0x1800302c2
test dword [rbx + 0x80], 0x10000000
je 0x1800302cd
cmp ecx, 0x2e
jne 0x1800300fd
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.180033d80
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x1800300f0
cmp byte [rax], 0x5c
jne 0x1800300ed
inc rax
cmp rax, rcx
je 0x1800300ed
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1800300da
movzx ecx, byte [rax]
sub cl, 0x28
cmp cl, 1
jbe 0x1800300ea
test dl, 0x10
jne 0x1800300ed
movzx ecx, byte [rax]
sub cl, 0x7b
test cl, 0xfd
jne 0x1800300ed
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180034f60
jmp 0x1800302ac
cmp ecx, 0x5c
jne 0x1800301bf
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18003014b
cmp byte [rax], 0x5c
jne 0x180030148
inc rax
cmp rax, rcx
je 0x180030148
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x180030135
movzx ecx, byte [rax]
sub cl, 0x28
cmp cl, 1
jbe 0x180030145
test dl, 0x10
jne 0x180030148
movzx ecx, byte [rax]
sub cl, 0x7b
test cl, 0xfd
jne 0x180030148
mov qword [rbx], rax
inc qword [rbx]
mov rcx, rbx
call fcn.180034f60
mov eax, dword [rbx + 0x80]
and eax, 0x80
je 0x180030181
cmp byte [rbx + 0x78], 0x62
jne 0x180030181
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.180033d80
mov rcx, rbx
call fcn.180033e10
jmp 0x1800302b4
test eax, eax
je 0x1800301b2
cmp byte [rbx + 0x78], 0x42
jne 0x1800301b2
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.180033d80
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
add rax, 0xc
call fcn.180033e10
jmp 0x1800302b4
mov rcx, rbx
call fcn.180030390
jmp 0x1800302ac
cmp ecx, 0x5b
jne 0x1800301ea
mov rcx, rbx
call fcn.180033e10
mov rcx, rbx
call fcn.180030ab0
mov edx, 0x5d
mov rcx, rbx
lea r8d, [rdx - 0x59]
call fcn.180032b20
jmp 0x1800302ac
cmp ecx, 0x28
jne 0x180030221
mov rcx, rbx
call fcn.180033e10
mov rcx, rbx
call fcn.180035380
mov edx, 0x29
mov rcx, rbx
movzx edi, al
lea r8d, [rdx - 0x24]
call fcn.180032b20
test dil, dil
je 0x1800302b4
jmp 0x1800302ac
cmp ecx, 0x5e
jne 0x18003023e
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.180033d80
mov rcx, rbx
call fcn.180033e10
jmp 0x1800302b4
cmp ecx, 0x24
jne 0x18003025b
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.180033d80
mov rcx, rbx
call fcn.180033e10
jmp 0x1800302b4
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x1800302f1
cmp ecx, 0x3f
je 0x1800302f1
cmp ecx, 0x7b
je 0x1800302f1
cmp ecx, 0x7d
jne 0x180030286
test dword [rbx + 0x80], 0x10000000
je 0x1800302d9
cmp ecx, 0x5d
jne 0x180030297
test dword [rbx + 0x80], 0x10000000
je 0x1800302e5
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.18002f550
mov rcx, rbx
call fcn.180033e10
mov rcx, rbx
call fcn.180033f20
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
jne 0x180030070
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