Function at 0x4669ec
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbdc
xor eax, eax
push ebx
push esi
push edi
xor edi, edi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 4], eax
push esi
call sub.cc3260mt.dll__strlen
pop ecx
mov dword [ebp - 0x18], eax
xor ebx, ebx
lea eax, [ebp - 0x424]
mov dword [ebp - 0x1c], eax
mov edx, esi
mov esi, edx
cmp ebx, dword [ebp - 0x18]
jge 0x466a4b
movsx eax, byte [esi]
cmp eax, 0x20
je 0x466a44
cmp eax, 0xd
je 0x466a44
cmp eax, 0xa
je 0x466a44
mov dl, byte [esi]
push edx
call fcn.004669d0
pop ecx
mov ecx, dword [ebp - 0x1c]
mov byte [ecx], al
inc edi
inc dword [ebp - 0x1c]
inc ebx
inc esi
cmp ebx, dword [ebp - 0x18]
jl 0x466a20
mov byte [ebp + edi - 0x424], 0
mov eax, dword [ebp + 8]
xor edi, edi
xor ebx, ebx
xor esi, esi
mov word [eax], 0
mov edx, dword [ebp + 8]
mov ecx, edx
mov dword [ebp - 0x20], ecx
jmp 0x466cae
mov eax, esi
cmp eax, 5
ja case.default.0x466a79
jmp dword [eax*4 + 0x466a80]
mov al, byte [ebp + ebx - 0x424]
movsx edx, al
cmp edx, 0x41
jl 0x466abf
cmp edx, 0x48
jg 0x466abf
movsx ecx, al
add cx, 0xffbf
mov eax, dword [ebp - 0x20]
shl ecx, 0xd
mov word [eax], cx
jmp 0x466ac9
mov eax, 0x14
jmp 0x466cf5
inc esi
jmp case.default.0x466a79
movsx edx, byte [ebp + ebx - 0x424]
cmp edx, 0x3d
je 0x466ae6
mov eax, 0x14
jmp 0x466cf5
inc esi
jmp case.default.0x466a79
mov al, byte [ebp + ebx - 0x424]
movsx edx, al
cmp edx, 0x41
jl 0x466b13
cmp edx, 0x48
jg 0x466b13
movsx ecx, al
add cx, 0xffbf
mov eax, dword [ebp - 0x20]
shl ecx, 0xa
or word [eax], cx
jmp 0x466b1d
mov eax, 0x14
jmp 0x466cf5
inc esi
jmp case.default.0x466a79
mov eax, 0xffff
movsx edx, byte [ebp + ebx - 0x424]
cmp edx, 0x2b
jne 0x466b37
xor eax, eax
cmp edx, 0x2d
jne 0x466b41
mov eax, 1
cmp edx, 0x3c
jne 0x466b4b
mov eax, 2
cmp edx, 0x2a
jne 0x466b55
mov eax, 3
cmp edx, 0x5e
jne 0x466b5f
mov eax, 4
cmp edx, 0x26
jne 0x466b69
mov eax, 5
cmp edx, 0x7c
jne 0x466b73
mov eax, 6
cmp edx, 0x3f
jne 0x466b7d
mov eax, 7
cmp eax, 0xffff
jne 0x466b8e
mov eax, 0x15
jmp 0x466cf5
shl eax, 7
mov edx, dword [ebp - 0x20]
or word [edx], ax
inc esi
jmp case.default.0x466a79
mov eax, 0xffff
movsx edx, byte [ebp + ebx - 0x424]
cmp edx, 0x30
jl 0x466c40
cmp edx, 0x39
jg 0x466c40
test edi, edi
jne 0x466bca
mov eax, 0x16
jmp 0x466cf5
mov edx, dword [ebp - 0x20]
or word [edx], 0x40
push 0xa
push 0
lea ecx, [ebp - 0x10]
push ecx
call sub.cc3260mt.dll__memset
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x10]
mov dword [ebp - 0x24], edx
lea eax, [ebp + ebx - 0x424]
jmp 0x466c04
mov ecx, dword [ebp - 0x24]
mov dl, byte [eax]
inc ebx
mov byte [ecx], dl
inc dword [ebp - 0x14]
inc dword [ebp - 0x24]
inc eax
movsx edx, byte [eax]
cmp edx, 0x30
jl 0x466c11
cmp edx, 0x39
jle 0x466bf5
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x10]
dec ebx
mov byte [ebp + eax - 0x10], 0
push ecx
call fcn.004653a4
pop ecx
cmp eax, 0x40
jb 0x466c33
mov eax, 0x18
jmp 0x466cf5
mov edx, dword [ebp - 0x20]
or word [edx], ax
mov dword [ebp - 4], 1
movsx edx, byte [ebp + ebx - 0x424]
cmp edx, 0x41
jl 0x466c79
cmp edx, 0x48
jg 0x466c79
movsx eax, byte [ebp + ebx - 0x424]
add ax, 0xffbf
mov ecx, dword [ebp - 0x20]
shl eax, 3
or word [ecx], ax
test edi, edi
jne 0x466c72
mov eax, dword [ebp - 0x20]
or word [eax], 1
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x466c87
cmp eax, 0xffff
jne 0x466c87
mov eax, 0x14
jmp 0x466cf5
inc esi
jmp case.default.0x466a79
movsx edx, byte [ebp + ebx - 0x424]
cmp edx, 0x2c
je 0x466c9e
mov eax, 0x14
jmp 0x466cf5
xor esi, esi
inc edi
add dword [ebp - 0x20], 2
mov eax, dword [ebp - 0x20]
mov word [eax], 0
inc ebx
cmp byte [ebp + ebx - 0x424], 0
jne 0x466a6e
cmp esi, 5
je 0x466cc8
mov eax, 0x14
jmp 0x466cf5
cmp dword [ebp - 4], 0
je 0x466cd5
mov eax, 0x17
jmp 0x466cf5
mov edx, dword [ebp + 8]
lea eax, [edi + 1]
or word [edx + edi*2], 4
cmp eax, 0x80
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
jbe 0x466cf3
mov eax, 7
jmp 0x466cf5
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret