Function at 0x1007a580
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
push edi
je 0x1007a90c
mov edi, dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
jmp 0x1007a5a0
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x1007a90c
cmp eax, 0x29
jne 0x1007a5c8
cmp dword [esi + 0x10], 0
jne 0x1007a90c
test dword [esi + 0x50], 0x10000000
je 0x1007a912
cmp eax, 0x2e
jne 0x1007a677
push 0x14
call edi
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x1007a602
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 0x1007a604
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 0x1007a620
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 0x1007a66b
cmp word [eax], 0x5c
jne 0x1007a668
add eax, 2
cmp eax, ecx
je 0x1007a668
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1007a654
movzx edx, word [eax]
cmp edx, 0x28
je 0x1007a666
cmp edx, 0x29
je 0x1007a666
test cl, 0x10
jne 0x1007a668
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1007a666
cmp ecx, 0x7d
jne 0x1007a668
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1007a050
jmp 0x1007a8f9
cmp eax, 0x5c
jne 0x1007a766
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1007a6c2
cmp word [eax], 0x5c
jne 0x1007a6bf
add eax, 2
cmp eax, ecx
je 0x1007a6bf
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1007a6ab
movzx edx, word [eax]
cmp edx, 0x28
je 0x1007a6bd
cmp edx, 0x29
je 0x1007a6bd
test cl, 0x10
jne 0x1007a6bf
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1007a6bd
cmp ecx, 0x7d
jne 0x1007a6bf
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1007a050
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x1007a732
cmp word [esi + 0x48], 0x62
jne 0x1007a732
lea ecx, [esi + 0x24]
push 4
call fcn.1007aaf0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1007a726
cmp word [eax], 0x5c
jne 0x1007a723
add eax, 2
cmp eax, ecx
je 0x1007a723
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1007a70f
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x1007a721
cmp ecx, 0x29
je 0x1007a721
test dl, 0x10
jne 0x1007a723
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1007a721
cmp ecx, 0x7d
jne 0x1007a723
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1007a050
jmp 0x1007a900
test eax, eax
je 0x1007a75a
cmp word [esi + 0x48], 0x42
jne 0x1007a75a
lea ecx, [esi + 0x24]
push 4
call fcn.1007aaf0
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.1007a530
jmp 0x1007a900
mov ecx, esi
call fcn.1007b160
jmp 0x1007a8f9
cmp eax, 0x5b
jne 0x1007a817
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1007a7b1
cmp word [eax], 0x5c
jne 0x1007a7ae
add eax, 2
cmp eax, ecx
je 0x1007a7ae
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1007a79a
movzx edx, word [eax]
cmp edx, 0x28
je 0x1007a7ac
cmp edx, 0x29
je 0x1007a7ac
test cl, 0x10
jne 0x1007a7ae
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1007a7ac
cmp ecx, 0x7d
jne 0x1007a7ae
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1007a050
mov ecx, esi
call fcn.1007b0f0
cmp dword [esi + 0x4c], 0x5d
jne 0x1007a91a
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1007a80b
cmp word [eax], 0x5c
jne 0x1007a808
add eax, 2
cmp eax, ecx
je 0x1007a808
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1007a7f4
movzx edx, word [eax]
cmp edx, 0x28
je 0x1007a806
cmp edx, 0x29
je 0x1007a806
test cl, 0x10
jne 0x1007a808
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1007a806
cmp ecx, 0x7d
jne 0x1007a808
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1007a050
jmp 0x1007a8f9
cmp eax, 0x28
jne 0x1007a885
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1007a85e
cmp word [eax], 0x5c
jne 0x1007a85b
add eax, 2
cmp eax, ecx
je 0x1007a85b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1007a847
movzx edx, word [eax]
cmp edx, 0x28
je 0x1007a859
cmp edx, 0x29
je 0x1007a859
test cl, 0x10
jne 0x1007a85b
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1007a859
cmp ecx, 0x7d
jne 0x1007a85b
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.1007a050
mov ecx, esi
call fcn.1007b240
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1007a912
mov ecx, esi
call fcn.1007a530
test bl, bl
je 0x1007a900
jmp 0x1007a8f9
cmp eax, 0x5e
jne 0x1007a89d
lea ecx, [esi + 0x24]
push 2
call fcn.1007aaf0
mov ecx, esi
call fcn.1007a530
jmp 0x1007a900
cmp eax, 0x24
jne 0x1007a8b5
lea ecx, [esi + 0x24]
push 3
call fcn.1007aaf0
mov ecx, esi
call fcn.1007a530
jmp 0x1007a900
cmp eax, 0x2a
je 0x1007a92a
cmp eax, 0x2b
je 0x1007a92a
cmp eax, 0x3f
je 0x1007a92a
cmp eax, 0x7b
je 0x1007a92a
cmp eax, 0x7d
jne 0x1007a8d7
test dword [esi + 0x50], 0x10000000
je 0x1007a922
cmp eax, 0x5d
jne 0x1007a8e5
test dword [esi + 0x50], 0x10000000
je 0x1007a91a
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1007b420
mov ecx, esi
call fcn.1007a530
mov ecx, esi
call fcn.1007b2f0
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x1007a5a0
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