Function at 0x4ea340
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x4ea6e6
cmp eax, 0x7c
je 0x4ea6e6
cmp eax, 0x29
jne 0x4ea378
cmp dword [esi + 0x10], 0
jne 0x4ea6e6
test dword [esi + 0x50], 0x10000000
je 0x4ea6ec
cmp eax, 0x2e
jne 0x4ea42b
push 0x14
call dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4ea3b6
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 0x4ea3b8
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 0x4ea3d4
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 0x4ea41f
cmp word [eax], 0x5c
jne 0x4ea41c
add eax, 2
cmp eax, ecx
je 0x4ea41c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4ea408
movzx edx, word [eax]
cmp edx, 0x28
je 0x4ea41a
cmp edx, 0x29
je 0x4ea41a
test cl, 0x10
jne 0x4ea41c
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4ea41a
cmp ecx, 0x7d
jne 0x4ea41c
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004e8b70
jmp 0x4ea6d1
cmp eax, 0x5c
jne 0x4ea518
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4ea476
cmp word [eax], 0x5c
jne 0x4ea473
add eax, 2
cmp eax, ecx
je 0x4ea473
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4ea45f
movzx edx, word [eax]
cmp edx, 0x28
je 0x4ea471
cmp edx, 0x29
je 0x4ea471
test cl, 0x10
jne 0x4ea473
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4ea471
cmp ecx, 0x7d
jne 0x4ea473
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004e8b70
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x4ea4c4
cmp word [esi + 0x48], 0x62
jne 0x4ea4c4
push 4
lea ecx, [esi + 0x24]
call fcn.0042cb20
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4ea4b8
cmp word [edi], 0x5c
jne 0x4ea4b5
mov ecx, esi
call fcn.0042c530
test al, al
je 0x4ea4b5
lea eax, [edi + 2]
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004e8b70
jmp 0x4ea6d8
test eax, eax
je 0x4ea50c
cmp word [esi + 0x48], 0x42
jne 0x4ea50c
push 4
lea ecx, [esi + 0x24]
call fcn.0042cb20
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4ea500
cmp word [edi], 0x5c
jne 0x4ea4fd
mov ecx, esi
call fcn.0042c530
test al, al
je 0x4ea4fd
lea eax, [edi + 2]
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004e8b70
jmp 0x4ea6d8
mov ecx, esi
call fcn.004eb2c0
jmp 0x4ea6d1
cmp eax, 0x5b
jne 0x4ea5a7
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4ea563
cmp word [eax], 0x5c
jne 0x4ea560
add eax, 2
cmp eax, ecx
je 0x4ea560
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4ea54c
movzx edx, word [eax]
cmp edx, 0x28
je 0x4ea55e
cmp edx, 0x29
je 0x4ea55e
test cl, 0x10
jne 0x4ea560
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4ea55e
cmp ecx, 0x7d
jne 0x4ea560
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004e8b70
mov ecx, esi
call fcn.004eb220
cmp dword [esi + 0x4c], 0x5d
jne 0x4ea6f4
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4ea59b
cmp word [edi], 0x5c
jne 0x4ea598
mov ecx, esi
call fcn.0042c530
test al, al
je 0x4ea598
lea eax, [edi + 2]
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004e8b70
jmp 0x4ea6d1
cmp eax, 0x28
jne 0x4ea61a
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4ea5cc
cmp word [edi], 0x5c
jne 0x4ea5c9
mov ecx, esi
call fcn.0042c530
test al, al
je 0x4ea5c9
lea eax, [edi + 2]
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004e8b70
mov ecx, esi
call fcn.004eb390
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x4ea6ec
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4ea606
cmp word [edi], 0x5c
jne 0x4ea603
mov ecx, esi
call fcn.0042c530
test al, al
je 0x4ea603
lea eax, [edi + 2]
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004e8b70
test bl, bl
je 0x4ea6d8
jmp 0x4ea6d1
cmp eax, 0x5e
jne 0x4ea655
push 2
lea ecx, [esi + 0x24]
call fcn.0042cb20
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4ea649
cmp word [edi], 0x5c
jne 0x4ea646
mov ecx, esi
call fcn.0042c530
test al, al
je 0x4ea646
lea eax, [edi + 2]
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004e8b70
jmp 0x4ea6d8
cmp eax, 0x24
jne 0x4ea68d
push 3
lea ecx, [esi + 0x24]
call fcn.0042cb20
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4ea684
cmp word [edi], 0x5c
jne 0x4ea681
mov ecx, esi
call fcn.0042c530
test al, al
je 0x4ea681
lea eax, [edi + 2]
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004e8b70
jmp 0x4ea6d8
cmp eax, 0x2a
je 0x4ea704
cmp eax, 0x2b
je 0x4ea704
cmp eax, 0x3f
je 0x4ea704
cmp eax, 0x7b
je 0x4ea704
cmp eax, 0x7d
jne 0x4ea6af
test dword [esi + 0x50], 0x10000000
je 0x4ea6fc
cmp eax, 0x5d
jne 0x4ea6bd
test dword [esi + 0x50], 0x10000000
je 0x4ea6f4
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0042df00
mov ecx, esi
call fcn.004ea310
mov ecx, esi
call fcn.004eb490
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x4ea353
pop edi
pop esi
mov al, cl
pop ebx
ret
push 5
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 4
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 6
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 0xa
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3