Function at 0x4dca10
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 0x4dcdb6
cmp eax, 0x7c
je 0x4dcdb6
cmp eax, 0x29
jne 0x4dca48
cmp dword [esi + 0x10], 0
jne 0x4dcdb6
test dword [esi + 0x50], 0x10000000
je 0x4dcdbc
cmp eax, 0x2e
jne 0x4dcafb
push 0x14
call dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4dca86
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 0x4dca88
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 0x4dcaa4
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 0x4dcaef
cmp word [eax], 0x5c
jne 0x4dcaec
add eax, 2
cmp eax, ecx
je 0x4dcaec
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4dcad8
movzx edx, word [eax]
cmp edx, 0x28
je 0x4dcaea
cmp edx, 0x29
je 0x4dcaea
test cl, 0x10
jne 0x4dcaec
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4dcaea
cmp ecx, 0x7d
jne 0x4dcaec
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004db300
jmp 0x4dcda1
cmp eax, 0x5c
jne 0x4dcbe8
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4dcb46
cmp word [eax], 0x5c
jne 0x4dcb43
add eax, 2
cmp eax, ecx
je 0x4dcb43
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4dcb2f
movzx edx, word [eax]
cmp edx, 0x28
je 0x4dcb41
cmp edx, 0x29
je 0x4dcb41
test cl, 0x10
jne 0x4dcb43
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4dcb41
cmp ecx, 0x7d
jne 0x4dcb43
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004db300
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x4dcb94
cmp word [esi + 0x48], 0x62
jne 0x4dcb94
push 4
lea ecx, [esi + 0x24]
call fcn.00428d00
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4dcb88
cmp word [edi], 0x5c
jne 0x4dcb85
mov ecx, esi
call fcn.00428710
test al, al
je 0x4dcb85
lea eax, [edi + 2]
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004db300
jmp 0x4dcda8
test eax, eax
je 0x4dcbdc
cmp word [esi + 0x48], 0x42
jne 0x4dcbdc
push 4
lea ecx, [esi + 0x24]
call fcn.00428d00
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4dcbd0
cmp word [edi], 0x5c
jne 0x4dcbcd
mov ecx, esi
call fcn.00428710
test al, al
je 0x4dcbcd
lea eax, [edi + 2]
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004db300
jmp 0x4dcda8
mov ecx, esi
call fcn.004dd990
jmp 0x4dcda1
cmp eax, 0x5b
jne 0x4dcc77
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4dcc33
cmp word [eax], 0x5c
jne 0x4dcc30
add eax, 2
cmp eax, ecx
je 0x4dcc30
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4dcc1c
movzx edx, word [eax]
cmp edx, 0x28
je 0x4dcc2e
cmp edx, 0x29
je 0x4dcc2e
test cl, 0x10
jne 0x4dcc30
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4dcc2e
cmp ecx, 0x7d
jne 0x4dcc30
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004db300
mov ecx, esi
call fcn.004dd8f0
cmp dword [esi + 0x4c], 0x5d
jne 0x4dcdc4
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4dcc6b
cmp word [edi], 0x5c
jne 0x4dcc68
mov ecx, esi
call fcn.00428710
test al, al
je 0x4dcc68
lea eax, [edi + 2]
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004db300
jmp 0x4dcda1
cmp eax, 0x28
jne 0x4dccea
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4dcc9c
cmp word [edi], 0x5c
jne 0x4dcc99
mov ecx, esi
call fcn.00428710
test al, al
je 0x4dcc99
lea eax, [edi + 2]
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004db300
mov ecx, esi
call fcn.004dda60
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x4dcdbc
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4dccd6
cmp word [edi], 0x5c
jne 0x4dccd3
mov ecx, esi
call fcn.00428710
test al, al
je 0x4dccd3
lea eax, [edi + 2]
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004db300
test bl, bl
je 0x4dcda8
jmp 0x4dcda1
cmp eax, 0x5e
jne 0x4dcd25
push 2
lea ecx, [esi + 0x24]
call fcn.00428d00
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4dcd19
cmp word [edi], 0x5c
jne 0x4dcd16
mov ecx, esi
call fcn.00428710
test al, al
je 0x4dcd16
lea eax, [edi + 2]
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004db300
jmp 0x4dcda8
cmp eax, 0x24
jne 0x4dcd5d
push 3
lea ecx, [esi + 0x24]
call fcn.00428d00
mov edi, dword [esi]
cmp edi, dword [esi + 8]
je 0x4dcd54
cmp word [edi], 0x5c
jne 0x4dcd51
mov ecx, esi
call fcn.00428710
test al, al
je 0x4dcd51
lea eax, [edi + 2]
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.004db300
jmp 0x4dcda8
cmp eax, 0x2a
je 0x4dcdd4
cmp eax, 0x2b
je 0x4dcdd4
cmp eax, 0x3f
je 0x4dcdd4
cmp eax, 0x7b
je 0x4dcdd4
cmp eax, 0x7d
jne 0x4dcd7f
test dword [esi + 0x50], 0x10000000
je 0x4dcdcc
cmp eax, 0x5d
jne 0x4dcd8d
test dword [esi + 0x50], 0x10000000
je 0x4dcdc4
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0042a290
mov ecx, esi
call fcn.004dc9e0
mov ecx, esi
call fcn.004ddb60
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x4dca23
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