Function at 0x140052900
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 0x140052b67
nop dword [rax]
mov ecx, dword [rbx + 0x7c]
cmp ecx, 0x7c
je 0x140052b67
cmp ecx, 0x29
jne 0x14005294b
cmp dword [rbx + 0x1c], 0
jne 0x140052b67
test dword [rbx + 0x80], 0x10000000
je 0x140052b72
cmp ecx, 0x2e
jne 0x1400529ac
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.140052d80
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x14005299f
cmp byte [rcx], 0x5c
jne 0x14005299c
inc rcx
cmp rcx, rax
je 0x14005299c
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x14005298b
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x140052999
test dl, 0x10
jne 0x14005299c
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x14005299c
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.14004e680
jmp 0x140052b53
cmp ecx, 0x5c
jne 0x140052a6a
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1400529f6
cmp byte [rcx], 0x5c
jne 0x1400529f3
inc rcx
cmp rcx, rax
je 0x1400529f3
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1400529e2
movzx eax, byte [rcx]
sub al, 0x28
cmp al, 1
jbe 0x1400529f0
test dl, 0x10
jne 0x1400529f3
movzx eax, byte [rcx]
sub al, 0x7b
test al, 0xfd
jne 0x1400529f3
mov qword [rbx], rcx
inc qword [rbx]
mov rcx, rbx
call fcn.14004e680
mov eax, dword [rbx + 0x80]
and eax, 0x80
je 0x140052a2c
cmp byte [rbx + 0x78], 0x62
jne 0x140052a2c
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140052d80
mov rcx, rbx
call fcn.1400528b0
jmp 0x140052b5b
test eax, eax
je 0x140052a5d
cmp byte [rbx + 0x78], 0x42
jne 0x140052a5d
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140052d80
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
add rax, 0xc
call fcn.1400528b0
jmp 0x140052b5b
mov rcx, rbx
call fcn.140055500
jmp 0x140052b53
cmp ecx, 0x5b
jne 0x140052a95
mov rcx, rbx
call fcn.1400528b0
mov rcx, rbx
call fcn.140055410
mov edx, 0x5d
mov rcx, rbx
lea r8d, [rdx - 0x59]
call fcn.1400553b0
jmp 0x140052b53
cmp ecx, 0x28
jne 0x140052acc
mov rcx, rbx
call fcn.1400528b0
mov rcx, rbx
call fcn.1400555f0
mov edx, 0x29
mov rcx, rbx
movzx edi, al
lea r8d, [rdx - 0x24]
call fcn.1400553b0
test dil, dil
je 0x140052b5b
jmp 0x140052b53
cmp ecx, 0x5e
jne 0x140052ae9
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.140052d80
mov rcx, rbx
call fcn.1400528b0
jmp 0x140052b5b
cmp ecx, 0x24
jne 0x140052b06
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.140052d80
mov rcx, rbx
call fcn.1400528b0
jmp 0x140052b5b
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x140052b96
cmp ecx, 0x3f
je 0x140052b96
cmp ecx, 0x7b
je 0x140052b96
cmp ecx, 0x7d
jne 0x140052b2d
test dword [rbx + 0x80], 0x10000000
je 0x140052b7e
cmp ecx, 0x5d
jne 0x140052b3e
test dword [rbx + 0x80], 0x10000000
je 0x140052b8a
movzx edx, byte [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.140055890
mov rcx, rbx
call fcn.1400528b0
mov rcx, rbx
call fcn.140055700
cmp dword [rbx + 0x7c], 0xffffffff
mov al, 1
jne 0x140052920
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