Function at 0x41df80
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
cmp dword [esi + 0x4c], 0xffffffff
je 0x41e31a
mov edi, dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
jmp 0x41dfa0
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x41e31a
cmp eax, 0x29
jne 0x41dfc8
cmp dword [esi + 0x10], 0
jne 0x41e31a
test dword [esi + 0x50], 0x10000000
je 0x41e320
cmp eax, 0x2e
jne 0x41e085
push 0x14
call edi
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41e010
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 0x41e012
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 0x41e02e
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 0x41e079
cmp word [eax], 0x5c
jne 0x41e076
add eax, 2
cmp eax, ecx
je 0x41e076
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e062
movzx edx, word [eax]
cmp edx, 0x28
je 0x41e074
cmp edx, 0x29
je 0x41e074
test cl, 0x10
jne 0x41e076
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41e074
cmp ecx, 0x7d
jne 0x41e076
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041c6d0
jmp 0x41e307
cmp eax, 0x5c
jne 0x41e174
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41e0d0
cmp word [eax], 0x5c
jne 0x41e0cd
add eax, 2
cmp eax, ecx
je 0x41e0cd
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e0b9
movzx edx, word [eax]
cmp edx, 0x28
je 0x41e0cb
cmp edx, 0x29
je 0x41e0cb
test cl, 0x10
jne 0x41e0cd
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41e0cb
cmp ecx, 0x7d
jne 0x41e0cd
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041c6d0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x41e140
cmp word [esi + 0x48], 0x62
jne 0x41e140
push 4
lea ecx, [esi + 0x24]
call fcn.0041e540
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41e134
cmp word [eax], 0x5c
jne 0x41e131
add eax, 2
cmp eax, ecx
je 0x41e131
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41e11d
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41e12f
cmp ecx, 0x29
je 0x41e12f
test dl, 0x10
jne 0x41e131
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41e12f
cmp ecx, 0x7d
jne 0x41e131
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041c6d0
jmp 0x41e30e
test eax, eax
je 0x41e168
cmp word [esi + 0x48], 0x42
jne 0x41e168
push 4
lea ecx, [esi + 0x24]
call fcn.0041e540
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.0041df30
jmp 0x41e30e
mov ecx, esi
call fcn.0041f710
jmp 0x41e307
cmp eax, 0x5b
jne 0x41e225
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41e1bf
cmp word [eax], 0x5c
jne 0x41e1bc
add eax, 2
cmp eax, ecx
je 0x41e1bc
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e1a8
movzx edx, word [eax]
cmp edx, 0x28
je 0x41e1ba
cmp edx, 0x29
je 0x41e1ba
test cl, 0x10
jne 0x41e1bc
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41e1ba
cmp ecx, 0x7d
jne 0x41e1bc
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041c6d0
mov ecx, esi
call fcn.0041f6a0
cmp dword [esi + 0x4c], 0x5d
jne 0x41e328
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41e219
cmp word [eax], 0x5c
jne 0x41e216
add eax, 2
cmp eax, ecx
je 0x41e216
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e202
movzx edx, word [eax]
cmp edx, 0x28
je 0x41e214
cmp edx, 0x29
je 0x41e214
test cl, 0x10
jne 0x41e216
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41e214
cmp ecx, 0x7d
jne 0x41e216
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041c6d0
jmp 0x41e307
cmp eax, 0x28
jne 0x41e293
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41e26c
cmp word [eax], 0x5c
jne 0x41e269
add eax, 2
cmp eax, ecx
je 0x41e269
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41e255
movzx edx, word [eax]
cmp edx, 0x28
je 0x41e267
cmp edx, 0x29
je 0x41e267
test cl, 0x10
jne 0x41e269
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41e267
cmp ecx, 0x7d
jne 0x41e269
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0041c6d0
mov ecx, esi
call fcn.0041f7e0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x41e320
mov ecx, esi
call fcn.0041df30
test bl, bl
je 0x41e30e
jmp 0x41e307
cmp eax, 0x5e
jne 0x41e2ab
push 2
lea ecx, [esi + 0x24]
call fcn.0041e540
mov ecx, esi
call fcn.0041df30
jmp 0x41e30e
cmp eax, 0x24
jne 0x41e2c3
push 3
lea ecx, [esi + 0x24]
call fcn.0041e540
mov ecx, esi
call fcn.0041df30
jmp 0x41e30e
cmp eax, 0x2a
je 0x41e338
cmp eax, 0x2b
je 0x41e338
cmp eax, 0x3f
je 0x41e338
cmp eax, 0x7b
je 0x41e338
cmp eax, 0x7d
jne 0x41e2e5
test dword [esi + 0x50], 0x10000000
je 0x41e330
cmp eax, 0x5d
jne 0x41e2f3
test dword [esi + 0x50], 0x10000000
je 0x41e328
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0041f9c0
mov ecx, esi
call fcn.0041df30
mov ecx, esi
call fcn.0041f890
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x41dfa0
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