Function at 0x4ccee0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1c
or ebx, 0xffffffff
mov esi, eax
mov edi, edx
test edx, edx
je 0x4ccfd8
call fcn.004cb140
mov dword [ebp - 0x10], edi
mov dl, byte [edi]
mov ecx, edi
lea eax, [edx - 0x61]
cmp al, 0x19
ja 0x4ccfe2
lea ebx, [ecx + 1]
mov dl, byte [ebx]
lea eax, [edx - 0x61]
cmp al, 0x19
jbe 0x4ccf38
lea eax, [edx - 0x41]
cmp al, 0x19
jbe 0x4ccf38
lea eax, [edx - 0x30]
cmp al, 9
jbe 0x4ccf38
cmp dl, 0x2b
je 0x4ccf38
cmp dl, 0x2d
je 0x4ccf38
cmp dl, 0x2e
jne 0x4ccf3b
inc ebx
jmp 0x4ccf12
test esi, esi
je 0x4ccf67
mov eax, dword [esi]
test eax, eax
je 0x4ccf52
sub esp, 0xc
push eax
call dword [0x519080]
add esp, 0x10
mov eax, dword [ebp - 0x10]
push edx
push edx
mov edx, ebx
sub edx, eax
push edx
push eax
call fcn.00483b00
add esp, 0x10
mov dword [esi], eax
mov dword [ebp - 0x10], ebx
mov ecx, ebx
cmp byte [ebx], 0x3a
je 0x4cd0f4
mov eax, esi
call fcn.004cb140
mov dword [ebp - 0x14], edi
mov cl, byte [edi]
mov edx, edi
cmp cl, 0x2f
je 0x4cd0b0
lea eax, [ecx - 0x61]
cmp al, 0x19
ja 0x4ccfee
mov dword [ebp - 0x18], edi
lea edi, [ebp - 0x18]
xor ecx, ecx
mov edx, 0x3a
mov eax, edi
call fcn.004caf30
mov ebx, eax
test eax, eax
jne 0x4ccfd1
mov eax, dword [ebp - 0x18]
cmp byte [eax], 0x2f
jne 0x4cd2a0
inc eax
xor edx, edx
mov dword [ebp - 0x18], eax
mov ecx, 1
mov eax, edi
call fcn.004caf30
mov ebx, eax
test eax, eax
je 0x4ccfad
mov eax, esi
call fcn.004cb140
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [edx - 0x41]
cmp al, 0x19
ja 0x4ccf75
jmp 0x4ccf0f
lea eax, [ecx - 0x41]
cmp al, 0x19
jbe 0x4ccf93
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x4ccf93
cmp cl, 0x2d
je 0x4ccf93
cmp cl, 0x2e
je 0x4ccf93
cmp cl, 0x5f
je 0x4ccf93
cmp cl, 0x7e
je 0x4ccf93
cmp cl, 0x25
je 0x4cd34c
cmp cl, 0x21
je 0x4ccf93
cmp cl, 0x24
je 0x4ccf93
cmp cl, 0x26
je 0x4ccf93
cmp cl, 0x28
je 0x4ccf93
cmp cl, 0x29
je 0x4ccf93
cmp cl, 0x2a
je 0x4ccf93
cmp cl, 0x2b
je 0x4ccf93
cmp cl, 0x2c
je 0x4ccf93
cmp cl, 0x3b
je 0x4ccf93
cmp cl, 0x3d
je 0x4ccf93
cmp cl, 0x27
je 0x4ccf93
cmp cl, 0x3a
je 0x4ccf93
cmp cl, 0x40
je 0x4ccf93
test esi, esi
je 0x4cd0ce
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4cd0a6
sub esp, 0xc
push eax
call dword [0x519080]
add esp, 0x10
mov dword [esi + 0x18], 0
jmp 0x4cd0ce
cmp byte [edi + 1], 0x2f
je 0x4cd170
lea edx, [ebp - 0x14]
mov eax, esi
call fcn.004cc5e0
mov ebx, eax
test eax, eax
jne 0x4ccfd1
mov edx, dword [ebp - 0x14]
cmp byte [edx], 0x3f
je 0x4cd391
cmp byte [edx], 0x23
je 0x4cd3b1
cmp byte [edx], 0
jne 0x4cd15f
xor ebx, ebx
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
inc ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], ecx
mov dl, byte [ebx + 1]
cmp dl, 0x2f
je 0x4cd2e8
lea eax, [edx - 0x61]
cmp al, 0x19
jbe 0x4cd11c
lea eax, [edx - 0x41]
cmp al, 0x19
ja 0x4cd1a4
mov eax, dword [ebp - 0x20]
lea ebx, [ebp - 0x14]
mov dword [ebp - 0x14], eax
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.004caf30
test eax, eax
jne 0x4ccf75
mov eax, dword [ebp - 0x14]
cmp byte [eax], 0x2f
jne 0x4cd3d1
inc eax
xor edx, edx
mov dword [ebp - 0x14], eax
mov ecx, 1
mov eax, ebx
call fcn.004caf30
test eax, eax
je 0x4cd138
jmp 0x4ccf75
mov eax, esi
mov ebx, 1
call fcn.004cb140
jmp 0x4ccfd1
add edx, 2
lea edi, [ebp - 0x14]
mov dword [ebp - 0x14], edx
mov eax, esi
mov edx, edi
call fcn.004cc760
mov ebx, eax
test eax, eax
jne 0x4ccfd1
mov edx, edi
mov eax, esi
call fcn.004cc6b0
mov ebx, eax
test eax, eax
jne 0x4ccfd1
jmp 0x4cd0ce
lea eax, [edx - 0x30]
cmp al, 9
jbe 0x4cd11c
cmp dl, 0x2d
je 0x4cd11c
cmp dl, 0x2e
je 0x4cd11c
cmp dl, 0x5f
je 0x4cd11c
cmp dl, 0x7e
je 0x4cd11c
cmp dl, 0x25
je 0x4cd425
cmp dl, 0x21
je 0x4cd11c
cmp dl, 0x24
je 0x4cd11c
cmp dl, 0x26
je 0x4cd11c
cmp dl, 0x28
je 0x4cd11c
cmp dl, 0x29
je 0x4cd11c
cmp dl, 0x2a
je 0x4cd11c
cmp dl, 0x2b
je 0x4cd11c
cmp dl, 0x2c
je 0x4cd11c
cmp dl, 0x3b
je 0x4cd11c
cmp dl, 0x3d
je 0x4cd11c
cmp dl, 0x27
je 0x4cd11c
cmp dl, 0x3a
je 0x4cd11c
cmp dl, 0x40
je 0x4cd11c
test esi, esi
je 0x4cd270
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4cd269
sub esp, 0xc
push eax
call dword [0x519080]
add esp, 0x10
mov dword [esi + 0x18], 0
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
cmp byte [ecx], 0x3f
je 0x4cd4ae
cmp byte [ecx], 0x23
je 0x4cd490
cmp byte [ecx], 0
je 0x4cd0e8
mov eax, esi
call fcn.004cb140
jmp 0x4ccf75
test esi, esi
je 0x4cd2e0
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4cd2bb
sub esp, 0xc
push edx
call dword [0x519080]
add esp, 0x10
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
cmp edx, eax
je 0x4cd419
test byte [esi + 0x24], 2
je 0x4cd305
sub eax, edx
push ebx
push ebx
push eax
push edx
call fcn.00483b00
add esp, 0x10
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
jmp 0x4cd0ce
cmp byte [ecx + 1], 0x2f
je 0x4cd31c
lea edx, [ebp - 0x18]
mov eax, esi
call fcn.004cc5e0
test eax, eax
jne 0x4ccf75
jmp 0x4cd270
sub eax, edx
push ecx
push 0
push eax
push edx
call fcn.004cb650
add esp, 0x10
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x18]
jmp 0x4cd2e0
lea eax, [ebx + 3]
lea ebx, [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov edx, ebx
mov eax, esi
call fcn.004cc760
test eax, eax
jne 0x4ccf75
mov edx, ebx
mov eax, esi
call fcn.004cc6b0
test eax, eax
jne 0x4ccf75
jmp 0x4cd270
mov dl, byte [edi + 1]
lea eax, [edx - 0x30]
cmp al, 9
jbe 0x4cd368
lea eax, [edx - 0x61]
cmp al, 5
jbe 0x4cd368
lea eax, [edx - 0x41]
cmp al, 5
ja 0x4cd08e
mov dl, byte [edi + 2]
lea eax, [edx - 0x30]
cmp al, 9
jbe 0x4ccf93
lea eax, [edx - 0x61]
cmp al, 5
jbe 0x4ccf93
lea eax, [edx - 0x41]
cmp al, 5
jbe 0x4ccf93
jmp 0x4cd022
inc edx
mov eax, esi
mov dword [ebp - 0x14], edx
lea edx, [ebp - 0x14]
call fcn.004ccb50
mov ebx, eax
test eax, eax
jne 0x4ccfd1
mov edx, dword [ebp - 0x14]
jmp 0x4cd0da
inc edx
mov eax, esi
mov dword [ebp - 0x14], edx
lea edx, [ebp - 0x14]
call fcn.004ccd30
mov ebx, eax
test eax, eax
jne 0x4ccfd1
mov edx, dword [ebp - 0x14]
jmp 0x4cd0e3
test esi, esi
je 0x4cd411
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4cd3ec
sub esp, 0xc
push edx
call dword [0x519080]
add esp, 0x10
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
cmp edx, eax
je 0x4cd487
test byte [esi + 0x24], 2
je 0x4cd470
sub eax, edx
push ebx
push ebx
push eax
push edx
call fcn.00483b00
add esp, 0x10
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
jmp 0x4cd270
mov dword [esi + 0x18], 0
jmp 0x4cd2e0
mov cl, byte [ecx + 1]
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x4cd441
lea eax, [ecx - 0x61]
cmp al, 5
jbe 0x4cd441
lea eax, [ecx - 0x41]
cmp al, 5
ja 0x4cd251
mov eax, dword [ebp - 0x20]
mov cl, byte [eax + 2]
lea eax, [ecx - 0x30]
cmp al, 9
jbe 0x4cd11c
lea eax, [ecx - 0x61]
cmp al, 5
jbe 0x4cd11c
lea eax, [ecx - 0x41]
cmp al, 5
jbe 0x4cd11c
jmp 0x4cd1e5
sub eax, edx
push ecx
push 0
push eax
push edx
call fcn.004cb650
add esp, 0x10
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x14]
jmp 0x4cd411
mov dword [esi + 0x18], 0
jmp 0x4cd411
inc ecx
lea edx, [ebp - 0x10]
mov dword [ebp - 0x10], ecx
mov eax, esi
call fcn.004ccd30
test eax, eax
jne 0x4ccf75
mov ecx, dword [ebp - 0x10]
jmp 0x4cd28b
inc ecx
lea edx, [ebp - 0x10]
mov dword [ebp - 0x10], ecx
mov eax, esi
call fcn.004ccb50
test eax, eax
jne 0x4ccf75
mov ecx, dword [ebp - 0x10]
jmp 0x4cd282