Function at 0x4d8990
Capabilities:
Parse credit card information

Disassembly:
push ebp
push edi
push esi
mov esi, eax
push ebx
sub esp, 0x2c
mov dword [esp + 0x1c], eax
movzx ecx, byte [eax]
lea eax, [ecx + 0x6f]
cmp al, 1
jbe 0x4d8c08
cmp cl, 0x25
je 0x4d8a70
cmp cl, 0x98
jne 0x4d8c46
cmp byte [esi + 1], 0x91
je 0x4d8c17
mov ebx, 0xfffbff7e
cmp cl, 0x85
je 0x4d8aa8
lea esi, [esi]
cmp cl, 0x8c
je 0x4d8aa8
mov eax, ecx
and eax, 0xfffffffd
cmp al, 0x84
jne 0x4d8b20
cmp byte [0x522cf7], 0
jne 0x4d8b3a
lea esi, [esp + 0x1c]
mov dword [esp + 4], 0xffffff92
mov dword [esp + 8], esi
mov dword [esp], 0xffffff91
call sym.zsh.exe_skipparens
test eax, eax
je 0x4d8b3a
mov dword [esp + 8], esi
mov dword [esp + 4], 0xffffff95
mov dword [esp], 0xffffff94
call sym.zsh.exe_skipparens
test eax, eax
je 0x4d8b3a
cmp byte [0x522d1a], 0
je 0x4d8b88
mov eax, dword [esp + 0x1c]
movzx edx, byte [eax]
cmp dl, 0x88
je 0x4d8b50
test dl, dl
jne 0x4d8a90
add esp, 0x2c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [esi + 1], 0x97
jne 0x4d89c7
lea eax, [esi + 2]
mov dword [esp + 0x1c], eax
movzx ecx, byte [esi + 2]
mov esi, eax
jmp 0x4d89b4
lea esi, [eax + 1]
mov dword [esp + 0x1c], esi
movzx ecx, byte [eax + 1]
test cl, cl
je 0x4d8a60
cmp cl, 0x85
jne 0x4d89d8
lea edx, [esi + 1]
mov dword [esp + 0x1c], edx
movzx eax, byte [esi + 1]
cmp al, 0x8f
je 0x4d8bb0
cmp al, 0x85
je 0x4d8ac3
cmp al, 0x8c
jne 0x4d8b0e
lea eax, [esi + 2]
mov dword [esp + 0x1c], eax
movzx ecx, byte [esi + 2]
mov esi, eax
jmp 0x4d8a9b
mov ecx, eax
mov ebp, ebx
and ecx, 0xffffffdf
cmp cl, 0x5e
setne cl
mov esi, ecx
lea ecx, [eax + 0x7a]
sar ebp, cl
mov edi, esi
and esi, ebp
cmp cl, 0x13
cmovae esi, edi
cmp al, 0x3d
je 0x4d8b04
mov ecx, esi
test cl, cl
jne 0x4d8bd8
add edx, 1
mov dword [esp + 0x1c], edx
movzx eax, byte [edx]
test al, al
jne 0x4d8ad8
jmp 0x4d8a60
add ecx, 0x79
cmp cl, 0x10
ja 0x4d89fb
mov eax, 0x10081
bt eax, ecx
jae 0x4d89fb
add esp, 0x2c
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [eax + 1], 0x3a
jne 0x4d8a90
mov dword [esp + 8], esi
mov dword [esp + 4], 0xffffff8a
mov dword [esp], 0xffffff88
call sym.zsh.exe_skipparens
test eax, eax
je 0x4d8b3a
mov eax, dword [esp + 0x1c]
movzx edx, byte [eax]
jmp 0x4d8a5c
mov dword [esp + 8], esi
mov dword [esp + 4], 0xffffff90
mov dword [esp], 0xffffff8f
call sym.zsh.exe_skipparens
test eax, eax
jne 0x4d8a4c
jmp 0x4d8b3a
lea eax, [esp + 0x1c]
mov dword [esp + 4], 0xffffff90
mov dword [esp + 8], eax
mov dword [esp], 0xffffff8f
call sym.zsh.exe_skipparens
mov esi, dword [esp + 0x1c]
movzx ecx, byte [esi]
jmp 0x4d8a9b
cmp al, 0x23
je 0x4d8be0
cmp al, 0x84
jne 0x4d8c5a
add edx, 1
mov dword [esp + 0x1c], edx
movzx ecx, byte [edx]
mov eax, ecx
and eax, 0xffffffef
cmp al, 0x87
jne 0x4d8c53
lea esi, [edx + 1]
mov dword [esp + 0x1c], esi
movzx ecx, byte [edx + 1]
jmp 0x4d8a9b
cmp byte [esi + 1], 0
jne 0x4d89c7
jmp 0x4d8a60
lea eax, [esi + 2]
mov dword [esp + 4], 0xffffff92
mov dword [esp], eax
mov byte [esp + 0x1b], cl
call sub.cygwin1.dll_strchr
movzx ecx, byte [esp + 0x1b]
test eax, eax
je 0x4d89c7
lea esi, [eax + 1]
mov dword [esp + 0x1c], esi
movzx ecx, byte [eax + 1]
test cl, cl
jne 0x4d89c7
jmp 0x4d8a60
mov esi, edx
jmp 0x4d8a9b
mov edx, dword [esp + 0x1c]
jmp 0x4d8be7