Function at 0x4cc760
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1c
mov edi, eax
mov esi, dword [edx]
mov dword [ebp - 0x20], edx
mov ebx, esi
mov dl, byte [ebx]
lea eax, [edx - 0x61]
cmp al, 0x19
jbe 0x4cc7f1
nop
lea esi, [esi]
lea eax, [edx - 0x41]
cmp al, 0x19
jbe 0x4cc7f1
lea eax, [edx - 0x30]
cmp al, 9
jbe 0x4cc7f1
cmp dl, 0x2d
je 0x4cc7e7
cmp dl, 0x2e
je 0x4cc7e7
cmp dl, 0x5f
je 0x4cc7e7
cmp dl, 0x7e
je 0x4cc7e7
cmp dl, 0x25
je 0x4cc8b6
cmp dl, 0x21
je 0x4cc7f1
cmp dl, 0x24
je 0x4cc7f1
cmp dl, 0x26
je 0x4cc7e7
cmp dl, 0x28
je 0x4cc7e7
cmp dl, 0x29
je 0x4cc7e7
cmp dl, 0x2a
je 0x4cc7e7
cmp dl, 0x2b
je 0x4cc7e7
cmp dl, 0x2c
je 0x4cc7e7
cmp dl, 0x3b
je 0x4cc7e7
cmp dl, 0x3d
je 0x4cc7e7
cmp dl, 0x27
je 0x4cc7e7
cmp dl, 0x3a
jne 0x4cc7fe
inc ebx
mov dl, byte [ebx]
lea eax, [edx - 0x61]
cmp al, 0x19
ja 0x4cc780
cmp dl, 0x25
jne 0x4cc7e7
add ebx, 3
jmp 0x4cc772
cmp dl, 0x40
je 0x4cca12
mov dword [ebp - 0x10], esi
mov ecx, esi
mov al, byte [esi]
cmp al, 0x5b
je 0x4cc9c6
sub eax, 0x30
cmp al, 9
jbe 0x4cca70
mov ecx, dword [ebp - 0x10]
mov dl, byte [ecx]
lea eax, [edx - 0x61]
cmp al, 0x19
jbe 0x4cc8a6
lea esi, [esi]
lea eax, [edx - 0x41]
cmp al, 0x19
jbe 0x4cc8a6
lea eax, [edx - 0x30]
cmp al, 9
jbe 0x4cc8a6
cmp dl, 0x2d
je 0x4cc896
cmp dl, 0x2e
je 0x4cc896
cmp dl, 0x5f
je 0x4cc896
cmp dl, 0x7e
je 0x4cc896
cmp dl, 0x25
je 0x4cc8fe
cmp dl, 0x21
je 0x4cc8a6
cmp dl, 0x24
je 0x4cc8a6
cmp dl, 0x26
je 0x4cc896
cmp dl, 0x28
je 0x4cc896
cmp dl, 0x29
je 0x4cc896
cmp dl, 0x2a
je 0x4cc896
cmp dl, 0x2b
je 0x4cc896
cmp dl, 0x2c
je 0x4cc896
cmp dl, 0x3b
je 0x4cc896
cmp dl, 0x3d
je 0x4cc896
cmp dl, 0x27
jne 0x4cc91a
inc ecx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov dl, byte [ecx]
lea eax, [edx - 0x61]
cmp al, 0x19
ja 0x4cc830
cmp dl, 0x25
jne 0x4cc896
add ecx, 3
mov dword [ebp - 0x10], ecx
jmp 0x4cc821
mov cl, byte [ebx + 1]
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x4cc8d2
lea eax, [ecx - 0x61]
cmp al, 5
jbe 0x4cc8d2
lea eax, [ecx - 0x41]
cmp al, 5
ja 0x4cc807
mov cl, byte [ebx + 2]
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x4cc7f6
lea eax, [ecx - 0x61]
cmp al, 5
jbe 0x4cc7f6
lea eax, [ecx - 0x41]
cmp al, 5
ja 0x4cc7b0
add ebx, 3
jmp 0x4cc772
mov bl, byte [ecx + 1]
lea eax, [ebx - 0x30]
cmp al, 9
jbe 0x4cc992
lea eax, [ebx - 0x61]
cmp al, 5
jbe 0x4cc992
lea eax, [ebx - 0x41]
cmp al, 5
jbe 0x4cc992
test edi, edi
je 0x4cc9c1
mov eax, dword [edi + 8]
test eax, eax
je 0x4cc936
sub esp, 0xc
push eax
call dword [0x519080]
add esp, 0x10
mov eax, dword [edi + 0xc]
mov dword [edi + 8], 0
test eax, eax
je 0x4cc951
sub esp, 0xc
push eax
call dword [0x519080]
add esp, 0x10
mov ecx, dword [ebp - 0x10]
cmp esi, ecx
je 0x4ccaa8
test byte [edi + 0x24], 2
je 0x4cca8e
sub ecx, esi
push eax
push eax
push ecx
push esi
call fcn.00483b00
add esp, 0x10
mov dword [edi + 0xc], eax
mov ecx, dword [ebp - 0x10]
cmp byte [ecx], 0x3a
je 0x4ccab4
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov bl, byte [ecx + 2]
lea eax, [ebx - 0x30]
cmp al, 9
jbe 0x4cc8ab
lea eax, [ebx - 0x61]
cmp al, 5
jbe 0x4cc8ab
lea eax, [ebx - 0x41]
cmp al, 5
ja 0x4cc860
add ecx, 3
mov dword [ebp - 0x10], ecx
jmp 0x4cc821
mov ecx, dword [ebp - 0x10]
jmp 0x4cc97a
inc ecx
mov dword [ebp - 0x10], ecx
mov dl, byte [esi + 1]
cmp dl, 0x5d
setne al
je 0x4cc9f0
test dl, dl
je 0x4cca04
lea ebx, [esi + 2]
mov dword [ebp - 0x10], ebx
mov ecx, ebx
mov dl, byte [ebx]
lea ebx, [ebx + 1]
cmp dl, 0x5d
setne al
test al, al
jne 0x4cca00
inc ecx
mov dword [ebp - 0x10], ecx
jmp 0x4cc91a
test dl, dl
jne 0x4cc9dc
test al, al
je 0x4cc9f0
mov eax, 1
jmp 0x4cc98a
test edi, edi
je 0x4cca52
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4cca2a
sub esp, 0xc
push eax
call dword [0x519080]
add esp, 0x10
test byte [edi + 0x24], 2
je 0x4cca5a
push eax
push eax
mov eax, ebx
sub eax, esi
push eax
push esi
call fcn.00483b00
add esp, 0x10
mov dword [edi + 0x10], eax
cmp byte [ebx], 0x40
je 0x4cca52
mov eax, dword [ebp - 0x20]
mov esi, dword [eax]
jmp 0x4cc807
lea esi, [ebx + 1]
jmp 0x4cc807
push eax
mov eax, ebx
sub eax, esi
push 0
push eax
push esi
call fcn.004cb650
add esp, 0x10
mov dword [edi + 0x10], eax
jmp 0x4cca43
lea ebx, [ebp - 0x10]
mov eax, ebx
call fcn.004caeb0
test eax, eax
jne 0x4cca86
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0x2e
je 0x4ccafd
mov dword [ebp - 0x10], esi
jmp 0x4cc821
sub ecx, esi
push ebx
push 0
push ecx
push esi
call fcn.004cb650
add esp, 0x10
mov ecx, dword [ebp - 0x10]
mov dword [edi + 0xc], eax
jmp 0x4cc97a
mov dword [edi + 0xc], 0
jmp 0x4cc97a
inc ecx
mov al, byte [ecx]
sub eax, 0x30
cmp al, 9
ja 0x4cca08
test edi, edi
je 0x4ccaee
mov dword [edi + 0x14], 0
mov dl, byte [ecx]
lea eax, [edx - 0x30]
cmp al, 9
ja 0x4cc983
test edi, edi
je 0x4ccaee
mov eax, dword [edi + 0x14]
movsx edx, dl
lea eax, [eax + eax*4]
lea eax, [edx + eax*2 - 0x30]
mov dword [edi + 0x14], eax
inc ecx
mov dl, byte [ecx]
lea eax, [edx - 0x30]
cmp al, 9
jbe 0x4ccada
jmp 0x4cc983
lea ecx, [eax + 1]
mov eax, ebx
mov dword [ebp - 0x10], ecx
call fcn.004caeb0
test eax, eax
jne 0x4cca86
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0x2e
jne 0x4cca86
mov eax, ebx
call fcn.004caeb0
test eax, eax
jne 0x4cca86
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0x2e
jne 0x4cca86
mov eax, ebx
call fcn.004caeb0
test eax, eax
je 0x4cc91a
jmp 0x4cca86