Function at 0x10013b20
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
je 0x10013d29
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x10013d29
cmp eax, 0x29
jne 0x10013b59
cmp dword [esi + 0x10], 0
jne 0x10013d29
test dword [esi + 0x50], 0x10000000
je 0x10013d2f
cmp eax, 0x2e
jne 0x10013bb0
push 5
lea ecx, [esi + 0x24]
call fcn.10013f40
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10013ba4
cmp byte [eax], 0x5c
jne 0x10013ba2
inc eax
cmp eax, ecx
je 0x10013ba2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10013b8f
mov dl, byte [eax]
cmp dl, 0x28
je 0x10013ba0
cmp dl, 0x29
je 0x10013ba0
test cl, 0x10
jne 0x10013ba2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10013ba0
cmp cl, 0x7d
jne 0x10013ba2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10012f90
jmp 0x10013d16
cmp eax, 0x5c
jne 0x10013c55
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10013bf5
cmp byte [eax], 0x5c
jne 0x10013bf3
inc eax
cmp eax, ecx
je 0x10013bf3
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10013be0
mov dl, byte [eax]
cmp dl, 0x28
je 0x10013bf1
cmp dl, 0x29
je 0x10013bf1
test cl, 0x10
jne 0x10013bf3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10013bf1
cmp cl, 0x7d
jne 0x10013bf3
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10012f90
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x10013c22
cmp byte [esi + 0x48], 0x62
jne 0x10013c22
push 4
lea ecx, [esi + 0x24]
call fcn.10013f40
mov ecx, esi
call fcn.10013ad0
jmp 0x10013d1d
test eax, eax
je 0x10013c49
cmp byte [esi + 0x48], 0x42
jne 0x10013c49
push 4
lea ecx, [esi + 0x24]
call fcn.10013f40
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.10013ad0
jmp 0x10013d1d
mov ecx, esi
call fcn.10014430
jmp 0x10013d16
cmp eax, 0x5b
jne 0x10013c78
mov ecx, esi
call fcn.10013ad0
mov ecx, esi
call fcn.10014380
push 4
push 0x5d
mov ecx, esi
call fcn.10014320
jmp 0x10013d16
cmp eax, 0x28
jne 0x10013ca2
mov ecx, esi
call fcn.10013ad0
mov ecx, esi
call fcn.100144f0
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.10014320
test bl, bl
je 0x10013d1d
jmp 0x10013d16
cmp eax, 0x5e
jne 0x10013cba
push 2
lea ecx, [esi + 0x24]
call fcn.10013f40
mov ecx, esi
call fcn.10013ad0
jmp 0x10013d1d
cmp eax, 0x24
jne 0x10013cd2
push 3
lea ecx, [esi + 0x24]
call fcn.10013f40
mov ecx, esi
call fcn.10013ad0
jmp 0x10013d1d
cmp eax, 0x2a
je 0x10013d47
cmp eax, 0x2b
je 0x10013d47
cmp eax, 0x3f
je 0x10013d47
cmp eax, 0x7b
je 0x10013d47
cmp eax, 0x7d
jne 0x10013cf4
test dword [esi + 0x50], 0x10000000
je 0x10013d37
cmp eax, 0x5d
jne 0x10013d02
test dword [esi + 0x50], 0x10000000
je 0x10013d3f
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10014720
mov ecx, esi
call fcn.10013ad0
mov ecx, esi
call fcn.100145f0
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x10013b31
pop esi
mov al, cl
pop ebx
pop ecx
ret
push 5
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 6
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 4
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 0xa
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3