Function at 0x41f460
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
cmp dword [esi + 0x4c], 0xffffffff
je 0x41f7fa
mov edi, dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
jmp 0x41f480
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x41f7fa
cmp eax, 0x29
jne 0x41f4a8
cmp dword [esi + 0x10], 0
jne 0x41f7fa
test dword [esi + 0x50], 0x10000000
je 0x41f800
cmp eax, 0x2e
jne 0x41f565
push 0x14
call edi
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41f4f0
xorps xmm0, xmm0
movdqu xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
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 0x41f4f2
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 0x41f50e
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 0x41f559
cmp word [eax], 0x5c
jne 0x41f556
add eax, 2
cmp eax, ecx
je 0x41f556
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41f542
movzx edx, word [eax]
cmp edx, 0x28
je 0x41f554
cmp edx, 0x29
je 0x41f554
test cl, 0x10
jne 0x41f556
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41f554
cmp ecx, 0x7d
jne 0x41f556
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041dda0
jmp 0x41f7e7
cmp eax, 0x5c
jne 0x41f654
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41f5b0
cmp word [eax], 0x5c
jne 0x41f5ad
add eax, 2
cmp eax, ecx
je 0x41f5ad
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41f599
movzx edx, word [eax]
cmp edx, 0x28
je 0x41f5ab
cmp edx, 0x29
je 0x41f5ab
test cl, 0x10
jne 0x41f5ad
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41f5ab
cmp ecx, 0x7d
jne 0x41f5ad
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041dda0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x41f620
cmp word [esi + 0x48], 0x62
jne 0x41f620
push 4
lea ecx, [esi + 0x24]
call fcn.0041fa20
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41f614
cmp word [eax], 0x5c
jne 0x41f611
add eax, 2
cmp eax, ecx
je 0x41f611
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41f5fd
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41f60f
cmp ecx, 0x29
je 0x41f60f
test dl, 0x10
jne 0x41f611
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41f60f
cmp ecx, 0x7d
jne 0x41f611
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041dda0
jmp 0x41f7ee
test eax, eax
je 0x41f648
cmp word [esi + 0x48], 0x42
jne 0x41f648
push 4
lea ecx, [esi + 0x24]
call fcn.0041fa20
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.0041f410
jmp 0x41f7ee
mov ecx, esi
call fcn.00420cb0
jmp 0x41f7e7
cmp eax, 0x5b
jne 0x41f705
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41f69f
cmp word [eax], 0x5c
jne 0x41f69c
add eax, 2
cmp eax, ecx
je 0x41f69c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41f688
movzx edx, word [eax]
cmp edx, 0x28
je 0x41f69a
cmp edx, 0x29
je 0x41f69a
test cl, 0x10
jne 0x41f69c
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41f69a
cmp ecx, 0x7d
jne 0x41f69c
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041dda0
mov ecx, esi
call fcn.00420c40
cmp dword [esi + 0x4c], 0x5d
jne 0x41f808
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41f6f9
cmp word [eax], 0x5c
jne 0x41f6f6
add eax, 2
cmp eax, ecx
je 0x41f6f6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41f6e2
movzx edx, word [eax]
cmp edx, 0x28
je 0x41f6f4
cmp edx, 0x29
je 0x41f6f4
test cl, 0x10
jne 0x41f6f6
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41f6f4
cmp ecx, 0x7d
jne 0x41f6f6
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041dda0
jmp 0x41f7e7
cmp eax, 0x28
jne 0x41f773
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41f74c
cmp word [eax], 0x5c
jne 0x41f749
add eax, 2
cmp eax, ecx
je 0x41f749
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41f735
movzx edx, word [eax]
cmp edx, 0x28
je 0x41f747
cmp edx, 0x29
je 0x41f747
test cl, 0x10
jne 0x41f749
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41f747
cmp ecx, 0x7d
jne 0x41f749
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041dda0
mov ecx, esi
call fcn.00420d80
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x41f800
mov ecx, esi
call fcn.0041f410
test bl, bl
je 0x41f7ee
jmp 0x41f7e7
cmp eax, 0x5e
jne 0x41f78b
push 2
lea ecx, [esi + 0x24]
call fcn.0041fa20
mov ecx, esi
call fcn.0041f410
jmp 0x41f7ee
cmp eax, 0x24
jne 0x41f7a3
push 3
lea ecx, [esi + 0x24]
call fcn.0041fa20
mov ecx, esi
call fcn.0041f410
jmp 0x41f7ee
cmp eax, 0x2a
je 0x41f818
cmp eax, 0x2b
je 0x41f818
cmp eax, 0x3f
je 0x41f818
cmp eax, 0x7b
je 0x41f818
cmp eax, 0x7d
jne 0x41f7c5
test dword [esi + 0x50], 0x10000000
je 0x41f810
cmp eax, 0x5d
jne 0x41f7d3
test dword [esi + 0x50], 0x10000000
je 0x41f808
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00420f60
mov ecx, esi
call fcn.0041f410
mov ecx, esi
call fcn.00420e30
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x41f480
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