Function at 0x423830
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
push edi
je 0x423bf0
mov edi, dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
jmp 0x423850
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x423bf0
cmp eax, 0x29
jne 0x423878
cmp dword [esi + 0x10], 0
jne 0x423bf0
test dword [esi + 0x50], 0x10000000
je 0x423bf6
cmp eax, 0x2e
jne 0x423927
push 0x14
call edi
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4238b2
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 0x4238b4
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 0x4238d0
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 0x42391b
cmp word [eax], 0x5c
jne 0x423918
add eax, 2
cmp eax, ecx
je 0x423918
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x423904
movzx edx, word [eax]
cmp edx, 0x28
je 0x423916
cmp edx, 0x29
je 0x423916
test cl, 0x10
jne 0x423918
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x423916
cmp ecx, 0x7d
jne 0x423918
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00423290
jmp 0x423bdd
cmp eax, 0x5c
jne 0x423a54
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x423972
cmp word [eax], 0x5c
jne 0x42396f
add eax, 2
cmp eax, ecx
je 0x42396f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42395b
movzx edx, word [eax]
cmp edx, 0x28
je 0x42396d
cmp edx, 0x29
je 0x42396d
test cl, 0x10
jne 0x42396f
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x42396d
cmp ecx, 0x7d
jne 0x42396f
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00423290
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x4239e0
cmp word [esi + 0x48], 0x62
jne 0x4239e0
lea ecx, [esi + 0x24]
call fcn.00424860
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4239d4
cmp word [eax], 0x5c
jne 0x4239d1
add eax, 2
cmp eax, ecx
je 0x4239d1
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4239bd
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x4239cf
cmp ecx, 0x29
je 0x4239cf
test dl, 0x10
jne 0x4239d1
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4239cf
cmp ecx, 0x7d
jne 0x4239d1
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00423290
jmp 0x423be4
test eax, eax
je 0x423a48
cmp word [esi + 0x48], 0x42
jne 0x423a48
lea ecx, [esi + 0x24]
call fcn.00424860
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x423a3c
cmp word [eax], 0x5c
jne 0x423a39
add eax, 2
cmp eax, ecx
je 0x423a39
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x423a25
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x423a37
cmp ecx, 0x29
je 0x423a37
test dl, 0x10
jne 0x423a39
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x423a37
cmp ecx, 0x7d
jne 0x423a39
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00423290
jmp 0x423be4
mov ecx, esi
call fcn.004244c0
jmp 0x423bdd
cmp eax, 0x5b
jne 0x423b05
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x423a9f
cmp word [eax], 0x5c
jne 0x423a9c
add eax, 2
cmp eax, ecx
je 0x423a9c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x423a88
movzx edx, word [eax]
cmp edx, 0x28
je 0x423a9a
cmp edx, 0x29
je 0x423a9a
test cl, 0x10
jne 0x423a9c
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x423a9a
cmp ecx, 0x7d
jne 0x423a9c
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00423290
mov ecx, esi
call fcn.00424410
cmp dword [esi + 0x4c], 0x5d
jne 0x423bfe
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x423af9
cmp word [eax], 0x5c
jne 0x423af6
add eax, 2
cmp eax, ecx
je 0x423af6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x423ae2
movzx edx, word [eax]
cmp edx, 0x28
je 0x423af4
cmp edx, 0x29
je 0x423af4
test cl, 0x10
jne 0x423af6
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x423af4
cmp ecx, 0x7d
jne 0x423af6
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00423290
jmp 0x423bdd
cmp eax, 0x28
jne 0x423b6d
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x423b4c
cmp word [eax], 0x5c
jne 0x423b49
add eax, 2
cmp eax, ecx
je 0x423b49
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x423b35
movzx edx, word [eax]
cmp edx, 0x28
je 0x423b47
cmp edx, 0x29
je 0x423b47
test cl, 0x10
jne 0x423b49
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x423b47
cmp ecx, 0x7d
jne 0x423b49
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00423290
mov ecx, esi
call fcn.004245a0
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.004243a0
test bl, bl
je 0x423be4
jmp 0x423bdd
cmp eax, 0x5e
jne 0x423b83
lea ecx, [esi + 0x24]
call fcn.00424780
mov ecx, esi
call fcn.004237e0
jmp 0x423be4
cmp eax, 0x24
jne 0x423b99
lea ecx, [esi + 0x24]
call fcn.004247f0
mov ecx, esi
call fcn.004237e0
jmp 0x423be4
cmp eax, 0x2a
je 0x423c0e
cmp eax, 0x2b
je 0x423c0e
cmp eax, 0x3f
je 0x423c0e
cmp eax, 0x7b
je 0x423c0e
cmp eax, 0x7d
jne 0x423bbb
test dword [esi + 0x50], 0x10000000
je 0x423c06
cmp eax, 0x5d
jne 0x423bc9
test dword [esi + 0x50], 0x10000000
je 0x423bfe
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.004248d0
mov ecx, esi
call fcn.004237e0
mov ecx, esi
call fcn.00424650
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x423850
pop edi
pop esi
mov al, cl
pop ebx
ret
push 5
call dword [sym.imp.MSVCP110.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 4
call dword [sym.imp.MSVCP110.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 6
call dword [sym.imp.MSVCP110.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push 0xa
call dword [sym.imp.MSVCP110.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3