Function at 0x10008480
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 0x100088e7
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x100088e7
cmp eax, 0x29
jne 0x100084c0
cmp dword [esi + 0x10], 0
jne 0x100088e7
test dword [esi + 0x50], 0x10000000
je 0x100088f4
jmp 0x10008880
cmp eax, 0x2e
jne 0x10008513
push 5
lea ecx, [esi + 0x24]
call fcn.10008910
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100088c8
cmp byte [eax], 0x5c
jne 0x100086cf
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100086cf
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x1000850b
mov dl, byte [ecx]
cmp dl, 0x28
je 0x100086cd
cmp dl, 0x29
je 0x100086cd
test bl, 0x10
jmp 0x100086bf
cmp eax, 0x5c
jne 0x10008631
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000855a
cmp byte [eax], 0x5c
jne 0x10008557
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10008557
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10008544
mov dl, byte [ecx]
cmp dl, 0x28
je 0x10008555
cmp dl, 0x29
je 0x10008555
test bl, 0x10
jne 0x10008557
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10008555
cmp dl, 0x7d
jne 0x10008557
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10007960
test byte [esi + 0x50], 0x80
je 0x10008625
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x100085c6
push 4
lea ecx, [esi + 0x24]
call fcn.10008910
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100085ba
cmp byte [eax], 0x5c
jne 0x100085b7
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100085b7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x100085a4
mov dl, byte [ecx]
cmp dl, 0x28
je 0x100085b5
cmp dl, 0x29
je 0x100085b5
test bl, 0x10
jne 0x100085b7
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100085b5
cmp dl, 0x7d
jne 0x100085b7
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10007960
jmp 0x100088d9
cmp al, 0x42
jne 0x10008625
push 4
lea ecx, [esi + 0x24]
call fcn.10008910
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10008619
cmp byte [eax], 0x5c
jne 0x10008616
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10008616
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10008603
mov al, byte [ecx]
cmp al, 0x28
je 0x10008614
cmp al, 0x29
je 0x10008614
mov eax, dword [esi]
test dl, 0x10
jne 0x10008616
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10008614
cmp dl, 0x7d
jne 0x10008616
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10007960
jmp 0x100088d9
mov ecx, esi
call fcn.10009270
jmp 0x100088cf
cmp eax, 0x5b
jne 0x100086d7
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10008678
cmp byte [eax], 0x5c
jne 0x10008675
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10008675
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10008662
mov al, byte [ecx]
cmp al, 0x28
je 0x10008673
cmp al, 0x29
je 0x10008673
mov eax, dword [esi]
test dl, 0x10
jne 0x10008675
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10008673
cmp dl, 0x7d
jne 0x10008675
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10007960
mov ecx, esi
call fcn.100090f0
cmp dword [esi + 0x4c], 0x5d
jne 0x10008902
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x100088c8
cmp byte [eax], 0x5c
jne 0x100086cf
lea ecx, [eax + 1]
cmp ecx, edx
je 0x100086cf
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100086bc
mov al, byte [ecx]
cmp al, 0x28
je 0x100086cd
cmp al, 0x29
je 0x100086cd
mov eax, dword [esi]
test dl, 0x10
jne 0x100086cf
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x100086cd
cmp dl, 0x7d
jne 0x100086cf
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x100088c8
cmp eax, 0x28
jne 0x1000878a
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x1000871e
cmp byte [eax], 0x5c
jne 0x1000871b
lea ecx, [eax + 1]
cmp ecx, edx
je 0x1000871b
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10008708
mov al, byte [ecx]
cmp al, 0x28
je 0x10008719
cmp al, 0x29
je 0x10008719
mov eax, dword [esi]
test dl, 0x10
jne 0x1000871b
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10008719
cmp dl, 0x7d
jne 0x1000871b
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10007960
mov ecx, esi
call fcn.10009430
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x100088f4
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x10008776
cmp byte [eax], 0x5c
jne 0x10008773
lea ecx, [eax + 1]
cmp ecx, edx
je 0x10008773
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10008760
mov al, byte [ecx]
cmp al, 0x28
je 0x10008771
cmp al, 0x29
je 0x10008771
mov eax, dword [esi]
test dl, 0x10
jne 0x10008773
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x10008771
cmp dl, 0x7d
jne 0x10008773
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.10007960
test bl, bl
je 0x100088d9
jmp 0x100088cf
cmp eax, 0x5e
jne 0x100087e0
push 2
lea ecx, [esi + 0x24]
call fcn.10008910
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100087d4
cmp byte [eax], 0x5c
jne 0x100087d2
inc eax
cmp eax, ecx
je 0x100087d2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100087bf
mov dl, byte [eax]
cmp dl, 0x28
je 0x100087d0
cmp dl, 0x29
je 0x100087d0
test cl, 0x10
jne 0x100087d2
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100087d0
cmp cl, 0x7d
jne 0x100087d2
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10007960
jmp 0x100088d9
cmp eax, 0x24
jne 0x10008836
push 3
lea ecx, [esi + 0x24]
call fcn.10008910
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x1000882a
cmp byte [eax], 0x5c
jne 0x10008828
inc eax
cmp eax, ecx
je 0x10008828
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x10008815
mov dl, byte [eax]
cmp dl, 0x28
je 0x10008826
cmp dl, 0x29
je 0x10008826
test cl, 0x10
jne 0x10008828
mov cl, byte [eax]
cmp cl, 0x7b
je 0x10008826
cmp cl, 0x7d
jne 0x10008828
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10007960
jmp 0x100088d9
cmp eax, 0x2a
je 0x100088ed
cmp eax, 0x2b
je 0x100088ed
cmp eax, 0x3f
je 0x100088ed
cmp eax, 0x7b
je 0x100088ed
cmp eax, 0x7d
jne 0x1000886e
test dword [esi + 0x50], 0x10000000
je 0x100088fb
jmp 0x10008880
cmp eax, 0x5d
jne 0x10008880
test dword [esi + 0x50], 0x10000000
je 0x10008902
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10009810
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x100088c8
cmp byte [eax], 0x5c
jne 0x100088c6
inc eax
cmp eax, ecx
je 0x100088c6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x100088b3
mov dl, byte [eax]
cmp dl, 0x28
je 0x100088c4
cmp dl, 0x29
je 0x100088c4
test cl, 0x10
jne 0x100088c6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x100088c4
cmp cl, 0x7d
jne 0x100088c6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.10007960
mov ecx, esi
call fcn.100095e0
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x10008496
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.10007950
push 5
call fcn.10007950
push 6
call fcn.10007950
push 4
call fcn.10007950
int3