Function at 0x14005fe60
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 0x140060152
nop dword [rax]
mov ecx, dword [rbx + 0x7c]
cmp ecx, 0x7c
je 0x140060152
cmp ecx, 0x29
jne 0x14005feab
cmp dword [rbx + 0x1c], 0
jne 0x140060152
test dword [rbx + 0x80], 0x10000000
je 0x14006015d
cmp ecx, 0x2e
jne 0x14005ff0c
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.140060370
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x14005feff
cmp byte [rcx], 0x5c
jne 0x14005fefc
inc rcx
cmp rcx, rax
je 0x14005fefc
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14005feeb
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14005fef9
test dl, 0x10
jne 0x14005fefc
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14005fefc
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.14005f610
jmp 0x14006013e
cmp ecx, 0x5c
jne 0x14005ffca
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x14005ff56
cmp byte [rcx], 0x5c
jne 0x14005ff53
inc rcx
cmp rcx, rax
je 0x14005ff53
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14005ff42
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x14005ff50
test dl, 0x10
jne 0x14005ff53
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14005ff53
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.14005f610
mov eax, dword [rbx + 0x80]
and eax, 0x80
je 0x14005ff8c
cmp byte [rbx + 0x78], 0x62
jne 0x14005ff8c
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140060370
mov rcx, rbx
call fcn.14005fe10
jmp 0x140060146
test eax, eax
je 0x14005ffbd
cmp byte [rbx + 0x78], 0x42
jne 0x14005ffbd
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140060370
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
add rax, 0xc
call fcn.14005fe10
jmp 0x140060146
mov rcx, rbx
call fcn.140060b80
jmp 0x14006013e
cmp ecx, 0x5b
jne 0x140060037
mov rcx, rbx
call fcn.14005fe10
mov rcx, rbx
call fcn.140060a90
cmp dword [rbx + 0x7c], 0x5d
jne 0x140060169
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x14006002a
cmp byte [rcx], 0x5c
jne 0x140060027
inc rcx
cmp rcx, rax
je 0x140060027
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140060016
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140060024
test dl, 0x10
jne 0x140060027
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x140060027
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.14005f610
jmp 0x14006013e
cmp ecx, 0x28
jne 0x1400600af
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x14006007d
cmp byte [rcx], 0x5c
jne 0x14006007a
inc rcx
cmp rcx, rax
je 0x14006007a
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140060069
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140060077
test dl, 0x10
jne 0x14006007a
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14006007a
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.14005f610
mov rcx, rbx
call fcn.140060c70
mov edx, 0x29
mov rcx, rbx
movzx edi, al
lea r8d, [rdx - 0x24]
call fcn.140060a30
test dil, dil
je 0x140060146
jmp 0x14006013e
cmp ecx, 0x5e
jne 0x1400600cc
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.140060370
mov rcx, rbx
call fcn.14005fe10
jmp 0x140060146
cmp ecx, 0x24
jne 0x1400600e9
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.140060370
mov rcx, rbx
call fcn.14005fe10
jmp 0x140060146
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x14006018d
cmp ecx, 0x3f
je 0x14006018d
cmp ecx, 0x7b
je 0x14006018d
cmp ecx, 0x7d
jne 0x140060118
test dword [rbx + 0x80], 0x10000000
je 0x140060175
cmp ecx, 0x5d
jne 0x140060129
test dword [rbx + 0x80], 0x10000000
je 0x140060181
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.140060fa0
mov rcx, rbx
call fcn.14005fe10
mov rcx, rbx
call fcn.140060e10
cmp dword [rbx + 0x7c], 0xffffffff
mov al, 1
jne 0x14005fe80
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, 4
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