Function at 0x41b370
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
cmp dword [esi + 0x4c], 0xffffffff
je 0x41b746
mov edi, dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
jmp 0x41b390
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x41b746
cmp eax, 0x29
jne 0x41b3b8
cmp dword [esi + 0x10], 0
jne 0x41b746
test dword [esi + 0x50], 0x10000000
je 0x41b74c
cmp eax, 0x2e
jne 0x41b475
push 0x14
call edi
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41b400
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 0x41b402
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 0x41b41e
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 0x41b469
cmp word [eax], 0x5c
jne 0x41b466
add eax, 2
cmp eax, ecx
je 0x41b466
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41b452
movzx edx, word [eax]
cmp edx, 0x28
je 0x41b464
cmp edx, 0x29
je 0x41b464
test cl, 0x10
jne 0x41b466
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41b464
cmp ecx, 0x7d
jne 0x41b466
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00419ad0
jmp 0x41b733
cmp eax, 0x5c
jne 0x41b5a6
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41b4c0
cmp word [eax], 0x5c
jne 0x41b4bd
add eax, 2
cmp eax, ecx
je 0x41b4bd
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41b4a9
movzx edx, word [eax]
cmp edx, 0x28
je 0x41b4bb
cmp edx, 0x29
je 0x41b4bb
test cl, 0x10
jne 0x41b4bd
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41b4bb
cmp ecx, 0x7d
jne 0x41b4bd
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00419ad0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x41b530
cmp word [esi + 0x48], 0x62
jne 0x41b530
push 4
lea ecx, [esi + 0x24]
call fcn.0041b960
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41b524
cmp word [eax], 0x5c
jne 0x41b521
add eax, 2
cmp eax, ecx
je 0x41b521
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41b50d
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41b51f
cmp ecx, 0x29
je 0x41b51f
test dl, 0x10
jne 0x41b521
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41b51f
cmp ecx, 0x7d
jne 0x41b521
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00419ad0
jmp 0x41b73a
test eax, eax
je 0x41b59a
cmp word [esi + 0x48], 0x42
jne 0x41b59a
push 4
lea ecx, [esi + 0x24]
call fcn.0041b960
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41b58e
cmp word [eax], 0x5c
jne 0x41b58b
add eax, 2
cmp eax, ecx
je 0x41b58b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41b577
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41b589
cmp ecx, 0x29
je 0x41b589
test dl, 0x10
jne 0x41b58b
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41b589
cmp ecx, 0x7d
jne 0x41b58b
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00419ad0
jmp 0x41b73a
mov ecx, esi
call fcn.0041cc90
jmp 0x41b733
cmp eax, 0x5b
jne 0x41b657
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41b5f1
cmp word [eax], 0x5c
jne 0x41b5ee
add eax, 2
cmp eax, ecx
je 0x41b5ee
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41b5da
movzx edx, word [eax]
cmp edx, 0x28
je 0x41b5ec
cmp edx, 0x29
je 0x41b5ec
test cl, 0x10
jne 0x41b5ee
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41b5ec
cmp ecx, 0x7d
jne 0x41b5ee
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00419ad0
mov ecx, esi
call fcn.0041cbe0
cmp dword [esi + 0x4c], 0x5d
jne 0x41b754
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41b64b
cmp word [eax], 0x5c
jne 0x41b648
add eax, 2
cmp eax, ecx
je 0x41b648
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41b634
movzx edx, word [eax]
cmp edx, 0x28
je 0x41b646
cmp edx, 0x29
je 0x41b646
test cl, 0x10
jne 0x41b648
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41b646
cmp ecx, 0x7d
jne 0x41b648
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00419ad0
jmp 0x41b733
cmp eax, 0x28
jne 0x41b6bf
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41b69e
cmp word [eax], 0x5c
jne 0x41b69b
add eax, 2
cmp eax, ecx
je 0x41b69b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41b687
movzx edx, word [eax]
cmp edx, 0x28
je 0x41b699
cmp edx, 0x29
je 0x41b699
test cl, 0x10
jne 0x41b69b
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41b699
cmp ecx, 0x7d
jne 0x41b69b
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00419ad0
mov ecx, esi
call fcn.0041cd60
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.0041cb70
test bl, bl
je 0x41b73a
jmp 0x41b733
cmp eax, 0x5e
jne 0x41b6d7
push 2
lea ecx, [esi + 0x24]
call fcn.0041b960
mov ecx, esi
call fcn.0041b320
jmp 0x41b73a
cmp eax, 0x24
jne 0x41b6ef
push 3
lea ecx, [esi + 0x24]
call fcn.0041b960
mov ecx, esi
call fcn.0041b320
jmp 0x41b73a
cmp eax, 0x2a
je 0x41b764
cmp eax, 0x2b
je 0x41b764
cmp eax, 0x3f
je 0x41b764
cmp eax, 0x7b
je 0x41b764
cmp eax, 0x7d
jne 0x41b711
test dword [esi + 0x50], 0x10000000
je 0x41b75c
cmp eax, 0x5d
jne 0x41b71f
test dword [esi + 0x50], 0x10000000
je 0x41b754
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0041cf90
mov ecx, esi
call fcn.0041b320
mov ecx, esi
call fcn.0041ce60
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x41b390
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