Function at 0x7571a0
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
push edi
xor edi, edi
mov eax, dword [esi]
movzx eax, byte [eax]
push eax
call fcn.00811ac0
add esp, 4
test eax, eax
je 0x7571cc
inc dword [esi]
mov eax, dword [esi]
movzx eax, byte [eax]
push eax
call fcn.00811ac0
add esp, 4
test eax, eax
jne 0x7571b8
mov eax, dword [esi]
mov al, byte [eax]
test al, al
jne 0x7571e4
mov edi, 1
mov dword [esi + 4], edi
test edi, edi
pop edi
setne al
pop esi
ret
movzx eax, al
push eax
call fcn.008119a0
mov ecx, dword [esi]
add esp, 4
test eax, eax
je 0x757247
movsx edi, byte [ecx]
lea eax, [ecx + 1]
mov dword [esi], eax
sub edi, 0x30
movzx eax, byte [eax]
push eax
call fcn.008119a0
add esp, 4
test eax, eax
je 0x757234
mov edx, dword [esi]
lea ecx, [edi - 6]
lea ecx, [edi + ecx*4]
movsx eax, byte [edx]
lea edi, [eax + ecx*2]
lea eax, [edx + 1]
mov dword [esi], eax
movzx eax, byte [eax]
push eax
call fcn.008119a0
add esp, 4
test eax, eax
jne 0x757211
mov dword [esi + 8], edi
mov edi, 2
mov dword [esi + 4], edi
test edi, edi
pop edi
setne al
pop esi
ret
movzx eax, byte [ecx]
push ebx
push eax
call fcn.00811910
mov ebx, dword [esi]
add esp, 4
test eax, eax
je 0x75730b
lea eax, [ebx + 1]
mov dword [esi], eax
movzx eax, byte [eax]
push eax
call fcn.00811880
add esp, 4
test eax, eax
je 0x757287
inc dword [esi]
mov eax, dword [esi]
movzx eax, byte [eax]
push eax
call fcn.00811880
add esp, 4
test eax, eax
jne 0x757273
mov eax, dword [esi]
sub eax, ebx
cmp eax, 1
jne 0x7572aa
cmp byte [ebx], 0x6e
jne 0x75748b
mov edi, 3
pop ebx
mov dword [esi + 4], edi
test edi, edi
pop edi
setne al
pop esi
ret
cmp eax, 6
jne 0x7572d8
cmp dword [ebx], 0x72756c70
jne 0x75748b
cmp word [ebx + 4], 0x6c61
jne 0x75748b
mov edi, 4
pop ebx
mov dword [esi + 4], edi
test edi, edi
pop edi
setne al
pop esi
ret
cmp eax, 8
jne 0x75748b
cmp dword [ebx], 0x756c706e
jne 0x75748b
cmp dword [ebx + 4], 0x736c6172
jne 0x75748b
mov edi, 5
pop ebx
mov dword [esi + 4], edi
test edi, edi
pop edi
setne al
pop esi
ret
mov al, byte [ebx]
cmp al, 0x3d
jne 0x757340
lea eax, [ebx + 1]
mov dword [esi], eax
cmp byte [eax], 0x3d
jne 0x75732f
mov edi, 6
inc eax
pop ebx
mov dword [esi + 4], edi
test edi, edi
mov dword [esi], eax
pop edi
setne al
pop esi
ret
mov edi, 7
pop ebx
mov dword [esi + 4], edi
test edi, edi
pop edi
setne al
pop esi
ret
cmp al, 0x3e
jne 0x757373
lea eax, [ebx + 1]
mov dword [esi], eax
cmp byte [eax], 0x3d
jne 0x757362
mov edi, 9
inc eax
pop ebx
mov dword [esi + 4], edi
test edi, edi
mov dword [esi], eax
pop edi
setne al
pop esi
ret
mov edi, 8
pop ebx
mov dword [esi + 4], edi
test edi, edi
pop edi
setne al
pop esi
ret
cmp al, 0x3c
jne 0x7573a6
lea eax, [ebx + 1]
mov dword [esi], eax
cmp byte [eax], 0x3d
jne 0x757395
mov edi, 0xb
inc eax
pop ebx
mov dword [esi + 4], edi
test edi, edi
mov dword [esi], eax
pop edi
setne al
pop esi
ret
mov edi, 0xa
pop ebx
mov dword [esi + 4], edi
test edi, edi
pop edi
setne al
pop esi
ret
cmp al, 0x25
jne 0x7573c0
lea eax, [ebx + 1]
mov edi, 0xc
pop ebx
mov dword [esi + 4], edi
test edi, edi
mov dword [esi], eax
pop edi
setne al
pop esi
ret
cmp al, 0x21
jne 0x7573e0
cmp byte [ebx + 1], 0x3d
jne 0x7573ff
lea eax, [ebx + 2]
mov edi, 0xd
pop ebx
mov dword [esi + 4], edi
test edi, edi
mov dword [esi], eax
pop edi
setne al
pop esi
ret
cmp al, 0x26
jne 0x7573ff
cmp byte [ebx + 1], al
jne 0x757421
lea eax, [ebx + 2]
mov edi, 0xe
pop ebx
mov dword [esi + 4], edi
test edi, edi
mov dword [esi], eax
pop edi
setne al
pop esi
ret
cmp al, 0x7c
jne 0x757421
cmp byte [ebx + 1], al
lea ecx, [ebx + 1]
jne 0x757424
lea eax, [ebx + 2]
mov edi, 0xf
pop ebx
mov dword [esi + 4], edi
test edi, edi
mov dword [esi], eax
pop edi
setne al
pop esi
ret
lea ecx, [ebx + 1]
cmp al, 0x3f
jne 0x75743b
mov edi, 0x10
mov dword [esi], ecx
pop ebx
mov dword [esi + 4], edi
test edi, edi
pop edi
setne al
pop esi
ret
cmp al, 0x3a
jne 0x757452
mov edi, 0x11
mov dword [esi], ecx
pop ebx
mov dword [esi + 4], edi
test edi, edi
pop edi
setne al
pop esi
ret
cmp al, 0x3b
jne 0x757469
mov edi, 0x12
mov dword [esi], ecx
pop ebx
mov dword [esi + 4], edi
test edi, edi
pop edi
setne al
pop esi
ret
cmp al, 0x28
jne 0x757480
mov edi, 0x13
mov dword [esi], ecx
pop ebx
mov dword [esi + 4], edi
test edi, edi
pop edi
setne al
pop esi
ret
cmp al, 0x29
jne 0x75748b
mov edi, 0x14
mov dword [esi], ecx
pop ebx
mov dword [esi + 4], edi
test edi, edi
pop edi
setne al
pop esi
ret