Function at 0x424560
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
mov edi, ecx
xor edx, edx
mov dword [ebp - 0xc], edi
mov esi, dword [edi + 0x6c]
test esi, esi
je 0x4247be
mov ebx, dword [edi + 0xc]
xor edi, edi
mov al, byte [ebx + edx]
movzx ecx, al
movzx ecx, byte [ecx + 0x6051e8]
test ecx, ecx
jne 0x4245f8
cmp al, 0x41
jb 0x424599
cmp al, 0x5a
jbe 0x4245fd
cmp al, 0x61
jb 0x4245a1
cmp al, 0x7a
jbe 0x4245fd
cmp al, 0x30
jb 0x4245a9
cmp al, 0x39
jbe 0x4245fd
cmp al, 0x3d
je 0x4245fd
cmp al, 0x24
je 0x4245fd
cmp al, 0x21
je 0x4245fd
cmp al, 0x3f
je 0x4245fd
cmp al, 0x26
je 0x4245fd
cmp al, 0x40
je 0x4245fd
cmp al, 0x27
je 0x4245fd
cmp al, 0x3e
je 0x4245fd
cmp al, 0x3c
je 0x4245fd
cmp al, 0x28
je 0x4245fd
cmp al, 0x29
je 0x4245fd
cmp al, 0x3a
je 0x4245fd
cmp al, 0x2f
je 0x4245fd
cmp al, 0x2d
je 0x4245fd
cmp al, 0x5f
je 0x4245fd
cmp al, 0x25
je 0x4245fd
cmp al, 0x2e
je 0x4245fd
cmp al, 0x20
je 0x4245fd
cmp al, 0x7e
je 0x4245fd
inc edi
jmp 0x4245fd
inc edi
add edi, ecx
add edx, ecx
inc edx
cmp edx, esi
jb 0x424580
mov dword [ebp - 8], edi
test edi, edi
mov edi, dword [ebp - 0xc]
je 0x4247be
mov eax, dword [ebp - 8]
add eax, 2
lea eax, [esi + eax*2]
push eax
call fcn.0040f690
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x424635
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
xor esi, esi
mov dword [ebp - 4], edx
cmp dword [edi + 0x6c], edx
jbe 0x424767
mov eax, dword [edi + 0xc]
mov cl, byte [edx + eax]
movzx eax, cl
movzx eax, byte [eax + 0x6051e8]
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x42471b
cmp cl, 0x41
jb 0x42466e
cmp cl, 0x5a
jbe 0x424715
cmp cl, 0x61
jb 0x42467c
cmp cl, 0x7a
jbe 0x424715
cmp cl, 0x30
jb 0x42468a
cmp cl, 0x39
jbe 0x424715
cmp cl, 0x3d
je 0x424715
cmp cl, 0x24
je 0x424715
cmp cl, 0x21
je 0x424715
cmp cl, 0x3f
je 0x424715
cmp cl, 0x26
je 0x424715
cmp cl, 0x40
je 0x424715
cmp cl, 0x27
je 0x424715
cmp cl, 0x3c
je 0x424715
cmp cl, 0x3e
je 0x424715
cmp cl, 0x28
je 0x424715
cmp cl, 0x29
je 0x424715
cmp cl, 0x3a
je 0x424715
cmp cl, 0x2f
je 0x424715
cmp cl, 0x2d
je 0x424715
cmp cl, 0x5f
je 0x424715
cmp cl, 0x25
je 0x424715
cmp cl, 0x2e
je 0x424715
cmp cl, 0x7e
je 0x424715
cmp cl, 0x20
jne 0x4246f8
mov byte [esi + ebx], 0x2b
inc esi
jmp 0x42475a
mov byte [esi + ebx], 0x25
inc esi
lea eax, [esi + ebx]
push eax
movzx eax, cl
push eax
call fcn.0040fd70
mov edx, dword [ebp - 4]
add esp, 8
add esi, 2
jmp 0x42475a
mov byte [esi + ebx], cl
inc esi
jmp 0x42475a
xor edi, edi
add eax, 1
je 0x424754
mov eax, dword [ebp - 0xc]
lea ecx, [edi + edx]
mov eax, dword [eax + 0xc]
mov cl, byte [ecx + eax]
mov byte [esi + ebx], 0x25
inc esi
lea eax, [esi + ebx]
push eax
movzx eax, cl
push eax
call fcn.0040fd70
mov ecx, dword [ebp - 0x10]
inc edi
mov edx, dword [ebp - 4]
add esp, 8
add esi, 2
lea eax, [ecx + 1]
cmp edi, eax
jb 0x424722
add edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
inc edx
mov dword [ebp - 4], edx
cmp edx, dword [edi + 0x6c]
jb 0x424645
mov byte [esi + ebx], 0
cmp byte [edi + 9], 0
mov dword [edi + 0x6c], esi
je 0x42478b
test esi, esi
je 0x42478b
mov eax, dword [edi + 0xc]
test eax, eax
je 0x42478b
push esi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [edi + 0x64]
test eax, eax
je 0x4247a9
push eax
call sub.mfc140.dll_Ordinal_266
add esp, 4
mov dword [edi + 0x64], 0
mov dword [edi + 0x68], 0
mov eax, dword [edi + 0x6c]
mov ecx, dword [ebp - 8]
mov dword [edi + 0x64], ebx
mov dword [edi + 0xc], ebx
lea eax, [eax + ecx*2]
add eax, 4
mov dword [edi + 0x68], eax
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret