; class 0/29 .class public final super com/intel/otp/vasco/AppletImpl .super com/intel/util/IntelApplet .field mInitialized Z .field mOtpf Lcom/intel/otp/vasco/OtpFramework; .field mReplyBuffer [B .field static final COMMAND_ID_CAPTCHA_PAD I .field static final COMMAND_ID_FIXED_PIN_PAD I .field static final COMMAND_ID_GET_BUTTON_MAP I .field static final COMMAND_ID_GET_IMAGE_CHUNK I .field static final COMMAND_ID_GET_OTP I .field static final COMMAND_ID_MOUSE_CLICKED I .field static final COMMAND_ID_OK_BUTTON I .field static final COMMAND_ID_RANDOM_PIN_PAD I .field static final COMMAND_ID_REPORT_MOUSE_CLICKS I .field static final COMMAND_ID_RESET I .field public static final MAX_BUFFER_LENGTH I .field public static final MAX_PAYLOAD_LENGTH I .method public : ()V .limit stack 2 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial com/intel/util/IntelApplet/()V aload_0 iconst_0 putfield AppletImpl/mInitialized Z return .end method .method public invokeCommand : (I[B)I .limit stack 4 .limit locals 5 ; Bytecode disassembly: iconst_0 istore_3 iconst_0 istore 4 ; (0x4) aload_0 getfield AppletImpl/mReplyBuffer [B iconst_0 sipush 4050 ; (0xFD2) iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V aload_0 getfield AppletImpl/mOtpf Lcom/intel/otp/vasco/OtpFramework; aload_2 aload_0 getfield AppletImpl/mReplyBuffer [B invokevirtual com/intel/otp/vasco/OtpFramework/processIHAMessage([B[B)S istore_3 aload_0 aload_0 getfield AppletImpl/mReplyBuffer [B iconst_0 iload_3 invokevirtual com/intel/otp/vasco/AppletImpl/setResponse([BII)V aload_0 getfield AppletImpl/mReplyBuffer [B iconst_0 sipush 4050 ; (0xFD2) iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V iload 4 ; (0x4) ireturn .end method .method public onClose : ()I .limit stack 2 .limit locals 1 ; Bytecode disassembly: aload_0 aconst_null putfield AppletImpl/mOtpf Lcom/intel/otp/vasco/OtpFramework; aload_0 aconst_null putfield AppletImpl/mReplyBuffer [B iconst_0 ireturn .end method .method public onInit : ([B)I .limit stack 3 .limit locals 2 ; Bytecode disassembly: aload_0 new com/intel/otp/vasco/OtpFramework dup invokespecial com/intel/otp/vasco/OtpFramework/()V putfield AppletImpl/mOtpf Lcom/intel/otp/vasco/OtpFramework; aload_0 sipush 4050 ; (0xFD2) newarray byte putfield AppletImpl/mReplyBuffer [B iconst_0 ireturn .end method .method static : ()V .limit stack 1 .limit locals 0 ; Bytecode disassembly: sipush 4000 ; (0xFA0) putstatic AppletImpl/MAX_PAYLOAD_LENGTH I sipush 4050 ; (0xFD2) putstatic AppletImpl/MAX_BUFFER_LENGTH I iconst_1 putstatic AppletImpl/COMMAND_ID_FIXED_PIN_PAD I iconst_2 putstatic AppletImpl/COMMAND_ID_RANDOM_PIN_PAD I iconst_3 putstatic AppletImpl/COMMAND_ID_MOUSE_CLICKED I iconst_4 putstatic AppletImpl/COMMAND_ID_GET_BUTTON_MAP I iconst_5 putstatic AppletImpl/COMMAND_ID_REPORT_MOUSE_CLICKS I bipush 6 ; (0x6) putstatic AppletImpl/COMMAND_ID_GET_OTP I bipush 7 ; (0x7) putstatic AppletImpl/COMMAND_ID_RESET I bipush 8 ; (0x8) putstatic AppletImpl/COMMAND_ID_GET_IMAGE_CHUNK I bipush 9 ; (0x9) putstatic AppletImpl/COMMAND_ID_CAPTCHA_PAD I bipush 10 ; (0xa) putstatic AppletImpl/COMMAND_ID_OK_BUTTON I return .end method .end class ; class 1/29 .class super com/intel/otp/vasco/DP4Java .super java/lang/Object .const [o6802] = Long 10L ; 0xA .const [o6810] = Long 48L ; 0x30 .const [o6818] = Long 4294967295L ; 0xFFFFFFFF .field private static final CONSTANT [B .method : ()V .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V return .end method .method static : ()V .limit stack 4 .limit locals 0 ; Bytecode disassembly: sipush 16 newarray byte dup iconst_0 sipush 242 bastore dup iconst_1 sipush 227 bastore dup iconst_2 sipush 222 bastore dup iconst_3 sipush 207 bastore dup iconst_4 bipush 57 bastore dup iconst_5 bipush 68 bastore dup sipush 6 bipush 58 bastore dup sipush 7 bipush 87 bastore dup sipush 8 bipush 57 bastore dup sipush 9 sipush 250 bastore dup sipush 10 bipush 29 bastore dup sipush 11 sipush 222 bastore dup sipush 12 bipush 61 bastore dup sipush 13 bipush 90 bastore dup sipush 14 sipush 229 bastore dup sipush 15 sipush 214 bastore putstatic DP4Java/CONSTANT [B return .end method .method private static calcCheckdigit : (Z[BSS)B .limit stack 3 .limit locals 9 ; Bytecode disassembly: bipush 10 ; (0xa) istore 4 ; (0x4) bipush 11 ; (0xb) istore 5 ; (0x5) iload_0 ifeq LABEL_0368 bipush 10 ; (0xa) istore 4 ; (0x4) bipush 11 ; (0xb) istore 5 ; (0x5) goto LABEL_0370 LABEL_0368: bipush 16 ; (0x10) istore 4 ; (0x4) bipush 17 ; (0x11) istore 5 ; (0x5) LABEL_0370: iload 4 ; (0x4) istore 6 ; (0x6) iconst_0 istore 7 ; (0x7) LABEL_0377: iload 7 ; (0x7) iload_3 if_icmpge LABEL_03CA aload_1 iload_2 iload 7 ; (0x7) iadd i2s baload invokestatic com/intel/otp/vasco/DP4Java/hex2Val(B)B i2s istore 8 ; (0x8) iload 8 ; (0x8) ifge LABEL_0392 iconst_m1 ireturn LABEL_0392: iload 6 ; (0x6) iload 8 ; (0x8) iadd i2b istore 6 ; (0x6) iload 6 ; (0x6) iload 4 ; (0x4) if_icmple LABEL_03AA iload 6 ; (0x6) iload 4 ; (0x4) isub i2b istore 6 ; (0x6) LABEL_03AA: iload 6 ; (0x6) iconst_1 ishl i2b istore 6 ; (0x6) iload 6 ; (0x6) iload 5 ; (0x5) if_icmple LABEL_03C0 iload 6 ; (0x6) iload 5 ; (0x5) isub i2b istore 6 ; (0x6) LABEL_03C0: iload 7 ; (0x7) iconst_1 iadd i2s istore 7 ; (0x7) goto LABEL_0377 LABEL_03CA: iload 5 ; (0x5) iload 6 ; (0x6) isub i2b istore 6 ; (0x6) iload 6 ; (0x6) iload 4 ; (0x4) if_icmpne LABEL_03DD iconst_0 istore 6 ; (0x6) LABEL_03DD: iload 6 ; (0x6) bipush 10 ; (0xa) if_icmpge LABEL_03EB iload 6 ; (0x6) bipush 48 ; (0x30) iadd i2b ireturn LABEL_03EB: iload 6 ; (0x6) bipush 65 ; (0x41) iadd bipush 10 ; (0xa) isub i2b ireturn .end method .method private static calcPINCheckValue : ([BB[B)V .limit stack 5 .limit locals 8 ; Bytecode disassembly: iload_1 iconst_1 if_icmpne LABEL_0462 iconst_0 istore_3 iconst_0 istore 4 ; (0x4) iconst_1 istore 5 ; (0x5) iconst_0 istore 6 ; (0x6) LABEL_040F: iload 6 ; (0x6) aload_0 arraylength if_icmpge LABEL_0456 aload_0 iload 6 ; (0x6) baload bipush 48 ; (0x30) isub istore 7 ; (0x7) iload 5 ; (0x5) ifeq LABEL_0440 iload 4 ; (0x4) bipush 9 ; (0x9) if_icmple LABEL_0432 iinc 4 -9 goto LABEL_0438 LABEL_0432: iload 7 ; (0x7) iconst_2 imul istore 4 ; (0x4) LABEL_0438: iload_3 iload 4 ; (0x4) iadd istore_3 goto LABEL_0445 LABEL_0440: iload_3 iload 7 ; (0x7) iadd istore_3 LABEL_0445: iload 5 ; (0x5) iconst_1 ixor istore 5 ; (0x5) iload 6 ; (0x6) iconst_1 iadd i2s istore 6 ; (0x6) goto LABEL_040F LABEL_0456: aload_2 iconst_0 iload_3 bipush 10 ; (0xa) irem i2b bastore goto LABEL_047A LABEL_0462: iload_1 iconst_2 if_icmpne LABEL_047A aload_0 iconst_1 aload_2 arraylength i2s invokestatic com/intel/otp/vasco/VDS_Crypto/vdsHash([BSS)[B astore_3 aload_3 iconst_0 aload_2 iconst_0 aload_2 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_047A: return .end method .method private static calculateCipherKeys : ([B[B)[B .limit stack 5 .limit locals 4 ; Bytecode disassembly: bipush 16 ; (0x10) newarray byte astore_3 aload_0 bipush 10 ; (0xa) aload_3 iconst_0 bipush 16 ; (0x10) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V bipush 9 ; (0x9) aload_1 aload_3 aconst_null invokestatic com/intel/otp/vasco/VDS_Crypto/vdsDESCipher(B[B[B[B)[B astore_2 aload_2 areturn .end method .method private static checkActivateParams : ([B[B[B[B)V .limit stack 2 .limit locals 4 ; Bytecode disassembly: aload_0 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_3 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_2 bipush 16 ; (0x10) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_1 ifnonnull LABEL_04C6 sipush -4037 ; (0xFFFFF03B) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_04C6: aload_1 arraylength bipush 15 ; (0xf) if_icmpeq LABEL_04DE aload_1 arraylength bipush 23 ; (0x17) if_icmpeq LABEL_04DE sipush -4037 ; (0xFFFFF03B) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_04DE: return .end method .method private static checkDtfs : ([BZ)V .limit stack 3 .limit locals 9 ; Bytecode disassembly: aload_0 ifnull LABEL_05C8 aload_0 arraylength ifeq LABEL_05C8 aload_0 iconst_0 baload istore_2 iconst_1 istore_3 iconst_0 istore 4 ; (0x4) LABEL_04FB: iload 4 ; (0x4) iload_2 if_icmpge LABEL_05C8 iload_3 aload_0 arraylength if_icmplt LABEL_0510 sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0510: aload_0 iload_3 baload istore 5 ; (0x5) iconst_0 istore 6 ; (0x6) LABEL_0518: iload 6 ; (0x6) iload 5 ; (0x5) if_icmpge LABEL_05BA iload_3 iconst_1 iadd iload 6 ; (0x6) iadd istore 7 ; (0x7) iload 7 ; (0x7) aload_0 arraylength if_icmplt LABEL_0538 sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0538: aload_0 iload 7 ; (0x7) baload istore 8 ; (0x8) iload 8 ; (0x8) bipush 97 ; (0x61) if_icmplt LABEL_055C iload 8 ; (0x8) bipush 122 ; (0x7a) if_icmpgt LABEL_055C iload 8 ; (0x8) bipush 32 ; (0x20) isub i2b istore 8 ; (0x8) aload_0 iload 7 ; (0x7) iload 8 ; (0x8) bastore LABEL_055C: iload_1 ifeq LABEL_058C iload 8 ; (0x8) bipush 48 ; (0x30) if_icmplt LABEL_0570 iload 8 ; (0x8) bipush 57 ; (0x39) if_icmple LABEL_05B4 LABEL_0570: iload 8 ; (0x8) bipush 65 ; (0x41) if_icmplt LABEL_0580 iload 8 ; (0x8) bipush 90 ; (0x5a) if_icmple LABEL_05B4 LABEL_0580: sipush -4108 ; (0xFFFFEFF4) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V goto LABEL_05B4 LABEL_058C: iload 8 ; (0x8) bipush 48 ; (0x30) if_icmplt LABEL_059C iload 8 ; (0x8) bipush 57 ; (0x39) if_icmple LABEL_05B4 LABEL_059C: iload 8 ; (0x8) bipush 65 ; (0x41) if_icmplt LABEL_05AC iload 8 ; (0x8) bipush 70 ; (0x46) if_icmple LABEL_05B4 LABEL_05AC: sipush -4108 ; (0xFFFFEFF4) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_05B4: iinc 6 1 goto LABEL_0518 LABEL_05BA: iload_3 iload 5 ; (0x5) iconst_1 iadd iadd istore_3 iinc 4 1 goto LABEL_04FB LABEL_05C8: return .end method .method private static checkInput : ([BI)V .limit stack 2 .limit locals 2 ; Bytecode disassembly: aload_0 ifnonnull LABEL_05DE sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_05DE: aload_0 arraylength iload_1 if_icmpeq LABEL_05EC sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_05EC: return .end method .method private static checkInputVectorsFormat : ([B[B[B)V .limit stack 2 .limit locals 3 ; Bytecode disassembly: aload_0 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_1 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_2 bipush 16 ; (0x10) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V return .end method .method private static checkSetNewPinParams : ([B[B[B[B[B)V .limit stack 3 .limit locals 6 ; Bytecode disassembly: aload_0 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_1 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload 4 ; (0x4) bipush 16 ; (0x10) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_2 ifnull LABEL_062E aload_3 ifnonnull LABEL_0636 LABEL_062E: sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0636: aload_2 arraylength bipush 65 ; (0x41) if_icmpgt LABEL_0646 aload_3 arraylength bipush 65 ; (0x41) if_icmple LABEL_064E LABEL_0646: sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_064E: aload_3 invokestatic com/intel/otp/vasco/VDS_Utils/isNullOrEmpty([B)Z istore 5 ; (0x5) iload 5 ; (0x5) ifeq LABEL_0667 new com/intel/otp/vasco/VDS_Exception dup sipush -4114 ; (0xFFFFEFEE) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0667: aload_3 arraylength aload_0 bipush 24 ; (0x18) baload if_icmpge LABEL_067D new com/intel/otp/vasco/VDS_Exception dup sipush -4114 ; (0xFFFFEFEE) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_067D: return .end method .method private static computeContext : (Lcom/intel/crypto/SymmetricBlockCipherAlg;[B[BLcom/intel/otp/vasco/VDS_Codeword;)V .limit stack 6 .limit locals 9 ; Bytecode disassembly: aload_3 invokevirtual com/intel/otp/vasco/VDS_Codeword/isAesUsed()Z ifeq LABEL_0702 bipush 16 ; (0x10) newarray byte astore 4 ; (0x4) iconst_0 istore 5 ; (0x5) LABEL_0697: iload 5 ; (0x5) bipush 16 ; (0x10) if_icmpge LABEL_06B0 aload 4 ; (0x4) iload 5 ; (0x5) aload_2 iload 5 ; (0x5) bipush 8 ; (0x8) irem baload bastore iinc 5 1 goto LABEL_0697 LABEL_06B0: aload_0 aload_1 iconst_0 aload_1 arraylength i2s invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/setKey([BSS)V bipush 16 ; (0x10) newarray byte astore 5 ; (0x5) aload_0 aload 4 ; (0x4) iconst_0 bipush 16 ; (0x10) aload 5 ; (0x5) iconst_0 invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/encryptComplete([BSS[BS)S pop goto LABEL_06DA astore 6 ; (0x6) sipush -4199 ; (0xFFFFEF99) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_06DA: iconst_0 istore 6 ; (0x6) LABEL_06DD: iload 6 ; (0x6) bipush 8 ; (0x8) if_icmpge LABEL_06FE aload_2 iload 6 ; (0x6) aload 5 ; (0x5) iload 6 ; (0x6) baload aload 5 ; (0x5) iload 6 ; (0x6) bipush 8 ; (0x8) iadd baload ixor i2b bastore iinc 6 1 goto LABEL_06DD LABEL_06FE: goto LABEL_0784 LABEL_0702: aload_3 invokevirtual com/intel/otp/vasco/VDS_Codeword/isOathUsed()Z ifeq LABEL_077E bipush 8 ; (0x8) newarray byte astore 4 ; (0x4) aload_2 iconst_0 aload 4 ; (0x4) iconst_4 iconst_4 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V bipush 20 ; (0x14) newarray byte astore 5 ; (0x5) aload_2 iconst_4 aload 5 ; (0x5) iconst_0 iconst_4 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_1 iconst_0 aload 5 ; (0x5) iconst_4 bipush 16 ; (0x10) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V bipush 20 ; (0x14) newarray byte astore 6 ; (0x6) aload 6 ; (0x6) aload 5 ; (0x5) bipush 20 ; (0x14) aload 4 ; (0x4) bipush 8 ; (0x8) invokestatic com/intel/otp/vasco/VDS_Crypto/vdsSha1Hmac([B[BS[BS)V bipush 10 ; (0xa) newarray byte astore 7 ; (0x7) aload 6 ; (0x6) bipush 19 ; (0x13) baload bipush 15 ; (0xf) iand istore 8 ; (0x8) aload 6 ; (0x6) iload 8 ; (0x8) aload 7 ; (0x7) iconst_4 iconst_4 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload 7 ; (0x7) iconst_4 aload 7 ; (0x7) iconst_4 baload bipush 127 ; (0x7f) iand i2b bastore aload 7 ; (0x7) iconst_0 aload_2 iconst_0 bipush 10 ; (0xa) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V goto LABEL_0784 LABEL_077E: aload_0 aload_1 aload_2 invokestatic com/intel/otp/vasco/DP4Java/useDes(Lcom/intel/crypto/SymmetricBlockCipherAlg;[B[B)V LABEL_0784: return .end method .method private static formatAut32Exor : ([BLcom/intel/otp/vasco/VDS_Codeword;)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_1 invokevirtual com/intel/otp/vasco/VDS_Codeword/isAut32Exor()Z ifeq LABEL_07C0 aload_0 iconst_0 dup2 baload aload_0 iconst_4 baload ixor i2b bastore aload_0 iconst_1 dup2 baload aload_0 iconst_5 baload ixor i2b bastore aload_0 iconst_2 dup2 baload aload_0 bipush 6 ; (0x6) baload ixor i2b bastore aload_0 iconst_3 dup2 baload aload_0 bipush 7 ; (0x7) baload ixor i2b bastore LABEL_07C0: return .end method .method static getDPSerNumb : ([B[B)[B .limit stack 5 .limit locals 3 ; Bytecode disassembly: aload_0 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_1 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V bipush 10 ; (0xa) newarray byte astore_2 aload_0 iconst_2 aload_2 iconst_0 iconst_3 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_1 iconst_2 aload_2 iconst_3 bipush 7 ; (0x7) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_2 areturn .end method .method private static getDTFNumber : ([B)I .limit stack 3 .limit locals 5 ; Bytecode disassembly: iconst_0 istore_1 aload_0 ifnull LABEL_0832 iconst_0 istore_2 iconst_0 istore_3 iconst_1 istore 4 ; (0x4) LABEL_0805: iload 4 ; (0x4) ifeq LABEL_0832 iload_2 iload_3 iconst_1 iadd iadd istore_2 aload_0 iload_2 baload istore_3 iload_3 ifle LABEL_081B iinc 1 1 LABEL_081B: iload_3 ifle LABEL_082C iload_1 aload_0 iconst_0 baload if_icmpge LABEL_082C iconst_1 goto LABEL_082D LABEL_082C: iconst_0 LABEL_082D: istore 4 ; (0x4) goto LABEL_0805 LABEL_0832: iload_1 ireturn .end method .method private static hex2Val : (B)B .limit stack 2 .limit locals 1 ; Bytecode disassembly: iload_0 bipush 48 ; (0x30) if_icmplt LABEL_084E iload_0 bipush 57 ; (0x39) if_icmpgt LABEL_084E iload_0 bipush 48 ; (0x30) isub i2b ireturn LABEL_084E: iload_0 bipush 97 ; (0x61) if_icmplt LABEL_0863 iload_0 bipush 102 ; (0x66) if_icmpgt LABEL_0863 iload_0 bipush 10 ; (0xa) iadd bipush 97 ; (0x61) isub i2b ireturn LABEL_0863: iload_0 bipush 65 ; (0x41) if_icmplt LABEL_0879 iload_0 bipush 70 ; (0x46) if_icmpgt LABEL_0879 iload_0 bipush 10 ; (0xa) iadd bipush 65 ; (0x41) isub i2b ireturn LABEL_0879: iconst_m1 ireturn .end method .method private static includeChalInContext : (Lcom/intel/crypto/SymmetricBlockCipherAlg;[B[B[BLcom/intel/otp/vasco/VDS_Codeword;)V .limit stack 8 .limit locals 11 ; Bytecode disassembly: iconst_1 istore 5 ; (0x5) bipush 16 ; (0x10) newarray byte astore 6 ; (0x6) aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/isConcatenated()Z ifne LABEL_08AA aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/getInputType()B iconst_1 if_icmpeq LABEL_08AA aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/getInputType()B iconst_2 if_icmpne LABEL_08AE LABEL_08AA: iconst_1 goto LABEL_08AF LABEL_08AE: iconst_0 LABEL_08AF: istore 7 ; (0x7) aload_3 iload 7 ; (0x7) invokestatic com/intel/otp/vasco/DP4Java/checkDtfs([BZ)V aload_3 invokestatic com/intel/otp/vasco/DP4Java/getDTFNumber([B)I istore 8 ; (0x8) iconst_0 istore 9 ; (0x9) LABEL_08C1: iload 9 ; (0x9) iload 8 ; (0x8) if_icmpge LABEL_0C42 iconst_0 istore 10 ; (0xa) LABEL_08CB: iload 10 ; (0xa) bipush 16 ; (0x10) if_icmpge LABEL_08DE aload 6 ; (0x6) iload 10 ; (0xa) iconst_0 bastore iinc 10 1 goto LABEL_08CB LABEL_08DE: aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/getInputType()B tableswitch 0 LABEL_08F4 ; case 0 LABEL_09DE ; case 1 LABEL_0A44 ; case 2 LABEL_0AA4 ; case 3 default: LABEL_0BB6 LABEL_08F4: iconst_0 istore 10 ; (0xa) LABEL_08F7: iload 10 ; (0xa) aload_3 iload 5 ; (0x5) baload if_icmpge LABEL_0996 iload 10 ; (0xa) iconst_1 iand ifle LABEL_094A aload_3 iload 5 ; (0x5) iload 10 ; (0xa) iadd iconst_1 iadd baload bipush 57 ; (0x39) if_icmple LABEL_0930 aload 6 ; (0x6) iload 10 ; (0xa) iconst_1 ishr dup2 baload aload_3 iload 5 ; (0x5) iload 10 ; (0xa) iadd iconst_1 iadd baload bipush 55 ; (0x37) isub ixor i2b bastore goto LABEL_0990 LABEL_0930: aload 6 ; (0x6) iload 10 ; (0xa) iconst_1 ishr dup2 baload aload_3 iload 5 ; (0x5) iload 10 ; (0xa) iadd iconst_1 iadd baload bipush 48 ; (0x30) isub ixor i2b bastore goto LABEL_0990 LABEL_094A: aload_3 iload 5 ; (0x5) iload 10 ; (0xa) iadd iconst_1 iadd baload bipush 57 ; (0x39) if_icmple LABEL_0976 aload 6 ; (0x6) iload 10 ; (0xa) iconst_1 ishr dup2 baload aload_3 iload 5 ; (0x5) iload 10 ; (0xa) iadd iconst_1 iadd baload bipush 55 ; (0x37) isub iconst_4 ishl i2b ixor i2b bastore goto LABEL_0990 LABEL_0976: aload 6 ; (0x6) iload 10 ; (0xa) iconst_1 ishr dup2 baload aload_3 iload 5 ; (0x5) iload 10 ; (0xa) iadd iconst_1 iadd baload bipush 48 ; (0x30) isub iconst_4 ishl i2b ixor i2b bastore LABEL_0990: iinc 10 1 goto LABEL_08F7 LABEL_0996: aload_3 iload 5 ; (0x5) baload istore 10 ; (0xa) LABEL_099C: iload 10 ; (0xa) bipush 16 ; (0x10) if_icmpge LABEL_09DA iload 10 ; (0xa) iconst_1 iand ifle LABEL_09C0 aload 6 ; (0x6) iload 10 ; (0xa) iconst_1 ishr dup2 baload aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/getInputFill()B ixor i2b bastore goto LABEL_09D4 LABEL_09C0: aload 6 ; (0x6) iload 10 ; (0xa) iconst_1 ishr dup2 baload aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/getInputFill()B iconst_4 ishl i2b ixor i2b bastore LABEL_09D4: iinc 10 1 goto LABEL_099C LABEL_09DA: goto LABEL_0BB6 LABEL_09DE: iconst_0 istore 10 ; (0xa) LABEL_09E1: iload 10 ; (0xa) aload_3 iload 5 ; (0x5) baload if_icmpge LABEL_0A12 aload 6 ; (0x6) iload 10 ; (0xa) dup2 baload aload_3 iload 5 ; (0x5) iload 10 ; (0xa) iadd iconst_1 iadd baload bipush 63 ; (0x3f) iand i2b ixor i2b bastore iload 10 ; (0xa) bipush 7 ; (0x7) if_icmpne LABEL_0A0C goto LABEL_0A12 LABEL_0A0C: iinc 10 1 goto LABEL_09E1 LABEL_0A12: aload_3 iload 5 ; (0x5) baload istore 10 ; (0xa) LABEL_0A18: iload 10 ; (0xa) bipush 8 ; (0x8) if_icmpge LABEL_0A40 aload 6 ; (0x6) iload 10 ; (0xa) dup2 baload aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/getInputFill()B aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/getInputFill()B iconst_4 ishl i2b ior i2b ixor i2b bastore iinc 10 1 goto LABEL_0A18 LABEL_0A40: goto LABEL_0BB6 LABEL_0A44: iconst_0 istore 10 ; (0xa) LABEL_0A47: iload 10 ; (0xa) aload_3 iload 5 ; (0x5) baload if_icmpge LABEL_0A78 aload 6 ; (0x6) iload 10 ; (0xa) dup2 baload aload_3 iload 5 ; (0x5) iload 10 ; (0xa) iadd iconst_1 iadd baload bipush 63 ; (0x3f) iand i2b ixor i2b bastore iload 10 ; (0xa) bipush 7 ; (0x7) if_icmpne LABEL_0A72 goto LABEL_0A78 LABEL_0A72: iinc 10 1 goto LABEL_0A47 LABEL_0A78: aload_3 iload 5 ; (0x5) baload istore 10 ; (0xa) LABEL_0A7E: iload 10 ; (0xa) bipush 8 ; (0x8) if_icmpge LABEL_0AA0 aload 6 ; (0x6) iload 10 ; (0xa) dup2 baload aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/getInputFill()B bipush 48 ; (0x30) ior i2b ixor i2b bastore iinc 10 1 goto LABEL_0A7E LABEL_0AA0: goto LABEL_0BB6 LABEL_0AA4: iconst_0 istore 10 ; (0xa) LABEL_0AA7: iload 10 ; (0xa) bipush 16 ; (0x10) aload_3 iload 5 ; (0x5) baload isub if_icmpge LABEL_0AE6 iload 10 ; (0xa) iconst_1 iand ifle LABEL_0AD0 aload 6 ; (0x6) iload 10 ; (0xa) iconst_1 ishr dup2 baload aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/getInputFill()B ixor i2b bastore goto LABEL_0AE0 LABEL_0AD0: aload 6 ; (0x6) iload 10 ; (0xa) iconst_1 ishr aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/getInputFill()B iconst_4 ishl i2b bastore LABEL_0AE0: iinc 10 1 goto LABEL_0AA7 LABEL_0AE6: bipush 16 ; (0x10) aload_3 iload 5 ; (0x5) baload isub i2s istore 10 ; (0xa) LABEL_0AF0: iload 10 ; (0xa) bipush 16 ; (0x10) if_icmpge LABEL_0BB6 iload 10 ; (0xa) iconst_1 iand ifle LABEL_0B5A aload_3 iload 5 ; (0x5) iconst_1 iadd iload 10 ; (0xa) aload_3 iload 5 ; (0x5) baload iadd bipush 16 ; (0x10) isub iadd baload bipush 57 ; (0x39) if_icmple LABEL_0B38 aload 6 ; (0x6) iload 10 ; (0xa) iconst_1 ishr dup2 baload aload_3 iload 5 ; (0x5) iconst_1 iadd iload 10 ; (0xa) aload_3 iload 5 ; (0x5) baload iadd bipush 16 ; (0x10) isub iadd baload bipush 55 ; (0x37) isub ixor i2b bastore goto LABEL_0BB0 LABEL_0B38: aload 6 ; (0x6) iload 10 ; (0xa) iconst_1 ishr dup2 baload aload_3 iload 5 ; (0x5) iconst_1 iadd iload 10 ; (0xa) aload_3 iload 5 ; (0x5) baload iadd bipush 16 ; (0x10) isub iadd baload bipush 48 ; (0x30) isub ixor i2b bastore goto LABEL_0BB0 LABEL_0B5A: aload_3 iload 5 ; (0x5) iconst_1 iadd iload 10 ; (0xa) aload_3 iload 5 ; (0x5) baload iadd bipush 16 ; (0x10) isub iadd baload bipush 57 ; (0x39) if_icmple LABEL_0B92 aload 6 ; (0x6) iload 10 ; (0xa) iconst_1 ishr aload_3 iload 5 ; (0x5) iconst_1 iadd iload 10 ; (0xa) aload_3 iload 5 ; (0x5) baload iadd bipush 16 ; (0x10) isub iadd baload bipush 55 ; (0x37) isub iconst_4 ishl i2b bastore goto LABEL_0BB0 LABEL_0B92: aload 6 ; (0x6) iload 10 ; (0xa) iconst_1 ishr aload_3 iload 5 ; (0x5) iconst_1 iadd iload 10 ; (0xa) aload_3 iload 5 ; (0x5) baload iadd bipush 16 ; (0x10) isub iadd baload bipush 48 ; (0x30) isub iconst_4 ishl i2b bastore LABEL_0BB0: iinc 10 1 goto LABEL_0AF0 LABEL_0BB6: aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/isChal1Used()Z ifeq LABEL_0BEC aload_2 iconst_0 dup2 baload aload 6 ; (0x6) iconst_0 baload ixor i2b bastore aload_2 iconst_1 dup2 baload aload 6 ; (0x6) iconst_1 baload ixor i2b bastore aload_2 iconst_2 dup2 baload aload 6 ; (0x6) iconst_2 baload ixor i2b bastore aload_2 iconst_3 dup2 baload aload 6 ; (0x6) iconst_3 baload ixor i2b bastore LABEL_0BEC: aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/isChal2Used()Z ifeq LABEL_0C26 aload_2 iconst_4 dup2 baload aload 6 ; (0x6) iconst_4 baload ixor i2b bastore aload_2 iconst_5 dup2 baload aload 6 ; (0x6) iconst_5 baload ixor i2b bastore aload_2 bipush 6 ; (0x6) dup2 baload aload 6 ; (0x6) bipush 6 ; (0x6) baload ixor i2b bastore aload_2 bipush 7 ; (0x7) dup2 baload aload 6 ; (0x6) bipush 7 ; (0x7) baload ixor i2b bastore LABEL_0C26: aload_0 aload_1 aload_2 aload 4 ; (0x4) invokestatic com/intel/otp/vasco/DP4Java/computeContext(Lcom/intel/crypto/SymmetricBlockCipherAlg;[B[BLcom/intel/otp/vasco/VDS_Codeword;)V iload 5 ; (0x5) aload_3 iload 5 ; (0x5) baload iconst_1 iadd i2s iadd i2s istore 5 ; (0x5) iinc 9 1 goto LABEL_08C1 LABEL_0C42: return .end method .method private static includeTimeInContext : ([BILcom/intel/otp/vasco/VDS_Codeword;[B)V .limit stack 5 .limit locals 6 ; Bytecode disassembly: iload_1 istore 4 ; (0x4) aload_2 invokevirtual com/intel/otp/vasco/VDS_Codeword/isOathUsed()Z ifeq LABEL_0CEE aload_2 invokevirtual com/intel/otp/vasco/VDS_Codeword/getTimerUnit()B bipush 7 ; (0x7) if_icmple LABEL_0C7C iload 4 ; (0x4) bipush 15 ; (0xf) idiv istore 4 ; (0x4) iload 4 ; (0x4) iconst_4 aload_2 invokevirtual com/intel/otp/vasco/VDS_Codeword/getTimerUnit()B bipush 8 ; (0x8) irem iadd iconst_4 isub ishr istore 5 ; (0x5) goto LABEL_0C8F LABEL_0C7C: iload 4 ; (0x4) iconst_4 aload_2 invokevirtual com/intel/otp/vasco/VDS_Codeword/getTimerUnit()B bipush 8 ; (0x8) irem iadd iconst_4 isub iconst_3 iadd ishr istore 5 ; (0x5) LABEL_0C8F: aload_3 iconst_0 iload 5 ; (0x5) bipush 24 ; (0x18) ishr sipush 255 ; (0xFF) iand i2b bastore aload_3 iconst_1 iload 5 ; (0x5) bipush 16 ; (0x10) ishr sipush 255 ; (0xFF) iand i2b bastore aload_3 iconst_2 iload 5 ; (0x5) bipush 8 ; (0x8) ishr sipush 255 ; (0xFF) iand i2b bastore aload_3 iconst_3 iload 5 ; (0x5) sipush 255 ; (0xFF) iand i2b bastore aload_0 iconst_0 dup2 baload aload_3 iconst_0 baload ixor i2b bastore aload_0 iconst_1 dup2 baload aload_3 iconst_1 baload ixor i2b bastore aload_0 iconst_2 dup2 baload aload_3 iconst_2 baload ixor i2b bastore aload_0 iconst_3 dup2 baload aload_3 iconst_3 baload ixor i2b bastore goto LABEL_0D5D LABEL_0CEE: iload 4 ; (0x4) iconst_4 aload_2 invokevirtual com/intel/otp/vasco/VDS_Codeword/getTimerUnit()B iadd iconst_4 isub iconst_3 iadd ishr istore 5 ; (0x5) aload_3 iconst_0 iload 5 ; (0x5) bipush 24 ; (0x18) ishr sipush 255 ; (0xFF) iand i2b bastore aload_3 iconst_1 iload 5 ; (0x5) bipush 16 ; (0x10) ishr sipush 255 ; (0xFF) iand i2b bastore aload_3 iconst_2 iload 5 ; (0x5) bipush 8 ; (0x8) ishr sipush 255 ; (0xFF) iand i2b bastore aload_3 iconst_3 iload 5 ; (0x5) iconst_0 ishr sipush 255 ; (0xFF) iand i2b bastore aload_0 iconst_4 dup2 baload aload_3 iconst_0 baload ixor i2b bastore aload_0 iconst_5 dup2 baload aload_3 iconst_1 baload ixor i2b bastore aload_0 bipush 6 ; (0x6) dup2 baload aload_3 iconst_2 baload ixor i2b bastore aload_0 bipush 7 ; (0x7) dup2 baload aload_3 iconst_3 baload ixor i2b bastore LABEL_0D5D: return .end method .method private static mod32 : (SS)B .limit stack 3 .limit locals 4 ; Bytecode disassembly: iload_0 bipush 8 ; (0x8) ishr i2s sipush 255 ; (0xFF) iand i2s istore_3 iload_3 bipush 10 ; (0xa) irem i2s istore_3 iload_3 bipush 15 ; (0xf) iand i2s istore_3 iload_3 bipush 8 ; (0x8) ishl i2s istore_3 iload_3 iload_0 sipush 255 ; (0xFF) iand i2s iadd i2s istore_3 iload_3 bipush 10 ; (0xa) irem i2s istore_3 iload_3 bipush 15 ; (0xf) iand i2s istore_3 iload_3 bipush 8 ; (0x8) ishl i2s istore_3 iload_3 iload_1 bipush 8 ; (0x8) ishr i2s sipush 255 ; (0xFF) iand i2s iadd i2s istore_3 iload_3 bipush 10 ; (0xa) irem i2s istore_3 iload_3 bipush 15 ; (0xf) iand i2s istore_3 iload_3 bipush 8 ; (0x8) ishl i2s istore_3 iload_3 iload_1 sipush 255 ; (0xFF) iand i2s iadd i2s istore_3 iload_3 bipush 10 ; (0xa) irem i2s istore_3 iload_3 bipush 15 ; (0xf) iand i2b istore_2 iload_2 ireturn .end method .method private static pin2Key : ([B[B[B[B)V .limit stack 5 .limit locals 8 ; Bytecode disassembly: iconst_0 istore 4 ; (0x4) aload_0 arraylength bipush 10 ; (0xa) iadd getstatic DP4Java/CONSTANT [B arraylength iadd newarray byte astore 5 ; (0x5) aload_0 iconst_0 aload 5 ; (0x5) iload 4 ; (0x4) aload_0 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iload 4 ; (0x4) aload_0 arraylength iadd istore 4 ; (0x4) aload_1 iconst_2 aload 5 ; (0x5) iload 4 ; (0x4) iconst_3 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iinc 4 3 aload_2 iconst_2 aload 5 ; (0x5) iload 4 ; (0x4) bipush 7 ; (0x7) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iinc 4 7 getstatic DP4Java/CONSTANT [B iconst_0 aload 5 ; (0x5) iload 4 ; (0x4) getstatic DP4Java/CONSTANT [B arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_1 bipush 29 ; (0x1d) baload bipush 15 ; (0xf) iand istore 6 ; (0x6) iconst_0 istore 7 ; (0x7) LABEL_0E3C: iload 7 ; (0x7) iload 6 ; (0x6) iconst_1 iadd if_icmpge LABEL_0E56 aload 5 ; (0x5) iconst_1 bipush 32 ; (0x20) invokestatic com/intel/otp/vasco/VDS_Crypto/vdsHash([BSS)[B astore 5 ; (0x5) iinc 7 1 goto LABEL_0E3C LABEL_0E56: aload 5 ; (0x5) iconst_0 aload_3 iconst_0 aload_3 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V return .end method .method private static postProcessing : (BS[B[BLcom/intel/otp/vasco/VDS_Codeword;SS[B)Lcom/intel/otp/vasco/DigipassOutput; .limit stack 8 .limit locals 21 ; Bytecode disassembly: bipush 16 ; (0x10) newarray byte astore 9 ; (0x9) aload_3 bipush 37 ; (0x25) iload_1 iadd baload iconst_1 if_icmpne LABEL_0E88 aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/isOathUsed()Z ifne LABEL_0E88 iconst_1 goto LABEL_0E89 LABEL_0E88: iconst_0 LABEL_0E89: istore 10 ; (0xa) aload_3 bipush 36 ; (0x24) iload_1 iadd baload bipush 15 ; (0xf) iand aload_3 bipush 36 ; (0x24) iload_1 iadd baload sipush 240 ; (0xF0) iand iconst_4 ishr iadd i2s istore 11 ; (0xb) iload 11 ; (0xb) ifne LABEL_0EAE bipush 16 ; (0x10) istore 11 ; (0xb) LABEL_0EAE: lconst_0 lstore 12 ; (0xc) iconst_0 istore 8 ; (0x8) LABEL_0EB4: iload 8 ; (0x8) iconst_4 if_icmpge LABEL_0EE4 aload 7 ; (0x7) iload 8 ; (0x8) baload sipush 255 ; (0xFF) iand bipush 24 ; (0x18) bipush 8 ; (0x8) iload 8 ; (0x8) imul isub ishl i2l lstore 14 ; (0xe) lload 14 ; (0xe) ldc [o6818] land lstore 14 ; (0xe) lload 12 ; (0xc) lload 14 ; (0xe) ladd lstore 12 ; (0xc) iinc 8 1 goto LABEL_0EB4 LABEL_0EE4: bipush 20 ; (0x14) newarray byte astore 14 ; (0xe) iload_0 ifne LABEL_0F58 iconst_0 istore 8 ; (0x8) LABEL_0EF1: iload 8 ; (0x8) bipush 8 ; (0x8) if_icmpge LABEL_0F7E aload_2 iload 8 ; (0x8) baload sipush 255 ; (0xFF) iand sipush 160 ; (0xA0) if_icmplt LABEL_0F13 aload_2 iload 8 ; (0x8) dup2 baload sipush 160 ; (0xA0) isub i2b bastore LABEL_0F13: aload_2 iload 8 ; (0x8) baload bipush 15 ; (0xf) iand bipush 10 ; (0xa) if_icmplt LABEL_0F2A aload_2 iload 8 ; (0x8) dup2 baload bipush 10 ; (0xa) isub i2b bastore LABEL_0F2A: aload 9 ; (0x9) iload 8 ; (0x8) iconst_2 imul aload_2 iload 8 ; (0x8) baload iconst_4 ishr bipush 15 ; (0xf) iand bipush 48 ; (0x30) iadd i2b bastore aload 9 ; (0x9) iload 8 ; (0x8) iconst_2 imul iconst_1 iadd aload_2 iload 8 ; (0x8) baload bipush 15 ; (0xf) iand bipush 48 ; (0x30) iadd i2b bastore iinc 8 1 goto LABEL_0EF1 LABEL_0F58: aload_2 iconst_0 aload 9 ; (0x9) iconst_0 bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iload_0 iconst_2 if_icmpne LABEL_0F7E aload 9 ; (0x9) invokestatic com/intel/otp/vasco/VDS_Utils/from8BytesToDEC2([B)[B astore 15 ; (0xf) aload 15 ; (0xf) iconst_4 aload 14 ; (0xe) iconst_0 aload 15 ; (0xf) arraylength iconst_4 isub invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_0F7E: aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/isCountIncr()Z ifeq LABEL_0FD0 iload 5 ; (0x5) iload 6 ; (0x6) invokestatic com/intel/otp/vasco/DP4Java/mod32(SS)B istore 15 ; (0xf) iload_0 iconst_1 if_icmpne LABEL_0FA8 aload 9 ; (0x9) iconst_0 aload 9 ; (0x9) iconst_0 baload sipush 240 ; (0xF0) iand iload 15 ; (0xf) iadd i2b bastore LABEL_0FA8: iload_0 ifne LABEL_0FB6 aload 9 ; (0x9) iconst_1 iload 15 ; (0xf) bipush 48 ; (0x30) iadd i2b bastore LABEL_0FB6: iload_0 iconst_2 if_icmpne LABEL_0FD0 aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/isEventSyncDigit()Z ifeq LABEL_0FD0 aload 14 ; (0xe) iconst_1 iload 15 ; (0xf) bipush 48 ; (0x30) iadd i2b bastore LABEL_0FD0: aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/isLtTiUsed()Z ifeq LABEL_1028 iload_0 iconst_1 if_icmpne LABEL_0FF7 aload 9 ; (0x9) iconst_0 aload 9 ; (0x9) iconst_0 baload bipush 15 ; (0xf) iand i2l lload 12 ; (0xc) ldc [o6802] lrem iconst_4 lshl ladd l2i i2b bastore LABEL_0FF7: iload_0 ifne LABEL_100C aload 9 ; (0x9) iconst_0 lload 12 ; (0xc) ldc [o6802] lrem ldc [o6810] ladd l2i i2b bastore LABEL_100C: iload_0 iconst_2 if_icmpne LABEL_1028 aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/isTimeSyncDigit()Z ifeq LABEL_1028 aload 14 ; (0xe) iconst_0 lload 12 ; (0xc) ldc [o6802] lrem l2i i2b bastore LABEL_1028: iload 10 ; (0xa) ifeq LABEL_10D0 iload 11 ; (0xb) iconst_2 imul newarray byte astore 16 ; (0x10) iload_0 iconst_1 if_icmpne LABEL_1046 aload 9 ; (0x9) bipush 8 ; (0x8) invokestatic com/intel/otp/vasco/VDS_Utils/bytesToAscii([BI)[B astore 16 ; (0x10) LABEL_1046: iload_0 ifne LABEL_105E aload 9 ; (0x9) arraylength newarray byte astore 16 ; (0x10) aload 9 ; (0x9) iconst_0 aload 16 ; (0x10) iconst_0 aload 9 ; (0x9) arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_105E: iload_0 ifne LABEL_1066 iconst_1 goto LABEL_1067 LABEL_1066: iconst_0 LABEL_1067: aload 16 ; (0x10) iconst_0 iload 11 ; (0xb) invokestatic com/intel/otp/vasco/DP4Java/calcCheckdigit(Z[BSS)B istore 15 ; (0xf) iload 15 ; (0xf) iconst_m1 if_icmpeq LABEL_10D0 iload_0 iconst_1 if_icmpne LABEL_10BE iload 15 ; (0xf) invokestatic com/intel/otp/vasco/VDS_Utils/asciiToHex(B)B istore 15 ; (0xf) iload 11 ; (0xb) iconst_2 irem ifne LABEL_10A8 aload 9 ; (0x9) iload 11 ; (0xb) iconst_2 idiv aload 9 ; (0x9) iload 11 ; (0xb) iconst_2 idiv baload bipush 15 ; (0xf) iand iload 15 ; (0xf) iconst_4 ishl ior i2b bastore goto LABEL_10BE LABEL_10A8: aload 9 ; (0x9) iload 11 ; (0xb) iconst_2 idiv aload 9 ; (0x9) iload 11 ; (0xb) iconst_2 idiv baload sipush 240 ; (0xF0) iand iload 15 ; (0xf) ior i2b bastore LABEL_10BE: iload_0 ifne LABEL_10C9 aload 9 ; (0x9) iload 11 ; (0xb) iload 15 ; (0xf) bastore LABEL_10C9: iload 11 ; (0xb) iconst_1 iadd i2s istore 11 ; (0xb) LABEL_10D0: bipush 17 ; (0x11) newarray byte astore 15 ; (0xf) iload_0 iconst_1 if_icmpne LABEL_116E bipush 34 ; (0x22) newarray byte astore 16 ; (0x10) iconst_0 istore 17 ; (0x11) LABEL_10E5: iload 17 ; (0x11) aload 9 ; (0x9) arraylength if_icmpge LABEL_115E aload 9 ; (0x9) iload 17 ; (0x11) baload sipush 255 ; (0xFF) iand bipush 16 ; (0x10) idiv i2b istore 18 ; (0x12) aload 9 ; (0x9) iload 17 ; (0x11) baload sipush 255 ; (0xFF) iand bipush 16 ; (0x10) irem i2b istore 19 ; (0x13) iload 18 ; (0x12) bipush 10 ; (0xa) if_icmpge LABEL_1120 iload 18 ; (0x12) bipush 48 ; (0x30) iadd i2b istore 18 ; (0x12) goto LABEL_1128 LABEL_1120: iload 18 ; (0x12) bipush 55 ; (0x37) iadd i2b istore 18 ; (0x12) LABEL_1128: iload 19 ; (0x13) bipush 10 ; (0xa) if_icmpge LABEL_113C iload 19 ; (0x13) bipush 48 ; (0x30) iadd i2b istore 19 ; (0x13) goto LABEL_1144 LABEL_113C: iload 19 ; (0x13) bipush 55 ; (0x37) iadd i2b istore 19 ; (0x13) LABEL_1144: aload 16 ; (0x10) iconst_2 iload 17 ; (0x11) imul iload 18 ; (0x12) bastore aload 16 ; (0x10) iconst_2 iload 17 ; (0x11) imul iconst_1 iadd iload 19 ; (0x13) bastore iinc 17 1 goto LABEL_10E5 LABEL_115E: aload 16 ; (0x10) iconst_0 aload 15 ; (0xf) iconst_0 iload 11 ; (0xb) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V goto LABEL_117E LABEL_116E: iload_0 ifne LABEL_117E aload 9 ; (0x9) iconst_0 aload 15 ; (0xf) iconst_0 iload 11 ; (0xb) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_117E: aload_3 bipush 36 ; (0x24) iload_1 iadd baload bipush 15 ; (0xf) iand i2s istore 18 ; (0x12) iload 18 ; (0x12) ifne LABEL_1194 bipush 16 ; (0x10) istore 18 ; (0x12) LABEL_1194: aload_3 bipush 36 ; (0x24) iload_1 iadd baload sipush 240 ; (0xF0) iand iconst_4 ishr i2s istore 19 ; (0x13) iload_0 iconst_2 if_icmpne LABEL_123A iload 10 ; (0xa) ifeq LABEL_11C0 iload 18 ; (0x12) iconst_1 iadd newarray byte astore 16 ; (0x10) iconst_0 newarray byte astore 17 ; (0x11) goto LABEL_11CC LABEL_11C0: iload 18 ; (0x12) newarray byte astore 16 ; (0x10) iload 19 ; (0x13) newarray byte astore 17 ; (0x11) LABEL_11CC: aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/isEventSyncDigit()Z ifne LABEL_11E0 aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Codeword/isTimeSyncDigit()Z ifeq LABEL_11FC LABEL_11E0: aload 14 ; (0xe) iconst_0 aload 16 ; (0x10) iconst_0 iload 18 ; (0x12) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload 14 ; (0xe) iload 18 ; (0x12) aload 17 ; (0x11) iconst_0 iload 19 ; (0x13) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V goto LABEL_121E LABEL_11FC: aload 14 ; (0xe) bipush 16 ; (0x10) iload 11 ; (0xb) isub iload 19 ; (0x13) iadd aload 16 ; (0x10) iconst_0 iload 18 ; (0x12) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload 14 ; (0xe) bipush 16 ; (0x10) iload 11 ; (0xb) isub aload 17 ; (0x11) iconst_0 iload 19 ; (0x13) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_121E: iload 10 ; (0xa) ifeq LABEL_1276 iconst_1 aload 16 ; (0x10) iconst_0 iload 11 ; (0xb) invokestatic com/intel/otp/vasco/DP4Java/calcCheckdigit(Z[BSS)B istore 20 ; (0x14) aload 16 ; (0x10) iload 11 ; (0xb) iload 20 ; (0x14) bastore goto LABEL_1276 LABEL_123A: iload 18 ; (0x12) iload 10 ; (0xa) ifeq LABEL_1246 iconst_1 goto LABEL_1247 LABEL_1246: iconst_0 LABEL_1247: iadd newarray byte astore 16 ; (0x10) iload 19 ; (0x13) newarray byte astore 17 ; (0x11) aload 15 ; (0xf) iconst_0 aload 16 ; (0x10) iconst_0 iload 18 ; (0x12) iload 10 ; (0xa) ifeq LABEL_1264 iconst_1 goto LABEL_1265 LABEL_1264: iconst_0 LABEL_1265: iadd invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload 15 ; (0xf) iload 18 ; (0x12) aload 17 ; (0x11) iconst_0 iload 19 ; (0x13) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_1276: new com/intel/otp/vasco/DigipassOutput dup aload 16 ; (0x10) aload 17 ; (0x11) invokespecial com/intel/otp/vasco/DigipassOutput/([B[B)V areturn .end method .method private static resetDVKeyInsideDV : ([B)V .limit stack 4 .limit locals 1 ; Bytecode disassembly: aload_0 iconst_0 iconst_2 iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V aload_0 bipush 10 ; (0xa) bipush 8 ; (0x8) iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V aload_0 bipush 38 ; (0x26) iconst_4 iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V aload_0 bipush 46 ; (0x2e) aload_0 arraylength bipush 46 ; (0x2e) isub iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V return .end method .method private static runDPAlgo : (S[B[B[B[BI)Lcom/intel/otp/vasco/DigipassOutput; .limit stack 8 .limit locals 22 ; Bytecode disassembly: aload_1 aload_2 aload_3 invokestatic com/intel/otp/vasco/DP4Java/checkInputVectorsFormat([B[B[B)V goto LABEL_12D7 astore 6 ; (0x6) new com/intel/otp/vasco/DigipassOutput dup aload 6 ; (0x6) invokevirtual com/intel/otp/vasco/VDS_Exception/getErrorCode()S invokespecial com/intel/otp/vasco/DigipassOutput/(S)V areturn LABEL_12D7: iconst_0 istore 6 ; (0x6) iconst_0 istore 7 ; (0x7) bipush 16 ; (0x10) newarray byte astore 8 ; (0x8) aload_1 iload_0 invokestatic com/intel/otp/vasco/VDS_Utils/getCodewordAppi([BS)[B astore 9 ; (0x9) new com/intel/otp/vasco/VDS_Codeword dup aload 9 ; (0x9) invokespecial com/intel/otp/vasco/VDS_Codeword/([B)V astore 10 ; (0xa) iconst_0 istore 11 ; (0xb) iconst_0 istore 12 ; (0xc) iconst_0 istore 13 ; (0xd) iload_0 iconst_2 if_icmpne LABEL_1310 bipush 9 ; (0x9) istore 11 ; (0xb) bipush 8 ; (0x8) istore 12 ; (0xc) bipush 10 ; (0xa) istore 13 ; (0xd) LABEL_1310: aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/VDS_Codeword/isAesUsed()Z ifeq LABEL_1326 iconst_1 invokestatic com/intel/crypto/SymmetricBlockCipherAlg/create(S)Lcom/intel/crypto/SymmetricBlockCipherAlg; astore 14 ; (0xe) aconst_null astore 15 ; (0xf) goto LABEL_1336 LABEL_1326: bipush 6 ; (0x6) invokestatic com/intel/crypto/SymmetricBlockCipherAlg/create(S)Lcom/intel/crypto/SymmetricBlockCipherAlg; astore 14 ; (0xe) bipush 6 ; (0x6) invokestatic com/intel/crypto/SymmetricBlockCipherAlg/create(S)Lcom/intel/crypto/SymmetricBlockCipherAlg; astore 15 ; (0xf) LABEL_1336: aload_2 aload_3 invokestatic com/intel/otp/vasco/DP4Java/calculateCipherKeys([B[B)[B astore 18 ; (0x12) aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/VDS_Codeword/isAesUsed()Z ifne LABEL_1352 aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/VDS_Codeword/isOathUsed()Z ifeq LABEL_136A LABEL_1352: bipush 16 ; (0x10) newarray byte astore 16 ; (0x10) aconst_null astore 17 ; (0x11) aload 18 ; (0x12) iconst_0 aload 16 ; (0x10) iconst_0 bipush 16 ; (0x10) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V goto LABEL_138E LABEL_136A: bipush 8 ; (0x8) newarray byte astore 16 ; (0x10) bipush 8 ; (0x8) newarray byte astore 17 ; (0x11) aload 18 ; (0x12) iconst_0 aload 16 ; (0x10) iconst_0 bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload 18 ; (0x12) bipush 8 ; (0x8) aload 17 ; (0x11) iconst_0 bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_138E: aload_2 bipush 34 ; (0x22) iload 12 ; (0xc) iadd i2s invokestatic com/intel/otp/vasco/VDS_Utils/getShort([BS)S istore 7 ; (0x7) aload_2 bipush 36 ; (0x24) iload 12 ; (0xc) iadd i2s invokestatic com/intel/otp/vasco/VDS_Utils/getShort([BS)S istore 6 ; (0x6) aload_1 bipush 35 ; (0x23) iload 11 ; (0xb) iadd i2s baload iconst_1 if_icmpne LABEL_13B6 iconst_1 goto LABEL_13B7 LABEL_13B6: iconst_0 LABEL_13B7: istore 19 ; (0x13) iconst_4 newarray byte astore 20 ; (0x14) aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/VDS_Codeword/isCountIncr()Z ifeq LABEL_13EC iload 6 ; (0x6) iconst_m1 if_icmpne LABEL_13D5 iload 7 ; (0x7) iconst_1 iadd i2s istore 7 ; (0x7) LABEL_13D5: iload 6 ; (0x6) iconst_1 iadd i2s istore 6 ; (0x6) aload 8 ; (0x8) iconst_0 iload 7 ; (0x7) invokestatic com/intel/otp/vasco/VDS_Utils/setShort([BSS)V aload 8 ; (0x8) iconst_2 iload 6 ; (0x6) invokestatic com/intel/otp/vasco/VDS_Utils/setShort([BSS)V LABEL_13EC: aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/VDS_Codeword/isLtTiUsed()Z ifeq LABEL_1402 aload 8 ; (0x8) iload 5 ; (0x5) aload 10 ; (0xa) aload 20 ; (0x14) invokestatic com/intel/otp/vasco/DP4Java/includeTimeInContext([BILcom/intel/otp/vasco/VDS_Codeword;[B)V LABEL_1402: aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/VDS_Codeword/isChal1Used()Z aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/VDS_Codeword/isChal2Used()Z ior ifeq LABEL_1424 aload 14 ; (0xe) aload 16 ; (0x10) aload 8 ; (0x8) aload 4 ; (0x4) aload 10 ; (0xa) invokestatic com/intel/otp/vasco/DP4Java/includeChalInContext(Lcom/intel/crypto/SymmetricBlockCipherAlg;[B[B[BLcom/intel/otp/vasco/VDS_Codeword;)V goto LABEL_1430 LABEL_1424: aload 14 ; (0xe) aload 16 ; (0x10) aload 8 ; (0x8) aload 10 ; (0xa) invokestatic com/intel/otp/vasco/DP4Java/computeContext(Lcom/intel/crypto/SymmetricBlockCipherAlg;[B[BLcom/intel/otp/vasco/VDS_Codeword;)V LABEL_1430: iload 19 ; (0x13) ifeq LABEL_1458 aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/VDS_Codeword/isAesUsed()Z ifne LABEL_1458 aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/VDS_Codeword/isOathUsed()Z ifne LABEL_1458 aload 14 ; (0xe) aload 15 ; (0xf) aload 16 ; (0x10) aload 17 ; (0x11) aload 8 ; (0x8) invokestatic com/intel/otp/vasco/DP4Java/useTDes(Lcom/intel/crypto/SymmetricBlockCipherAlg;Lcom/intel/crypto/SymmetricBlockCipherAlg;[B[B[B)V LABEL_1458: iload 19 ; (0x13) ifne LABEL_1486 aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/VDS_Codeword/isAesUsed()Z ifne LABEL_1486 aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/VDS_Codeword/isOathUsed()Z ifne LABEL_1486 aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/VDS_Codeword/isRepeatDes()Z ifeq LABEL_1486 aload 14 ; (0xe) aload 16 ; (0x10) aload 8 ; (0x8) invokestatic com/intel/otp/vasco/DP4Java/useDes(Lcom/intel/crypto/SymmetricBlockCipherAlg;[B[B)V LABEL_1486: aload 8 ; (0x8) aload 10 ; (0xa) invokestatic com/intel/otp/vasco/DP4Java/formatAut32Exor([BLcom/intel/otp/vasco/VDS_Codeword;)V aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/VDS_Codeword/isCountIncr()Z ifeq LABEL_14B0 aload_2 bipush 34 ; (0x22) iload 12 ; (0xc) iadd i2s iload 7 ; (0x7) invokestatic com/intel/otp/vasco/VDS_Utils/setShort([BSS)V aload_2 bipush 36 ; (0x24) iload 12 ; (0xc) iadd i2s iload 6 ; (0x6) invokestatic com/intel/otp/vasco/VDS_Utils/setShort([BSS)V LABEL_14B0: aload_1 bipush 39 ; (0x27) iload 13 ; (0xd) iadd baload istore 21 ; (0x15) iload 21 ; (0x15) iload 11 ; (0xb) aload 8 ; (0x8) aload_1 aload 10 ; (0xa) iload 7 ; (0x7) iload 6 ; (0x6) aload 20 ; (0x14) invokestatic com/intel/otp/vasco/DP4Java/postProcessing(BS[B[BLcom/intel/otp/vasco/VDS_Codeword;SS[B)Lcom/intel/otp/vasco/DigipassOutput; areturn .end method .method static setSerialNumberSuffix : ([B[B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_1 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_0 ifnull LABEL_14E8 aload_0 arraylength bipush 27 ; (0x1b) if_icmple LABEL_14F0 LABEL_14E8: sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_14F0: aload_0 iconst_0 aload_1 iconst_2 bipush 7 ; (0x7) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V return .end method .method private static useDes : (Lcom/intel/crypto/SymmetricBlockCipherAlg;[B[B)V .limit stack 6 .limit locals 5 ; Bytecode disassembly: aload_0 aload_1 iconst_0 aload_1 arraylength i2s invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/setKey([BSS)V bipush 8 ; (0x8) newarray byte astore_3 aload_0 aload_2 iconst_0 bipush 8 ; (0x8) aload_3 iconst_0 invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/encryptComplete([BSS[BS)S pop goto LABEL_152C astore 4 ; (0x4) sipush -4199 ; (0xFFFFEF99) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_152C: aload_3 iconst_0 aload_2 iconst_0 bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V return .end method .method private static useTDes : (Lcom/intel/crypto/SymmetricBlockCipherAlg;Lcom/intel/crypto/SymmetricBlockCipherAlg;[B[B[B)V .limit stack 6 .limit locals 7 ; Bytecode disassembly: aload_1 aload_3 iconst_0 aload_3 arraylength i2s invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/setKey([BSS)V bipush 8 ; (0x8) newarray byte astore 5 ; (0x5) aload_1 aload 4 ; (0x4) iconst_0 bipush 8 ; (0x8) aload 5 ; (0x5) iconst_0 invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/decryptComplete([BSS[BS)S pop goto LABEL_156A astore 6 ; (0x6) sipush -4199 ; (0xFFFFEF99) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_156A: aload 5 ; (0x5) iconst_0 aload 4 ; (0x4) iconst_0 bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_0 aload_2 aload 4 ; (0x4) invokestatic com/intel/otp/vasco/DP4Java/useDes(Lcom/intel/crypto/SymmetricBlockCipherAlg;[B[B)V return .end method .method private static validACode : ([B[B[BZ[B)Z .limit stack 6 .limit locals 9 ; Bytecode disassembly: bipush 8 ; (0x8) newarray byte astore 5 ; (0x5) bipush 8 ; (0x8) newarray byte dup iconst_0 aload_1 iconst_0 baload bastore dup iconst_1 aload_1 iconst_1 baload bastore dup iconst_2 aload_1 iconst_2 baload bastore dup iconst_3 aload_1 iconst_3 baload aload_1 iconst_4 baload iadd i2b bastore dup iconst_4 aload_1 iconst_5 baload aload_1 bipush 6 ; (0x6) baload iadd i2b bastore dup iconst_5 aload_1 bipush 7 ; (0x7) baload aload_1 bipush 8 ; (0x8) baload iadd i2b bastore dup bipush 6 ; (0x6) aload_1 bipush 8 ; (0x8) baload bastore dup bipush 7 ; (0x7) aload_1 bipush 9 ; (0x9) baload bastore astore 7 ; (0x7) aload_0 iconst_0 aload 5 ; (0x5) iconst_0 bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iload_3 ifeq LABEL_1600 bipush 8 ; (0x8) aload_2 aload 5 ; (0x5) aload 7 ; (0x7) invokestatic com/intel/otp/vasco/VDS_Crypto/vdsDESCipher(B[B[B[B)[B astore 6 ; (0x6) aload 6 ; (0x6) invokestatic com/intel/otp/vasco/VDS_Crypto/desSetOddParity([B)V iconst_1 istore 8 ; (0x8) goto LABEL_160F LABEL_1600: bipush 9 ; (0x9) aload_2 aload 5 ; (0x5) aload 7 ; (0x7) invokestatic com/intel/otp/vasco/VDS_Crypto/vdsDESCipher(B[B[B[B)[B astore 6 ; (0x6) iconst_1 istore 8 ; (0x8) LABEL_160F: iload 8 ; (0x8) ifeq LABEL_1620 aload 6 ; (0x6) iconst_0 aload 4 ; (0x4) iconst_0 aload 6 ; (0x6) arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_1620: iload 8 ; (0x8) ireturn .end method .method private static validAndCheckACode : (I[B[B[B[B[BZ[B)S .limit stack 5 .limit locals 11 ; Bytecode disassembly: bipush 8 ; (0x8) newarray byte astore 8 ; (0x8) aload_1 aload 4 ; (0x4) aload 5 ; (0x5) iload 6 ; (0x6) aload 8 ; (0x8) invokestatic com/intel/otp/vasco/DP4Java/validACode([B[B[BZ[B)Z istore 9 ; (0x9) iconst_0 istore 10 ; (0xa) iload 9 ; (0x9) ifne LABEL_169B iload_0 iconst_1 if_icmpne LABEL_1658 sipush -4001 ; (0xFFFFF05F) istore 10 ; (0xa) goto LABEL_165E LABEL_1658: sipush -4002 ; (0xFFFFF05E) istore 10 ; (0xa) LABEL_165E: aload_2 bipush 50 ; (0x32) baload ifeq LABEL_166C aload_3 iconst_1 baload ifne LABEL_166F LABEL_166C: iload 10 ; (0xa) ireturn LABEL_166F: aload_3 bipush 9 ; (0x9) baload ifle LABEL_1682 aload_3 bipush 9 ; (0x9) dup2 baload iconst_1 isub i2b bastore iload 10 ; (0xa) ireturn LABEL_1682: aload_2 bipush 30 ; (0x1e) baload ifne LABEL_1697 aload_3 invokestatic com/intel/otp/vasco/DP4Java/resetDVKeyInsideDV([B)V aload_3 iconst_1 bipush 6 ; (0x6) bastore sipush -4106 ; (0xFFFFEFF6) ireturn LABEL_1697: aload_3 iconst_1 iconst_5 bastore LABEL_169B: aload 8 ; (0x8) iconst_0 aload 7 ; (0x7) iload_0 iconst_1 isub bipush 8 ; (0x8) imul bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iload 10 ; (0xa) ireturn .end method .method static vdsActivate : ([B[B[B[B)S .limit stack 8 .limit locals 11 ; Bytecode disassembly: aload_0 aload_1 aload_2 aload_3 invokestatic com/intel/otp/vasco/DP4Java/checkActivateParams([B[B[B[B)V aload_0 aload_3 invokestatic com/intel/otp/vasco/DP4Java/getDPSerNumb([B[B)[B astore 5 ; (0x5) bipush 8 ; (0x8) newarray byte astore 6 ; (0x6) aload_1 bipush 7 ; (0x7) aload 6 ; (0x6) iconst_0 bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V bipush 16 ; (0x10) newarray byte astore 7 ; (0x7) aload_0 iconst_5 aload 7 ; (0x7) iconst_0 bipush 16 ; (0x10) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iconst_0 istore 8 ; (0x8) bipush 16 ; (0x10) newarray byte astore 9 ; (0x9) iconst_1 aload 6 ; (0x6) aload_0 aload_3 aload 5 ; (0x5) aload 7 ; (0x7) iload 8 ; (0x8) aload 9 ; (0x9) invokestatic com/intel/otp/vasco/DP4Java/validAndCheckACode(I[B[B[B[B[BZ[B)S istore 4 ; (0x4) iload 4 ; (0x4) ifeq LABEL_170F iload 4 ; (0x4) ireturn LABEL_170F: aload_0 bipush 35 ; (0x23) baload iconst_1 if_icmpeq LABEL_1720 aload_0 bipush 44 ; (0x2c) baload iconst_1 if_icmpne LABEL_176F LABEL_1720: bipush 8 ; (0x8) newarray byte astore 10 ; (0xa) aload_0 bipush 22 ; (0x16) baload bipush 32 ; (0x20) invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z ifeq LABEL_1744 aload_1 bipush 15 ; (0xf) aload 10 ; (0xa) iconst_0 bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V goto LABEL_1753 LABEL_1744: aload_1 bipush 7 ; (0x7) aload 10 ; (0xa) iconst_0 bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iconst_1 istore 8 ; (0x8) LABEL_1753: iconst_2 aload 10 ; (0xa) aload_0 aload_3 aload 5 ; (0x5) aload 7 ; (0x7) iload 8 ; (0x8) aload 9 ; (0x9) invokestatic com/intel/otp/vasco/DP4Java/validAndCheckACode(I[B[B[B[B[BZ[B)S istore 4 ; (0x4) iload 4 ; (0x4) ifeq LABEL_176F iload 4 ; (0x4) ireturn LABEL_176F: bipush 8 ; (0x8) aload_2 aload 9 ; (0x9) aconst_null invokestatic com/intel/otp/vasco/VDS_Crypto/vdsDESCipher(B[B[B[B)[B astore 10 ; (0xa) aload 10 ; (0xa) iconst_0 aload_3 bipush 10 ; (0xa) bipush 16 ; (0x10) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_3 iconst_0 iconst_0 bastore aload_3 iconst_1 iconst_1 bastore aload_3 bipush 9 ; (0x9) aload_0 bipush 50 ; (0x32) baload bastore iconst_0 ireturn .end method .method static vdsChangeDVKey : ([B[B[B)V .limit stack 5 .limit locals 5 ; Bytecode disassembly: aload_1 bipush 16 ; (0x10) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_0 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_2 bipush 16 ; (0x10) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_0 iconst_1 baload iconst_1 if_icmpne LABEL_17EE bipush 16 ; (0x10) newarray byte astore_3 aload_0 bipush 10 ; (0xa) aload_3 iconst_0 bipush 16 ; (0x10) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V bipush 9 ; (0x9) aload_1 aload_3 aconst_null invokestatic com/intel/otp/vasco/VDS_Crypto/vdsDESCipher(B[B[B[B)[B astore 4 ; (0x4) bipush 8 ; (0x8) aload_2 aload 4 ; (0x4) aconst_null invokestatic com/intel/otp/vasco/VDS_Crypto/vdsDESCipher(B[B[B[B)[B astore_3 aload_3 iconst_0 aload_0 bipush 10 ; (0xa) bipush 16 ; (0x10) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V goto LABEL_17FB LABEL_17EE: new com/intel/otp/vasco/VDS_Exception dup sipush -4006 ; (0xFFFFF05A) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_17FB: return .end method .method static vdsGenPassword : ([B[B[B[BI)Lcom/intel/otp/vasco/DigipassOutput; .limit stack 6 .limit locals 9 ; Bytecode disassembly: aload_0 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_1 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_3 bipush 16 ; (0x10) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_0 iconst_1 invokestatic com/intel/otp/vasco/VDS_Utils/getCodewordAppi([BS)[B astore 7 ; (0x7) new com/intel/otp/vasco/VDS_Codeword dup aload 7 ; (0x7) invokespecial com/intel/otp/vasco/VDS_Codeword/([B)V astore 8 ; (0x8) aload 8 ; (0x8) invokevirtual com/intel/otp/vasco/VDS_Codeword/isChal1Used()Z ifne LABEL_183E aload 8 ; (0x8) invokevirtual com/intel/otp/vasco/VDS_Codeword/isChal2Used()Z ifeq LABEL_1842 LABEL_183E: iconst_1 goto LABEL_1843 LABEL_1842: iconst_0 LABEL_1843: istore 6 ; (0x6) iload 6 ; (0x6) ifeq LABEL_1878 aload_2 ifnull LABEL_1860 aload_2 arraylength iconst_3 if_icmplt LABEL_1860 aload_2 iconst_0 baload ifeq LABEL_1860 aload_2 iconst_1 baload ifne LABEL_1868 LABEL_1860: sipush -4110 ; (0xFFFFEFF2) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_1868: iconst_1 aload_0 aload_1 aload_3 aload_2 iload 4 ; (0x4) invokestatic com/intel/otp/vasco/DP4Java/runDPAlgo(S[B[B[B[BI)Lcom/intel/otp/vasco/DigipassOutput; astore 5 ; (0x5) goto LABEL_189E LABEL_1878: aload_2 ifnull LABEL_1882 aload_2 arraylength ifne LABEL_1892 LABEL_1882: iconst_1 aload_0 aload_1 aload_3 aconst_null iload 4 ; (0x4) invokestatic com/intel/otp/vasco/DP4Java/runDPAlgo(S[B[B[B[BI)Lcom/intel/otp/vasco/DigipassOutput; astore 5 ; (0x5) goto LABEL_189E LABEL_1892: iconst_2 aload_0 aload_1 aload_3 aload_2 iload 4 ; (0x4) invokestatic com/intel/otp/vasco/DP4Java/runDPAlgo(S[B[B[B[BI)Lcom/intel/otp/vasco/DigipassOutput; astore 5 ; (0x5) LABEL_189E: aload 5 ; (0x5) areturn .end method .method static vdsGenSignature : ([B[B[B[BI)Lcom/intel/otp/vasco/DigipassOutput; .limit stack 6 .limit locals 5 ; Bytecode disassembly: aload_0 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_1 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_3 bipush 16 ; (0x10) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V iconst_2 aload_0 aload_1 aload_3 aload_2 iload 4 ; (0x4) invokestatic com/intel/otp/vasco/DP4Java/runDPAlgo(S[B[B[B[BI)Lcom/intel/otp/vasco/DigipassOutput; areturn .end method .method static vdsPINErrorManagement : ([B[BZ)V .limit stack 4 .limit locals 3 ; Bytecode disassembly: aload_1 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_0 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V iload_2 ifeq LABEL_18F8 aload_1 iconst_1 iconst_1 bastore aload_1 bipush 54 ; (0x36) aload_0 bipush 26 ; (0x1a) baload bastore aload_1 bipush 55 ; (0x37) aload_0 bipush 27 ; (0x1b) baload bastore goto LABEL_1956 LABEL_18F8: aload_1 iconst_1 baload iconst_1 if_icmpne LABEL_1956 aload_0 bipush 27 ; (0x1b) baload bipush 15 ; (0xf) if_icmpeq LABEL_1922 aload_1 bipush 55 ; (0x37) baload ifle LABEL_1922 aload_1 bipush 55 ; (0x37) dup2 baload iconst_1 isub i2b bastore aload_1 iconst_1 iconst_3 bastore goto LABEL_1956 LABEL_1922: aload_1 bipush 54 ; (0x36) dup2 baload iconst_1 isub i2b bastore aload_1 bipush 54 ; (0x36) baload ifge LABEL_1956 aload_1 bipush 54 ; (0x36) iconst_0 bastore aload_0 bipush 30 ; (0x1e) baload ifne LABEL_194A aload_1 invokestatic com/intel/otp/vasco/DP4Java/resetDVKeyInsideDV([B)V aload_1 iconst_1 iconst_2 bastore goto LABEL_1956 LABEL_194A: aload_0 bipush 30 ; (0x1e) baload iconst_1 if_icmpne LABEL_1956 aload_1 iconst_1 iconst_5 bastore LABEL_1956: return .end method .method static vdsPINManagement : ([B[B[B[B)Z .limit stack 5 .limit locals 7 ; Bytecode disassembly: aload_0 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_1 bipush 56 ; (0x38) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_3 bipush 16 ; (0x10) invokestatic com/intel/otp/vasco/DP4Java/checkInput([BI)V aload_2 ifnull LABEL_197E aload_2 arraylength bipush 64 ; (0x40) if_icmple LABEL_1986 LABEL_197E: sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_1986: iconst_4 newarray byte astore 4 ; (0x4) aload_2 aload_0 bipush 23 ; (0x17) baload aload 4 ; (0x4) invokestatic com/intel/otp/vasco/DP4Java/calcPINCheckValue([BB[B)V aload 4 ; (0x4) iconst_0 aload_1 bipush 50 ; (0x32) iconst_4 invokestatic com/intel/langutil/ArrayUtils/compareByteArray([BI[BII)Z istore 5 ; (0x5) aload_0 aload_1 iload 5 ; (0x5) invokestatic com/intel/otp/vasco/DP4Java/vdsPINErrorManagement([B[BZ)V iload 5 ; (0x5) ifne LABEL_19B8 aload_1 iconst_1 baload iconst_5 if_icmpne LABEL_19BC LABEL_19B8: iconst_1 goto LABEL_19BD LABEL_19BC: iconst_0 LABEL_19BD: istore 6 ; (0x6) iload 6 ; (0x6) ifeq LABEL_19CC aload_2 aload_0 aload_1 aload_3 invokestatic com/intel/otp/vasco/DP4Java/pin2Key([B[B[B[B)V LABEL_19CC: iload 6 ; (0x6) ireturn .end method .method static vdsSetNewPIN : ([B[B[B[B[B)V .limit stack 5 .limit locals 7 ; Bytecode disassembly: aload_0 aload_1 aload_2 aload_3 aload 4 ; (0x4) invokestatic com/intel/otp/vasco/DP4Java/checkSetNewPinParams([B[B[B[B[B)V bipush 16 ; (0x10) newarray byte astore 5 ; (0x5) aload_3 aload_0 aload_1 aload 5 ; (0x5) invokestatic com/intel/otp/vasco/DP4Java/pin2Key([B[B[B[B)V aload 5 ; (0x5) iconst_0 aload 4 ; (0x4) iconst_0 aload 5 ; (0x5) arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_2 invokestatic com/intel/otp/vasco/VDS_Utils/isNullOrEmpty([B)Z ifne LABEL_1A39 aload_1 iconst_1 baload iconst_1 if_icmpne LABEL_1A26 bipush 16 ; (0x10) newarray byte astore 6 ; (0x6) aload_2 aload_0 aload_1 aload 6 ; (0x6) invokestatic com/intel/otp/vasco/DP4Java/pin2Key([B[B[B[B)V aload_1 aload 6 ; (0x6) aload 4 ; (0x4) invokestatic com/intel/otp/vasco/DP4Java/vdsChangeDVKey([B[B[B)V goto LABEL_1A39 LABEL_1A26: aload_1 iconst_1 baload ifne LABEL_1A39 new com/intel/otp/vasco/VDS_Exception dup sipush -4005 ; (0xFFFFF05B) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_1A39: iconst_4 newarray byte astore 6 ; (0x6) aload_3 aload_0 bipush 23 ; (0x17) baload aload 6 ; (0x6) invokestatic com/intel/otp/vasco/DP4Java/calcPINCheckValue([BB[B)V aload 6 ; (0x6) iconst_0 aload_1 bipush 50 ; (0x32) iconst_4 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_1 bipush 54 ; (0x36) aload_0 bipush 26 ; (0x1a) baload bastore aload_1 bipush 55 ; (0x37) aload_0 bipush 27 ; (0x1b) baload bastore return .end method .end class ; class 2/29 .class super com/intel/otp/vasco/DigipassOutput .super java/lang/Object .field private debugVal [B .field private dpResponse [B .field private dpRhc [B .field private errorCode S .method : (S)V .limit stack 2 .limit locals 2 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V aload_0 iconst_0 putfield DigipassOutput/errorCode S aload_0 iload_1 putfield DigipassOutput/errorCode S return .end method .method : ([B[B)V .limit stack 5 .limit locals 3 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V aload_0 iconst_0 putfield DigipassOutput/errorCode S aload_0 aload_1 arraylength newarray byte putfield DigipassOutput/dpResponse [B aload_1 iconst_0 aload_0 getfield DigipassOutput/dpResponse [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_0 aload_2 arraylength newarray byte putfield DigipassOutput/dpRhc [B aload_2 iconst_0 aload_0 getfield DigipassOutput/dpRhc [B iconst_0 aload_2 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V return .end method .method getDebugVal : ()[B .limit stack 2 .limit locals 1 ; Bytecode disassembly: aload_0 aload_0 getfield DigipassOutput/debugVal [B invokespecial com/intel/otp/vasco/DigipassOutput/getValue([B)[B areturn .end method .method getDpResponse : ()[B .limit stack 2 .limit locals 1 ; Bytecode disassembly: aload_0 aload_0 getfield DigipassOutput/dpResponse [B invokespecial com/intel/otp/vasco/DigipassOutput/getValue([B)[B areturn .end method .method getDpRhc : ()[B .limit stack 2 .limit locals 1 ; Bytecode disassembly: aload_0 aload_0 getfield DigipassOutput/dpRhc [B invokespecial com/intel/otp/vasco/DigipassOutput/getValue([B)[B areturn .end method .method getErrorCode : ()S .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield DigipassOutput/errorCode S ireturn .end method .method private getValue : ([B)[B .limit stack 5 .limit locals 3 ; Bytecode disassembly: aload_1 ifnull LABEL_018C aload_1 arraylength newarray byte astore_2 aload_1 iconst_0 aload_2 iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_2 areturn LABEL_018C: aconst_null areturn .end method .method setDebugVal : ([B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_0 aload_1 arraylength newarray byte putfield DigipassOutput/debugVal [B aload_1 iconst_0 aload_0 getfield DigipassOutput/debugVal [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V return .end method .end class ; class 3/29 .class public interface abstract com/intel/otp/vasco/EncryptedToken .super java/lang/Object .method public abstract getEncryptedTokenLength : ()S .end method .method public abstract getMetaData : ()[B .end method .method public abstract getMetaDataLength : ()S .end method .method public abstract getMetaDataOffset : ()S .end method .method public abstract getSeed : ()[B .end method .method public abstract getSeedLength : ()S .end method .method public abstract getSeedOffset : ()S .end method .method public abstract reset : ()V .end method .method public abstract setMetaData : ([BSS)V .end method .method public abstract setSeed : ([BSS)V .end method .end class ; class 4/29 .class public final super com/intel/otp/vasco/EncryptedTokenImpl .super java/lang/Object .implements com/intel/otp/vasco/EncryptedToken .const [o1592] = String "Decryption failed" .const [o1612] = String "Error encrypting token." .const [o1638] = String "Input validation error." .const [o1664] = String "Invalid encrypted token." .const [o1690] = String "Received metaLength more than input buffer size. Throwing exception." .const [o1760] = String "Received seedLength more than input buffer size." .const [o1810] = String "setSeed: Invalid input" .const [o1834] = String "toByte: Insufficient output buffer length" .field private initialized Z .field private mDecryptBuffer [B .field private mEncryptBuffer [B .field private mPbindObj Lcom/intel/crypto/SymmetricBlockCipherAlg; .field private metaData [B .field private metaLength S .field private metaOffset S .field private seed [B .field private seedLength S .field private seedOffset S .method public : ()V .limit stack 2 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V aload_0 iconst_0 putfield EncryptedTokenImpl/initialized Z aload_0 iconst_4 invokestatic com/intel/crypto/SymmetricBlockCipherAlg/create(S)Lcom/intel/crypto/SymmetricBlockCipherAlg; putfield EncryptedTokenImpl/mPbindObj Lcom/intel/crypto/SymmetricBlockCipherAlg; return .end method .method public getEncryptedTokenLength : ()S .limit stack 2 .limit locals 5 ; Bytecode disassembly: iconst_0 istore_1 aload_0 getfield EncryptedTokenImpl/seedLength S istore_2 iload_2 aload_0 getfield EncryptedTokenImpl/metaLength S iadd i2s istore_2 iload_2 iconst_4 iadd i2s istore_2 bipush 16 ; (0x10) istore_3 iload_2 iload_3 idiv istore 4 ; (0x4) iload_2 iload_3 irem ifeq LABEL_0217 iinc 4 1 LABEL_0217: iload 4 ; (0x4) iload_3 imul i2s istore_1 iload_1 ireturn .end method .method public getMetaData : ()[B .limit stack 2 .limit locals 1 ; Bytecode disassembly: aload_0 getfield EncryptedTokenImpl/initialized Z iconst_1 if_icmpne LABEL_0235 aload_0 getfield EncryptedTokenImpl/metaData [B areturn LABEL_0235: aconst_null areturn .end method .method public getMetaDataLength : ()S .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield EncryptedTokenImpl/initialized Z ifne LABEL_024A iconst_0 ireturn LABEL_024A: aload_0 getfield EncryptedTokenImpl/metaLength S ireturn .end method .method public getMetaDataOffset : ()S .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield EncryptedTokenImpl/initialized Z ifne LABEL_0262 iconst_0 ireturn LABEL_0262: aload_0 getfield EncryptedTokenImpl/metaOffset S ireturn .end method .method public getSeed : ()[B .limit stack 2 .limit locals 1 ; Bytecode disassembly: aload_0 getfield EncryptedTokenImpl/initialized Z iconst_1 if_icmpne LABEL_027D aload_0 getfield EncryptedTokenImpl/seed [B areturn LABEL_027D: aconst_null areturn .end method .method public getSeedLength : ()S .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield EncryptedTokenImpl/initialized Z ifne LABEL_0292 iconst_0 ireturn LABEL_0292: aload_0 getfield EncryptedTokenImpl/seedLength S ireturn .end method .method public getSeedOffset : ()S .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield EncryptedTokenImpl/initialized Z ifne LABEL_02AA iconst_0 ireturn LABEL_02AA: aload_0 getfield EncryptedTokenImpl/seedOffset S ireturn .end method .method public importEncryptedToken : ([BSS)V .limit stack 6 .limit locals 5 ; Bytecode disassembly: aload_1 ifnull LABEL_02C6 iload_2 iflt LABEL_02C6 iload_3 iconst_2 if_icmpge LABEL_02D6 LABEL_02C6: iconst_0 iconst_3 ldc [o1638] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V bipush 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_02D6: aload_0 getfield EncryptedTokenImpl/mDecryptBuffer [B ifnull LABEL_02E8 aload_0 getfield EncryptedTokenImpl/mDecryptBuffer [B arraylength iload_3 if_icmpge LABEL_02F0 LABEL_02E8: aload_0 iload_3 newarray byte putfield EncryptedTokenImpl/mDecryptBuffer [B LABEL_02F0: aload_0 getfield EncryptedTokenImpl/mDecryptBuffer [B iconst_0 aload_0 getfield EncryptedTokenImpl/mDecryptBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V aload_0 getfield EncryptedTokenImpl/mPbindObj Lcom/intel/crypto/SymmetricBlockCipherAlg; aload_1 iload_2 iload_3 aload_0 getfield EncryptedTokenImpl/mDecryptBuffer [B iconst_0 invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/decryptComplete([BSS[BS)S istore 4 ; (0x4) iload 4 ; (0x4) ifgt LABEL_032A iconst_0 iconst_3 ldc [o1592] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V sipush 203 ; (0xCB) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_032A: goto LABEL_0342 astore 4 ; (0x4) iconst_0 iconst_3 ldc [o1664] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V sipush 203 ; (0xCB) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0342: aload_0 invokespecial com/intel/otp/vasco/EncryptedTokenImpl/parseClearText()V aload_0 iconst_1 putfield EncryptedTokenImpl/initialized Z return .end method .method private parseClearText : ()V .limit stack 3 .limit locals 2 ; Bytecode disassembly: iconst_0 istore_1 aload_0 getfield EncryptedTokenImpl/mDecryptBuffer [B arraylength iconst_2 if_icmpge LABEL_0368 bipush 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0368: aload_0 aload_0 getfield EncryptedTokenImpl/mDecryptBuffer [B iload_1 invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S putfield EncryptedTokenImpl/seedLength S aload_0 getfield EncryptedTokenImpl/seedLength S ifgt LABEL_0384 bipush 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0384: iload_1 iconst_2 iadd i2s istore_1 aload_0 iload_1 putfield EncryptedTokenImpl/seedOffset S aload_0 aload_0 getfield EncryptedTokenImpl/mDecryptBuffer [B putfield EncryptedTokenImpl/seed [B iload_1 aload_0 getfield EncryptedTokenImpl/seedLength S iadd iconst_2 iadd aload_0 getfield EncryptedTokenImpl/mDecryptBuffer [B arraylength if_icmple LABEL_03BA iconst_0 iconst_3 ldc [o1760] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V bipush 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_03BA: iload_1 aload_0 getfield EncryptedTokenImpl/seedLength S iadd i2s istore_1 aload_0 aload_0 getfield EncryptedTokenImpl/mDecryptBuffer [B iload_1 invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S putfield EncryptedTokenImpl/metaLength S iload_1 iconst_2 iadd i2s istore_1 aload_0 getfield EncryptedTokenImpl/metaLength S iflt LABEL_03EE iload_1 aload_0 getfield EncryptedTokenImpl/metaLength S iadd aload_0 getfield EncryptedTokenImpl/mDecryptBuffer [B arraylength if_icmple LABEL_03FE LABEL_03EE: iconst_0 iconst_3 ldc [o1690] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V bipush 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_03FE: aload_0 iload_1 putfield EncryptedTokenImpl/metaOffset S aload_0 aload_0 getfield EncryptedTokenImpl/mDecryptBuffer [B putfield EncryptedTokenImpl/metaData [B return .end method .method public reset : ()V .limit stack 4 .limit locals 1 ; Bytecode disassembly: aload_0 iconst_0 putfield EncryptedTokenImpl/initialized Z aload_0 aconst_null putfield EncryptedTokenImpl/seed [B aload_0 iconst_0 putfield EncryptedTokenImpl/seedOffset S aload_0 iconst_0 putfield EncryptedTokenImpl/seedLength S aload_0 iconst_0 putfield EncryptedTokenImpl/metaLength S aload_0 iconst_0 putfield EncryptedTokenImpl/metaOffset S aload_0 aconst_null putfield EncryptedTokenImpl/metaData [B aload_0 getfield EncryptedTokenImpl/mEncryptBuffer [B ifnull LABEL_045A aload_0 getfield EncryptedTokenImpl/mEncryptBuffer [B iconst_0 aload_0 getfield EncryptedTokenImpl/mEncryptBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V LABEL_045A: aload_0 getfield EncryptedTokenImpl/mDecryptBuffer [B ifnull LABEL_0472 aload_0 getfield EncryptedTokenImpl/mDecryptBuffer [B iconst_0 aload_0 getfield EncryptedTokenImpl/mDecryptBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V LABEL_0472: return .end method .method private serializeClearTextData : ()S .limit stack 5 .limit locals 3 ; Bytecode disassembly: aload_0 invokevirtual com/intel/otp/vasco/EncryptedTokenImpl/getEncryptedTokenLength()S istore_1 aload_0 getfield EncryptedTokenImpl/mEncryptBuffer [B ifnull LABEL_0494 aload_0 getfield EncryptedTokenImpl/mEncryptBuffer [B arraylength iload_1 if_icmpge LABEL_049C LABEL_0494: aload_0 iload_1 newarray byte putfield EncryptedTokenImpl/mEncryptBuffer [B LABEL_049C: aload_0 getfield EncryptedTokenImpl/mEncryptBuffer [B iconst_0 aload_0 getfield EncryptedTokenImpl/mEncryptBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V iconst_0 istore_2 aload_0 getfield EncryptedTokenImpl/seedLength S aload_0 getfield EncryptedTokenImpl/mEncryptBuffer [B iload_2 invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop iload_2 iconst_2 iadd i2s istore_2 aload_0 getfield EncryptedTokenImpl/seed [B aload_0 getfield EncryptedTokenImpl/seedOffset S aload_0 getfield EncryptedTokenImpl/mEncryptBuffer [B iload_2 aload_0 getfield EncryptedTokenImpl/seedLength S invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iload_2 aload_0 getfield EncryptedTokenImpl/seedLength S iadd i2s istore_2 aload_0 getfield EncryptedTokenImpl/metaLength S aload_0 getfield EncryptedTokenImpl/mEncryptBuffer [B iload_2 invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop iload_2 iconst_2 iadd i2s istore_2 aload_0 getfield EncryptedTokenImpl/metaData [B ifnull LABEL_0510 aload_0 getfield EncryptedTokenImpl/metaData [B aload_0 getfield EncryptedTokenImpl/metaOffset S aload_0 getfield EncryptedTokenImpl/mEncryptBuffer [B iload_2 aload_0 getfield EncryptedTokenImpl/metaLength S invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_0510: iload_1 ireturn .end method .method public setMetaData : ([BSS)V .limit stack 3 .limit locals 4 ; Bytecode disassembly: aload_1 ifnull LABEL_052E iload_2 iflt LABEL_052E iload_3 ifle LABEL_052E iload_2 iload_3 iadd aload_1 arraylength if_icmple LABEL_053E LABEL_052E: iconst_0 iconst_3 ldc [o1638] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V bipush 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_053E: aload_0 aload_1 putfield EncryptedTokenImpl/metaData [B aload_0 iload_2 putfield EncryptedTokenImpl/metaOffset S aload_0 iload_3 putfield EncryptedTokenImpl/metaLength S aload_0 iconst_1 putfield EncryptedTokenImpl/initialized Z return .end method .method public setSeed : ([BSS)V .limit stack 2 .limit locals 4 ; Bytecode disassembly: aload_1 ifnull LABEL_0574 iload_2 iflt LABEL_0574 iload_3 ifle LABEL_0574 iload_2 iload_3 iadd aload_1 arraylength if_icmple LABEL_0582 LABEL_0574: ldc [o1810] invokestatic com/intel/util/DebugPrint/printString(Ljava/lang/String;)V bipush 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0582: aload_0 aload_1 putfield EncryptedTokenImpl/seed [B aload_0 iload_3 putfield EncryptedTokenImpl/seedLength S aload_0 iload_2 putfield EncryptedTokenImpl/seedOffset S aload_0 iconst_1 putfield EncryptedTokenImpl/initialized Z return .end method .method public toByte : ([BSS)S .limit stack 6 .limit locals 7 ; Bytecode disassembly: iconst_0 istore 4 ; (0x4) aload_0 getfield EncryptedTokenImpl/initialized Z ifne LABEL_05B2 iconst_0 ireturn LABEL_05B2: aload_1 ifnull LABEL_05C2 iload_3 ifeq LABEL_05C2 iload_2 iload_3 iadd aload_1 arraylength if_icmple LABEL_05D2 LABEL_05C2: iconst_0 iconst_3 ldc [o1638] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V bipush 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_05D2: aload_0 invokespecial com/intel/otp/vasco/EncryptedTokenImpl/serializeClearTextData()S istore 5 ; (0x5) iload 5 ; (0x5) iload_3 if_icmple LABEL_05F2 iconst_0 iconst_3 ldc [o1834] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V iload_3 invokestatic com/intel/util/DebugPrint/printInt(I)V bipush 11 ; (0xb) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_05F2: aload_0 getfield EncryptedTokenImpl/mPbindObj Lcom/intel/crypto/SymmetricBlockCipherAlg; aload_0 getfield EncryptedTokenImpl/mEncryptBuffer [B iconst_0 iload 5 ; (0x5) aload_1 iload_2 invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/encryptComplete([BSS[BS)S istore 4 ; (0x4) goto LABEL_061C astore 6 ; (0x6) iconst_0 iconst_3 ldc [o1612] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V sipush 203 ; (0xCB) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_061C: iload 4 ; (0x4) ireturn .end method .end class ; class 5/29 .class public final super com/intel/otp/vasco/IHAProto .super java/lang/Object .field public static final CTRL_ACTION_ALGO_SELECT S .field public static final LENGTH_MIN_CTRL_REQ S .field public static final LENGTH_MIN_CTRL_RESP S .field public static final LENGTH_MIN_EPID_REQ S .field public static final LENGTH_MIN_EPID_RESP S .field public static final LENGTH_MIN_EP_REQ S .field public static final LENGTH_MIN_EP_RESP S .field public static final LENGTH_MIN_GETOTP_REQ S .field public static final LENGTH_MIN_GETOTP_RESP S .field public static final LENGTH_MIN_GET_OTP_CAPS_REQ S .field public static final LENGTH_MIN_GET_OTP_CAPS_RESP S .field public static final LENGTH_MIN_GET_SVP_REQ S .field public static final LENGTH_MIN_GET_SVP_RESP S .field public static final LENGTH_MIN_OTPS_REQ S .field public static final LENGTH_MIN_OTPS_RESP S .field public static final LENGTH_MIN_PROC_SVP_REQ S .field public static final LENGTH_MIN_PROC_SVP_RESP S .field public static final LENGTH_MIN_RECV_REQ S .field public static final LENGTH_MIN_RECV_RESP S .field public static final LENGTH_MIN_SEND_REQ S .field public static final LENGTH_MIN_SEND_RESP S .field public static final LENGTH_MIN_SP_REQ S .field public static final LENGTH_MIN_SP_RESP S .field public static final LENGTH_OTP_HEADER S .field public static final LENGTH_OTP_RESP_HEADER S .field public static final MSG_TYPE_CONTROL_REQ S .field public static final MSG_TYPE_CONTROL_RESP S .field public static final MSG_TYPE_END_PROV_REQ S .field public static final MSG_TYPE_END_PROV_RESP S .field public static final MSG_TYPE_GET_CAPS_REQ S .field public static final MSG_TYPE_GET_CAPS_RESP S .field public static final MSG_TYPE_GET_OTP_REQ S .field public static final MSG_TYPE_GET_OTP_RESP S .field public static final MSG_TYPE_GET_SVP_REQ S .field public static final MSG_TYPE_GET_SVP_RESP S .field public static final MSG_TYPE_INIT_REQ S .field public static final MSG_TYPE_INIT_RESP S .field public static final MSG_TYPE_OTPS_STATUS_REQ S .field public static final MSG_TYPE_OTPS_STATUS_RESP S .field public static final MSG_TYPE_PROCESS_SVP_REQ S .field public static final MSG_TYPE_PROCESS_SVP_RESP S .field public static final MSG_TYPE_RECV_DATA_REQ S .field public static final MSG_TYPE_RECV_DATA_RESP S .field public static final MSG_TYPE_SAFEID_PROV_REQ S .field public static final MSG_TYPE_SAFEID_PROV_RESP S .field public static final MSG_TYPE_SEND_DATA_REQ S .field public static final MSG_TYPE_SEND_DATA_RESP S .field public static final MSG_TYPE_START_PROV_REQ S .field public static final MSG_TYPE_START_PROV_RESP S .field public static final OFFSET_BODY B .field public static final OFFSET_CTRL_ACTION B .field public static final OFFSET_CTRL_EXP_LENGTH B .field public static final OFFSET_CTRL_HANDLE B .field public static final OFFSET_CTRL_REQ_DATA B .field public static final OFFSET_CTRL_REQ_LENGTH B .field public static final OFFSET_CTRL_RESP_DATA B .field public static final OFFSET_CTRL_RESP_LENGTH B .field public static final OFFSET_EPID_REQ_DATA B .field public static final OFFSET_EPID_REQ_EXP_LENGTH B .field public static final OFFSET_EPID_REQ_LENGTH B .field public static final OFFSET_EPID_RESP_DATA B .field public static final OFFSET_EPID_RESP_LENGTH B .field public static final OFFSET_EP_EXP_LENGTH B .field public static final OFFSET_EP_HANDLE B .field public static final OFFSET_EP_LENGTH B .field public static final OFFSET_EP_TOKEN B .field public static final OFFSET_GETOTP_EXP_OTP_LENGTH B .field public static final OFFSET_GETOTP_EXP_TOKEN_LENGTH B .field public static final OFFSET_GETOTP_HANDLE B .field public static final OFFSET_GETOTP_OTP_LENGTH B .field public static final OFFSET_GETOTP_OTP_TOKEN B .field public static final OFFSET_GETOTP_RESP_TOKEN_LENGTH B .field public static final OFFSET_GETOTP_TOKEN_LENGTH B .field public static final OFFSET_GETOTP_TOKEN_VDATA B .field public static final OFFSET_GETOTP_VDATA_LENGTH B .field public static final OFFSET_GET_SVP_EXP_LENGTH B .field public static final OFFSET_GET_SVP_HANDLE B .field public static final OFFSET_GET_SVP_RESP_DATA B .field public static final OFFSET_GET_SVP_RESP_LENGTH B .field public static final OFFSET_HEADER B .field public static final OFFSET_LENGTH B .field public static final OFFSET_MSG_TYPE B .field public static final OFFSET_OTPS_HANDLE B .field public static final OFFSET_OTPS_STATUS B .field public static final OFFSET_OTPS_TYPE B .field public static final OFFSET_PROC_SVP_DATA B .field public static final OFFSET_PROC_SVP_DATA_LENGTH B .field public static final OFFSET_PROC_SVP_HANDLE B .field public static final OFFSET_RECV_DATA B .field public static final OFFSET_RECV_EXP_LENGTH B .field public static final OFFSET_RECV_HANDLE B .field public static final OFFSET_RECV_LENGTH B .field public static final OFFSET_RECV_TYPE B .field public static final OFFSET_RESP_STATUS B .field public static final OFFSET_SEND_DATA B .field public static final OFFSET_SEND_HANDLE B .field public static final OFFSET_SEND_LENGTH B .field public static final OFFSET_SEND_TYPE B .field public static final OFFSET_SP_HANDLE B .field public static final OFFSET_VERSION_MAJOR B .field public static final OFFSET_VERSION_MINOR B .field public static final OTP_API_VERSION_MAJOR S .field public static final OTP_API_VERSION_MINOR S .method public : ()V .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V return .end method .method static : ()V .limit stack 1 .limit locals 0 ; Bytecode disassembly: iconst_1 putstatic IHAProto/MSG_TYPE_INIT_REQ S iconst_2 putstatic IHAProto/MSG_TYPE_INIT_RESP S iconst_3 putstatic IHAProto/MSG_TYPE_START_PROV_REQ S iconst_4 putstatic IHAProto/MSG_TYPE_START_PROV_RESP S iconst_5 putstatic IHAProto/MSG_TYPE_END_PROV_REQ S bipush 6 ; (0x6) putstatic IHAProto/MSG_TYPE_END_PROV_RESP S bipush 7 ; (0x7) putstatic IHAProto/MSG_TYPE_SEND_DATA_REQ S bipush 8 ; (0x8) putstatic IHAProto/MSG_TYPE_SEND_DATA_RESP S bipush 9 ; (0x9) putstatic IHAProto/MSG_TYPE_RECV_DATA_REQ S bipush 10 ; (0xa) putstatic IHAProto/MSG_TYPE_RECV_DATA_RESP S bipush 11 ; (0xb) putstatic IHAProto/MSG_TYPE_CONTROL_REQ S bipush 12 ; (0xc) putstatic IHAProto/MSG_TYPE_CONTROL_RESP S bipush 13 ; (0xd) putstatic IHAProto/MSG_TYPE_GET_OTP_REQ S bipush 14 ; (0xe) putstatic IHAProto/MSG_TYPE_GET_OTP_RESP S bipush 15 ; (0xf) putstatic IHAProto/MSG_TYPE_OTPS_STATUS_REQ S bipush 16 ; (0x10) putstatic IHAProto/MSG_TYPE_OTPS_STATUS_RESP S bipush 17 ; (0x11) putstatic IHAProto/MSG_TYPE_GET_CAPS_REQ S bipush 18 ; (0x12) putstatic IHAProto/MSG_TYPE_GET_CAPS_RESP S bipush 19 ; (0x13) putstatic IHAProto/MSG_TYPE_SAFEID_PROV_REQ S bipush 20 ; (0x14) putstatic IHAProto/MSG_TYPE_SAFEID_PROV_RESP S bipush 21 ; (0x15) putstatic IHAProto/MSG_TYPE_PROCESS_SVP_REQ S bipush 22 ; (0x16) putstatic IHAProto/MSG_TYPE_PROCESS_SVP_RESP S bipush 23 ; (0x17) putstatic IHAProto/MSG_TYPE_GET_SVP_REQ S bipush 24 ; (0x18) putstatic IHAProto/MSG_TYPE_GET_SVP_RESP S iconst_1 putstatic IHAProto/OTP_API_VERSION_MAJOR S iconst_2 putstatic IHAProto/OFFSET_VERSION_MINOR B iconst_4 putstatic IHAProto/OFFSET_MSG_TYPE B bipush 6 ; (0x6) putstatic IHAProto/OFFSET_LENGTH B bipush 8 ; (0x8) putstatic IHAProto/OFFSET_BODY B bipush 8 ; (0x8) putstatic IHAProto/OFFSET_EP_HANDLE B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_EP_EXP_LENGTH B bipush 8 ; (0x8) putstatic IHAProto/OFFSET_SEND_HANDLE B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_SEND_TYPE B bipush 14 ; (0xe) putstatic IHAProto/OFFSET_SEND_LENGTH B bipush 16 ; (0x10) putstatic IHAProto/OFFSET_SEND_DATA B bipush 8 ; (0x8) putstatic IHAProto/OFFSET_RECV_HANDLE B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_RECV_EXP_LENGTH B bipush 14 ; (0xe) putstatic IHAProto/OFFSET_RECV_TYPE B bipush 8 ; (0x8) putstatic IHAProto/OFFSET_CTRL_HANDLE B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_CTRL_ACTION B bipush 14 ; (0xe) putstatic IHAProto/OFFSET_CTRL_EXP_LENGTH B bipush 16 ; (0x10) putstatic IHAProto/OFFSET_CTRL_REQ_LENGTH B bipush 18 ; (0x12) putstatic IHAProto/OFFSET_CTRL_REQ_DATA B bipush 8 ; (0x8) putstatic IHAProto/OFFSET_PROC_SVP_HANDLE B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_PROC_SVP_DATA_LENGTH B bipush 14 ; (0xe) putstatic IHAProto/OFFSET_PROC_SVP_DATA B bipush 8 ; (0x8) putstatic IHAProto/OFFSET_GET_SVP_HANDLE B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_GET_SVP_EXP_LENGTH B bipush 8 ; (0x8) putstatic IHAProto/OFFSET_GETOTP_HANDLE B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_GETOTP_EXP_OTP_LENGTH B bipush 14 ; (0xe) putstatic IHAProto/OFFSET_GETOTP_EXP_TOKEN_LENGTH B bipush 16 ; (0x10) putstatic IHAProto/OFFSET_GETOTP_TOKEN_LENGTH B bipush 18 ; (0x12) putstatic IHAProto/OFFSET_GETOTP_VDATA_LENGTH B bipush 20 ; (0x14) putstatic IHAProto/OFFSET_GETOTP_TOKEN_VDATA B bipush 8 ; (0x8) putstatic IHAProto/OFFSET_OTPS_HANDLE B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_OTPS_TYPE B bipush 8 ; (0x8) putstatic IHAProto/OFFSET_EPID_REQ_EXP_LENGTH B bipush 10 ; (0xa) putstatic IHAProto/OFFSET_EPID_REQ_LENGTH B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_EPID_REQ_DATA B bipush 8 ; (0x8) putstatic IHAProto/OFFSET_RESP_STATUS B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_SP_HANDLE B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_EP_LENGTH B bipush 14 ; (0xe) putstatic IHAProto/OFFSET_EP_TOKEN B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_RECV_LENGTH B bipush 14 ; (0xe) putstatic IHAProto/OFFSET_RECV_DATA B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_CTRL_RESP_LENGTH B bipush 14 ; (0xe) putstatic IHAProto/OFFSET_CTRL_RESP_DATA B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_GET_SVP_RESP_LENGTH B bipush 14 ; (0xe) putstatic IHAProto/OFFSET_GET_SVP_RESP_DATA B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_GETOTP_OTP_LENGTH B bipush 14 ; (0xe) putstatic IHAProto/OFFSET_GETOTP_RESP_TOKEN_LENGTH B bipush 16 ; (0x10) putstatic IHAProto/OFFSET_GETOTP_OTP_TOKEN B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_OTPS_STATUS B bipush 12 ; (0xc) putstatic IHAProto/OFFSET_EPID_RESP_LENGTH B bipush 14 ; (0xe) putstatic IHAProto/OFFSET_EPID_RESP_DATA B bipush 8 ; (0x8) putstatic IHAProto/LENGTH_OTP_HEADER S bipush 12 ; (0xc) putstatic IHAProto/LENGTH_OTP_RESP_HEADER S bipush 8 ; (0x8) putstatic IHAProto/LENGTH_MIN_SP_RESP S bipush 6 ; (0x6) putstatic IHAProto/LENGTH_MIN_EP_REQ S bipush 7 ; (0x7) putstatic IHAProto/LENGTH_MIN_EP_RESP S bipush 9 ; (0x9) putstatic IHAProto/LENGTH_MIN_SEND_REQ S iconst_4 putstatic IHAProto/LENGTH_MIN_SEND_RESP S bipush 8 ; (0x8) putstatic IHAProto/LENGTH_MIN_RECV_REQ S bipush 7 ; (0x7) putstatic IHAProto/LENGTH_MIN_RECV_RESP S bipush 11 ; (0xb) putstatic IHAProto/LENGTH_MIN_CTRL_REQ S bipush 7 ; (0x7) putstatic IHAProto/LENGTH_MIN_CTRL_RESP S bipush 13 ; (0xd) putstatic IHAProto/LENGTH_MIN_GETOTP_REQ S bipush 9 ; (0x9) putstatic IHAProto/LENGTH_MIN_GETOTP_RESP S bipush 6 ; (0x6) putstatic IHAProto/LENGTH_MIN_OTPS_REQ S bipush 8 ; (0x8) putstatic IHAProto/LENGTH_MIN_OTPS_RESP S bipush 7 ; (0x7) putstatic IHAProto/LENGTH_MIN_PROC_SVP_REQ S iconst_4 putstatic IHAProto/LENGTH_MIN_PROC_SVP_RESP S bipush 6 ; (0x6) putstatic IHAProto/LENGTH_MIN_GET_SVP_REQ S bipush 7 ; (0x7) putstatic IHAProto/LENGTH_MIN_GET_SVP_RESP S iconst_5 putstatic IHAProto/LENGTH_MIN_EPID_REQ S bipush 7 ; (0x7) putstatic IHAProto/LENGTH_MIN_EPID_RESP S bipush 10 ; (0xa) putstatic IHAProto/LENGTH_MIN_GET_OTP_CAPS_REQ S bipush 15 ; (0xf) putstatic IHAProto/LENGTH_MIN_GET_OTP_CAPS_RESP S iconst_1 putstatic IHAProto/CTRL_ACTION_ALGO_SELECT S return .end method .method public static constructIHAReplyHeader : ([BSSS)V .limit stack 3 .limit locals 5 ; Bytecode disassembly: iconst_0 istore 4 ; (0x4) iconst_1 aload_0 iload 4 ; (0x4) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop iconst_2 istore 4 ; (0x4) iconst_0 aload_0 iload 4 ; (0x4) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop iconst_4 istore 4 ; (0x4) iload_1 aload_0 iload 4 ; (0x4) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop bipush 6 ; (0x6) istore 4 ; (0x4) iload_2 aload_0 iload 4 ; (0x4) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop bipush 8 ; (0x8) istore 4 ; (0x4) iload_3 aload_0 iload 4 ; (0x4) invokestatic com/intel/langutil/TypeConverter/intToBytes(I[BI)I pop return .end method .method public static getMinLength : (S)S .limit stack 1 .limit locals 2 ; Bytecode disassembly: iconst_0 istore_1 iload_0 tableswitch 3 LABEL_082E ; case 3 LABEL_0834 ; case 4 LABEL_083A ; case 5 LABEL_0840 ; case 6 LABEL_0846 ; case 7 LABEL_084C ; case 8 LABEL_0852 ; case 9 LABEL_0858 ; case 10 LABEL_085E ; case 11 LABEL_0864 ; case 12 LABEL_086A ; case 13 LABEL_0870 ; case 14 LABEL_0876 ; case 15 LABEL_087C ; case 16 LABEL_08A6 ; case 17 LABEL_08AC ; case 18 LABEL_089A ; case 19 LABEL_08A0 ; case 20 LABEL_0882 ; case 21 LABEL_0888 ; case 22 LABEL_088E ; case 23 LABEL_0894 ; case 24 default: LABEL_08AF LABEL_082E: iconst_0 istore_1 goto LABEL_08AF LABEL_0834: bipush 8 ; (0x8) istore_1 goto LABEL_08AF LABEL_083A: bipush 6 ; (0x6) istore_1 goto LABEL_08AF LABEL_0840: bipush 7 ; (0x7) istore_1 goto LABEL_08AF LABEL_0846: bipush 9 ; (0x9) istore_1 goto LABEL_08AF LABEL_084C: iconst_4 istore_1 goto LABEL_08AF LABEL_0852: bipush 8 ; (0x8) istore_1 goto LABEL_08AF LABEL_0858: bipush 7 ; (0x7) istore_1 goto LABEL_08AF LABEL_085E: bipush 11 ; (0xb) istore_1 goto LABEL_08AF LABEL_0864: bipush 7 ; (0x7) istore_1 goto LABEL_08AF LABEL_086A: bipush 13 ; (0xd) istore_1 goto LABEL_08AF LABEL_0870: bipush 9 ; (0x9) istore_1 goto LABEL_08AF LABEL_0876: bipush 6 ; (0x6) istore_1 goto LABEL_08AF LABEL_087C: bipush 8 ; (0x8) istore_1 goto LABEL_08AF LABEL_0882: bipush 7 ; (0x7) istore_1 goto LABEL_08AF LABEL_0888: iconst_4 istore_1 goto LABEL_08AF LABEL_088E: bipush 6 ; (0x6) istore_1 goto LABEL_08AF LABEL_0894: bipush 7 ; (0x7) istore_1 goto LABEL_08AF LABEL_089A: iconst_5 istore_1 goto LABEL_08AF LABEL_08A0: bipush 7 ; (0x7) istore_1 goto LABEL_08AF LABEL_08A6: bipush 10 ; (0xa) istore_1 goto LABEL_08AF LABEL_08AC: bipush 15 ; (0xf) istore_1 LABEL_08AF: iload_1 ireturn .end method .method public static sizeOf : (S)S .limit stack 2 .limit locals 2 ; Bytecode disassembly: iload_0 invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S istore_1 iload_1 ifeq LABEL_08CA iload_1 bipush 8 ; (0x8) iadd i2s istore_1 LABEL_08CA: iload_1 ireturn .end method .end class ; class 6/29 .class public final super com/intel/otp/vasco/LinkedList .super java/lang/Object .field private head Lcom/intel/otp/vasco/Node; .field private length S .method public : ()V .limit stack 2 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V aload_0 iconst_0 putfield LinkedList/length S aload_0 aconst_null putfield LinkedList/head Lcom/intel/otp/vasco/Node; return .end method .method public add : (ILjava/lang/Object;)Z .limit stack 6 .limit locals 4 ; Bytecode disassembly: iconst_1 aload_0 iload_1 invokevirtual com/intel/otp/vasco/LinkedList/exists(I)Z if_icmpne LABEL_010C iconst_0 ireturn LABEL_010C: new com/intel/otp/vasco/Node dup iload_1 aload_2 aconst_null aload_0 getfield LinkedList/head Lcom/intel/otp/vasco/Node; invokespecial com/intel/otp/vasco/Node/(ILjava/lang/Object;Lcom/intel/otp/vasco/Node;Lcom/intel/otp/vasco/Node;)V astore_3 aload_3 aload_0 getfield LinkedList/head Lcom/intel/otp/vasco/Node; putfield Node/next Lcom/intel/otp/vasco/Node; aload_0 getfield LinkedList/head Lcom/intel/otp/vasco/Node; ifnull LABEL_0136 aload_0 getfield LinkedList/head Lcom/intel/otp/vasco/Node; aload_3 putfield Node/previous Lcom/intel/otp/vasco/Node; LABEL_0136: aload_0 aload_3 putfield LinkedList/head Lcom/intel/otp/vasco/Node; aload_0 dup getfield LinkedList/length S iconst_1 iadd i2s putfield LinkedList/length S iconst_1 ireturn .end method .method public delete : (I)V .limit stack 3 .limit locals 3 ; Bytecode disassembly: aload_0 iload_1 invokevirtual com/intel/otp/vasco/LinkedList/getNode(I)Lcom/intel/otp/vasco/Node; astore_2 aload_2 ifnonnull LABEL_015F return LABEL_015F: aload_2 getfield Node/handle I aload_0 getfield LinkedList/head Lcom/intel/otp/vasco/Node; getfield Node/handle I if_icmpne LABEL_01AC aload_0 getfield LinkedList/head Lcom/intel/otp/vasco/Node; getfield Node/next Lcom/intel/otp/vasco/Node; ifnull LABEL_0196 aload_0 aload_0 getfield LinkedList/head Lcom/intel/otp/vasco/Node; getfield Node/next Lcom/intel/otp/vasco/Node; putfield LinkedList/head Lcom/intel/otp/vasco/Node; aload_0 getfield LinkedList/head Lcom/intel/otp/vasco/Node; aconst_null putfield Node/previous Lcom/intel/otp/vasco/Node; goto LABEL_019C LABEL_0196: aload_0 aconst_null putfield LinkedList/head Lcom/intel/otp/vasco/Node; LABEL_019C: aload_0 dup getfield LinkedList/length S iconst_1 isub i2s putfield LinkedList/length S goto LABEL_01E4 LABEL_01AC: aload_2 getfield Node/previous Lcom/intel/otp/vasco/Node; aload_2 getfield Node/next Lcom/intel/otp/vasco/Node; putfield Node/next Lcom/intel/otp/vasco/Node; aload_2 getfield Node/next Lcom/intel/otp/vasco/Node; ifnull LABEL_01CC aload_2 getfield Node/next Lcom/intel/otp/vasco/Node; aload_2 getfield Node/previous Lcom/intel/otp/vasco/Node; putfield Node/previous Lcom/intel/otp/vasco/Node; LABEL_01CC: aload_2 aconst_null putfield Node/previous Lcom/intel/otp/vasco/Node; aload_2 aconst_null putfield Node/next Lcom/intel/otp/vasco/Node; aload_0 dup getfield LinkedList/length S iconst_1 isub i2s putfield LinkedList/length S LABEL_01E4: return .end method .method public deleteAll : ()V .limit stack 2 .limit locals 1 ; Bytecode disassembly: LABEL_01EE: aload_0 getfield LinkedList/head Lcom/intel/otp/vasco/Node; getfield Node/next Lcom/intel/otp/vasco/Node; ifnull LABEL_0222 aload_0 getfield LinkedList/head Lcom/intel/otp/vasco/Node; aload_0 getfield LinkedList/head Lcom/intel/otp/vasco/Node; getfield Node/next Lcom/intel/otp/vasco/Node; getfield Node/next Lcom/intel/otp/vasco/Node; putfield Node/next Lcom/intel/otp/vasco/Node; aload_0 getfield LinkedList/head Lcom/intel/otp/vasco/Node; getfield Node/next Lcom/intel/otp/vasco/Node; aload_0 getfield LinkedList/head Lcom/intel/otp/vasco/Node; putfield Node/previous Lcom/intel/otp/vasco/Node; goto LABEL_01EE LABEL_0222: aload_0 aconst_null putfield LinkedList/head Lcom/intel/otp/vasco/Node; aload_0 iconst_0 putfield LinkedList/length S return .end method .method public exists : (I)Z .limit stack 2 .limit locals 3 ; Bytecode disassembly: aload_0 getfield LinkedList/head Lcom/intel/otp/vasco/Node; astore_2 LABEL_023D: aload_2 ifnull LABEL_0254 aload_2 getfield Node/handle I iload_1 if_icmpne LABEL_024C iconst_1 ireturn LABEL_024C: aload_2 getfield Node/next Lcom/intel/otp/vasco/Node; astore_2 goto LABEL_023D LABEL_0254: iconst_0 ireturn .end method .method public get : (I)Ljava/lang/Object; .limit stack 2 .limit locals 3 ; Bytecode disassembly: aload_0 iload_1 invokevirtual com/intel/otp/vasco/LinkedList/getNode(I)Lcom/intel/otp/vasco/Node; astore_2 aload_2 ifnonnull LABEL_026C aconst_null areturn LABEL_026C: aload_2 getfield Node/obj Ljava/lang/Object; areturn .end method .method public getNode : (I)Lcom/intel/otp/vasco/Node; .limit stack 2 .limit locals 3 ; Bytecode disassembly: aload_0 getfield LinkedList/head Lcom/intel/otp/vasco/Node; astore_2 LABEL_027F: aload_2 ifnull LABEL_0296 aload_2 getfield Node/handle I iload_1 if_icmpne LABEL_028E aload_2 areturn LABEL_028E: aload_2 getfield Node/next Lcom/intel/otp/vasco/Node; astore_2 goto LABEL_027F LABEL_0296: aconst_null areturn .end method .method public size : ()S .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield LinkedList/length S ireturn .end method .end class ; class 7/29 .class final super com/intel/otp/vasco/Node .super java/lang/Object .field handle I .field next Lcom/intel/otp/vasco/Node; .field obj Ljava/lang/Object; .field previous Lcom/intel/otp/vasco/Node; .method public : (ILjava/lang/Object;)V .limit stack 5 .limit locals 3 ; Bytecode disassembly: aload_0 iload_1 aload_2 aconst_null aconst_null invokespecial com/intel/otp/vasco/Node/(ILjava/lang/Object;Lcom/intel/otp/vasco/Node;Lcom/intel/otp/vasco/Node;)V return .end method .method public : (ILjava/lang/Object;Lcom/intel/otp/vasco/Node;Lcom/intel/otp/vasco/Node;)V .limit stack 2 .limit locals 5 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V aload_0 aload_2 putfield Node/obj Ljava/lang/Object; aload_0 iload_1 putfield Node/handle I aload_0 aload_3 putfield Node/previous Lcom/intel/otp/vasco/Node; aload_0 aload 4 ; (0x4) putfield Node/next Lcom/intel/otp/vasco/Node; return .end method .end class ; class 8/29 .class public final super com/intel/otp/vasco/OTPException .super com/intel/langutil/IntelRuntimeException .field public static final OTPF_INTERNAL_INVALID_MSG_TYPE S .field public static final OTP_RET_E_BUFFER_INSUFFICIENT S .field public static final OTP_RET_E_CRYPTO S .field public static final OTP_RET_E_IHA_PROTO_ERROR S .field public static final OTP_RET_E_INTERNAL_ERROR S .field public static final OTP_RET_E_INVALID_HANDLE S .field public static final OTP_RET_E_INVALID_INPUT S .field public static final OTP_RET_E_INVALID_LENGTH S .field public static final OTP_RET_E_INVALID_MESSAGE S .field public static final OTP_RET_E_INVALID_TOKEN S .field public static final OTP_RET_E_INVALID_TYPE S .field public static final OTP_RET_E_MEMORY S .field public static final OTP_RET_E_NOT_IMPLEMENTED S .field public static final OTP_RET_E_OTPS_FAILED S .field public static final OTP_RET_E_OTPS_NOT_READY S .field public static final OTP_RET_E_PROV_FAILED S .field public static final OTP_RET_E_PROV_INCOMPLETE S .field public static final OTP_RET_E_SYSTEM_BUSY S .field public static final OTP_RET_E_UNEXPECTED_CALL S .field public static final OTP_RET_E_VALIDATION_FAILED S .field public static final OTP_RET_S_OK S .field static exceptionReason S .field static o Lcom/intel/otp/vasco/OTPException; .method : ()V .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial com/intel/langutil/IntelRuntimeException/()V return .end method .method public getReason : ()S .limit stack 1 .limit locals 1 ; Bytecode disassembly: getstatic OTPException/exceptionReason S ireturn .end method .method static : ()V .limit stack 1 .limit locals 0 ; Bytecode disassembly: bipush 10 ; (0xa) putstatic OTPException/OTP_RET_E_INTERNAL_ERROR S bipush 11 ; (0xb) putstatic OTPException/OTP_RET_E_BUFFER_INSUFFICIENT S bipush 12 ; (0xc) putstatic OTPException/OTP_RET_E_MEMORY S bipush 13 ; (0xd) putstatic OTPException/OTP_RET_E_INVALID_INPUT S bipush 14 ; (0xe) putstatic OTPException/OTP_RET_E_NOT_IMPLEMENTED S sipush 201 ; (0xC9) putstatic OTPException/OTP_RET_E_INVALID_HANDLE S sipush 202 ; (0xCA) putstatic OTPException/OTP_RET_E_UNEXPECTED_CALL S sipush 203 ; (0xCB) putstatic OTPException/OTP_RET_E_CRYPTO S sipush 204 ; (0xCC) putstatic OTPException/OTP_RET_E_VALIDATION_FAILED S sipush 205 ; (0xCD) putstatic OTPException/OTP_RET_E_OTPS_FAILED S sipush 206 ; (0xCE) putstatic OTPException/OTP_RET_E_PROV_FAILED S sipush 207 ; (0xCF) putstatic OTPException/OTP_RET_E_INVALID_TOKEN S sipush 208 ; (0xD0) putstatic OTPException/OTP_RET_E_INVALID_MESSAGE S sipush 209 ; (0xD1) putstatic OTPException/OTP_RET_E_INVALID_TYPE S sipush 210 ; (0xD2) putstatic OTPException/OTP_RET_E_INVALID_LENGTH S sipush 211 ; (0xD3) putstatic OTPException/OTP_RET_E_OTPS_NOT_READY S sipush 212 ; (0xD4) putstatic OTPException/OTP_RET_E_SYSTEM_BUSY S sipush 213 ; (0xD5) putstatic OTPException/OTP_RET_E_PROV_INCOMPLETE S sipush 301 ; (0x12D) putstatic OTPException/OTP_RET_E_IHA_PROTO_ERROR S sipush 1001 ; (0x3E9) putstatic OTPException/OTPF_INTERNAL_INVALID_MSG_TYPE S aconst_null putstatic OTPException/o Lcom/intel/otp/vasco/OTPException; return .end method .method public static throwIt : (S)V .limit stack 2 .limit locals 1 ; Bytecode disassembly: getstatic OTPException/o Lcom/intel/otp/vasco/OTPException; ifnonnull LABEL_0258 new com/intel/otp/vasco/OTPException dup invokespecial com/intel/otp/vasco/OTPException/()V putstatic OTPException/o Lcom/intel/otp/vasco/OTPException; LABEL_0258: iload_0 putstatic OTPException/exceptionReason S getstatic OTPException/o Lcom/intel/otp/vasco/OTPException; athrow .end method .end class ; class 9/29 .class super com/intel/otp/vasco/OTPParamsAnalyzer .super java/lang/Object .field private static final APP_NUM_PARAM I .field private static final CHALLENGE_PARAM I .field private static final DTF1_PARAM I .field private static final DTF2_PARAM I .field private static final DTF3_PARAM I .field private static final DTF4_PARAM I .field private static final DTF5_PARAM I .field private static final DTF6_PARAM I .field private static final DTF7_PARAM I .field private static final DTF8_PARAM I .field private static final DTFNB_PARAM I .field private static final MODE_PARAM I .field private static final OLD_PIN_PARAM I .field private static final PIN_PARAM I .field private static final PROPERTY_PARAM I .method : ()V .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V return .end method .method static : ()V .limit stack 1 .limit locals 0 ; Bytecode disassembly: iconst_1 putstatic OTPParamsAnalyzer/MODE_PARAM I iconst_2 putstatic OTPParamsAnalyzer/APP_NUM_PARAM I iconst_3 putstatic OTPParamsAnalyzer/PIN_PARAM I iconst_4 putstatic OTPParamsAnalyzer/OLD_PIN_PARAM I iconst_5 putstatic OTPParamsAnalyzer/CHALLENGE_PARAM I bipush 6 ; (0x6) putstatic OTPParamsAnalyzer/DTFNB_PARAM I bipush 7 ; (0x7) putstatic OTPParamsAnalyzer/DTF1_PARAM I bipush 8 ; (0x8) putstatic OTPParamsAnalyzer/DTF2_PARAM I bipush 9 ; (0x9) putstatic OTPParamsAnalyzer/DTF3_PARAM I bipush 10 ; (0xa) putstatic OTPParamsAnalyzer/DTF4_PARAM I bipush 11 ; (0xb) putstatic OTPParamsAnalyzer/DTF5_PARAM I bipush 12 ; (0xc) putstatic OTPParamsAnalyzer/DTF6_PARAM I bipush 13 ; (0xd) putstatic OTPParamsAnalyzer/DTF7_PARAM I bipush 14 ; (0xe) putstatic OTPParamsAnalyzer/DTF8_PARAM I bipush 15 ; (0xf) putstatic OTPParamsAnalyzer/PROPERTY_PARAM I return .end method .method static analyse : ([BSSLcom/intel/otp/vasco/EncryptedToken;)Lcom/intel/otp/vasco/VDS_Data; .limit stack 10 .limit locals 24 ; Bytecode disassembly: new com/intel/otp/vasco/VDS_Data dup invokespecial com/intel/otp/vasco/VDS_Data/()V astore 4 ; (0x4) iload_1 istore 5 ; (0x5) aconst_null astore 6 ; (0x6) aconst_null astore 7 ; (0x7) aconst_null astore 8 ; (0x8) aconst_null astore 9 ; (0x9) aconst_null astore 10 ; (0xa) aconst_null astore 11 ; (0xb) aconst_null astore 12 ; (0xc) aconst_null astore 13 ; (0xd) iconst_0 istore 14 ; (0xe) LABEL_024E: iload 5 ; (0x5) iload_1 iload_2 iadd if_icmpge LABEL_034E aload_0 iload 5 ; (0x5) baload istore 15 ; (0xf) aload_0 iload 5 ; (0x5) iconst_1 iadd baload istore 16 ; (0x10) iload 16 ; (0x10) newarray byte astore 17 ; (0x11) aload_0 iload 5 ; (0x5) iconst_2 iadd aload 17 ; (0x11) iconst_0 iload 16 ; (0x10) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iload 15 ; (0xf) tableswitch 1 LABEL_02A0 ; case 1 LABEL_0328 ; case 2 LABEL_02AE ; case 3 LABEL_031C ; case 4 LABEL_0336 ; case 5 LABEL_02C8 ; case 6 LABEL_02DC ; case 7 LABEL_02E4 ; case 8 LABEL_02EC ; case 9 LABEL_02F4 ; case 10 LABEL_02FC ; case 11 LABEL_0304 ; case 12 LABEL_030C ; case 13 LABEL_0314 ; case 14 LABEL_02BA ; case 15 default: LABEL_0342 LABEL_02A0: aload 4 ; (0x4) aload 17 ; (0x11) iconst_0 baload invokevirtual com/intel/otp/vasco/VDS_Data/setMode(B)V goto LABEL_0342 LABEL_02AE: aload 4 ; (0x4) aload 17 ; (0x11) invokevirtual com/intel/otp/vasco/VDS_Data/setPin([B)V goto LABEL_0342 LABEL_02BA: aload 4 ; (0x4) aload 17 ; (0x11) iconst_0 baload invokevirtual com/intel/otp/vasco/VDS_Data/setParam(B)V goto LABEL_0342 LABEL_02C8: aload 4 ; (0x4) aload 17 ; (0x11) iconst_0 baload invokevirtual com/intel/otp/vasco/VDS_Data/setNbDTF(B)V aload 17 ; (0x11) iconst_0 baload istore 14 ; (0xe) goto LABEL_0342 LABEL_02DC: aload 17 ; (0x11) astore 6 ; (0x6) goto LABEL_0342 LABEL_02E4: aload 17 ; (0x11) astore 7 ; (0x7) goto LABEL_0342 LABEL_02EC: aload 17 ; (0x11) astore 8 ; (0x8) goto LABEL_0342 LABEL_02F4: aload 17 ; (0x11) astore 9 ; (0x9) goto LABEL_0342 LABEL_02FC: aload 17 ; (0x11) astore 10 ; (0xa) goto LABEL_0342 LABEL_0304: aload 17 ; (0x11) astore 11 ; (0xb) goto LABEL_0342 LABEL_030C: aload 17 ; (0x11) astore 12 ; (0xc) goto LABEL_0342 LABEL_0314: aload 17 ; (0x11) astore 13 ; (0xd) goto LABEL_0342 LABEL_031C: aload 4 ; (0x4) aload 17 ; (0x11) invokevirtual com/intel/otp/vasco/VDS_Data/setOldPin([B)V goto LABEL_0342 LABEL_0328: aload 4 ; (0x4) aload 17 ; (0x11) iconst_0 baload invokevirtual com/intel/otp/vasco/VDS_Data/setAppNum(B)V goto LABEL_0342 LABEL_0336: aload 4 ; (0x4) aload 17 ; (0x11) invokevirtual com/intel/otp/vasco/VDS_Data/setChallenge([B)V goto LABEL_0342 LABEL_0342: iload 5 ; (0x5) iload 16 ; (0x10) iadd iconst_2 iadd istore 5 ; (0x5) goto LABEL_024E LABEL_034E: aload 4 ; (0x4) iload 14 ; (0xe) aload 6 ; (0x6) aload 7 ; (0x7) aload 8 ; (0x8) aload 9 ; (0x9) aload 10 ; (0xa) aload 11 ; (0xb) aload 12 ; (0xc) aload 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPParamsAnalyzer/getDtfs(B[B[B[B[B[B[B[B[B)[B invokevirtual com/intel/otp/vasco/VDS_Data/setDtfs([B)V aload_3 invokeinterface com/intel/otp/vasco/EncryptedToken/getMetaData()[B 0 astore 17 ; (0x11) aload_3 invokeinterface com/intel/otp/vasco/EncryptedToken/getSeed()[B 0 astore 18 ; (0x12) aload_3 invokeinterface com/intel/otp/vasco/EncryptedToken/getMetaDataOffset()S 0 istore 19 ; (0x13) aload_3 invokeinterface com/intel/otp/vasco/EncryptedToken/getSeedOffset()S 0 istore 20 ; (0x14) bipush 56 ; (0x38) newarray byte astore 21 ; (0x15) bipush 56 ; (0x38) newarray byte astore 22 ; (0x16) bipush 8 ; (0x8) newarray byte astore 23 ; (0x17) aload 17 ; (0x11) iload 19 ; (0x13) aload 21 ; (0x15) iconst_0 bipush 56 ; (0x38) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload 17 ; (0x11) bipush 56 ; (0x38) iload 19 ; (0x13) iadd aload 22 ; (0x16) iconst_0 bipush 10 ; (0xa) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload 18 ; (0x12) iload 20 ; (0x14) aload 22 ; (0x16) bipush 10 ; (0xa) bipush 16 ; (0x10) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload 17 ; (0x11) bipush 66 ; (0x42) iload 19 ; (0x13) iadd aload 22 ; (0x16) bipush 26 ; (0x1a) bipush 30 ; (0x1e) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload 17 ; (0x11) bipush 96 ; (0x60) iload 19 ; (0x13) iadd aload 23 ; (0x17) iconst_0 bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload 4 ; (0x4) aload 21 ; (0x15) invokevirtual com/intel/otp/vasco/VDS_Data/setStaticVector([B)V aload 4 ; (0x4) aload 22 ; (0x16) invokevirtual com/intel/otp/vasco/VDS_Data/setDynamicVector([B)V aload 4 ; (0x4) aload 23 ; (0x17) invokevirtual com/intel/otp/vasco/VDS_Data/setTimeMetaData([B)V aload 4 ; (0x4) areturn .end method .method private static getDtfs : (B[B[B[B[B[B[B[B[B)[B .limit stack 3 .limit locals 12 ; Bytecode disassembly: iload_0 ifne LABEL_0408 aconst_null areturn LABEL_0408: iconst_0 istore 9 ; (0x9) iload_0 ifle LABEL_041F iinc 9 2 aload_1 ifnull LABEL_041F iload 9 ; (0x9) aload_1 arraylength iadd istore 9 ; (0x9) LABEL_041F: iload_0 ifle LABEL_0433 iinc 9 2 aload_1 ifnull LABEL_0433 iload 9 ; (0x9) aload_1 arraylength iadd istore 9 ; (0x9) LABEL_0433: iload_0 iconst_1 if_icmple LABEL_0447 iinc 9 1 aload_2 ifnull LABEL_0447 iload 9 ; (0x9) aload_2 arraylength iadd istore 9 ; (0x9) LABEL_0447: iload_0 iconst_2 if_icmple LABEL_045B iinc 9 1 aload_3 ifnull LABEL_045B iload 9 ; (0x9) aload_3 arraylength iadd istore 9 ; (0x9) LABEL_045B: iload_0 iconst_3 if_icmple LABEL_0470 iinc 9 1 aload 4 ; (0x4) ifnull LABEL_0470 iload 9 ; (0x9) aload 4 ; (0x4) arraylength iadd istore 9 ; (0x9) LABEL_0470: iload_0 iconst_4 if_icmple LABEL_0486 iinc 9 1 aload 5 ; (0x5) ifnull LABEL_0486 iload 9 ; (0x9) aload 5 ; (0x5) arraylength iadd istore 9 ; (0x9) LABEL_0486: iload_0 iconst_5 if_icmple LABEL_049C iinc 9 1 aload 6 ; (0x6) ifnull LABEL_049C iload 9 ; (0x9) aload 6 ; (0x6) arraylength iadd istore 9 ; (0x9) LABEL_049C: iload_0 bipush 6 ; (0x6) if_icmple LABEL_04B2 iinc 9 1 aload 7 ; (0x7) ifnull LABEL_04B2 iload 9 ; (0x9) aload 7 ; (0x7) arraylength iadd istore 9 ; (0x9) LABEL_04B2: iload_0 bipush 7 ; (0x7) if_icmple LABEL_04C8 iinc 9 1 aload 8 ; (0x8) ifnull LABEL_04C8 iload 9 ; (0x9) aload 8 ; (0x8) arraylength iadd istore 9 ; (0x9) LABEL_04C8: iload 9 ; (0x9) newarray byte astore 10 ; (0xa) aload 10 ; (0xa) iconst_0 iload_0 bastore iconst_1 istore 11 ; (0xb) iload_0 ifle LABEL_04E4 aload_1 aload 10 ; (0xa) iload 11 ; (0xb) invokestatic com/intel/otp/vasco/OTPParamsAnalyzer/updatedtf([B[BS)S istore 11 ; (0xb) LABEL_04E4: iload_0 iconst_1 if_icmple LABEL_04F4 aload_2 aload 10 ; (0xa) iload 11 ; (0xb) invokestatic com/intel/otp/vasco/OTPParamsAnalyzer/updatedtf([B[BS)S istore 11 ; (0xb) LABEL_04F4: iload_0 iconst_2 if_icmple LABEL_0504 aload_3 aload 10 ; (0xa) iload 11 ; (0xb) invokestatic com/intel/otp/vasco/OTPParamsAnalyzer/updatedtf([B[BS)S istore 11 ; (0xb) LABEL_0504: iload_0 iconst_3 if_icmple LABEL_0516 aload 4 ; (0x4) aload 10 ; (0xa) iload 11 ; (0xb) invokestatic com/intel/otp/vasco/OTPParamsAnalyzer/updatedtf([B[BS)S istore 11 ; (0xb) LABEL_0516: iload_0 iconst_4 if_icmple LABEL_0528 aload 5 ; (0x5) aload 10 ; (0xa) iload 11 ; (0xb) invokestatic com/intel/otp/vasco/OTPParamsAnalyzer/updatedtf([B[BS)S istore 11 ; (0xb) LABEL_0528: iload_0 iconst_5 if_icmple LABEL_053A aload 6 ; (0x6) aload 10 ; (0xa) iload 11 ; (0xb) invokestatic com/intel/otp/vasco/OTPParamsAnalyzer/updatedtf([B[BS)S istore 11 ; (0xb) LABEL_053A: iload_0 bipush 6 ; (0x6) if_icmple LABEL_054C aload 7 ; (0x7) aload 10 ; (0xa) iload 11 ; (0xb) invokestatic com/intel/otp/vasco/OTPParamsAnalyzer/updatedtf([B[BS)S istore 11 ; (0xb) LABEL_054C: iload_0 bipush 7 ; (0x7) if_icmple LABEL_055E aload 8 ; (0x8) aload 10 ; (0xa) iload 11 ; (0xb) invokestatic com/intel/otp/vasco/OTPParamsAnalyzer/updatedtf([B[BS)S istore 11 ; (0xb) LABEL_055E: aload 10 ; (0xa) areturn .end method .method private static updatedtf : ([B[BS)S .limit stack 5 .limit locals 4 ; Bytecode disassembly: aload_0 ifnull LABEL_058C aload_1 iload_2 aload_0 arraylength i2b bastore aload_0 iconst_0 aload_1 iload_2 iconst_1 iadd aload_0 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iload_2 iconst_1 iadd aload_0 arraylength iadd i2s istore_3 goto LABEL_0595 LABEL_058C: aload_1 iload_2 iconst_0 bastore iload_2 iconst_1 iadd i2s istore_3 LABEL_0595: iload_3 ireturn .end method .end class ; class 10/29 .class super com/intel/otp/vasco/OTPResponseEncoder .super java/lang/Object .field private attemptLefts B .field private debugVal [B .field private dpResponse [B .field private errorCode S .field private property [B .field private rhc [B .field private static final ATTEMPT_LEFT_KEY B .field private static final DEBUG_KEY B .field private static final OTP_KEY B .field private static final PROPERTY_KEY B .field private static final RETCODE_KEY B .field private static final RHC_KEY B .method : ()V .limit stack 2 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V aload_0 iconst_0 putfield OTPResponseEncoder/errorCode S return .end method .method encode : ([BS)S .limit stack 7 .limit locals 6 ; Bytecode disassembly: iconst_0 istore_3 iconst_4 newarray byte dup iconst_0 aload_0 getfield OTPResponseEncoder/errorCode S bipush 24 ; (0x18) ishr i2b bastore dup iconst_1 aload_0 getfield OTPResponseEncoder/errorCode S bipush 16 ; (0x10) ishr i2b bastore dup iconst_2 aload_0 getfield OTPResponseEncoder/errorCode S bipush 8 ; (0x8) ishr i2b bastore dup iconst_3 aload_0 getfield OTPResponseEncoder/errorCode S i2b bastore astore 4 ; (0x4) iload_3 aload_0 aload 4 ; (0x4) iconst_1 aload_1 iload_2 iload_3 invokespecial com/intel/otp/vasco/OTPResponseEncoder/writeInfo([BB[BSS)S iadd i2s istore_3 iload_3 aload_0 aload_0 getfield OTPResponseEncoder/dpResponse [B iconst_3 aload_1 iload_2 iload_3 invokespecial com/intel/otp/vasco/OTPResponseEncoder/writeInfo([BB[BSS)S iadd i2s istore_3 iload_3 aload_0 aload_0 getfield OTPResponseEncoder/rhc [B iconst_4 aload_1 iload_2 iload_3 invokespecial com/intel/otp/vasco/OTPResponseEncoder/writeInfo([BB[BSS)S iadd i2s istore_3 iload_3 aload_0 aload_0 getfield OTPResponseEncoder/debugVal [B bipush 11 ; (0xb) aload_1 iload_2 iload_3 invokespecial com/intel/otp/vasco/OTPResponseEncoder/writeInfo([BB[BSS)S iadd i2s istore_3 iconst_1 newarray byte dup iconst_0 aload_0 getfield OTPResponseEncoder/attemptLefts B bastore astore 5 ; (0x5) iload_3 aload_0 aload 5 ; (0x5) iconst_2 aload_1 iload_2 iload_3 invokespecial com/intel/otp/vasco/OTPResponseEncoder/writeInfo([BB[BSS)S iadd i2s istore_3 iload_3 aload_0 aload_0 getfield OTPResponseEncoder/property [B iconst_5 aload_1 iload_2 iload_3 invokespecial com/intel/otp/vasco/OTPResponseEncoder/writeInfo([BB[BSS)S iadd i2s istore_3 iload_3 ireturn .end method .method public getProperty : ()[B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield OTPResponseEncoder/property [B areturn .end method .method setAttemptLefts : (B)V .limit stack 2 .limit locals 2 ; Bytecode disassembly: aload_0 iload_1 putfield OTPResponseEncoder/attemptLefts B return .end method .method setDigipassOutput : (Lcom/intel/otp/vasco/DigipassOutput;)V .limit stack 2 .limit locals 2 ; Bytecode disassembly: aload_0 aload_1 invokevirtual com/intel/otp/vasco/DigipassOutput/getDpResponse()[B putfield OTPResponseEncoder/dpResponse [B aload_0 aload_1 invokevirtual com/intel/otp/vasco/DigipassOutput/getDpRhc()[B putfield OTPResponseEncoder/rhc [B aload_0 aload_1 invokevirtual com/intel/otp/vasco/DigipassOutput/getDebugVal()[B putfield OTPResponseEncoder/debugVal [B return .end method .method setErrorCode : (S)V .limit stack 2 .limit locals 2 ; Bytecode disassembly: aload_0 iload_1 putfield OTPResponseEncoder/errorCode S return .end method .method public setProperty : ([B)V .limit stack 2 .limit locals 2 ; Bytecode disassembly: aload_0 aload_1 putfield OTPResponseEncoder/property [B return .end method .method private writeInfo : ([BB[BSS)S .limit stack 5 .limit locals 7 ; Bytecode disassembly: aload_1 ifnull LABEL_02C2 aload_1 arraylength ifle LABEL_02C2 aload_3 iconst_0 iload 4 ; (0x4) iadd iload 5 ; (0x5) iadd iload_2 bastore aload_3 iconst_1 iload 4 ; (0x4) iadd iload 5 ; (0x5) iadd aload_1 arraylength i2b bastore aload_1 iconst_0 aload_3 iconst_2 iload 4 ; (0x4) iadd iload 5 ; (0x5) iadd aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iconst_2 aload_1 arraylength iadd i2s istore 6 ; (0x6) goto LABEL_02C5 LABEL_02C2: iconst_0 istore 6 ; (0x6) LABEL_02C5: iload 6 ; (0x6) ireturn .end method .method static : ()V .limit stack 1 .limit locals 0 ; Bytecode disassembly: iconst_1 putstatic OTPResponseEncoder/RETCODE_KEY B iconst_2 putstatic OTPResponseEncoder/ATTEMPT_LEFT_KEY B iconst_3 putstatic OTPResponseEncoder/OTP_KEY B iconst_4 putstatic OTPResponseEncoder/RHC_KEY B iconst_5 putstatic OTPResponseEncoder/PROPERTY_KEY B bipush 11 ; (0xb) putstatic OTPResponseEncoder/DEBUG_KEY B return .end method .end class ; class 11/29 .class public final super com/intel/otp/vasco/OtpFramework .super java/lang/Object .const [o2914] = Int 65535 ; 0x0000FFFF .const [o2918] = String "Hdr length mismatch" .const [o2940] = String "Insufficient buffer length." .const [o2970] = String "Unknown action..." .field mEncToken Lcom/intel/otp/vasco/EncryptedTokenImpl; .field mOtps Lcom/intel/otp/vasco/OtpService; .field mSvc Lcom/intel/otp/vasco/SVCImpl; .method public : ()V .limit stack 4 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V aload_0 new com/intel/otp/vasco/EncryptedTokenImpl dup invokespecial com/intel/otp/vasco/EncryptedTokenImpl/()V putfield OtpFramework/mEncToken Lcom/intel/otp/vasco/EncryptedTokenImpl; aload_0 new com/intel/otp/vasco/OtpServiceImpl dup invokespecial com/intel/otp/vasco/OtpServiceImpl/()V putfield OtpFramework/mOtps Lcom/intel/otp/vasco/OtpService; aload_0 new com/intel/otp/vasco/SVCImpl dup aload_0 getfield OtpFramework/mOtps Lcom/intel/otp/vasco/OtpService; invokespecial com/intel/otp/vasco/SVCImpl/(Lcom/intel/otp/vasco/OtpService;)V putfield OtpFramework/mSvc Lcom/intel/otp/vasco/SVCImpl; return .end method .method protected processControlReq : ([B[B)S .limit stack 5 .limit locals 8 ; Bytecode disassembly: iconst_0 istore_3 aload_1 bipush 8 ; (0x8) invokestatic com/intel/langutil/TypeConverter/bytesToInt([BI)I istore 4 ; (0x4) aload_1 bipush 12 ; (0xc) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 5 ; (0x5) aload_1 bipush 14 ; (0xe) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 6 ; (0x6) aload_1 bipush 16 ; (0x10) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 7 ; (0x7) iload 7 ; (0x7) iflt LABEL_0278 iload 7 ; (0x7) sipush 4000 ; (0xFA0) if_icmple LABEL_0280 LABEL_0278: sipush 210 ; (0xD2) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0280: iload 5 ; (0x5) lookupswitch 1: LABEL_028C default: LABEL_02A0 LABEL_028C: aload_0 getfield OtpFramework/mOtps Lcom/intel/otp/vasco/OtpService; iload 4 ; (0x4) aload_1 bipush 18 ; (0x12) iload 7 ; (0x7) invokevirtual com/intel/otp/vasco/OtpService/selectProvAlgo(I[BSS)V iconst_1 istore_3 goto LABEL_02B3 LABEL_02A0: ldc [o2970] invokestatic com/intel/util/DebugPrint/printString(Ljava/lang/String;)V iconst_0 aload_2 bipush 12 ; (0xc) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop iconst_1 istore_3 LABEL_02B3: aload_2 bipush 12 ; (0xc) bipush 7 ; (0x7) iload_3 iadd iconst_1 isub i2s iconst_0 invokestatic com/intel/otp/vasco/IHAProto/constructIHAReplyHeader([BSSS)V bipush 15 ; (0xf) iload_3 iadd iconst_1 isub i2s ireturn .end method .method protected processEPIDReq : ([B[B)S .limit stack 7 .limit locals 6 ; Bytecode disassembly: aload_1 bipush 8 ; (0x8) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore_3 aload_1 bipush 10 ; (0xa) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 4 ; (0x4) aload_0 getfield OtpFramework/mSvc Lcom/intel/otp/vasco/SVCImpl; aload_1 bipush 12 ; (0xc) iload 4 ; (0x4) aload_2 bipush 14 ; (0xe) iload_3 invokevirtual com/intel/otp/vasco/SVCImpl/processEpidReq([BSS[BSS)S istore 5 ; (0x5) iload 5 ; (0x5) aload_2 bipush 12 ; (0xc) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop aload_2 bipush 20 ; (0x14) bipush 20 ; (0x14) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S iload 5 ; (0x5) iadd iconst_1 isub i2s iconst_0 invokestatic com/intel/otp/vasco/IHAProto/constructIHAReplyHeader([BSSS)V bipush 8 ; (0x8) bipush 20 ; (0x14) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S iadd iload 5 ; (0x5) iadd iconst_1 isub i2s ireturn .end method .method protected processEndProvisioning : ([B[B)S .limit stack 4 .limit locals 11 ; Bytecode disassembly: iconst_0 istore_3 iconst_0 istore 4 ; (0x4) iconst_0 istore 5 ; (0x5) iconst_0 istore 6 ; (0x6) iconst_0 istore 7 ; (0x7) aload_1 bipush 8 ; (0x8) invokestatic com/intel/langutil/TypeConverter/bytesToInt([BI)I istore 8 ; (0x8) aload_1 bipush 12 ; (0xc) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 9 ; (0x9) aload_0 getfield OtpFramework/mEncToken Lcom/intel/otp/vasco/EncryptedTokenImpl; invokevirtual com/intel/otp/vasco/EncryptedTokenImpl/reset()V aload_0 getfield OtpFramework/mSvc Lcom/intel/otp/vasco/SVCImpl; iload 8 ; (0x8) invokevirtual com/intel/otp/vasco/SVCImpl/endProvisioning(I)V goto LABEL_0366 astore 10 ; (0xa) aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/OTPException/getReason()S istore 4 ; (0x4) LABEL_0366: aload_0 getfield OtpFramework/mOtps Lcom/intel/otp/vasco/OtpService; iload 8 ; (0x8) aload_0 getfield OtpFramework/mEncToken Lcom/intel/otp/vasco/EncryptedTokenImpl; iload 9 ; (0x9) i2s invokevirtual com/intel/otp/vasco/OtpService/endProvisioning(ILcom/intel/otp/vasco/EncryptedToken;S)V goto LABEL_038D astore 10 ; (0xa) aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/OTPException/getReason()S istore_3 goto LABEL_038D astore 10 ; (0xa) sipush 203 ; (0xCB) istore_3 LABEL_038D: iload 4 ; (0x4) ifeq LABEL_039A bipush 7 ; (0x7) istore 5 ; (0x5) goto LABEL_03E0 LABEL_039A: iload_3 bipush 11 ; (0xb) if_icmpne LABEL_03BE iconst_0 iconst_3 ldc [o2940] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V aload_0 getfield OtpFramework/mEncToken Lcom/intel/otp/vasco/EncryptedTokenImpl; invokevirtual com/intel/otp/vasco/EncryptedTokenImpl/getEncryptedTokenLength()S istore 5 ; (0x5) iload 5 ; (0x5) invokestatic com/intel/util/DebugPrint/printInt(I)V goto LABEL_03E0 LABEL_03BE: iload_3 ifeq LABEL_03CC iload_3 istore 4 ; (0x4) bipush 7 ; (0x7) istore 5 ; (0x5) goto LABEL_03E0 LABEL_03CC: aload_0 getfield OtpFramework/mEncToken Lcom/intel/otp/vasco/EncryptedTokenImpl; aload_2 bipush 14 ; (0xe) sipush 3000 ; (0xBB8) invokevirtual com/intel/otp/vasco/EncryptedTokenImpl/toByte([BSS)S istore 5 ; (0x5) iload 5 ; (0x5) istore 6 ; (0x6) LABEL_03E0: aload_0 getfield OtpFramework/mEncToken Lcom/intel/otp/vasco/EncryptedTokenImpl; invokevirtual com/intel/otp/vasco/EncryptedTokenImpl/reset()V aload_2 bipush 6 ; (0x6) bipush 7 ; (0x7) iload 6 ; (0x6) iadd i2s iload 4 ; (0x4) invokestatic com/intel/otp/vasco/IHAProto/constructIHAReplyHeader([BSSS)V iload 5 ; (0x5) aload_2 bipush 12 ; (0xc) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop bipush 15 ; (0xf) iload 6 ; (0x6) iadd i2s istore 10 ; (0xa) iload 4 ; (0x4) ifne LABEL_0413 iload 10 ; (0xa) iconst_1 isub i2s istore 10 ; (0xa) LABEL_0413: iload 10 ; (0xa) ireturn .end method .method protected processGetOTPReq : ([B[B)S .limit stack 8 .limit locals 13 ; Bytecode disassembly: iconst_0 istore_3 aload_1 bipush 8 ; (0x8) invokestatic com/intel/langutil/TypeConverter/bytesToInt([BI)I istore 4 ; (0x4) aload_1 bipush 16 ; (0x10) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 5 ; (0x5) aload_1 bipush 18 ; (0x12) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 6 ; (0x6) aload_1 bipush 12 ; (0xc) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 7 ; (0x7) iload 5 ; (0x5) iflt LABEL_0470 iload 5 ; (0x5) sipush 4000 ; (0xFA0) if_icmpgt LABEL_0470 iload 6 ; (0x6) iflt LABEL_0470 iload 6 ; (0x6) sipush 4000 ; (0xFA0) if_icmpgt LABEL_0470 iload 7 ; (0x7) iflt LABEL_0470 iload 7 ; (0x7) sipush 4000 ; (0xFA0) if_icmple LABEL_0478 LABEL_0470: sipush 210 ; (0xD2) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0478: iconst_0 istore 8 ; (0x8) iload 4 ; (0x4) ifne LABEL_04B6 aload_1 bipush 14 ; (0xe) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 8 ; (0x8) iload 8 ; (0x8) iflt LABEL_0498 iload 8 ; (0x8) sipush 4000 ; (0xFA0) if_icmple LABEL_04A0 LABEL_0498: sipush 210 ; (0xD2) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_04A0: aload_0 getfield OtpFramework/mEncToken Lcom/intel/otp/vasco/EncryptedTokenImpl; invokevirtual com/intel/otp/vasco/EncryptedTokenImpl/reset()V aload_0 getfield OtpFramework/mEncToken Lcom/intel/otp/vasco/EncryptedTokenImpl; aload_1 bipush 20 ; (0x14) iload 5 ; (0x5) i2s invokevirtual com/intel/otp/vasco/EncryptedTokenImpl/importEncryptedToken([BSS)V LABEL_04B6: bipush 20 ; (0x14) iload 5 ; (0x5) iadd i2s istore 9 ; (0x9) iconst_0 istore 10 ; (0xa) iload 4 ; (0x4) ifne LABEL_04E4 aload_0 getfield OtpFramework/mOtps Lcom/intel/otp/vasco/OtpService; aload_0 getfield OtpFramework/mEncToken Lcom/intel/otp/vasco/EncryptedTokenImpl; aload_1 iload 9 ; (0x9) iload 6 ; (0x6) i2s aload_2 bipush 16 ; (0x10) iload 7 ; (0x7) i2s invokevirtual com/intel/otp/vasco/OtpService/getOTP(Lcom/intel/otp/vasco/EncryptedToken;[BSS[BSS)S istore 10 ; (0xa) goto LABEL_04FC LABEL_04E4: aload_0 getfield OtpFramework/mOtps Lcom/intel/otp/vasco/OtpService; iload 4 ; (0x4) aload_1 iload 9 ; (0x9) iload 6 ; (0x6) i2s aload_2 bipush 16 ; (0x10) iload 7 ; (0x7) i2s invokevirtual com/intel/otp/vasco/OtpService/getOTP(I[BSS[BSS)S istore 10 ; (0xa) LABEL_04FC: bipush 16 ; (0x10) iload 10 ; (0xa) iadd i2s istore 9 ; (0x9) iconst_0 istore 11 ; (0xb) iload 8 ; (0x8) ifle LABEL_053A aload_0 getfield OtpFramework/mEncToken Lcom/intel/otp/vasco/EncryptedTokenImpl; aload_2 iload 9 ; (0x9) iload 8 ; (0x8) i2s invokevirtual com/intel/otp/vasco/EncryptedTokenImpl/toByte([BSS)S istore 11 ; (0xb) goto LABEL_053A astore 12 ; (0xc) aload 12 ; (0xc) invokevirtual com/intel/otp/vasco/OTPException/getReason()S istore_3 iload_3 bipush 11 ; (0xb) if_icmpne LABEL_053A aload_0 getfield OtpFramework/mEncToken Lcom/intel/otp/vasco/EncryptedTokenImpl; invokevirtual com/intel/otp/vasco/EncryptedTokenImpl/getEncryptedTokenLength()S istore 11 ; (0xb) LABEL_053A: aload_2 bipush 14 ; (0xe) bipush 9 ; (0x9) iload 10 ; (0xa) iadd iload 11 ; (0xb) iadd iconst_1 isub i2s iload_3 invokestatic com/intel/otp/vasco/IHAProto/constructIHAReplyHeader([BSSS)V bipush 12 ; (0xc) istore 9 ; (0x9) iload 10 ; (0xa) aload_2 iload 9 ; (0x9) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop bipush 14 ; (0xe) istore 9 ; (0x9) iload 11 ; (0xb) aload_2 iload 9 ; (0x9) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop bipush 17 ; (0x11) iload 10 ; (0xa) iadd iload 11 ; (0xb) iadd iconst_1 isub i2s ireturn .end method .method protected processGetOTPSStatus : ([B[B)S .limit stack 4 .limit locals 7 ; Bytecode disassembly: aload_1 bipush 8 ; (0x8) invokestatic com/intel/langutil/TypeConverter/bytesToInt([BI)I istore_3 aload_1 bipush 12 ; (0xc) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 4 ; (0x4) aload_0 getfield OtpFramework/mOtps Lcom/intel/otp/vasco/OtpService; iload_3 iload 4 ; (0x4) invokevirtual com/intel/otp/vasco/OtpService/getOTPSStatus(IS)I istore 5 ; (0x5) iload 5 ; (0x5) aload_2 bipush 12 ; (0xc) invokestatic com/intel/langutil/TypeConverter/intToBytes(I[BI)I pop bipush 8 ; (0x8) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S istore 6 ; (0x6) aload_2 bipush 8 ; (0x8) iload 6 ; (0x6) iconst_0 invokestatic com/intel/otp/vasco/IHAProto/constructIHAReplyHeader([BSSS)V bipush 8 ; (0x8) iload 6 ; (0x6) iadd i2s ireturn .end method .method protected processGetSvpReq : ([B[B)S .limit stack 5 .limit locals 6 ; Bytecode disassembly: aload_1 bipush 8 ; (0x8) invokestatic com/intel/langutil/TypeConverter/bytesToInt([BI)I istore_3 aload_1 bipush 12 ; (0xc) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 4 ; (0x4) aload_0 getfield OtpFramework/mSvc Lcom/intel/otp/vasco/SVCImpl; iload_3 aload_2 bipush 14 ; (0xe) iload 4 ; (0x4) invokevirtual com/intel/otp/vasco/SVCImpl/getSVPMessage(I[BSS)S istore 5 ; (0x5) iload 5 ; (0x5) aload_2 bipush 12 ; (0xc) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop aload_2 bipush 24 ; (0x18) bipush 24 ; (0x18) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S iload 5 ; (0x5) iadd iconst_1 isub i2s iconst_0 invokestatic com/intel/otp/vasco/IHAProto/constructIHAReplyHeader([BSSS)V bipush 8 ; (0x8) bipush 24 ; (0x18) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S iadd iload 5 ; (0x5) iadd iconst_1 isub i2s ireturn .end method .method public processIHAMessage : ([B[B)S .limit stack 4 .limit locals 11 ; Bytecode disassembly: iconst_0 istore_3 aload_1 ifnonnull LABEL_0627 aload_2 iconst_0 iconst_4 bipush 13 ; (0xd) invokestatic com/intel/otp/vasco/IHAProto/constructIHAReplyHeader([BSSS)V bipush 12 ; (0xc) ireturn LABEL_0627: aload_1 arraylength bipush 8 ; (0x8) if_icmpge LABEL_064B iconst_0 iconst_3 ldc [o2918] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V aload_1 arraylength invokestatic com/intel/util/DebugPrint/printInt(I)V aload_2 iconst_0 iconst_4 sipush 301 ; (0x12D) invokestatic com/intel/otp/vasco/IHAProto/constructIHAReplyHeader([BSSS)V bipush 12 ; (0xc) ireturn LABEL_064B: aload_1 iconst_0 invokestatic com/intel/langutil/TypeConverter/bytesToInt([BI)I istore 4 ; (0x4) iload 4 ; (0x4) ldc [o2914] iand i2s ifne LABEL_066C iload 4 ; (0x4) bipush 16 ; (0x10) ishr ldc [o2914] iand i2s iconst_1 if_icmpeq LABEL_0679 LABEL_066C: aload_2 iconst_0 iconst_4 sipush 301 ; (0x12D) invokestatic com/intel/otp/vasco/IHAProto/constructIHAReplyHeader([BSSS)V bipush 12 ; (0xc) ireturn LABEL_0679: aload_1 iconst_4 invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 5 ; (0x5) aload_1 bipush 6 ; (0x6) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 6 ; (0x6) iload 5 ; (0x5) tableswitch 3 LABEL_06BC ; case 3 LABEL_096A ; case 4 LABEL_06C6 ; case 5 LABEL_096A ; case 6 LABEL_0710 ; case 7 LABEL_096A ; case 8 LABEL_075A ; case 9 LABEL_096A ; case 10 LABEL_0920 ; case 11 LABEL_096A ; case 12 LABEL_07A4 ; case 13 LABEL_096A ; case 14 LABEL_07EE ; case 15 LABEL_096A ; case 16 LABEL_0838 ; case 17 LABEL_096A ; case 18 LABEL_0842 ; case 19 LABEL_096A ; case 20 LABEL_088C ; case 21 LABEL_096A ; case 22 LABEL_08D6 ; case 23 default: LABEL_096A LABEL_06BC: aload_0 aload_1 aload_2 invokevirtual com/intel/otp/vasco/OtpFramework/processStartProvisioning([B[B)S istore_3 goto LABEL_0972 LABEL_06C6: aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S if_icmplt LABEL_06FE iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S if_icmplt LABEL_06FE iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S sipush 4000 ; (0xFA0) iadd if_icmpgt LABEL_06FE aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S sipush 4000 ; (0xFA0) iadd if_icmple LABEL_0706 LABEL_06FE: sipush 301 ; (0x12D) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0706: aload_0 aload_1 aload_2 invokevirtual com/intel/otp/vasco/OtpFramework/processEndProvisioning([B[B)S istore_3 goto LABEL_0972 LABEL_0710: aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S if_icmplt LABEL_0748 iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S if_icmplt LABEL_0748 iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S sipush 4000 ; (0xFA0) iadd if_icmpgt LABEL_0748 aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S sipush 4000 ; (0xFA0) iadd if_icmple LABEL_0750 LABEL_0748: sipush 301 ; (0x12D) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0750: aload_0 aload_1 aload_2 invokevirtual com/intel/otp/vasco/OtpFramework/processSendData([B[B)S istore_3 goto LABEL_0972 LABEL_075A: aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S if_icmplt LABEL_0792 iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S if_icmplt LABEL_0792 iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S sipush 4000 ; (0xFA0) iadd if_icmpgt LABEL_0792 aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S sipush 4000 ; (0xFA0) iadd if_icmple LABEL_079A LABEL_0792: sipush 301 ; (0x12D) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_079A: aload_0 aload_1 aload_2 invokevirtual com/intel/otp/vasco/OtpFramework/processRecvData([B[B)S istore_3 goto LABEL_0972 LABEL_07A4: aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S if_icmplt LABEL_07DC iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S if_icmplt LABEL_07DC iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S sipush 4000 ; (0xFA0) iadd if_icmpgt LABEL_07DC aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S sipush 4000 ; (0xFA0) iadd if_icmple LABEL_07E4 LABEL_07DC: sipush 301 ; (0x12D) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_07E4: aload_0 aload_1 aload_2 invokevirtual com/intel/otp/vasco/OtpFramework/processGetOTPReq([B[B)S istore_3 goto LABEL_0972 LABEL_07EE: aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S if_icmplt LABEL_0826 iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S if_icmplt LABEL_0826 iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S sipush 4000 ; (0xFA0) iadd if_icmpgt LABEL_0826 aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S sipush 4000 ; (0xFA0) iadd if_icmple LABEL_082E LABEL_0826: sipush 301 ; (0x12D) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_082E: aload_0 aload_1 aload_2 invokevirtual com/intel/otp/vasco/OtpFramework/processGetOTPSStatus([B[B)S istore_3 goto LABEL_0972 LABEL_0838: bipush 14 ; (0xe) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V goto LABEL_0972 LABEL_0842: aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S if_icmplt LABEL_087A iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S if_icmplt LABEL_087A iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S sipush 4000 ; (0xFA0) iadd if_icmpgt LABEL_087A aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S sipush 4000 ; (0xFA0) iadd if_icmple LABEL_0882 LABEL_087A: sipush 301 ; (0x12D) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0882: aload_0 aload_1 aload_2 invokevirtual com/intel/otp/vasco/OtpFramework/processEPIDReq([B[B)S istore_3 goto LABEL_0972 LABEL_088C: aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S if_icmplt LABEL_08C4 iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S if_icmplt LABEL_08C4 iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S sipush 4000 ; (0xFA0) iadd if_icmpgt LABEL_08C4 aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S sipush 4000 ; (0xFA0) iadd if_icmple LABEL_08CC LABEL_08C4: sipush 301 ; (0x12D) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_08CC: aload_0 aload_1 aload_2 invokevirtual com/intel/otp/vasco/OtpFramework/processProcSvpReq([B[B)S istore_3 goto LABEL_0972 LABEL_08D6: aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S if_icmplt LABEL_090E iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S if_icmplt LABEL_090E iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S sipush 4000 ; (0xFA0) iadd if_icmpgt LABEL_090E aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S sipush 4000 ; (0xFA0) iadd if_icmple LABEL_0916 LABEL_090E: sipush 301 ; (0x12D) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0916: aload_0 aload_1 aload_2 invokevirtual com/intel/otp/vasco/OtpFramework/processGetSvpReq([B[B)S istore_3 goto LABEL_0972 LABEL_0920: aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S if_icmplt LABEL_0958 iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S if_icmplt LABEL_0958 iload 6 ; (0x6) iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S sipush 4000 ; (0xFA0) iadd if_icmpgt LABEL_0958 aload_1 arraylength iload 5 ; (0x5) invokestatic com/intel/otp/vasco/IHAProto/sizeOf(S)S sipush 4000 ; (0xFA0) iadd if_icmple LABEL_0960 LABEL_0958: sipush 301 ; (0x12D) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0960: aload_0 aload_1 aload_2 invokevirtual com/intel/otp/vasco/OtpFramework/processControlReq([B[B)S istore_3 goto LABEL_0972 LABEL_096A: sipush 1001 ; (0x3E9) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0972: goto LABEL_09B9 astore 7 ; (0x7) aload 7 ; (0x7) invokevirtual com/intel/otp/vasco/OTPException/getReason()S istore 8 ; (0x8) iload 5 ; (0x5) iconst_1 iadd i2s istore 9 ; (0x9) iload 8 ; (0x8) sipush 1001 ; (0x3E9) if_icmpne LABEL_0998 iconst_0 istore 9 ; (0x9) sipush 301 ; (0x12D) istore 8 ; (0x8) LABEL_0998: iconst_4 istore 10 ; (0xa) iload 9 ; (0x9) ifeq LABEL_09A8 iload 9 ; (0x9) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S istore 10 ; (0xa) LABEL_09A8: aload_2 iload 9 ; (0x9) iload 10 ; (0xa) iload 8 ; (0x8) invokestatic com/intel/otp/vasco/IHAProto/constructIHAReplyHeader([BSSS)V bipush 8 ; (0x8) iload 10 ; (0xa) iadd i2s istore_3 LABEL_09B9: iload_3 ireturn .end method .method protected processProcSvpReq : ([B[B)S .limit stack 5 .limit locals 5 ; Bytecode disassembly: aload_1 bipush 8 ; (0x8) invokestatic com/intel/langutil/TypeConverter/bytesToInt([BI)I istore_3 aload_1 bipush 12 ; (0xc) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 4 ; (0x4) aload_0 getfield OtpFramework/mSvc Lcom/intel/otp/vasco/SVCImpl; iload_3 aload_1 bipush 14 ; (0xe) iload 4 ; (0x4) invokevirtual com/intel/otp/vasco/SVCImpl/processSVPMessage(I[BSS)V aload_2 bipush 22 ; (0x16) bipush 22 ; (0x16) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S iconst_0 invokestatic com/intel/otp/vasco/IHAProto/constructIHAReplyHeader([BSSS)V bipush 8 ; (0x8) bipush 22 ; (0x16) invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S iadd i2s ireturn .end method .method protected processRecvData : ([B[B)S .limit stack 6 .limit locals 7 ; Bytecode disassembly: aload_1 bipush 8 ; (0x8) invokestatic com/intel/langutil/TypeConverter/bytesToInt([BI)I istore_3 aload_1 bipush 14 ; (0xe) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 4 ; (0x4) aload_1 bipush 12 ; (0xc) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 5 ; (0x5) iload 5 ; (0x5) iflt LABEL_0A2A iload 5 ; (0x5) sipush 4000 ; (0xFA0) if_icmple LABEL_0A32 LABEL_0A2A: sipush 210 ; (0xD2) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0A32: aload_0 getfield OtpFramework/mOtps Lcom/intel/otp/vasco/OtpService; iload_3 iload 4 ; (0x4) aload_2 bipush 14 ; (0xe) iload 5 ; (0x5) i2s invokevirtual com/intel/otp/vasco/OtpService/getData(II[BSS)S istore 6 ; (0x6) iload 6 ; (0x6) aload_2 bipush 12 ; (0xc) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop aload_2 bipush 10 ; (0xa) bipush 7 ; (0x7) iload 6 ; (0x6) iadd iconst_1 isub i2s iconst_0 invokestatic com/intel/otp/vasco/IHAProto/constructIHAReplyHeader([BSSS)V bipush 15 ; (0xf) iload 6 ; (0x6) iadd iconst_1 isub i2s ireturn .end method .method protected processSendData : ([B[B)S .limit stack 6 .limit locals 6 ; Bytecode disassembly: aload_1 bipush 8 ; (0x8) invokestatic com/intel/langutil/TypeConverter/bytesToInt([BI)I istore_3 aload_1 bipush 12 ; (0xc) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 4 ; (0x4) aload_1 bipush 14 ; (0xe) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 5 ; (0x5) iload 5 ; (0x5) iflt LABEL_0A96 iload 5 ; (0x5) sipush 4000 ; (0xFA0) if_icmple LABEL_0A9E LABEL_0A96: sipush 210 ; (0xD2) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0A9E: aload_0 getfield OtpFramework/mOtps Lcom/intel/otp/vasco/OtpService; iload_3 iload 4 ; (0x4) aload_1 bipush 16 ; (0x10) iload 5 ; (0x5) i2s invokevirtual com/intel/otp/vasco/OtpService/processData(II[BSS)V aload_2 bipush 8 ; (0x8) iconst_4 iconst_0 invokestatic com/intel/otp/vasco/IHAProto/constructIHAReplyHeader([BSSS)V bipush 12 ; (0xc) ireturn .end method .method protected processStartProvisioning : ([B[B)S .limit stack 4 .limit locals 5 ; Bytecode disassembly: LABEL_0AC2: aload_2 bipush 13 ; (0xd) iconst_3 invokestatic com/intel/crypto/Random/getRandomBytes([BSS)V aload_2 bipush 12 ; (0xc) invokestatic com/intel/langutil/TypeConverter/bytesToInt([BI)I istore_3 iload_3 ifne LABEL_0ADA goto LABEL_0AC2 LABEL_0ADA: aload_0 getfield OtpFramework/mSvc Lcom/intel/otp/vasco/SVCImpl; iload_3 invokevirtual com/intel/otp/vasco/SVCImpl/startProvisioning(I)V aload_0 getfield OtpFramework/mOtps Lcom/intel/otp/vasco/OtpService; iload_3 invokevirtual com/intel/otp/vasco/OtpService/startProvisioning(I)V goto LABEL_0B0A astore_3 aload_3 invokevirtual com/intel/otp/vasco/OTPException/getReason()S istore 4 ; (0x4) iload 4 ; (0x4) sipush 201 ; (0xC9) if_icmpeq LABEL_0B06 iload 4 ; (0x4) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0B06: goto LABEL_0AC2 LABEL_0B0A: iconst_4 invokestatic com/intel/otp/vasco/IHAProto/getMinLength(S)S istore_3 aload_2 iconst_4 iload_3 iconst_0 invokestatic com/intel/otp/vasco/IHAProto/constructIHAReplyHeader([BSSS)V bipush 8 ; (0x8) iload_3 iadd i2s ireturn .end method .end class ; class 12/29 .class public super abstract com/intel/otp/vasco/OtpService .super java/lang/Object .method public : ()V .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V return .end method .method public abstract endProvisioning : (ILcom/intel/otp/vasco/EncryptedToken;S)V .end method .method public abstract getData : (II[BSS)S .end method .method public abstract getDataForEncryption : (I[BSS)S .end method .method public abstract getDataForSigning : (I[BSS)S .end method .method public abstract getOTP : (I[BSS[BSS)S .end method .method public abstract getOTP : (Lcom/intel/otp/vasco/EncryptedToken;[BSS[BSS)S .end method .method public abstract getOTPSStatus : (IS)I .end method .method public abstract processData : (II[BSS)V .end method .method public abstract processEncryptedData : (I[BSS)Z .end method .method public abstract processSignedData : (I[BSS)Z .end method .method public selectProvAlgo : (I[BSS)V .limit stack 0 .limit locals 5 ; Bytecode disassembly: return .end method .method public abstract startProvisioning : (I)V .end method .end class ; class 13/29 .class super com/intel/otp/vasco/OtpServiceImpl .super com/intel/otp/vasco/OtpService .field linkedList Lcom/intel/otp/vasco/LinkedList; .method : ()V .limit stack 3 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial com/intel/otp/vasco/OtpService/()V aload_0 new com/intel/otp/vasco/LinkedList dup invokespecial com/intel/otp/vasco/LinkedList/()V putfield OtpServiceImpl/linkedList Lcom/intel/otp/vasco/LinkedList; return .end method .method public endProvisioning : (ILcom/intel/otp/vasco/EncryptedToken;S)V .limit stack 2 .limit locals 5 ; Bytecode disassembly: aload_0 getfield OtpServiceImpl/linkedList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/exists(I)Z ifeq LABEL_0212 aload_0 getfield OtpServiceImpl/linkedList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/get(I)Ljava/lang/Object; checkcast Lcom/intel/otp/vasco/VDS_Data; astore 4 ; (0x4) aload 4 ; (0x4) aload_2 invokevirtual com/intel/otp/vasco/VDS_Data/updateEncryptedToken(Lcom/intel/otp/vasco/EncryptedToken;)V aload_0 getfield OtpServiceImpl/linkedList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/delete(I)V goto LABEL_021A LABEL_0212: sipush -4075 ; (0xFFFFF015) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_021A: goto LABEL_022C astore 4 ; (0x4) aload 4 ; (0x4) athrow astore 4 ; (0x4) sipush -4075 ; (0xFFFFF015) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_022C: return .end method .method public getData : (II[BSS)S .limit stack 1 .limit locals 6 ; Bytecode disassembly: iload 5 ; (0x5) ireturn .end method .method public getDataForEncryption : (I[BSS)S .limit stack 1 .limit locals 5 ; Bytecode disassembly: iconst_0 ireturn .end method .method public getDataForSigning : (I[BSS)S .limit stack 8 .limit locals 5 ; Bytecode disassembly: aload_0 iload_1 aconst_null iconst_0 iconst_0 aload_2 iload_3 iload 4 ; (0x4) invokevirtual com/intel/otp/vasco/OtpServiceImpl/getOTP(I[BSS[BSS)S ireturn .end method .method public getOTP : (I[BSS[BSS)S .limit stack 3 .limit locals 10 ; Bytecode disassembly: iconst_0 istore 8 ; (0x8) iload 6 ; (0x6) iload 7 ; (0x7) iadd aload 5 ; (0x5) arraylength if_icmple LABEL_0278 sipush -4074 ; (0xFFFFF016) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0278: aload_0 getfield OtpServiceImpl/linkedList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/exists(I)Z ifeq LABEL_02D4 aload_0 getfield OtpServiceImpl/linkedList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/get(I)Ljava/lang/Object; checkcast Lcom/intel/otp/vasco/VDS_Data; astore 9 ; (0x9) aload 9 ; (0x9) invokestatic com/intel/otp/vasco/VDS_Utils/isAppli1enabled(Lcom/intel/otp/vasco/VDS_Data;)Z ifeq LABEL_02B0 iconst_1 aload 9 ; (0x9) invokestatic com/intel/otp/vasco/VDS_ApplicationManager/computeOTP(SLcom/intel/otp/vasco/VDS_Data;)Lcom/intel/otp/vasco/OTPResponseEncoder; aload 5 ; (0x5) iload 6 ; (0x6) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/encode([BS)S istore 8 ; (0x8) goto LABEL_02D0 LABEL_02B0: aload 9 ; (0x9) aload 9 ; (0x9) invokevirtual com/intel/otp/vasco/VDS_Data/getChallenge()[B invokestatic com/intel/otp/vasco/VDS_Utils/formatChallenge([B)[B invokevirtual com/intel/otp/vasco/VDS_Data/setDtfs([B)V iconst_2 aload 9 ; (0x9) invokestatic com/intel/otp/vasco/VDS_ApplicationManager/computeOTP(SLcom/intel/otp/vasco/VDS_Data;)Lcom/intel/otp/vasco/OTPResponseEncoder; aload 5 ; (0x5) iload 6 ; (0x6) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/encode([BS)S istore 8 ; (0x8) LABEL_02D0: goto LABEL_02DC LABEL_02D4: sipush -4074 ; (0xFFFFF016) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_02DC: goto LABEL_02EE astore 9 ; (0x9) aload 9 ; (0x9) athrow astore 9 ; (0x9) sipush -4074 ; (0xFFFFF016) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_02EE: iload 8 ; (0x8) ireturn .end method .method public getOTP : (Lcom/intel/otp/vasco/EncryptedToken;[BSS[BSS)S .limit stack 4 .limit locals 10 ; Bytecode disassembly: iconst_0 istore 8 ; (0x8) iload_3 iload 4 ; (0x4) iadd aload_2 arraylength if_icmple LABEL_030E sipush -4074 ; (0xFFFFF016) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_030E: iload 6 ; (0x6) iload 7 ; (0x7) iadd aload 5 ; (0x5) arraylength if_icmple LABEL_0322 sipush -4074 ; (0xFFFFF016) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0322: aload_1 ifnonnull LABEL_0332 sipush -4074 ; (0xFFFFF016) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V goto LABEL_03C2 LABEL_0332: aload_2 iload_3 iload 4 ; (0x4) aload_1 invokestatic com/intel/otp/vasco/OTPParamsAnalyzer/analyse([BSSLcom/intel/otp/vasco/EncryptedToken;)Lcom/intel/otp/vasco/VDS_Data; astore 9 ; (0x9) aload 9 ; (0x9) invokevirtual com/intel/otp/vasco/VDS_Data/getMode()B tableswitch 1 LABEL_0354 ; case 1 LABEL_0368 ; case 2 LABEL_0390 ; case 3 LABEL_037C ; case 4 LABEL_03A4 ; case 5 default: LABEL_03B8 LABEL_0354: iconst_1 aload 9 ; (0x9) invokestatic com/intel/otp/vasco/VDS_ApplicationManager/computeOTP(SLcom/intel/otp/vasco/VDS_Data;)Lcom/intel/otp/vasco/OTPResponseEncoder; aload 5 ; (0x5) iload 6 ; (0x6) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/encode([BS)S istore 8 ; (0x8) goto LABEL_03BB LABEL_0368: iconst_2 aload 9 ; (0x9) invokestatic com/intel/otp/vasco/VDS_ApplicationManager/computeOTP(SLcom/intel/otp/vasco/VDS_Data;)Lcom/intel/otp/vasco/OTPResponseEncoder; aload 5 ; (0x5) iload 6 ; (0x6) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/encode([BS)S istore 8 ; (0x8) goto LABEL_03BB LABEL_037C: aload 9 ; (0x9) invokestatic com/intel/otp/vasco/VDS_ApplicationManager/validatePIN(Lcom/intel/otp/vasco/VDS_Data;)Lcom/intel/otp/vasco/OTPResponseEncoder; aload 5 ; (0x5) iload 6 ; (0x6) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/encode([BS)S istore 8 ; (0x8) goto LABEL_03BB LABEL_0390: aload 9 ; (0x9) invokestatic com/intel/otp/vasco/VDS_ApplicationManager/runChangePIN(Lcom/intel/otp/vasco/VDS_Data;)Lcom/intel/otp/vasco/OTPResponseEncoder; aload 5 ; (0x5) iload 6 ; (0x6) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/encode([BS)S istore 8 ; (0x8) goto LABEL_03BB LABEL_03A4: aload 9 ; (0x9) invokestatic com/intel/otp/vasco/VDS_ApplicationManager/getProperty(Lcom/intel/otp/vasco/VDS_Data;)Lcom/intel/otp/vasco/OTPResponseEncoder; aload 5 ; (0x5) iload 6 ; (0x6) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/encode([BS)S istore 8 ; (0x8) goto LABEL_03BB LABEL_03B8: iconst_0 istore 8 ; (0x8) LABEL_03BB: aload 9 ; (0x9) aload_1 invokevirtual com/intel/otp/vasco/VDS_Data/updateEncryptedToken(Lcom/intel/otp/vasco/EncryptedToken;)V LABEL_03C2: goto LABEL_03D4 astore 9 ; (0x9) aload 9 ; (0x9) athrow astore 9 ; (0x9) sipush -4074 ; (0xFFFFF016) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_03D4: iload 8 ; (0x8) ireturn .end method .method public getOTPSStatus : (IS)I .limit stack 1 .limit locals 3 ; Bytecode disassembly: iconst_0 ireturn .end method .method public processData : (II[BSS)V .limit stack 5 .limit locals 8 ; Bytecode disassembly: aload_0 getfield OtpServiceImpl/linkedList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/exists(I)Z ifeq LABEL_047E aload_0 getfield OtpServiceImpl/linkedList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/get(I)Ljava/lang/Object; checkcast Lcom/intel/otp/vasco/VDS_Data; astore 6 ; (0x6) aload_3 arraylength ifeq LABEL_0472 iload 4 ; (0x4) iload 5 ; (0x5) iadd aload_3 arraylength if_icmpgt LABEL_0472 iload 5 ; (0x5) newarray byte astore 7 ; (0x7) aload_3 iload 4 ; (0x4) aload 7 ; (0x7) iconst_0 iload 5 ; (0x5) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iload_2 tableswitch 1 LABEL_0442 ; case 1 LABEL_0436 ; case 2 LABEL_045A ; case 3 LABEL_044E ; case 4 default: LABEL_0466 LABEL_0436: aload 6 ; (0x6) aload 7 ; (0x7) invokevirtual com/intel/otp/vasco/VDS_Data/setChs([B)V goto LABEL_046E LABEL_0442: aload 6 ; (0x6) aload 7 ; (0x7) invokevirtual com/intel/otp/vasco/VDS_Data/setAlea([B)V goto LABEL_046E LABEL_044E: aload 6 ; (0x6) aload 7 ; (0x7) invokevirtual com/intel/otp/vasco/VDS_Data/setChallenge([B)V goto LABEL_046E LABEL_045A: aload 6 ; (0x6) aload 7 ; (0x7) invokevirtual com/intel/otp/vasco/VDS_Data/setPin([B)V goto LABEL_046E LABEL_0466: sipush -4072 ; (0xFFFFF018) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_046E: goto LABEL_047A LABEL_0472: sipush -4072 ; (0xFFFFF018) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_047A: goto LABEL_0486 LABEL_047E: sipush -4072 ; (0xFFFFF018) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0486: goto LABEL_0498 astore 6 ; (0x6) aload 6 ; (0x6) athrow astore 6 ; (0x6) sipush -4072 ; (0xFFFFF018) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0498: return .end method .method public processEncryptedData : (I[BSS)Z .limit stack 5 .limit locals 8 ; Bytecode disassembly: aload_0 getfield OtpServiceImpl/linkedList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/exists(I)Z ifeq LABEL_04FE iload_3 iload 4 ; (0x4) iadd aload_2 arraylength if_icmple LABEL_04C0 sipush -4073 ; (0xFFFFF017) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_04C0: aload_0 getfield OtpServiceImpl/linkedList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/get(I)Ljava/lang/Object; checkcast Lcom/intel/otp/vasco/VDS_Data; astore 5 ; (0x5) iload 4 ; (0x4) newarray byte astore 6 ; (0x6) aload_2 iload_3 aload 6 ; (0x6) iconst_0 iload 4 ; (0x4) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload 5 ; (0x5) aload 6 ; (0x6) invokevirtual com/intel/otp/vasco/VDS_Data/setXfad([B)V aload 5 ; (0x5) invokestatic com/intel/otp/vasco/VDS_ApplicationManager/runActivate(Lcom/intel/otp/vasco/VDS_Data;)S istore 7 ; (0x7) iload 7 ; (0x7) ifeq LABEL_04FA iload 7 ; (0x7) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_04FA: goto LABEL_0506 LABEL_04FE: sipush -4073 ; (0xFFFFF017) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0506: goto LABEL_0518 astore 5 ; (0x5) aload 5 ; (0x5) athrow astore 5 ; (0x5) sipush -4073 ; (0xFFFFF017) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0518: iconst_1 ireturn .end method .method public processSignedData : (I[BSS)Z .limit stack 5 .limit locals 8 ; Bytecode disassembly: iload_3 iload 4 ; (0x4) iadd aload_2 arraylength if_icmple LABEL_0534 sipush -4073 ; (0xFFFFF017) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0534: aload_0 getfield OtpServiceImpl/linkedList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/exists(I)Z ifeq LABEL_059C aload_0 getfield OtpServiceImpl/linkedList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/get(I)Ljava/lang/Object; checkcast Lcom/intel/otp/vasco/VDS_Data; astore 5 ; (0x5) aload 5 ; (0x5) invokevirtual com/intel/otp/vasco/VDS_Data/isTimeSet()Z ifne LABEL_0598 iconst_4 newarray byte astore 6 ; (0x6) aload_2 iload_3 aload 6 ; (0x6) iconst_0 iconst_4 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload 6 ; (0x6) iconst_0 baload bipush 24 ; (0x18) ishl aload 6 ; (0x6) iconst_1 baload sipush 255 ; (0xFF) iand bipush 16 ; (0x10) ishl iadd aload 6 ; (0x6) iconst_2 baload sipush 255 ; (0xFF) iand bipush 8 ; (0x8) ishl iadd aload 6 ; (0x6) iconst_3 baload sipush 255 ; (0xFF) iand iadd istore 7 ; (0x7) aload 5 ; (0x5) iload 7 ; (0x7) invokevirtual com/intel/otp/vasco/VDS_Data/updateTime(I)V LABEL_0598: goto LABEL_05A4 LABEL_059C: sipush -4072 ; (0xFFFFF018) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_05A4: goto LABEL_05B6 astore 5 ; (0x5) aload 5 ; (0x5) athrow astore 5 ; (0x5) sipush -4073 ; (0xFFFFF017) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_05B6: iconst_1 ireturn .end method .method public startProvisioning : (I)V .limit stack 3 .limit locals 3 ; Bytecode disassembly: aload_0 getfield OtpServiceImpl/linkedList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/exists(I)Z ifeq LABEL_05D8 sipush -4071 ; (0xFFFFF019) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V goto LABEL_05ED LABEL_05D8: new com/intel/otp/vasco/VDS_Data dup invokespecial com/intel/otp/vasco/VDS_Data/()V astore_2 aload_0 getfield OtpServiceImpl/linkedList Lcom/intel/otp/vasco/LinkedList; iload_1 aload_2 invokevirtual com/intel/otp/vasco/LinkedList/add(ILjava/lang/Object;)Z pop LABEL_05ED: goto LABEL_05FC astore_2 aload_2 athrow astore_2 sipush -4071 ; (0xFFFFF019) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_05FC: return .end method .end class ; class 14/29 .class public super com/intel/otp/vasco/ProvisioningState .super java/lang/Object .field public metaData [B .field public metaDataLength S .field public metaDataOffset S .field public seed [B .field public seedLength S .field public seedOffset S .field public sessionHandle I .field public state B .method public : (I)V .limit stack 2 .limit locals 2 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V aload_0 iload_1 putfield ProvisioningState/sessionHandle I aload_0 aconst_null putfield ProvisioningState/seed [B aload_0 iconst_0 putfield ProvisioningState/seedOffset S aload_0 iconst_0 putfield ProvisioningState/seedLength S aload_0 aconst_null putfield ProvisioningState/metaData [B aload_0 iconst_0 putfield ProvisioningState/metaDataOffset S aload_0 iconst_0 putfield ProvisioningState/metaDataLength S return .end method .end class ; class 15/29 .class public super abstract com/intel/otp/vasco/SVC .super java/lang/Object .method public : ()V .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V return .end method .method public abstract endProvisioning : (I)V .end method .method public abstract getSVPMessage : (I[BSS)S .end method .method public abstract processEpidReq : ([BSS[BSS)S .end method .method public abstract processSVPMessage : (I[BSS)V .end method .method public abstract startProvisioning : (I)V .end method .end class ; class 16/29 .class public final super com/intel/otp/vasco/SVCImpl .super com/intel/otp/vasco/SVC .const [o5122] = String "Client nonces don't match" .const [o5150] = String "Decrypted vendor data: Length mismatch..." .const [o5194] = String "Encrypted vendor data error" .const [o5224] = String "Error during EPID provisioning." .const [o5258] = String "Failed decrypting vendor data" .const [o5290] = String "Insufficient length" .const [o5312] = String "Invalid buffer length." .const [o5336] = String "Invalid buffer offset" .const [o5360] = String "NULL input buffer" .const [o5380] = String "Sig verification failed." .const [o5406] = String "Signed vendor data error" .field private numSessions I .field otps Lcom/intel/otp/vasco/OtpService; .field sessionList Lcom/intel/otp/vasco/LinkedList; .field private utilBuffer [B .field private static final AES_128_BLOCK_SIZE B .field private static final AES_CTR_M2 B .field private static final AES_CTR_M3 B .field private static final AES_CTR_M4 B .field private static final MAX_SESSIONS B .field private static final OEM_ID_LENGTH B .field private static final SVP_MSG_HEADER_LENGTH S .field private static final SVP_MSG_M1 B .field private static final SVP_MSG_M2 B .field private static final SVP_MSG_M3 B .field private static final SVP_MSG_M4 B .field private static final SVP_NONCE_LENGTH S .field private static final SVP_TLV_HEADER_LENGTH S .field private static final SVP_TLV_TYPE_CLIENT_NONCE B .field private static final SVP_TLV_TYPE_OEM_ID B .field private static final SVP_TLV_TYPE_SIGMA B .field private static final SVP_TLV_TYPE_SIGN B .field private static final SVP_TLV_TYPE_VENDOR_DATA_ENC B .field private static final SVP_TLV_TYPE_VENDOR_DATA_SIG B .field private static final SVP_VERSION_1 B .method public : (Lcom/intel/otp/vasco/OtpService;)V .limit stack 3 .limit locals 2 ; Bytecode disassembly: aload_0 invokespecial com/intel/otp/vasco/SVC/()V aload_0 aload_1 putfield SVCImpl/otps Lcom/intel/otp/vasco/OtpService; aload_0 new com/intel/otp/vasco/LinkedList dup invokespecial com/intel/otp/vasco/LinkedList/()V putfield SVCImpl/sessionList Lcom/intel/otp/vasco/LinkedList; aload_0 sipush 128 ; (0x80) newarray byte putfield SVCImpl/utilBuffer [B aload_0 iconst_0 putfield SVCImpl/numSessions I return .end method .method createM1 : (Lcom/intel/otp/vasco/SVCSessionState;[BSS)S .limit stack 5 .limit locals 7 ; Bytecode disassembly: iconst_0 istore 5 ; (0x5) aload_1 invokestatic com/intel/crypto/SigmaAlg/create()Lcom/intel/crypto/SigmaAlg; putfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; aload_1 getfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; invokevirtual com/intel/crypto/SigmaAlg/initialize()V aload_1 bipush 64 ; (0x40) newarray byte putfield SVCSessionState/ga [B aload_1 aload_1 getfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; aload_1 getfield SVCSessionState/ga [B aload_1 getfield SVCSessionState/gaOffset S invokevirtual com/intel/crypto/SigmaAlg/getPublicKey([BS)S putfield SVCSessionState/gaLength S goto LABEL_0468 astore 6 ; (0x6) sipush 212 ; (0xD4) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V goto LABEL_0468 astore 6 ; (0x6) sipush 203 ; (0xCB) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0468: bipush 7 ; (0x7) aload_1 getfield SVCSessionState/gaLength S iadd i2s istore 5 ; (0x5) iload 4 ; (0x4) iload 5 ; (0x5) if_icmpge LABEL_048E iload 4 ; (0x4) iconst_2 if_icmple LABEL_0489 iload 5 ; (0x5) aload_2 iload_3 invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop LABEL_0489: bipush 11 ; (0xb) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_048E: iload_3 istore 6 ; (0x6) aload_2 iload 6 ; (0x6) iload 6 ; (0x6) iconst_1 iadd i2s istore 6 ; (0x6) iconst_1 bastore aload_2 iload 6 ; (0x6) iload 6 ; (0x6) iconst_1 iadd i2s istore 6 ; (0x6) iconst_1 bastore iload 5 ; (0x5) iconst_4 isub i2s aload_2 iload 6 ; (0x6) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop iload 6 ; (0x6) iconst_2 iadd i2s istore 6 ; (0x6) aload_2 iload 6 ; (0x6) iload 6 ; (0x6) iconst_1 iadd i2s istore 6 ; (0x6) iconst_1 bastore aload_1 getfield SVCSessionState/gaLength S aload_2 iload 6 ; (0x6) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop iload 6 ; (0x6) iconst_2 iadd i2s istore 6 ; (0x6) aload_1 getfield SVCSessionState/ga [B aload_1 getfield SVCSessionState/gaOffset S aload_2 iload 6 ; (0x6) aload_1 getfield SVCSessionState/gaLength S invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_1 iconst_1 putfield SVCSessionState/state B iload 5 ; (0x5) ireturn .end method .method createM3 : (Lcom/intel/otp/vasco/SVCSessionState;[BSS)S .limit stack 8 .limit locals 15 ; Bytecode disassembly: iconst_0 istore 5 ; (0x5) sipush 993 ; (0x3E1) istore 6 ; (0x6) bipush 7 ; (0x7) iload 6 ; (0x6) iadd iconst_3 iadd bipush 10 ; (0xa) iadd iconst_3 iadd iconst_4 iadd iconst_3 iadd bipush 32 ; (0x20) iadd i2s istore 5 ; (0x5) iload 4 ; (0x4) iload 5 ; (0x5) if_icmpge LABEL_0540 iload 4 ; (0x4) iconst_2 if_icmple LABEL_0535 iload 5 ; (0x5) aload_2 iload_3 invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop LABEL_0535: aload_1 iconst_5 putfield SVCSessionState/state B bipush 11 ; (0xb) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0540: iload_3 istore 7 ; (0x7) aload_2 iload 7 ; (0x7) iload 7 ; (0x7) iconst_1 iadd i2s istore 7 ; (0x7) iconst_1 bastore aload_2 iload 7 ; (0x7) iload 7 ; (0x7) iconst_1 iadd i2s istore 7 ; (0x7) iconst_3 bastore iload 7 ; (0x7) istore 8 ; (0x8) iload 7 ; (0x7) iconst_2 iadd i2s istore 7 ; (0x7) aload_2 iload 7 ; (0x7) iload 7 ; (0x7) iconst_1 iadd i2s istore 7 ; (0x7) iconst_1 bastore iload 6 ; (0x6) aload_2 iload 7 ; (0x7) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop iload 7 ; (0x7) iconst_2 iadd i2s istore 7 ; (0x7) aload_1 getfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; aload_2 iload 7 ; (0x7) aload_2 iload 7 ; (0x7) sipush 392 ; (0x188) iadd i2s aload_2 iload 7 ; (0x7) sipush 392 ; (0x188) iadd bipush 32 ; (0x20) iadd i2s invokevirtual com/intel/crypto/SigmaAlg/getParams([BS[BS[BS)V goto LABEL_05AE astore 9 ; (0x9) sipush 203 ; (0xCB) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_05AE: iload 7 ; (0x7) iload 6 ; (0x6) iadd i2s istore 7 ; (0x7) iload 4 ; (0x4) iload 5 ; (0x5) isub iconst_3 isub i2s istore 9 ; (0x9) aload_0 getfield SVCImpl/otps Lcom/intel/otp/vasco/OtpService; aload_1 getfield SVCSessionState/sessionHandle I aload_2 iload 7 ; (0x7) iconst_3 iadd i2s iload 9 ; (0x9) invokevirtual com/intel/otp/vasco/OtpService/getDataForSigning(I[BSS)S istore 10 ; (0xa) iconst_0 iload 10 ; (0xa) if_icmpeq LABEL_0610 aload_2 iload 7 ; (0x7) iload 7 ; (0x7) iconst_1 iadd i2s istore 7 ; (0x7) iconst_2 bastore iload 10 ; (0xa) aload_2 iload 7 ; (0x7) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop iload 7 ; (0x7) iconst_2 iload 10 ; (0xa) iadd iadd i2s istore 7 ; (0x7) iload 5 ; (0x5) iconst_3 iload 10 ; (0xa) iadd iadd i2s istore 5 ; (0x5) iload 9 ; (0x9) iload 10 ; (0xa) iconst_3 iadd i2s isub i2s istore 9 ; (0x9) LABEL_0610: iconst_0 istore 11 ; (0xb) aload_0 aload_1 aload_2 iload 7 ; (0x7) iconst_3 iadd i2s iload 9 ; (0x9) invokespecial com/intel/otp/vasco/SVCImpl/getEncryptedVendorData(Lcom/intel/otp/vasco/SVCSessionState;[BSS)S istore 11 ; (0xb) goto LABEL_066E astore 12 ; (0xc) aload 12 ; (0xc) invokevirtual com/intel/otp/vasco/OTPException/getReason()S istore 13 ; (0xd) iload 13 ; (0xd) bipush 11 ; (0xb) if_icmpne LABEL_0669 aload_2 iload 7 ; (0x7) iconst_3 iadd i2s invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 14 ; (0xe) iload 14 ; (0xe) ifne LABEL_065A iload 4 ; (0x4) iload 9 ; (0x9) iadd i2s aload_2 iload_3 invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop goto LABEL_0669 LABEL_065A: iload 4 ; (0x4) iload 14 ; (0xe) iadd bipush 16 ; (0x10) iadd i2s aload_2 iload_3 invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop LABEL_0669: iload 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_066E: iconst_0 iload 11 ; (0xb) if_icmpeq LABEL_069D aload_2 iload 7 ; (0x7) iload 7 ; (0x7) iconst_1 iadd i2s istore 7 ; (0x7) iconst_3 bastore iload 11 ; (0xb) aload_2 iload 7 ; (0x7) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop iload 7 ; (0x7) iconst_2 iload 11 ; (0xb) iadd iadd i2s istore 7 ; (0x7) iload 5 ; (0x5) iconst_3 iload 11 ; (0xb) iadd iadd i2s istore 5 ; (0x5) LABEL_069D: aload_2 iload 7 ; (0x7) iload 7 ; (0x7) iconst_1 iadd i2s istore 7 ; (0x7) bipush 6 ; (0x6) bastore aload_0 aload_0 getfield SVCImpl/utilBuffer [B invokespecial com/intel/otp/vasco/SVCImpl/getOemId([B)V iconst_4 aload_2 iload 7 ; (0x7) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop iload 7 ; (0x7) iconst_2 iadd i2s istore 7 ; (0x7) aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_2 iload 7 ; (0x7) iconst_4 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iload 7 ; (0x7) iconst_4 iadd i2s istore 7 ; (0x7) aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V aload_2 iload 7 ; (0x7) iload 7 ; (0x7) iconst_1 iadd i2s istore 7 ; (0x7) iconst_4 bastore bipush 10 ; (0xa) aload_2 iload 7 ; (0x7) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop iload 7 ; (0x7) iconst_2 iadd i2s istore 7 ; (0x7) aload_1 bipush 10 ; (0xa) newarray byte putfield SVCSessionState/cn [B aload_1 getfield SVCSessionState/cn [B iconst_0 bipush 10 ; (0xa) invokestatic com/intel/crypto/Random/getRandomBytes([BSS)V aload_1 getfield SVCSessionState/cn [B iconst_0 aload_2 iload 7 ; (0x7) bipush 10 ; (0xa) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iload 7 ; (0x7) bipush 10 ; (0xa) iadd i2s istore 7 ; (0x7) iload 5 ; (0x5) iconst_4 isub i2s aload_2 iload 8 ; (0x8) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop aload_2 iload 7 ; (0x7) iload 7 ; (0x7) iconst_1 iadd i2s istore 7 ; (0x7) iconst_5 bastore bipush 32 ; (0x20) aload_2 iload 7 ; (0x7) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop iload 7 ; (0x7) iconst_2 iadd i2s istore 7 ; (0x7) aload_1 getfield SVCSessionState/mkKey Lcom/intel/crypto/SymmetricSignatureAlg; aload_2 iload_3 iload 7 ; (0x7) iload_3 isub i2s aload_2 iload 7 ; (0x7) invokevirtual com/intel/crypto/SymmetricSignatureAlg/signComplete([BSS[BS)S pop aload_1 iconst_3 putfield SVCSessionState/state B iload 5 ; (0x5) ireturn .end method .method private decryptVendorData : (Lcom/intel/otp/vasco/SVCSessionState;[BSS[BSB)S .limit stack 6 .limit locals 10 ; Bytecode disassembly: sipush 16 newarray byte dup iconst_0 bipush 0 bastore dup iconst_1 bipush 0 bastore dup iconst_2 bipush 0 bastore dup iconst_3 bipush 0 bastore dup iconst_4 bipush 0 bastore dup iconst_5 bipush 0 bastore dup sipush 6 bipush 0 bastore dup sipush 7 bipush 0 bastore dup sipush 8 bipush 0 bastore dup sipush 9 bipush 0 bastore dup sipush 10 bipush 0 bastore dup sipush 11 bipush 0 bastore dup sipush 12 bipush 0 bastore dup sipush 13 bipush 0 bastore dup sipush 14 bipush 0 bastore dup sipush 15 bipush 0 bastore astore 8 ; (0x8) iconst_0 istore 9 ; (0x9) aload 8 ; (0x8) aload 8 ; (0x8) arraylength iconst_1 isub iload 7 ; (0x7) bastore aload_1 getfield SVCSessionState/skKey Lcom/intel/crypto/SymmetricBlockCipherAlg; aload 8 ; (0x8) iconst_0 aload 8 ; (0x8) arraylength i2s invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/setIV([BSS)V aload_1 getfield SVCSessionState/skKey Lcom/intel/crypto/SymmetricBlockCipherAlg; aload_2 iload_3 iload 4 ; (0x4) aload 5 ; (0x5) iload 6 ; (0x6) invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/decryptComplete([BSS[BS)S istore 9 ; (0x9) iload 9 ; (0x9) ireturn .end method .method public endProvisioning : (I)V .limit stack 3 .limit locals 5 ; Bytecode disassembly: iload_1 ifne LABEL_07C8 sipush 201 ; (0xC9) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_07C8: aload_0 getfield SVCImpl/sessionList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/get(I)Ljava/lang/Object; checkcast Lcom/intel/otp/vasco/SVCSessionState; astore_3 aload_3 ifnonnull LABEL_07E2 sipush 201 ; (0xC9) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_07E2: aload_3 getfield SVCSessionState/state B istore_2 aload_3 getfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; ifnull LABEL_07F8 aload_3 getfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; invokevirtual com/intel/crypto/SigmaAlg/dispose()V LABEL_07F8: goto LABEL_07FE astore 4 ; (0x4) LABEL_07FE: aload_0 getfield SVCImpl/sessionList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/delete(I)V aload_0 getfield SVCImpl/numSessions I ifle LABEL_081A aload_0 dup getfield SVCImpl/numSessions I iconst_1 isub putfield SVCImpl/numSessions I LABEL_081A: iload_2 iconst_5 if_icmpne LABEL_0828 sipush 206 ; (0xCE) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0828: iload_2 iconst_4 if_icmpeq LABEL_0836 sipush 213 ; (0xD5) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0836: return .end method .method private getEncryptedLength : (I)I .limit stack 2 .limit locals 3 ; Bytecode disassembly: iload_1 ifne LABEL_0846 iconst_0 ireturn LABEL_0846: iload_1 bipush 16 ; (0x10) idiv istore_2 iload_1 bipush 16 ; (0x10) irem ifeq LABEL_0855 iinc 2 1 LABEL_0855: iload_2 bipush 16 ; (0x10) imul ireturn .end method .method private getEncryptedVendorData : (Lcom/intel/otp/vasco/SVCSessionState;[BSS)S .limit stack 6 .limit locals 11 ; Bytecode disassembly: sipush 16 newarray byte dup iconst_0 bipush 0 bastore dup iconst_1 bipush 0 bastore dup iconst_2 bipush 0 bastore dup iconst_3 bipush 0 bastore dup iconst_4 bipush 0 bastore dup iconst_5 bipush 0 bastore dup sipush 6 bipush 0 bastore dup sipush 7 bipush 0 bastore dup sipush 8 bipush 0 bastore dup sipush 9 bipush 0 bastore dup sipush 10 bipush 0 bastore dup sipush 11 bipush 0 bastore dup sipush 12 bipush 0 bastore dup sipush 13 bipush 0 bastore dup sipush 14 bipush 0 bastore dup sipush 15 bipush 0 bastore astore 5 ; (0x5) iconst_0 istore 6 ; (0x6) iconst_0 istore 7 ; (0x7) iload 4 ; (0x4) bipush 16 ; (0x10) if_icmpge LABEL_0896 iconst_0 iconst_3 ldc [o5290] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V iload 4 ; (0x4) iconst_2 if_icmple LABEL_0891 bipush 16 ; (0x10) aload_2 iload_3 invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop LABEL_0891: bipush 11 ; (0xb) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0896: aload_0 iload 4 ; (0x4) invokespecial com/intel/otp/vasco/SVCImpl/getEncryptedLength(I)I i2s istore 4 ; (0x4) iload 4 ; (0x4) bipush 16 ; (0x10) if_icmple LABEL_08AE iload 4 ; (0x4) bipush 16 ; (0x10) isub i2s istore 4 ; (0x4) LABEL_08AE: aload_0 getfield SVCImpl/utilBuffer [B arraylength iload 4 ; (0x4) if_icmpge LABEL_08C0 aload_0 iload 4 ; (0x4) newarray byte putfield SVCImpl/utilBuffer [B LABEL_08C0: aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V aload_0 getfield SVCImpl/otps Lcom/intel/otp/vasco/OtpService; aload_1 getfield SVCSessionState/sessionHandle I aload_0 getfield SVCImpl/utilBuffer [B iconst_2 iload 4 ; (0x4) iconst_2 isub i2s invokevirtual com/intel/otp/vasco/OtpService/getDataForEncryption(I[BSS)S istore 6 ; (0x6) goto LABEL_091C astore 8 ; (0x8) aload 8 ; (0x8) invokevirtual com/intel/otp/vasco/OTPException/getReason()S istore 9 ; (0x9) iload 9 ; (0x9) bipush 11 ; (0xb) if_icmpne LABEL_0917 aload_0 getfield SVCImpl/utilBuffer [B iconst_2 invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 10 ; (0xa) iload 10 ; (0xa) ifeq LABEL_0917 iload 10 ; (0xa) aload_2 iload_3 invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop LABEL_0917: iload 9 ; (0x9) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_091C: iload 6 ; (0x6) ifne LABEL_0924 iconst_0 ireturn LABEL_0924: iload 6 ; (0x6) aload_0 getfield SVCImpl/utilBuffer [B iconst_0 invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop aload_0 iload 6 ; (0x6) iconst_2 iadd invokespecial com/intel/otp/vasco/SVCImpl/getEncryptedLength(I)I i2s istore 8 ; (0x8) aload 5 ; (0x5) aload 5 ; (0x5) arraylength iconst_1 isub bipush 64 ; (0x40) bastore aload_1 getfield SVCSessionState/skKey Lcom/intel/crypto/SymmetricBlockCipherAlg; aload 5 ; (0x5) iconst_0 aload 5 ; (0x5) arraylength i2s invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/setIV([BSS)V aload_1 getfield SVCSessionState/skKey Lcom/intel/crypto/SymmetricBlockCipherAlg; aload_0 getfield SVCImpl/utilBuffer [B iconst_0 iload 8 ; (0x8) aload_2 iload_3 invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/encryptComplete([BSS[BS)S istore 7 ; (0x7) aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V iload 7 ; (0x7) ireturn .end method .method private getOemId : ([B)V .limit stack 5 .limit locals 6 ; Bytecode disassembly: aconst_null astore_2 aconst_null astore 4 ; (0x4) aload_1 ifnull LABEL_0992 aload_1 arraylength iconst_4 if_icmpge LABEL_0996 LABEL_0992: iconst_4 newarray byte astore_1 LABEL_0996: invokestatic com/intel/util/PlatformId/getOemIds()[Lcom/intel/util/PlatformId; astore 4 ; (0x4) goto LABEL_09AB astore 5 ; (0x5) aload_1 iconst_0 iconst_4 iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V return LABEL_09AB: aload 4 ; (0x4) ifnull LABEL_09B6 aload 4 ; (0x4) arraylength ifne LABEL_09BC LABEL_09B6: bipush 10 ; (0xa) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_09BC: iconst_0 istore_3 iconst_0 istore 5 ; (0x5) LABEL_09C1: iload 5 ; (0x5) aload 4 ; (0x4) arraylength if_icmpge LABEL_09EC iload_3 ifne LABEL_09EC aload 4 ; (0x4) iload 5 ; (0x5) aaload invokevirtual com/intel/util/PlatformId/getType()I iconst_1 if_icmpne LABEL_09E5 iconst_1 istore_3 aload 4 ; (0x4) iload 5 ; (0x5) aaload invokevirtual com/intel/util/PlatformId/getValue()[B astore_2 LABEL_09E5: iinc 5 1 goto LABEL_09C1 LABEL_09EC: goto LABEL_09FB astore 5 ; (0x5) aload_1 iconst_0 iconst_4 iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V return LABEL_09FB: iload_3 ifeq LABEL_0A04 aload_2 ifnonnull LABEL_0A0A LABEL_0A04: bipush 10 ; (0xa) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0A0A: aload_1 arraylength aload_2 arraylength if_icmpge LABEL_0A17 aload_2 arraylength newarray byte astore_1 LABEL_0A17: aload_2 iconst_0 aload_1 iconst_0 aload_2 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V return .end method .method public getSVPMessage : (I[BSS)S .limit stack 5 .limit locals 10 ; Bytecode disassembly: iload 4 ; (0x4) istore 5 ; (0x5) iconst_0 istore 5 ; (0x5) iload_1 ifeq LABEL_0A4A iload 4 ; (0x4) ifeq LABEL_0A4A aload_2 ifnull LABEL_0A4A iload_3 iload 4 ; (0x4) iadd aload_2 arraylength if_icmple LABEL_0A50 LABEL_0A4A: bipush 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0A50: aload_0 getfield SVCImpl/sessionList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/get(I)Ljava/lang/Object; checkcast Lcom/intel/otp/vasco/SVCSessionState; astore 6 ; (0x6) aload 6 ; (0x6) ifnonnull LABEL_0A6C sipush 201 ; (0xC9) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0A6C: aload 6 ; (0x6) getfield SVCSessionState/state B lookupswitch 0: LABEL_0A80 2: LABEL_0A90 default: LABEL_0AA0 LABEL_0A80: aload_0 aload 6 ; (0x6) aload_2 iload_3 iload 4 ; (0x4) invokevirtual com/intel/otp/vasco/SVCImpl/createM1(Lcom/intel/otp/vasco/SVCSessionState;[BSS)S istore 5 ; (0x5) goto LABEL_0AA8 LABEL_0A90: aload_0 aload 6 ; (0x6) aload_2 iload_3 iload 4 ; (0x4) invokevirtual com/intel/otp/vasco/SVCImpl/createM3(Lcom/intel/otp/vasco/SVCSessionState;[BSS)S istore 5 ; (0x5) goto LABEL_0AA8 LABEL_0AA0: sipush 202 ; (0xCA) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0AA8: goto LABEL_0AE2 astore 7 ; (0x7) aload 7 ; (0x7) invokevirtual com/intel/otp/vasco/OTPException/getReason()S istore 8 ; (0x8) aload 6 ; (0x6) getfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; ifnull LABEL_0AD6 aload 6 ; (0x6) getfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; invokevirtual com/intel/crypto/SigmaAlg/dispose()V goto LABEL_0AD0 astore 9 ; (0x9) LABEL_0AD0: aload 6 ; (0x6) aconst_null putfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; LABEL_0AD6: aload 6 ; (0x6) iconst_5 putfield SVCSessionState/state B iload 8 ; (0x8) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0AE2: iload 5 ; (0x5) ireturn .end method .method handleSigmaS2 : (Lcom/intel/otp/vasco/SVCSessionState;[BSS)V .limit stack 10 .limit locals 10 ; Bytecode disassembly: iload 4 ; (0x4) sipush 464 ; (0x1D0) if_icmpge LABEL_0B00 sipush 208 ; (0xD0) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0B00: iload_3 istore 5 ; (0x5) iload 5 ; (0x5) bipush 64 ; (0x40) iadd i2s istore 6 ; (0x6) iload 6 ; (0x6) sipush 304 ; (0x130) iadd i2s istore 7 ; (0x7) iload 7 ; (0x7) bipush 32 ; (0x20) iadd i2s istore 8 ; (0x8) iconst_2 aload_2 iload 6 ; (0x6) sipush 174 ; (0xAE) iadd invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S if_icmpeq LABEL_0B34 sipush 208 ; (0xD0) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0B34: aload_1 getfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; aload_2 iload 5 ; (0x5) aload_2 iload 6 ; (0x6) sipush 304 ; (0x130) aload_2 iload 7 ; (0x7) aload_2 iload 8 ; (0x8) invokevirtual com/intel/crypto/SigmaAlg/verifyParams([BS[BSS[BS[BS)Z ifne LABEL_0B58 sipush 203 ; (0xCB) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0B58: aload_0 getfield SVCImpl/utilBuffer [B arraylength bipush 16 ; (0x10) if_icmpge LABEL_0B6A aload_0 bipush 16 ; (0x10) newarray byte putfield SVCImpl/utilBuffer [B LABEL_0B6A: aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V aload_1 getfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; aload_0 getfield SVCImpl/utilBuffer [B iconst_0 invokevirtual com/intel/crypto/SigmaAlg/getMacKey([BS)S pop aload_1 iconst_2 invokestatic com/intel/crypto/SymmetricSignatureAlg/create(S)Lcom/intel/crypto/SymmetricSignatureAlg; putfield SVCSessionState/mkKey Lcom/intel/crypto/SymmetricSignatureAlg; aload_1 getfield SVCSessionState/mkKey Lcom/intel/crypto/SymmetricSignatureAlg; aload_0 getfield SVCImpl/utilBuffer [B iconst_0 bipush 16 ; (0x10) invokevirtual com/intel/crypto/SymmetricSignatureAlg/setKey([BSS)V aload_1 getfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; invokevirtual com/intel/crypto/SigmaAlg/getSecretKeySize()S istore 9 ; (0x9) aload_0 getfield SVCImpl/utilBuffer [B arraylength iload 9 ; (0x9) if_icmpge LABEL_0BCA aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V aload_0 iload 9 ; (0x9) newarray byte putfield SVCImpl/utilBuffer [B LABEL_0BCA: aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V aload_1 getfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; aload_0 getfield SVCImpl/utilBuffer [B iconst_0 invokevirtual com/intel/crypto/SigmaAlg/getSecretKey([BS)S pop aload_1 iconst_3 invokestatic com/intel/crypto/SymmetricBlockCipherAlg/create(S)Lcom/intel/crypto/SymmetricBlockCipherAlg; putfield SVCSessionState/skKey Lcom/intel/crypto/SymmetricBlockCipherAlg; aload_1 getfield SVCSessionState/skKey Lcom/intel/crypto/SymmetricBlockCipherAlg; aload_0 getfield SVCImpl/utilBuffer [B iconst_0 iload 9 ; (0x9) invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/setKey([BSS)V aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V goto LABEL_0C1C astore 9 ; (0x9) sipush 203 ; (0xCB) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0C1C: return .end method .method public processEpidReq : ([BSS[BSS)S .limit stack 6 .limit locals 10 ; Bytecode disassembly: invokestatic com/intel/crypto/EpidAlg/create()Lcom/intel/crypto/EpidAlg; astore 7 ; (0x7) iconst_0 istore 8 ; (0x8) aload 7 ; (0x7) aload_1 iload_2 iload_3 aload 4 ; (0x4) iload 5 ; (0x5) invokevirtual com/intel/crypto/EpidAlg/provisionData([BSS[BS)S istore 8 ; (0x8) goto LABEL_0C54 astore 9 ; (0x9) iconst_0 iconst_3 ldc [o5224] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V bipush 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0C54: iload 8 ; (0x8) iload 6 ; (0x6) if_icmple LABEL_0C6C iload 6 ; (0x6) aload 4 ; (0x4) iload 5 ; (0x5) invokestatic com/intel/langutil/TypeConverter/shortToBytes(S[BI)I pop bipush 11 ; (0xb) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0C6C: iload 8 ; (0x8) ireturn .end method .method processM2 : (Lcom/intel/otp/vasco/SVCSessionState;[BSS)V .limit stack 8 .limit locals 19 ; Bytecode disassembly: iconst_0 istore 5 ; (0x5) iconst_0 istore 6 ; (0x6) iconst_0 istore 7 ; (0x7) iconst_0 istore 8 ; (0x8) iconst_0 istore 9 ; (0x9) iconst_0 istore 10 ; (0xa) iconst_0 istore 11 ; (0xb) iconst_0 istore 12 ; (0xc) iload 4 ; (0x4) iconst_4 if_icmpge LABEL_0C9E sipush 210 ; (0xD2) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0C9E: iload_3 istore 13 ; (0xd) aload_2 iload 13 ; (0xd) iload 13 ; (0xd) iconst_1 iadd i2s istore 13 ; (0xd) baload iconst_1 if_icmpeq LABEL_0CB6 bipush 14 ; (0xe) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0CB6: aload_2 iload 13 ; (0xd) iload 13 ; (0xd) iconst_1 iadd i2s istore 13 ; (0xd) baload iconst_2 if_icmpeq LABEL_0CCE sipush 208 ; (0xD0) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0CCE: aload_2 iload 13 ; (0xd) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 14 ; (0xe) iload 14 ; (0xe) iload 4 ; (0x4) iconst_4 isub i2s if_icmple LABEL_0CE8 sipush 208 ; (0xD0) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0CE8: iload 13 ; (0xd) iconst_2 iadd i2s istore 13 ; (0xd) iload 14 ; (0xe) istore 15 ; (0xf) LABEL_0CF3: iload 15 ; (0xf) iconst_3 if_icmple LABEL_0DBE iload 8 ; (0x8) ifne LABEL_0DBE aload_2 iload 13 ; (0xd) iload 13 ; (0xd) iconst_1 iadd i2s istore 13 ; (0xd) baload istore 16 ; (0x10) aload_2 iload 13 ; (0xd) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 17 ; (0x11) iload 13 ; (0xd) iconst_2 iadd i2s istore 13 ; (0xd) aload_0 aload_2 iload 13 ; (0xd) iload 17 ; (0x11) invokespecial com/intel/otp/vasco/SVCImpl/sanityCheckBuffer([BSS)V iload 16 ; (0x10) tableswitch 1 LABEL_0D3A ; case 1 LABEL_0D4A ; case 2 LABEL_0D58 ; case 3 LABEL_0D96 ; case 4 LABEL_0D66 ; case 5 default: LABEL_0D96 LABEL_0D3A: aload_0 aload_1 aload_2 iload 13 ; (0xd) iload 17 ; (0x11) invokevirtual com/intel/otp/vasco/SVCImpl/handleSigmaS2(Lcom/intel/otp/vasco/SVCSessionState;[BSS)V iconst_1 istore 5 ; (0x5) goto LABEL_0DA9 LABEL_0D4A: iload 13 ; (0xd) istore 9 ; (0x9) iload 17 ; (0x11) istore 10 ; (0xa) iconst_1 istore 6 ; (0x6) goto LABEL_0DA9 LABEL_0D58: iload 13 ; (0xd) istore 11 ; (0xb) iload 17 ; (0x11) istore 12 ; (0xc) iconst_1 istore 7 ; (0x7) goto LABEL_0DA9 LABEL_0D66: iload 5 ; (0x5) ifne LABEL_0D70 goto LABEL_0DA9 LABEL_0D70: aload_1 getfield SVCSessionState/mkKey Lcom/intel/crypto/SymmetricSignatureAlg; aload_2 iload_3 iload 13 ; (0xd) iload_3 isub i2s aload_2 iload 13 ; (0xd) iload 17 ; (0x11) invokevirtual com/intel/crypto/SymmetricSignatureAlg/verifyComplete([BSS[BSS)Z iconst_1 if_icmpeq LABEL_0D90 sipush 204 ; (0xCC) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0D90: iconst_1 istore 8 ; (0x8) goto LABEL_0DA9 LABEL_0D96: iload 5 ; (0x5) ifeq LABEL_0DA9 iload 8 ; (0x8) ifeq LABEL_0DA9 iload 17 ; (0x11) iconst_3 iadd i2s istore 15 ; (0xf) LABEL_0DA9: iload 13 ; (0xd) iload 17 ; (0x11) iadd i2s istore 13 ; (0xd) iload 15 ; (0xf) iload 17 ; (0x11) iconst_3 iadd isub i2s istore 15 ; (0xf) goto LABEL_0CF3 LABEL_0DBE: iload 5 ; (0x5) ifne LABEL_0DD2 iload 8 ; (0x8) ifne LABEL_0DD2 sipush 208 ; (0xD0) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0DD2: iload 6 ; (0x6) ifeq LABEL_0DF4 aload_0 getfield SVCImpl/otps Lcom/intel/otp/vasco/OtpService; aload_1 getfield SVCSessionState/sessionHandle I aload_2 iload 9 ; (0x9) iload 10 ; (0xa) invokevirtual com/intel/otp/vasco/OtpService/processSignedData(I[BSS)Z iconst_1 if_icmpeq LABEL_0DF4 sipush 204 ; (0xCC) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0DF4: iload 7 ; (0x7) ifeq LABEL_0EF6 iconst_0 istore 16 ; (0x10) iconst_0 istore 17 ; (0x11) aload_0 getfield SVCImpl/utilBuffer [B arraylength iload 12 ; (0xc) if_icmpge LABEL_0E12 aload_0 iload 12 ; (0xc) newarray byte putfield SVCImpl/utilBuffer [B LABEL_0E12: aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V aload_0 aload_1 aload_2 iload 11 ; (0xb) iload 12 ; (0xc) aload_0 getfield SVCImpl/utilBuffer [B iconst_0 iconst_1 invokespecial com/intel/otp/vasco/SVCImpl/decryptVendorData(Lcom/intel/otp/vasco/SVCSessionState;[BSS[BSB)S istore 16 ; (0x10) goto LABEL_0E54 astore 18 ; (0x12) aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V sipush 203 ; (0xCB) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0E54: iload 16 ; (0x10) ifne LABEL_0E7C iconst_0 iconst_3 ldc [o5258] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V sipush 208 ; (0xD0) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0E7C: aload_0 getfield SVCImpl/utilBuffer [B iconst_0 invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 17 ; (0x11) iload 17 ; (0x11) iload 16 ; (0x10) iconst_2 isub if_icmple LABEL_0EB8 iconst_0 iconst_3 ldc [o5150] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V aload_1 iconst_5 putfield SVCSessionState/state B sipush 208 ; (0xD0) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0EB8: aload_0 getfield SVCImpl/otps Lcom/intel/otp/vasco/OtpService; aload_1 getfield SVCSessionState/sessionHandle I aload_0 getfield SVCImpl/utilBuffer [B iconst_2 iload 17 ; (0x11) invokevirtual com/intel/otp/vasco/OtpService/processEncryptedData(I[BSS)Z iconst_1 if_icmpeq LABEL_0EE6 aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V sipush 204 ; (0xCC) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0EE6: aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V LABEL_0EF6: aload_1 iconst_2 putfield SVCSessionState/state B return .end method .method processM4 : (Lcom/intel/otp/vasco/SVCSessionState;[BSS)V .limit stack 8 .limit locals 19 ; Bytecode disassembly: iconst_0 istore 5 ; (0x5) iconst_0 istore 6 ; (0x6) iconst_0 istore 7 ; (0x7) iconst_0 istore 8 ; (0x8) iconst_0 istore 9 ; (0x9) iconst_0 istore 10 ; (0xa) iconst_0 istore 11 ; (0xb) iconst_0 istore 12 ; (0xc) iconst_0 istore 13 ; (0xd) iload 4 ; (0x4) iconst_4 if_icmpge LABEL_0F30 sipush 210 ; (0xD2) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0F30: iload_3 istore 14 ; (0xe) aload_2 iload 14 ; (0xe) iload 14 ; (0xe) iconst_1 iadd i2s istore 14 ; (0xe) baload iconst_1 if_icmpeq LABEL_0F48 bipush 14 ; (0xe) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0F48: aload_2 iload 14 ; (0xe) iload 14 ; (0xe) iconst_1 iadd i2s istore 14 ; (0xe) baload iconst_4 if_icmpeq LABEL_0F60 sipush 208 ; (0xD0) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0F60: aload_2 iload 14 ; (0xe) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 15 ; (0xf) iload 15 ; (0xf) iload 4 ; (0x4) iconst_4 isub i2s if_icmple LABEL_0F7A sipush 208 ; (0xD0) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0F7A: iload 14 ; (0xe) iconst_2 iadd i2s istore 14 ; (0xe) iload 15 ; (0xf) istore 16 ; (0x10) LABEL_0F85: iload 16 ; (0x10) iconst_3 if_icmple LABEL_1078 iload 9 ; (0x9) ifne LABEL_1078 aload_2 iload 14 ; (0xe) iload 14 ; (0xe) iconst_1 iadd i2s istore 14 ; (0xe) baload istore 17 ; (0x11) aload_2 iload 14 ; (0xe) invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 18 ; (0x12) iload 14 ; (0xe) iconst_2 iadd i2s istore 14 ; (0xe) aload_0 aload_2 iload 14 ; (0xe) iload 18 ; (0x12) invokespecial com/intel/otp/vasco/SVCImpl/sanityCheckBuffer([BSS)V iload 17 ; (0x11) tableswitch 2 LABEL_0FF4 ; case 2 LABEL_1002 ; case 3 LABEL_0FCA ; case 4 LABEL_1010 ; case 5 default: LABEL_1040 LABEL_0FCA: aload_2 iload 14 ; (0xe) aload_1 getfield SVCSessionState/cn [B iconst_0 bipush 10 ; (0xa) invokestatic com/intel/langutil/ArrayUtils/compareByteArray([BI[BII)Z iconst_1 if_icmpeq LABEL_0FEE iconst_0 iconst_3 ldc [o5122] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V sipush 204 ; (0xCC) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0FEE: iconst_1 istore 5 ; (0x5) goto LABEL_1062 LABEL_0FF4: iload 14 ; (0xe) istore 10 ; (0xa) iload 18 ; (0x12) istore 11 ; (0xb) iconst_1 istore 7 ; (0x7) goto LABEL_1062 LABEL_1002: iload 14 ; (0xe) istore 12 ; (0xc) iload 18 ; (0x12) istore 13 ; (0xd) iconst_1 istore 8 ; (0x8) goto LABEL_1062 LABEL_1010: aload_1 getfield SVCSessionState/mkKey Lcom/intel/crypto/SymmetricSignatureAlg; aload_2 iload_3 iload 14 ; (0xe) iload_3 isub i2s aload_2 iload 14 ; (0xe) iload 18 ; (0x12) invokevirtual com/intel/crypto/SymmetricSignatureAlg/verifyComplete([BSS[BSS)Z iconst_1 if_icmpeq LABEL_103A iconst_0 iconst_3 ldc [o5380] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V sipush 204 ; (0xCC) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_103A: iconst_1 istore 9 ; (0x9) goto LABEL_1062 LABEL_1040: iload 5 ; (0x5) ifeq LABEL_105A iload 6 ; (0x6) ifeq LABEL_105A iload 9 ; (0x9) ifeq LABEL_105A iload 18 ; (0x12) istore 16 ; (0x10) goto LABEL_1062 LABEL_105A: sipush 209 ; (0xD1) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_1062: iload 14 ; (0xe) iload 18 ; (0x12) iadd i2s istore 14 ; (0xe) iload 16 ; (0x10) iload 18 ; (0x12) iconst_3 iadd isub i2s istore 16 ; (0x10) goto LABEL_0F85 LABEL_1078: iload 5 ; (0x5) ifeq LABEL_1084 iload 9 ; (0x9) ifne LABEL_108C LABEL_1084: sipush 208 ; (0xD0) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_108C: iload 7 ; (0x7) ifeq LABEL_10BE aload_0 getfield SVCImpl/otps Lcom/intel/otp/vasco/OtpService; aload_1 getfield SVCSessionState/sessionHandle I aload_2 iload 10 ; (0xa) iload 11 ; (0xb) invokevirtual com/intel/otp/vasco/OtpService/processSignedData(I[BSS)Z iconst_1 if_icmpeq LABEL_10BE aload_1 iconst_5 putfield SVCSessionState/state B iconst_0 iconst_3 ldc [o5406] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V sipush 204 ; (0xCC) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_10BE: iload 8 ; (0x8) ifeq LABEL_1174 aload_0 getfield SVCImpl/utilBuffer [B arraylength iload 13 ; (0xd) if_icmpge LABEL_10D6 aload_0 iload 13 ; (0xd) newarray byte putfield SVCImpl/utilBuffer [B LABEL_10D6: aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V aload_0 aload_1 aload_2 iload 12 ; (0xc) iload 13 ; (0xd) aload_0 getfield SVCImpl/utilBuffer [B iconst_0 bipush -128 ; (0x80) invokespecial com/intel/otp/vasco/SVCImpl/decryptVendorData(Lcom/intel/otp/vasco/SVCSessionState;[BSS[BSB)S istore 17 ; (0x11) aload_0 getfield SVCImpl/utilBuffer [B iconst_0 invokestatic com/intel/langutil/TypeConverter/bytesToShort([BI)S istore 18 ; (0x12) iload 18 ; (0x12) iload 17 ; (0x11) iconst_2 isub if_icmple LABEL_1126 aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V sipush 208 ; (0xD0) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_1126: aload_0 getfield SVCImpl/otps Lcom/intel/otp/vasco/OtpService; aload_1 getfield SVCSessionState/sessionHandle I aload_0 getfield SVCImpl/utilBuffer [B iconst_2 iload 18 ; (0x12) invokevirtual com/intel/otp/vasco/OtpService/processEncryptedData(I[BSS)Z iconst_1 if_icmpeq LABEL_1164 aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V aload_1 iconst_5 putfield SVCSessionState/state B iconst_0 iconst_3 ldc [o5194] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V sipush 204 ; (0xCC) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_1164: aload_0 getfield SVCImpl/utilBuffer [B iconst_0 aload_0 getfield SVCImpl/utilBuffer [B arraylength iconst_0 invokestatic com/intel/langutil/ArrayUtils/fillByteArray([BIIB)V LABEL_1174: aload_1 iconst_4 putfield SVCSessionState/state B aload_1 getfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; ifnull LABEL_118A aload_1 getfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; invokevirtual com/intel/crypto/SigmaAlg/dispose()V LABEL_118A: aload_1 aconst_null putfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; return .end method .method public processSVPMessage : (I[BSS)V .limit stack 5 .limit locals 7 ; Bytecode disassembly: iload_1 ifeq LABEL_11B2 iload 4 ; (0x4) ifeq LABEL_11B2 aload_2 ifnull LABEL_11B2 iload_3 iload 4 ; (0x4) iadd aload_2 arraylength if_icmple LABEL_11B8 LABEL_11B2: bipush 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_11B8: aload_0 getfield SVCImpl/sessionList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/get(I)Ljava/lang/Object; checkcast Lcom/intel/otp/vasco/SVCSessionState; astore 5 ; (0x5) aload 5 ; (0x5) ifnonnull LABEL_11D4 sipush 201 ; (0xC9) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_11D4: aload 5 ; (0x5) getfield SVCSessionState/state B lookupswitch 1: LABEL_11E8 3: LABEL_11F6 default: LABEL_1204 LABEL_11E8: aload_0 aload 5 ; (0x5) aload_2 iload_3 iload 4 ; (0x4) invokevirtual com/intel/otp/vasco/SVCImpl/processM2(Lcom/intel/otp/vasco/SVCSessionState;[BSS)V goto LABEL_120C LABEL_11F6: aload_0 aload 5 ; (0x5) aload_2 iload_3 iload 4 ; (0x4) invokevirtual com/intel/otp/vasco/SVCImpl/processM4(Lcom/intel/otp/vasco/SVCSessionState;[BSS)V goto LABEL_120C LABEL_1204: sipush 202 ; (0xCA) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_120C: goto LABEL_123C astore 6 ; (0x6) aload 5 ; (0x5) getfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; ifnull LABEL_122C aload 5 ; (0x5) getfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; invokevirtual com/intel/crypto/SigmaAlg/dispose()V aload 5 ; (0x5) aconst_null putfield SVCSessionState/sigmaInstance Lcom/intel/crypto/SigmaAlg; LABEL_122C: aload 5 ; (0x5) iconst_5 putfield SVCSessionState/state B aload 6 ; (0x6) invokevirtual com/intel/otp/vasco/OTPException/getReason()S invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_123C: return .end method .method private sanityCheckBuffer : ([BSS)V .limit stack 3 .limit locals 6 ; Bytecode disassembly: aload_1 ifnonnull LABEL_125A iconst_0 iconst_3 ldc [o5360] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V bipush 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_125A: iload_2 istore 4 ; (0x4) iload_3 istore 5 ; (0x5) iload 4 ; (0x4) iflt LABEL_126E iload 4 ; (0x4) aload_1 arraylength if_icmple LABEL_127E LABEL_126E: iconst_0 iconst_3 ldc [o5336] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V bipush 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_127E: iload 5 ; (0x5) ifle LABEL_1298 iload 4 ; (0x4) iload 5 ; (0x5) iadd aload_1 arraylength if_icmpgt LABEL_1298 iload 5 ; (0x5) sipush 4000 ; (0xFA0) if_icmple LABEL_12A8 LABEL_1298: iconst_0 iconst_3 ldc [o5312] invokestatic com/intel/util/DebugPrint/printString(IILjava/lang/String;)V bipush 13 ; (0xd) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_12A8: return .end method .method public startProvisioning : (I)V .limit stack 3 .limit locals 3 ; Bytecode disassembly: aload_0 getfield SVCImpl/numSessions I bipush 127 ; (0x7f) if_icmplt LABEL_12C4 sipush 212 ; (0xD4) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_12C4: iload_1 ifeq LABEL_12D4 aload_0 getfield SVCImpl/sessionList Lcom/intel/otp/vasco/LinkedList; iload_1 invokevirtual com/intel/otp/vasco/LinkedList/exists(I)Z iconst_1 if_icmpne LABEL_12DC LABEL_12D4: sipush 201 ; (0xC9) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_12DC: new com/intel/otp/vasco/SVCSessionState dup invokespecial com/intel/otp/vasco/SVCSessionState/()V astore_2 aload_2 iload_1 putfield SVCSessionState/sessionHandle I aload_0 getfield SVCImpl/sessionList Lcom/intel/otp/vasco/LinkedList; iload_1 aload_2 invokevirtual com/intel/otp/vasco/LinkedList/add(ILjava/lang/Object;)Z pop aload_0 dup getfield SVCImpl/numSessions I iconst_1 iadd putfield SVCImpl/numSessions I return .end method .method static : ()V .limit stack 1 .limit locals 0 ; Bytecode disassembly: iconst_1 putstatic SVCImpl/SVP_VERSION_1 B iconst_1 putstatic SVCImpl/SVP_MSG_M1 B iconst_2 putstatic SVCImpl/SVP_MSG_M2 B iconst_3 putstatic SVCImpl/SVP_MSG_M3 B iconst_4 putstatic SVCImpl/SVP_MSG_M4 B iconst_4 putstatic SVCImpl/SVP_MSG_HEADER_LENGTH S iconst_3 putstatic SVCImpl/SVP_TLV_HEADER_LENGTH S bipush 10 ; (0xa) putstatic SVCImpl/SVP_NONCE_LENGTH S iconst_1 putstatic SVCImpl/SVP_TLV_TYPE_SIGMA B iconst_2 putstatic SVCImpl/SVP_TLV_TYPE_VENDOR_DATA_SIG B iconst_3 putstatic SVCImpl/SVP_TLV_TYPE_VENDOR_DATA_ENC B iconst_4 putstatic SVCImpl/SVP_TLV_TYPE_CLIENT_NONCE B iconst_5 putstatic SVCImpl/SVP_TLV_TYPE_SIGN B bipush 6 ; (0x6) putstatic SVCImpl/SVP_TLV_TYPE_OEM_ID B bipush 16 ; (0x10) putstatic SVCImpl/AES_128_BLOCK_SIZE B iconst_1 putstatic SVCImpl/AES_CTR_M2 B bipush 64 ; (0x40) putstatic SVCImpl/AES_CTR_M3 B bipush -128 ; (0x80) putstatic SVCImpl/AES_CTR_M4 B bipush 127 ; (0x7f) putstatic SVCImpl/MAX_SESSIONS B iconst_4 putstatic SVCImpl/OEM_ID_LENGTH B return .end method .end class ; class 17/29 .class final super com/intel/otp/vasco/SVCSessionState .super java/lang/Object .field cn [B .field ga [B .field gaLength S .field gaOffset S .field ka [B .field kaLength S .field kaOffset S .field mk [B .field mkKey Lcom/intel/crypto/SymmetricSignatureAlg; .field mkLength S .field mkOffset S .field pvtKey [B .field pvtKeyLength S .field pvtKeyOffset S .field sessionHandle I .field sigmaInstance Lcom/intel/crypto/SigmaAlg; .field sk [B .field skKey Lcom/intel/crypto/SymmetricBlockCipherAlg; .field state B .field public static final EPID_SIG_LEN S .field public static final SAFEID_CERT_LENGTH S .field public static final SIGMA_CERT_LENGTH S .field public static final SIGMA_CERT_TYPE_OFFSET S .field public static final SIGMA_CERT_TYPE_OTP S .field public static final SIGMA_HMAC_LENGTH S .field public static final SIGMA_KEY_LENGTH S .field public static final SIGMA_MK_LENGTH S .field public static final SIGMA_SIG_LENGTH S .field public static final SIGMA_SK_LENGTH S .field public static final STATE_AWAIT_M2 B .field public static final STATE_AWAIT_M4 B .field public static final STATE_FAIL B .field public static final STATE_INIT B .field public static final STATE_M2 B .field public static final STATE_SUCCESS B .method : ()V .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V return .end method .method static : ()V .limit stack 1 .limit locals 0 ; Bytecode disassembly: iconst_1 putstatic SVCSessionState/STATE_AWAIT_M2 B iconst_2 putstatic SVCSessionState/STATE_M2 B iconst_3 putstatic SVCSessionState/STATE_AWAIT_M4 B iconst_4 putstatic SVCSessionState/STATE_SUCCESS B iconst_5 putstatic SVCSessionState/STATE_FAIL B bipush 64 ; (0x40) putstatic SVCSessionState/SIGMA_KEY_LENGTH S bipush 32 ; (0x20) putstatic SVCSessionState/SIGMA_HMAC_LENGTH S bipush 16 ; (0x10) putstatic SVCSessionState/SIGMA_MK_LENGTH S bipush 16 ; (0x10) putstatic SVCSessionState/SIGMA_SK_LENGTH S bipush 64 ; (0x40) putstatic SVCSessionState/SIGMA_SIG_LENGTH S sipush 304 ; (0x130) putstatic SVCSessionState/SIGMA_CERT_LENGTH S sipush 392 ; (0x188) putstatic SVCSessionState/SAFEID_CERT_LENGTH S sipush 569 ; (0x239) putstatic SVCSessionState/EPID_SIG_LEN S iconst_2 putstatic SVCSessionState/SIGMA_CERT_TYPE_OTP S sipush 174 ; (0xAE) putstatic SVCSessionState/SIGMA_CERT_TYPE_OFFSET S return .end method .end class ; class 18/29 .class super abstract com/intel/otp/vasco/VDS_ApplicationManager .super java/lang/Object .field private static final APP1_CODEWORD_KEY I .field private static final APP1_COUNTER_KEY I .field private static final APP2_CODEWORD_KEY I .field private static final APP2_COUNTER_KEY I .field private static final SERIAL_KEY I .field private static final STATUS_KEY I .field private static final SV_KEY I .field private static final TIME_KEY I .method : ()V .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V return .end method .method static : ()V .limit stack 1 .limit locals 0 ; Bytecode disassembly: iconst_1 putstatic VDS_ApplicationManager/STATUS_KEY I iconst_2 putstatic VDS_ApplicationManager/TIME_KEY I iconst_3 putstatic VDS_ApplicationManager/SERIAL_KEY I iconst_4 putstatic VDS_ApplicationManager/APP1_CODEWORD_KEY I iconst_5 putstatic VDS_ApplicationManager/APP2_CODEWORD_KEY I bipush 6 ; (0x6) putstatic VDS_ApplicationManager/APP1_COUNTER_KEY I bipush 7 ; (0x7) putstatic VDS_ApplicationManager/APP2_COUNTER_KEY I bipush 8 ; (0x8) putstatic VDS_ApplicationManager/SV_KEY I return .end method .method private static checkChallenge : (Lcom/intel/otp/vasco/VDS_Data;)V .limit stack 3 .limit locals 2 ; Bytecode disassembly: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getChallenge()[B astore_1 aload_1 ifnull LABEL_02FB aload_1 arraylength bipush 16 ; (0x10) if_icmple LABEL_02FB new com/intel/otp/vasco/VDS_Exception dup sipush -4109 ; (0xFFFFEFF3) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_02FB: return .end method .method private static checkDtfs : (Lcom/intel/otp/vasco/VDS_Data;)V .limit stack 3 .limit locals 6 ; Bytecode disassembly: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getDtfs()[B astore_1 aload_1 ifnull LABEL_0358 aload_1 arraylength ifeq LABEL_0358 aload_1 iconst_0 baload istore_2 iconst_1 istore_3 iconst_0 istore 4 ; (0x4) LABEL_031D: iload 4 ; (0x4) iload_2 if_icmpge LABEL_0358 iload_3 aload_1 arraylength if_icmplt LABEL_0332 sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0332: aload_1 iload_3 baload istore 5 ; (0x5) iload 5 ; (0x5) bipush 16 ; (0x10) if_icmple LABEL_034B new com/intel/otp/vasco/VDS_Exception dup sipush -4109 ; (0xFFFFEFF3) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_034B: iload_3 iload 5 ; (0x5) iconst_1 iadd iadd istore_3 iinc 4 1 goto LABEL_031D LABEL_0358: return .end method .method static computeOTP : (SLcom/intel/otp/vasco/VDS_Data;)Lcom/intel/otp/vasco/OTPResponseEncoder; .limit stack 5 .limit locals 5 ; Bytecode disassembly: new com/intel/otp/vasco/OTPResponseEncoder dup invokespecial com/intel/otp/vasco/OTPResponseEncoder/()V astore_2 aload_1 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B invokestatic com/intel/otp/vasco/VDS_Utils/isSVCorrect([B)V iload_0 iconst_1 if_icmpne LABEL_0382 aload_1 invokestatic com/intel/otp/vasco/VDS_Utils/isAppli1enabled(Lcom/intel/otp/vasco/VDS_Data;)Z ifeq LABEL_0390 LABEL_0382: iload_0 iconst_2 if_icmpne LABEL_0398 aload_1 invokestatic com/intel/otp/vasco/VDS_Utils/isAppli2enabled(Lcom/intel/otp/vasco/VDS_Data;)Z ifne LABEL_0398 LABEL_0390: sipush -4066 ; (0xFFFFF01E) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0398: aload_1 iconst_1 invokestatic com/intel/otp/vasco/VDS_ApplicationManager/validPIN(Lcom/intel/otp/vasco/VDS_Data;Z)[B astore_3 iload_0 iconst_1 if_icmpne LABEL_03CC aload_1 invokestatic com/intel/otp/vasco/VDS_ApplicationManager/checkChallenge(Lcom/intel/otp/vasco/VDS_Data;)V aload_1 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B aload_1 invokevirtual com/intel/otp/vasco/VDS_Data/getDynamicVector()[B aload_1 invokevirtual com/intel/otp/vasco/VDS_Data/getChallenge()[B invokestatic com/intel/otp/vasco/VDS_Utils/formatChallenge([B)[B aload_3 aload_1 invokevirtual com/intel/otp/vasco/VDS_Data/getTimeMetaData()[B invokestatic com/intel/otp/vasco/VDS_Utils/getTime([B)I invokestatic com/intel/otp/vasco/DP4Java/vdsGenPassword([B[B[B[BI)Lcom/intel/otp/vasco/DigipassOutput; astore 4 ; (0x4) goto LABEL_03EC LABEL_03CC: aload_1 invokestatic com/intel/otp/vasco/VDS_ApplicationManager/checkDtfs(Lcom/intel/otp/vasco/VDS_Data;)V aload_1 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B aload_1 invokevirtual com/intel/otp/vasco/VDS_Data/getDynamicVector()[B aload_1 invokevirtual com/intel/otp/vasco/VDS_Data/getDtfs()[B aload_3 aload_1 invokevirtual com/intel/otp/vasco/VDS_Data/getTimeMetaData()[B invokestatic com/intel/otp/vasco/VDS_Utils/getTime([B)I invokestatic com/intel/otp/vasco/DP4Java/vdsGenSignature([B[B[B[BI)Lcom/intel/otp/vasco/DigipassOutput; astore 4 ; (0x4) LABEL_03EC: aload_2 aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setDigipassOutput(Lcom/intel/otp/vasco/DigipassOutput;)V goto LABEL_0426 astore_3 aload_2 aload_3 invokevirtual com/intel/otp/vasco/VDS_PINException/getErrorCode()S invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setErrorCode(S)V aload_2 aload_3 invokevirtual com/intel/otp/vasco/VDS_PINException/getAttemptsLeft()B invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setAttemptLefts(B)V goto LABEL_0426 astore_3 aload_2 aload_3 invokevirtual com/intel/otp/vasco/OTPException/getReason()S invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setErrorCode(S)V goto LABEL_0426 astore_3 aload_2 aload_3 invokevirtual com/intel/otp/vasco/VDS_Exception/getErrorCode()S invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setErrorCode(S)V LABEL_0426: aload_2 areturn .end method .method static getProperty : (Lcom/intel/otp/vasco/VDS_Data;)Lcom/intel/otp/vasco/OTPResponseEncoder; .limit stack 5 .limit locals 12 ; Bytecode disassembly: new com/intel/otp/vasco/OTPResponseEncoder dup invokespecial com/intel/otp/vasco/OTPResponseEncoder/()V astore_1 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B astore_2 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getDynamicVector()[B astore_3 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getParam()B tableswitch 1 LABEL_0462 ; case 1 LABEL_0494 ; case 2 LABEL_04E2 ; case 3 LABEL_0506 ; case 4 LABEL_0524 ; case 5 LABEL_0542 ; case 6 LABEL_0586 ; case 7 LABEL_0478 ; case 8 default: LABEL_05CA LABEL_0462: iconst_1 newarray byte astore 4 ; (0x4) aload 4 ; (0x4) iconst_0 aload_3 iconst_1 baload bastore aload_1 aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setProperty([B)V goto LABEL_05CA LABEL_0478: aload_2 arraylength newarray byte astore 5 ; (0x5) aload_2 iconst_0 aload 5 ; (0x5) iconst_0 aload 5 ; (0x5) arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_1 aload 5 ; (0x5) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setProperty([B)V goto LABEL_05CA LABEL_0494: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getTimeMetaData()[B invokestatic com/intel/otp/vasco/VDS_Utils/getTime([B)I istore 6 ; (0x6) iconst_4 newarray byte dup iconst_0 iload 6 ; (0x6) bipush 24 ; (0x18) ishr sipush 255 ; (0xFF) iand i2b bastore dup iconst_1 iload 6 ; (0x6) bipush 16 ; (0x10) ishr sipush 255 ; (0xFF) iand i2b bastore dup iconst_2 iload 6 ; (0x6) bipush 8 ; (0x8) ishr sipush 255 ; (0xFF) iand i2b bastore dup iconst_3 iload 6 ; (0x6) sipush 255 ; (0xFF) iand i2b bastore astore 7 ; (0x7) aload_1 aload 7 ; (0x7) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setProperty([B)V goto LABEL_05CA LABEL_04E2: bipush 10 ; (0xa) newarray byte astore 8 ; (0x8) aload_2 iconst_2 aload 8 ; (0x8) iconst_0 iconst_3 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_3 iconst_2 aload 8 ; (0x8) iconst_3 bipush 7 ; (0x7) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_1 aload 8 ; (0x8) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setProperty([B)V goto LABEL_05CA LABEL_0506: aload_2 bipush 38 ; (0x26) baload iconst_1 invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z ifeq LABEL_05CA aload_2 iconst_1 invokestatic com/intel/otp/vasco/VDS_Utils/getCodewordAppi([BS)[B astore 9 ; (0x9) aload_1 aload 9 ; (0x9) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setProperty([B)V goto LABEL_05CA LABEL_0524: aload_2 bipush 47 ; (0x2f) baload iconst_1 invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z ifeq LABEL_05CA aload_2 iconst_2 invokestatic com/intel/otp/vasco/VDS_Utils/getCodewordAppi([BS)[B astore 9 ; (0x9) aload_1 aload 9 ; (0x9) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setProperty([B)V goto LABEL_05CA LABEL_0542: aload_2 bipush 38 ; (0x26) baload iconst_1 invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z ifeq LABEL_05CA aload_2 iconst_1 invokestatic com/intel/otp/vasco/VDS_Utils/getCodewordAppi([BS)[B astore 9 ; (0x9) new com/intel/otp/vasco/VDS_Codeword dup aload 9 ; (0x9) invokespecial com/intel/otp/vasco/VDS_Codeword/([B)V astore 10 ; (0xa) aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/VDS_Codeword/isCountIncr()Z ifeq LABEL_0582 iconst_4 newarray byte astore 11 ; (0xb) aload_3 bipush 34 ; (0x22) aload 11 ; (0xb) iconst_0 iconst_4 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_1 aload 11 ; (0xb) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setProperty([B)V LABEL_0582: goto LABEL_05CA LABEL_0586: aload_2 bipush 47 ; (0x2f) baload iconst_1 invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z ifeq LABEL_05CA aload_2 iconst_2 invokestatic com/intel/otp/vasco/VDS_Utils/getCodewordAppi([BS)[B astore 9 ; (0x9) new com/intel/otp/vasco/VDS_Codeword dup aload 9 ; (0x9) invokespecial com/intel/otp/vasco/VDS_Codeword/([B)V astore 10 ; (0xa) aload 10 ; (0xa) invokevirtual com/intel/otp/vasco/VDS_Codeword/isCountIncr()Z ifeq LABEL_05C6 iconst_4 newarray byte astore 11 ; (0xb) aload_3 bipush 42 ; (0x2a) aload 11 ; (0xb) iconst_0 iconst_4 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_1 aload 11 ; (0xb) invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setProperty([B)V LABEL_05C6: goto LABEL_05CA LABEL_05CA: aload_1 areturn .end method .method static runActivate : (Lcom/intel/otp/vasco/VDS_Data;)S .limit stack 5 .limit locals 10 ; Bytecode disassembly: aload_0 ifnonnull LABEL_05E0 sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_05E0: aload_0 bipush 56 ; (0x38) newarray byte invokevirtual com/intel/otp/vasco/VDS_Data/setDynamicVector([B)V aload_0 invokestatic com/intel/otp/vasco/VDS_FADManager/getActivationData(Lcom/intel/otp/vasco/VDS_Data;)V aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B astore_2 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getAccode2()[B invokestatic com/intel/otp/vasco/VDS_Utils/isNullOrEmpty([B)Z ifne LABEL_0602 iconst_1 goto LABEL_0603 LABEL_0602: iconst_0 LABEL_0603: istore 4 ; (0x4) iload 4 ; (0x4) ifeq LABEL_0612 bipush 23 ; (0x17) newarray byte astore_3 goto LABEL_0617 LABEL_0612: bipush 15 ; (0xf) newarray byte astore_3 LABEL_0617: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getSns()[B astore 5 ; (0x5) iconst_0 istore 6 ; (0x6) LABEL_0621: iload 6 ; (0x6) bipush 7 ; (0x7) if_icmpge LABEL_0640 aload_3 iload 6 ; (0x6) aload 5 ; (0x5) iload 6 ; (0x6) baload bipush 48 ; (0x30) iadd i2b bastore iload 6 ; (0x6) iconst_1 iadd i2s istore 6 ; (0x6) goto LABEL_0621 LABEL_0640: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getAccode1()[B astore 6 ; (0x6) aload 6 ; (0x6) iconst_0 aload_3 bipush 7 ; (0x7) bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iload 4 ; (0x4) ifeq LABEL_066A aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getAccode2()[B astore 7 ; (0x7) aload 7 ; (0x7) iconst_0 aload_3 bipush 15 ; (0xf) bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_066A: aload_3 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getDynamicVector()[B invokestatic com/intel/otp/vasco/DP4Java/setSerialNumberSuffix([B[B)V aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getPin()[B astore 7 ; (0x7) bipush 16 ; (0x10) newarray byte astore 8 ; (0x8) aload 7 ; (0x7) aload_2 invokestatic com/intel/otp/vasco/VDS_PINManager/checkAndSetPINValue([B[B)[B astore 9 ; (0x9) iconst_0 newarray byte aload 9 ; (0x9) aload 8 ; (0x8) aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getDynamicVector()[B invokestatic com/intel/otp/vasco/VDS_PINManager/setNewPIN([B[B[B[B[B)V aload_2 aload_3 aload 8 ; (0x8) aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getDynamicVector()[B invokestatic com/intel/otp/vasco/DP4Java/vdsActivate([B[B[B[B)S istore_1 goto LABEL_06BD astore_2 aload_2 invokevirtual com/intel/otp/vasco/VDS_PINException/getErrorCode()S istore_1 goto LABEL_06BD astore_2 aload_2 invokevirtual com/intel/otp/vasco/VDS_Exception/getErrorCode()S istore_1 LABEL_06BD: iload_1 ireturn .end method .method static runChangePIN : (Lcom/intel/otp/vasco/VDS_Data;)Lcom/intel/otp/vasco/OTPResponseEncoder; .limit stack 5 .limit locals 4 ; Bytecode disassembly: new com/intel/otp/vasco/OTPResponseEncoder dup invokespecial com/intel/otp/vasco/OTPResponseEncoder/()V astore_1 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getOldPin()[B ifnonnull LABEL_06E2 aload_0 iconst_0 newarray byte invokevirtual com/intel/otp/vasco/VDS_Data/setOldPin([B)V LABEL_06E2: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getPin()[B ifnonnull LABEL_06F2 aload_0 iconst_0 newarray byte invokevirtual com/intel/otp/vasco/VDS_Data/setPin([B)V LABEL_06F2: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getOldPin()[B arraylength bipush 64 ; (0x40) if_icmpgt LABEL_0706 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getPin()[B arraylength bipush 64 ; (0x40) if_icmple LABEL_070E LABEL_0706: sipush -4114 ; (0xFFFFEFEE) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_070E: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B invokestatic com/intel/otp/vasco/VDS_Utils/isSVCorrect([B)V aload_0 iconst_0 invokestatic com/intel/otp/vasco/VDS_ApplicationManager/validPIN(Lcom/intel/otp/vasco/VDS_Data;Z)[B astore_2 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getPin()[B invokestatic com/intel/otp/vasco/VDS_Utils/isNullOrEmpty([B)Z ifeq LABEL_0744 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B bipush 23 ; (0x17) baload bipush 15 ; (0xf) if_icmpne LABEL_0744 aload_0 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B invokestatic com/intel/otp/vasco/VDS_PINManager/getDefaultPin([B)[B invokevirtual com/intel/otp/vasco/VDS_Data/setPin([B)V LABEL_0744: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B bipush 25 ; (0x19) baload iconst_2 if_icmpne LABEL_0754 aload_0 invokestatic com/intel/otp/vasco/VDS_PINManager/weakPINControl(Lcom/intel/otp/vasco/VDS_Data;)V LABEL_0754: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getOldPin()[B aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B invokestatic com/intel/otp/vasco/VDS_PINManager/checkAndSetPINValue([B[B)[B astore_3 aload_3 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getPin()[B aload_2 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getDynamicVector()[B invokestatic com/intel/otp/vasco/VDS_PINManager/setNewPIN([B[B[B[B[B)V goto LABEL_07A8 astore_2 aload_1 aload_2 invokevirtual com/intel/otp/vasco/VDS_PINException/getErrorCode()S invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setErrorCode(S)V aload_1 aload_2 invokevirtual com/intel/otp/vasco/VDS_PINException/getAttemptsLeft()B invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setAttemptLefts(B)V goto LABEL_07A8 astore_2 aload_1 aload_2 invokevirtual com/intel/otp/vasco/OTPException/getReason()S invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setErrorCode(S)V goto LABEL_07A8 astore_2 aload_1 aload_2 invokevirtual com/intel/otp/vasco/VDS_Exception/getErrorCode()S invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setErrorCode(S)V LABEL_07A8: aload_1 areturn .end method .method private static validPIN : (Lcom/intel/otp/vasco/VDS_Data;Z)[B .limit stack 4 .limit locals 5 ; Bytecode disassembly: iload_1 ifeq LABEL_07BE aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getPin()[B astore_2 goto LABEL_07C3 LABEL_07BE: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getOldPin()[B astore_2 LABEL_07C3: bipush 16 ; (0x10) newarray byte astore_3 aload_2 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B invokestatic com/intel/otp/vasco/VDS_PINManager/checkAndSetPINValue([B[B)[B astore 4 ; (0x4) aload 4 ; (0x4) aload_3 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getDynamicVector()[B invokestatic com/intel/otp/vasco/VDS_PINManager/validPIN([B[B[B[B)V aload_3 areturn .end method .method static validatePIN : (Lcom/intel/otp/vasco/VDS_Data;)Lcom/intel/otp/vasco/OTPResponseEncoder; .limit stack 2 .limit locals 3 ; Bytecode disassembly: new com/intel/otp/vasco/OTPResponseEncoder dup invokespecial com/intel/otp/vasco/OTPResponseEncoder/()V astore_1 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getPin()[B ifnonnull LABEL_0808 aload_0 iconst_0 newarray byte invokevirtual com/intel/otp/vasco/VDS_Data/setPin([B)V LABEL_0808: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getPin()[B arraylength bipush 64 ; (0x40) if_icmple LABEL_081A sipush -4114 ; (0xFFFFEFEE) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_081A: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B invokestatic com/intel/otp/vasco/VDS_Utils/isSVCorrect([B)V aload_0 iconst_1 invokestatic com/intel/otp/vasco/VDS_ApplicationManager/validPIN(Lcom/intel/otp/vasco/VDS_Data;Z)[B pop goto LABEL_085C astore_2 aload_1 aload_2 invokevirtual com/intel/otp/vasco/VDS_PINException/getErrorCode()S invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setErrorCode(S)V aload_1 aload_2 invokevirtual com/intel/otp/vasco/VDS_PINException/getAttemptsLeft()B invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setAttemptLefts(B)V goto LABEL_085C astore_2 aload_1 aload_2 invokevirtual com/intel/otp/vasco/OTPException/getReason()S invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setErrorCode(S)V goto LABEL_085C astore_2 aload_1 aload_2 invokevirtual com/intel/otp/vasco/VDS_Exception/getErrorCode()S invokevirtual com/intel/otp/vasco/OTPResponseEncoder/setErrorCode(S)V LABEL_085C: aload_1 areturn .end method .end class ; class 19/29 .class super com/intel/otp/vasco/VDS_Codeword .super java/lang/Object .field private final aesUsed Z .field private final aut32Exor Z .field private final bConcatenated Z .field private final chal1Used Z .field private final chal2Used Z .field private codeword [B .field private final countIncr Z .field private final dpHhSync Z .field private final eventSyncDigit Z .field private final inputFill B .field private final inputType B .field private final ivLUsed Z .field private final ivRUsed Z .field private final ltTiUsed Z .field private final oathUsed Z .field private final repeatDes Z .field private final timeSyncDigit Z .field private final timerUnit B .method : ([B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V aload_0 iconst_4 newarray byte putfield VDS_Codeword/codeword [B aload_1 iconst_0 aload_0 getfield VDS_Codeword/codeword [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_0 baload bipush 8 ; (0x8) invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z putfield VDS_Codeword/timeSyncDigit Z aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_0 baload bipush 64 ; (0x40) invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z putfield VDS_Codeword/eventSyncDigit Z aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_0 baload iconst_4 invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z putfield VDS_Codeword/oathUsed Z aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_1 baload bipush 12 ; (0xc) iand iconst_2 ishr i2b putfield VDS_Codeword/inputType B aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_1 baload iconst_2 invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z putfield VDS_Codeword/chal1Used Z aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_1 baload iconst_1 invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z putfield VDS_Codeword/chal2Used Z aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_1 baload bipush -128 ; (0x80) invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z putfield VDS_Codeword/aesUsed Z aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_1 baload bipush 64 ; (0x40) invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z putfield VDS_Codeword/bConcatenated Z aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_2 baload bipush 8 ; (0x8) invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z putfield VDS_Codeword/aut32Exor Z aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_2 baload bipush 16 ; (0x10) invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z putfield VDS_Codeword/ivRUsed Z aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_2 baload bipush 64 ; (0x40) invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z putfield VDS_Codeword/ivLUsed Z aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_2 baload bipush -128 ; (0x80) invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z putfield VDS_Codeword/ltTiUsed Z aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_2 baload bipush 32 ; (0x20) invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z putfield VDS_Codeword/countIncr Z aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_2 baload iconst_1 invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z putfield VDS_Codeword/repeatDes Z aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_2 baload bipush -128 ; (0x80) invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z putfield VDS_Codeword/dpHhSync Z aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_3 baload bipush -16 ; (0xf0) iand sipush 255 ; (0xFF) iand iconst_4 ishr i2b putfield VDS_Codeword/inputFill B aload_0 aload_0 getfield VDS_Codeword/codeword [B iconst_3 baload bipush 15 ; (0xf) iand i2b putfield VDS_Codeword/timerUnit B return .end method .method getInputFill : ()B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/inputFill B ireturn .end method .method getInputType : ()B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/inputType B ireturn .end method .method getTimerUnit : ()B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/timerUnit B ireturn .end method .method isAesUsed : ()Z .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/aesUsed Z ireturn .end method .method isAut32Exor : ()Z .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/aut32Exor Z ireturn .end method .method isChal1Used : ()Z .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/chal1Used Z ireturn .end method .method isChal2Used : ()Z .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/chal2Used Z ireturn .end method .method isConcatenated : ()Z .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/bConcatenated Z ireturn .end method .method isCountIncr : ()Z .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/countIncr Z ireturn .end method .method isDpHhSync : ()Z .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/dpHhSync Z ireturn .end method .method isEventSyncDigit : ()Z .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/eventSyncDigit Z ireturn .end method .method isIvLUsed : ()Z .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/ivLUsed Z ireturn .end method .method isIvRUsed : ()Z .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/ivRUsed Z ireturn .end method .method isLtTiUsed : ()Z .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/ltTiUsed Z ireturn .end method .method isOathUsed : ()Z .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/oathUsed Z ireturn .end method .method isRepeatDes : ()Z .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/repeatDes Z ireturn .end method .method isTimeSyncDigit : ()Z .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Codeword/timeSyncDigit Z ireturn .end method .end class ; class 20/29 .class super com/intel/otp/vasco/VDS_Constant .super java/lang/Object .field static final ACODE_LNG_DEC2 I .field static final ACODE_LNG_HEXA I .field static final AESALGO B .field static final ALEA_CHS_MAX_LNG I .field static final APPLICATION_TYPE_DEC_1 B .field static final APPLICATION_TYPE_DEC_2 B .field static final APPLICATION_TYPE_HEX B .field static final APP_PENALTY_GEN_INV I .field static final APP_PENALTY_RESET I .field static final AUTH32_EXOR B .field static final BASIC_ACTIVATION B .field static final BASIC_SEC_SCH I .field static final CHAL1_USED B .field static final CHAL2_USED B .field static final CHANGE_PIN_MODE S .field static final CONCATENATED B .field static final COUNT_INCR B .field static final CS_TIME_BUFFER_SIZE S .field static final DEC_1 B .field static final DEC_2 B .field static final DEF_RHC_AND_OTP_LNG I .field static final DISABLED I .field static final DP_ALGO B .field static final DP_HH_SYNC B .field static final DV_I_APP_IVLEFT I .field static final DV_I_APP_IVRIGHT I .field static final DV_I_DES1KEY I .field static final DV_I_DES2KEY I .field static final DV_I_LASTEVTUSED I .field static final DV_I_LASTTIMEUSED I .field static final DV_I_PIN_FATALCNT I .field static final DV_I_PIN_SECRET I .field static final DV_I_PIN_WAITCNT I .field static final DV_I_REACTCNT I .field static final DV_I_SNS I .field static final DV_I_STATUS I .field static final DV_KEY_SIZE S .field static final DV_LENGTH I .field static final DV_SHIFT I .field static final EVENT_SYNC_DIGIT_MASK B .field static final FAD_CUSTOM_HIGH_DEC2 I .field static final FAD_CUSTOM_HIGH_HEXA I .field static final FAD_LENGTH_INDEX I .field static final FAD_STD_HIGH_DEC2 I .field static final FAD_STD_HIGH_HEXA I .field static final GET_PROPERTY_MODE S .field static final HEX B .field static final HIGH_ACTIVATION B .field static final HIGH_SEC_SCH B .field static final INPUT_FILL B .field static final INPUT_FILL2 B .field static final INPUT_TYPE B .field static final IV_L_USED B .field static final IV_R_USED B .field static final LNG_BYTE_SV S .field static final LNG_FAD_CUST_BASIC_DEC2 S .field static final LNG_FAD_CUST_BASIC_HEX S .field static final LNG_FAD_CUST_HIGH_DEC2 S .field static final LNG_FAD_CUST_HIGH_HEX S .field static final LNG_FAD_STD_BASIC_DEC2 S .field static final LNG_FAD_STD_BASIC_HEX S .field static final LNG_FAD_STD_HIGH_DEC2 S .field static final LNG_FAD_STD_HIGH_HEX S .field static final LNG_HEXA_SNS S .field static final LNG_HEXA_SV S .field static final LNG_SNS S .field static final LSB_MASK I .field static final LT_TI_USED B .field static final MAX_CHALLENGE_SIZE I .field static final MAX_OLD_PIN_SIZE I .field static final MAX_PIN_SIZE I .field static final MIN_PIN_LNG S .field static final MSB_MASK I .field static final OATHALGO B .field static final OTP_MODE S .field static final REPEAT_DES B .field static final SEC_LVL_CHECKSUM B .field static final SEC_LVL_HASH B .field static final SEC_LVL_NONE B .field static final SEC_LVL_NO_CHECK B .field static final SEND_DATA_TYPE_ALEA S .field static final SEND_DATA_TYPE_CHALLENGE S .field static final SEND_DATA_TYPE_CHS S .field static final SEND_DATA_TYPE_PWD S .field static final SG_MODE S .field static final SNP_LNG I .field static final SNS_IN_FAD B .field static final SNS_LNG I .field static final STATUS_ACTIVATED I .field static final STATUS_GEN_INVOTP I .field static final STATUS_LOCKED I .field static final STATUS_LOCK_UNCHA I .field static final STATUS_LOCK_WAIT I .field static final STATUS_NOT_ACT I .field static final STATUS_REACT_LOCK I .field static final SV_IN_FAD B .field static final SV_I_APP1_TYPE I .field static final SV_I_APP_CHK_DG I .field static final SV_I_APP_CODEWORD I .field static final SV_I_APP_DES I .field static final SV_I_APP_ENABLED I .field static final SV_I_APP_LNG I .field static final SV_I_APP_PENALTY I .field static final SV_I_APP_RHC_LNG I .field static final SV_I_FAD_LENGTH I .field static final SV_I_FAD_TYPE I .field static final SV_I_ITERATION_NB I .field static final SV_I_PIN_CHK_LVL I .field static final SV_I_PIN_CHNG I .field static final SV_I_PIN_FATAL I .field static final SV_I_PIN_MIN_LNG I .field static final SV_I_PIN_WAIT I .field static final SV_I_PIN_WAITTIME I .field static final SV_I_REACT_FATAL I .field static final SV_I_SERIAL_CODE I .field static final SV_I_SNP I .field static final SV_I_TIMEOUT I .field static final SV_SHIFT I .field static final TIMER_UNIT B .field static final TIME_SYNC_DIGIT_MASK B .field static final VALIDATE_PIN_MODE S .field static final VDS_TRUE B .field static final WEAK_PIN_CTRL_ON B .field static final XFAD_I_ACODE1 I .field static final XFAD_LENGTH I .method : ()V .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V return .end method .method static : ()V .limit stack 1 .limit locals 0 ; Bytecode disassembly: iconst_1 putstatic VDS_Constant/OTP_MODE S iconst_2 putstatic VDS_Constant/SG_MODE S iconst_3 putstatic VDS_Constant/CHANGE_PIN_MODE S iconst_4 putstatic VDS_Constant/VALIDATE_PIN_MODE S iconst_5 putstatic VDS_Constant/GET_PROPERTY_MODE S iconst_1 putstatic VDS_Constant/SEND_DATA_TYPE_ALEA S iconst_2 putstatic VDS_Constant/SEND_DATA_TYPE_CHS S iconst_3 putstatic VDS_Constant/SEND_DATA_TYPE_PWD S iconst_4 putstatic VDS_Constant/SEND_DATA_TYPE_CHALLENGE S iconst_1 putstatic VDS_Constant/VDS_TRUE B iconst_1 putstatic VDS_Constant/DEC_1 B iconst_2 putstatic VDS_Constant/DEC_2 B bipush 14 ; (0xe) putstatic VDS_Constant/DEF_RHC_AND_OTP_LNG I bipush 16 ; (0x10) putstatic VDS_Constant/BASIC_ACTIVATION B bipush 32 ; (0x20) putstatic VDS_Constant/HIGH_ACTIVATION B bipush -128 ; (0x80) putstatic VDS_Constant/AESALGO B iconst_4 putstatic VDS_Constant/OATHALGO B bipush 64 ; (0x40) putstatic VDS_Constant/SNS_IN_FAD B bipush -128 ; (0x80) putstatic VDS_Constant/SV_IN_FAD B bipush 7 ; (0x7) putstatic VDS_Constant/LNG_SNS S bipush 14 ; (0xe) putstatic VDS_Constant/LNG_HEXA_SNS S bipush 34 ; (0x22) putstatic VDS_Constant/LNG_FAD_STD_BASIC_DEC2 S bipush 54 ; (0x36) putstatic VDS_Constant/LNG_FAD_STD_HIGH_DEC2 S bipush 30 ; (0x1e) putstatic VDS_Constant/LNG_FAD_STD_BASIC_HEX S bipush 46 ; (0x2e) putstatic VDS_Constant/LNG_FAD_STD_HIGH_HEX S bipush 112 ; (0x70) putstatic VDS_Constant/LNG_HEXA_SV S bipush 56 ; (0x38) putstatic VDS_Constant/LNG_BYTE_SV S sipush 146 ; (0x92) putstatic VDS_Constant/LNG_FAD_CUST_BASIC_DEC2 S sipush 166 ; (0xA6) putstatic VDS_Constant/LNG_FAD_CUST_HIGH_DEC2 S sipush 142 ; (0x8E) putstatic VDS_Constant/LNG_FAD_CUST_BASIC_HEX S sipush 158 ; (0x9E) putstatic VDS_Constant/LNG_FAD_CUST_HIGH_HEX S bipush 63 ; (0x3f) putstatic VDS_Constant/XFAD_I_ACODE1 I iconst_4 putstatic VDS_Constant/MIN_PIN_LNG S iconst_3 putstatic VDS_Constant/SNP_LNG I bipush 7 ; (0x7) putstatic VDS_Constant/SNS_LNG I bipush 10 ; (0xa) putstatic VDS_Constant/ACODE_LNG_DEC2 I bipush 8 ; (0x8) putstatic VDS_Constant/ACODE_LNG_HEXA I sipush 158 ; (0x9E) putstatic VDS_Constant/FAD_CUSTOM_HIGH_HEXA I bipush 46 ; (0x2e) putstatic VDS_Constant/FAD_STD_HIGH_HEXA I sipush 166 ; (0xA6) putstatic VDS_Constant/FAD_CUSTOM_HIGH_DEC2 I bipush 54 ; (0x36) putstatic VDS_Constant/FAD_STD_HIGH_DEC2 I bipush 21 ; (0x15) putstatic VDS_Constant/FAD_LENGTH_INDEX I bipush 32 ; (0x20) putstatic VDS_Constant/HIGH_SEC_SCH B bipush 16 ; (0x10) putstatic VDS_Constant/BASIC_SEC_SCH I bipush 9 ; (0x9) putstatic VDS_Constant/SV_SHIFT I iconst_2 putstatic VDS_Constant/SV_I_SNP I iconst_5 putstatic VDS_Constant/SV_I_SERIAL_CODE I bipush 21 ; (0x15) putstatic VDS_Constant/SV_I_FAD_LENGTH I bipush 22 ; (0x16) putstatic VDS_Constant/SV_I_FAD_TYPE I bipush 23 ; (0x17) putstatic VDS_Constant/SV_I_PIN_CHK_LVL I iconst_1 putstatic VDS_Constant/SEC_LVL_CHECKSUM B iconst_2 putstatic VDS_Constant/SEC_LVL_HASH B bipush 15 ; (0xf) putstatic VDS_Constant/SEC_LVL_NONE B bipush 24 ; (0x18) putstatic VDS_Constant/SV_I_PIN_MIN_LNG I bipush 25 ; (0x19) putstatic VDS_Constant/SV_I_PIN_CHNG I iconst_2 putstatic VDS_Constant/WEAK_PIN_CTRL_ON B bipush 26 ; (0x1a) putstatic VDS_Constant/SV_I_PIN_FATAL I bipush 27 ; (0x1b) putstatic VDS_Constant/SV_I_PIN_WAIT I bipush 28 ; (0x1c) putstatic VDS_Constant/SV_I_TIMEOUT I bipush 29 ; (0x1d) putstatic VDS_Constant/SV_I_PIN_WAITTIME I bipush 29 ; (0x1d) putstatic VDS_Constant/SV_I_ITERATION_NB I bipush 30 ; (0x1e) putstatic VDS_Constant/SV_I_APP_PENALTY I iconst_1 putstatic VDS_Constant/APP_PENALTY_GEN_INV I bipush 31 ; (0x1f) putstatic VDS_Constant/SV_I_APP_CODEWORD I bipush 35 ; (0x23) putstatic VDS_Constant/SV_I_APP_DES I bipush 36 ; (0x24) putstatic VDS_Constant/SV_I_APP_RHC_LNG I bipush 36 ; (0x24) putstatic VDS_Constant/SV_I_APP_LNG I bipush 37 ; (0x25) putstatic VDS_Constant/SV_I_APP_CHK_DG I bipush 38 ; (0x26) putstatic VDS_Constant/SV_I_APP_ENABLED I bipush 39 ; (0x27) putstatic VDS_Constant/SV_I_APP1_TYPE I bipush 50 ; (0x32) putstatic VDS_Constant/SV_I_REACT_FATAL I iconst_1 putstatic VDS_Constant/DV_I_STATUS I iconst_1 putstatic VDS_Constant/STATUS_ACTIVATED I iconst_2 putstatic VDS_Constant/STATUS_LOCKED I iconst_3 putstatic VDS_Constant/STATUS_LOCK_WAIT I iconst_4 putstatic VDS_Constant/STATUS_LOCK_UNCHA I iconst_5 putstatic VDS_Constant/STATUS_GEN_INVOTP I bipush 6 ; (0x6) putstatic VDS_Constant/STATUS_REACT_LOCK I bipush 16 ; (0x10) putstatic VDS_Constant/DV_KEY_SIZE S iconst_2 putstatic VDS_Constant/DV_I_SNS I bipush 9 ; (0x9) putstatic VDS_Constant/DV_I_REACTCNT I bipush 10 ; (0xa) putstatic VDS_Constant/DV_I_DES1KEY I bipush 18 ; (0x12) putstatic VDS_Constant/DV_I_DES2KEY I bipush 26 ; (0x1a) putstatic VDS_Constant/DV_I_LASTTIMEUSED I bipush 30 ; (0x1e) putstatic VDS_Constant/DV_I_LASTEVTUSED I bipush 8 ; (0x8) putstatic VDS_Constant/DV_SHIFT I bipush 34 ; (0x22) putstatic VDS_Constant/DV_I_APP_IVLEFT I bipush 38 ; (0x26) putstatic VDS_Constant/DV_I_APP_IVRIGHT I bipush 50 ; (0x32) putstatic VDS_Constant/DV_I_PIN_SECRET I bipush 54 ; (0x36) putstatic VDS_Constant/DV_I_PIN_FATALCNT I bipush 55 ; (0x37) putstatic VDS_Constant/DV_I_PIN_WAITCNT I sipush 240 ; (0xF0) putstatic VDS_Constant/MSB_MASK I bipush 15 ; (0xf) putstatic VDS_Constant/LSB_MASK I bipush 15 ; (0xf) putstatic VDS_Constant/DISABLED I bipush -128 ; (0x80) putstatic VDS_Constant/LT_TI_USED B bipush 32 ; (0x20) putstatic VDS_Constant/COUNT_INCR B iconst_2 putstatic VDS_Constant/CHAL1_USED B iconst_1 putstatic VDS_Constant/CHAL2_USED B bipush 12 ; (0xc) putstatic VDS_Constant/INPUT_TYPE B bipush -16 ; (0xf0) putstatic VDS_Constant/INPUT_FILL B bipush 15 ; (0xf) putstatic VDS_Constant/INPUT_FILL2 B bipush 8 ; (0x8) putstatic VDS_Constant/AUTH32_EXOR B iconst_2 putstatic VDS_Constant/DP_ALGO B iconst_1 putstatic VDS_Constant/REPEAT_DES B bipush 15 ; (0xf) putstatic VDS_Constant/TIMER_UNIT B bipush -128 ; (0x80) putstatic VDS_Constant/DP_HH_SYNC B bipush 16 ; (0x10) putstatic VDS_Constant/IV_R_USED B bipush 64 ; (0x40) putstatic VDS_Constant/IV_L_USED B bipush 64 ; (0x40) putstatic VDS_Constant/EVENT_SYNC_DIGIT_MASK B bipush 64 ; (0x40) putstatic VDS_Constant/CONCATENATED B bipush 8 ; (0x8) putstatic VDS_Constant/TIME_SYNC_DIGIT_MASK B bipush 64 ; (0x40) putstatic VDS_Constant/MAX_PIN_SIZE I bipush 64 ; (0x40) putstatic VDS_Constant/MAX_OLD_PIN_SIZE I sipush 512 ; (0x200) putstatic VDS_Constant/ALEA_CHS_MAX_LNG I bipush 83 ; (0x53) putstatic VDS_Constant/XFAD_LENGTH I bipush 56 ; (0x38) putstatic VDS_Constant/DV_LENGTH I bipush 16 ; (0x10) putstatic VDS_Constant/MAX_CHALLENGE_SIZE I iconst_4 putstatic VDS_Constant/CS_TIME_BUFFER_SIZE S iconst_1 putstatic VDS_Constant/APPLICATION_TYPE_HEX B iconst_2 putstatic VDS_Constant/APPLICATION_TYPE_DEC_2 B return .end method .end class ; class 21/29 .class super abstract com/intel/otp/vasco/VDS_Crypto .super java/lang/Object .field static final DECR_T B .field static final ENCR_T B .method : ()V .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V return .end method .method static : ()V .limit stack 1 .limit locals 0 ; Bytecode disassembly: bipush 8 ; (0x8) putstatic VDS_Crypto/ENCR_T B bipush 9 ; (0x9) putstatic VDS_Crypto/DECR_T B return .end method .method static desSetOddParity : ([B)V .limit stack 4 .limit locals 4 ; Bytecode disassembly: iconst_0 istore_1 LABEL_0130: iload_1 aload_0 arraylength if_icmpge LABEL_0164 iconst_0 istore_3 iconst_0 istore_2 LABEL_013A: iload_2 bipush 8 ; (0x8) if_icmpge LABEL_0150 iload_3 aload_0 iload_1 baload iload_2 ishr iconst_1 iand ixor istore_3 iinc 2 1 goto LABEL_013A LABEL_0150: iload_3 iconst_1 ixor istore_3 aload_0 iload_1 dup2 baload iload_3 i2b ixor i2b bastore iinc 1 1 goto LABEL_0130 LABEL_0164: return .end method .method static vdsDESCipher : (B[B[B[B)[B .limit stack 6 .limit locals 9 ; Bytecode disassembly: aload_1 ifnull LABEL_0176 aload_2 ifnonnull LABEL_017E LABEL_0176: sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_017E: aconst_null astore 4 ; (0x4) aload_3 ifnonnull LABEL_0190 bipush 8 ; (0x8) newarray byte astore 4 ; (0x4) goto LABEL_01A6 LABEL_0190: aload_3 arraylength bipush 8 ; (0x8) if_icmpne LABEL_019E aload_3 astore 4 ; (0x4) goto LABEL_01A6 LABEL_019E: sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_01A6: aload_2 arraylength newarray byte astore 5 ; (0x5) bipush 6 ; (0x6) invokestatic com/intel/crypto/SymmetricBlockCipherAlg/create(S)Lcom/intel/crypto/SymmetricBlockCipherAlg; astore 6 ; (0x6) iload_0 bipush 8 ; (0x8) if_icmpne LABEL_01BE iconst_1 goto LABEL_01BF LABEL_01BE: iconst_0 LABEL_01BF: istore 7 ; (0x7) iload 7 ; (0x7) ifeq LABEL_01CC iconst_1 istore 8 ; (0x8) goto LABEL_01CF LABEL_01CC: iconst_0 istore 8 ; (0x8) LABEL_01CF: aload 6 ; (0x6) aload_1 iconst_0 bipush 16 ; (0x10) invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/setKey([BSS)V aload 6 ; (0x6) aload 4 ; (0x4) iconst_0 bipush 8 ; (0x8) invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/setIV([BSS)V iload 8 ; (0x8) ifeq LABEL_01FA aload 6 ; (0x6) aload_2 iconst_0 aload_2 arraylength i2s aload 5 ; (0x5) iconst_0 invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/encryptComplete([BSS[BS)S pop goto LABEL_0209 LABEL_01FA: aload 6 ; (0x6) aload_2 iconst_0 aload_2 arraylength i2s aload 5 ; (0x5) iconst_0 invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/decryptComplete([BSS[BS)S pop LABEL_0209: aload 5 ; (0x5) iconst_0 aload_2 iconst_0 aload 5 ; (0x5) arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iload 8 ; (0x8) ifne LABEL_021E iconst_1 goto LABEL_021F LABEL_021E: iconst_0 LABEL_021F: istore 8 ; (0x8) iload 8 ; (0x8) ifeq LABEL_0238 aload 6 ; (0x6) aload_2 iconst_0 aload_2 arraylength i2s aload 5 ; (0x5) iconst_0 invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/encryptComplete([BSS[BS)S pop goto LABEL_0247 LABEL_0238: aload 6 ; (0x6) aload_2 iconst_0 aload_2 arraylength i2s aload 5 ; (0x5) iconst_0 invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/decryptComplete([BSS[BS)S pop LABEL_0247: aload 5 ; (0x5) iconst_0 aload_2 iconst_0 aload 5 ; (0x5) arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iload 8 ; (0x8) ifne LABEL_025C iconst_1 goto LABEL_025D LABEL_025C: iconst_0 LABEL_025D: istore 8 ; (0x8) iload 8 ; (0x8) ifeq LABEL_0276 aload 6 ; (0x6) aload_2 iconst_0 aload_2 arraylength i2s aload 5 ; (0x5) iconst_0 invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/encryptComplete([BSS[BS)S pop goto LABEL_0285 LABEL_0276: aload 6 ; (0x6) aload_2 iconst_0 aload_2 arraylength i2s aload 5 ; (0x5) iconst_0 invokevirtual com/intel/crypto/SymmetricBlockCipherAlg/decryptComplete([BSS[BS)S pop LABEL_0285: goto LABEL_0292 astore 6 ; (0x6) sipush -4199 ; (0xFFFFEF99) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0292: aload 5 ; (0x5) areturn .end method .method static vdsHash : ([BSS)[B .limit stack 6 .limit locals 6 ; Bytecode disassembly: aload_0 ifnonnull LABEL_02AA sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_02AA: iload_2 newarray byte astore_3 aconst_null astore 4 ; (0x4) aconst_null astore 5 ; (0x5) iload_1 ifne LABEL_02C8 iconst_0 invokestatic com/intel/crypto/HashAlg/create(S)Lcom/intel/crypto/HashAlg; astore 4 ; (0x4) bipush 20 ; (0x14) newarray byte astore 5 ; (0x5) goto LABEL_02E6 LABEL_02C8: iload_1 iconst_1 if_icmpne LABEL_02DE iconst_1 invokestatic com/intel/crypto/HashAlg/create(S)Lcom/intel/crypto/HashAlg; astore 4 ; (0x4) bipush 32 ; (0x20) newarray byte astore 5 ; (0x5) goto LABEL_02E6 LABEL_02DE: sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_02E6: aload 4 ; (0x4) aload_0 iconst_0 aload_0 arraylength i2s aload 5 ; (0x5) iconst_0 invokevirtual com/intel/crypto/HashAlg/processComplete([BSS[BS)S pop aload 5 ; (0x5) iconst_0 aload_3 iconst_0 iload_2 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V goto LABEL_030C astore 4 ; (0x4) sipush -4199 ; (0xFFFFEF99) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_030C: aload_3 areturn .end method .method static vdsSha1Hmac : ([B[BS[BS)V .limit stack 6 .limit locals 6 ; Bytecode disassembly: iconst_1 invokestatic com/intel/crypto/SymmetricSignatureAlg/create(S)Lcom/intel/crypto/SymmetricSignatureAlg; astore 5 ; (0x5) aload 5 ; (0x5) aload_1 iconst_0 iload_2 invokevirtual com/intel/crypto/SymmetricSignatureAlg/setKey([BSS)V aload 5 ; (0x5) aload_3 iconst_0 iload 4 ; (0x4) aload_0 iconst_0 invokevirtual com/intel/crypto/SymmetricSignatureAlg/signComplete([BSS[BS)S pop goto LABEL_033E astore 5 ; (0x5) sipush -4199 ; (0xFFFFEF99) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_033E: return .end method .end class ; class 22/29 .class super com/intel/otp/vasco/VDS_Data .super java/lang/Object .field private accode1 [B .field private accode2 [B .field private alea [B .field private appNum B .field private challenge [B .field private chs [B .field private dtfs [B .field private dynamicVector [B .field private mode B .field private nbDTF B .field private oldPin [B .field private param B .field private pin [B .field private sns [B .field private staticVector [B .field private timeMetaData [B .field private xfad [B .method : ()V .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V return .end method .method getAccode1 : ()[B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/accode1 [B areturn .end method .method getAccode2 : ()[B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/accode2 [B areturn .end method .method getAlea : ()[B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/alea [B areturn .end method .method getAppNum : ()B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/appNum B ireturn .end method .method getChallenge : ()[B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/challenge [B areturn .end method .method getChs : ()[B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/chs [B areturn .end method .method getDtfs : ()[B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/dtfs [B areturn .end method .method getDynamicVector : ()[B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/dynamicVector [B areturn .end method .method getMode : ()B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/mode B ireturn .end method .method getNbDTF : ()B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/nbDTF B ireturn .end method .method getOldPin : ()[B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/oldPin [B areturn .end method .method public getParam : ()B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/param B ireturn .end method .method getPin : ()[B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/pin [B areturn .end method .method getSns : ()[B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/sns [B areturn .end method .method getStaticVector : ()[B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/staticVector [B areturn .end method .method getTimeMetaData : ()[B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/timeMetaData [B areturn .end method .method getXfad : ()[B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/xfad [B areturn .end method .method isTimeSet : ()Z .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Data/timeMetaData [B invokestatic com/intel/otp/vasco/VDS_Utils/isNullOrEmpty([B)Z ifne LABEL_0428 iconst_1 goto LABEL_0429 LABEL_0428: iconst_0 LABEL_0429: ireturn .end method .method setAccode1 : ([B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_1 ifnull LABEL_044A aload_0 aload_1 arraylength newarray byte putfield VDS_Data/accode1 [B aload_1 iconst_0 aload_0 getfield VDS_Data/accode1 [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_044A: return .end method .method setAccode2 : ([B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_1 ifnull LABEL_046C aload_0 aload_1 arraylength newarray byte putfield VDS_Data/accode2 [B aload_1 iconst_0 aload_0 getfield VDS_Data/accode2 [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_046C: return .end method .method setAlea : ([B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_1 ifnull LABEL_048E aload_0 aload_1 arraylength newarray byte putfield VDS_Data/alea [B aload_1 iconst_0 aload_0 getfield VDS_Data/alea [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_048E: return .end method .method setAppNum : (B)V .limit stack 2 .limit locals 2 ; Bytecode disassembly: aload_0 iload_1 putfield VDS_Data/appNum B return .end method .method setChallenge : ([B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_1 ifnull LABEL_04C0 aload_0 aload_1 arraylength newarray byte putfield VDS_Data/challenge [B aload_1 iconst_0 aload_0 getfield VDS_Data/challenge [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_04C0: return .end method .method setChs : ([B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_1 ifnull LABEL_04E2 aload_0 aload_1 arraylength newarray byte putfield VDS_Data/chs [B aload_1 iconst_0 aload_0 getfield VDS_Data/chs [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_04E2: return .end method .method setDtfs : ([B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_1 ifnull LABEL_0504 aload_0 aload_1 arraylength newarray byte putfield VDS_Data/dtfs [B aload_1 iconst_0 aload_0 getfield VDS_Data/dtfs [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_0504: return .end method .method setDynamicVector : ([B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_1 ifnull LABEL_0526 aload_0 aload_1 arraylength newarray byte putfield VDS_Data/dynamicVector [B aload_1 iconst_0 aload_0 getfield VDS_Data/dynamicVector [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_0526: return .end method .method setMode : (B)V .limit stack 2 .limit locals 2 ; Bytecode disassembly: aload_0 iload_1 putfield VDS_Data/mode B return .end method .method setNbDTF : (B)V .limit stack 2 .limit locals 2 ; Bytecode disassembly: aload_0 iload_1 putfield VDS_Data/nbDTF B return .end method .method setOldPin : ([B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_1 ifnull LABEL_0568 aload_0 aload_1 arraylength newarray byte putfield VDS_Data/oldPin [B aload_1 iconst_0 aload_0 getfield VDS_Data/oldPin [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_0568: return .end method .method public setParam : (B)V .limit stack 2 .limit locals 2 ; Bytecode disassembly: aload_0 iload_1 putfield VDS_Data/param B return .end method .method setPin : ([B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_1 ifnull LABEL_059A aload_0 aload_1 arraylength newarray byte putfield VDS_Data/pin [B aload_1 iconst_0 aload_0 getfield VDS_Data/pin [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_059A: return .end method .method setSns : ([B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_1 ifnull LABEL_05BC aload_0 aload_1 arraylength newarray byte putfield VDS_Data/sns [B aload_1 iconst_0 aload_0 getfield VDS_Data/sns [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_05BC: return .end method .method setStaticVector : ([B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_1 ifnull LABEL_05DE aload_0 aload_1 arraylength newarray byte putfield VDS_Data/staticVector [B aload_1 iconst_0 aload_0 getfield VDS_Data/staticVector [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_05DE: return .end method .method setTimeMetaData : ([B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_1 ifnull LABEL_0600 aload_0 aload_1 arraylength newarray byte putfield VDS_Data/timeMetaData [B aload_1 iconst_0 aload_0 getfield VDS_Data/timeMetaData [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_0600: return .end method .method setXfad : ([B)V .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_1 ifnull LABEL_0622 aload_0 aload_1 arraylength newarray byte putfield VDS_Data/xfad [B aload_1 iconst_0 aload_0 getfield VDS_Data/xfad [B iconst_0 aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_0622: return .end method .method updateEncryptedToken : (Lcom/intel/otp/vasco/EncryptedToken;)V .limit stack 5 .limit locals 3 ; Bytecode disassembly: aload_1 invokeinterface com/intel/otp/vasco/EncryptedToken/reset()V 0 aload_1 aload_0 getfield VDS_Data/dynamicVector [B bipush 10 ; (0xa) bipush 16 ; (0x10) invokeinterface com/intel/otp/vasco/EncryptedToken/setSeed([BSS)V 3 bipush 104 ; (0x68) newarray byte astore_2 aload_0 getfield VDS_Data/staticVector [B iconst_0 aload_2 iconst_0 bipush 56 ; (0x38) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_0 getfield VDS_Data/dynamicVector [B iconst_0 aload_2 bipush 56 ; (0x38) bipush 10 ; (0xa) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_0 getfield VDS_Data/dynamicVector [B bipush 26 ; (0x1a) aload_2 bipush 66 ; (0x42) bipush 30 ; (0x1e) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_0 getfield VDS_Data/timeMetaData [B iconst_0 aload_2 bipush 96 ; (0x60) bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_1 aload_2 iconst_0 bipush 104 ; (0x68) invokeinterface com/intel/otp/vasco/EncryptedToken/setMetaData([BSS)V 3 return .end method .method updateTime : (I)V .limit stack 4 .limit locals 2 ; Bytecode disassembly: aload_0 bipush 8 ; (0x8) newarray byte putfield VDS_Data/timeMetaData [B iconst_0 new com/intel/util/TimeZone dup invokespecial com/intel/util/TimeZone/()V invokestatic com/intel/util/Calendar/getInstance(BLcom/intel/util/TimeZone;)Lcom/intel/util/Calendar; iload_1 aload_0 getfield VDS_Data/timeMetaData [B iconst_0 invokevirtual com/intel/util/Calendar/setTime(I[BI)V return .end method .end class ; class 23/29 .class super com/intel/otp/vasco/VDS_ErrorConstants .super java/lang/Object .field static final APP1_RSP_RHC_TOO_LONG_IN_SV S .field static final APP_DISABLED S .field static final CHALLENGE_CHARACTER_INVALID S .field static final CHALLENGE_MANDATORY S .field static final CRYPTO_ERROR S .field static final DVKEY_NULL S .field static final DV_NULL S .field static final ERROR_INCORRECT_PIN_DATA S .field static final ERROR_INVALID_ACTIVATION_CODE_PART1 S .field static final ERROR_INVALID_ACTIVATION_CODE_PART2 S .field static final ERROR_INVALID_CHANGE_DV_KEY S .field static final ERROR_INVALID_CHANGE_PIN S .field static final FAD_MGR_BASIC_ACTIVATION_INTEGRITY S .field static final FAD_MGR_ERROR_ALEA_CHS_TOO_LONG S .field static final FAD_MGR_ERROR_FAD_SERIAL_NUMBER_INTEGRITY S .field static final FAD_MGR_ERROR_HIGH_ACTIVATION_INTEGRITY S .field static final FAD_MGR_ERROR_SV_IN_FAD_INTEGRITY S .field static final FAD_MGR_ERROR_WRONG_FAD_FORMAT S .field static final FAD_MGR_ERROR_WRONG_FAD_LENGTH S .field static final FAD_MGR_ERROR_XFAD_ALEA_HEXA_FORMAT S .field static final INCORRECT_CHALLENGE_LENGTH S .field static final INCORRECT_PIN_LENGTH S .field static final INPUT_FUNCTION_ERROR S .field static final OTPS_END_ERROR S .field private static final OTPS_ERROR S .field static final OTPS_GETOTP_ERROR S .field static final OTPS_RECEIVE_ERROR S .field static final OTPS_SEND_ERROR S .field static final OTPS_START_ERROR S .field static final PIN_LOCK S .field static final PIN_MIN_LENGTH_OUT_OF_BOUNDS_IN_SV S .field static final REACTIVATION_LOCK S .field static final SUCCESS S .field static final SV_NULL S .field static final UNKOWN_FAD_LENGTH_FROM_SV S .field static final WEAK_PIN S .field static final WRONG_ACODE_LENGTH S .field static final WRONG_APP1_CHECK_DIGIT_IN_SV S .field static final WRONG_APP1_RHC_LNG_IN_SV S .field static final WRONG_APP1_RSP_LNG_IN_SV S .field static final WRONG_APP2_CHECK_DIGIT_IN_SV S .field static final WRONG_APP2_RHC_LNG_IN_SV S .field static final WRONG_APP2_RSP_LNG_IN_SV S .field static final WRONG_APP2_RSP_RHC_LENGTH_IN_SV S .field static final WRONG_APP2_TDS_FLAG_IN_SV S .field static final WRONG_APP2_TYPE_IN_SV S .field static final WRONG_APPLICATION_PENALTY_IN_SV S .field static final WRONG_DTF_NUMBER_IN_SV S .field static final WRONG_ERC_IN_SV S .field static final WRONG_FAD_LENGTH_IN_SV S .field static final WRONG_ITERATION_NUMBER_IN_SV S .field static final WRONG_ONLINE_BANKING_ACCESS_IN_SV S .field static final WRONG_ONLINE_BANKING_PROFILE_IN_SV S .field static final WRONG_ONLINE_SERVER_ACTIVATION_IN_SV S .field static final WRONG_ONLINE_SIGNATURE_ACCESS_IN_SV S .field static final WRONG_ONLINE_SIGNATURE_PROFILE_IN_SV S .field static final WRONG_PIN S .field static final WRONG_PIN_CHANGE_ALLOWED_IN_SV S .field static final WRONG_PIN_CHECK_IN_SV S .field static final WRONG_PIN_FATAL_VALUE_IN_SV S .field static final WRONG_PIN_TIMEOUT_VALUE_IN_SV S .field static final WRONG_PIN_WAIT_VALUE_IN_SV S .field static final WRONG_REACTIVATION_FATAL_IN_SV S .field static final WRONG_SV_LENGTH_IN_SV S .field static final WRONG_WAIT_TIME_IN_SV S .method : ()V .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V return .end method .method static : ()V .limit stack 1 .limit locals 0 ; Bytecode disassembly: sipush -4000 ; (0xFFFFF060) putstatic VDS_ErrorConstants/OTPS_ERROR S sipush -4017 ; (0xFFFFF04F) putstatic VDS_ErrorConstants/FAD_MGR_ERROR_ALEA_CHS_TOO_LONG S sipush -4019 ; (0xFFFFF04D) putstatic VDS_ErrorConstants/FAD_MGR_ERROR_XFAD_ALEA_HEXA_FORMAT S sipush -4020 ; (0xFFFFF04C) putstatic VDS_ErrorConstants/UNKOWN_FAD_LENGTH_FROM_SV S sipush -4022 ; (0xFFFFF04A) putstatic VDS_ErrorConstants/WRONG_SV_LENGTH_IN_SV S sipush -4023 ; (0xFFFFF049) putstatic VDS_ErrorConstants/WRONG_FAD_LENGTH_IN_SV S sipush -4024 ; (0xFFFFF048) putstatic VDS_ErrorConstants/WRONG_PIN_CHECK_IN_SV S sipush -4025 ; (0xFFFFF047) putstatic VDS_ErrorConstants/PIN_MIN_LENGTH_OUT_OF_BOUNDS_IN_SV S sipush -4026 ; (0xFFFFF046) putstatic VDS_ErrorConstants/WRONG_PIN_CHANGE_ALLOWED_IN_SV S sipush -4027 ; (0xFFFFF045) putstatic VDS_ErrorConstants/WRONG_PIN_FATAL_VALUE_IN_SV S sipush -4028 ; (0xFFFFF044) putstatic VDS_ErrorConstants/WRONG_PIN_WAIT_VALUE_IN_SV S sipush -4029 ; (0xFFFFF043) putstatic VDS_ErrorConstants/WRONG_PIN_TIMEOUT_VALUE_IN_SV S sipush -4030 ; (0xFFFFF042) putstatic VDS_ErrorConstants/WRONG_ITERATION_NUMBER_IN_SV S sipush -4031 ; (0xFFFFF041) putstatic VDS_ErrorConstants/WRONG_APPLICATION_PENALTY_IN_SV S sipush -4033 ; (0xFFFFF03F) putstatic VDS_ErrorConstants/WRONG_WAIT_TIME_IN_SV S sipush -4034 ; (0xFFFFF03E) putstatic VDS_ErrorConstants/SV_NULL S sipush -4040 ; (0xFFFFF038) putstatic VDS_ErrorConstants/WRONG_APP1_RSP_LNG_IN_SV S sipush -4043 ; (0xFFFFF035) putstatic VDS_ErrorConstants/APP1_RSP_RHC_TOO_LONG_IN_SV S sipush -4044 ; (0xFFFFF034) putstatic VDS_ErrorConstants/WRONG_APP1_CHECK_DIGIT_IN_SV S sipush -4045 ; (0xFFFFF033) putstatic VDS_ErrorConstants/WRONG_APP1_RHC_LNG_IN_SV S sipush -4050 ; (0xFFFFF02E) putstatic VDS_ErrorConstants/WRONG_APP2_RSP_LNG_IN_SV S sipush -4053 ; (0xFFFFF02B) putstatic VDS_ErrorConstants/WRONG_APP2_RSP_RHC_LENGTH_IN_SV S sipush -4054 ; (0xFFFFF02A) putstatic VDS_ErrorConstants/WRONG_APP2_CHECK_DIGIT_IN_SV S sipush -4055 ; (0xFFFFF029) putstatic VDS_ErrorConstants/WRONG_APP2_RHC_LNG_IN_SV S sipush -4056 ; (0xFFFFF028) putstatic VDS_ErrorConstants/WRONG_APP2_TDS_FLAG_IN_SV S sipush -4057 ; (0xFFFFF027) putstatic VDS_ErrorConstants/WRONG_DTF_NUMBER_IN_SV S sipush -4058 ; (0xFFFFF026) putstatic VDS_ErrorConstants/WRONG_APP2_TYPE_IN_SV S sipush -4059 ; (0xFFFFF025) putstatic VDS_ErrorConstants/WRONG_REACTIVATION_FATAL_IN_SV S sipush -4060 ; (0xFFFFF024) putstatic VDS_ErrorConstants/WRONG_ERC_IN_SV S sipush -4061 ; (0xFFFFF023) putstatic VDS_ErrorConstants/WRONG_ONLINE_BANKING_PROFILE_IN_SV S sipush -4062 ; (0xFFFFF022) putstatic VDS_ErrorConstants/WRONG_ONLINE_BANKING_ACCESS_IN_SV S sipush -4063 ; (0xFFFFF021) putstatic VDS_ErrorConstants/WRONG_ONLINE_SIGNATURE_PROFILE_IN_SV S sipush -4064 ; (0xFFFFF020) putstatic VDS_ErrorConstants/WRONG_ONLINE_SIGNATURE_ACCESS_IN_SV S sipush -4065 ; (0xFFFFF01F) putstatic VDS_ErrorConstants/WRONG_ONLINE_SERVER_ACTIVATION_IN_SV S sipush -4066 ; (0xFFFFF01E) putstatic VDS_ErrorConstants/APP_DISABLED S sipush -4199 ; (0xFFFFEF99) putstatic VDS_ErrorConstants/CRYPTO_ERROR S sipush -4090 ; (0xFFFFF006) putstatic VDS_ErrorConstants/FAD_MGR_ERROR_WRONG_FAD_LENGTH S sipush -4091 ; (0xFFFFF005) putstatic VDS_ErrorConstants/FAD_MGR_ERROR_FAD_SERIAL_NUMBER_INTEGRITY S sipush -4092 ; (0xFFFFF004) putstatic VDS_ErrorConstants/FAD_MGR_ERROR_SV_IN_FAD_INTEGRITY S sipush -4093 ; (0xFFFFF003) putstatic VDS_ErrorConstants/FAD_MGR_BASIC_ACTIVATION_INTEGRITY S sipush -4094 ; (0xFFFFF002) putstatic VDS_ErrorConstants/FAD_MGR_ERROR_HIGH_ACTIVATION_INTEGRITY S sipush -4095 ; (0xFFFFF001) putstatic VDS_ErrorConstants/FAD_MGR_ERROR_WRONG_FAD_FORMAT S sipush -4101 ; (0xFFFFEFFB) putstatic VDS_ErrorConstants/WRONG_PIN S sipush -4102 ; (0xFFFFEFFA) putstatic VDS_ErrorConstants/WEAK_PIN S sipush -4105 ; (0xFFFFEFF7) putstatic VDS_ErrorConstants/PIN_LOCK S sipush -4106 ; (0xFFFFEFF6) putstatic VDS_ErrorConstants/REACTIVATION_LOCK S sipush -4108 ; (0xFFFFEFF4) putstatic VDS_ErrorConstants/CHALLENGE_CHARACTER_INVALID S sipush -4109 ; (0xFFFFEFF3) putstatic VDS_ErrorConstants/INCORRECT_CHALLENGE_LENGTH S sipush -4110 ; (0xFFFFEFF2) putstatic VDS_ErrorConstants/CHALLENGE_MANDATORY S sipush -4114 ; (0xFFFFEFEE) putstatic VDS_ErrorConstants/INCORRECT_PIN_LENGTH S sipush -4001 ; (0xFFFFF05F) putstatic VDS_ErrorConstants/ERROR_INVALID_ACTIVATION_CODE_PART1 S sipush -4002 ; (0xFFFFF05E) putstatic VDS_ErrorConstants/ERROR_INVALID_ACTIVATION_CODE_PART2 S sipush -4004 ; (0xFFFFF05C) putstatic VDS_ErrorConstants/ERROR_INCORRECT_PIN_DATA S sipush -4005 ; (0xFFFFF05B) putstatic VDS_ErrorConstants/ERROR_INVALID_CHANGE_PIN S sipush -4006 ; (0xFFFFF05A) putstatic VDS_ErrorConstants/ERROR_INVALID_CHANGE_DV_KEY S sipush -4070 ; (0xFFFFF01A) putstatic VDS_ErrorConstants/INPUT_FUNCTION_ERROR S sipush -4071 ; (0xFFFFF019) putstatic VDS_ErrorConstants/OTPS_START_ERROR S sipush -4072 ; (0xFFFFF018) putstatic VDS_ErrorConstants/OTPS_SEND_ERROR S sipush -4073 ; (0xFFFFF017) putstatic VDS_ErrorConstants/OTPS_RECEIVE_ERROR S sipush -4074 ; (0xFFFFF016) putstatic VDS_ErrorConstants/OTPS_GETOTP_ERROR S sipush -4075 ; (0xFFFFF015) putstatic VDS_ErrorConstants/OTPS_END_ERROR S sipush -4035 ; (0xFFFFF03D) putstatic VDS_ErrorConstants/DV_NULL S sipush -4036 ; (0xFFFFF03C) putstatic VDS_ErrorConstants/DVKEY_NULL S sipush -4037 ; (0xFFFFF03B) putstatic VDS_ErrorConstants/WRONG_ACODE_LENGTH S return .end method .end class ; class 24/29 .class super com/intel/otp/vasco/VDS_Exception .super java/lang/Exception .field private errorCode S .method : (S)V .limit stack 2 .limit locals 2 ; Bytecode disassembly: aload_0 invokespecial java/lang/Exception/()V aload_0 iload_1 putfield VDS_Exception/errorCode S return .end method .method getErrorCode : ()S .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_Exception/errorCode S ireturn .end method .end class ; class 25/29 .class super com/intel/otp/vasco/VDS_FADManager .super java/lang/Object .method : ()V .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V return .end method .method private static calcFADKey : ([B[B)[B .limit stack 5 .limit locals 3 ; Bytecode disassembly: aload_0 ifnonnull LABEL_0164 iconst_0 goto LABEL_0166 LABEL_0164: aload_0 arraylength LABEL_0166: aload_1 ifnonnull LABEL_016E iconst_0 goto LABEL_0170 LABEL_016E: aload_1 arraylength LABEL_0170: iadd newarray byte astore_2 aload_0 ifnull LABEL_0182 aload_0 iconst_0 aload_2 iconst_0 aload_0 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_0182: aload_1 ifnull LABEL_019A aload_1 iconst_0 aload_2 aload_0 ifnonnull LABEL_0192 iconst_0 goto LABEL_0194 LABEL_0192: aload_0 arraylength LABEL_0194: aload_1 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_019A: aload_2 iconst_0 bipush 16 ; (0x10) invokestatic com/intel/otp/vasco/VDS_Crypto/vdsHash([BSS)[B areturn .end method .method private static checkInputData : (Lcom/intel/otp/vasco/VDS_Data;)I .limit stack 3 .limit locals 5 ; Bytecode disassembly: aload_0 invokestatic com/intel/otp/vasco/VDS_FADManager/getFADTypeLng(Lcom/intel/otp/vasco/VDS_Data;)I istore_1 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getAlea()[B astore_2 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getChs()[B astore_3 iconst_0 istore 4 ; (0x4) aload_2 ifnull LABEL_01CC iload 4 ; (0x4) aload_2 arraylength iadd i2s istore 4 ; (0x4) LABEL_01CC: aload_3 ifnull LABEL_01D8 iload 4 ; (0x4) aload_3 arraylength iadd i2s istore 4 ; (0x4) LABEL_01D8: iload 4 ; (0x4) sipush 512 ; (0x200) if_icmple LABEL_01EA sipush -4017 ; (0xFFFFF04F) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_01EA: iload_1 i2b iconst_0 invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z ifne LABEL_020B iload_1 i2b iconst_2 invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z ifne LABEL_020B new com/intel/otp/vasco/VDS_Exception dup sipush -4095 ; (0xFFFFF001) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_020B: iload_1 ireturn .end method .method private static decryptAD : ([BLcom/intel/otp/vasco/VDS_Data;I)V .limit stack 3 .limit locals 6 ; Bytecode disassembly: aload_1 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B astore_3 aload_0 aload_3 invokestatic com/intel/otp/vasco/VDS_FADManager/decryptXSV([B[B)V aload_1 aload_3 invokevirtual com/intel/otp/vasco/VDS_Data/setStaticVector([B)V aload_1 invokevirtual com/intel/otp/vasco/VDS_Data/getAccode1()[B astore 4 ; (0x4) aload_1 aload_0 aload 4 ; (0x4) invokestatic com/intel/otp/vasco/VDS_FADManager/decryptXACi([B[B)[B invokevirtual com/intel/otp/vasco/VDS_Data/setAccode1([B)V iload_2 i2b bipush 32 ; (0x20) invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z ifeq LABEL_0256 aload_1 invokevirtual com/intel/otp/vasco/VDS_Data/getAccode2()[B astore 5 ; (0x5) aload_1 aload_0 aload 5 ; (0x5) invokestatic com/intel/otp/vasco/VDS_FADManager/decryptXACi([B[B)[B invokevirtual com/intel/otp/vasco/VDS_Data/setAccode2([B)V LABEL_0256: return .end method .method private static decryptXACi : ([B[B)[B .limit stack 4 .limit locals 2 ; Bytecode disassembly: bipush 9 ; (0x9) aload_0 aload_1 aconst_null invokestatic com/intel/otp/vasco/VDS_Crypto/vdsDESCipher(B[B[B[B)[B areturn .end method .method private static decryptXSV : ([B[B)V .limit stack 5 .limit locals 4 ; Bytecode disassembly: bipush 16 ; (0x10) newarray byte astore_2 bipush 8 ; (0x8) newarray byte astore_3 aload_1 iconst_5 aload_3 iconst_0 bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V bipush 9 ; (0x9) aload_0 aload_3 aconst_null invokestatic com/intel/otp/vasco/VDS_Crypto/vdsDESCipher(B[B[B[B)[B astore_3 aload_3 iconst_0 aload_2 iconst_0 bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_1 bipush 13 ; (0xd) aload_3 iconst_0 bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V bipush 9 ; (0x9) aload_0 aload_3 aconst_null invokestatic com/intel/otp/vasco/VDS_Crypto/vdsDESCipher(B[B[B[B)[B astore_3 aload_3 iconst_0 aload_2 bipush 8 ; (0x8) bipush 8 ; (0x8) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_2 iconst_0 aload_1 iconst_5 aload_2 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V return .end method .method static getActivationData : (Lcom/intel/otp/vasco/VDS_Data;)V .limit stack 3 .limit locals 4 ; Bytecode disassembly: aload_0 ifnonnull LABEL_02D6 sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_02D6: aload_0 invokestatic com/intel/otp/vasco/VDS_FADManager/checkInputData(Lcom/intel/otp/vasco/VDS_Data;)I istore_1 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getAlea()[B astore_2 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getChs()[B astore_3 aload_0 iload_1 invokestatic com/intel/otp/vasco/VDS_FADManager/parse(Lcom/intel/otp/vasco/VDS_Data;I)V aload_3 ifnull LABEL_02F6 aload_3 arraylength ifne LABEL_0300 LABEL_02F6: aload_2 ifnull LABEL_030C aload_2 arraylength ifeq LABEL_030C LABEL_0300: aload_2 aload_3 invokestatic com/intel/otp/vasco/VDS_FADManager/calcFADKey([B[B)[B aload_0 iload_1 invokestatic com/intel/otp/vasco/VDS_FADManager/decryptAD([BLcom/intel/otp/vasco/VDS_Data;I)V LABEL_030C: aload_0 iload_1 invokestatic com/intel/otp/vasco/VDS_FADManager/verifyFAD(Lcom/intel/otp/vasco/VDS_Data;I)V return .end method .method private static getFADTypeLng : (Lcom/intel/otp/vasco/VDS_Data;)I .limit stack 3 .limit locals 3 ; Bytecode disassembly: aload_0 ifnonnull LABEL_0328 sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0328: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getXfad()[B arraylength iconst_2 imul istore_1 iload_1 sipush 146 ; (0x92) if_icmpne LABEL_0340 sipush 146 ; (0x92) istore_2 goto LABEL_037D LABEL_0340: iload_1 sipush 166 ; (0xA6) if_icmpne LABEL_0350 sipush 162 ; (0xA2) istore_2 goto LABEL_037D LABEL_0350: iload_1 sipush 142 ; (0x8E) if_icmpne LABEL_0360 sipush 144 ; (0x90) istore_2 goto LABEL_037D LABEL_0360: iload_1 sipush 158 ; (0x9E) if_icmpne LABEL_0370 sipush 160 ; (0xA0) istore_2 goto LABEL_037D LABEL_0370: new com/intel/otp/vasco/VDS_Exception dup sipush -4020 ; (0xFFFFF04C) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_037D: iinc 2 64 iload_2 sipush 255 ; (0xFF) iand istore_2 iload_2 ireturn .end method .method private static parse : (Lcom/intel/otp/vasco/VDS_Data;I)V .limit stack 5 .limit locals 6 ; Bytecode disassembly: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getXfad()[B astore_2 bipush 56 ; (0x38) newarray byte astore_3 aload_2 iconst_0 aload_3 iconst_0 bipush 56 ; (0x38) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_0 aload_3 invokevirtual com/intel/otp/vasco/VDS_Data/setStaticVector([B)V iload_1 i2b bipush 64 ; (0x40) invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z ifeq LABEL_03CE bipush 7 ; (0x7) newarray byte astore 4 ; (0x4) aload_2 bipush 56 ; (0x38) aload 4 ; (0x4) iconst_0 bipush 7 ; (0x7) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_0 aload 4 ; (0x4) invokevirtual com/intel/otp/vasco/VDS_Data/setSns([B)V LABEL_03CE: iload_1 i2b iconst_2 invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z ifeq LABEL_03E0 bipush 10 ; (0xa) istore 4 ; (0x4) goto LABEL_03E4 LABEL_03E0: bipush 8 ; (0x8) istore 4 ; (0x4) LABEL_03E4: iload 4 ; (0x4) i2s newarray byte astore 5 ; (0x5) aload_2 bipush 63 ; (0x3f) aload 5 ; (0x5) iconst_0 iload 4 ; (0x4) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iload 4 ; (0x4) bipush 10 ; (0xa) if_icmpne LABEL_040C aload_0 aload 5 ; (0x5) invokestatic com/intel/otp/vasco/VDS_Utils/from10DEC2to8Bytes([B)[B invokevirtual com/intel/otp/vasco/VDS_Data/setAccode1([B)V goto LABEL_0412 LABEL_040C: aload_0 aload 5 ; (0x5) invokevirtual com/intel/otp/vasco/VDS_Data/setAccode1([B)V LABEL_0412: iload_1 i2b bipush 32 ; (0x20) invokestatic com/intel/otp/vasco/VDS_Utils/compareMask(BB)Z ifeq LABEL_0448 aload_2 bipush 63 ; (0x3f) iload 4 ; (0x4) iadd aload 5 ; (0x5) iconst_0 iload 4 ; (0x4) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iload 4 ; (0x4) bipush 10 ; (0xa) if_icmpne LABEL_0442 aload_0 aload 5 ; (0x5) invokestatic com/intel/otp/vasco/VDS_Utils/from10DEC2to8Bytes([B)[B invokevirtual com/intel/otp/vasco/VDS_Data/setAccode2([B)V goto LABEL_0448 LABEL_0442: aload_0 aload 5 ; (0x5) invokevirtual com/intel/otp/vasco/VDS_Data/setAccode2([B)V LABEL_0448: return .end method .method private static verifyFAD : (Lcom/intel/otp/vasco/VDS_Data;I)V .limit stack 3 .limit locals 4 ; Bytecode disassembly: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B astore_2 aload_2 bipush 22 ; (0x16) baload sipush 255 ; (0xFF) iand istore_3 iload_3 bipush 64 ; (0x40) iand iload_1 bipush 64 ; (0x40) iand if_icmpeq LABEL_0479 new com/intel/otp/vasco/VDS_Exception dup sipush -4091 ; (0xFFFFF005) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0479: iload_3 bipush -128 ; (0x80) iand iload_1 bipush -128 ; (0x80) iand if_icmpeq LABEL_0491 new com/intel/otp/vasco/VDS_Exception dup sipush -4092 ; (0xFFFFF004) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0491: iload_3 bipush 16 ; (0x10) iand iload_1 bipush 16 ; (0x10) iand if_icmpeq LABEL_04A9 new com/intel/otp/vasco/VDS_Exception dup sipush -4093 ; (0xFFFFF003) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_04A9: iload_3 bipush 32 ; (0x20) iand iload_1 bipush 32 ; (0x20) iand if_icmpeq LABEL_04C1 new com/intel/otp/vasco/VDS_Exception dup sipush -4094 ; (0xFFFFF002) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_04C1: iload_3 iconst_0 iand iload_1 iconst_0 iand if_icmpeq LABEL_04D7 new com/intel/otp/vasco/VDS_Exception dup sipush -4095 ; (0xFFFFF001) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_04D7: iload_3 iload_1 if_icmpeq LABEL_04E9 new com/intel/otp/vasco/VDS_Exception dup sipush -4090 ; (0xFFFFF006) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_04E9: aload_2 invokestatic com/intel/otp/vasco/VDS_Utils/isSVCorrect([B)V return .end method .end class ; class 26/29 .class super com/intel/otp/vasco/VDS_PINException .super com/intel/otp/vasco/VDS_Exception .field private attempsLeft B .method : (SB)V .limit stack 2 .limit locals 3 ; Bytecode disassembly: aload_0 iload_1 invokespecial com/intel/otp/vasco/VDS_Exception/(S)V aload_0 iload_2 putfield VDS_PINException/attempsLeft B return .end method .method getAttemptsLeft : ()B .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 getfield VDS_PINException/attempsLeft B ireturn .end method .end class ; class 27/29 .class super com/intel/otp/vasco/VDS_PINManager .super java/lang/Object .method : ()V .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V return .end method .method static checkAndSetPINValue : ([B[B)[B .limit stack 5 .limit locals 4 ; Bytecode disassembly: aload_0 invokestatic com/intel/otp/vasco/VDS_Utils/isNullOrEmpty([B)Z ifne LABEL_010E iconst_1 goto LABEL_010F LABEL_010E: iconst_0 LABEL_010F: istore_2 iload_2 ifne LABEL_0126 aload_1 bipush 23 ; (0x17) baload bipush 15 ; (0xf) if_icmpne LABEL_0126 aload_1 invokestatic com/intel/otp/vasco/VDS_PINManager/getDefaultPin([B)[B astore_3 goto LABEL_0140 LABEL_0126: aload_0 ifnull LABEL_013C aload_0 arraylength newarray byte astore_3 aload_0 iconst_0 aload_3 iconst_0 aload_0 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V goto LABEL_0140 LABEL_013C: iconst_0 newarray byte astore_3 LABEL_0140: aload_3 aload_1 invokestatic com/intel/otp/vasco/VDS_PINManager/checkInputDataPIN([B[B)V aload_3 areturn .end method .method private static checkInputDataPIN : ([B[B)V .limit stack 3 .limit locals 3 ; Bytecode disassembly: aload_0 ifnonnull LABEL_0158 iconst_0 goto LABEL_015A LABEL_0158: aload_0 arraylength LABEL_015A: istore_2 iload_2 aload_1 bipush 24 ; (0x18) baload if_icmplt LABEL_016A iload_2 bipush 64 ; (0x40) if_icmple LABEL_0177 LABEL_016A: new com/intel/otp/vasco/VDS_Exception dup sipush -4114 ; (0xFFFFEFEE) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0177: return .end method .method static getDefaultPin : ([B)[B .limit stack 5 .limit locals 6 ; Bytecode disassembly: bipush 12 ; (0xc) newarray byte astore_1 bipush 12 ; (0xc) newarray byte astore_2 iconst_0 istore_3 LABEL_018C: iload_3 bipush 6 ; (0x6) if_icmpge LABEL_01D6 aload_0 iconst_5 iconst_2 iload_3 imul iadd i2s baload sipush 255 ; (0xFF) iand istore 4 ; (0x4) iconst_0 istore 5 ; (0x5) LABEL_01A4: iload 4 ; (0x4) bipush 16 ; (0x10) if_icmplt LABEL_01BA iinc 5 1 iload 4 ; (0x4) bipush 16 ; (0x10) isub istore 4 ; (0x4) goto LABEL_01A4 LABEL_01BA: aload_1 iconst_2 iload_3 imul iload 5 ; (0x5) i2b bastore aload_1 iconst_2 iload_3 imul iconst_1 iadd i2s iload 4 ; (0x4) i2b bastore iload_3 iconst_1 iadd i2s istore_3 goto LABEL_018C LABEL_01D6: iconst_0 istore_3 LABEL_01D8: iload_3 aload_1 arraylength if_icmpge LABEL_0206 aload_1 iload_3 baload bipush 9 ; (0x9) if_icmple LABEL_01F4 aload_2 iload_3 bipush 87 ; (0x57) aload_1 iload_3 baload iadd i2b bastore goto LABEL_01FE LABEL_01F4: aload_2 iload_3 bipush 48 ; (0x30) aload_1 iload_3 baload iadd i2b bastore LABEL_01FE: iload_3 iconst_1 iadd i2s istore_3 goto LABEL_01D8 LABEL_0206: aload_2 areturn .end method .method static setNewPIN : ([B[B[B[B[B)V .limit stack 5 .limit locals 5 ; Bytecode disassembly: aload_0 ifnull LABEL_021C aload_1 ifnull LABEL_021C aload_2 ifnonnull LABEL_0224 LABEL_021C: sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0224: aload_0 arraylength bipush 64 ; (0x40) if_icmpgt LABEL_023C aload_1 arraylength bipush 64 ; (0x40) if_icmpgt LABEL_023C aload_2 arraylength bipush 16 ; (0x10) if_icmpeq LABEL_0244 LABEL_023C: sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0244: aload_3 aload 4 ; (0x4) aload_0 aload_1 aload_2 invokestatic com/intel/otp/vasco/DP4Java/vdsSetNewPIN([B[B[B[B[B)V return .end method .method static validPIN : ([B[B[B[B)V .limit stack 4 .limit locals 7 ; Bytecode disassembly: aload_1 ifnonnull LABEL_0264 sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0264: aload_1 arraylength bipush 16 ; (0x10) if_icmple LABEL_0274 sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0274: aload_0 aload_2 invokestatic com/intel/otp/vasco/VDS_PINManager/checkInputDataPIN([B[B)V aload_2 aload_3 aload_0 aload_1 invokestatic com/intel/otp/vasco/DP4Java/vdsPINManagement([B[B[B[B)Z istore 4 ; (0x4) iload 4 ; (0x4) ifne LABEL_02DF aload_3 iconst_1 baload lookupswitch 1: LABEL_02B4 2: LABEL_029A default: LABEL_02CE LABEL_029A: aload_3 bipush 54 ; (0x36) baload istore 5 ; (0x5) new com/intel/otp/vasco/VDS_PINException dup sipush -4105 ; (0xFFFFEFF7) iload 5 ; (0x5) invokespecial com/intel/otp/vasco/VDS_PINException/(SB)V astore 6 ; (0x6) goto LABEL_02DC LABEL_02B4: aload_3 bipush 54 ; (0x36) baload istore 5 ; (0x5) new com/intel/otp/vasco/VDS_PINException dup sipush -4101 ; (0xFFFFEFFB) iload 5 ; (0x5) invokespecial com/intel/otp/vasco/VDS_PINException/(SB)V astore 6 ; (0x6) goto LABEL_02DC LABEL_02CE: new com/intel/otp/vasco/VDS_Exception dup sipush -4101 ; (0xFFFFEFFB) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V astore 6 ; (0x6) LABEL_02DC: aload 6 ; (0x6) athrow LABEL_02DF: return .end method .method static weakPINControl : (Lcom/intel/otp/vasco/VDS_Data;)V .limit stack 6 .limit locals 6 ; Bytecode disassembly: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getPin()[B ifnonnull LABEL_02FD new com/intel/otp/vasco/VDS_Exception dup sipush -4102 ; (0xFFFFEFFA) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_02FD: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getPin()[B arraylength istore_1 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getOldPin()[B ifnull LABEL_0339 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getOldPin()[B arraylength istore_2 iload_2 iload_1 if_icmpne LABEL_0339 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getOldPin()[B iconst_0 aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getPin()[B iconst_0 iload_2 invokestatic com/intel/langutil/ArrayUtils/compareByteArray([BI[BII)Z ifeq LABEL_0339 new com/intel/otp/vasco/VDS_Exception dup sipush -4102 ; (0xFFFFEFFA) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0339: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getPin()[B invokestatic com/intel/otp/vasco/VDS_Utils/isDec([B)Z istore_2 iload_1 iconst_1 isub i2s newarray short astore_3 iconst_0 istore 4 ; (0x4) LABEL_034D: iload 4 ; (0x4) iload_1 iconst_1 isub if_icmpge LABEL_03AC aload_3 iload 4 ; (0x4) aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getPin()[B iload 4 ; (0x4) baload aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getPin()[B iload 4 ; (0x4) iconst_1 iadd i2s baload isub i2s sastore iload_2 ifeq LABEL_03A2 aload_3 iload 4 ; (0x4) saload iconst_5 if_icmple LABEL_038C aload_3 iload 4 ; (0x4) aload_3 iload 4 ; (0x4) saload bipush 10 ; (0xa) isub i2s sastore goto LABEL_03A2 LABEL_038C: aload_3 iload 4 ; (0x4) saload bipush -5 ; (0xfb) if_icmpgt LABEL_03A2 aload_3 iload 4 ; (0x4) aload_3 iload 4 ; (0x4) saload bipush 10 ; (0xa) iadd i2s sastore LABEL_03A2: iload 4 ; (0x4) iconst_1 iadd i2s istore 4 ; (0x4) goto LABEL_034D LABEL_03AC: iconst_1 istore 4 ; (0x4) iconst_1 istore 5 ; (0x5) LABEL_03B2: iload 5 ; (0x5) iload_1 iconst_1 isub if_icmpge LABEL_03D8 aload_3 iload 5 ; (0x5) saload aload_3 iload 5 ; (0x5) iconst_1 isub i2s saload if_icmpeq LABEL_03CE iconst_0 istore 4 ; (0x4) goto LABEL_03D8 LABEL_03CE: iload 5 ; (0x5) iconst_1 iadd i2s istore 5 ; (0x5) goto LABEL_03B2 LABEL_03D8: iload 4 ; (0x4) ifeq LABEL_03EB new com/intel/otp/vasco/VDS_Exception dup sipush -4102 ; (0xFFFFEFFA) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_03EB: return .end method .end class ; class 28/29 .class super com/intel/otp/vasco/VDS_Utils .super java/lang/Object .const [o4028] = Long 10L ; 0xA .const [o4036] = Long 4294967295L ; 0xFFFFFFFF .method : ()V .limit stack 1 .limit locals 1 ; Bytecode disassembly: aload_0 invokespecial java/lang/Object/()V return .end method .method static asciiToHex : (B)B .limit stack 2 .limit locals 2 ; Bytecode disassembly: iload_0 bipush 48 ; (0x30) isub i2b istore_1 iload_1 bipush 9 ; (0x9) if_icmple LABEL_0174 iload_1 bipush 55 ; (0x37) isub i2b istore_1 LABEL_0174: iload_1 ireturn .end method .method static bytesToAscii : ([BI)[B .limit stack 4 .limit locals 4 ; Bytecode disassembly: iload_1 iconst_2 imul newarray byte astore_2 iconst_0 istore_3 LABEL_0186: iload_3 iload_1 if_icmpge LABEL_01AE aload_2 iconst_2 iload_3 imul iconst_1 iadd aload_0 iload_3 baload bipush 15 ; (0xf) iand i2b bastore aload_2 iconst_2 iload_3 imul aload_0 iload_3 baload iconst_4 ishr bipush 15 ; (0xf) iand i2b bastore iinc 3 1 goto LABEL_0186 LABEL_01AE: iconst_0 istore_3 LABEL_01B0: iload_3 iload_1 iconst_2 imul if_icmpge LABEL_01DC aload_2 iload_3 baload bipush 9 ; (0x9) if_icmple LABEL_01CC aload_2 iload_3 dup2 baload bipush 55 ; (0x37) iadd i2b bastore goto LABEL_01D5 LABEL_01CC: aload_2 iload_3 dup2 baload bipush 48 ; (0x30) iadd i2b bastore LABEL_01D5: iinc 3 1 goto LABEL_01B0 LABEL_01DC: aload_2 areturn .end method .method static compareMask : (BB)Z .limit stack 2 .limit locals 2 ; Bytecode disassembly: iload_0 iload_1 iand iload_1 if_icmpne LABEL_01F2 iconst_1 goto LABEL_01F3 LABEL_01F2: iconst_0 LABEL_01F3: ireturn .end method .method static formatChallenge : ([B)[B .limit stack 5 .limit locals 2 ; Bytecode disassembly: aload_0 ifnonnull LABEL_0202 aconst_null areturn LABEL_0202: aload_0 arraylength iconst_2 iadd newarray byte astore_1 aload_1 iconst_0 iconst_1 bastore aload_1 iconst_1 aload_0 arraylength i2b bastore aload_0 iconst_0 aload_1 iconst_2 aload_0 arraylength invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_1 areturn .end method .method static from10DEC2to8Bytes : ([B)[B .limit stack 6 .limit locals 9 ; Bytecode disassembly: aload_0 ifnonnull LABEL_0232 sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0232: aload_0 arraylength bipush 10 ; (0xa) if_icmpeq LABEL_0242 sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0242: bipush 34 ; (0x22) newarray int astore_1 bipush 10 ; (0xa) newarray int astore_2 iconst_0 istore_3 LABEL_024E: iload_3 bipush 10 ; (0xa) if_icmpge LABEL_02A0 aload_0 iload_3 baload sipush 255 ; (0xFF) iand istore 4 ; (0x4) iconst_0 istore 5 ; (0x5) LABEL_0260: iload 4 ; (0x4) iconst_1 if_icmplt LABEL_0292 iload 4 ; (0x4) bipush 16 ; (0x10) if_icmplt LABEL_0280 iload 5 ; (0x5) bipush 10 ; (0xa) iadd istore 5 ; (0x5) iload 4 ; (0x4) bipush 16 ; (0x10) isub istore 4 ; (0x4) goto LABEL_0260 LABEL_0280: iload 5 ; (0x5) iload 4 ; (0x4) iadd istore 5 ; (0x5) iload 4 ; (0x4) iload 4 ; (0x4) isub istore 4 ; (0x4) goto LABEL_0260 LABEL_0292: aload_2 iload_3 iload 5 ; (0x5) iastore iload_3 iconst_1 iadd i2s istore_3 goto LABEL_024E LABEL_02A0: iconst_4 newarray int dup iconst_0 aload_2 iconst_0 iaload sipush 1000 ; (0x3E8) imul aload_2 iconst_1 iaload bipush 10 ; (0xa) imul iadd aload_2 iconst_2 iaload bipush 10 ; (0xa) idiv iadd iastore dup iconst_1 aload_2 iconst_2 iaload bipush 10 ; (0xa) irem sipush 10000 ; (0x2710) imul aload_2 iconst_3 iaload bipush 100 ; (0x64) imul iadd aload_2 iconst_4 iaload iadd iastore dup iconst_2 aload_2 iconst_5 iaload sipush 1000 ; (0x3E8) imul aload_2 bipush 6 ; (0x6) iaload bipush 10 ; (0xa) imul iadd aload_2 bipush 7 ; (0x7) iaload bipush 10 ; (0xa) idiv iadd iastore dup iconst_3 aload_2 bipush 7 ; (0x7) iaload bipush 10 ; (0xa) irem sipush 10000 ; (0x2710) imul aload_2 bipush 8 ; (0x8) iaload bipush 100 ; (0x64) imul iadd aload_2 bipush 9 ; (0x9) iaload iadd iastore astore_3 bipush 17 ; (0x11) newarray int astore 4 ; (0x4) bipush 17 ; (0x11) newarray int astore 5 ; (0x5) iconst_0 istore 6 ; (0x6) LABEL_031B: aload_3 iconst_0 iaload iconst_1 if_icmplt LABEL_033E aload 4 ; (0x4) iload 6 ; (0x6) aload_3 iconst_0 iaload iconst_2 irem iastore aload_3 iconst_0 dup2 iaload iconst_2 idiv iastore iload 6 ; (0x6) iconst_1 iadd i2s istore 6 ; (0x6) goto LABEL_031B LABEL_033E: iconst_0 istore 6 ; (0x6) LABEL_0341: aload_3 iconst_1 iaload iconst_1 if_icmplt LABEL_0364 aload 5 ; (0x5) iload 6 ; (0x6) aload_3 iconst_1 iaload iconst_2 irem iastore aload_3 iconst_1 dup2 iaload iconst_2 idiv iastore iload 6 ; (0x6) iconst_1 iadd i2s istore 6 ; (0x6) goto LABEL_0341 LABEL_0364: iconst_0 istore 7 ; (0x7) LABEL_0367: iload 7 ; (0x7) aload 4 ; (0x4) arraylength if_icmpge LABEL_03FC aload_1 iload 7 ; (0x7) iconst_5 iadd i2s aload_1 iload 7 ; (0x7) iconst_5 iadd i2s iaload aload 4 ; (0x4) iload 7 ; (0x7) iaload iadd iastore aload_1 iload 7 ; (0x7) bipush 7 ; (0x7) iadd i2s aload_1 iload 7 ; (0x7) bipush 7 ; (0x7) iadd i2s iaload aload 4 ; (0x4) iload 7 ; (0x7) iaload iadd iastore aload_1 iload 7 ; (0x7) bipush 9 ; (0x9) iadd i2s aload_1 iload 7 ; (0x7) bipush 9 ; (0x9) iadd i2s iaload aload 4 ; (0x4) iload 7 ; (0x7) iaload iadd iastore aload_1 iload 7 ; (0x7) bipush 10 ; (0xa) iadd i2s aload_1 iload 7 ; (0x7) bipush 10 ; (0xa) iadd i2s iaload aload 4 ; (0x4) iload 7 ; (0x7) iaload iadd iastore aload_1 iload 7 ; (0x7) bipush 15 ; (0xf) iadd i2s aload_1 iload 7 ; (0x7) bipush 15 ; (0xf) iadd i2s iaload aload 4 ; (0x4) iload 7 ; (0x7) iaload iadd iastore aload_1 iload 7 ; (0x7) bipush 16 ; (0x10) iadd i2s aload_1 iload 7 ; (0x7) bipush 16 ; (0x10) iadd i2s iaload aload 4 ; (0x4) iload 7 ; (0x7) iaload iadd iastore iload 7 ; (0x7) iconst_1 iadd i2s istore 7 ; (0x7) goto LABEL_0367 LABEL_03FC: iconst_0 istore 7 ; (0x7) LABEL_03FF: iload 7 ; (0x7) aload 5 ; (0x5) arraylength if_icmpge LABEL_0420 aload_1 iload 7 ; (0x7) aload_1 iload 7 ; (0x7) iaload aload 5 ; (0x5) iload 7 ; (0x7) iaload iadd iastore iload 7 ; (0x7) iconst_1 iadd i2s istore 7 ; (0x7) goto LABEL_03FF LABEL_0420: iconst_0 istore 7 ; (0x7) LABEL_0423: iload 7 ; (0x7) aload_1 arraylength if_icmpge LABEL_045A LABEL_042A: aload_1 iload 7 ; (0x7) iaload iconst_1 if_icmple LABEL_0450 aload_1 iload 7 ; (0x7) aload_1 iload 7 ; (0x7) iaload iconst_2 isub iastore aload_1 iload 7 ; (0x7) iconst_1 iadd i2s aload_1 iload 7 ; (0x7) iconst_1 iadd i2s iaload iconst_1 iadd iastore goto LABEL_042A LABEL_0450: iload 7 ; (0x7) iconst_1 iadd i2s istore 7 ; (0x7) goto LABEL_0423 LABEL_045A: bipush 8 ; (0x8) newarray byte astore 7 ; (0x7) iconst_0 istore 8 ; (0x8) LABEL_0463: iload 8 ; (0x8) iconst_3 if_icmpge LABEL_04E8 aload 7 ; (0x7) iconst_3 iload 8 ; (0x8) isub i2s aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul i2s iaload aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul iconst_1 iadd i2s iaload iconst_2 imul iadd aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul iconst_2 iadd i2s iaload iconst_4 imul iadd aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul iconst_3 iadd i2s iaload bipush 8 ; (0x8) imul iadd aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul iconst_4 iadd i2s iaload bipush 16 ; (0x10) imul iadd aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul iconst_5 iadd i2s iaload bipush 32 ; (0x20) imul iadd aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul bipush 6 ; (0x6) iadd i2s iaload bipush 64 ; (0x40) imul iadd aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul bipush 7 ; (0x7) iadd i2s iaload sipush 128 ; (0x80) imul iadd i2b bastore iload 8 ; (0x8) iconst_1 iadd i2s istore 8 ; (0x8) goto LABEL_0463 LABEL_04E8: aload 7 ; (0x7) iconst_0 aload_1 bipush 24 ; (0x18) iaload aload_1 bipush 25 ; (0x19) iaload iconst_2 imul iadd aload_1 bipush 26 ; (0x1a) iaload iconst_4 imul iadd aload_1 bipush 27 ; (0x1b) iaload bipush 8 ; (0x8) imul iadd aload_1 bipush 28 ; (0x1c) iaload bipush 16 ; (0x10) imul iadd aload_1 bipush 29 ; (0x1d) iaload bipush 32 ; (0x20) imul iadd aload_1 bipush 30 ; (0x1e) iaload bipush 64 ; (0x40) imul iadd aload_1 bipush 31 ; (0x1f) iaload sipush 128 ; (0x80) imul iadd aload_1 bipush 32 ; (0x20) iaload sipush 256 ; (0x100) imul iadd aload_1 bipush 32 ; (0x20) iaload sipush 512 ; (0x200) imul iadd i2b bastore iconst_0 istore 8 ; (0x8) LABEL_053F: iload 8 ; (0x8) aload_1 arraylength if_icmpge LABEL_0556 aload_1 iload 8 ; (0x8) iconst_0 iastore iload 8 ; (0x8) iconst_1 iadd i2s istore 8 ; (0x8) goto LABEL_053F LABEL_0556: iconst_0 istore 8 ; (0x8) LABEL_0559: iload 8 ; (0x8) aload 4 ; (0x4) arraylength if_icmpge LABEL_0578 aload 4 ; (0x4) iload 8 ; (0x8) iconst_0 iastore aload 5 ; (0x5) iload 8 ; (0x8) iconst_0 iastore iload 8 ; (0x8) iconst_1 iadd i2s istore 8 ; (0x8) goto LABEL_0559 LABEL_0578: iconst_0 istore 6 ; (0x6) LABEL_057B: aload_3 iconst_2 iaload iconst_1 if_icmplt LABEL_059E aload 4 ; (0x4) iload 6 ; (0x6) aload_3 iconst_2 iaload iconst_2 irem iastore aload_3 iconst_2 dup2 iaload iconst_2 idiv iastore iload 6 ; (0x6) iconst_1 iadd i2s istore 6 ; (0x6) goto LABEL_057B LABEL_059E: iconst_0 istore 6 ; (0x6) LABEL_05A1: aload_3 iconst_3 iaload iconst_1 if_icmplt LABEL_05C4 aload 5 ; (0x5) iload 6 ; (0x6) aload_3 iconst_3 iaload iconst_2 irem iastore aload_3 iconst_3 dup2 iaload iconst_2 idiv iastore iload 6 ; (0x6) iconst_1 iadd i2s istore 6 ; (0x6) goto LABEL_05A1 LABEL_05C4: iconst_0 istore 8 ; (0x8) LABEL_05C7: iload 8 ; (0x8) aload 4 ; (0x4) arraylength if_icmpge LABEL_065C aload_1 iload 8 ; (0x8) iconst_5 iadd i2s aload_1 iload 8 ; (0x8) iconst_5 iadd i2s iaload aload 4 ; (0x4) iload 8 ; (0x8) iaload iadd iastore aload_1 iload 8 ; (0x8) bipush 7 ; (0x7) iadd i2s aload_1 iload 8 ; (0x8) bipush 7 ; (0x7) iadd i2s iaload aload 4 ; (0x4) iload 8 ; (0x8) iaload iadd iastore aload_1 iload 8 ; (0x8) bipush 9 ; (0x9) iadd i2s aload_1 iload 8 ; (0x8) bipush 9 ; (0x9) iadd i2s iaload aload 4 ; (0x4) iload 8 ; (0x8) iaload iadd iastore aload_1 iload 8 ; (0x8) bipush 10 ; (0xa) iadd i2s aload_1 iload 8 ; (0x8) bipush 10 ; (0xa) iadd i2s iaload aload 4 ; (0x4) iload 8 ; (0x8) iaload iadd iastore aload_1 iload 8 ; (0x8) bipush 15 ; (0xf) iadd i2s aload_1 iload 8 ; (0x8) bipush 15 ; (0xf) iadd i2s iaload aload 4 ; (0x4) iload 8 ; (0x8) iaload iadd iastore aload_1 iload 8 ; (0x8) bipush 16 ; (0x10) iadd i2s aload_1 iload 8 ; (0x8) bipush 16 ; (0x10) iadd i2s iaload aload 4 ; (0x4) iload 8 ; (0x8) iaload iadd iastore iload 8 ; (0x8) iconst_1 iadd i2s istore 8 ; (0x8) goto LABEL_05C7 LABEL_065C: iconst_0 istore 8 ; (0x8) LABEL_065F: iload 8 ; (0x8) aload 5 ; (0x5) arraylength if_icmpge LABEL_0680 aload_1 iload 8 ; (0x8) aload_1 iload 8 ; (0x8) iaload aload 5 ; (0x5) iload 8 ; (0x8) iaload iadd iastore iload 8 ; (0x8) iconst_1 iadd i2s istore 8 ; (0x8) goto LABEL_065F LABEL_0680: iconst_0 istore 8 ; (0x8) LABEL_0683: iload 8 ; (0x8) aload_1 arraylength if_icmpge LABEL_06BA LABEL_068A: aload_1 iload 8 ; (0x8) iaload iconst_1 if_icmple LABEL_06B0 aload_1 iload 8 ; (0x8) aload_1 iload 8 ; (0x8) iaload iconst_2 isub iastore aload_1 iload 8 ; (0x8) iconst_1 iadd i2s aload_1 iload 8 ; (0x8) iconst_1 iadd i2s iaload iconst_1 iadd iastore goto LABEL_068A LABEL_06B0: iload 8 ; (0x8) iconst_1 iadd i2s istore 8 ; (0x8) goto LABEL_0683 LABEL_06BA: iconst_0 istore 8 ; (0x8) LABEL_06BD: iload 8 ; (0x8) iconst_3 if_icmpge LABEL_0744 aload 7 ; (0x7) bipush 7 ; (0x7) iload 8 ; (0x8) isub i2s aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul i2s iaload aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul iconst_1 iadd i2s iaload iconst_2 imul iadd aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul iconst_2 iadd i2s iaload iconst_4 imul iadd aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul iconst_3 iadd i2s iaload bipush 8 ; (0x8) imul iadd aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul iconst_4 iadd i2s iaload bipush 16 ; (0x10) imul iadd aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul iconst_5 iadd i2s iaload bipush 32 ; (0x20) imul iadd aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul bipush 6 ; (0x6) iadd i2s iaload bipush 64 ; (0x40) imul iadd aload_1 iload 8 ; (0x8) bipush 8 ; (0x8) imul bipush 7 ; (0x7) iadd i2s iaload sipush 128 ; (0x80) imul iadd i2b bastore iload 8 ; (0x8) iconst_1 iadd i2s istore 8 ; (0x8) goto LABEL_06BD LABEL_0744: aload 7 ; (0x7) iconst_4 aload_1 bipush 24 ; (0x18) iaload aload_1 bipush 25 ; (0x19) iaload iconst_2 imul iadd aload_1 bipush 26 ; (0x1a) iaload iconst_4 imul iadd aload_1 bipush 27 ; (0x1b) iaload bipush 8 ; (0x8) imul iadd aload_1 bipush 28 ; (0x1c) iaload bipush 16 ; (0x10) imul iadd aload_1 bipush 29 ; (0x1d) iaload bipush 32 ; (0x20) imul iadd aload_1 bipush 30 ; (0x1e) iaload bipush 64 ; (0x40) imul iadd aload_1 bipush 31 ; (0x1f) iaload sipush 128 ; (0x80) imul iadd aload_1 bipush 32 ; (0x20) iaload sipush 256 ; (0x100) imul iadd aload_1 bipush 32 ; (0x20) iaload sipush 512 ; (0x200) imul iadd i2b bastore aload 7 ; (0x7) areturn .end method .method static from4BytesToDEC2 : ([B)[B .limit stack 6 .limit locals 8 ; Bytecode disassembly: bipush 10 ; (0xa) newarray byte astore_1 aload_0 ifnull LABEL_082C aload_0 arraylength iconst_4 if_icmpne LABEL_082C lconst_0 lstore_2 iconst_0 istore 4 ; (0x4) LABEL_07B9: iload 4 ; (0x4) iconst_4 if_icmpge LABEL_07E0 lload_2 aload_0 iload 4 ; (0x4) baload sipush 255 ; (0xFF) iand bipush 24 ; (0x18) bipush 8 ; (0x8) iload 4 ; (0x4) imul isub ishl i2l ldc [o4036] land ladd lstore_2 iinc 4 1 goto LABEL_07B9 LABEL_07E0: lload_2 lstore 4 ; (0x4) bipush 9 ; (0x9) istore 6 ; (0x6) LABEL_07E7: lload 4 ; (0x4) lconst_0 lcmp ifle LABEL_081A lload 4 ; (0x4) ldc [o4028] lrem l2i istore 7 ; (0x7) iload 7 ; (0x7) ifge LABEL_0801 iinc 7 10 LABEL_0801: lload 4 ; (0x4) ldc [o4028] ldiv lstore 4 ; (0x4) aload_1 iload 6 ; (0x6) iload 7 ; (0x7) bipush 48 ; (0x30) iadd i2b bastore iinc 6 -1 goto LABEL_07E7 LABEL_081A: iload 6 ; (0x6) iflt LABEL_082C aload_1 iload 6 ; (0x6) bipush 48 ; (0x30) bastore iinc 6 -1 goto LABEL_081A LABEL_082C: aload_1 areturn .end method .method static from8BytesToDEC2 : ([B)[B .limit stack 5 .limit locals 4 ; Bytecode disassembly: bipush 20 ; (0x14) newarray byte astore_1 aload_0 ifnull LABEL_087A aload_0 arraylength bipush 8 ; (0x8) if_icmple LABEL_087A iconst_4 newarray byte astore_2 aload_0 iconst_0 aload_2 iconst_0 iconst_4 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V iconst_4 newarray byte astore_3 aload_0 iconst_4 aload_3 iconst_0 iconst_4 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_2 invokestatic com/intel/otp/vasco/VDS_Utils/from4BytesToDEC2([B)[B iconst_0 aload_1 iconst_0 bipush 10 ; (0xa) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V aload_3 invokestatic com/intel/otp/vasco/VDS_Utils/from4BytesToDEC2([B)[B iconst_0 aload_1 bipush 10 ; (0xa) bipush 10 ; (0xa) invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_087A: aload_1 areturn .end method .method static getCodewordAppi : ([BS)[B .limit stack 5 .limit locals 3 ; Bytecode disassembly: aload_0 ifnonnull LABEL_0890 sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0890: aload_0 arraylength bipush 56 ; (0x38) if_icmpeq LABEL_08A0 sipush -4070 ; (0xFFFFF01A) invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_08A0: iconst_4 newarray byte astore_2 iload_1 iconst_1 if_icmpne LABEL_08B8 aload_0 bipush 31 ; (0x1f) aload_2 iconst_0 iconst_4 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V goto LABEL_08C2 LABEL_08B8: aload_0 bipush 40 ; (0x28) aload_2 iconst_0 iconst_4 invokestatic com/intel/langutil/ArrayUtils/copyByteArray([BI[BII)V LABEL_08C2: aload_2 areturn .end method .method static getShort : ([BS)S .limit stack 3 .limit locals 4 ; Bytecode disassembly: aload_0 iload_1 baload sipush 255 ; (0xFF) iand istore_2 aload_0 iload_1 iconst_1 iadd baload sipush 255 ; (0xFF) iand istore_3 iload_2 bipush 8 ; (0x8) ishl iload_3 ior i2s ireturn .end method .method static getTime : ([B)I .limit stack 3 .limit locals 3 ; Bytecode disassembly: new com/intel/util/TimeZone dup invokespecial com/intel/util/TimeZone/()V astore_1 iconst_0 aload_1 invokestatic com/intel/util/Calendar/getInstance(BLcom/intel/util/TimeZone;)Lcom/intel/util/Calendar; astore_2 aload_2 aload_0 iconst_0 invokevirtual com/intel/util/Calendar/getTime([BI)I ireturn .end method .method static isAppli1enabled : (Lcom/intel/otp/vasco/VDS_Data;)Z .limit stack 2 .limit locals 2 ; Bytecode disassembly: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B invokestatic com/intel/otp/vasco/VDS_Utils/isSVCorrect([B)V goto LABEL_0924 astore_1 aload_1 invokevirtual com/intel/otp/vasco/VDS_Exception/getErrorCode()S invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0924: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B bipush 38 ; (0x26) baload iconst_1 if_icmpne LABEL_0934 iconst_1 goto LABEL_0935 LABEL_0934: iconst_0 LABEL_0935: ireturn .end method .method static isAppli2enabled : (Lcom/intel/otp/vasco/VDS_Data;)Z .limit stack 2 .limit locals 2 ; Bytecode disassembly: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B invokestatic com/intel/otp/vasco/VDS_Utils/isSVCorrect([B)V goto LABEL_0954 astore_1 aload_1 invokevirtual com/intel/otp/vasco/VDS_Exception/getErrorCode()S invokestatic com/intel/otp/vasco/OTPException/throwIt(S)V LABEL_0954: aload_0 invokevirtual com/intel/otp/vasco/VDS_Data/getStaticVector()[B bipush 47 ; (0x2f) baload iconst_1 if_icmpne LABEL_0964 iconst_1 goto LABEL_0965 LABEL_0964: iconst_0 LABEL_0965: ireturn .end method .method static isDec : ([B)Z .limit stack 3 .limit locals 4 ; Bytecode disassembly: iconst_1 istore_1 aload_0 ifnonnull LABEL_097A iconst_0 istore_1 goto LABEL_09BE LABEL_097A: aload_0 arraylength istore_2 iload_2 ifne LABEL_0988 iconst_0 istore_1 goto LABEL_09BE LABEL_0988: iconst_0 istore_3 LABEL_098A: iload_3 iload_2 if_icmpge LABEL_09BE aload_0 iload_3 baload bipush 48 ; (0x30) if_icmpge LABEL_099C iconst_1 goto LABEL_099D LABEL_099C: iconst_0 LABEL_099D: aload_0 iload_3 baload bipush 57 ; (0x39) if_icmple LABEL_09AA iconst_1 goto LABEL_09AB LABEL_09AA: iconst_0 LABEL_09AB: ior ifeq LABEL_09B6 iconst_0 istore_1 goto LABEL_09BE LABEL_09B6: iload_3 iconst_1 iadd i2s istore_3 goto LABEL_098A LABEL_09BE: iload_1 ireturn .end method .method static isNullOrEmpty : ([B)Z .limit stack 2 .limit locals 3 ; Bytecode disassembly: aload_0 ifnonnull LABEL_09CE iconst_1 ireturn LABEL_09CE: iconst_1 istore_1 iconst_0 istore_2 LABEL_09D2: iload_2 aload_0 arraylength if_icmpge LABEL_09EC aload_0 iload_2 baload ifeq LABEL_09E4 iconst_0 istore_1 goto LABEL_09EC LABEL_09E4: iload_2 iconst_1 iadd i2s istore_2 goto LABEL_09D2 LABEL_09EC: iload_1 ireturn .end method .method static isSVCorrect : ([B)V .limit stack 4 .limit locals 18 ; Bytecode disassembly: iconst_0 istore_1 aload_0 invokestatic com/intel/otp/vasco/VDS_Utils/isNullOrEmpty([B)Z ifeq LABEL_0A0D new com/intel/otp/vasco/VDS_Exception dup sipush -4034 ; (0xFFFFF03E) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0A0D: aload_0 iconst_0 baload istore_1 iload_1 bipush 56 ; (0x38) if_icmpne LABEL_0A20 aload_0 arraylength bipush 56 ; (0x38) if_icmpeq LABEL_0A2D LABEL_0A20: new com/intel/otp/vasco/VDS_Exception dup sipush -4022 ; (0xFFFFF04A) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0A2D: aload_0 bipush 21 ; (0x15) baload sipush 255 ; (0xFF) iand istore_1 iload_1 bipush 27 ; (0x1b) if_icmpeq LABEL_0A40 iconst_1 goto LABEL_0A41 LABEL_0A40: iconst_0 LABEL_0A41: iload_1 bipush 47 ; (0x2f) if_icmpeq LABEL_0A4C iconst_1 goto LABEL_0A4D LABEL_0A4C: iconst_0 LABEL_0A4D: iand iload_1 sipush 139 ; (0x8B) if_icmpeq LABEL_0A5A iconst_1 goto LABEL_0A5B LABEL_0A5A: iconst_0 LABEL_0A5B: iand iload_1 sipush 159 ; (0x9F) if_icmpeq LABEL_0A68 iconst_1 goto LABEL_0A69 LABEL_0A68: iconst_0 LABEL_0A69: iand iload_1 bipush 34 ; (0x22) if_icmpeq LABEL_0A74 iconst_1 goto LABEL_0A75 LABEL_0A74: iconst_0 LABEL_0A75: iand iload_1 bipush 54 ; (0x36) if_icmpeq LABEL_0A80 iconst_1 goto LABEL_0A81 LABEL_0A80: iconst_0 LABEL_0A81: iand iload_1 sipush 146 ; (0x92) if_icmpeq LABEL_0A8E iconst_1 goto LABEL_0A8F LABEL_0A8E: iconst_0 LABEL_0A8F: iand iload_1 sipush 166 ; (0xA6) if_icmpeq LABEL_0A9C iconst_1 goto LABEL_0A9D LABEL_0A9C: iconst_0 LABEL_0A9D: iand iload_1 bipush 30 ; (0x1e) if_icmpeq LABEL_0AA8 iconst_1 goto LABEL_0AA9 LABEL_0AA8: iconst_0 LABEL_0AA9: iand iload_1 bipush 46 ; (0x2e) if_icmpeq LABEL_0AB4 iconst_1 goto LABEL_0AB5 LABEL_0AB4: iconst_0 LABEL_0AB5: iand iload_1 sipush 142 ; (0x8E) if_icmpeq LABEL_0AC2 iconst_1 goto LABEL_0AC3 LABEL_0AC2: iconst_0 LABEL_0AC3: iand iload_1 sipush 158 ; (0x9E) if_icmpeq LABEL_0AD0 iconst_1 goto LABEL_0AD1 LABEL_0AD0: iconst_0 LABEL_0AD1: iand ifeq LABEL_0AE3 new com/intel/otp/vasco/VDS_Exception dup sipush -4023 ; (0xFFFFF049) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0AE3: bipush 23 ; (0x17) istore_2 aload_0 iload_2 baload istore_1 iload_1 iconst_2 if_icmpeq LABEL_0B0D iload_1 ifeq LABEL_0B0D iload_1 iconst_1 if_icmpeq LABEL_0B0D iload_1 bipush 15 ; (0xf) if_icmpeq LABEL_0B0D new com/intel/otp/vasco/VDS_Exception dup sipush -4024 ; (0xFFFFF048) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0B0D: iinc 2 1 aload_0 iload_2 baload istore_1 iload_1 iconst_2 if_icmpge LABEL_0B1E iconst_1 goto LABEL_0B1F LABEL_0B1E: iconst_0 LABEL_0B1F: iload_1 bipush 16 ; (0x10) if_icmple LABEL_0B2A iconst_1 goto LABEL_0B2B LABEL_0B2A: iconst_0 LABEL_0B2B: ior ifeq LABEL_0B3D new com/intel/otp/vasco/VDS_Exception dup sipush -4025 ; (0xFFFFF047) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0B3D: iinc 2 1 aload_0 iload_2 baload istore_1 iinc 2 1 iload_1 ifge LABEL_0B50 iconst_1 goto LABEL_0B51 LABEL_0B50: iconst_0 LABEL_0B51: iload_1 iconst_2 if_icmple LABEL_0B5A iconst_1 goto LABEL_0B5B LABEL_0B5A: iconst_0 LABEL_0B5B: ior ifeq LABEL_0B6D new com/intel/otp/vasco/VDS_Exception dup sipush -4026 ; (0xFFFFF046) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0B6D: aload_0 iload_2 baload istore_1 iinc 2 1 iload_1 ifge LABEL_0B7C iconst_1 goto LABEL_0B7D LABEL_0B7C: iconst_0 LABEL_0B7D: iload_1 bipush 9 ; (0x9) if_icmple LABEL_0B88 iconst_1 goto LABEL_0B89 LABEL_0B88: iconst_0 LABEL_0B89: ior ifeq LABEL_0B9B new com/intel/otp/vasco/VDS_Exception dup sipush -4027 ; (0xFFFFF045) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0B9B: aload_0 iload_2 baload istore_1 iinc 2 1 iload_1 ifge LABEL_0BAA iconst_1 goto LABEL_0BAB LABEL_0BAA: iconst_0 LABEL_0BAB: iload_1 bipush 9 ; (0x9) if_icmple LABEL_0BB6 iconst_1 goto LABEL_0BB7 LABEL_0BB6: iconst_0 LABEL_0BB7: iload_1 bipush 15 ; (0xf) if_icmpeq LABEL_0BC2 iconst_1 goto LABEL_0BC3 LABEL_0BC2: iconst_0 LABEL_0BC3: iand ior ifeq LABEL_0BD5 new com/intel/otp/vasco/VDS_Exception dup sipush -4028 ; (0xFFFFF044) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0BD5: aload_0 iload_2 baload istore_1 iinc 2 1 iload_1 ifge LABEL_0BE4 iconst_1 goto LABEL_0BE5 LABEL_0BE4: iconst_0 LABEL_0BE5: iload_1 sipush 200 ; (0xC8) if_icmple LABEL_0BF2 iconst_1 goto LABEL_0BF3 LABEL_0BF2: iconst_0 LABEL_0BF3: ior ifeq LABEL_0C05 new com/intel/otp/vasco/VDS_Exception dup sipush -4029 ; (0xFFFFF043) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0C05: iinc 2 1 aload_0 iload_2 baload istore_1 iinc 2 1 iload_1 ifge LABEL_0C18 iconst_1 goto LABEL_0C19 LABEL_0C18: iconst_0 LABEL_0C19: iload_1 iconst_2 if_icmple LABEL_0C22 iconst_1 goto LABEL_0C23 LABEL_0C22: iconst_0 LABEL_0C23: ior ifeq LABEL_0C35 new com/intel/otp/vasco/VDS_Exception dup sipush -4031 ; (0xFFFFF041) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0C35: bipush 35 ; (0x23) istore_2 aload_0 iload_2 baload istore_1 iinc 2 1 aload_0 iload_2 baload bipush 15 ; (0xf) iand istore_3 iload_3 ifne LABEL_0C4D bipush 16 ; (0x10) istore_3 LABEL_0C4D: aload_0 bipush 39 ; (0x27) baload istore 4 ; (0x4) iload 4 ; (0x4) iconst_2 if_icmpne LABEL_0C8A bipush 20 ; (0x14) istore 5 ; (0x5) iload_3 tableswitch 1 LABEL_0C6E ; case 1 LABEL_0C74 ; case 2 LABEL_0C7A ; case 3 LABEL_0C80 ; case 4 default: LABEL_0C86 LABEL_0C6E: bipush 17 ; (0x11) istore_3 goto LABEL_0C8E LABEL_0C74: bipush 18 ; (0x12) istore_3 goto LABEL_0C8E LABEL_0C7A: bipush 19 ; (0x13) istore_3 goto LABEL_0C8E LABEL_0C80: bipush 20 ; (0x14) istore_3 goto LABEL_0C8E LABEL_0C86: goto LABEL_0C8E LABEL_0C8A: bipush 16 ; (0x10) istore 5 ; (0x5) LABEL_0C8E: iload_3 iconst_4 if_icmpge LABEL_0C98 iconst_1 goto LABEL_0C99 LABEL_0C98: iconst_0 LABEL_0C99: iload_3 iload 5 ; (0x5) if_icmple LABEL_0CA4 iconst_1 goto LABEL_0CA5 LABEL_0CA4: iconst_0 LABEL_0CA5: ior ifeq LABEL_0CB7 new com/intel/otp/vasco/VDS_Exception dup sipush -4040 ; (0xFFFFF038) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0CB7: aload_0 iload_2 baload sipush 240 ; (0xF0) iand iconst_4 ishr istore 6 ; (0x6) iload 6 ; (0x6) ifge LABEL_0CCC iconst_1 goto LABEL_0CCD LABEL_0CCC: iconst_0 LABEL_0CCD: iload 6 ; (0x6) bipush 10 ; (0xa) if_icmple LABEL_0CD8 iconst_1 goto LABEL_0CD9 LABEL_0CD8: iconst_0 LABEL_0CD9: ior ifeq LABEL_0CEB new com/intel/otp/vasco/VDS_Exception dup sipush -4045 ; (0xFFFFF033) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0CEB: iload 6 ; (0x6) iload_3 iadd iload 5 ; (0x5) if_icmple LABEL_0D01 new com/intel/otp/vasco/VDS_Exception dup sipush -4043 ; (0xFFFFF035) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0D01: iinc 2 1 aload_0 iload_2 baload istore_1 iload_1 iconst_1 if_icmpne LABEL_0D21 iload 6 ; (0x6) ifle LABEL_0D21 new com/intel/otp/vasco/VDS_Exception dup sipush -4044 ; (0xFFFFF034) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0D21: iinc 2 1 aload_0 iload_2 baload istore_1 iinc 2 1 aload_0 iload_2 baload istore_1 iinc 2 1 bipush 44 ; (0x2c) istore_2 aload_0 iload_2 baload istore_1 iinc 2 1 aload_0 iload_2 baload bipush 15 ; (0xf) iand istore 7 ; (0x7) iload 7 ; (0x7) ifne LABEL_0D4E bipush 16 ; (0x10) istore 7 ; (0x7) LABEL_0D4E: aload_0 bipush 49 ; (0x31) baload istore 8 ; (0x8) iload 8 ; (0x8) iconst_2 if_icmpne LABEL_0D94 bipush 20 ; (0x14) istore 9 ; (0x9) iload 7 ; (0x7) tableswitch 1 LABEL_0D70 ; case 1 LABEL_0D78 ; case 2 LABEL_0D80 ; case 3 LABEL_0D88 ; case 4 default: LABEL_0D90 LABEL_0D70: bipush 17 ; (0x11) istore 7 ; (0x7) goto LABEL_0D98 LABEL_0D78: bipush 18 ; (0x12) istore 7 ; (0x7) goto LABEL_0D98 LABEL_0D80: bipush 19 ; (0x13) istore 7 ; (0x7) goto LABEL_0D98 LABEL_0D88: bipush 20 ; (0x14) istore 7 ; (0x7) goto LABEL_0D98 LABEL_0D90: goto LABEL_0D98 LABEL_0D94: bipush 16 ; (0x10) istore 9 ; (0x9) LABEL_0D98: iload 7 ; (0x7) iconst_4 if_icmpge LABEL_0DA2 iconst_1 goto LABEL_0DA3 LABEL_0DA2: iconst_0 LABEL_0DA3: iload 7 ; (0x7) iload 9 ; (0x9) if_icmple LABEL_0DAE iconst_1 goto LABEL_0DAF LABEL_0DAE: iconst_0 LABEL_0DAF: ior ifeq LABEL_0DC1 new com/intel/otp/vasco/VDS_Exception dup sipush -4050 ; (0xFFFFF02E) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0DC1: aload_0 iload_2 baload sipush 240 ; (0xF0) iand iconst_4 ishr istore 10 ; (0xa) iload 10 ; (0xa) ifge LABEL_0DD6 iconst_1 goto LABEL_0DD7 LABEL_0DD6: iconst_0 LABEL_0DD7: iload 10 ; (0xa) bipush 10 ; (0xa) if_icmple LABEL_0DE2 iconst_1 goto LABEL_0DE3 LABEL_0DE2: iconst_0 LABEL_0DE3: ior ifeq LABEL_0DF5 new com/intel/otp/vasco/VDS_Exception dup sipush -4055 ; (0xFFFFF029) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0DF5: iload 10 ; (0xa) iload 7 ; (0x7) iadd iload 9 ; (0x9) if_icmple LABEL_0E0D new com/intel/otp/vasco/VDS_Exception dup sipush -4053 ; (0xFFFFF02B) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0E0D: iinc 2 1 aload_0 iload_2 baload istore_1 iload_1 iconst_1 if_icmpne LABEL_0E2D iload 10 ; (0xa) ifle LABEL_0E2D new com/intel/otp/vasco/VDS_Exception dup sipush -4054 ; (0xFFFFF02A) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0E2D: iinc 2 1 aload_0 iload_2 baload istore_1 iload_1 iflt LABEL_0E3E iload_1 iconst_3 if_icmple LABEL_0E4B LABEL_0E3E: new com/intel/otp/vasco/VDS_Exception dup sipush -4056 ; (0xFFFFF028) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0E4B: iinc 2 1 aload_0 iload_2 baload istore_1 iload_1 iflt LABEL_0E5C iload_1 bipush 8 ; (0x8) if_icmple LABEL_0E69 LABEL_0E5C: new com/intel/otp/vasco/VDS_Exception dup sipush -4057 ; (0xFFFFF027) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0E69: iinc 2 1 aload_0 iload_2 baload istore_1 iload_1 iflt LABEL_0E7A iload_1 iconst_2 if_icmple LABEL_0E87 LABEL_0E7A: new com/intel/otp/vasco/VDS_Exception dup sipush -4058 ; (0xFFFFF026) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0E87: iinc 2 1 aload_0 iload_2 baload istore_1 iinc 2 1 iload_1 bipush 15 ; (0xf) iand istore 11 ; (0xb) iload 11 ; (0xb) iflt LABEL_0EA4 iload 11 ; (0xb) bipush 9 ; (0x9) if_icmple LABEL_0EB9 LABEL_0EA4: iload 11 ; (0xb) bipush 15 ; (0xf) if_icmpeq LABEL_0EB9 new com/intel/otp/vasco/VDS_Exception dup sipush -4059 ; (0xFFFFF025) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0EB9: iload_1 iconst_4 ishr istore 12 ; (0xc) iload 12 ; (0xc) iflt LABEL_0ECA iload 12 ; (0xc) iconst_1 if_icmple LABEL_0ED7 LABEL_0ECA: new com/intel/otp/vasco/VDS_Exception dup sipush -4060 ; (0xFFFFF024) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0ED7: aload_0 iload_2 baload istore_1 iinc 2 1 iload_1 bipush 15 ; (0xf) iand istore 13 ; (0xd) iload 13 ; (0xd) iflt LABEL_0EF2 iload 13 ; (0xd) bipush 7 ; (0x7) if_icmple LABEL_0EFF LABEL_0EF2: new com/intel/otp/vasco/VDS_Exception dup sipush -4061 ; (0xFFFFF023) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0EFF: iload_1 iconst_4 ishr istore 14 ; (0xe) iload 14 ; (0xe) iflt LABEL_0F10 iload 14 ; (0xe) iconst_3 if_icmple LABEL_0F1D LABEL_0F10: new com/intel/otp/vasco/VDS_Exception dup sipush -4062 ; (0xFFFFF022) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0F1D: aload_0 iload_2 baload istore_1 iinc 2 1 iload_1 bipush 15 ; (0xf) iand istore 15 ; (0xf) iload 15 ; (0xf) iflt LABEL_0F38 iload 15 ; (0xf) bipush 7 ; (0x7) if_icmple LABEL_0F45 LABEL_0F38: new com/intel/otp/vasco/VDS_Exception dup sipush -4063 ; (0xFFFFF021) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0F45: iload_1 iconst_4 ishr istore 16 ; (0x10) iload 16 ; (0x10) iflt LABEL_0F56 iload 16 ; (0x10) iconst_3 if_icmple LABEL_0F63 LABEL_0F56: new com/intel/otp/vasco/VDS_Exception dup sipush -4064 ; (0xFFFFF020) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0F63: aload_0 iload_2 baload istore_1 iinc 2 1 iload_1 bipush 15 ; (0xf) iand istore 17 ; (0x11) iload 17 ; (0x11) iflt LABEL_0F7C iload 17 ; (0x11) iconst_1 if_icmple LABEL_0F89 LABEL_0F7C: new com/intel/otp/vasco/VDS_Exception dup sipush -4065 ; (0xFFFFF01F) invokespecial com/intel/otp/vasco/VDS_Exception/(S)V athrow LABEL_0F89: return .end method .method static setShort : ([BSS)V .limit stack 4 .limit locals 3 ; Bytecode disassembly: aload_0 iload_1 iload_2 bipush 8 ; (0x8) ishr i2b bastore aload_0 iload_1 iconst_1 iadd iload_2 i2b bastore return .end method .end class