Fix BER decoding for the long form

The below ASN1 was parsed as "long form" even if it is not the
long form. The highest bit indicates if it is the long form or
the indefinite form. The below was going through the long form
path but there is no long form in it. Change the long form code
but don't verify it. It might still be broken.

[98, 87, 130, 2, 120, 33, 131, 2, 127, 255, 132, 16, 160, 0, 0, 0, 135, 16, 2, 255, 255, 255, 255, 137, 7, 9, 0, 0, 165, 22, 131, 2, 127, 255, 203, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 1, 128, 138, 1, 5, 171, 21, 128, 1, 1, 164, 6, 131, 1, 10, 149, 1, 8, 128, 1, 64, 151, 0, 128, 1, 6, 144, 0, 198, 9, 144, 1, 64, 131, 1, 1, 131, 1, 129]
diff --git a/card/utils.py b/card/utils.py
index 05e7a9e..3c1b1f1 100644
--- a/card/utils.py
+++ b/card/utils.py
@@ -163,8 +163,8 @@
         Tag_num += Tag_bits[len(Tag_bits)-j-1] * pow(2, j)
     
     # Length coded with more than 1 byte
-    if bytelist[i+1] > 0x50:
-        Len_num = bytelist[i+1] - 0x50
+    if bytelist[i+1] & 0x80 > 0:
+        Len_num = bytelist[i+1] - 0x80
         Len_bytes = bytelist[i+2:i+1+Len_num]
         Len = 0
         for j in range(len(Len_bytes)):