Function at 0x10027660
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
push edi
je 0x100279ec
mov edi, dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
jmp 0x10027680
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x100279ec
cmp eax, 0x29
jne 0x100276a8
cmp dword [esi + 0x10], 0
jne 0x100279ec
test dword [esi + 0x50], 0x10000000
je 0x100279f2
cmp eax, 0x2e
jne 0x10027757
push 0x14
call edi
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x100276e2
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 0x100276e4
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 0x10027700
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 0x1002774b
cmp word [eax], 0x5c
jne 0x10027748
add eax, 2
cmp eax, ecx
je 0x10027748
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10027734
movzx edx, word [eax]
cmp edx, 0x28
je 0x10027746
cmp edx, 0x29
je 0x10027746
test cl, 0x10
jne 0x10027748
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x10027746
cmp ecx, 0x7d
jne 0x10027748
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10025c20
jmp 0x100279d9
cmp eax, 0x5c
jne 0x10027846
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100277a2
cmp word [eax], 0x5c
jne 0x1002779f
add eax, 2
cmp eax, ecx
je 0x1002779f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1002778b
movzx edx, word [eax]
cmp edx, 0x28
je 0x1002779d
cmp edx, 0x29
je 0x1002779d
test cl, 0x10
jne 0x1002779f
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1002779d
cmp ecx, 0x7d
jne 0x1002779f
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10025c20
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x10027812
cmp word [esi + 0x48], 0x62
jne 0x10027812
lea ecx, [esi + 0x24]
push 4
call fcn.10027bd0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10027806
cmp word [eax], 0x5c
jne 0x10027803
add eax, 2
cmp eax, ecx
je 0x10027803
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100277ef
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x10027801
cmp ecx, 0x29
je 0x10027801
test dl, 0x10
jne 0x10027803
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x10027801
cmp ecx, 0x7d
jne 0x10027803
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10025c20
jmp 0x100279e0
test eax, eax
je 0x1002783a
cmp word [esi + 0x48], 0x42
jne 0x1002783a
lea ecx, [esi + 0x24]
push 4
call fcn.10027bd0
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.10027610
jmp 0x100279e0
mov ecx, esi
call fcn.100284d0
jmp 0x100279d9
cmp eax, 0x5b
jne 0x100278f7
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x10027891
cmp word [eax], 0x5c
jne 0x1002788e
add eax, 2
cmp eax, ecx
je 0x1002788e
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1002787a
movzx edx, word [eax]
cmp edx, 0x28
je 0x1002788c
cmp edx, 0x29
je 0x1002788c
test cl, 0x10
jne 0x1002788e
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x1002788c
cmp ecx, 0x7d
jne 0x1002788e
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10025c20
mov ecx, esi
call fcn.10028460
cmp dword [esi + 0x4c], 0x5d
jne 0x100279fa
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x100278eb
cmp word [eax], 0x5c
jne 0x100278e8
add eax, 2
cmp eax, ecx
je 0x100278e8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100278d4
movzx edx, word [eax]
cmp edx, 0x28
je 0x100278e6
cmp edx, 0x29
je 0x100278e6
test cl, 0x10
jne 0x100278e8
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x100278e6
cmp ecx, 0x7d
jne 0x100278e8
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10025c20
jmp 0x100279d9
cmp eax, 0x28
jne 0x10027965
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1002793e
cmp word [eax], 0x5c
jne 0x1002793b
add eax, 2
cmp eax, ecx
je 0x1002793b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10027927
movzx edx, word [eax]
cmp edx, 0x28
je 0x10027939
cmp edx, 0x29
je 0x10027939
test cl, 0x10
jne 0x1002793b
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x10027939
cmp ecx, 0x7d
jne 0x1002793b
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.10025c20
mov ecx, esi
call fcn.100285b0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x100279f2
mov ecx, esi
call fcn.10027610
test bl, bl
je 0x100279e0
jmp 0x100279d9
cmp eax, 0x5e
jne 0x1002797d
lea ecx, [esi + 0x24]
push 2
call fcn.10027bd0
mov ecx, esi
call fcn.10027610
jmp 0x100279e0
cmp eax, 0x24
jne 0x10027995
lea ecx, [esi + 0x24]
push 3
call fcn.10027bd0
mov ecx, esi
call fcn.10027610
jmp 0x100279e0
cmp eax, 0x2a
je 0x10027a0a
cmp eax, 0x2b
je 0x10027a0a
cmp eax, 0x3f
je 0x10027a0a
cmp eax, 0x7b
je 0x10027a0a
cmp eax, 0x7d
jne 0x100279b7
test dword [esi + 0x50], 0x10000000
je 0x10027a02
cmp eax, 0x5d
jne 0x100279c5
test dword [esi + 0x50], 0x10000000
je 0x100279fa
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10028790
mov ecx, esi
call fcn.10027610
mov ecx, esi
call fcn.10028660
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x10027680
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