Function at 0x1004f6e0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
push edi
cmp eax, 0xffffffff
je 0x1004fa6b
mov edi, dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
lea esp, [esp]
cmp eax, 0x7c
je 0x1004fa6b
cmp eax, 0x29
jne 0x1004f725
cmp dword [esi + 0x10], 0
jne 0x1004fa6b
test dword [esi + 0x50], 0x10000000
je 0x1004fa71
cmp eax, 0x2e
jne 0x1004f7d4
push 0x14
call edi
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x1004f75f
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x1004f761
xor ecx, ecx
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1004f77d
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1004f7c8
cmp word [eax], 0x5c
jne 0x1004f7c5
add eax, 2
cmp eax, ecx
je 0x1004f7c5
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1004f7b1
movzx edx, word [eax]
cmp edx, 0x28
je 0x1004f7c3
cmp edx, 0x29
je 0x1004f7c3
test cl, 0x10
jne 0x1004f7c5
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1004f7c3
cmp ecx, 0x7d
jne 0x1004f7c5
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1004f2b0
jmp 0x1004fa56
cmp eax, 0x5c
jne 0x1004f8c3
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1004f81f
cmp word [eax], 0x5c
jne 0x1004f81c
add eax, 2
cmp eax, ecx
je 0x1004f81c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1004f808
movzx edx, word [eax]
cmp edx, 0x28
je 0x1004f81a
cmp edx, 0x29
je 0x1004f81a
test cl, 0x10
jne 0x1004f81c
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1004f81a
cmp ecx, 0x7d
jne 0x1004f81c
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1004f2b0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x1004f88f
cmp word [esi + 0x48], 0x62
jne 0x1004f88f
lea ecx, [esi + 0x24]
push 4
call fcn.10027bd0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1004f883
cmp word [eax], 0x5c
jne 0x1004f880
add eax, 2
cmp eax, ecx
je 0x1004f880
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1004f86c
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1004f87e
cmp ecx, 0x29
je 0x1004f87e
test dl, 0x10
jne 0x1004f880
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1004f87e
cmp ecx, 0x7d
jne 0x1004f880
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1004f2b0
jmp 0x1004fa5d
test eax, eax
je 0x1004f8b7
cmp word [esi + 0x48], 0x42
jne 0x1004f8b7
lea ecx, [esi + 0x24]
push 4
call fcn.10027bd0
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.1004f690
jmp 0x1004fa5d
mov ecx, esi
call fcn.1004fb10
jmp 0x1004fa56
cmp eax, 0x5b
jne 0x1004f974
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1004f90e
cmp word [eax], 0x5c
jne 0x1004f90b
add eax, 2
cmp eax, ecx
je 0x1004f90b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1004f8f7
movzx edx, word [eax]
cmp edx, 0x28
je 0x1004f909
cmp edx, 0x29
je 0x1004f909
test cl, 0x10
jne 0x1004f90b
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1004f909
cmp ecx, 0x7d
jne 0x1004f90b
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1004f2b0
mov ecx, esi
call fcn.1004faa0
cmp dword [esi + 0x4c], 0x5d
jne 0x1004fa79
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1004f968
cmp word [eax], 0x5c
jne 0x1004f965
add eax, 2
cmp eax, ecx
je 0x1004f965
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1004f951
movzx edx, word [eax]
cmp edx, 0x28
je 0x1004f963
cmp edx, 0x29
je 0x1004f963
test cl, 0x10
jne 0x1004f965
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1004f963
cmp ecx, 0x7d
jne 0x1004f965
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1004f2b0
jmp 0x1004fa56
cmp eax, 0x28
jne 0x1004f9e2
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1004f9bb
cmp word [eax], 0x5c
jne 0x1004f9b8
add eax, 2
cmp eax, ecx
je 0x1004f9b8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1004f9a4
movzx edx, word [eax]
cmp edx, 0x28
je 0x1004f9b6
cmp edx, 0x29
je 0x1004f9b6
test cl, 0x10
jne 0x1004f9b8
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1004f9b6
cmp ecx, 0x7d
jne 0x1004f9b8
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1004f2b0
mov ecx, esi
call fcn.1004fbf0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1004fa71
mov ecx, esi
call fcn.1004f690
test bl, bl
je 0x1004fa5d
jmp 0x1004fa56
cmp eax, 0x5e
jne 0x1004f9fa
lea ecx, [esi + 0x24]
push 2
call fcn.10027bd0
mov ecx, esi
call fcn.1004f690
jmp 0x1004fa5d
cmp eax, 0x24
jne 0x1004fa12
lea ecx, [esi + 0x24]
push 3
call fcn.10027bd0
mov ecx, esi
call fcn.1004f690
jmp 0x1004fa5d
cmp eax, 0x2a
je 0x1004fa89
cmp eax, 0x2b
je 0x1004fa89
cmp eax, 0x3f
je 0x1004fa89
cmp eax, 0x7b
je 0x1004fa89
cmp eax, 0x7d
jne 0x1004fa34
test dword [esi + 0x50], 0x10000000
je 0x1004fa81
cmp eax, 0x5d
jne 0x1004fa42
test dword [esi + 0x50], 0x10000000
je 0x1004fa79
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10028790
mov ecx, esi
call fcn.1004f690
mov ecx, esi
call fcn.1004fca0
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x1004f700
pop edi
pop esi
mov al, cl
pop ebx
ret
push 5
call dword [sym.imp.MSVCP110.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 4
call dword [sym.imp.MSVCP110.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 6
call dword [sym.imp.MSVCP110.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 0xa
call dword [sym.imp.MSVCP110.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3