Function at 0x41b590
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
cmp dword [esi + 0x4c], 0xffffffff
je 0x41b966
mov edi, dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
jmp 0x41b5b0
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x41b966
cmp eax, 0x29
jne 0x41b5d8
cmp dword [esi + 0x10], 0
jne 0x41b966
test dword [esi + 0x50], 0x10000000
je 0x41b96c
cmp eax, 0x2e
jne 0x41b695
push 0x14
call edi
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x41b620
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 0x41b622
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 0x41b63e
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 0x41b689
cmp word [eax], 0x5c
jne 0x41b686
add eax, 2
cmp eax, ecx
je 0x41b686
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41b672
movzx edx, word [eax]
cmp edx, 0x28
je 0x41b684
cmp edx, 0x29
je 0x41b684
test cl, 0x10
jne 0x41b686
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41b684
cmp ecx, 0x7d
jne 0x41b686
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00419cf0
jmp 0x41b953
cmp eax, 0x5c
jne 0x41b7c6
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41b6e0
cmp word [eax], 0x5c
jne 0x41b6dd
add eax, 2
cmp eax, ecx
je 0x41b6dd
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41b6c9
movzx edx, word [eax]
cmp edx, 0x28
je 0x41b6db
cmp edx, 0x29
je 0x41b6db
test cl, 0x10
jne 0x41b6dd
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41b6db
cmp ecx, 0x7d
jne 0x41b6dd
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00419cf0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x41b750
cmp word [esi + 0x48], 0x62
jne 0x41b750
push 4
lea ecx, [esi + 0x24]
call fcn.0041bb80
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41b744
cmp word [eax], 0x5c
jne 0x41b741
add eax, 2
cmp eax, ecx
je 0x41b741
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41b72d
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41b73f
cmp ecx, 0x29
je 0x41b73f
test dl, 0x10
jne 0x41b741
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41b73f
cmp ecx, 0x7d
jne 0x41b741
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00419cf0
jmp 0x41b95a
test eax, eax
je 0x41b7ba
cmp word [esi + 0x48], 0x42
jne 0x41b7ba
push 4
lea ecx, [esi + 0x24]
call fcn.0041bb80
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41b7ae
cmp word [eax], 0x5c
jne 0x41b7ab
add eax, 2
cmp eax, ecx
je 0x41b7ab
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x41b797
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x41b7a9
cmp ecx, 0x29
je 0x41b7a9
test dl, 0x10
jne 0x41b7ab
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41b7a9
cmp ecx, 0x7d
jne 0x41b7ab
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00419cf0
jmp 0x41b95a
mov ecx, esi
call fcn.0041ceb0
jmp 0x41b953
cmp eax, 0x5b
jne 0x41b877
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41b811
cmp word [eax], 0x5c
jne 0x41b80e
add eax, 2
cmp eax, ecx
je 0x41b80e
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41b7fa
movzx edx, word [eax]
cmp edx, 0x28
je 0x41b80c
cmp edx, 0x29
je 0x41b80c
test cl, 0x10
jne 0x41b80e
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41b80c
cmp ecx, 0x7d
jne 0x41b80e
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00419cf0
mov ecx, esi
call fcn.0041ce00
cmp dword [esi + 0x4c], 0x5d
jne 0x41b974
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41b86b
cmp word [eax], 0x5c
jne 0x41b868
add eax, 2
cmp eax, ecx
je 0x41b868
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41b854
movzx edx, word [eax]
cmp edx, 0x28
je 0x41b866
cmp edx, 0x29
je 0x41b866
test cl, 0x10
jne 0x41b868
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41b866
cmp ecx, 0x7d
jne 0x41b868
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00419cf0
jmp 0x41b953
cmp eax, 0x28
jne 0x41b8df
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x41b8be
cmp word [eax], 0x5c
jne 0x41b8bb
add eax, 2
cmp eax, ecx
je 0x41b8bb
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x41b8a7
movzx edx, word [eax]
cmp edx, 0x28
je 0x41b8b9
cmp edx, 0x29
je 0x41b8b9
test cl, 0x10
jne 0x41b8bb
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x41b8b9
cmp ecx, 0x7d
jne 0x41b8bb
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00419cf0
mov ecx, esi
call fcn.0041cf80
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.0041cd90
test bl, bl
je 0x41b95a
jmp 0x41b953
cmp eax, 0x5e
jne 0x41b8f7
push 2
lea ecx, [esi + 0x24]
call fcn.0041bb80
mov ecx, esi
call fcn.0041b540
jmp 0x41b95a
cmp eax, 0x24
jne 0x41b90f
push 3
lea ecx, [esi + 0x24]
call fcn.0041bb80
mov ecx, esi
call fcn.0041b540
jmp 0x41b95a
cmp eax, 0x2a
je 0x41b984
cmp eax, 0x2b
je 0x41b984
cmp eax, 0x3f
je 0x41b984
cmp eax, 0x7b
je 0x41b984
cmp eax, 0x7d
jne 0x41b931
test dword [esi + 0x50], 0x10000000
je 0x41b97c
cmp eax, 0x5d
jne 0x41b93f
test dword [esi + 0x50], 0x10000000
je 0x41b974
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0041d1b0
mov ecx, esi
call fcn.0041b540
mov ecx, esi
call fcn.0041d080
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x41b5b0
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