Function at 0x5efea0
Capabilities:
Parse credit card information

Disassembly:
push ebx
mov ebx, dword [sym.imp.MSVCR120.dll_isspace]
push esi
mov esi, ecx
push edi
xor edi, edi
mov eax, dword [esi]
movzx eax, byte [eax]
push eax
call ebx
add esp, 4
test eax, eax
je 0x5efed1
lea esp, [esp]
inc dword [esi]
mov eax, dword [esi]
movzx eax, byte [eax]
push eax
call ebx
add esp, 4
test eax, eax
jne 0x5efec0
mov eax, dword [esi]
mov al, byte [eax]
test al, al
jne 0x5efeec
mov edi, 1
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
mov ebx, dword [sym.imp.MSVCR120.dll_isdigit]
movzx eax, al
push eax
call ebx
add esp, 4
test eax, eax
mov eax, dword [esi]
je 0x5eff4d
movsx edi, byte [eax]
inc eax
mov dword [esi], eax
sub edi, 0x30
movzx eax, byte [eax]
push eax
call ebx
add esp, 4
test eax, eax
je 0x5eff37
mov edx, dword [esi]
lea edi, [edi + edi*4]
lea edi, [edi - 0x18]
movsx eax, byte [edx]
lea edi, [eax + edi*2]
lea eax, [edx + 1]
mov dword [esi], eax
movzx eax, byte [eax]
push eax
call ebx
add esp, 4
test eax, eax
jne 0x5eff17
mov dword [esi + 8], edi
xor eax, eax
mov edi, 2
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
movzx eax, byte [eax]
push eax
call dword [sym.imp.MSVCR120.dll_isalpha]
add esp, 4
test eax, eax
je 0x5f001c
mov ebx, dword [esi]
push ebp
mov ebp, dword [sym.imp.MSVCR120.dll_isalnum]
lea eax, [ebx + 1]
mov dword [esi], eax
movzx eax, byte [eax]
push eax
call ebp
add esp, 4
test eax, eax
je 0x5eff91
lea ecx, [ecx]
inc dword [esi]
mov eax, dword [esi]
movzx eax, byte [eax]
push eax
call ebp
add esp, 4
test eax, eax
jne 0x5eff80
mov eax, dword [esi]
sub eax, ebx
pop ebp
cmp eax, 1
jne 0x5effb7
cmp byte [ebx], 0x6e
jne 0x5f01bc
mov edi, 3
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
cmp eax, 6
jne 0x5effe7
cmp dword [ebx], 0x72756c70
jne 0x5f01bc
cmp word [ebx + 4], 0x6c61
jne 0x5f01bc
mov edi, 4
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
cmp eax, 8
jne 0x5f01bc
cmp dword [ebx], 0x756c706e
jne 0x5f01bc
cmp dword [ebx + 4], 0x736c6172
jne 0x5f01bc
mov edi, 5
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
mov eax, dword [esi]
mov cl, byte [eax]
cmp cl, 0x3d
jne 0x5f0055
inc eax
mov dword [esi], eax
cmp byte [eax], cl
jne 0x5f0042
inc eax
mov edi, 6
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
mov edi, 7
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
cmp cl, 0x3e
jne 0x5f008b
inc eax
mov dword [esi], eax
cmp byte [eax], 0x3d
jne 0x5f0078
inc eax
mov edi, 9
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
mov edi, 8
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
cmp cl, 0x3c
jne 0x5f00c1
inc eax
mov dword [esi], eax
cmp byte [eax], 0x3d
jne 0x5f00ae
inc eax
mov edi, 0xb
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
mov edi, 0xa
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
cmp cl, 0x25
jne 0x5f00dc
inc eax
mov edi, 0xc
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
cmp cl, 0x21
jne 0x5f00ff
cmp byte [eax + 1], 0x3d
jne 0x5f00ff
add eax, 2
mov edi, 0xd
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
cmp cl, 0x26
jne 0x5f0121
cmp byte [eax + 1], cl
jne 0x5f0121
add eax, 2
mov edi, 0xe
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
cmp cl, 0x7c
jne 0x5f0143
cmp byte [eax + 1], cl
jne 0x5f0143
add eax, 2
mov edi, 0xf
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
cmp cl, 0x3f
jne 0x5f015e
inc eax
mov edi, 0x10
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
cmp cl, 0x3a
jne 0x5f0179
inc eax
mov edi, 0x11
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
cmp cl, 0x3b
jne 0x5f0194
inc eax
mov edi, 0x12
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
cmp cl, 0x28
jne 0x5f01af
inc eax
mov edi, 0x13
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret
cmp cl, 0x29
jne 0x5f01bc
inc eax
mov edi, 0x14
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], edi
test edi, edi
pop edi
pop esi
setne al
pop ebx
ret