Function at 0x4a13f0
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 0x4a177b
mov edi, dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
lea esp, [esp]
cmp eax, 0x7c
je 0x4a177b
cmp eax, 0x29
jne 0x4a1435
cmp dword [esi + 0x10], 0
jne 0x4a177b
test dword [esi + 0x50], 0x10000000
je 0x4a1781
cmp eax, 0x2e
jne 0x4a14e4
push 0x14
call edi
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4a146f
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 0x4a1471
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 0x4a148d
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 0x4a14d8
cmp word [eax], 0x5c
jne 0x4a14d5
add eax, 2
cmp eax, ecx
je 0x4a14d5
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4a14c1
movzx edx, word [eax]
cmp edx, 0x28
je 0x4a14d3
cmp edx, 0x29
je 0x4a14d3
test cl, 0x10
jne 0x4a14d5
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4a14d3
cmp ecx, 0x7d
jne 0x4a14d5
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0049fcf0
jmp 0x4a1766
cmp eax, 0x5c
jne 0x4a15d3
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4a152f
cmp word [eax], 0x5c
jne 0x4a152c
add eax, 2
cmp eax, ecx
je 0x4a152c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4a1518
movzx edx, word [eax]
cmp edx, 0x28
je 0x4a152a
cmp edx, 0x29
je 0x4a152a
test cl, 0x10
jne 0x4a152c
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4a152a
cmp ecx, 0x7d
jne 0x4a152c
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0049fcf0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x4a159f
cmp word [esi + 0x48], 0x62
jne 0x4a159f
push 4
lea ecx, [esi + 0x24]
call fcn.004220a0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4a1593
cmp word [eax], 0x5c
jne 0x4a1590
add eax, 2
cmp eax, ecx
je 0x4a1590
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4a157c
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x4a158e
cmp ecx, 0x29
je 0x4a158e
test dl, 0x10
jne 0x4a1590
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4a158e
cmp ecx, 0x7d
jne 0x4a1590
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0049fcf0
jmp 0x4a176d
test eax, eax
je 0x4a15c7
cmp word [esi + 0x48], 0x42
jne 0x4a15c7
push 4
lea ecx, [esi + 0x24]
call fcn.004220a0
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.004a13a0
jmp 0x4a176d
mov ecx, esi
call fcn.004a23c0
jmp 0x4a1766
cmp eax, 0x5b
jne 0x4a1684
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4a161e
cmp word [eax], 0x5c
jne 0x4a161b
add eax, 2
cmp eax, ecx
je 0x4a161b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4a1607
movzx edx, word [eax]
cmp edx, 0x28
je 0x4a1619
cmp edx, 0x29
je 0x4a1619
test cl, 0x10
jne 0x4a161b
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4a1619
cmp ecx, 0x7d
jne 0x4a161b
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0049fcf0
mov ecx, esi
call fcn.004a2350
cmp dword [esi + 0x4c], 0x5d
jne 0x4a1789
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4a1678
cmp word [eax], 0x5c
jne 0x4a1675
add eax, 2
cmp eax, ecx
je 0x4a1675
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4a1661
movzx edx, word [eax]
cmp edx, 0x28
je 0x4a1673
cmp edx, 0x29
je 0x4a1673
test cl, 0x10
jne 0x4a1675
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4a1673
cmp ecx, 0x7d
jne 0x4a1675
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0049fcf0
jmp 0x4a1766
cmp eax, 0x28
jne 0x4a16f2
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4a16cb
cmp word [eax], 0x5c
jne 0x4a16c8
add eax, 2
cmp eax, ecx
je 0x4a16c8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4a16b4
movzx edx, word [eax]
cmp edx, 0x28
je 0x4a16c6
cmp edx, 0x29
je 0x4a16c6
test cl, 0x10
jne 0x4a16c8
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4a16c6
cmp ecx, 0x7d
jne 0x4a16c8
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0049fcf0
mov ecx, esi
call fcn.004a2490
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x4a1781
mov ecx, esi
call fcn.004a13a0
test bl, bl
je 0x4a176d
jmp 0x4a1766
cmp eax, 0x5e
jne 0x4a170a
push 2
lea ecx, [esi + 0x24]
call fcn.004220a0
mov ecx, esi
call fcn.004a13a0
jmp 0x4a176d
cmp eax, 0x24
jne 0x4a1722
push 3
lea ecx, [esi + 0x24]
call fcn.004220a0
mov ecx, esi
call fcn.004a13a0
jmp 0x4a176d
cmp eax, 0x2a
je 0x4a1799
cmp eax, 0x2b
je 0x4a1799
cmp eax, 0x3f
je 0x4a1799
cmp eax, 0x7b
je 0x4a1799
cmp eax, 0x7d
jne 0x4a1744
test dword [esi + 0x50], 0x10000000
je 0x4a1791
cmp eax, 0x5d
jne 0x4a1752
test dword [esi + 0x50], 0x10000000
je 0x4a1789
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00423430
mov ecx, esi
call fcn.004a13a0
mov ecx, esi
call fcn.004a2540
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x4a1410
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