Function at 0x1008bab0
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x1008bf17
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x1008bf17
cmp eax, 0x29
jne 0x1008baf0
cmp dword [esi + 0x10], 0
jne 0x1008bf17
test dword [esi + 0x50], 0x10000000
je 0x1008bf24
jmp 0x1008beb0
cmp eax, 0x2e
jne 0x1008bb43
push 5
lea ecx, [esi + 0x24]
call fcn.1008bf40
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1008bef8
cmp byte [eax], 0x5c
jne 0x1008bcff
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1008bcff
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1008bb3b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1008bcfd
cmp dl, 0x29
je 0x1008bcfd
test bl, 0x10
jmp 0x1008bcef
cmp eax, 0x5c
jne 0x1008bc61
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1008bb8a
cmp byte [eax], 0x5c
jne 0x1008bb87
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1008bb87
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1008bb74
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1008bb85
cmp dl, 0x29
je 0x1008bb85
test bl, 0x10
jne 0x1008bb87
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1008bb85
cmp dl, 0x7d
jne 0x1008bb87
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1008aab0
test byte [esi + 0x50], 0x80
je 0x1008bc55
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x1008bbf6
push 4
lea ecx, [esi + 0x24]
call fcn.1008bf40
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1008bbea
cmp byte [eax], 0x5c
jne 0x1008bbe7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1008bbe7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1008bbd4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x1008bbe5
cmp dl, 0x29
je 0x1008bbe5
test bl, 0x10
jne 0x1008bbe7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1008bbe5
cmp dl, 0x7d
jne 0x1008bbe7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1008aab0
jmp 0x1008bf09
cmp al, 0x42
jne 0x1008bc55
push 4
lea ecx, [esi + 0x24]
call fcn.1008bf40
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1008bc49
cmp byte [eax], 0x5c
jne 0x1008bc46
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1008bc46
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1008bc33
mov al, byte [ecx]
cmp al, 0x28
je 0x1008bc44
cmp al, 0x29
je 0x1008bc44
mov eax, dword [esi]
test dl, 0x10
jne 0x1008bc46
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1008bc44
cmp dl, 0x7d
jne 0x1008bc46
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1008aab0
jmp 0x1008bf09
mov ecx, esi
call fcn.1008ca20
jmp 0x1008beff
cmp eax, 0x5b
jne 0x1008bd07
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1008bca8
cmp byte [eax], 0x5c
jne 0x1008bca5
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1008bca5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1008bc92
mov al, byte [ecx]
cmp al, 0x28
je 0x1008bca3
cmp al, 0x29
je 0x1008bca3
mov eax, dword [esi]
test dl, 0x10
jne 0x1008bca5
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1008bca3
cmp dl, 0x7d
jne 0x1008bca5
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1008aab0
mov ecx, esi
call fcn.1008c8f0
cmp dword [esi + 0x4c], 0x5d
jne 0x1008bf32
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1008bef8
cmp byte [eax], 0x5c
jne 0x1008bcff
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1008bcff
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1008bcec
mov al, byte [ecx]
cmp al, 0x28
je 0x1008bcfd
cmp al, 0x29
je 0x1008bcfd
mov eax, dword [esi]
test dl, 0x10
jne 0x1008bcff
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1008bcfd
cmp dl, 0x7d
jne 0x1008bcff
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x1008bef8
cmp eax, 0x28
jne 0x1008bdba
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1008bd4e
cmp byte [eax], 0x5c
jne 0x1008bd4b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1008bd4b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1008bd38
mov al, byte [ecx]
cmp al, 0x28
je 0x1008bd49
cmp al, 0x29
je 0x1008bd49
mov eax, dword [esi]
test dl, 0x10
jne 0x1008bd4b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1008bd49
cmp dl, 0x7d
jne 0x1008bd4b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1008aab0
mov ecx, esi
call fcn.1008cb70
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1008bf24
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1008bda6
cmp byte [eax], 0x5c
jne 0x1008bda3
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1008bda3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1008bd90
mov al, byte [ecx]
cmp al, 0x28
je 0x1008bda1
cmp al, 0x29
je 0x1008bda1
mov eax, dword [esi]
test dl, 0x10
jne 0x1008bda3
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x1008bda1
cmp dl, 0x7d
jne 0x1008bda3
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.1008aab0
test bl, bl
je 0x1008bf09
jmp 0x1008beff
cmp eax, 0x5e
jne 0x1008be10
push 2
lea ecx, [esi + 0x24]
call fcn.1008bf40
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1008be04
cmp byte [eax], 0x5c
jne 0x1008be02
inc eax
cmp eax, ecx
je 0x1008be02
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1008bdef
mov dl, byte [eax]
cmp dl, 0x28
je 0x1008be00
cmp dl, 0x29
je 0x1008be00
test cl, 0x10
jne 0x1008be02
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1008be00
cmp cl, 0x7d
jne 0x1008be02
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1008aab0
jmp 0x1008bf09
cmp eax, 0x24
jne 0x1008be66
push 3
lea ecx, [esi + 0x24]
call fcn.1008bf40
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1008be5a
cmp byte [eax], 0x5c
jne 0x1008be58
inc eax
cmp eax, ecx
je 0x1008be58
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1008be45
mov dl, byte [eax]
cmp dl, 0x28
je 0x1008be56
cmp dl, 0x29
je 0x1008be56
test cl, 0x10
jne 0x1008be58
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1008be56
cmp cl, 0x7d
jne 0x1008be58
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1008aab0
jmp 0x1008bf09
cmp eax, 0x2a
je 0x1008bf1d
cmp eax, 0x2b
je 0x1008bf1d
cmp eax, 0x3f
je 0x1008bf1d
cmp eax, 0x7b
je 0x1008bf1d
cmp eax, 0x7d
jne 0x1008be9e
test dword [esi + 0x50], 0x10000000
je 0x1008bf2b
jmp 0x1008beb0
cmp eax, 0x5d
jne 0x1008beb0
test dword [esi + 0x50], 0x10000000
je 0x1008bf32
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1008d000
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1008bef8
cmp byte [eax], 0x5c
jne 0x1008bef6
inc eax
cmp eax, ecx
je 0x1008bef6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1008bee3
mov dl, byte [eax]
cmp dl, 0x28
je 0x1008bef4
cmp dl, 0x29
je 0x1008bef4
test cl, 0x10
jne 0x1008bef6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1008bef4
cmp cl, 0x7d
jne 0x1008bef6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1008aab0
mov ecx, esi
call fcn.1008cdd0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x1008bac6
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.1008aaa0
push 5
call fcn.1008aaa0
push 6
call fcn.1008aaa0
push 4
call fcn.1008aaa0
int3