---
Fuzzer filename: '/src/ibmswtpm2/src/fuzzer.cc'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/ibmswtpm2/src/fuzzer.cc'
      linkageType:     externalLinkage
      functionLinenumber: 26
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          112
      EdgeCount:       21
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_Manufacture
        - TPM_TearDown
        - TpmServer
        - _plat__NVDisable
        - _plat__NVEnable
        - _rpc__Signal_NvOn
        - _rpc__Signal_PowerOn
        - close
        - dprintf
        - exit
        - perror
        - pipe
        - write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzzer.cc:33,7'
          Dst:             pipe
        - Src:             'fuzzer.cc:34,5'
          Dst:             perror
        - Src:             'fuzzer.cc:35,5'
          Dst:             exit
        - Src:             'fuzzer.cc:38,7'
          Dst:             write
        - Src:             'fuzzer.cc:39,5'
          Dst:             perror
        - Src:             'fuzzer.cc:40,5'
          Dst:             exit
        - Src:             'fuzzer.cc:43,3'
          Dst:             close
        - Src:             'fuzzer.cc:45,3'
          Dst:             _plat__NVEnable
        - Src:             'fuzzer.cc:46,7'
          Dst:             TPM_Manufacture
        - Src:             'fuzzer.cc:47,5'
          Dst:             dprintf
        - Src:             'fuzzer.cc:48,5'
          Dst:             exit
        - Src:             'fuzzer.cc:51,7'
          Dst:             TPM_Manufacture
        - Src:             'fuzzer.cc:52,5'
          Dst:             dprintf
        - Src:             'fuzzer.cc:53,5'
          Dst:             exit
        - Src:             'fuzzer.cc:56,3'
          Dst:             TPM_TearDown
        - Src:             'fuzzer.cc:57,7'
          Dst:             TPM_Manufacture
        - Src:             'fuzzer.cc:58,5'
          Dst:             dprintf
        - Src:             'fuzzer.cc:59,5'
          Dst:             exit
        - Src:             'fuzzer.cc:62,3'
          Dst:             _plat__NVDisable
        - Src:             'fuzzer.cc:64,3'
          Dst:             _rpc__Signal_PowerOn
        - Src:             'fuzzer.cc:65,3'
          Dst:             _rpc__Signal_NvOn
        - Src:             'fuzzer.cc:69,3'
          Dst:             _rpc__Signal_PowerOn
        - Src:             'fuzzer.cc:71,3'
          Dst:             _rpc__Signal_NvOn
        - Src:             'fuzzer.cc:73,3'
          Dst:             TpmServer
        - Src:             'fuzzer.cc:75,3'
          Dst:             close
    - functionName:    pipe
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    perror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    exit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    close
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    AlgorithmGetImplementedVector
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmCap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          41
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - MemorySet
        - SetBit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'AlgorithmCap.c:237,5'
          Dst:             MemorySet
        - Src:             'AlgorithmCap.c:241,2'
          Dst:             SetBit
    - functionName:    AlgorithmCapGetImplemented
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmCap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          113
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LoadEccPoint
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 594
      functionLinenumberEnd: 597
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy2B
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'AlgorithmTests.c:595,5'
          Dst:             MemoryCopy2B
        - Src:             'AlgorithmTests.c:596,5'
          Dst:             MemoryCopy2B
    - functionName:    LoadEccParameter
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 586
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy2B
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'AlgorithmTests.c:585,5'
          Dst:             MemoryCopy2B
    - functionName:    TestEccSignAndVerify
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 631
      functionLinenumberEnd: 689
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          212
      EdgeCount:       46
      CyclomaticComplexity: 9
      functionsReached:
        - ClearBit
        - CryptEccSign
        - CryptEccValidateSignature
        - LoadEccParameter
        - LoadEccPoint
        - MemoryCopy2B
        - TestBit
        - TestHash
        - TpmFail
        - _plat__IsCanceled
      functionUses:    1
      BranchProfiles:
        - Branch String:   'AlgorithmTests.c:642,5'
          Branch Sides:    []
      Callsites:
        - Src:             'AlgorithmTests.c:639,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:639,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:640,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:640,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:645,6'
          Dst:             LoadEccParameter
        - Src:             'AlgorithmTests.c:646,6'
          Dst:             LoadEccParameter
        - Src:             'AlgorithmTests.c:649,6'
          Dst:             LoadEccParameter
        - Src:             'AlgorithmTests.c:651,6'
          Dst:             LoadEccParameter
        - Src:             'AlgorithmTests.c:658,6'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:661,5'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:661,5'
          Dst:             TestHash
        - Src:             'AlgorithmTests.c:665,5'
          Dst:             MemoryCopy2B
        - Src:             'AlgorithmTests.c:667,5'
          Dst:             LoadEccPoint
        - Src:             'AlgorithmTests.c:670,26'
          Dst:             CryptEccValidateSignature
        - Src:             'AlgorithmTests.c:673,6'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:675,5'
          Dst:             _plat__IsCanceled
        - Src:             'AlgorithmTests.c:677,26'
          Dst:             CryptEccSign
        - Src:             'AlgorithmTests.c:680,2'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:682,5'
          Dst:             _plat__IsCanceled
        - Src:             'AlgorithmTests.c:683,26'
          Dst:             CryptEccValidateSignature
        - Src:             'AlgorithmTests.c:685,2'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:687,5'
          Dst:             _plat__IsCanceled
    - functionName:    TestHash
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          136
      EdgeCount:       19
      CyclomaticComplexity: 2
      functionsReached:
        - ClearBit
        - CryptDigestUpdate
        - CryptHashGetBlockSize
        - CryptHashGetDigestSize
        - CryptHmacEnd
        - CryptHmacStart
        - TpmFail
        - memcmp
      functionUses:    4
      BranchProfiles:
        - Branch String:   'AlgorithmTests.c:111,5'
          Branch Sides:    []
      Callsites:
        - Src:             'AlgorithmTests.c:110,5'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:139,6'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:142,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:142,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:144,18'
          Dst:             CryptHashGetDigestSize
        - Src:             'AlgorithmTests.c:145,5'
          Dst:             CryptHmacStart
        - Src:             'AlgorithmTests.c:147,45'
          Dst:             CryptHashGetBlockSize
        - Src:             'AlgorithmTests.c:147,5'
          Dst:             CryptDigestUpdate
        - Src:             'AlgorithmTests.c:150,5'
          Dst:             CryptHmacEnd
        - Src:             'AlgorithmTests.c:152,12'
          Dst:             memcmp
        - Src:             'AlgorithmTests.c:153,2'
          Dst:             TpmFail
    - functionName:    memcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TestECDH
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 605
      functionLinenumberEnd: 623
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          71
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - ClearBit
        - CryptEccPointMultiply
        - LoadEccParameter
        - LoadEccPoint
        - MemoryEqual2B
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'AlgorithmTests.c:612,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:612,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:613,5'
          Dst:             LoadEccParameter
        - Src:             'AlgorithmTests.c:614,5'
          Dst:             LoadEccPoint
        - Src:             'AlgorithmTests.c:615,26'
          Dst:             CryptEccPointMultiply
        - Src:             'AlgorithmTests.c:617,2'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:619,9'
          Dst:             MemoryEqual2B
        - Src:             'AlgorithmTests.c:620,12'
          Dst:             MemoryEqual2B
        - Src:             'AlgorithmTests.c:621,2'
          Dst:             TpmFail
    - functionName:    RsaKeyInitialize
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 337
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy2B
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'AlgorithmTests.c:338,5'
          Dst:             MemoryCopy2B
        - Src:             'AlgorithmTests.c:340,5'
          Dst:             MemoryCopy2B
    - functionName:    TestRsaSignAndVerify
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 464
      functionLinenumberEnd: 529
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          162
      EdgeCount:       35
      CyclomaticComplexity: 8
      functionsReached:
        - ClearBit
        - CryptRsaSign
        - CryptRsaValidateSignature
        - MemoryCopy2B
        - MemoryEqual
        - RsaKeyInitialize
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'AlgorithmTests.c:479,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:479,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:480,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:480,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:481,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:481,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:482,5'
          Dst:             RsaKeyInitialize
        - Src:             'AlgorithmTests.c:500,26'
          Dst:             CryptRsaSign
        - Src:             'AlgorithmTests.c:501,2'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:507,13'
          Dst:             MemoryEqual
        - Src:             'AlgorithmTests.c:510,3'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:514,26'
          Dst:             CryptRsaValidateSignature
        - Src:             'AlgorithmTests.c:516,2'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:522,6'
          Dst:             MemoryCopy2B
        - Src:             'AlgorithmTests.c:524,27'
          Dst:             CryptRsaValidateSignature
        - Src:             'AlgorithmTests.c:526,3'
          Dst:             TpmFail
    - functionName:    TestRsaEncryptDecrypt
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 354
      functionLinenumberEnd: 454
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         45
      ICount:          251
      EdgeCount:       52
      CyclomaticComplexity: 9
      functionsReached:
        - ClearBit
        - CryptRsaDecrypt
        - CryptRsaEncrypt
        - MemoryCopy2B
        - MemoryEqual
        - RsaKeyInitialize
        - TestBit
        - TestHash
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'AlgorithmTests.c:366,5'
          Dst:             RsaKeyInitialize
        - Src:             'AlgorithmTests.c:369,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:369,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:370,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:370,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:376,27'
          Dst:             CryptRsaEncrypt
        - Src:             'AlgorithmTests.c:378,3'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:380,10'
          Dst:             MemoryEqual
        - Src:             'AlgorithmTests.c:381,3'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:383,6'
          Dst:             MemoryCopy2B
        - Src:             'AlgorithmTests.c:384,27'
          Dst:             CryptRsaDecrypt
        - Src:             'AlgorithmTests.c:386,3'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:388,10'
          Dst:             MemoryEqual
        - Src:             'AlgorithmTests.c:390,3'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:408,7'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:408,7'
          Dst:             TestHash
        - Src:             'AlgorithmTests.c:418,3'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:424,27'
          Dst:             CryptRsaEncrypt
        - Src:             'AlgorithmTests.c:427,3'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:429,6'
          Dst:             MemoryCopy2B
        - Src:             'AlgorithmTests.c:431,27'
          Dst:             CryptRsaDecrypt
        - Src:             'AlgorithmTests.c:433,3'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:437,13'
          Dst:             MemoryEqual
        - Src:             'AlgorithmTests.c:439,3'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:442,6'
          Dst:             MemoryCopy2B
        - Src:             'AlgorithmTests.c:444,27'
          Dst:             CryptRsaDecrypt
        - Src:             'AlgorithmTests.c:446,3'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:449,13'
          Dst:             MemoryEqual
        - Src:             'AlgorithmTests.c:451,3'
          Dst:             TpmFail
    - functionName:    MakeIv
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          88
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    AllModesAreDone
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 237
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          81
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - TestBit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'AlgorithmTests.c:234,5'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:234,5'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:234,5'
          Dst:             TestBit
    - functionName:    AllSymsAreDone
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          85
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - TestBit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'AlgorithmTests.c:223,14'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:223,14'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:223,14'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:223,43'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:223,43'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:223,43'
          Dst:             TestBit
    - functionName:    TestSymmetricAlgorithm
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          116
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - CryptSymmetricDecrypt
        - CryptSymmetricEncrypt
        - MakeIv
        - MemoryEqual
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'AlgorithmTests.c:196,25'
          Dst:             MakeIv
        - Src:             'AlgorithmTests.c:198,5'
          Dst:             CryptSymmetricEncrypt
        - Src:             'AlgorithmTests.c:201,9'
          Dst:             MemoryEqual
        - Src:             'AlgorithmTests.c:203,2'
          Dst:             TpmFail
        - Src:             'AlgorithmTests.c:206,5'
          Dst:             MakeIv
        - Src:             'AlgorithmTests.c:207,5'
          Dst:             CryptSymmetricDecrypt
        - Src:             'AlgorithmTests.c:211,9'
          Dst:             MemoryEqual
        - Src:             'AlgorithmTests.c:212,2'
          Dst:             TpmFail
    - functionName:    TestEcc
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 717
      functionLinenumberEnd: 745
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          99
      EdgeCount:       24
      CyclomaticComplexity: 4
      functionsReached:
        - TestBit
        - TestECDH
        - TestEccSignAndVerify
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'AlgorithmTests.c:720,5'
          Branch Sides:    []
      Callsites:
        - Src:             'AlgorithmTests.c:729,14'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:730,10'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:731,10'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:733,16'
          Dst:             TestECDH
        - Src:             'AlgorithmTests.c:739,15'
          Dst:             TestEccSignAndVerify
        - Src:             'AlgorithmTests.c:742,6'
          Dst:             TpmFail
    - functionName:    TestKDFa
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 696
      functionLinenumberEnd: 709
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          53
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - ClearBit
        - CryptKDFa
        - MemoryEqual
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'AlgorithmTests.c:700,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:700,5'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:701,21'
          Dst:             CryptKDFa
        - Src:             'AlgorithmTests.c:706,9'
          Dst:             MemoryEqual
        - Src:             'AlgorithmTests.c:708,2'
          Dst:             TpmFail
    - functionName:    TestRsa
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 539
      functionLinenumberEnd: 572
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          107
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - TestBit
        - TestRsaEncryptDecrypt
        - TestRsaSignAndVerify
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'AlgorithmTests.c:542,5'
          Branch Sides:    []
      Callsites:
        - Src:             'AlgorithmTests.c:551,14'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:552,10'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:553,10'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:554,10'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:557,12'
          Dst:             TestRsaEncryptDecrypt
        - Src:             'AlgorithmTests.c:563,15'
          Dst:             TestRsaEncryptDecrypt
        - Src:             'AlgorithmTests.c:567,15'
          Dst:             TestRsaSignAndVerify
        - Src:             'AlgorithmTests.c:570,6'
          Dst:             TpmFail
    - functionName:    TestSymmetric
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 313
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         84
      ICount:          383
      EdgeCount:       109
      CyclomaticComplexity: 27
      functionsReached:
        - AllModesAreDone
        - AllSymsAreDone
        - ClearBit
        - TestBit
        - TestSymmetricAlgorithm
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'AlgorithmTests.c:250,9'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:255,6'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:255,6'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:265,12'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:266,6'
          Dst:             TestSymmetricAlgorithm
        - Src:             'AlgorithmTests.c:271,9'
          Dst:             AllSymsAreDone
        - Src:             'AlgorithmTests.c:275,4'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:275,4'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:288,11'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:289,14'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:291,8'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:291,8'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:297,12'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:298,6'
          Dst:             TestSymmetricAlgorithm
        - Src:             'AlgorithmTests.c:301,8'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:301,8'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:304,9'
          Dst:             AllModesAreDone
        - Src:             'AlgorithmTests.c:306,7'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:306,7'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:307,7'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:307,7'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:311,2'
          Dst:             TpmFail
    - functionName:    TestAlgorithm
      functionSourceFile: '/src/ibmswtpm2/src/AlgorithmTests.c'
      linkageType:     InternalLinkage
      functionLinenumber: 767
      functionLinenumberEnd: 930
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         98
      ICount:          451
      EdgeCount:       119
      CyclomaticComplexity: 23
      functionsReached:
        - ClearBit
        - SetBit
        - TestBit
        - TestEcc
        - TestHash
        - TestKDFa
        - TestRsa
        - TestSymmetric
      functionUses:    1
      BranchProfiles:
        - Branch String:   'AlgorithmTests.c:798,6'
          Branch Sides:    []
      Callsites:
        - Src:             'AlgorithmTests.c:789,10'
          Dst:             TestBit
        - Src:             'AlgorithmTests.c:791,7'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:819,13'
          Dst:             TestSymmetric
        - Src:             'AlgorithmTests.c:834,13'
          Dst:             TestSymmetric
        - Src:             'AlgorithmTests.c:840,8'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:848,7'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:848,7'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:851,4'
          Dst:             TestHash
        - Src:             'AlgorithmTests.c:855,4'
          Dst:             SetBit
        - Src:             'AlgorithmTests.c:855,4'
          Dst:             SetBit
        - Src:             'AlgorithmTests.c:875,13'
          Dst:             TestHash
        - Src:             'AlgorithmTests.c:880,7'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:880,7'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:882,13'
          Dst:             TestRsa
        - Src:             'AlgorithmTests.c:884,4'
          Dst:             SetBit
        - Src:             'AlgorithmTests.c:884,4'
          Dst:             SetBit
        - Src:             'AlgorithmTests.c:892,13'
          Dst:             TestRsa
        - Src:             'AlgorithmTests.c:898,13'
          Dst:             TestKDFa
        - Src:             'AlgorithmTests.c:909,7'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:909,7'
          Dst:             ClearBit
        - Src:             'AlgorithmTests.c:911,13'
          Dst:             TestEcc
        - Src:             'AlgorithmTests.c:913,4'
          Dst:             SetBit
        - Src:             'AlgorithmTests.c:913,4'
          Dst:             SetBit
        - Src:             'AlgorithmTests.c:920,13'
          Dst:             TestEcc
        - Src:             'AlgorithmTests.c:924,7'
          Dst:             ClearBit
    - functionName:    TPM2_ZGen_2Phase
      functionSourceFile: '/src/ibmswtpm2/src/AsymmetricCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          214
      EdgeCount:       40
      CyclomaticComplexity: 13
      functionsReached:
        - CryptEcc2PhaseKeyExchange
        - CryptEccIsPointOnCurve
        - CryptEndCommit
        - CryptGenerateR
        - HandleToObject
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'AsymmetricCommands.c:263,14'
          Dst:             HandleToObject
        - Src:             'AsymmetricCommands.c:284,9'
          Dst:             CryptEccIsPointOnCurve
        - Src:             'AsymmetricCommands.c:287,9'
          Dst:             CryptEccIsPointOnCurve
        - Src:             'AsymmetricCommands.c:290,9'
          Dst:             CryptGenerateR
        - Src:             'AsymmetricCommands.c:295,14'
          Dst:             CryptEcc2PhaseKeyExchange
        - Src:             'AsymmetricCommands.c:306,2'
          Dst:             CryptEndCommit
    - functionName:    TPM2_ECC_Parameters
      functionSourceFile: '/src/ibmswtpm2/src/AsymmetricCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptEccGetParameters
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'AsymmetricCommands.c:242,8'
          Dst:             CryptEccGetParameters
    - functionName:    TPM2_ECDH_ZGen
      functionSourceFile: '/src/ibmswtpm2/src/AsymmetricCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          129
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - CryptEccPointMultiply
        - HandleToObject
        - RcSafeAddToResult
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'AsymmetricCommands.c:205,14'
          Dst:             HandleToObject
        - Src:             'AsymmetricCommands.c:219,14'
          Dst:             CryptEccPointMultiply
        - Src:             'AsymmetricCommands.c:225,9'
          Dst:             RcSafeAddToResult
    - functionName:    TPM2_ECDH_KeyGen
      functionSourceFile: '/src/ibmswtpm2/src/AsymmetricCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          98
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - CryptEccNewKeyPair
        - CryptEccPointMultiply
        - HandleToObject
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'AsymmetricCommands.c:159,14'
          Dst:             HandleToObject
        - Src:             'AsymmetricCommands.c:168,15'
          Dst:             CryptEccNewKeyPair
        - Src:             'AsymmetricCommands.c:173,23'
          Dst:             CryptEccPointMultiply
    - functionName:    TPM2_RSA_Decrypt
      functionSourceFile: '/src/ibmswtpm2/src/AsymmetricCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          110
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - CryptRsaDecrypt
        - CryptRsaSelectScheme
        - HandleToObject
        - IsLabelProperlyFormatted
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'AsymmetricCommands.c:114,14'
          Dst:             HandleToObject
        - Src:             'AsymmetricCommands.c:127,9'
          Dst:             IsLabelProperlyFormatted
        - Src:             'AsymmetricCommands.c:131,14'
          Dst:             CryptRsaSelectScheme
        - Src:             'AsymmetricCommands.c:139,14'
          Dst:             CryptRsaDecrypt
    - functionName:    TPM2_RSA_Encrypt
      functionSourceFile: '/src/ibmswtpm2/src/AsymmetricCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          97
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - CryptRsaEncrypt
        - CryptRsaSelectScheme
        - HandleToObject
        - IsLabelProperlyFormatted
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'AsymmetricCommands.c:76,14'
          Dst:             HandleToObject
        - Src:             'AsymmetricCommands.c:84,9'
          Dst:             IsLabelProperlyFormatted
        - Src:             'AsymmetricCommands.c:88,14'
          Dst:             CryptRsaSelectScheme
        - Src:             'AsymmetricCommands.c:94,14'
          Dst:             CryptRsaEncrypt
    - functionName:    IsSigningObject
      functionSourceFile: '/src/ibmswtpm2/src/Attest_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          40
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SignAttestInfo
      functionSourceFile: '/src/ibmswtpm2/src/Attest_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          113
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashBlock
        - CryptHashEnd2B
        - CryptHashStart
        - CryptSign
        - NvClearOrderly
        - TPMS_ATTEST_Marshal
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'Attest_spt.c:155,22'
          Dst:             TPMS_ATTEST_Marshal
        - Src:             'Attest_spt.c:168,22'
          Dst:             CryptHashBlock
        - Src:             'Attest_spt.c:175,7'
          Dst:             CryptHashStart
        - Src:             'Attest_spt.c:176,7'
          Dst:             CryptDigestUpdate2B
        - Src:             'Attest_spt.c:177,7'
          Dst:             CryptDigestUpdate2B
        - Src:             'Attest_spt.c:178,7'
          Dst:             CryptHashEnd2B
        - Src:             'Attest_spt.c:182,15'
          Dst:             CryptSign
        - Src:             'Attest_spt.c:189,16'
          Dst:             NvClearOrderly
    - functionName:    FillInAttestInfo
      functionSourceFile: '/src/ibmswtpm2/src/Attest_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          180
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - CryptIsSchemeAnonymous
        - CryptKDFa
        - HandleToObject
        - TimeFillInfo
        - Uint32ToByteArray
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'Attest_spt.c:75,39'
          Dst:             HandleToObject
        - Src:             'Attest_spt.c:86,6'
          Dst:             Uint32ToByteArray
        - Src:             'Attest_spt.c:92,9'
          Dst:             CryptIsSchemeAnonymous
        - Src:             'Attest_spt.c:98,5'
          Dst:             TimeFillInfo
        - Src:             'Attest_spt.c:111,6'
          Dst:             CryptKDFa
        - Src:             'Attest_spt.c:120,8'
          Dst:             CryptIsSchemeAnonymous
    - functionName:    TPM2_GetTime
      functionSourceFile: '/src/ibmswtpm2/src/AttestationCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          89
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CryptSelectSignScheme
        - FillInAttestInfo
        - HandleToObject
        - IsSigningObject
        - SignAttestInfo
        - TimeFillInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'AttestationCommands.c:280,42'
          Dst:             HandleToObject
        - Src:             'AttestationCommands.c:282,9'
          Dst:             IsSigningObject
        - Src:             'AttestationCommands.c:284,9'
          Dst:             CryptSelectSignScheme
        - Src:             'AttestationCommands.c:288,5'
          Dst:             FillInAttestInfo
        - Src:             'AttestationCommands.c:292,5'
          Dst:             TimeFillInfo
        - Src:             'AttestationCommands.c:298,12'
          Dst:             SignAttestInfo
    - functionName:    TPM2_GetCommandAuditDigest
      functionSourceFile: '/src/ibmswtpm2/src/AttestationCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 267
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          108
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - CommandAuditGetDigest
        - CryptSelectSignScheme
        - FillInAttestInfo
        - HandleToObject
        - IsSigningObject
        - SignAttestInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'AttestationCommands.c:238,42'
          Dst:             HandleToObject
        - Src:             'AttestationCommands.c:240,9'
          Dst:             IsSigningObject
        - Src:             'AttestationCommands.c:242,9'
          Dst:             CryptSelectSignScheme
        - Src:             'AttestationCommands.c:246,5'
          Dst:             FillInAttestInfo
        - Src:             'AttestationCommands.c:254,5'
          Dst:             CommandAuditGetDigest
        - Src:             'AttestationCommands.c:259,14'
          Dst:             SignAttestInfo
    - functionName:    TPM2_GetSessionAuditDigest
      functionSourceFile: '/src/ibmswtpm2/src/AttestationCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          107
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - CryptSelectSignScheme
        - FillInAttestInfo
        - HandleToObject
        - IsSigningObject
        - SessionGet
        - SignAttestInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'AttestationCommands.c:198,40'
          Dst:             SessionGet
        - Src:             'AttestationCommands.c:200,42'
          Dst:             HandleToObject
        - Src:             'AttestationCommands.c:202,9'
          Dst:             IsSigningObject
        - Src:             'AttestationCommands.c:204,9'
          Dst:             CryptSelectSignScheme
        - Src:             'AttestationCommands.c:211,5'
          Dst:             FillInAttestInfo
        - Src:             'AttestationCommands.c:221,12'
          Dst:             SignAttestInfo
    - functionName:    TPM2_Quote
      functionSourceFile: '/src/ibmswtpm2/src/AttestationCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          99
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - CryptSelectSignScheme
        - FillInAttestInfo
        - HandleToObject
        - IsSigningObject
        - PCRComputeCurrentDigest
        - SignAttestInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'AttestationCommands.c:156,42'
          Dst:             HandleToObject
        - Src:             'AttestationCommands.c:158,9'
          Dst:             IsSigningObject
        - Src:             'AttestationCommands.c:160,9'
          Dst:             CryptSelectSignScheme
        - Src:             'AttestationCommands.c:166,5'
          Dst:             FillInAttestInfo
        - Src:             'AttestationCommands.c:177,5'
          Dst:             PCRComputeCurrentDigest
        - Src:             'AttestationCommands.c:184,12'
          Dst:             SignAttestInfo
    - functionName:    TPM2_CertifyCreation
      functionSourceFile: '/src/ibmswtpm2/src/AttestationCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          110
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - CryptSelectSignScheme
        - FillInAttestInfo
        - HandleToObject
        - IsSigningObject
        - MemoryEqual2B
        - SignAttestInfo
        - TicketComputeCreation
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'AttestationCommands.c:111,42'
          Dst:             HandleToObject
        - Src:             'AttestationCommands.c:112,43'
          Dst:             HandleToObject
        - Src:             'AttestationCommands.c:114,9'
          Dst:             IsSigningObject
        - Src:             'AttestationCommands.c:116,9'
          Dst:             CryptSelectSignScheme
        - Src:             'AttestationCommands.c:120,5'
          Dst:             TicketComputeCreation
        - Src:             'AttestationCommands.c:123,9'
          Dst:             MemoryEqual2B
        - Src:             'AttestationCommands.c:127,5'
          Dst:             FillInAttestInfo
        - Src:             'AttestationCommands.c:139,12'
          Dst:             SignAttestInfo
    - functionName:    TPM2_Certify
      functionSourceFile: '/src/ibmswtpm2/src/AttestationCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          87
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CryptSelectSignScheme
        - FillInAttestInfo
        - HandleToObject
        - IsSigningObject
        - SignAttestInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'AttestationCommands.c:73,43'
          Dst:             HandleToObject
        - Src:             'AttestationCommands.c:74,48'
          Dst:             HandleToObject
        - Src:             'AttestationCommands.c:76,9'
          Dst:             IsSigningObject
        - Src:             'AttestationCommands.c:78,9'
          Dst:             CryptSelectSignScheme
        - Src:             'AttestationCommands.c:83,5'
          Dst:             FillInAttestInfo
        - Src:             'AttestationCommands.c:95,12'
          Dst:             SignAttestInfo
    - functionName:    TPM2_SetCommandCodeAuditStatus
      functionSourceFile: '/src/ibmswtpm2/src/AuditCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         34
      ICount:          178
      EdgeCount:       44
      CyclomaticComplexity: 12
      functionsReached:
        - CommandAuditClear
        - CommandAuditSet
        - NvWrite
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'AuditCommands.c:89,6'
          Dst:             NvWrite
        - Src:             'AuditCommands.c:98,6'
          Dst:             CommandAuditSet
        - Src:             'AuditCommands.c:103,6'
          Dst:             CommandAuditClear
        - Src:             'AuditCommands.c:108,3'
          Dst:             NvWrite
    - functionName:    ClearBit
      functionSourceFile: '/src/ibmswtpm2/src/Bits.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          45
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - TpmFail
      functionUses:    46
      BranchProfiles:  []
      Callsites:
        - Src:             'Bits.c:112,5'
          Dst:             TpmFail
    - functionName:    SetBit
      functionSourceFile: '/src/ibmswtpm2/src/Bits.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          44
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - TpmFail
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'Bits.c:98,5'
          Dst:             TpmFail
    - functionName:    TestBit
      functionSourceFile: '/src/ibmswtpm2/src/Bits.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          45
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - TpmFail
      functionUses:    49
      BranchProfiles:  []
      Callsites:
        - Src:             'Bits.c:84,5'
          Dst:             TpmFail
    - functionName:    BnPointTo2B
      functionSourceFile: '/src/ibmswtpm2/src/BnConvert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 286
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          95
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - BnSizeInBits
        - BnTo2B
        - TpmFail
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'BnConvert.c:289,5'
          Dst:             TpmFail
        - Src:             'BnConvert.c:290,5'
          Dst:             TpmFail
        - Src:             'BnConvert.c:292,20'
          Dst:             BnSizeInBits
        - Src:             'BnConvert.c:293,5'
          Dst:             BnTo2B
        - Src:             'BnConvert.c:294,5'
          Dst:             BnTo2B
    - functionName:    BnTo2B
      functionSourceFile: '/src/ibmswtpm2/src/BnConvert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BnToBytes
      functionUses:    22
      BranchProfiles:  []
      Callsites:
        - Src:             'BnConvert.c:250,13'
          Dst:             BnToBytes
    - functionName:    BnToBytes
      functionSourceFile: '/src/ibmswtpm2/src/BnConvert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          152
      EdgeCount:       32
      CyclomaticComplexity: 8
      functionsReached:
        - BnSizeInBits
        - TpmFail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'BnConvert.c:195,5'
          Dst:             TpmFail
        - Src:             'BnConvert.c:196,21'
          Dst:             BnSizeInBits
        - Src:             'BnConvert.c:216,6'
          Dst:             TpmFail
    - functionName:    BnPointFrom2B
      functionSourceFile: '/src/ibmswtpm2/src/BnConvert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BnFrom2B
        - BnSetWord
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'BnConvert.c:269,6'
          Dst:             BnFrom2B
        - Src:             'BnConvert.c:270,6'
          Dst:             BnFrom2B
        - Src:             'BnConvert.c:271,6'
          Dst:             BnSetWord
    - functionName:    BnFrom2B
      functionSourceFile: '/src/ibmswtpm2/src/BnConvert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnFromBytes
        - BnSetTop
      functionUses:    24
      BranchProfiles:  []
      Callsites:
        - Src:             'BnConvert.c:124,9'
          Dst:             BnFromBytes
        - Src:             'BnConvert.c:127,5'
          Dst:             BnSetTop
    - functionName:    BnFromBytes
      functionSourceFile: '/src/ibmswtpm2/src/BnConvert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          120
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - BnSetTop
        - TpmFail
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'BnConvert.c:89,5'
          Dst:             TpmFail
        - Src:             'BnConvert.c:111,5'
          Dst:             BnSetTop
    - functionName:    BnFromHex
      functionSourceFile: '/src/ibmswtpm2/src/BnConvert.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         34
      ICount:          244
      EdgeCount:       43
      CyclomaticComplexity: 11
      functionsReached:
        - BnSetTop
        - BnSetWord
        - TpmFail
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'BnConvert.c:145,5'
          Dst:             TpmFail
        - Src:             'BnConvert.c:146,9'
          Dst:             strlen
        - Src:             'BnConvert.c:149,2'
          Dst:             BnSetWord
        - Src:             'BnConvert.c:169,5'
          Dst:             BnSetTop
    - functionName:    strlen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnGenerateRandomInRange
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 523
      functionLinenumberEnd: 539
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          72
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - BnGetRandomBits
        - BnSetWord
        - BnSizeInBits
        - BnUnsignedCmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMath.c:524,21'
          Dst:             BnSizeInBits
        - Src:             'BnMath.c:528,6'
          Dst:             BnSetWord
        - Src:             'BnMath.c:535,7'
          Dst:             BnGetRandomBits
        - Src:             'BnMath.c:536,32'
          Dst:             BnUnsignedCmp
    - functionName:    BnSizeInBits
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 364
      functionLinenumberEnd: 367
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnMsb
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMath.c:365,20'
          Dst:             BnMsb
    - functionName:    BnSetWord
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 376
      functionLinenumberEnd: 383
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          51
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - BnSetTop
        - TpmFail
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMath.c:379,6'
          Dst:             TpmFail
        - Src:             'BnMath.c:381,6'
          Dst:             BnSetTop
    - functionName:    BnGetRandomBits
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 493
      functionLinenumberEnd: 509
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          69
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - BnFrom2B
        - BnMaskBits
        - DRBG_Generate
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMath.c:500,8'
          Dst:             DRBG_Generate
        - Src:             'BnMath.c:502,9'
          Dst:             BnFrom2B
        - Src:             'BnMath.c:504,10'
          Dst:             BnMaskBits
    - functionName:    BnUnsignedCmp
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 283
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          137
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - TpmFail
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMath.c:271,5'
          Dst:             TpmFail
    - functionName:    BnMaskBits
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 433
      functionLinenumberEnd: 445
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          67
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - BnSetTop
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMath.c:444,5'
          Dst:             BnSetTop
    - functionName:    BnMsb
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 347
      functionLinenumberEnd: 357
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          61
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - Msb
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMath.c:351,27'
          Dst:             Msb
    - functionName:    Msb
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 328
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          126
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnShiftRight
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 455
      functionLinenumberEnd: 484
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          172
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - BnSetTop
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMath.c:472,5'
          Dst:             TpmFail
        - Src:             'BnMath.c:483,5'
          Dst:             BnSetTop
    - functionName:    BnTestBit
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 413
      functionLinenumberEnd: 420
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          45
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnSetBit
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 400
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          68
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - TpmFail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMath.c:395,5'
          Dst:             TpmFail
    - functionName:    BnModWord
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 309
      functionLinenumberEnd: 316
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          44
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BnDiv
        - BnInit
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMath.c:310,5'
          Dst:             BnInit
        - Src:             'BnMath.c:311,5'
          Dst:             BnInit
        - Src:             'BnMath.c:315,5'
          Dst:             BnDiv
    - functionName:    BnUnsignedCmpWord
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          64
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnSubWord
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          95
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - BnSetTop
        - BorrowProp
        - TpmFail
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMath.c:245,5'
          Dst:             TpmFail
        - Src:             'BnMath.c:248,14'
          Dst:             BorrowProp
        - Src:             'BnMath.c:249,5'
          Dst:             TpmFail
        - Src:             'BnMath.c:250,5'
          Dst:             BnSetTop
    - functionName:    BorrowProp
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          57
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SubSame
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          72
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnSub
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          120
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - BnSetTop
        - BorrowProp
        - SubSame
        - TpmFail
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMath.c:225,5'
          Dst:             TpmFail
        - Src:             'BnMath.c:226,14'
          Dst:             SubSame
        - Src:             'BnMath.c:228,11'
          Dst:             BorrowProp
        - Src:             'BnMath.c:230,5'
          Dst:             TpmFail
        - Src:             'BnMath.c:231,5'
          Dst:             BnSetTop
    - functionName:    BnAddWord
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          54
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CarryProp
        - CarryResolve
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMath.c:168,13'
          Dst:             CarryProp
        - Src:             'BnMath.c:169,5'
          Dst:             CarryResolve
    - functionName:    CarryProp
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          46
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CarryResolve
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          54
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - BnSetTop
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMath.c:124,6'
          Dst:             TpmFail
        - Src:             'BnMath.c:127,5'
          Dst:             BnSetTop
    - functionName:    AddSame
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          76
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnAdd
      functionSourceFile: '/src/ibmswtpm2/src/BnMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          137
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - AddSame
        - CarryProp
        - CarryResolve
        - TpmFail
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMath.c:148,5'
          Dst:             TpmFail
        - Src:             'BnMath.c:150,13'
          Dst:             AddSame
        - Src:             'BnMath.c:152,10'
          Dst:             CarryProp
        - Src:             'BnMath.c:153,5'
          Dst:             CarryResolve
    - functionName:    BnInitializePoint
      functionSourceFile: '/src/ibmswtpm2/src/BnMemory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BnSetWord
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMemory.c:198,5'
          Dst:             BnSetWord
    - functionName:    BnPointCopy
      functionSourceFile: '/src/ibmswtpm2/src/BnMemory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          58
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - BnCopy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMemory.c:181,12'
          Dst:             BnCopy
        - Src:             'BnMemory.c:182,5'
          Dst:             BnCopy
        - Src:             'BnMemory.c:183,5'
          Dst:             BnCopy
    - functionName:    BnCopy
      functionSourceFile: '/src/ibmswtpm2/src/BnMemory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          102
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - BnSetTop
        - TpmFail
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMemory.c:156,2'
          Dst:             BnSetTop
        - Src:             'BnMemory.c:162,7'
          Dst:             TpmFail
        - Src:             'BnMemory.c:165,7'
          Dst:             BnSetTop
        - Src:             'BnMemory.c:168,3'
          Dst:             BnSetTop
    - functionName:    BnSetTop
      functionSourceFile: '/src/ibmswtpm2/src/BnMemory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          99
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - TpmFail
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'BnMemory.c:80,6'
          Dst:             TpmFail
    - functionName:    BnInit
      functionSourceFile: '/src/ibmswtpm2/src/BnMemory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          42
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    75
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnInitializeWord
      functionSourceFile: '/src/ibmswtpm2/src/BnMemory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          46
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnClearTop
      functionSourceFile: '/src/ibmswtpm2/src/BnMemory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          79
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__ClearCancel
      functionSourceFile: '/src/ibmswtpm2/src/Cancel.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__SetCancel
      functionSourceFile: '/src/ibmswtpm2/src/Cancel.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__IsCanceled
      functionSourceFile: '/src/ibmswtpm2/src/Cancel.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPM2_TestParms
      functionSourceFile: '/src/ibmswtpm2/src/CapabilityCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 205
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPM2_GetCapability
      functionSourceFile: '/src/ibmswtpm2/src/CapabilityCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          324
      EdgeCount:       31
      CyclomaticComplexity: 2
      functionsReached:
        - AlgorithmCapGetImplemented
        - CommandAuditCapGetCCList
        - CommandCapGetCCList
        - CryptCapGetECCCurve
        - HandleGetType
        - NvCapGetIndex
        - NvCapGetPersistent
        - ObjectCapGetLoaded
        - PCRCapGetAllocation
        - PCRCapGetHandles
        - PCRCapGetProperties
        - PermanentCapGetHandles
        - PermanentHandleGetPolicy
        - PhysicalPresenceCapGetCCList
        - SessionCapGetLoaded
        - SessionCapGetSaved
        - TPMCapGetProperties
      functionUses:    0
      BranchProfiles:
        - Branch String:   'CapabilityCommands.c:75,5'
          Branch Sides:    []
        - Branch String:   'CapabilityCommands.c:83,6'
          Branch Sides:    []
      Callsites:
        - Src:             'CapabilityCommands.c:78,22'
          Dst:             AlgorithmCapGetImplemented
        - Src:             'CapabilityCommands.c:83,13'
          Dst:             HandleGetType
        - Src:             'CapabilityCommands.c:87,23'
          Dst:             ObjectCapGetLoaded
        - Src:             'CapabilityCommands.c:93,23'
          Dst:             NvCapGetPersistent
        - Src:             'CapabilityCommands.c:99,23'
          Dst:             NvCapGetIndex
        - Src:             'CapabilityCommands.c:105,23'
          Dst:             SessionCapGetLoaded
        - Src:             'CapabilityCommands.c:115,23'
          Dst:             SessionCapGetSaved
        - Src:             'CapabilityCommands.c:121,23'
          Dst:             PCRCapGetHandles
        - Src:             'CapabilityCommands.c:127,23'
          Dst:             PermanentCapGetHandles
        - Src:             'CapabilityCommands.c:138,22'
          Dst:             CommandCapGetCCList
        - Src:             'CapabilityCommands.c:143,22'
          Dst:             PhysicalPresenceCapGetCCList
        - Src:             'CapabilityCommands.c:148,22'
          Dst:             CommandAuditCapGetCCList
        - Src:             'CapabilityCommands.c:156,22'
          Dst:             PCRCapGetAllocation
        - Src:             'CapabilityCommands.c:160,22'
          Dst:             PCRCapGetProperties
        - Src:             'CapabilityCommands.c:165,22'
          Dst:             TPMCapGetProperties
        - Src:             'CapabilityCommands.c:171,22'
          Dst:             CryptCapGetECCCurve
        - Src:             'CapabilityCommands.c:177,9'
          Dst:             HandleGetType
        - Src:             'CapabilityCommands.c:179,22'
          Dst:             PermanentHandleGetPolicy
    - functionName:    _plat__ClockAdjustRate
      functionSourceFile: '/src/ibmswtpm2/src/Clock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          82
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:
        - Branch String:   'Clock.c:261,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    _plat__TimerWasStopped
      functionSourceFile: '/src/ibmswtpm2/src/Clock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__TimerWasReset
      functionSourceFile: '/src/ibmswtpm2/src/Clock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__TimerRead
      functionSourceFile: '/src/ibmswtpm2/src/Clock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          103
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _plat__RealTime
        - clock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Clock.c:171,15'
          Dst:             _plat__RealTime
        - Src:             'Clock.c:176,18'
          Dst:             clock
    - functionName:    _plat__RealTime
      functionSourceFile: '/src/ibmswtpm2/src/Clock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - clock_gettime
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Clock.c:139,5'
          Dst:             clock_gettime
    - functionName:    clock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    clock_gettime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__TimerRestart
      functionSourceFile: '/src/ibmswtpm2/src/Clock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__TimerReset
      functionSourceFile: '/src/ibmswtpm2/src/Clock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPM2_ClockRateAdjust
      functionSourceFile: '/src/ibmswtpm2/src/ClockCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TimeSetAdjustRate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ClockCommands.c:107,5'
          Dst:             TimeSetAdjustRate
    - functionName:    TPM2_ClockSet
      functionSourceFile: '/src/ibmswtpm2/src/ClockCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          57
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - TimeClockUpdate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ClockCommands.c:94,5'
          Dst:             TimeClockUpdate
    - functionName:    TPM2_ReadClock
      functionSourceFile: '/src/ibmswtpm2/src/ClockCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TimeFillInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ClockCommands.c:72,5'
          Dst:             TimeFillInfo
    - functionName:    CommandAuditGetDigest
      functionSourceFile: '/src/ibmswtpm2/src/CommandAudit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 260
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          60
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - CommandAuditIsRequired
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - GetCommandCode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CommandAudit.c:248,22'
          Dst:             CryptHashStart
        - Src:             'CommandAudit.c:252,9'
          Dst:             CommandAuditIsRequired
        - Src:             'CommandAudit.c:254,21'
          Dst:             GetCommandCode
        - Src:             'CommandAudit.c:255,7'
          Dst:             CryptDigestUpdateInt
        - Src:             'CommandAudit.c:259,5'
          Dst:             CryptHashEnd2B
    - functionName:    CommandAuditIsRequired
      functionSourceFile: '/src/ibmswtpm2/src/CommandAudit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TestBit
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'CommandAudit.c:183,12'
          Dst:             TestBit
    - functionName:    CommandAuditCapGetCCList
      functionSourceFile: '/src/ibmswtpm2/src/CommandAudit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          126
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - CommandAuditIsRequired
        - GetClosestCommandIndex
        - GetNextCommandIndex
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CommandAudit.c:207,24'
          Dst:             GetClosestCommandIndex
        - Src:             'CommandAudit.c:211,9'
          Dst:             CommandAuditIsRequired
        - Src:             'CommandAudit.c:209,17'
          Dst:             GetNextCommandIndex
    - functionName:    CommandAuditClear
      functionSourceFile: '/src/ibmswtpm2/src/CommandAudit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          57
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ClearBit
        - CommandCodeToCommandIndex
        - TestBit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CommandAudit.c:153,40'
          Dst:             CommandCodeToCommandIndex
        - Src:             'CommandAudit.c:161,10'
          Dst:             TestBit
        - Src:             'CommandAudit.c:164,8'
          Dst:             ClearBit
    - functionName:    CommandAuditStartup
      functionSourceFile: '/src/ibmswtpm2/src/CommandAudit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CommandAuditSet
      functionSourceFile: '/src/ibmswtpm2/src/CommandAudit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          57
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - CommandCodeToCommandIndex
        - SetBit
        - TestBit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CommandAudit.c:121,41'
          Dst:             CommandCodeToCommandIndex
        - Src:             'CommandAudit.c:128,11'
          Dst:             TestBit
        - Src:             'CommandAudit.c:131,8'
          Dst:             SetBit
    - functionName:    CommandAuditPreInstall_Init
      functionSourceFile: '/src/ibmswtpm2/src/CommandAudit.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CommandAuditSet
        - MemorySet
        - NvWrite
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CommandAudit.c:79,5'
          Dst:             MemorySet
        - Src:             'CommandAudit.c:81,5'
          Dst:             CommandAuditSet
        - Src:             'CommandAudit.c:88,5'
          Dst:             NvWrite
        - Src:             'CommandAudit.c:89,5'
          Dst:             NvWrite
        - Src:             'CommandAudit.c:90,5'
          Dst:             NvWrite
    - functionName:    IsVendorCommand
      functionSourceFile: '/src/ibmswtpm2/src/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 554
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CommandCapGetCCList
      functionSourceFile: '/src/ibmswtpm2/src/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 513
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          75
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - GetClosestCommandIndex
        - GetNextCommandIndex
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CommandCodeAttributes.c:518,24'
          Dst:             GetClosestCommandIndex
        - Src:             'CommandCodeAttributes.c:520,17'
          Dst:             GetNextCommandIndex
    - functionName:    GetClosestCommandIndex
      functionSourceFile: '/src/ibmswtpm2/src/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 264
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         38
      ICount:          278
      EdgeCount:       52
      CyclomaticComplexity: 16
      functionsReached:
        - TpmFail
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'CommandCodeAttributes.c:231,6'
          Dst:             TpmFail
    - functionName:    GetNextCommandIndex
      functionSourceFile: '/src/ibmswtpm2/src/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 325
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          27
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    IsReadOperation
      functionSourceFile: '/src/ibmswtpm2/src/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 477
      functionLinenumberEnd: 499
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          54
      EdgeCount:       23
      CyclomaticComplexity: 13
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'CommandCodeAttributes.c:483,6'
          Branch Sides:    []
      Callsites:       []
    - functionName:    IsWriteOperation
      functionSourceFile: '/src/ibmswtpm2/src/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 437
      functionLinenumberEnd: 469
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          58
      EdgeCount:       25
      CyclomaticComplexity: 14
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'CommandCodeAttributes.c:443,6'
          Branch Sides:    []
      Callsites:       []
    - functionName:    IsHandleInResponse
      functionSourceFile: '/src/ibmswtpm2/src/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 426
      functionLinenumberEnd: 427
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    IsSessionAllowed
      functionSourceFile: '/src/ibmswtpm2/src/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 415
      functionLinenumberEnd: 416
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    DecryptSize
      functionSourceFile: '/src/ibmswtpm2/src/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 399
      functionLinenumberEnd: 401
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EncryptSize
      functionSourceFile: '/src/ibmswtpm2/src/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 382
      functionLinenumberEnd: 384
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CommandAuthRole
      functionSourceFile: '/src/ibmswtpm2/src/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 351
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          86
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetCommandCode
      functionSourceFile: '/src/ibmswtpm2/src/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 332
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CommandCodeToCommandIndex
      functionSourceFile: '/src/ibmswtpm2/src/CommandCodeAttributes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          76
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - GetClosestCommandIndex
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'CommandCodeAttributes.c:295,20'
          Dst:             GetClosestCommandIndex
    - functionName:    CommandDispatcher
      functionSourceFile: '/src/ibmswtpm2/src/CommandDispatcher.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 380
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         50
      ICount:          473
      EdgeCount:       64
      CyclomaticComplexity: 16
      functionsReached:
        - MemoryGetInBuffer
        - MemoryGetOutBuffer
        - MemoryIoBufferAllocationReset
        - MemoryIoBufferZero
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CommandDispatcher.c:248,5'
          Dst:             TpmFail
        - Src:             'CommandDispatcher.c:252,5'
          Dst:             TpmFail
        - Src:             'CommandDispatcher.c:262,5'
          Dst:             MemoryIoBufferAllocationReset
        - Src:             'CommandDispatcher.c:264,17'
          Dst:             MemoryGetInBuffer
        - Src:             'CommandDispatcher.c:266,26'
          Dst:             MemoryGetOutBuffer
        - Src:             'CommandDispatcher.c:379,5'
          Dst:             MemoryIoBufferZero
    - functionName:    ParseHandleBuffer
      functionSourceFile: '/src/ibmswtpm2/src/CommandDispatcher.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          171
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CommandDispatcher.c:133,5'
          Dst:             TpmFail
        - Src:             'CommandDispatcher.c:137,5'
          Dst:             TpmFail
    - functionName:    TPM2_EvictControl
      functionSourceFile: '/src/ibmswtpm2/src/ContextCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 451
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         41
      ICount:          236
      EdgeCount:       55
      CyclomaticComplexity: 16
      functionsReached:
        - HandleToObject
        - NvAddEvictObject
        - NvDeleteEvict
        - NvFindHandle
        - NvIsOwnerPersistentHandle
        - NvIsPlatformPersistentHandle
        - TpmFail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ContextCommands.c:391,19'
          Dst:             HandleToObject
        - Src:             'ContextCommands.c:413,18'
          Dst:             NvIsPlatformPersistentHandle
        - Src:             'ContextCommands.c:425,13'
          Dst:             NvIsOwnerPersistentHandle
        - Src:             'ContextCommands.c:432,6'
          Dst:             TpmFail
        - Src:             'ContextCommands.c:439,9'
          Dst:             NvFindHandle
        - Src:             'ContextCommands.c:443,15'
          Dst:             NvAddEvictObject
        - Src:             'ContextCommands.c:448,15'
          Dst:             NvDeleteEvict
    - functionName:    TPM2_FlushContext
      functionSourceFile: '/src/ibmswtpm2/src/ContextCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 346
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          106
      EdgeCount:       22
      CyclomaticComplexity: 4
      functionsReached:
        - FlushObject
        - HandleGetType
        - IsObjectPresent
        - SessionFlush
        - SessionIsLoaded
        - SessionIsSaved
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ContextCommands.c:349,5'
          Branch Sides:    []
      Callsites:
        - Src:             'ContextCommands.c:349,12'
          Dst:             HandleGetType
        - Src:             'ContextCommands.c:352,10'
          Dst:             IsObjectPresent
        - Src:             'ContextCommands.c:355,6'
          Dst:             FlushObject
        - Src:             'ContextCommands.c:359,10'
          Dst:             SessionIsLoaded
        - Src:             'ContextCommands.c:360,13'
          Dst:             SessionIsSaved
        - Src:             'ContextCommands.c:368,6'
          Dst:             SessionFlush
        - Src:             'ContextCommands.c:373,6'
          Dst:             TpmFail
    - functionName:    TPM2_ContextLoad
      functionSourceFile: '/src/ibmswtpm2/src/ContextCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         34
      ICount:          244
      EdgeCount:       41
      CyclomaticComplexity: 9
      functionsReached:
        - ComputeContextIntegrity
        - ComputeContextProtectionKey
        - CryptHashGetDigestSize
        - CryptSymmetricDecrypt
        - HandleGetType
        - HierarchyIsEnabled
        - MemoryEqual
        - MemoryEqual2B
        - NvClearOrderly
        - ObjectContextLoad
        - SequenceNumberForSavedContextIsValid
        - SessionContextLoad
        - TPM2B_DIGEST_Unmarshal
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ContextCommands.c:285,5'
          Branch Sides:    []
      Callsites:
        - Src:             'ContextCommands.c:247,18'
          Dst:             HandleGetType
        - Src:             'ContextCommands.c:251,14'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'ContextCommands.c:256,28'
          Dst:             CryptHashGetDigestSize
        - Src:             'ContextCommands.c:267,5'
          Dst:             ComputeContextIntegrity
        - Src:             'ContextCommands.c:269,9'
          Dst:             MemoryEqual2B
        - Src:             'ContextCommands.c:272,5'
          Dst:             ComputeContextProtectionKey
        - Src:             'ContextCommands.c:274,5'
          Dst:             CryptSymmetricDecrypt
        - Src:             'ContextCommands.c:278,9'
          Dst:             MemoryEqual
        - Src:             'ContextCommands.c:279,2'
          Dst:             TpmFail
        - Src:             'ContextCommands.c:291,9'
          Dst:             TpmFail
        - Src:             'ContextCommands.c:296,9'
          Dst:             HierarchyIsEnabled
        - Src:             'ContextCommands.c:299,17'
          Dst:             ObjectContextLoad
        - Src:             'ContextCommands.c:309,9'
          Dst:             TpmFail
        - Src:             'ContextCommands.c:313,5'
          Dst:             NvClearOrderly
        - Src:             'ContextCommands.c:316,9'
          Dst:             SequenceNumberForSavedContextIsValid
        - Src:             'ContextCommands.c:320,14'
          Dst:             SessionContextLoad
        - Src:             'ContextCommands.c:333,6'
          Dst:             TpmFail
    - functionName:    TPM2_ContextSave
      functionSourceFile: '/src/ibmswtpm2/src/ContextCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 220
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          356
      EdgeCount:       28
      CyclomaticComplexity: 3
      functionsReached:
        - ComputeContextIntegrity
        - ComputeContextProtectionKey
        - CryptHashGetDigestSize
        - CryptSymmetricEncrypt
        - HandleGetType
        - HandleToObject
        - MemoryCopy
        - NvClearOrderly
        - ObjectGetHierarchy
        - ObjectIsSequence
        - SequenceDataExport
        - SessionContextSave
        - SessionGet
        - TPM2B_DIGEST_Marshal
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ContextCommands.c:111,5'
          Branch Sides:    []
      Callsites:
        - Src:             'ContextCommands.c:87,5'
          Dst:             NvClearOrderly
        - Src:             'ContextCommands.c:109,9'
          Dst:             CryptHashGetDigestSize
        - Src:             'ContextCommands.c:111,12'
          Dst:             HandleGetType
        - Src:             'ContextCommands.c:115,35'
          Dst:             HandleToObject
        - Src:             'ContextCommands.c:117,39'
          Dst:             ObjectIsSequence
        - Src:             'ContextCommands.c:127,5'
          Dst:             TpmFail
        - Src:             'ContextCommands.c:130,5'
          Dst:             MemoryCopy
        - Src:             'ContextCommands.c:135,9'
          Dst:             TpmFail
        - Src:             'ContextCommands.c:141,8'
          Dst:             ObjectIsSequence
        - Src:             'ContextCommands.c:144,6'
          Dst:             SequenceDataExport
        - Src:             'ContextCommands.c:151,30'
          Dst:             ObjectGetHierarchy
        - Src:             'ContextCommands.c:157,32'
          Dst:             SessionGet
        - Src:             'ContextCommands.c:165,5'
          Dst:             TpmFail
        - Src:             'ContextCommands.c:171,5'
          Dst:             TpmFail
        - Src:             'ContextCommands.c:173,5'
          Dst:             MemoryCopy
        - Src:             'ContextCommands.c:180,14'
          Dst:             SessionContextSave
        - Src:             'ContextCommands.c:192,6'
          Dst:             TpmFail
        - Src:             'ContextCommands.c:197,5'
          Dst:             TpmFail
        - Src:             'ContextCommands.c:199,5'
          Dst:             MemoryCopy
        - Src:             'ContextCommands.c:202,5'
          Dst:             ComputeContextProtectionKey
        - Src:             'ContextCommands.c:204,5'
          Dst:             CryptSymmetricEncrypt
        - Src:             'ContextCommands.c:212,5'
          Dst:             ComputeContextIntegrity
        - Src:             'ContextCommands.c:215,5'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    SequenceDataImport
      functionSourceFile: '/src/ibmswtpm2/src/Context_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          67
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - CryptHashImportState
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Context_spt.c:199,6'
          Dst:             CryptHashImportState
    - functionName:    SequenceDataExport
      functionSourceFile: '/src/ibmswtpm2/src/Context_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 177
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          67
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - CryptHashExportState
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Context_spt.c:175,6'
          Dst:             CryptHashExportState
    - functionName:    ComputeContextIntegrity
      functionSourceFile: '/src/ibmswtpm2/src/Context_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          87
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdateInt
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - HierarchyGetProof
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Context_spt.c:125,13'
          Dst:             HierarchyGetProof
        - Src:             'Context_spt.c:127,25'
          Dst:             CryptHmacStart2B
        - Src:             'Context_spt.c:133,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'Context_spt.c:138,2'
          Dst:             CryptDigestUpdateInt
        - Src:             'Context_spt.c:142,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'Context_spt.c:145,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'Context_spt.c:148,5'
          Dst:             CryptDigestUpdate
        - Src:             'Context_spt.c:152,5'
          Dst:             CryptHmacEnd2B
    - functionName:    ComputeContextProtectionKey
      functionSourceFile: '/src/ibmswtpm2/src/Context_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          114
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - CryptGetSymmetricBlockSize
        - CryptKDFa
        - HierarchyGetProof
        - MemoryCopy
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Context_spt.c:84,13'
          Dst:             HierarchyGetProof
        - Src:             'Context_spt.c:88,5'
          Dst:             MemoryCopy
        - Src:             'Context_spt.c:93,5'
          Dst:             MemoryCopy
        - Src:             'Context_spt.c:99,18'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'Context_spt.c:101,5'
          Dst:             CryptKDFa
        - Src:             'Context_spt.c:105,5'
          Dst:             TpmFail
        - Src:             'Context_spt.c:106,5'
          Dst:             MemoryCopy
        - Src:             'Context_spt.c:108,5'
          Dst:             TpmFail
        - Src:             'Context_spt.c:109,5'
          Dst:             MemoryCopy
    - functionName:    CryptCmacEnd
      functionSourceFile: '/src/ibmswtpm2/src/CryptCmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          254
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - AES_set_encrypt_key
        - MemoryCopy
        - ShiftLeft
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'CryptCmac.c:161,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptCmac.c:161,5'
          Dst:             AES_set_encrypt_key
        - Src:             'CryptCmac.c:161,5'
          Dst:             TpmFail
        - Src:             'CryptCmac.c:165,5'
          Dst:             ShiftLeft
        - Src:             'CryptCmac.c:169,5'
          Dst:             TpmFail
        - Src:             'CryptCmac.c:179,6'
          Dst:             ShiftLeft
        - Src:             'CryptCmac.c:187,5'
          Dst:             MemoryCopy
    - functionName:    AES_set_encrypt_key
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    AES_encrypt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptCmacData
      functionSourceFile: '/src/ibmswtpm2/src/CryptCmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          158
      EdgeCount:       21
      CyclomaticComplexity: 4
      functionsReached:
        - AES_set_encrypt_key
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'CryptCmac.c:123,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptCmac.c:123,5'
          Dst:             AES_set_encrypt_key
        - Src:             'CryptCmac.c:123,5'
          Dst:             TpmFail
    - functionName:    CryptCmacStart
      functionSourceFile: '/src/ibmswtpm2/src/CryptCmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          83
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptGetSymmetricBlockSize
        - MemoryCopy2B
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptCmac.c:93,25'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'CryptCmac.c:95,5'
          Dst:             MemoryCopy2B
    - functionName:    C_2_2_ECDH
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccKeyExchange.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          212
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - BnCurveInitialize
        - BnFrom2B
        - BnInit
        - BnInitializePoint
        - BnPointFrom2B
        - BnPointMult
        - BnPointTo2B
        - EC_GROUP_free
        - OsslContextLeave
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccKeyExchange.c:182,5'
          Dst:             BnCurveInitialize
        - Src:             'CryptEccKeyExchange.c:183,5'
          Dst:             BnInit
        - Src:             'CryptEccKeyExchange.c:183,5'
          Dst:             BnFrom2B
        - Src:             'CryptEccKeyExchange.c:184,5'
          Dst:             BnInit
        - Src:             'CryptEccKeyExchange.c:184,5'
          Dst:             BnFrom2B
        - Src:             'CryptEccKeyExchange.c:185,5'
          Dst:             BnInitializePoint
        - Src:             'CryptEccKeyExchange.c:185,5'
          Dst:             BnPointFrom2B
        - Src:             'CryptEccKeyExchange.c:186,5'
          Dst:             BnInitializePoint
        - Src:             'CryptEccKeyExchange.c:186,5'
          Dst:             BnPointFrom2B
        - Src:             'CryptEccKeyExchange.c:187,5'
          Dst:             BnInitializePoint
        - Src:             'CryptEccKeyExchange.c:193,5'
          Dst:             TpmFail
        - Src:             'CryptEccKeyExchange.c:196,14'
          Dst:             BnPointMult
        - Src:             'CryptEccKeyExchange.c:200,6'
          Dst:             BnPointTo2B
        - Src:             'CryptEccKeyExchange.c:202,15'
          Dst:             BnPointMult
        - Src:             'CryptEccKeyExchange.c:204,3'
          Dst:             BnPointTo2B
        - Src:             'CryptEccKeyExchange.c:207,5'
          Dst:             EC_GROUP_free
        - Src:             'CryptEccKeyExchange.c:207,5'
          Dst:             OsslContextLeave
    - functionName:    EC_GROUP_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptEcc2PhaseKeyExchange
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccKeyExchange.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          116
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - C_2_2_ECDH
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'CryptEccKeyExchange.c:239,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptEccKeyExchange.c:227,5'
          Dst:             TpmFail
        - Src:             'CryptEccKeyExchange.c:242,13'
          Dst:             C_2_2_ECDH
    - functionName:    CryptEccGenerateKey
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 704
      functionLinenumberEnd: 742
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          237
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - BnCurveInitialize
        - BnEccGenerateKeyPair
        - BnInit
        - BnInitializePoint
        - BnPointTo2B
        - BnSignEcdsa
        - BnTo2B
        - BnValidateSignatureEcdsa
        - CryptTestAlgorithm
        - DRBG_Generate
        - EC_GROUP_free
        - OsslContextLeave
        - TestBit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:705,5'
          Dst:             BnCurveInitialize
        - Src:             'CryptEccMain.c:706,5'
          Dst:             BnInit
        - Src:             'CryptEccMain.c:707,5'
          Dst:             BnInitializePoint
        - Src:             'CryptEccMain.c:710,5'
          Dst:             TestBit
        - Src:             'CryptEccMain.c:710,5'
          Dst:             CryptTestAlgorithm
        - Src:             'CryptEccMain.c:717,10'
          Dst:             BnEccGenerateKeyPair
        - Src:             'CryptEccMain.c:720,6'
          Dst:             BnPointTo2B
        - Src:             'CryptEccMain.c:721,6'
          Dst:             BnTo2B
        - Src:             'CryptEccMain.c:727,6'
          Dst:             BnInit
        - Src:             'CryptEccMain.c:728,6'
          Dst:             BnInit
        - Src:             'CryptEccMain.c:730,6'
          Dst:             TestBit
        - Src:             'CryptEccMain.c:730,6'
          Dst:             CryptTestAlgorithm
        - Src:             'CryptEccMain.c:733,6'
          Dst:             DRBG_Generate
        - Src:             'CryptEccMain.c:734,6'
          Dst:             BnSignEcdsa
        - Src:             'CryptEccMain.c:736,11'
          Dst:             BnValidateSignatureEcdsa
        - Src:             'CryptEccMain.c:741,5'
          Dst:             EC_GROUP_free
        - Src:             'CryptEccMain.c:741,5'
          Dst:             OsslContextLeave
    - functionName:    BnEccGenerateKeyPair
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 574
      functionLinenumberEnd: 584
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BnEccGetPrivate
        - BnEccModMult
        - BnSetWord
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:577,10'
          Dst:             BnEccGetPrivate
        - Src:             'CryptEccMain.c:579,16'
          Dst:             BnEccModMult
        - Src:             'CryptEccMain.c:581,2'
          Dst:             BnSetWord
        - Src:             'CryptEccMain.c:583,2'
          Dst:             BnSetWord
    - functionName:    BnEccGetPrivate
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 549
      functionLinenumberEnd: 561
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          110
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - BnAddWord
        - BnDiv
        - BnGetRandomBits
        - BnInit
        - BnSizeInBits
        - BnSubWord
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:552,42'
          Dst:             BnSizeInBits
        - Src:             'CryptEccMain.c:554,5'
          Dst:             BnInit
        - Src:             'CryptEccMain.c:555,5'
          Dst:             BnInit
        - Src:             'CryptEccMain.c:557,10'
          Dst:             BnGetRandomBits
        - Src:             'CryptEccMain.c:558,16'
          Dst:             BnSubWord
        - Src:             'CryptEccMain.c:559,16'
          Dst:             BnDiv
        - Src:             'CryptEccMain.c:560,16'
          Dst:             BnAddWord
    - functionName:    CryptEccIsPointOnCurve
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 671
      functionLinenumberEnd: 678
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          66
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - BnInitializePoint
        - BnIsOnCurve
        - BnPointFrom2B
        - GetCurveData
        - TpmFail
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:672,34'
          Dst:             GetCurveData
        - Src:             'CryptEccMain.c:673,5'
          Dst:             BnInitializePoint
        - Src:             'CryptEccMain.c:673,5'
          Dst:             BnPointFrom2B
        - Src:             'CryptEccMain.c:676,5'
          Dst:             TpmFail
        - Src:             'CryptEccMain.c:677,25'
          Dst:             BnIsOnCurve
    - functionName:    GetCurveData
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptEccGetParametersByCurveId
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:153,35'
          Dst:             CryptEccGetParametersByCurveId
    - functionName:    BnIsOnCurve
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 434
      functionLinenumberEnd: 458
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          88
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnAdd
        - BnDiv
        - BnInit
        - BnMult
        - BnUnsignedCmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:435,5'
          Dst:             BnInit
        - Src:             'CryptEccMain.c:436,5'
          Dst:             BnInit
        - Src:             'CryptEccMain.c:442,5'
          Dst:             BnMult
        - Src:             'CryptEccMain.c:443,5'
          Dst:             BnDiv
        - Src:             'CryptEccMain.c:445,5'
          Dst:             BnMult
        - Src:             'CryptEccMain.c:447,5'
          Dst:             BnAdd
        - Src:             'CryptEccMain.c:450,5'
          Dst:             BnMult
        - Src:             'CryptEccMain.c:452,5'
          Dst:             BnAdd
        - Src:             'CryptEccMain.c:453,5'
          Dst:             BnDiv
        - Src:             'CryptEccMain.c:454,8'
          Dst:             BnUnsignedCmp
    - functionName:    CryptEccGetParametersByCurveId
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptEccPointMultiply
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 642
      functionLinenumberEnd: 657
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          149
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - BnCurveInitialize
        - BnFrom2B
        - BnInit
        - BnInitializePoint
        - BnPointFrom2B
        - BnPointMult
        - BnPointTo2B
        - ClearPoint2B
        - EC_GROUP_free
        - OsslContextLeave
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:643,5'
          Dst:             BnCurveInitialize
        - Src:             'CryptEccMain.c:644,5'
          Dst:             BnInitializePoint
        - Src:             'CryptEccMain.c:644,5'
          Dst:             BnPointFrom2B
        - Src:             'CryptEccMain.c:645,5'
          Dst:             BnInit
        - Src:             'CryptEccMain.c:645,5'
          Dst:             BnFrom2B
        - Src:             'CryptEccMain.c:646,5'
          Dst:             BnInit
        - Src:             'CryptEccMain.c:646,5'
          Dst:             BnFrom2B
        - Src:             'CryptEccMain.c:647,5'
          Dst:             BnInitializePoint
        - Src:             'CryptEccMain.c:647,5'
          Dst:             BnPointFrom2B
        - Src:             'CryptEccMain.c:648,5'
          Dst:             BnInitializePoint
        - Src:             'CryptEccMain.c:651,14'
          Dst:             BnPointMult
        - Src:             'CryptEccMain.c:653,2'
          Dst:             BnPointTo2B
        - Src:             'CryptEccMain.c:655,2'
          Dst:             ClearPoint2B
        - Src:             'CryptEccMain.c:656,5'
          Dst:             EC_GROUP_free
        - Src:             'CryptEccMain.c:656,5'
          Dst:             OsslContextLeave
    - functionName:    BnPointMult
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 500
      functionLinenumberEnd: 534
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          277
      EdgeCount:       65
      CyclomaticComplexity: 18
      functionsReached:
        - BnEccModMult
        - BnEccModMult2
        - BnIsOnCurve
        - CryptTestAlgorithm
        - TestBit
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:503,5'
          Dst:             TestBit
        - Src:             'CryptEccMain.c:503,5'
          Dst:             CryptTestAlgorithm
        - Src:             'CryptEccMain.c:515,25'
          Dst:             BnIsOnCurve
        - Src:             'CryptEccMain.c:516,32'
          Dst:             BnIsOnCurve
        - Src:             'CryptEccMain.c:525,8'
          Dst:             BnEccModMult
        - Src:             'CryptEccMain.c:527,8'
          Dst:             BnEccModMult
        - Src:             'CryptEccMain.c:531,11'
          Dst:             BnEccModMult2
    - functionName:    ClearPoint2B
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptEccNewKeyPair
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 595
      functionLinenumberEnd: 615
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          141
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - BnCurveInitialize
        - BnEccGenerateKeyPair
        - BnInit
        - BnInitializePoint
        - BnPointTo2B
        - BnTo2B
        - CryptTestAlgorithm
        - EC_GROUP_free
        - OsslContextLeave
        - TestBit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:596,5'
          Dst:             BnCurveInitialize
        - Src:             'CryptEccMain.c:597,5'
          Dst:             BnInitializePoint
        - Src:             'CryptEccMain.c:598,5'
          Dst:             BnInit
        - Src:             'CryptEccMain.c:602,5'
          Dst:             TestBit
        - Src:             'CryptEccMain.c:602,5'
          Dst:             CryptTestAlgorithm
        - Src:             'CryptEccMain.c:603,10'
          Dst:             BnEccGenerateKeyPair
        - Src:             'CryptEccMain.c:606,6'
          Dst:             BnPointTo2B
        - Src:             'CryptEccMain.c:607,6'
          Dst:             BnTo2B
        - Src:             'CryptEccMain.c:613,5'
          Dst:             EC_GROUP_free
        - Src:             'CryptEccMain.c:613,5'
          Dst:             OsslContextLeave
    - functionName:    CryptEccIsValidPrivateKey
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 477
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnFrom2B
        - BnGetCurveOrder
        - BnInit
        - BnUnsignedCmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:478,5'
          Dst:             BnInit
        - Src:             'CryptEccMain.c:478,5'
          Dst:             BnFrom2B
        - Src:             'CryptEccMain.c:479,53'
          Dst:             BnGetCurveOrder
        - Src:             'CryptEccMain.c:479,34'
          Dst:             BnUnsignedCmp
    - functionName:    BnGetCurveOrder
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 423
      functionLinenumberEnd: 425
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GetCurveData
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:424,34'
          Dst:             GetCurveData
    - functionName:    BnIsValidPrivateEcc
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 470
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnUnsignedCmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:469,12'
          Dst:             BnUnsignedCmp
    - functionName:    BnGetCurvePrime
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 413
      functionLinenumberEnd: 415
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GetCurveData
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:414,34'
          Dst:             GetCurveData
    - functionName:    CryptEccGetParameters
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 405
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          116
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnTo2B
        - CryptEccGetParametersByCurveId
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:387,42'
          Dst:             CryptEccGetParametersByCurveId
        - Src:             'CryptEccMain.c:397,6'
          Dst:             BnTo2B
        - Src:             'CryptEccMain.c:398,6'
          Dst:             BnTo2B
        - Src:             'CryptEccMain.c:399,6'
          Dst:             BnTo2B
        - Src:             'CryptEccMain.c:400,6'
          Dst:             BnTo2B
        - Src:             'CryptEccMain.c:401,6'
          Dst:             BnTo2B
        - Src:             'CryptEccMain.c:402,6'
          Dst:             BnTo2B
        - Src:             'CryptEccMain.c:403,6'
          Dst:             BnTo2B
    - functionName:    CryptEndCommit
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 375
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ClearBit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:374,5'
          Dst:             ClearBit
    - functionName:    CryptCommit
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      short
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SetBit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:363,5'
          Dst:             SetBit
    - functionName:    CryptGenerateR
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 351
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          200
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - CryptEccGetParameter
        - CryptKDFa
        - TestBit
        - Uint64ToByteArray
        - UnsignedCompareB
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:300,9'
          Dst:             CryptEccGetParameter
        - Src:             'CryptEccMain.c:306,10'
          Dst:             TestBit
        - Src:             'CryptEccMain.c:330,5'
          Dst:             Uint64ToByteArray
        - Src:             'CryptEccMain.c:339,6'
          Dst:             CryptKDFa
        - Src:             'CryptEccMain.c:342,9'
          Dst:             UnsignedCompareB
    - functionName:    CryptEccGetParameter
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 216
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          114
      EdgeCount:       18
      CyclomaticComplexity: 2
      functionsReached:
        - BnTo2B
        - GetCurveData
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'CryptEccMain.c:186,6'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptEccMain.c:182,38'
          Dst:             GetCurveData
        - Src:             'CryptEccMain.c:210,7'
          Dst:             TpmFail
        - Src:             'CryptEccMain.c:216,34'
          Dst:             BnTo2B
    - functionName:    CryptGetCurveSignScheme
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 268
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptEccGetParametersByCurveId
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:269,38'
          Dst:             CryptEccGetParametersByCurveId
    - functionName:    CryptCapGetECCCurve
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 260
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          102
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - CryptEccGetCurveByIndex
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:241,14'
          Dst:             CryptEccGetCurveByIndex
    - functionName:    CryptEccGetCurveByIndex
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          28
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptEccGetKeySizeForCurve
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptEccGetParametersByCurveId
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccMain.c:140,30'
          Dst:             CryptEccGetParametersByCurveId
    - functionName:    CryptEccStartup
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptEccInit
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccMain.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SchnorrReduce
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnSizeInBits
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccSignature.c:298,36'
          Dst:             BnSizeInBits
    - functionName:    BnSchnorrSign
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          66
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BnAdd
        - BnDiv
        - BnInit
        - BnMult
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccSignature.c:115,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:118,5'
          Dst:             BnDiv
        - Src:             'CryptEccSignature.c:123,5'
          Dst:             BnMult
        - Src:             'CryptEccSignature.c:125,5'
          Dst:             BnAdd
        - Src:             'CryptEccSignature.c:127,5'
          Dst:             BnDiv
    - functionName:    CryptEccCommitCompute
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 823
      functionLinenumberEnd: 886
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          363
      EdgeCount:       68
      CyclomaticComplexity: 18
      functionsReached:
        - BnCurveInitialize
        - BnFrom2B
        - BnInit
        - BnInitializePoint
        - BnIsOnCurve
        - BnIsValidPrivateEcc
        - BnPointFrom2B
        - BnPointMult
        - BnPointTo2B
        - ClearPoint2B
        - EC_GROUP_free
        - OsslContextLeave
        - TpmFail
        - _plat__IsCanceled
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccSignature.c:824,5'
          Dst:             BnCurveInitialize
        - Src:             'CryptEccSignature.c:826,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:826,5'
          Dst:             BnFrom2B
        - Src:             'CryptEccSignature.c:832,5'
          Dst:             TpmFail
        - Src:             'CryptEccSignature.c:834,5'
          Dst:             ClearPoint2B
        - Src:             'CryptEccSignature.c:835,5'
          Dst:             ClearPoint2B
        - Src:             'CryptEccSignature.c:836,5'
          Dst:             ClearPoint2B
        - Src:             'CryptEccSignature.c:838,5'
          Dst:             TpmFail
        - Src:             'CryptEccSignature.c:842,6'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:842,6'
          Dst:             BnFrom2B
        - Src:             'CryptEccSignature.c:843,6'
          Dst:             BnInitializePoint
        - Src:             'CryptEccSignature.c:843,6'
          Dst:             BnPointFrom2B
        - Src:             'CryptEccSignature.c:844,6'
          Dst:             BnInitializePoint
        - Src:             'CryptEccSignature.c:845,6'
          Dst:             BnInitializePoint
        - Src:             'CryptEccSignature.c:847,6'
          Dst:             TpmFail
        - Src:             'CryptEccSignature.c:848,10'
          Dst:             BnIsOnCurve
        - Src:             'CryptEccSignature.c:851,19'
          Dst:             BnPointMult
        - Src:             'CryptEccSignature.c:854,6'
          Dst:             BnPointTo2B
        - Src:             'CryptEccSignature.c:856,9'
          Dst:             _plat__IsCanceled
        - Src:             'CryptEccSignature.c:859,10'
          Dst:             BnIsValidPrivateEcc
        - Src:             'CryptEccSignature.c:861,19'
          Dst:             BnPointMult
        - Src:             'CryptEccSignature.c:864,6'
          Dst:             BnPointTo2B
        - Src:             'CryptEccSignature.c:868,6'
          Dst:             BnInitializePoint
        - Src:             'CryptEccSignature.c:868,6'
          Dst:             BnPointFrom2B
        - Src:             'CryptEccSignature.c:869,6'
          Dst:             BnInitializePoint
        - Src:             'CryptEccSignature.c:872,6'
          Dst:             TpmFail
        - Src:             'CryptEccSignature.c:874,24'
          Dst:             _plat__IsCanceled
        - Src:             'CryptEccSignature.c:879,19'
          Dst:             BnPointMult
        - Src:             'CryptEccSignature.c:882,6'
          Dst:             BnPointTo2B
        - Src:             'CryptEccSignature.c:885,5'
          Dst:             EC_GROUP_free
        - Src:             'CryptEccSignature.c:885,5'
          Dst:             OsslContextLeave
    - functionName:    BnValidateSignatureEcSchnorr
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 693
      functionLinenumberEnd: 728
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          165
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BnDiv
        - BnFrom2B
        - BnInit
        - BnInitializePoint
        - BnPointMult
        - BnSizeInBits
        - BnSub
        - BnTo2B
        - BnUnsignedCmp
        - CryptDigestUpdate
        - CryptHashEnd
        - CryptHashGetDigestSize
        - CryptHashStart
        - SchnorrReduce
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccSignature.c:694,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:695,5'
          Dst:             BnInitializePoint
        - Src:             'CryptEccSignature.c:696,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:699,43'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptEccSignature.c:706,5'
          Dst:             BnDiv
        - Src:             'CryptEccSignature.c:708,5'
          Dst:             BnSub
        - Src:             'CryptEccSignature.c:710,10'
          Dst:             BnPointMult
        - Src:             'CryptEccSignature.c:715,20'
          Dst:             BnSizeInBits
        - Src:             'CryptEccSignature.c:714,16'
          Dst:             BnTo2B
        - Src:             'CryptEccSignature.c:719,6'
          Dst:             CryptHashStart
        - Src:             'CryptEccSignature.c:720,6'
          Dst:             CryptDigestUpdate
        - Src:             'CryptEccSignature.c:721,6'
          Dst:             CryptDigestUpdate
        - Src:             'CryptEccSignature.c:722,19'
          Dst:             CryptHashEnd
        - Src:             'CryptEccSignature.c:723,6'
          Dst:             SchnorrReduce
        - Src:             'CryptEccSignature.c:724,6'
          Dst:             BnFrom2B
        - Src:             'CryptEccSignature.c:726,11'
          Dst:             BnUnsignedCmp
    - functionName:    CryptEccValidateSignature
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 742
      functionLinenumberEnd: 800
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          214
      EdgeCount:       35
      CyclomaticComplexity: 6
      functionsReached:
        - BnCurveInitialize
        - BnFrom2B
        - BnInit
        - BnInitializePoint
        - BnPointFrom2B
        - BnUnsignedCmp
        - BnValidateSignatureEcSchnorr
        - BnValidateSignatureEcdsa
        - EC_GROUP_free
        - OsslContextLeave
        - TpmFail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'CryptEccSignature.c:753,5'
          Branch Sides:    []
        - Branch String:   'CryptEccSignature.c:778,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptEccSignature.c:743,5'
          Dst:             BnCurveInitialize
        - Src:             'CryptEccSignature.c:744,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:745,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:746,5'
          Dst:             BnInitializePoint
        - Src:             'CryptEccSignature.c:746,5'
          Dst:             BnPointFrom2B
        - Src:             'CryptEccSignature.c:770,5'
          Dst:             BnFrom2B
        - Src:             'CryptEccSignature.c:771,5'
          Dst:             BnFrom2B
        - Src:             'CryptEccSignature.c:775,9'
          Dst:             BnUnsignedCmp
        - Src:             'CryptEccSignature.c:776,12'
          Dst:             BnUnsignedCmp
        - Src:             'CryptEccSignature.c:781,15'
          Dst:             BnValidateSignatureEcdsa
        - Src:             'CryptEccSignature.c:785,15'
          Dst:             BnValidateSignatureEcSchnorr
        - Src:             'CryptEccSignature.c:796,6'
          Dst:             TpmFail
        - Src:             'CryptEccSignature.c:799,5'
          Dst:             EC_GROUP_free
        - Src:             'CryptEccSignature.c:799,5'
          Dst:             OsslContextLeave
    - functionName:    BnValidateSignatureEcdsa
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 574
      functionLinenumberEnd: 612
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          130
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - BnDiv
        - BnInit
        - BnInitializePoint
        - BnModInverse
        - BnModMult
        - BnPointMult
        - BnUnsignedCmp
        - EcdsaDigest
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccSignature.c:577,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:578,5'
          Dst:             BnInitializePoint
        - Src:             'CryptEccSignature.c:579,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:580,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:581,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:585,5'
          Dst:             EcdsaDigest
        - Src:             'CryptEccSignature.c:594,9'
          Dst:             BnModInverse
        - Src:             'CryptEccSignature.c:597,5'
          Dst:             BnModMult
        - Src:             'CryptEccSignature.c:598,5'
          Dst:             BnModMult
        - Src:             'CryptEccSignature.c:602,8'
          Dst:             BnPointMult
        - Src:             'CryptEccSignature.c:606,5'
          Dst:             BnDiv
        - Src:             'CryptEccSignature.c:608,8'
          Dst:             BnUnsignedCmp
    - functionName:    EcdsaDigest
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          86
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - BnFromBytes
        - BnSetWord
        - BnShiftRight
        - BnSizeInBits
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccSignature.c:79,34'
          Dst:             BnSizeInBits
        - Src:             'CryptEccSignature.c:83,2'
          Dst:             BnSetWord
        - Src:             'CryptEccSignature.c:86,6'
          Dst:             BnFromBytes
        - Src:             'CryptEccSignature.c:88,14'
          Dst:             BnSizeInBits
        - Src:             'CryptEccSignature.c:90,3'
          Dst:             BnShiftRight
    - functionName:    BnSignEcSchnorr
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 371
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          159
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - BnEccGenerateKeyPair
        - BnFrom2B
        - BnInit
        - BnInitializePoint
        - BnSchnorrSign
        - BnSetWord
        - BnSizeInBits
        - BnTo2B
        - CryptDigestUpdate2B
        - CryptHashEnd
        - CryptHashGetDigestSize
        - CryptHashStart
        - SchnorrReduce
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccSignature.c:326,4'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptEccSignature.c:334,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:335,5'
          Dst:             BnInitializePoint
        - Src:             'CryptEccSignature.c:347,6'
          Dst:             BnSetWord
        - Src:             'CryptEccSignature.c:348,6'
          Dst:             BnSetWord
        - Src:             'CryptEccSignature.c:354,10'
          Dst:             BnEccGenerateKeyPair
        - Src:             'CryptEccSignature.c:357,34'
          Dst:             BnSizeInBits
        - Src:             'CryptEccSignature.c:357,6'
          Dst:             BnTo2B
        - Src:             'CryptEccSignature.c:359,6'
          Dst:             CryptHashStart
        - Src:             'CryptEccSignature.c:360,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'CryptEccSignature.c:361,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'CryptEccSignature.c:362,16'
          Dst:             CryptHashEnd
        - Src:             'CryptEccSignature.c:364,6'
          Dst:             SchnorrReduce
        - Src:             'CryptEccSignature.c:366,6'
          Dst:             BnFrom2B
        - Src:             'CryptEccSignature.c:368,15'
          Dst:             BnSchnorrSign
    - functionName:    BnSignEcdaa
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 284
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          150
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - BnEccGetPrivate
        - BnFrom2B
        - BnInit
        - BnSchnorrSign
        - BnTo2B
        - CryptDigestUpdate2B
        - CryptEndCommit
        - CryptGenerateR
        - CryptHashEnd2B
        - CryptHashStart
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccSignature.c:237,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:240,9'
          Dst:             CryptGenerateR
        - Src:             'CryptEccSignature.c:248,6'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:248,6'
          Dst:             BnFrom2B
        - Src:             'CryptEccSignature.c:253,11'
          Dst:             BnEccGetPrivate
        - Src:             'CryptEccSignature.c:258,7'
          Dst:             BnTo2B
        - Src:             'CryptEccSignature.c:259,18'
          Dst:             CryptHashStart
        - Src:             'CryptEccSignature.c:266,8'
          Dst:             CryptDigestUpdate2B
        - Src:             'CryptEccSignature.c:267,8'
          Dst:             CryptDigestUpdate2B
        - Src:             'CryptEccSignature.c:268,8'
          Dst:             CryptHashEnd2B
        - Src:             'CryptEccSignature.c:269,8'
          Dst:             BnFrom2B
        - Src:             'CryptEccSignature.c:271,17'
          Dst:             BnSchnorrSign
        - Src:             'CryptEccSignature.c:282,3'
          Dst:             CryptEndCommit
    - functionName:    CryptEccSign
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 501
      functionLinenumberEnd: 557
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          232
      EdgeCount:       35
      CyclomaticComplexity: 8
      functionsReached:
        - BnCurveInitialize
        - BnFrom2B
        - BnInit
        - BnSignEcSchnorr
        - BnSignEcdaa
        - BnSignEcdsa
        - BnSizeInBits
        - BnTo2B
        - CryptTestAlgorithm
        - EC_GROUP_free
        - OsslContextLeave
        - TestBit
      functionUses:    2
      BranchProfiles:
        - Branch String:   'CryptEccSignature.c:518,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptEccSignature.c:502,5'
          Dst:             BnCurveInitialize
        - Src:             'CryptEccSignature.c:503,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:503,5'
          Dst:             BnFrom2B
        - Src:             'CryptEccSignature.c:504,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:505,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:517,5'
          Dst:             TestBit
        - Src:             'CryptEccSignature.c:517,5'
          Dst:             CryptTestAlgorithm
        - Src:             'CryptEccSignature.c:521,15'
          Dst:             BnSignEcdsa
        - Src:             'CryptEccSignature.c:525,15'
          Dst:             BnSignEcdaa
        - Src:             'CryptEccSignature.c:532,15'
          Dst:             BnSignEcSchnorr
        - Src:             'CryptEccSignature.c:549,13'
          Dst:             BnSizeInBits
        - Src:             'CryptEccSignature.c:551,3'
          Dst:             BnTo2B
        - Src:             'CryptEccSignature.c:553,3'
          Dst:             BnTo2B
        - Src:             'CryptEccSignature.c:556,5'
          Dst:             EC_GROUP_free
        - Src:             'CryptEccSignature.c:556,5'
          Dst:             OsslContextLeave
    - functionName:    BnSignEcdsa
      functionSourceFile: '/src/ibmswtpm2/src/CryptEccSignature.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          181
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - BnAdd
        - BnCopy
        - BnDiv
        - BnEccGenerateKeyPair
        - BnInit
        - BnInitializePoint
        - BnModInverse
        - BnModMult
        - EcdsaDigest
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptEccSignature.c:145,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:146,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:147,5'
          Dst:             BnInit
        - Src:             'CryptEccSignature.c:148,5'
          Dst:             BnInitializePoint
        - Src:             'CryptEccSignature.c:154,5'
          Dst:             TpmFail
        - Src:             'CryptEccSignature.c:175,11'
          Dst:             BnEccGenerateKeyPair
        - Src:             'CryptEccSignature.c:178,7'
          Dst:             BnDiv
        - Src:             'CryptEccSignature.c:183,7'
          Dst:             BnCopy
        - Src:             'CryptEccSignature.c:185,13'
          Dst:             BnModInverse
        - Src:             'CryptEccSignature.c:191,6'
          Dst:             EcdsaDigest
        - Src:             'CryptEccSignature.c:196,6'
          Dst:             BnModMult
        - Src:             'CryptEccSignature.c:198,6'
          Dst:             BnAdd
        - Src:             'CryptEccSignature.c:200,6'
          Dst:             BnModMult
    - functionName:    CryptKDFe
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 835
      functionLinenumberEnd: 899
      functionDepth:   0
      returnType:      short
      argCount:        7
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          270
      EdgeCount:       60
      CyclomaticComplexity: 16
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptGetHashDef
        - CryptHashEnd
        - CryptHashStart
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:837,32'
          Dst:             CryptGetHashDef
        - Src:             'CryptHash.c:842,5'
          Dst:             TpmFail
        - Src:             'CryptHash.c:867,6'
          Dst:             CryptHashStart
        - Src:             'CryptHash.c:869,6'
          Dst:             CryptDigestUpdateInt
        - Src:             'CryptHash.c:872,3'
          Dst:             CryptDigestUpdate2B
        - Src:             'CryptHash.c:875,3'
          Dst:             CryptDigestUpdate2B
        - Src:             'CryptHash.c:884,3'
          Dst:             CryptDigestUpdateInt
        - Src:             'CryptHash.c:887,3'
          Dst:             CryptDigestUpdate2B
        - Src:             'CryptHash.c:890,3'
          Dst:             CryptDigestUpdate2B
        - Src:             'CryptHash.c:893,6'
          Dst:             CryptHashEnd
    - functionName:    CryptGetHashDef
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       14
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    10
      BranchProfiles:
        - Branch String:   'CryptHash.c:116,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    CryptHashStart
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 420
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          76
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CryptGetHashDef
        - CryptTestAlgorithm
        - TestBit
      functionUses:    49
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:422,5'
          Dst:             TestBit
        - Src:             'CryptHash.c:422,5'
          Dst:             CryptTestAlgorithm
        - Src:             'CryptHash.c:430,23'
          Dst:             CryptGetHashDef
    - functionName:    CryptDigestUpdateInt
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 543
      functionLinenumberEnd: 548
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate
      functionUses:    44
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:547,5'
          Dst:             CryptDigestUpdate
    - functionName:    CryptDigestUpdate2B
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 510
      functionLinenumberEnd: 517
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          35
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate
        - TpmFail
      functionUses:    88
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:515,5'
          Dst:             TpmFail
        - Src:             'CryptHash.c:516,5'
          Dst:             CryptDigestUpdate
    - functionName:    CryptHashEnd
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 477
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          36
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - HashEnd
        - TpmFail
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:478,5'
          Dst:             TpmFail
        - Src:             'CryptHash.c:479,12'
          Dst:             HashEnd
    - functionName:    HashEnd
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 383
      functionLinenumberEnd: 401
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          110
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - CryptGetHashDef
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:390,23'
          Dst:             CryptGetHashDef
    - functionName:    CryptDigestUpdate
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 447
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          96
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - TpmFail
      functionUses:    31
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:459,3'
          Dst:             TpmFail
    - functionName:    SHA512_Init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SHA512_Update
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SHA512_Final
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    memcpy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SHA384_Init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SHA384_Update
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SHA384_Final
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SHA256_Init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SHA256_Update
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SHA256_Final
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SHA1_Init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SHA1_Update
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SHA1_Final
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptKDFa
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 754
      functionLinenumberEnd: 815
      functionDepth:   0
      returnType:      short
      argCount:        9
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          337
      EdgeCount:       62
      CyclomaticComplexity: 16
      functionsReached:
        - CryptDigestUpdateInt
        - CryptHashGetDigestSize
        - CryptHmacEnd
        - CryptHmacStart
        - CryptTestAlgorithm
        - TestBit
        - TpmFail
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:760,43'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptHash.c:761,5'
          Dst:             TpmFail
        - Src:             'CryptHash.c:762,5'
          Dst:             TestBit
        - Src:             'CryptHash.c:762,5'
          Dst:             CryptTestAlgorithm
        - Src:             'CryptHash.c:769,5'
          Dst:             TpmFail
        - Src:             'CryptHash.c:781,9'
          Dst:             CryptHmacStart
        - Src:             'CryptHash.c:784,6'
          Dst:             CryptDigestUpdateInt
        - Src:             'CryptHash.c:796,3'
          Dst:             CryptDigestUpdateInt
        - Src:             'CryptHash.c:804,6'
          Dst:             CryptDigestUpdateInt
        - Src:             'CryptHash.c:806,6'
          Dst:             CryptHmacEnd
    - functionName:    CryptHashGetDigestSize
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptGetHashDef
      functionUses:    77
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:233,12'
          Dst:             CryptGetHashDef
    - functionName:    CryptHmacStart
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 563
      functionLinenumberEnd: 607
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          211
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - CryptDigestUpdate
        - CryptGetHashDef
        - CryptHashBlock
        - CryptHashStart
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:568,15'
          Dst:             CryptGetHashDef
        - Src:             'CryptHash.c:576,31'
          Dst:             CryptHashBlock
        - Src:             'CryptHash.c:596,6'
          Dst:             CryptHashStart
        - Src:             'CryptHash.c:597,6'
          Dst:             CryptDigestUpdate
    - functionName:    CryptHmacEnd
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 621
      functionLinenumberEnd: 647
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          129
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - CryptDigestUpdate
        - CryptGetHashDef
        - CryptHashStart
        - HashEnd
        - TpmFail
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:631,5'
          Dst:             TpmFail
        - Src:             'CryptHash.c:632,19'
          Dst:             CryptGetHashDef
        - Src:             'CryptHash.c:640,6'
          Dst:             HashEnd
        - Src:             'CryptHash.c:642,6'
          Dst:             CryptHashStart
        - Src:             'CryptHash.c:643,6'
          Dst:             CryptDigestUpdate
        - Src:             'CryptHash.c:644,6'
          Dst:             CryptDigestUpdate
        - Src:             'CryptHash.c:646,12'
          Dst:             HashEnd
    - functionName:    CryptHashBlock
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 495
      functionLinenumberEnd: 499
      functionDepth:   0
      returnType:      short
      argCount:        5
      argTypes:
        - short
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate
        - CryptHashStart
        - HashEnd
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:497,5'
          Dst:             CryptHashStart
        - Src:             'CryptHash.c:498,5'
          Dst:             CryptDigestUpdate
        - Src:             'CryptHash.c:499,12'
          Dst:             HashEnd
    - functionName:    CryptMGF1
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 696
      functionLinenumberEnd: 724
      functionDepth:   0
      returnType:      short
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          105
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - CryptDigestUpdate
        - CryptGetHashDef
        - CryptHashStart
        - HashEnd
        - Uint32ToByteArray
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:698,33'
          Dst:             CryptGetHashDef
        - Src:             'CryptHash.c:708,6'
          Dst:             Uint32ToByteArray
        - Src:             'CryptHash.c:710,6'
          Dst:             CryptHashStart
        - Src:             'CryptHash.c:711,6'
          Dst:             CryptDigestUpdate
        - Src:             'CryptHash.c:712,6'
          Dst:             CryptDigestUpdate
        - Src:             'CryptHash.c:717,6'
          Dst:             HashEnd
    - functionName:    CryptHmacEnd2B
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 677
      functionLinenumberEnd: 678
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHmacEnd
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:678,12'
          Dst:             CryptHmacEnd
    - functionName:    CryptHmacStart2B
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 665
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHmacStart
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:665,12'
          Dst:             CryptHmacStart
    - functionName:    CryptHashEnd2B
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 531
      functionLinenumberEnd: 532
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHashEnd
      functionUses:    35
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:532,12'
          Dst:             CryptHashEnd
    - functionName:    CryptHashImportState
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 371
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          103
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - CryptGetHashDef
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:362,25'
          Dst:             CryptGetHashDef
    - functionName:    CryptHashExportState
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 333
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          99
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptHashCopyState
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          107
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - CryptGetHashDef
        - TpmFail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:279,5'
          Dst:             TpmFail
        - Src:             'CryptHash.c:285,6'
          Dst:             CryptGetHashDef
    - functionName:    CryptHashGetContextAlg
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 268
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetHashInfoPointer
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptHashGetDer
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 259
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GetHashInfoPointer
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:257,9'
          Dst:             GetHashInfoPointer
    - functionName:    CryptHashGetBlockSize
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptGetHashDef
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptHash.c:246,12'
          Dst:             CryptGetHashDef
    - functionName:    CryptHashGetAlgByIndex
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 221
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptHashIsValidAlg
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          45
      EdgeCount:       18
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'CryptHash.c:156,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    CryptHashStartup
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptHashInit
      functionSourceFile: '/src/ibmswtpm2/src/CryptHash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnGeneratePrimeForRSA
      functionSourceFile: '/src/ibmswtpm2/src/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 328
      functionLinenumberEnd: 342
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          85
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - DRBG_Generate
        - RsaAdjustPrimeCandidate
        - RsaCheckPrime
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptPrime.c:332,5'
          Dst:             TpmFail
        - Src:             'CryptPrime.c:334,5'
          Dst:             TpmFail
        - Src:             'CryptPrime.c:338,6'
          Dst:             DRBG_Generate
        - Src:             'CryptPrime.c:339,6'
          Dst:             RsaAdjustPrimeCandidate
        - Src:             'CryptPrime.c:340,14'
          Dst:             RsaCheckPrime
    - functionName:    RsaAdjustPrimeCandidate
      functionSourceFile: '/src/ibmswtpm2/src/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 308
      functionLinenumberEnd: 318
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          47
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    RsaCheckPrime
      functionSourceFile: '/src/ibmswtpm2/src/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 273
      functionLinenumberEnd: 292
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - PrimeSelectWithSieve
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptPrime.c:292,12'
          Dst:             PrimeSelectWithSieve
    - functionName:    MillerRabinRounds
      functionSourceFile: '/src/ibmswtpm2/src/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    MillerRabin
      functionSourceFile: '/src/ibmswtpm2/src/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         44
      ICount:          251
      EdgeCount:       55
      CyclomaticComplexity: 13
      functionsReached:
        - BnGetRandomBits
        - BnInit
        - BnModExp
        - BnModMult
        - BnShiftRight
        - BnSizeInBits
        - BnSubWord
        - BnTestBit
        - BnUnsignedCmp
        - BnUnsignedCmpWord
        - MillerRabinRounds
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptPrime.c:186,5'
          Dst:             BnInit
        - Src:             'CryptPrime.c:187,5'
          Dst:             BnInit
        - Src:             'CryptPrime.c:188,5'
          Dst:             BnInit
        - Src:             'CryptPrime.c:189,5'
          Dst:             BnInit
        - Src:             'CryptPrime.c:195,53'
          Dst:             BnSizeInBits
        - Src:             'CryptPrime.c:195,35'
          Dst:             MillerRabinRounds
        - Src:             'CryptPrime.c:198,5'
          Dst:             TpmFail
        - Src:             'CryptPrime.c:200,5'
          Dst:             BnSubWord
        - Src:             'CryptPrime.c:201,5'
          Dst:             TpmFail
        - Src:             'CryptPrime.c:209,7'
          Dst:             BnTestBit
        - Src:             'CryptPrime.c:212,5'
          Dst:             BnShiftRight
        - Src:             'CryptPrime.c:214,12'
          Dst:             BnSizeInBits
        - Src:             'CryptPrime.c:222,7'
          Dst:             BnGetRandomBits
        - Src:             'CryptPrime.c:224,12'
          Dst:             BnUnsignedCmpWord
        - Src:             'CryptPrime.c:225,8'
          Dst:             BnUnsignedCmp
        - Src:             'CryptPrime.c:229,6'
          Dst:             BnModExp
        - Src:             'CryptPrime.c:231,10'
          Dst:             BnUnsignedCmpWord
        - Src:             'CryptPrime.c:232,13'
          Dst:             BnUnsignedCmp
        - Src:             'CryptPrime.c:238,7'
          Dst:             BnModMult
        - Src:             'CryptPrime.c:240,10'
          Dst:             BnUnsignedCmp
    - functionName:    BnIsProbablyPrime
      functionSourceFile: '/src/ibmswtpm2/src/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          114
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - BnGcd
        - BnInit
        - BnUnsignedCmpWord
        - IsPrimeInt
        - MillerRabin
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptPrime.c:142,8'
          Dst:             BnUnsignedCmpWord
        - Src:             'CryptPrime.c:146,13'
          Dst:             IsPrimeInt
        - Src:             'CryptPrime.c:149,8'
          Dst:             BnUnsignedCmpWord
        - Src:             'CryptPrime.c:155,2'
          Dst:             BnInit
        - Src:             'CryptPrime.c:156,2'
          Dst:             BnGcd
        - Src:             'CryptPrime.c:160,12'
          Dst:             MillerRabin
    - functionName:    IsPrimeInt
      functionSourceFile: '/src/ibmswtpm2/src/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          121
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - Root2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptPrime.c:119,12'
          Dst:             Root2
    - functionName:    Root2
      functionSourceFile: '/src/ibmswtpm2/src/CryptPrime.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          146
      EdgeCount:       31
      CyclomaticComplexity: 7
      functionsReached:
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptPrime.c:94,3'
          Dst:             TpmFail
        - Src:             'CryptPrime.c:98,5'
          Dst:             TpmFail
        - Src:             'CryptPrime.c:99,5'
          Dst:             TpmFail
    - functionName:    RsaSimulationEnd
      functionSourceFile: '/src/ibmswtpm2/src/CryptPrimeSieve.c'
      linkageType:     InternalLinkage
      functionLinenumber: 515
      functionLinenumberEnd: 516
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PrimeSelectWithSieve
      functionSourceFile: '/src/ibmswtpm2/src/CryptPrimeSieve.c'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 440
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          187
      EdgeCount:       39
      CyclomaticComplexity: 10
      functionsReached:
        - BnAddWord
        - BnCopy
        - BnInit
        - BnModWord
        - BnSizeInBits
        - ClearBit
        - FindNthSetBit
        - MillerRabin
        - PrimeSieve
        - RsaAdjustPrimeLimit
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptPrimeSieve.c:385,5'
          Dst:             BnInit
        - Src:             'CryptPrimeSieve.c:398,17'
          Dst:             BnSizeInBits
        - Src:             'CryptPrimeSieve.c:401,6'
          Dst:             RsaAdjustPrimeLimit
        - Src:             'CryptPrimeSieve.c:405,6'
          Dst:             RsaAdjustPrimeLimit
        - Src:             'CryptPrimeSieve.c:409,6'
          Dst:             RsaAdjustPrimeLimit
        - Src:             'CryptPrimeSieve.c:415,12'
          Dst:             PrimeSieve
        - Src:             'CryptPrimeSieve.c:416,5'
          Dst:             TpmFail
        - Src:             'CryptPrimeSieve.c:420,15'
          Dst:             FindNthSetBit
        - Src:             'CryptPrimeSieve.c:422,3'
          Dst:             TpmFail
        - Src:             'CryptPrimeSieve.c:424,6'
          Dst:             BnAddWord
        - Src:             'CryptPrimeSieve.c:428,13'
          Dst:             BnModWord
        - Src:             'CryptPrimeSieve.c:429,39'
          Dst:             MillerRabin
        - Src:             'CryptPrimeSieve.c:431,7'
          Dst:             BnCopy
        - Src:             'CryptPrimeSieve.c:435,6'
          Dst:             ClearBit
    - functionName:    RsaAdjustPrimeLimit
      functionSourceFile: '/src/ibmswtpm2/src/CryptPrimeSieve.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          56
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PrimeSieve
      functionSourceFile: '/src/ibmswtpm2/src/CryptPrimeSieve.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          305
      EdgeCount:       61
      CyclomaticComplexity: 15
      functionsReached:
        - BitsInArray
        - BnModWord
        - BnSubWord
        - ClearBit
        - RsaNextPrime
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptPrimeSieve.c:265,5'
          Dst:             TpmFail
        - Src:             'CryptPrimeSieve.c:269,14'
          Dst:             BnModWord
        - Src:             'CryptPrimeSieve.c:274,5'
          Dst:             BnSubWord
        - Src:             'CryptPrimeSieve.c:289,24'
          Dst:             RsaNextPrime
        - Src:             'CryptPrimeSieve.c:296,14'
          Dst:             RsaNextPrime
        - Src:             'CryptPrimeSieve.c:303,18'
          Dst:             BnModWord
        - Src:             'CryptPrimeSieve.c:332,4'
          Dst:             ClearBit
        - Src:             'CryptPrimeSieve.c:343,9'
          Dst:             BitsInArray
    - functionName:    FindNthSetBit
      functionSourceFile: '/src/ibmswtpm2/src/CryptPrimeSieve.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          163
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    RsaNextPrime
      functionSourceFile: '/src/ibmswtpm2/src/CryptPrimeSieve.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          63
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BitsInArray
      functionSourceFile: '/src/ibmswtpm2/src/CryptPrimeSieve.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          51
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    DfCompute
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          101
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - AES_encrypt
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:104,6'
          Dst:             AES_encrypt
    - functionName:    CryptRandInit
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 648
      functionLinenumberEnd: 652
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - DRBG_SelfTest
        - _plat__GetEntropy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:650,5'
          Dst:             _plat__GetEntropy
        - Src:             'CryptRand.c:652,12'
          Dst:             DRBG_SelfTest
    - functionName:    DRBG_SelfTest
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 425
      functionLinenumberEnd: 481
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         24
      ICount:          140
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - DRBG_Generate
        - DRBG_Instantiate
        - DRBG_Reseed
        - DRBG_Uninstantiate
        - TpmFail
        - memcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:432,5'
          Dst:             TpmFail
        - Src:             'CryptRand.c:436,9'
          Dst:             DRBG_Instantiate
        - Src:             'CryptRand.c:444,8'
          Dst:             DRBG_Generate
        - Src:             'CryptRand.c:452,8'
          Dst:             memcmp
        - Src:             'CryptRand.c:455,5'
          Dst:             DRBG_Reseed
        - Src:             'CryptRand.c:463,8'
          Dst:             DRBG_Generate
        - Src:             'CryptRand.c:465,8'
          Dst:             memcmp
        - Src:             'CryptRand.c:468,5'
          Dst:             DRBG_Uninstantiate
        - Src:             'CryptRand.c:477,8'
          Dst:             DRBG_Instantiate
    - functionName:    DRBG_Instantiate
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 791
      functionLinenumberEnd: 813
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          107
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - DRBG_GetEntropy
        - DRBG_Reseed
        - DRBG_SelfTest
        - DfBuffer
        - TpmFail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:795,5'
          Dst:             TpmFail
        - Src:             'CryptRand.c:799,45'
          Dst:             DRBG_SelfTest
        - Src:             'CryptRand.c:803,9'
          Dst:             DRBG_GetEntropy
        - Src:             'CryptRand.c:811,35'
          Dst:             DfBuffer
        - Src:             'CryptRand.c:811,5'
          Dst:             DRBG_Reseed
    - functionName:    DRBG_Generate
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 666
      functionLinenumberEnd: 777
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          360
      EdgeCount:       53
      CyclomaticComplexity: 13
      functionsReached:
        - AES_set_encrypt_key
        - CryptKDFa
        - DRBG_Reseed
        - DRBG_Update
        - EncryptDRBG
        - MemoryCopy
        - TpmFail
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:696,8'
          Dst:             MemoryCopy
        - Src:             'CryptRand.c:715,9'
          Dst:             CryptKDFa
        - Src:             'CryptRand.c:725,32'
          Dst:             CryptKDFa
        - Src:             'CryptRand.c:745,8'
          Dst:             DRBG_Reseed
        - Src:             'CryptRand.c:752,4'
          Dst:             TpmFail
        - Src:             'CryptRand.c:761,9'
          Dst:             AES_set_encrypt_key
        - Src:             'CryptRand.c:763,3'
          Dst:             TpmFail
        - Src:             'CryptRand.c:765,6'
          Dst:             EncryptDRBG
        - Src:             'CryptRand.c:768,6'
          Dst:             DRBG_Update
        - Src:             'CryptRand.c:774,6'
          Dst:             TpmFail
    - functionName:    DRBG_Reseed
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 415
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          111
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - DRBG_GetEntropy
        - DRBG_Update
        - TpmFail
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:398,5'
          Dst:             TpmFail
        - Src:             'CryptRand.c:402,10'
          Dst:             DRBG_GetEntropy
        - Src:             'CryptRand.c:412,5'
          Dst:             DRBG_Update
    - functionName:    DRBG_Uninstantiate
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 820
      functionLinenumberEnd: 825
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          34
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    DRBG_GetEntropy
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 262
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          124
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - TpmFail
        - _plat__GetEntropy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:240,7'
          Dst:             TpmFail
        - Src:             'CryptRand.c:255,25'
          Dst:             _plat__GetEntropy
    - functionName:    DRBG_Update
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 355
      functionLinenumberEnd: 382
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          114
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - AES_set_encrypt_key
        - EncryptDRBG
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:362,5'
          Dst:             TpmFail
        - Src:             'CryptRand.c:366,9'
          Dst:             AES_set_encrypt_key
        - Src:             'CryptRand.c:368,3'
          Dst:             TpmFail
        - Src:             'CryptRand.c:372,5'
          Dst:             EncryptDRBG
    - functionName:    EncryptDRBG
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 286
      functionLinenumberEnd: 340
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          156
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - AES_encrypt
        - IncrementIv
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:299,6'
          Dst:             IncrementIv
        - Src:             'CryptRand.c:300,6'
          Dst:             AES_encrypt
        - Src:             'CryptRand.c:310,3'
          Dst:             TpmFail
    - functionName:    IncrementIv
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 273
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          45
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    DfBuffer
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - DfEnd
        - DfStart
        - DfUpdate
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:206,5'
          Dst:             DfStart
        - Src:             'CryptRand.c:207,5'
          Dst:             DfUpdate
        - Src:             'CryptRand.c:208,5'
          Dst:             DfEnd
    - functionName:    DfStart
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          69
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - AES_set_encrypt_key
        - DfCompute
        - Uint32ToByteArray
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:131,5'
          Dst:             AES_set_encrypt_key
        - Src:             'CryptRand.c:135,5'
          Dst:             DfCompute
        - Src:             'CryptRand.c:138,5'
          Dst:             Uint32ToByteArray
        - Src:             'CryptRand.c:139,5'
          Dst:             Uint32ToByteArray
    - functionName:    DfUpdate
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          100
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - DfCompute
        - TpmFail
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:166,6'
          Dst:             TpmFail
        - Src:             'CryptRand.c:169,3'
          Dst:             DfCompute
    - functionName:    DfEnd
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - DfCompute
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:189,5'
          Dst:             DfCompute
    - functionName:    CryptRandStartup
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 628
      functionLinenumberEnd: 640
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          25
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - DRBG_Instantiate
        - DRBG_Reseed
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:636,2'
          Dst:             DRBG_Reseed
        - Src:             'CryptRand.c:638,2'
          Dst:             DRBG_Instantiate
    - functionName:    DRBG_InstantiateSeeded
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 592
      functionLinenumberEnd: 620
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          205
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - DRBG_Reseed
        - DRBG_SelfTest
        - DfEnd
        - DfStart
        - DfUpdate
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:596,28'
          Dst:             DRBG_SelfTest
        - Src:             'CryptRand.c:597,2'
          Dst:             TpmFail
        - Src:             'CryptRand.c:607,5'
          Dst:             DfStart
        - Src:             'CryptRand.c:610,2'
          Dst:             DfUpdate
        - Src:             'CryptRand.c:612,2'
          Dst:             DfUpdate
        - Src:             'CryptRand.c:614,2'
          Dst:             DfUpdate
        - Src:             'CryptRand.c:616,2'
          Dst:             DfUpdate
        - Src:             'CryptRand.c:619,44'
          Dst:             DfEnd
        - Src:             'CryptRand.c:619,5'
          Dst:             DRBG_Reseed
    - functionName:    DRBG_AdditionalData
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 573
      functionLinenumberEnd: 580
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - DRBG_Reseed
        - DfBuffer
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:577,6'
          Dst:             DfBuffer
        - Src:             'CryptRand.c:578,6'
          Dst:             DRBG_Reseed
    - functionName:    DRBG_InstantiateSeededKdf
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 552
      functionLinenumberEnd: 563
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - short
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          64
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHashGetDigestSize
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:560,25'
          Dst:             CryptHashGetDigestSize
    - functionName:    CryptRandomGenerate
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 535
      functionLinenumberEnd: 538
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - DRBG_Generate
      functionUses:    23
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:538,12'
          Dst:             DRBG_Generate
    - functionName:    CryptRandomStir
      functionSourceFile: '/src/ibmswtpm2/src/CryptRand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 496
      functionLinenumberEnd: 527
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - DRBG_GetEntropy
        - DRBG_Reseed
        - DfBuffer
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRand.c:502,9'
          Dst:             DRBG_GetEntropy
        - Src:             'CryptRand.c:505,3'
          Dst:             DfBuffer
        - Src:             'CryptRand.c:504,5'
          Dst:             DRBG_Reseed
    - functionName:    RsaPrivateKeyOp
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          201
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - BnAdd
        - BnInit
        - BnModExp
        - BnModMult
        - BnMult
        - BnSub
        - BnUnsignedCmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRsa.c:175,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:176,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:177,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:178,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:185,8'
          Dst:             BnUnsignedCmp
        - Src:             'CryptRsa.c:192,10'
          Dst:             BnModExp
        - Src:             'CryptRsa.c:194,16'
          Dst:             BnModExp
        - Src:             'CryptRsa.c:197,16'
          Dst:             BnSub
        - Src:             'CryptRsa.c:198,16'
          Dst:             BnAdd
        - Src:             'CryptRsa.c:199,16'
          Dst:             BnModMult
        - Src:             'CryptRsa.c:201,16'
          Dst:             BnMult
        - Src:             'CryptRsa.c:202,16'
          Dst:             BnAdd
    - functionName:    CryptRsaGenerateKey
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1052
      functionLinenumberEnd: 1167
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         59
      ICount:          390
      EdgeCount:       79
      CyclomaticComplexity: 22
      functionsReached:
        - BnCopy
        - BnGeneratePrimeForRSA
        - BnGenerateRandomInRange
        - BnInit
        - BnModExp
        - BnMsb
        - BnMult
        - BnSetWord
        - BnSub
        - BnTo2B
        - BnUnsignedCmp
        - ComputePrivateExponent
        - CryptTestAlgorithm
        - IsPrimeInt
        - RsaInitializeExponent
        - RsaPrivateKeyOp
        - TestBit
        - TpmFail
        - _plat__IsCanceled
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRsa.c:1054,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:1055,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:1056,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:1057,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:1058,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:1072,45'
          Dst:             IsPrimeInt
        - Src:             'CryptRsa.c:1074,5'
          Dst:             BnSetWord
        - Src:             'CryptRsa.c:1089,5'
          Dst:             TestBit
        - Src:             'CryptRsa.c:1089,5'
          Dst:             CryptTestAlgorithm
        - Src:             'CryptRsa.c:1091,5'
          Dst:             RsaInitializeExponent
        - Src:             'CryptRsa.c:1101,9'
          Dst:             _plat__IsCanceled
        - Src:             'CryptRsa.c:1103,6'
          Dst:             BnGeneratePrimeForRSA
        - Src:             'CryptRsa.c:1110,7'
          Dst:             BnCopy
        - Src:             'CryptRsa.c:1115,9'
          Dst:             BnUnsignedCmp
        - Src:             'CryptRsa.c:1116,3'
          Dst:             BnSub
        - Src:             'CryptRsa.c:1118,3'
          Dst:             BnSub
        - Src:             'CryptRsa.c:1119,9'
          Dst:             BnMsb
        - Src:             'CryptRsa.c:1122,6'
          Dst:             BnMult
        - Src:             'CryptRsa.c:1123,6'
          Dst:             BnTo2B
        - Src:             'CryptRsa.c:1126,6'
          Dst:             BnTo2B
        - Src:             'CryptRsa.c:1132,3'
          Dst:             TpmFail
        - Src:             'CryptRsa.c:1134,9'
          Dst:             ComputePrivateExponent
        - Src:             'CryptRsa.c:1141,4'
          Dst:             BnCopy
        - Src:             'CryptRsa.c:1148,7'
          Dst:             BnInit
        - Src:             'CryptRsa.c:1149,7'
          Dst:             BnInit
        - Src:             'CryptRsa.c:1150,7'
          Dst:             BnGenerateRandomInRange
        - Src:             'CryptRsa.c:1152,7'
          Dst:             BnModExp
        - Src:             'CryptRsa.c:1154,7'
          Dst:             RsaPrivateKeyOp
        - Src:             'CryptRsa.c:1157,10'
          Dst:             BnUnsignedCmp
        - Src:             'CryptRsa.c:1159,8'
          Dst:             BnSetWord
    - functionName:    RsaInitializeExponent
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - BnInit
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRsa.c:99,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:100,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:101,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:102,5'
          Dst:             BnInit
    - functionName:    ComputePrivateExponent
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          180
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - BnCopy
        - BnInit
        - BnModInverse
        - BnSetWord
        - BnSubWord
        - BnUnsignedCmp
        - RsaInitializeExponent
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRsa.c:130,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:134,5'
          Dst:             RsaInitializeExponent
        - Src:             'CryptRsa.c:135,5'
          Dst:             BnCopy
        - Src:             'CryptRsa.c:137,8'
          Dst:             BnUnsignedCmp
        - Src:             'CryptRsa.c:144,11'
          Dst:             BnSubWord
        - Src:             'CryptRsa.c:145,18'
          Dst:             BnModInverse
        - Src:             'CryptRsa.c:147,11'
          Dst:             BnSubWord
        - Src:             'CryptRsa.c:148,18'
          Dst:             BnModInverse
        - Src:             'CryptRsa.c:151,14'
          Dst:             BnModInverse
        - Src:             'CryptRsa.c:154,2'
          Dst:             BnSetWord
        - Src:             'CryptRsa.c:156,2'
          Dst:             BnSetWord
    - functionName:    RSASSA_Decode
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 687
      functionLinenumberEnd: 723
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          215
      EdgeCount:       32
      CyclomaticComplexity: 8
      functionsReached:
        - CryptHashGetDer
        - CryptHashGetDigestSize
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRsa.c:691,32'
          Dst:             CryptHashGetDer
        - Src:             'CryptRsa.c:692,33'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptRsa.c:697,5'
          Dst:             TpmFail
    - functionName:    PssDecode
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 553
      functionLinenumberEnd: 629
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          292
      EdgeCount:       39
      CyclomaticComplexity: 9
      functionsReached:
        - CryptDigestUpdate
        - CryptHashEnd
        - CryptHashGetDigestSize
        - CryptHashStart
        - CryptMGF1
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRsa.c:554,29'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptRsa.c:565,5'
          Dst:             TpmFail
        - Src:             'CryptRsa.c:577,5'
          Dst:             CryptMGF1
        - Src:             'CryptRsa.c:580,5'
          Dst:             TpmFail
        - Src:             'CryptRsa.c:612,5'
          Dst:             CryptHashStart
        - Src:             'CryptRsa.c:614,5'
          Dst:             CryptDigestUpdate
        - Src:             'CryptRsa.c:616,5'
          Dst:             CryptDigestUpdate
        - Src:             'CryptRsa.c:618,5'
          Dst:             CryptDigestUpdate
        - Src:             'CryptRsa.c:620,14'
          Dst:             CryptHashEnd
    - functionName:    CryptRsaValidateSignature
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 993
      functionLinenumberEnd: 1030
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          167
      EdgeCount:       32
      CyclomaticComplexity: 5
      functionsReached:
        - CryptTestAlgorithm
        - PssDecode
        - RSAEP
        - RSASSA_Decode
        - TestBit
        - TpmFail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'CryptRsa.c:998,5'
          Branch Sides:    []
        - Branch String:   'CryptRsa.c:1014,6'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptRsa.c:997,5'
          Dst:             TpmFail
        - Src:             'CryptRsa.c:1009,5'
          Dst:             TestBit
        - Src:             'CryptRsa.c:1009,5'
          Dst:             CryptTestAlgorithm
        - Src:             'CryptRsa.c:1011,14'
          Dst:             RSAEP
        - Src:             'CryptRsa.c:1017,16'
          Dst:             PssDecode
        - Src:             'CryptRsa.c:1021,16'
          Dst:             RSASSA_Decode
    - functionName:    RSAEP
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          72
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ModExpB
        - Uint32ToByteArray
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRsa.c:228,2'
          Dst:             Uint32ToByteArray
        - Src:             'CryptRsa.c:230,12'
          Dst:             ModExpB
    - functionName:    RSASSA_Encode
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 644
      functionLinenumberEnd: 674
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          162
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - CryptHashGetDer
        - CryptHashGetDigestSize
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRsa.c:647,32'
          Dst:             CryptHashGetDer
        - Src:             'CryptRsa.c:655,8'
          Dst:             CryptHashGetDigestSize
    - functionName:    PssEncode
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 491
      functionLinenumberEnd: 535
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          203
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptHashEnd
        - CryptHashGetDigestSize
        - CryptHashStart
        - CryptMGF1
        - DRBG_Generate
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRsa.c:492,33'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptRsa.c:500,5'
          Dst:             TpmFail
        - Src:             'CryptRsa.c:513,5'
          Dst:             DRBG_Generate
        - Src:             'CryptRsa.c:515,5'
          Dst:             CryptHashStart
        - Src:             'CryptRsa.c:516,5'
          Dst:             CryptDigestUpdate
        - Src:             'CryptRsa.c:517,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'CryptRsa.c:518,5'
          Dst:             CryptDigestUpdate
        - Src:             'CryptRsa.c:519,5'
          Dst:             CryptHashEnd
        - Src:             'CryptRsa.c:521,8'
          Dst:             CryptMGF1
        - Src:             'CryptRsa.c:522,2'
          Dst:             TpmFail
    - functionName:    CryptRsaSign
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 948
      functionLinenumberEnd: 979
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          151
      EdgeCount:       25
      CyclomaticComplexity: 5
      functionsReached:
        - CryptTestAlgorithm
        - PssEncode
        - RSADP
        - RSASSA_Encode
        - TestBit
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'CryptRsa.c:957,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptRsa.c:952,5'
          Dst:             TpmFail
        - Src:             'CryptRsa.c:956,5'
          Dst:             TestBit
        - Src:             'CryptRsa.c:956,5'
          Dst:             CryptTestAlgorithm
        - Src:             'CryptRsa.c:963,15'
          Dst:             PssEncode
        - Src:             'CryptRsa.c:967,15'
          Dst:             RSASSA_Encode
        - Src:             'CryptRsa.c:976,15'
          Dst:             RSADP
    - functionName:    RSADP
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          93
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - BnFrom2B
        - BnInit
        - BnTo2B
        - BnUnsignedCmp
        - CryptRsaLoadPrivateExponent
        - RsaPrivateKeyOp
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRsa.c:248,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:248,5'
          Dst:             BnFrom2B
        - Src:             'CryptRsa.c:249,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:249,5'
          Dst:             BnFrom2B
        - Src:             'CryptRsa.c:250,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:250,5'
          Dst:             BnFrom2B
        - Src:             'CryptRsa.c:251,8'
          Dst:             BnUnsignedCmp
        - Src:             'CryptRsa.c:258,2'
          Dst:             CryptRsaLoadPrivateExponent
        - Src:             'CryptRsa.c:259,9'
          Dst:             RsaPrivateKeyOp
        - Src:             'CryptRsa.c:260,2'
          Dst:             TpmFail
        - Src:             'CryptRsa.c:261,5'
          Dst:             BnTo2B
    - functionName:    CryptRsaLoadPrivateExponent
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 778
      functionLinenumberEnd: 803
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          143
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - BnDiv
        - BnFrom2B
        - BnInit
        - BnInitializeWord
        - ComputePrivateExponent
        - CryptTestAlgorithm
        - RsaInitializeExponent
        - TestBit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRsa.c:779,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:779,5'
          Dst:             BnFrom2B
        - Src:             'CryptRsa.c:780,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:780,5'
          Dst:             BnFrom2B
        - Src:             'CryptRsa.c:781,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:782,5'
          Dst:             BnInit
        - Src:             'CryptRsa.c:783,5'
          Dst:             BnInitializeWord
        - Src:             'CryptRsa.c:789,6'
          Dst:             TestBit
        - Src:             'CryptRsa.c:789,6'
          Dst:             CryptTestAlgorithm
        - Src:             'CryptRsa.c:791,6'
          Dst:             RsaInitializeExponent
        - Src:             'CryptRsa.c:793,6'
          Dst:             BnDiv
        - Src:             'CryptRsa.c:797,10'
          Dst:             ComputePrivateExponent
    - functionName:    OaepDecode
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 354
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          324
      EdgeCount:       52
      CyclomaticComplexity: 13
      functionsReached:
        - CryptHashBlock
        - CryptHashGetDigestSize
        - CryptMGF1
        - TpmFail
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRsa.c:357,25'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptRsa.c:368,5'
          Dst:             CryptMGF1
        - Src:             'CryptRsa.c:371,5'
          Dst:             TpmFail
        - Src:             'CryptRsa.c:377,5'
          Dst:             CryptMGF1
        - Src:             'CryptRsa.c:385,9'
          Dst:             CryptHashBlock
        - Src:             'CryptRsa.c:387,2'
          Dst:             TpmFail
        - Src:             'CryptRsa.c:388,8'
          Dst:             memcmp
    - functionName:    RSAES_Decode
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 458
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          167
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptRsaDecrypt
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 900
      functionLinenumberEnd: 934
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          162
      EdgeCount:       32
      CyclomaticComplexity: 7
      functionsReached:
        - CryptTestAlgorithm
        - MemoryCopy2B
        - OaepDecode
        - RSADP
        - RSAES_Decode
        - TestBit
        - TpmFail
      functionUses:    5
      BranchProfiles:
        - Branch String:   'CryptRsa.c:914,6'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptRsa.c:903,5'
          Dst:             TpmFail
        - Src:             'CryptRsa.c:907,5'
          Dst:             TestBit
        - Src:             'CryptRsa.c:907,5'
          Dst:             CryptTestAlgorithm
        - Src:             'CryptRsa.c:910,14'
          Dst:             RSADP
        - Src:             'CryptRsa.c:919,7'
          Dst:             MemoryCopy2B
        - Src:             'CryptRsa.c:922,16'
          Dst:             RSAES_Decode
        - Src:             'CryptRsa.c:925,16'
          Dst:             OaepDecode
    - functionName:    OaepEncode
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 277
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          296
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - CryptHashBlock
        - CryptHashGetDigestSize
        - CryptMGF1
        - CryptRandomGenerate
        - DRBG_Generate
        - MemorySet
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRsa.c:283,25'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptRsa.c:288,5'
          Dst:             TpmFail
        - Src:             'CryptRsa.c:303,8'
          Dst:             CryptHashBlock
        - Src:             'CryptRsa.c:308,5'
          Dst:             MemorySet
        - Src:             'CryptRsa.c:316,5'
          Dst:             CryptRandomGenerate
        - Src:             'CryptRsa.c:317,5'
          Dst:             DRBG_Generate
        - Src:             'CryptRsa.c:319,5'
          Dst:             CryptMGF1
        - Src:             'CryptRsa.c:326,8'
          Dst:             CryptMGF1
    - functionName:    RSAES_PKCS1v1_5Encode
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 423
      functionLinenumberEnd: 448
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          136
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - DRBG_Generate
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRsa.c:435,5'
          Dst:             DRBG_Generate
    - functionName:    CryptRsaEncrypt
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 830
      functionLinenumberEnd: 882
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          213
      EdgeCount:       32
      CyclomaticComplexity: 7
      functionsReached:
        - CryptTestAlgorithm
        - MemoryCopy2B
        - OaepEncode
        - RSAEP
        - RSAES_PKCS1v1_5Encode
        - TestBit
      functionUses:    4
      BranchProfiles:
        - Branch String:   'CryptRsa.c:844,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptRsa.c:838,6'
          Dst:             MemoryCopy2B
        - Src:             'CryptRsa.c:843,5'
          Dst:             TestBit
        - Src:             'CryptRsa.c:843,5'
          Dst:             CryptTestAlgorithm
        - Src:             'CryptRsa.c:866,15'
          Dst:             RSAES_PKCS1v1_5Encode
        - Src:             'CryptRsa.c:869,15'
          Dst:             OaepEncode
        - Src:             'CryptRsa.c:880,11'
          Dst:             RSAEP
    - functionName:    CryptRsaSelectScheme
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 738
      functionLinenumberEnd: 769
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          94
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - HandleToObject
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptRsa.c:743,17'
          Dst:             HandleToObject
    - functionName:    CryptRsaStartup
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptRsaInit
      functionSourceFile: '/src/ibmswtpm2/src/CryptRsa.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptTestAlgorithm
      functionSourceFile: '/src/ibmswtpm2/src/CryptSelfTest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TestAlgorithm
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptSelfTest.c:210,14'
          Dst:             TestAlgorithm
    - functionName:    CryptInitializeToTest
      functionSourceFile: '/src/ibmswtpm2/src/CryptSelfTest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptTestAlgorithm
        - MemoryCopy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptSelfTest.c:184,5'
          Dst:             MemoryCopy
        - Src:             'CryptSelfTest.c:187,5'
          Dst:             CryptTestAlgorithm
    - functionName:    CryptIncrementalSelfTest
      functionSourceFile: '/src/ibmswtpm2/src/CryptSelfTest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          171
      EdgeCount:       42
      CyclomaticComplexity: 11
      functionsReached:
        - CryptRunSelfTests
        - SetBit
        - TestBit
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptSelfTest.c:146,5'
          Dst:             TpmFail
        - Src:             'CryptSelfTest.c:154,35'
          Dst:             TestBit
        - Src:             'CryptSelfTest.c:156,7'
          Dst:             SetBit
        - Src:             'CryptSelfTest.c:159,9'
          Dst:             CryptRunSelfTests
        - Src:             'CryptSelfTest.c:168,9'
          Dst:             TestBit
    - functionName:    CryptRunSelfTests
      functionSourceFile: '/src/ibmswtpm2/src/CryptSelfTest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          66
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - CryptTestAlgorithm
        - TestBit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptSelfTest.c:87,9'
          Dst:             TestBit
        - Src:             'CryptSelfTest.c:89,32'
          Dst:             CryptTestAlgorithm
    - functionName:    CryptSelfTest
      functionSourceFile: '/src/ibmswtpm2/src/CryptSelfTest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptRunSelfTests
        - MemoryCopy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptSelfTest.c:121,6'
          Dst:             MemoryCopy
        - Src:             'CryptSelfTest.c:125,12'
          Dst:             CryptRunSelfTests
    - functionName:    CryptMacEnd2B
      functionSourceFile: '/src/ibmswtpm2/src/CryptSmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptMacEnd
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptSmac.c:151,12'
          Dst:             CryptMacEnd
    - functionName:    CryptMacEnd
      functionSourceFile: '/src/ibmswtpm2/src/CryptSmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          74
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CryptHmacEnd
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptSmac.c:139,11'
          Dst:             CryptHmacEnd
    - functionName:    CryptMacStart
      functionSourceFile: '/src/ibmswtpm2/src/CryptSmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          63
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CryptHashIsValidAlg
        - CryptHmacStart
        - CryptSmacIsValidAlg
        - CryptSmacStart
        - MemorySet
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptSmac.c:113,5'
          Dst:             MemorySet
        - Src:             'CryptSmac.c:114,8'
          Dst:             CryptHashIsValidAlg
        - Src:             'CryptSmac.c:116,13'
          Dst:             CryptHmacStart
        - Src:             'CryptSmac.c:118,13'
          Dst:             CryptSmacIsValidAlg
        - Src:             'CryptSmac.c:120,13'
          Dst:             CryptSmacStart
    - functionName:    CryptSmacStart
      functionSourceFile: '/src/ibmswtpm2/src/CryptSmac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          71
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - CryptCmacStart
      functionUses:    1
      BranchProfiles:
        - Branch String:   'CryptSmac.c:87,6'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptSmac.c:91,16'
          Dst:             CryptCmacStart
    - functionName:    CryptSymKeyValidate
      functionSourceFile: '/src/ibmswtpm2/src/CryptSym.c'
      linkageType:     InternalLinkage
      functionLinenumber: 473
      functionLinenumberEnd: 481
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          33
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptSymmetricDecrypt
      functionSourceFile: '/src/ibmswtpm2/src/CryptSym.c'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 462
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - short
        - short
        - 'N/A'
        - 'N/A'
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         104
      ICount:          625
      EdgeCount:       122
      CyclomaticComplexity: 20
      functionsReached:
        - AES_set_decrypt_key
        - AES_set_encrypt_key
        - CryptGetSymmetricBlockSize
        - CryptTestAlgorithm
        - TestBit
        - TpmFail
      functionUses:    7
      BranchProfiles:
        - Branch String:   'CryptSym.c:358,5'
          Branch Sides:    []
        - Branch String:   'CryptSym.c:367,6'
          Branch Sides:    []
        - Branch String:   'CryptSym.c:372,6'
          Branch Sides:    []
        - Branch String:   'CryptSym.c:376,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptSym.c:337,5'
          Dst:             TpmFail
        - Src:             'CryptSym.c:340,5'
          Dst:             TestBit
        - Src:             'CryptSym.c:340,5'
          Dst:             CryptTestAlgorithm
        - Src:             'CryptSym.c:341,17'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'CryptSym.c:367,6'
          Dst:             AES_set_decrypt_key
        - Src:             'CryptSym.c:367,6'
          Dst:             TpmFail
        - Src:             'CryptSym.c:372,6'
          Dst:             AES_set_encrypt_key
        - Src:             'CryptSym.c:372,6'
          Dst:             TpmFail
    - functionName:    CryptGetSymmetricBlockSize
      functionSourceFile: '/src/ibmswtpm2/src/CryptSym.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - short
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          46
      EdgeCount:       17
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    10
      BranchProfiles:
        - Branch String:   'CryptSym.c:100,5'
          Branch Sides:    []
        - Branch String:   'CryptSym.c:104,6'
          Branch Sides:    []
      Callsites:       []
    - functionName:    AES_set_decrypt_key
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    AES_decrypt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptSymmetricEncrypt
      functionSourceFile: '/src/ibmswtpm2/src/CryptSym.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - short
        - short
        - 'N/A'
        - 'N/A'
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         98
      ICount:          584
      EdgeCount:       120
      CyclomaticComplexity: 24
      functionsReached:
        - AES_set_encrypt_key
        - CryptGetSymmetricBlockSize
        - CryptTestAlgorithm
        - TestBit
        - TpmFail
      functionUses:    6
      BranchProfiles:
        - Branch String:   'CryptSym.c:207,5'
          Branch Sides:    []
        - Branch String:   'CryptSym.c:208,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptSym.c:188,5'
          Dst:             TpmFail
        - Src:             'CryptSym.c:191,5'
          Dst:             TestBit
        - Src:             'CryptSym.c:191,5'
          Dst:             CryptTestAlgorithm
        - Src:             'CryptSym.c:192,17'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'CryptSym.c:207,5'
          Dst:             AES_set_encrypt_key
        - Src:             'CryptSym.c:207,5'
          Dst:             TpmFail
    - functionName:    CryptSymStartup
      functionSourceFile: '/src/ibmswtpm2/src/CryptSym.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptSymInit
      functionSourceFile: '/src/ibmswtpm2/src/CryptSym.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptSymModeIsValid
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1810
      functionLinenumberEnd: 1836
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          49
      EdgeCount:       20
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'CryptUtil.c:1811,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    CryptSmacIsValidAlg
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1787
      functionLinenumberEnd: 1801
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          31
      EdgeCount:       8
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'CryptUtil.c:1788,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    CryptMacIsValidForKey
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1765
      functionLinenumberEnd: 1778
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - short
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - CryptHashIsValidAlg
        - CryptSmacIsValidAlg
      functionUses:    1
      BranchProfiles:
        - Branch String:   'CryptUtil.c:1766,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptUtil.c:1769,13'
          Dst:             CryptHashIsValidAlg
        - Src:             'CryptUtil.c:1772,13'
          Dst:             CryptSmacIsValidAlg
    - functionName:    CryptSelectMac
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1711
      functionLinenumberEnd: 1756
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          151
      EdgeCount:       32
      CyclomaticComplexity: 8
      functionsReached:
        - CryptMacIsValidForKey
      functionUses:    2
      BranchProfiles:
        - Branch String:   'CryptUtil.c:1713,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptUtil.c:1753,9'
          Dst:             CryptMacIsValidForKey
    - functionName:    CryptAlgsSetImplemented
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1697
      functionLinenumberEnd: 1699
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - AlgorithmGetImplementedVector
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptUtil.c:1698,5'
          Dst:             AlgorithmGetImplementedVector
    - functionName:    CryptValidateKeys
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1513
      functionLinenumberEnd: 1687
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         104
      ICount:          625
      EdgeCount:       141
      CyclomaticComplexity: 39
      functionsReached:
        - AdjustNumberB
        - CryptComputeSymmetricUnique
        - CryptEccGetKeySizeForCurve
        - CryptEccIsPointOnCurve
        - CryptEccIsValidPrivateKey
        - CryptEccPointMultiply
        - CryptHashGetBlockSize
        - CryptHashGetDigestSize
        - CryptSymKeyValidate
        - MemoryEqual2B
      functionUses:    1
      BranchProfiles:
        - Branch String:   'CryptUtil.c:1531,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptUtil.c:1516,39'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptUtil.c:1564,22'
          Dst:             CryptEccGetKeySizeForCurve
        - Src:             'CryptUtil.c:1573,11'
          Dst:             CryptEccIsPointOnCurve
        - Src:             'CryptUtil.c:1581,10'
          Dst:             CryptEccIsValidPrivateKey
        - Src:             'CryptUtil.c:1589,16'
          Dst:             CryptEccPointMultiply
        - Src:             'CryptUtil.c:1601,8'
          Dst:             AdjustNumberB
        - Src:             'CryptUtil.c:1602,8'
          Dst:             AdjustNumberB
        - Src:             'CryptUtil.c:1603,12'
          Dst:             MemoryEqual2B
        - Src:             'CryptUtil.c:1604,15'
          Dst:             MemoryEqual2B
        - Src:             'CryptUtil.c:1628,17'
          Dst:             CryptSymKeyValidate
        - Src:             'CryptUtil.c:1646,19'
          Dst:             CryptHashGetBlockSize
        - Src:             'CryptUtil.c:1650,19'
          Dst:             CryptHashGetBlockSize
        - Src:             'CryptUtil.c:1668,8'
          Dst:             CryptComputeSymmetricUnique
        - Src:             'CryptUtil.c:1669,12'
          Dst:             MemoryEqual2B
    - functionName:    CryptComputeSymmetricUnique
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 874
      functionLinenumberEnd: 897
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          76
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd2B
        - CryptHashStart
        - CryptHmacEnd2B
        - CryptHmacStart2B
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptUtil.c:882,23'
          Dst:             CryptHmacStart2B
        - Src:             'CryptUtil.c:884,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'CryptUtil.c:886,6'
          Dst:             CryptHmacEnd2B
        - Src:             'CryptUtil.c:892,23'
          Dst:             CryptHashStart
        - Src:             'CryptUtil.c:893,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'CryptUtil.c:894,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'CryptUtil.c:895,6'
          Dst:             CryptHashEnd2B
    - functionName:    CryptIsSensitiveSizeValid
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1449
      functionLinenumberEnd: 1489
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          157
      EdgeCount:       20
      CyclomaticComplexity: 4
      functionsReached:
        - CryptEccGetKeySizeForCurve
        - CryptHashGetBlockSize
      functionUses:    0
      BranchProfiles:
        - Branch String:   'CryptUtil.c:1452,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptUtil.c:1464,23'
          Dst:             CryptEccGetKeySizeForCurve
        - Src:             'CryptUtil.c:1476,23'
          Dst:             CryptHashGetBlockSize
    - functionName:    CryptIsUniqueSizeValid
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1409
      functionLinenumberEnd: 1439
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          118
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - CryptEccGetKeySizeForCurve
        - CryptHashGetDigestSize
      functionUses:    0
      BranchProfiles:
        - Branch String:   'CryptUtil.c:1412,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptUtil.c:1424,22'
          Dst:             CryptEccGetKeySizeForCurve
        - Src:             'CryptUtil.c:1436,8'
          Dst:             CryptHashGetDigestSize
    - functionName:    CryptGetTestResult
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1395
      functionLinenumberEnd: 1397
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CryptHMACVerifySignature
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          140
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - CryptHashGetDigestSize
        - CryptHmacSign
        - MemoryEqual
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptUtil.c:121,5'
          Dst:             CryptHmacSign
        - Src:             'CryptUtil.c:125,7'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptUtil.c:123,9'
          Dst:             MemoryEqual
    - functionName:    CryptHmacSign
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHmacEnd
        - CryptHmacStart2B
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptUtil.c:82,18'
          Dst:             CryptHmacStart2B
        - Src:             'CryptUtil.c:84,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'CryptUtil.c:85,5'
          Dst:             CryptHmacEnd
    - functionName:    CryptValidateSignature
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1347
      functionLinenumberEnd: 1385
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          95
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - CryptEccValidateSignature
        - CryptHMACVerifySignature
        - CryptRsaValidateSignature
        - HandleToObject
      functionUses:    2
      BranchProfiles:
        - Branch String:   'CryptUtil.c:1359,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptUtil.c:1352,39'
          Dst:             HandleToObject
        - Src:             'CryptUtil.c:1366,14'
          Dst:             CryptRsaValidateSignature
        - Src:             'CryptUtil.c:1372,15'
          Dst:             CryptEccValidateSignature
        - Src:             'CryptUtil.c:1379,12'
          Dst:             CryptHMACVerifySignature
    - functionName:    CryptSign
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1292
      functionLinenumberEnd: 1329
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          101
      EdgeCount:       14
      CyclomaticComplexity: 2
      functionsReached:
        - CryptEccSign
        - CryptHmacSign
        - CryptRsaSign
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'CryptUtil.c:1305,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptUtil.c:1309,15'
          Dst:             CryptRsaSign
        - Src:             'CryptUtil.c:1317,15'
          Dst:             CryptEccSign
        - Src:             'CryptUtil.c:1322,15'
          Dst:             CryptHmacSign
        - Src:             'CryptUtil.c:1325,6'
          Dst:             TpmFail
    - functionName:    CryptSelectSignScheme
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1211
      functionLinenumberEnd: 1274
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          164
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - CryptIsAsymAlgorithm
        - CryptIsSplitSign
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptUtil.c:1232,9'
          Dst:             CryptIsAsymAlgorithm
        - Src:             'CryptUtil.c:1252,13'
          Dst:             CryptIsSplitSign
    - functionName:    CryptIsAsymAlgorithm
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 441
      functionLinenumberEnd: 456
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          29
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'CryptUtil.c:442,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    CryptIsSplitSign
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1072
      functionLinenumberEnd: 1084
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          23
      EdgeCount:       6
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'CryptUtil.c:1073,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    CryptIsAsymDecryptScheme
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1148
      functionLinenumberEnd: 1191
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          56
      EdgeCount:       22
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'CryptUtil.c:1150,5'
          Branch Sides:    []
        - Branch String:   'CryptUtil.c:1154,6'
          Branch Sides:    []
        - Branch String:   'CryptUtil.c:1168,6'
          Branch Sides:    []
      Callsites:       []
    - functionName:    CryptIsAsymSignScheme
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1092
      functionLinenumberEnd: 1139
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          65
      EdgeCount:       28
      CyclomaticComplexity: 14
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'CryptUtil.c:1094,5'
          Branch Sides:    []
        - Branch String:   'CryptUtil.c:1098,6'
          Branch Sides:    []
        - Branch String:   'CryptUtil.c:1115,6'
          Branch Sides:    []
      Callsites:       []
    - functionName:    CryptGetSignHashAlg
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1021
      functionLinenumberEnd: 1064
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          85
      EdgeCount:       29
      CyclomaticComplexity: 16
      functionsReached:
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'CryptUtil.c:1025,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptUtil.c:1023,2'
          Dst:             TpmFail
    - functionName:    CryptGenerateKeyedHash
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          177
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - CryptHashGetBlockSize
        - CryptHashGetDigestSize
        - DRBG_Generate
        - MemoryCopy2B
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptUtil.c:157,21'
          Dst:             CryptHashGetBlockSize
        - Src:             'CryptUtil.c:158,18'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptUtil.c:179,6'
          Dst:             MemoryCopy2B
        - Src:             'CryptUtil.c:187,3'
          Dst:             DRBG_Generate
    - functionName:    CryptGenerateKeySymmetric
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 287
      functionLinenumberEnd: 321
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          105
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - CryptSymKeyValidate
        - DRBG_Generate
        - MemoryCopy2B
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptUtil.c:297,15'
          Dst:             CryptSymKeyValidate
        - Src:             'CryptUtil.c:300,3'
          Dst:             MemoryCopy2B
        - Src:             'CryptUtil.c:314,7'
          Dst:             DRBG_Generate
    - functionName:    CryptCreateObject
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 932
      functionLinenumberEnd: 1013
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          256
      EdgeCount:       41
      CyclomaticComplexity: 9
      functionsReached:
        - CryptComputeSymmetricUnique
        - CryptEccGenerateKey
        - CryptGenerateKeySymmetric
        - CryptGenerateKeyedHash
        - CryptHashGetDigestSize
        - CryptRsaGenerateKey
        - DRBG_AdditionalData
        - DRBG_Generate
        - PublicMarshalAndComputeName
        - TpmFail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'CryptUtil.c:947,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptUtil.c:954,15'
          Dst:             CryptRsaGenerateKey
        - Src:             'CryptUtil.c:960,15'
          Dst:             CryptEccGenerateKey
        - Src:             'CryptUtil.c:965,15'
          Dst:             CryptGenerateKeySymmetric
        - Src:             'CryptUtil.c:970,15'
          Dst:             CryptGenerateKeyedHash
        - Src:             'CryptUtil.c:974,6'
          Dst:             TpmFail
        - Src:             'CryptUtil.c:985,6'
          Dst:             DRBG_AdditionalData
        - Src:             'CryptUtil.c:986,6'
          Dst:             DRBG_AdditionalData
        - Src:             'CryptUtil.c:991,9'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptUtil.c:990,2'
          Dst:             DRBG_Generate
        - Src:             'CryptUtil.c:998,6'
          Dst:             CryptComputeSymmetricUnique
        - Src:             'CryptUtil.c:1011,5'
          Dst:             PublicMarshalAndComputeName
    - functionName:    CryptParameterDecryption
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 818
      functionLinenumberEnd: 865
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - int
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          109
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - ByteArrayToUint16
        - CryptXORObfuscation
        - MemoryConcat2B
        - MemoryCopy2B
        - ParmDecryptSym
        - SessionGet
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptUtil.c:819,32'
          Dst:             SessionGet
        - Src:             'CryptUtil.c:832,27'
          Dst:             ByteArrayToUint16
        - Src:             'CryptUtil.c:845,6'
          Dst:             TpmFail
        - Src:             'CryptUtil.c:850,5'
          Dst:             MemoryCopy2B
        - Src:             'CryptUtil.c:851,5'
          Dst:             MemoryConcat2B
        - Src:             'CryptUtil.c:856,2'
          Dst:             CryptXORObfuscation
        - Src:             'CryptUtil.c:860,2'
          Dst:             ParmDecryptSym
    - functionName:    CryptXORObfuscation
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 334
      functionLinenumberEnd: 354
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          137
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - CryptHashGetDigestSize
        - CryptKDFa
        - TpmFail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptUtil.c:339,29'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptUtil.c:342,5'
          Dst:             TpmFail
        - Src:             'CryptUtil.c:347,6'
          Dst:             CryptKDFa
    - functionName:    ParmDecryptSym
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - short
        - short
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          85
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptGetSymmetricBlockSize
        - CryptKDFa
        - CryptSymmetricDecrypt
        - MemoryCopy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptUtil.c:225,17'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'CryptUtil.c:230,6'
          Dst:             CryptKDFa
        - Src:             'CryptUtil.c:232,6'
          Dst:             MemoryCopy
        - Src:             'CryptUtil.c:233,6'
          Dst:             CryptSymmetricDecrypt
    - functionName:    CryptParameterEncryption
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 759
      functionLinenumberEnd: 801
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          93
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - ByteArrayToUint16
        - CryptXORObfuscation
        - MemoryConcat2B
        - MemoryCopy2B
        - ParmEncryptSym
        - SessionGet
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptUtil.c:760,28'
          Dst:             SessionGet
        - Src:             'CryptUtil.c:770,27'
          Dst:             ByteArrayToUint16
        - Src:             'CryptUtil.c:785,6'
          Dst:             TpmFail
        - Src:             'CryptUtil.c:788,5'
          Dst:             MemoryCopy2B
        - Src:             'CryptUtil.c:789,5'
          Dst:             MemoryConcat2B
        - Src:             'CryptUtil.c:793,2'
          Dst:             CryptXORObfuscation
        - Src:             'CryptUtil.c:797,2'
          Dst:             ParmEncryptSym
    - functionName:    ParmEncryptSym
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - short
        - short
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          85
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptGetSymmetricBlockSize
        - CryptKDFa
        - CryptSymmetricEncrypt
        - MemoryCopy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptUtil.c:258,17'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'CryptUtil.c:263,6'
          Dst:             CryptKDFa
        - Src:             'CryptUtil.c:265,6'
          Dst:             MemoryCopy
        - Src:             'CryptUtil.c:266,6'
          Dst:             CryptSymmetricEncrypt
    - functionName:    CryptSecretDecrypt
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 588
      functionLinenumberEnd: 746
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          397
      EdgeCount:       55
      CyclomaticComplexity: 13
      functionsReached:
        - CryptEccPointMultiply
        - CryptGetSymmetricBlockSize
        - CryptHashGetDigestSize
        - CryptKDFe
        - CryptRsaDecrypt
        - CryptSymmetricDecrypt
        - CryptXORObfuscation
        - MemoryCopy
        - MemoryCopy2B
        - TPMS_ECC_POINT_Unmarshal
        - TpmFail
      functionUses:    4
      BranchProfiles:
        - Branch String:   'CryptUtil.c:591,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptUtil.c:617,18'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptUtil.c:623,14'
          Dst:             CryptRsaDecrypt
        - Src:             'CryptUtil.c:638,14'
          Dst:             TPMS_ECC_POINT_Unmarshal
        - Src:             'CryptUtil.c:641,15'
          Dst:             CryptEccPointMultiply
        - Src:             'CryptUtil.c:650,11'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptUtil.c:664,7'
          Dst:             CryptKDFe
        - Src:             'CryptUtil.c:679,9'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptUtil.c:694,7'
          Dst:             CryptXORObfuscation
        - Src:             'CryptUtil.c:699,7'
          Dst:             MemoryCopy2B
        - Src:             'CryptUtil.c:708,8'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptUtil.c:713,18'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'CryptUtil.c:719,7'
          Dst:             MemoryCopy
        - Src:             'CryptUtil.c:725,7'
          Dst:             MemoryCopy
        - Src:             'CryptUtil.c:733,6'
          Dst:             CryptSymmetricDecrypt
        - Src:             'CryptUtil.c:742,6'
          Dst:             TpmFail
    - functionName:    CryptSecretEncrypt
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 473
      functionLinenumberEnd: 561
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          182
      EdgeCount:       24
      CyclomaticComplexity: 5
      functionsReached:
        - CryptEccIsPointOnCurve
        - CryptEccNewKeyPair
        - CryptEccPointMultiply
        - CryptHashGetDigestSize
        - CryptKDFe
        - CryptRandomGenerate
        - CryptRsaEncrypt
        - TPMS_ECC_POINT_Marshal
        - TpmFail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'CryptUtil.c:486,5'
          Branch Sides:    []
      Callsites:
        - Src:             'CryptUtil.c:480,20'
          Dst:             CryptHashGetDigestSize
        - Src:             'CryptUtil.c:492,5'
          Dst:             CryptRandomGenerate
        - Src:             'CryptUtil.c:494,14'
          Dst:             CryptRsaEncrypt
        - Src:             'CryptUtil.c:508,9'
          Dst:             CryptEccIsPointOnCurve
        - Src:             'CryptUtil.c:517,6'
          Dst:             CryptEccNewKeyPair
        - Src:             'CryptUtil.c:521,23'
          Dst:             TPMS_ECC_POINT_Marshal
        - Src:             'CryptUtil.c:527,9'
          Dst:             CryptEccPointMultiply
        - Src:             'CryptUtil.c:547,7'
          Dst:             CryptKDFe
        - Src:             'CryptUtil.c:557,6'
          Dst:             TpmFail
    - functionName:    CryptStartup
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 400
      functionLinenumberEnd: 425
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          93
      EdgeCount:       26
      CyclomaticComplexity: 9
      functionsReached:
        - CryptEccStartup
        - CryptHashStartup
        - CryptRandStartup
        - CryptRandomGenerate
        - CryptRsaStartup
        - CryptSymStartup
        - MemorySet
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptUtil.c:403,10'
          Dst:             CryptSymStartup
        - Src:             'CryptUtil.c:403,31'
          Dst:             CryptRandStartup
        - Src:             'CryptUtil.c:403,53'
          Dst:             CryptHashStartup
        - Src:             'CryptUtil.c:405,7'
          Dst:             CryptRsaStartup
        - Src:             'CryptUtil.c:408,7'
          Dst:             CryptEccStartup
        - Src:             'CryptUtil.c:419,6'
          Dst:             CryptRandomGenerate
        - Src:             'CryptUtil.c:422,6'
          Dst:             MemorySet
    - functionName:    CryptInit
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 369
      functionLinenumberEnd: 387
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         18
      ICount:          107
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - AlgorithmGetImplementedVector
        - CryptEccInit
        - CryptHashInit
        - CryptInitializeToTest
        - CryptRandInit
        - CryptRsaInit
        - CryptSymInit
        - SupportLibInit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'CryptUtil.c:372,5'
          Dst:             AlgorithmGetImplementedVector
        - Src:             'CryptUtil.c:374,5'
          Dst:             CryptInitializeToTest
        - Src:             'CryptUtil.c:377,10'
          Dst:             SupportLibInit
        - Src:             'CryptUtil.c:378,16'
          Dst:             CryptSymInit
        - Src:             'CryptUtil.c:379,16'
          Dst:             CryptRandInit
        - Src:             'CryptUtil.c:380,16'
          Dst:             CryptHashInit
        - Src:             'CryptUtil.c:382,16'
          Dst:             CryptRsaInit
        - Src:             'CryptUtil.c:385,16'
          Dst:             CryptEccInit
    - functionName:    CryptIsSchemeAnonymous
      functionSourceFile: '/src/ibmswtpm2/src/CryptUtil.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    DASelfHeal
      functionSourceFile: '/src/ibmswtpm2/src/DA.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         24
      ICount:          118
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - NvWrite
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DA.c:192,7'
          Dst:             NvWrite
        - Src:             'DA.c:218,4'
          Dst:             NvWrite
        - Src:             'DA.c:235,8'
          Dst:             NvWrite
    - functionName:    DARegisterFailure
      functionSourceFile: '/src/ibmswtpm2/src/DA.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          22
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    DAStartup
      functionSourceFile: '/src/ibmswtpm2/src/DA.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          98
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - NvWrite
        - TimeUpdate
        - _plat__TimerWasReset
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'DA.c:109,8'
          Dst:             _plat__TimerWasReset
        - Src:             'DA.c:134,6'
          Dst:             NvWrite
        - Src:             'DA.c:149,6'
          Dst:             NvWrite
        - Src:             'DA.c:153,5'
          Dst:             TimeUpdate
    - functionName:    DAPreInstall_Init
      functionSourceFile: '/src/ibmswtpm2/src/DA.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvWrite
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'DA.c:85,5'
          Dst:             NvWrite
        - Src:             'DA.c:86,5'
          Dst:             NvWrite
        - Src:             'DA.c:87,5'
          Dst:             NvWrite
        - Src:             'DA.c:88,5'
          Dst:             NvWrite
        - Src:             'DA.c:89,5'
          Dst:             NvWrite
    - functionName:    TPM2_DictionaryAttackParameters
      functionSourceFile: '/src/ibmswtpm2/src/DictionaryCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvWrite
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'DictionaryCommands.c:98,5'
          Dst:             NvWrite
        - Src:             'DictionaryCommands.c:99,5'
          Dst:             NvWrite
        - Src:             'DictionaryCommands.c:100,5'
          Dst:             NvWrite
        - Src:             'DictionaryCommands.c:101,5'
          Dst:             NvWrite
    - functionName:    TPM2_DictionaryAttackLockReset
      functionSourceFile: '/src/ibmswtpm2/src/DictionaryCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvWrite
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'DictionaryCommands.c:78,5'
          Dst:             NvWrite
    - functionName:    TPM2_Import
      functionSourceFile: '/src/ibmswtpm2/src/DuplicationCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 351
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         41
      ICount:          280
      EdgeCount:       56
      CyclomaticComplexity: 17
      functionsReached:
        - CryptSecretDecrypt
        - DuplicateToSensitive
        - HandleToObject
        - ObjectIsParent
        - ObjectLoad
        - PublicMarshalAndComputeName
        - RcSafeAddToResult
        - SensitiveToPrivate
        - TpmFail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'DuplicationCommands.c:275,20'
          Dst:             HandleToObject
        - Src:             'DuplicationCommands.c:276,9'
          Dst:             ObjectIsParent
        - Src:             'DuplicationCommands.c:307,15'
          Dst:             CryptSecretDecrypt
        - Src:             'DuplicationCommands.c:309,6'
          Dst:             TpmFail
        - Src:             'DuplicationCommands.c:311,10'
          Dst:             RcSafeAddToResult
        - Src:             'DuplicationCommands.c:322,5'
          Dst:             PublicMarshalAndComputeName
        - Src:             'DuplicationCommands.c:327,14'
          Dst:             DuplicateToSensitive
        - Src:             'DuplicationCommands.c:332,9'
          Dst:             RcSafeAddToResult
        - Src:             'DuplicationCommands.c:338,15'
          Dst:             ObjectLoad
        - Src:             'DuplicationCommands.c:346,6'
          Dst:             SensitiveToPrivate
    - functionName:    TPM2_Rewrap
      functionSourceFile: '/src/ibmswtpm2/src/DuplicationCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 247
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         37
      ICount:          339
      EdgeCount:       49
      CyclomaticComplexity: 14
      functionsReached:
        - CryptHashGetDigestSize
        - CryptSecretDecrypt
        - CryptSecretEncrypt
        - HandleToObject
        - MemoryCopy
        - ObjectIsStorage
        - ProduceOuterWrap
        - RcSafeAddToResult
        - TpmFail
        - UnwrapOuter
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'DuplicationCommands.c:171,39'
          Dst:             HandleToObject
        - Src:             'DuplicationCommands.c:173,10'
          Dst:             ObjectIsStorage
        - Src:             'DuplicationCommands.c:178,15'
          Dst:             CryptSecretDecrypt
        - Src:             'DuplicationCommands.c:183,15'
          Dst:             UnwrapOuter
        - Src:             'DuplicationCommands.c:188,10'
          Dst:             RcSafeAddToResult
        - Src:             'DuplicationCommands.c:191,10'
          Dst:             CryptHashGetDigestSize
        - Src:             'DuplicationCommands.c:193,6'
          Dst:             TpmFail
        - Src:             'DuplicationCommands.c:194,6'
          Dst:             MemoryCopy
        - Src:             'DuplicationCommands.c:205,18'
          Dst:             HandleToObject
        - Src:             'DuplicationCommands.c:207,10'
          Dst:             ObjectIsStorage
        - Src:             'DuplicationCommands.c:213,15'
          Dst:             CryptSecretEncrypt
        - Src:             'DuplicationCommands.c:219,10'
          Dst:             CryptHashGetDigestSize
        - Src:             'DuplicationCommands.c:228,6'
          Dst:             TpmFail
        - Src:             'DuplicationCommands.c:230,6'
          Dst:             MemoryCopy
        - Src:             'DuplicationCommands.c:233,33'
          Dst:             ProduceOuterWrap
    - functionName:    TPM2_Duplicate
      functionSourceFile: '/src/ibmswtpm2/src/DuplicationCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          255
      EdgeCount:       48
      CyclomaticComplexity: 15
      functionsReached:
        - CryptSecretEncrypt
        - HandleToObject
        - ObjectIsStorage
        - SensitiveToDuplicate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'DuplicationCommands.c:80,14'
          Dst:             HandleToObject
        - Src:             'DuplicationCommands.c:82,17'
          Dst:             HandleToObject
        - Src:             'DuplicationCommands.c:91,12'
          Dst:             ObjectIsStorage
        - Src:             'DuplicationCommands.c:124,15'
          Dst:             CryptSecretEncrypt
        - Src:             'DuplicationCommands.c:141,5'
          Dst:             SensitiveToDuplicate
    - functionName:    TPM2_PolicyAuthorizeNV
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1113
      functionLinenumberEnd: 1163
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          160
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - EntityGetName
        - MemoryEqual
        - NvGetIndexData
        - NvGetIndexInfo
        - NvReadAccessChecks
        - PolicyContextUpdate
        - PolicyDigestClear
        - SessionGet
        - TPMT_HA_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:1117,40'
          Dst:             NvGetIndexInfo
        - Src:             'EACommands.c:1125,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:1133,15'
          Dst:             NvReadAccessChecks
        - Src:             'EACommands.c:1139,6'
          Dst:             NvGetIndexData
        - Src:             'EACommands.c:1144,15'
          Dst:             TPMT_HA_Unmarshal
        - Src:             'EACommands.c:1152,10'
          Dst:             MemoryEqual
        - Src:             'EACommands.c:1158,5'
          Dst:             PolicyDigestClear
        - Src:             'EACommands.c:1160,51'
          Dst:             EntityGetName
        - Src:             'EACommands.c:1160,5'
          Dst:             PolicyContextUpdate
    - functionName:    TPM2_PolicyTemplate
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1065
      functionLinenumberEnd: 1102
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          117
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashGetDigestSize
        - CryptHashStart
        - MemoryEqual2B
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:1071,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:1075,10'
          Dst:             MemoryEqual2B
        - Src:             'EACommands.c:1082,35'
          Dst:             CryptHashGetDigestSize
        - Src:             'EACommands.c:1089,5'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:1091,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:1093,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:1095,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:1097,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyNvWritten
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1023
      functionLinenumberEnd: 1056
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          108
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:1029,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:1046,5'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:1048,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:1050,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:1052,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:1054,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyGetDigest
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1007
      functionLinenumberEnd: 1013
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:1011,15'
          Dst:             SessionGet
    - functionName:    TPM2_PolicyPassword
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 976
      functionLinenumberEnd: 996
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          47
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:982,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:986,5'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:988,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:990,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:992,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyAuthValue
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 945
      functionLinenumberEnd: 965
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          47
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:951,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:955,5'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:957,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:959,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:961,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyAuthorize
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 883
      functionLinenumberEnd: 935
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          132
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - ByteArrayToUint16
        - CryptDigestUpdate2B
        - CryptHashEnd2B
        - CryptHashGetDigestSize
        - CryptHashIsValidAlg
        - CryptHashStart
        - MemoryEqual2B
        - PolicyContextUpdate
        - PolicyDigestClear
        - SessionGet
        - TicketComputeVerified
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:892,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:894,15'
          Dst:             ByteArrayToUint16
        - Src:             'EACommands.c:897,9'
          Dst:             CryptHashIsValidAlg
        - Src:             'EACommands.c:899,18'
          Dst:             CryptHashGetDigestSize
        - Src:             'EACommands.c:907,10'
          Dst:             MemoryEqual2B
        - Src:             'EACommands.c:914,24'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:916,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:918,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:920,6'
          Dst:             CryptHashEnd2B
        - Src:             'EACommands.c:922,6'
          Dst:             TicketComputeVerified
        - Src:             'EACommands.c:925,10'
          Dst:             MemoryEqual2B
        - Src:             'EACommands.c:930,5'
          Dst:             PolicyDigestClear
        - Src:             'EACommands.c:932,5'
          Dst:             PolicyContextUpdate
    - functionName:    TPM2_PolicyDuplicationSelect
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 830
      functionLinenumberEnd: 873
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          113
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:836,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:845,33'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:847,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:849,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:851,5'
          Dst:             CryptHashEnd2B
        - Src:             'EACommands.c:856,4'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:858,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:860,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:863,2'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:865,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:867,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:869,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyNameHash
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 787
      functionLinenumberEnd: 821
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          121
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashGetDigestSize
        - CryptHashStart
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:793,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:797,31'
          Dst:             CryptHashGetDigestSize
        - Src:             'EACommands.c:809,5'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:811,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:813,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:815,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:817,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyCpHash
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 743
      functionLinenumberEnd: 778
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          114
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashGetDigestSize
        - CryptHashStart
        - MemoryEqual2B
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:749,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:753,30'
          Dst:             CryptHashGetDigestSize
        - Src:             'EACommands.c:759,9'
          Dst:             MemoryEqual2B
        - Src:             'EACommands.c:765,5'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:767,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:769,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:771,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:773,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyPhysicalPresence
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 714
      functionLinenumberEnd: 733
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:720,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:724,5'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:726,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:728,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:730,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyCommandCode
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 678
      functionLinenumberEnd: 705
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          94
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - CommandCodeToCommandIndex
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:684,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:687,8'
          Dst:             CommandCodeToCommandIndex
        - Src:             'EACommands.c:693,5'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:695,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:697,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:699,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:701,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyCounterTimer
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 603
      functionLinenumberEnd: 667
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          172
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - PolicySptCheckCondition
        - SessionGet
        - TimeGetMarshaled
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:613,20'
          Dst:             TimeGetMarshaled
        - Src:             'EACommands.c:623,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:640,10'
          Dst:             PolicySptCheckCondition
        - Src:             'EACommands.c:646,22'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:648,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:650,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:652,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:654,5'
          Dst:             CryptHashEnd2B
        - Src:             'EACommands.c:657,5'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:659,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:661,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:663,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:665,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyNV
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 530
      functionLinenumberEnd: 593
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          188
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - EntityGetName
        - NvGetIndexData
        - NvGetIndexInfo
        - NvReadAccessChecks
        - PolicySptCheckCondition
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:542,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:547,16'
          Dst:             NvGetIndexInfo
        - Src:             'EACommands.c:550,15'
          Dst:             NvReadAccessChecks
        - Src:             'EACommands.c:562,6'
          Dst:             NvGetIndexData
        - Src:             'EACommands.c:564,10'
          Dst:             PolicySptCheckCondition
        - Src:             'EACommands.c:570,22'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:572,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:574,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:576,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:578,5'
          Dst:             CryptHashEnd2B
        - Src:             'EACommands.c:581,5'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:583,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:585,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:587,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:589,38'
          Dst:             EntityGetName
        - Src:             'EACommands.c:589,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:591,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyLocality
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 520
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          191
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - SessionGet
        - TPMA_LOCALITY_Marshal
        - TPMA_LOCALITY_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:461,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:465,19'
          Dst:             TPMA_LOCALITY_Marshal
        - Src:             'EACommands.c:472,5'
          Dst:             TPMA_LOCALITY_Marshal
        - Src:             'EACommands.c:505,5'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:507,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:509,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:511,5'
          Dst:             CryptDigestUpdate
        - Src:             'EACommands.c:513,5'
          Dst:             CryptHashEnd2B
        - Src:             'EACommands.c:517,5'
          Dst:             TPMA_LOCALITY_Unmarshal
    - functionName:    TPM2_PolicyPCR
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 383
      functionLinenumberEnd: 442
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          164
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - MemoryEqual2B
        - PCRComputeCurrentDigest
        - SessionGet
        - TPML_PCR_SELECTION_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:393,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:395,5'
          Dst:             PCRComputeCurrentDigest
        - Src:             'EACommands.c:406,18'
          Dst:             MemoryEqual2B
        - Src:             'EACommands.c:423,5'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:425,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:427,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:430,15'
          Dst:             TPML_PCR_SELECTION_Marshal
        - Src:             'EACommands.c:431,5'
          Dst:             CryptDigestUpdate
        - Src:             'EACommands.c:433,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:435,5'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyOR
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 334
      functionLinenumberEnd: 372
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          134
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - MemoryEqual2B
        - MemorySet
        - SessionGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:339,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:344,13'
          Dst:             MemoryEqual2B
        - Src:             'EACommands.c:352,20'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:354,14'
          Dst:             MemorySet
        - Src:             'EACommands.c:356,14'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:358,14'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:363,8'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:366,14'
          Dst:             CryptHashEnd2B
    - functionName:    TPM2_PolicyTicket
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 263
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          159
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - ByteArrayToUint64
        - MemoryEqual2B
        - PolicyContextUpdate
        - PolicyParameterChecks
        - SessionGet
        - TicketComputeAuth
        - TpmFail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:272,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:288,19'
          Dst:             ByteArrayToUint64
        - Src:             'EACommands.c:293,14'
          Dst:             PolicyParameterChecks
        - Src:             'EACommands.c:303,5'
          Dst:             TicketComputeAuth
        - Src:             'EACommands.c:307,9'
          Dst:             MemoryEqual2B
        - Src:             'EACommands.c:319,2'
          Dst:             TpmFail
        - Src:             'EACommands.c:321,5'
          Dst:             PolicyContextUpdate
    - functionName:    TPM2_PolicySecret
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          187
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - ComputeAuthTimeout
        - EntityGetHierarchy
        - EntityGetName
        - NvIsPinPassIndex
        - PolicyContextUpdate
        - PolicyParameterChecks
        - SessionGet
        - TicketComputeAuth
        - Uint64ToByteArray
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:192,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:196,20'
          Dst:             ComputeAuthTimeout
        - Src:             'EACommands.c:197,15'
          Dst:             PolicyParameterChecks
        - Src:             'EACommands.c:209,4'
          Dst:             EntityGetName
        - Src:             'EACommands.c:208,5'
          Dst:             PolicyContextUpdate
        - Src:             'EACommands.c:218,12'
          Dst:             NvIsPinPassIndex
        - Src:             'EACommands.c:223,44'
          Dst:             EntityGetHierarchy
        - Src:             'EACommands.c:223,6'
          Dst:             TicketComputeAuth
        - Src:             'EACommands.c:237,6'
          Dst:             Uint64ToByteArray
    - functionName:    TPM2_PolicySigned
      functionSourceFile: '/src/ibmswtpm2/src/EACommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          229
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - ComputeAuthTimeout
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptGetSignHashAlg
        - CryptHashEnd2B
        - CryptHashStart
        - CryptValidateSignature
        - EntityGetHierarchy
        - EntityGetName
        - PolicyContextUpdate
        - PolicyParameterChecks
        - RcSafeAddToResult
        - SessionGet
        - TicketComputeAuth
        - Uint64ToByteArray
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EACommands.c:87,15'
          Dst:             SessionGet
        - Src:             'EACommands.c:91,20'
          Dst:             ComputeAuthTimeout
        - Src:             'EACommands.c:92,15'
          Dst:             PolicyParameterChecks
        - Src:             'EACommands.c:102,11'
          Dst:             CryptGetSignHashAlg
        - Src:             'EACommands.c:101,24'
          Dst:             CryptHashStart
        - Src:             'EACommands.c:109,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:111,6'
          Dst:             CryptDigestUpdateInt
        - Src:             'EACommands.c:113,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:115,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'EACommands.c:117,6'
          Dst:             CryptHashEnd2B
        - Src:             'EACommands.c:120,15'
          Dst:             CryptValidateSignature
        - Src:             'EACommands.c:122,10'
          Dst:             RcSafeAddToResult
        - Src:             'EACommands.c:128,4'
          Dst:             EntityGetName
        - Src:             'EACommands.c:127,5'
          Dst:             PolicyContextUpdate
        - Src:             'EACommands.c:142,44'
          Dst:             EntityGetHierarchy
        - Src:             'EACommands.c:142,6'
          Dst:             TicketComputeAuth
        - Src:             'EACommands.c:156,6'
          Dst:             Uint64ToByteArray
    - functionName:    EncryptDecryptShared
      functionSourceFile: '/src/ibmswtpm2/src/EncryptDecrypt_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - char
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          375
      EdgeCount:       72
      CyclomaticComplexity: 21
      functionsReached:
        - CryptGetSymmetricBlockSize
        - CryptSymModeIsValid
        - CryptSymmetricDecrypt
        - CryptSymmetricEncrypt
        - HandleToObject
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'EncryptDecrypt_spt.c:91,14'
          Dst:             HandleToObject
        - Src:             'EncryptDecrypt_spt.c:108,9'
          Dst:             CryptSymModeIsValid
        - Src:             'EncryptDecrypt_spt.c:129,17'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'EncryptDecrypt_spt.c:161,15'
          Dst:             CryptSymmetricDecrypt
        - Src:             'EncryptDecrypt_spt.c:168,15'
          Dst:             CryptSymmetricEncrypt
    - functionName:    EntityGetHierarchy
      functionSourceFile: '/src/ibmswtpm2/src/Entity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 423
      functionLinenumberEnd: 486
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          138
      EdgeCount:       30
      CyclomaticComplexity: 3
      functionsReached:
        - HandleGetType
        - HandleToObject
        - NvGetIndexInfo
        - TpmFail
      functionUses:    4
      BranchProfiles:
        - Branch String:   'Entity.c:425,5'
          Branch Sides:    []
        - Branch String:   'Entity.c:429,6'
          Branch Sides:    []
      Callsites:
        - Src:             'Entity.c:425,12'
          Dst:             HandleGetType
        - Src:             'Entity.c:446,32'
          Dst:             NvGetIndexInfo
        - Src:             'Entity.c:447,5'
          Dst:             TpmFail
        - Src:             'Entity.c:462,14'
          Dst:             HandleToObject
        - Src:             'Entity.c:481,6'
          Dst:             TpmFail
    - functionName:    EntityGetName
      functionSourceFile: '/src/ibmswtpm2/src/Entity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 410
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          69
      EdgeCount:       10
      CyclomaticComplexity: 2
      functionsReached:
        - HandleGetType
        - HandleToObject
        - NvGetNameByIndexHandle
        - Uint32ToByteArray
      functionUses:    7
      BranchProfiles:
        - Branch String:   'Entity.c:387,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Entity.c:387,12'
          Dst:             HandleGetType
        - Src:             'Entity.c:392,27'
          Dst:             HandleToObject
        - Src:             'Entity.c:402,6'
          Dst:             NvGetNameByIndexHandle
        - Src:             'Entity.c:407,6'
          Dst:             Uint32ToByteArray
    - functionName:    EntityGetAuthPolicy
      functionSourceFile: '/src/ibmswtpm2/src/Entity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 378
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          130
      EdgeCount:       33
      CyclomaticComplexity: 17
      functionsReached:
        - HandleGetType
        - HandleToObject
        - NvGetIndexInfo
        - PCRGetAuthPolicy
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Entity.c:321,5'
          Branch Sides:    []
        - Branch String:   'Entity.c:324,6'
          Branch Sides:    []
      Callsites:
        - Src:             'Entity.c:321,12'
          Dst:             HandleGetType
        - Src:             'Entity.c:354,22'
          Dst:             HandleToObject
        - Src:             'Entity.c:362,32'
          Dst:             NvGetIndexInfo
        - Src:             'Entity.c:363,5'
          Dst:             TpmFail
        - Src:             'Entity.c:370,16'
          Dst:             PCRGetAuthPolicy
        - Src:             'Entity.c:374,6'
          Dst:             TpmFail
    - functionName:    EntityGetAuthValue
      functionSourceFile: '/src/ibmswtpm2/src/Entity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 219
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          141
      EdgeCount:       45
      CyclomaticComplexity: 23
      functionsReached:
        - HandleGetType
        - HandleToObject
        - MemoryCopy2B
        - MemoryRemoveTrailingZeros
        - NvGetIndexInfo
        - ObjectIsSequence
        - PCRGetAuthValue
        - TpmFail
      functionUses:    7
      BranchProfiles:
        - Branch String:   'Entity.c:222,5'
          Branch Sides:    []
        - Branch String:   'Entity.c:226,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Entity.c:222,12'
          Dst:             HandleGetType
        - Src:             'Entity.c:256,6'
          Dst:             TpmFail
        - Src:             'Entity.c:267,14'
          Dst:             HandleToObject
        - Src:             'Entity.c:269,8'
          Dst:             ObjectIsSequence
        - Src:             'Entity.c:278,6'
          Dst:             TpmFail
        - Src:             'Entity.c:286,32'
          Dst:             NvGetIndexInfo
        - Src:             'Entity.c:287,5'
          Dst:             TpmFail
        - Src:             'Entity.c:293,14'
          Dst:             PCRGetAuthValue
        - Src:             'Entity.c:298,6'
          Dst:             TpmFail
        - Src:             'Entity.c:302,5'
          Dst:             MemoryCopy2B
        - Src:             'Entity.c:303,5'
          Dst:             MemoryRemoveTrailingZeros
    - functionName:    EntityGetLoadStatus
      functionSourceFile: '/src/ibmswtpm2/src/Entity.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         61
      ICount:          277
      EdgeCount:       70
      CyclomaticComplexity: 11
      functionsReached:
        - HandleGetType
        - IsObjectPresent
        - NvIndexIsAccessible
        - ObjectLoadEvict
        - RcSafeAddToResult
        - SessionGet
        - SessionIsLoaded
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Entity.c:88,6'
          Branch Sides:    []
        - Branch String:   'Entity.c:93,7'
          Branch Sides:    []
      Callsites:
        - Src:             'Entity.c:88,13'
          Dst:             HandleGetType
        - Src:             'Entity.c:127,5'
          Dst:             TpmFail
        - Src:             'Entity.c:134,11'
          Dst:             IsObjectPresent
        - Src:             'Entity.c:143,16'
          Dst:             ObjectLoadEvict
        - Src:             'Entity.c:149,10'
          Dst:             SessionIsLoaded
        - Src:             'Entity.c:152,18'
          Dst:             SessionGet
        - Src:             'Entity.c:164,10'
          Dst:             SessionIsLoaded
        - Src:             'Entity.c:167,18'
          Dst:             SessionGet
        - Src:             'Entity.c:178,16'
          Dst:             NvIndexIsAccessible
        - Src:             'Entity.c:192,7'
          Dst:             TpmFail
        - Src:             'Entity.c:200,13'
          Dst:             RcSafeAddToResult
    - functionName:    rand32
      functionSourceFile: '/src/ibmswtpm2/src/Entropy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - rand
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Entropy.c:94,26'
          Dst:             rand
        - Src:             'Entropy.c:106,30'
          Dst:             rand
    - functionName:    rand
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__GetEntropy
      functionSourceFile: '/src/ibmswtpm2/src/Entropy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          77
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _plat__RealTime
        - getpid
        - rand32
        - srand
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Entropy.c:145,22'
          Dst:             _plat__RealTime
        - Src:             'Entropy.c:145,42'
          Dst:             getpid
        - Src:             'Entropy.c:145,6'
          Dst:             srand
        - Src:             'Entropy.c:147,20'
          Dst:             rand32
        - Src:             'Entropy.c:152,15'
          Dst:             rand32
        - Src:             'Entropy.c:167,27'
          Dst:             _plat__RealTime
    - functionName:    getpid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    srand
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPM2_EC_Ephemeral
      functionSourceFile: '/src/ibmswtpm2/src/EphemeralCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          78
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - CryptCommit
        - CryptEccPointMultiply
        - CryptGenerateR
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EphemeralCommands.c:180,10'
          Dst:             CryptGenerateR
        - Src:             'EphemeralCommands.c:183,15'
          Dst:             CryptEccPointMultiply
        - Src:             'EphemeralCommands.c:189,18'
          Dst:             CryptCommit
    - functionName:    TPM2_Commit
      functionSourceFile: '/src/ibmswtpm2/src/EphemeralCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          274
      EdgeCount:       45
      CyclomaticComplexity: 15
      functionsReached:
        - CryptCommit
        - CryptEccCommitCompute
        - CryptEccGetParameter
        - CryptEccIsPointOnCurve
        - CryptGenerateR
        - CryptHashBlock
        - CryptIsSchemeAnonymous
        - DivideB
        - HandleToObject
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'EphemeralCommands.c:81,14'
          Dst:             HandleToObject
        - Src:             'EphemeralCommands.c:91,9'
          Dst:             CryptIsSchemeAnonymous
        - Src:             'EphemeralCommands.c:98,9'
          Dst:             CryptEccGetParameter
        - Src:             'EphemeralCommands.c:102,9'
          Dst:             CryptGenerateR
        - Src:             'EphemeralCommands.c:113,18'
          Dst:             CryptHashBlock
        - Src:             'EphemeralCommands.c:126,9'
          Dst:             DivideB
        - Src:             'EphemeralCommands.c:128,10'
          Dst:             CryptEccIsPointOnCurve
        - Src:             'EphemeralCommands.c:139,10'
          Dst:             CryptEccIsPointOnCurve
        - Src:             'EphemeralCommands.c:146,14'
          Dst:             CryptEccCommitCompute
        - Src:             'EphemeralCommands.c:158,20'
          Dst:             CryptCommit
    - functionName:    ExecuteCommand
      functionSourceFile: '/src/ibmswtpm2/src/ExecCommand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 313
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          444
      EdgeCount:       105
      CyclomaticComplexity: 30
      functionsReached:
        - BuildResponseHeader
        - BuildResponseSession
        - CheckAuthNoSession
        - ClearCpRpHashes
        - CommandCodeToCommandIndex
        - CommandDispatcher
        - EntityGetLoadStatus
        - IsHandleInResponse
        - MemorySet
        - NvCheckState
        - NvCommit
        - NvIndexCacheInit
        - NvUpdateIndexOrderlyData
        - NvWrite
        - ObjectCleanupEvict
        - ObjectTerminateEvent
        - ParseHandleBuffer
        - ParseSessionBuffer
        - TPMI_ST_COMMAND_TAG_Unmarshal
        - TPMIsStarted
        - TPM_CC_Unmarshal
        - TimeUpdateToCurrent
        - TpmFail
        - TpmFailureMode
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ExecCommand.c:126,6'
          Dst:             TpmFailureMode
        - Src:             'ExecCommand.c:135,5'
          Dst:             NvCheckState
        - Src:             'ExecCommand.c:141,5'
          Dst:             TimeUpdateToCurrent
        - Src:             'ExecCommand.c:145,2'
          Dst:             ObjectTerminateEvent
        - Src:             'ExecCommand.c:152,14'
          Dst:             TPMI_ST_COMMAND_TAG_Unmarshal
        - Src:             'ExecCommand.c:158,14'
          Dst:             UINT32_Unmarshal
        - Src:             'ExecCommand.c:176,14'
          Dst:             TPM_CC_Unmarshal
        - Src:             'ExecCommand.c:181,21'
          Dst:             CommandCodeToCommandIndex
        - Src:             'ExecCommand.c:200,7'
          Dst:             TPMIsStarted
        - Src:             'ExecCommand.c:201,9'
          Dst:             TPMIsStarted
        - Src:             'ExecCommand.c:207,5'
          Dst:             NvIndexCacheInit
        - Src:             'ExecCommand.c:209,14'
          Dst:             ParseHandleBuffer
        - Src:             'ExecCommand.c:214,14'
          Dst:             EntityGetLoadStatus
        - Src:             'ExecCommand.c:218,5'
          Dst:             ClearCpRpHashes
        - Src:             'ExecCommand.c:222,15'
          Dst:             UINT32_Unmarshal
        - Src:             'ExecCommand.c:243,15'
          Dst:             ParseSessionBuffer
        - Src:             'ExecCommand.c:253,15'
          Dst:             CheckAuthNoSession
        - Src:             'ExecCommand.c:265,8'
          Dst:             IsHandleInResponse
        - Src:             'ExecCommand.c:270,14'
          Dst:             CommandDispatcher
        - Src:             'ExecCommand.c:274,5'
          Dst:             BuildResponseSession
        - Src:             'ExecCommand.c:284,6'
          Dst:             NvWrite
        - Src:             'ExecCommand.c:290,5'
          Dst:             ObjectCleanupEvict
        - Src:             'ExecCommand.c:293,5'
          Dst:             BuildResponseHeader
        - Src:             'ExecCommand.c:302,3'
          Dst:             NvUpdateIndexOrderlyData
        - Src:             'ExecCommand.c:303,10'
          Dst:             NvCommit
        - Src:             'ExecCommand.c:304,3'
          Dst:             TpmFail
        - Src:             'ExecCommand.c:307,5'
          Dst:             TpmFail
        - Src:             'ExecCommand.c:309,5'
          Dst:             MemorySet
    - functionName:    PermanentHandleGetPolicy
      functionSourceFile: '/src/ibmswtpm2/src/Handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          137
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - EntityGetAuthPolicy
        - HandleGetType
        - MemoryCopy
        - NextPermanentHandle
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Handle.c:171,5'
          Dst:             HandleGetType
        - Src:             'Handle.c:171,5'
          Dst:             TpmFail
        - Src:             'Handle.c:178,18'
          Dst:             NextPermanentHandle
        - Src:             'Handle.c:185,18'
          Dst:             EntityGetAuthPolicy
        - Src:             'Handle.c:194,7'
          Dst:             MemoryCopy
        - Src:             'Handle.c:180,11'
          Dst:             NextPermanentHandle
    - functionName:    HandleGetType
      functionSourceFile: '/src/ibmswtpm2/src/Handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    47
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NextPermanentHandle
      functionSourceFile: '/src/ibmswtpm2/src/Handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          75
      EdgeCount:       19
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'Handle.c:95,6'
          Branch Sides:    []
      Callsites:       []
    - functionName:    PermanentCapGetHandles
      functionSourceFile: '/src/ibmswtpm2/src/Handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          97
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - HandleGetType
        - NextPermanentHandle
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Handle.c:131,5'
          Dst:             HandleGetType
        - Src:             'Handle.c:131,5'
          Dst:             TpmFail
        - Src:             'Handle.c:137,13'
          Dst:             NextPermanentHandle
        - Src:             'Handle.c:138,14'
          Dst:             NextPermanentHandle
    - functionName:    TPM2_EventSequenceComplete
      functionSourceFile: '/src/ibmswtpm2/src/HashCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 328
      functionLinenumberEnd: 380
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          195
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd
        - CryptHashGetAlgByIndex
        - CryptHashGetDigestSize
        - HandleToObject
        - NvClearOrderly
        - PCRExtend
        - PCRIsExtendAllowed
        - PCRIsStateSaved
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'HashCommands.c:334,33'
          Dst:             HandleToObject
        - Src:             'HashCommands.c:342,10'
          Dst:             PCRIsExtendAllowed
        - Src:             'HashCommands.c:354,9'
          Dst:             PCRIsStateSaved
        - Src:             'HashCommands.c:355,3'
          Dst:             NvClearOrderly
        - Src:             'HashCommands.c:361,16'
          Dst:             CryptHashGetAlgByIndex
        - Src:             'HashCommands.c:363,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'HashCommands.c:367,5'
          Dst:             CryptHashGetDigestSize
        - Src:             'HashCommands.c:366,6'
          Dst:             CryptHashEnd
        - Src:             'HashCommands.c:372,6'
          Dst:             CryptHashGetDigestSize
        - Src:             'HashCommands.c:371,3'
          Dst:             PCRExtend
    - functionName:    TPM2_SequenceComplete
      functionSourceFile: '/src/ibmswtpm2/src/HashCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 318
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          223
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd
        - CryptMacEnd
        - HandleToObject
        - TicketComputeHashCheck
        - TicketIsSafe
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'HashCommands.c:249,33'
          Dst:             HandleToObject
        - Src:             'HashCommands.c:260,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'HashCommands.c:262,27'
          Dst:             CryptHashEnd
        - Src:             'HashCommands.c:270,10'
          Dst:             TicketIsSafe
        - Src:             'HashCommands.c:290,7'
          Dst:             TicketComputeHashCheck
        - Src:             'HashCommands.c:297,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'HashCommands.c:305,27'
          Dst:             CryptMacEnd
    - functionName:    TPM2_SequenceUpdate
      functionSourceFile: '/src/ibmswtpm2/src/HashCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          149
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - CryptDigestUpdate2B
        - HandleToObject
        - ObjectIsSequence
        - TicketIsSafe
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'HashCommands.c:190,14'
          Dst:             HandleToObject
        - Src:             'HashCommands.c:193,9'
          Dst:             ObjectIsSequence
        - Src:             'HashCommands.c:203,14'
          Dst:             CryptDigestUpdate2B
        - Src:             'HashCommands.c:219,11'
          Dst:             TicketIsSafe
        - Src:             'HashCommands.c:223,14'
          Dst:             CryptDigestUpdate2B
        - Src:             'HashCommands.c:228,14'
          Dst:             CryptDigestUpdate2B
    - functionName:    TPM2_HashSequenceStart
      functionSourceFile: '/src/ibmswtpm2/src/HashCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ObjectCreateEventSequence
        - ObjectCreateHashSequence
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'HashCommands.c:172,9'
          Dst:             ObjectCreateEventSequence
        - Src:             'HashCommands.c:175,12'
          Dst:             ObjectCreateHashSequence
    - functionName:    TPM2_MAC_Start
      functionSourceFile: '/src/ibmswtpm2/src/HashCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          91
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - CryptSelectMac
        - HandleToObject
        - ObjectCreateHMACSequence
        - RcSafeAddToResult
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'HashCommands.c:132,17'
          Dst:             HandleToObject
        - Src:             'HashCommands.c:135,14'
          Dst:             CryptSelectMac
        - Src:             'HashCommands.c:143,9'
          Dst:             RcSafeAddToResult
        - Src:             'HashCommands.c:153,12'
          Dst:             ObjectCreateHMACSequence
    - functionName:    HierarchyIsEnabled
      functionSourceFile: '/src/ibmswtpm2/src/Hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached:
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Hierarchy.c:226,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Hierarchy.c:241,6'
          Dst:             TpmFail
    - functionName:    HierarchyGetPrimarySeed
      functionSourceFile: '/src/ibmswtpm2/src/Hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          49
      EdgeCount:       18
      CyclomaticComplexity: 10
      functionsReached:
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Hierarchy.c:195,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Hierarchy.c:209,6'
          Dst:             TpmFail
    - functionName:    HierarchyGetProof
      functionSourceFile: '/src/ibmswtpm2/src/Hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached:
        - TpmFail
      functionUses:    6
      BranchProfiles:
        - Branch String:   'Hierarchy.c:163,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Hierarchy.c:182,6'
          Dst:             TpmFail
    - functionName:    HierarchyStartup
      functionSourceFile: '/src/ibmswtpm2/src/Hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - CryptRandomGenerate
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Hierarchy.c:148,6'
          Dst:             CryptRandomGenerate
        - Src:             'Hierarchy.c:150,6'
          Dst:             CryptRandomGenerate
    - functionName:    HierarchyPreInstall_Init
      functionSourceFile: '/src/ibmswtpm2/src/Hierarchy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          61
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptRandomGenerate
        - NvWrite
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Hierarchy.c:85,5'
          Dst:             CryptRandomGenerate
        - Src:             'Hierarchy.c:87,5'
          Dst:             CryptRandomGenerate
        - Src:             'Hierarchy.c:88,5'
          Dst:             CryptRandomGenerate
        - Src:             'Hierarchy.c:104,5'
          Dst:             CryptRandomGenerate
        - Src:             'Hierarchy.c:105,5'
          Dst:             CryptRandomGenerate
        - Src:             'Hierarchy.c:106,5'
          Dst:             CryptRandomGenerate
        - Src:             'Hierarchy.c:108,5'
          Dst:             NvWrite
        - Src:             'Hierarchy.c:109,5'
          Dst:             NvWrite
        - Src:             'Hierarchy.c:110,5'
          Dst:             NvWrite
        - Src:             'Hierarchy.c:111,5'
          Dst:             NvWrite
        - Src:             'Hierarchy.c:112,5'
          Dst:             NvWrite
        - Src:             'Hierarchy.c:113,5'
          Dst:             NvWrite
        - Src:             'Hierarchy.c:114,5'
          Dst:             NvWrite
        - Src:             'Hierarchy.c:115,5'
          Dst:             NvWrite
        - Src:             'Hierarchy.c:116,5'
          Dst:             NvWrite
        - Src:             'Hierarchy.c:117,5'
          Dst:             NvWrite
        - Src:             'Hierarchy.c:118,5'
          Dst:             NvWrite
        - Src:             'Hierarchy.c:119,5'
          Dst:             NvWrite
        - Src:             'Hierarchy.c:120,5'
          Dst:             NvWrite
        - Src:             'Hierarchy.c:121,5'
          Dst:             NvWrite
        - Src:             'Hierarchy.c:122,5'
          Dst:             NvWrite
        - Src:             'Hierarchy.c:123,5'
          Dst:             NvWrite
    - functionName:    TPM2_HierarchyChangeAuth
      functionSourceFile: '/src/ibmswtpm2/src/HierarchyCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 459
      functionLinenumberEnd: 493
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          82
      EdgeCount:       14
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryRemoveTrailingZeros
        - NvWrite
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'HierarchyCommands.c:469,5'
          Branch Sides:    []
      Callsites:
        - Src:             'HierarchyCommands.c:466,8'
          Dst:             MemoryRemoveTrailingZeros
        - Src:             'HierarchyCommands.c:473,6'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:477,6'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:486,6'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:489,6'
          Dst:             TpmFail
    - functionName:    TPM2_ClearControl
      functionSourceFile: '/src/ibmswtpm2/src/HierarchyCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 434
      functionLinenumberEnd: 449
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          71
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - NvWrite
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'HierarchyCommands.c:447,5'
          Dst:             NvWrite
    - functionName:    TPM2_Clear
      functionSourceFile: '/src/ibmswtpm2/src/HierarchyCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 371
      functionLinenumberEnd: 425
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          71
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - CryptRandomGenerate
        - DAPreInstall_Init
        - MemorySet
        - NvFlushHierarchy
        - NvWrite
        - ObjectFlushHierarchy
        - PCRChanged
        - PCR_ClearAuth
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'HierarchyCommands.c:384,5'
          Dst:             CryptRandomGenerate
        - Src:             'HierarchyCommands.c:386,5'
          Dst:             CryptRandomGenerate
        - Src:             'HierarchyCommands.c:387,5'
          Dst:             CryptRandomGenerate
        - Src:             'HierarchyCommands.c:391,5'
          Dst:             MemorySet
        - Src:             'HierarchyCommands.c:392,5'
          Dst:             MemorySet
        - Src:             'HierarchyCommands.c:393,5'
          Dst:             MemorySet
        - Src:             'HierarchyCommands.c:396,5'
          Dst:             MemorySet
        - Src:             'HierarchyCommands.c:397,5'
          Dst:             MemorySet
        - Src:             'HierarchyCommands.c:398,5'
          Dst:             MemorySet
        - Src:             'HierarchyCommands.c:400,5'
          Dst:             ObjectFlushHierarchy
        - Src:             'HierarchyCommands.c:401,5'
          Dst:             ObjectFlushHierarchy
        - Src:             'HierarchyCommands.c:403,5'
          Dst:             NvFlushHierarchy
        - Src:             'HierarchyCommands.c:404,5'
          Dst:             NvFlushHierarchy
        - Src:             'HierarchyCommands.c:406,5'
          Dst:             DAPreInstall_Init
        - Src:             'HierarchyCommands.c:410,5'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:417,5'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:419,5'
          Dst:             PCR_ClearAuth
        - Src:             'HierarchyCommands.c:421,5'
          Dst:             PCRChanged
    - functionName:    TPM2_ChangeEPS
      functionSourceFile: '/src/ibmswtpm2/src/HierarchyCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 328
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptRandomGenerate
        - MemorySet
        - NvFlushHierarchy
        - NvWrite
        - ObjectFlushHierarchy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'HierarchyCommands.c:337,5'
          Dst:             CryptRandomGenerate
        - Src:             'HierarchyCommands.c:339,5'
          Dst:             CryptRandomGenerate
        - Src:             'HierarchyCommands.c:343,5'
          Dst:             MemorySet
        - Src:             'HierarchyCommands.c:350,5'
          Dst:             ObjectFlushHierarchy
        - Src:             'HierarchyCommands.c:352,5'
          Dst:             NvFlushHierarchy
        - Src:             'HierarchyCommands.c:354,5'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:355,5'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:356,5'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:357,5'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:358,5'
          Dst:             NvWrite
    - functionName:    TPM2_ChangePPS
      functionSourceFile: '/src/ibmswtpm2/src/HierarchyCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          66
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - CryptRandomGenerate
        - NvFlushHierarchy
        - NvWrite
        - ObjectFlushHierarchy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'HierarchyCommands.c:293,5'
          Dst:             CryptRandomGenerate
        - Src:             'HierarchyCommands.c:296,5'
          Dst:             CryptRandomGenerate
        - Src:             'HierarchyCommands.c:301,5'
          Dst:             ObjectFlushHierarchy
        - Src:             'HierarchyCommands.c:303,5'
          Dst:             NvFlushHierarchy
        - Src:             'HierarchyCommands.c:305,5'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:306,5'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:314,5'
          Dst:             NvWrite
    - functionName:    TPM2_SetPrimaryPolicy
      functionSourceFile: '/src/ibmswtpm2/src/HierarchyCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          107
      EdgeCount:       14
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHashGetDigestSize
        - NvWrite
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'HierarchyCommands.c:244,5'
          Branch Sides:    []
      Callsites:
        - Src:             'HierarchyCommands.c:235,33'
          Dst:             CryptHashGetDigestSize
        - Src:             'HierarchyCommands.c:249,6'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:250,6'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:255,6'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:256,6'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:267,6'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:268,6'
          Dst:             NvWrite
        - Src:             'HierarchyCommands.c:271,6'
          Dst:             TpmFail
    - functionName:    TPM2_HierarchyControl
      functionSourceFile: '/src/ibmswtpm2/src/HierarchyCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         55
      ICount:          271
      EdgeCount:       67
      CyclomaticComplexity: 14
      functionsReached:
        - NvClearOrderly
        - ObjectFlushHierarchy
        - TpmFail
      functionUses:    0
      BranchProfiles:
        - Branch String:   'HierarchyCommands.c:141,5'
          Branch Sides:    []
        - Branch String:   'HierarchyCommands.c:188,5'
          Branch Sides:    []
      Callsites:
        - Src:             'HierarchyCommands.c:175,6'
          Dst:             TpmFail
        - Src:             'HierarchyCommands.c:203,6'
          Dst:             TpmFail
        - Src:             'HierarchyCommands.c:210,6'
          Dst:             NvClearOrderly
        - Src:             'HierarchyCommands.c:216,3'
          Dst:             ObjectFlushHierarchy
    - functionName:    TPM2_CreatePrimary
      functionSourceFile: '/src/ibmswtpm2/src/HierarchyCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          181
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - AdjustAuthSize
        - CreateChecks
        - CryptCreateObject
        - DRBG_InstantiateSeeded
        - EntityGetHierarchy
        - FillInCreationData
        - FindEmptyObjectSlot
        - HierarchyGetPrimarySeed
        - ObjectSetLoadedAttributes
        - PublicMarshalAndComputeName
        - RcSafeAddToResult
        - TicketComputeCreation
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'HierarchyCommands.c:78,17'
          Dst:             FindEmptyObjectSlot
        - Src:             'HierarchyCommands.c:88,14'
          Dst:             CreateChecks
        - Src:             'HierarchyCommands.c:91,9'
          Dst:             RcSafeAddToResult
        - Src:             'HierarchyCommands.c:93,9'
          Dst:             AdjustAuthSize
        - Src:             'HierarchyCommands.c:103,8'
          Dst:             HierarchyGetPrimarySeed
        - Src:             'HierarchyCommands.c:105,16'
          Dst:             PublicMarshalAndComputeName
        - Src:             'HierarchyCommands.c:102,5'
          Dst:             DRBG_InstantiateSeeded
        - Src:             'HierarchyCommands.c:111,14'
          Dst:             CryptCreateObject
        - Src:             'HierarchyCommands.c:119,5'
          Dst:             FillInCreationData
        - Src:             'HierarchyCommands.c:123,27'
          Dst:             EntityGetHierarchy
        - Src:             'HierarchyCommands.c:123,5'
          Dst:             TicketComputeCreation
        - Src:             'HierarchyCommands.c:126,5'
          Dst:             ObjectSetLoadedAttributes
    - functionName:    IsLabelProperlyFormatted
      functionSourceFile: '/src/ibmswtpm2/src/IoBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          36
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    MemoryGetOutBuffer
      functionSourceFile: '/src/ibmswtpm2/src/IoBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          43
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'IoBuffers.c:122,5'
          Dst:             TpmFail
    - functionName:    MemoryGetInBuffer
      functionSourceFile: '/src/ibmswtpm2/src/IoBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          37
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'IoBuffers.c:101,5'
          Dst:             TpmFail
    - functionName:    MemoryIoBufferZero
      functionSourceFile: '/src/ibmswtpm2/src/IoBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    MemoryIoBufferAllocationReset
      functionSourceFile: '/src/ibmswtpm2/src/IoBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _TPM_Hash_End
      functionSourceFile: '/src/ibmswtpm2/src/IntegrityCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 411
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         16
      ICount:          103
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - CryptHashEnd2B
        - CryptHashGetAlgByIndex
        - CryptHashGetDigestSize
        - FlushObject
        - HandleToObject
        - PCRResetDynamics
        - PcrDrtm
        - PcrIsAllocated
        - TPMIsStarted
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'IntegrityCommands.c:374,33'
          Dst:             HandleToObject
        - Src:             'IntegrityCommands.c:376,8'
          Dst:             TPMIsStarted
        - Src:             'IntegrityCommands.c:380,6'
          Dst:             PCRResetDynamics
        - Src:             'IntegrityCommands.c:396,33'
          Dst:             CryptHashGetAlgByIndex
        - Src:             'IntegrityCommands.c:398,9'
          Dst:             PcrIsAllocated
        - Src:             'IntegrityCommands.c:402,23'
          Dst:             CryptHashGetDigestSize
        - Src:             'IntegrityCommands.c:403,7'
          Dst:             CryptHashEnd2B
        - Src:             'IntegrityCommands.c:404,7'
          Dst:             PcrDrtm
        - Src:             'IntegrityCommands.c:408,5'
          Dst:             FlushObject
    - functionName:    _TPM_Hash_Data
      functionSourceFile: '/src/ibmswtpm2/src/IntegrityCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 332
      functionLinenumberEnd: 355
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          94
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - CryptDigestUpdate
        - HandleToObject
        - PcrIsAllocated
        - TPMIsStarted
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'IntegrityCommands.c:335,34'
          Dst:             TPMIsStarted
        - Src:             'IntegrityCommands.c:342,33'
          Dst:             HandleToObject
        - Src:             'IntegrityCommands.c:343,5'
          Dst:             TpmFail
        - Src:             'IntegrityCommands.c:349,9'
          Dst:             PcrIsAllocated
        - Src:             'IntegrityCommands.c:352,3'
          Dst:             CryptDigestUpdate
    - functionName:    _TPM_Hash_Start
      functionSourceFile: '/src/ibmswtpm2/src/IntegrityCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         20
      ICount:          91
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - FlushObject
        - IsObjectPresent
        - ObjectCreateEventSequence
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'IntegrityCommands.c:285,6'
          Dst:             FlushObject
        - Src:             'IntegrityCommands.c:293,14'
          Dst:             ObjectCreateEventSequence
        - Src:             'IntegrityCommands.c:308,10'
          Dst:             IsObjectPresent
        - Src:             'IntegrityCommands.c:313,6'
          Dst:             TpmFail
        - Src:             'IntegrityCommands.c:315,6'
          Dst:             FlushObject
        - Src:             'IntegrityCommands.c:318,15'
          Dst:             ObjectCreateEventSequence
        - Src:             'IntegrityCommands.c:320,3'
          Dst:             TpmFail
    - functionName:    TPM2_PCR_Reset
      functionSourceFile: '/src/ibmswtpm2/src/IntegrityCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 270
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          62
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - NvClearOrderly
        - PCRChanged
        - PCRIsResetAllowed
        - PCRIsStateSaved
        - PCRSetValue
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'IntegrityCommands.c:257,9'
          Dst:             PCRIsResetAllowed
        - Src:             'IntegrityCommands.c:261,8'
          Dst:             PCRIsStateSaved
        - Src:             'IntegrityCommands.c:262,2'
          Dst:             NvClearOrderly
        - Src:             'IntegrityCommands.c:265,5'
          Dst:             PCRSetValue
        - Src:             'IntegrityCommands.c:268,5'
          Dst:             PCRChanged
    - functionName:    TPM2_PCR_SetAuthValue
      functionSourceFile: '/src/ibmswtpm2/src/IntegrityCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - MemoryRemoveTrailingZeros
        - NvClearOrderly
        - PCRBelongsAuthGroup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'IntegrityCommands.c:233,9'
          Dst:             PCRBelongsAuthGroup
        - Src:             'IntegrityCommands.c:239,5'
          Dst:             NvClearOrderly
        - Src:             'IntegrityCommands.c:242,5'
          Dst:             MemoryRemoveTrailingZeros
    - functionName:    TPM2_PCR_SetAuthPolicy
      functionSourceFile: '/src/ibmswtpm2/src/IntegrityCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          75
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - CryptHashGetDigestSize
        - NvWrite
        - PCRBelongsPolicyGroup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'IntegrityCommands.c:207,33'
          Dst:             CryptHashGetDigestSize
        - Src:             'IntegrityCommands.c:210,9'
          Dst:             PCRBelongsPolicyGroup
        - Src:             'IntegrityCommands.c:217,5'
          Dst:             NvWrite
    - functionName:    TPM2_PCR_Allocate
      functionSourceFile: '/src/ibmswtpm2/src/IntegrityCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          74
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - PCRAllocate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'IntegrityCommands.c:179,14'
          Dst:             PCRAllocate
    - functionName:    TPM2_PCR_Read
      functionSourceFile: '/src/ibmswtpm2/src/IntegrityCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - PCRRead
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'IntegrityCommands.c:154,5'
          Dst:             PCRRead
    - functionName:    TPM2_PCR_Event
      functionSourceFile: '/src/ibmswtpm2/src/IntegrityCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          148
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd
        - CryptHashGetAlgByIndex
        - CryptHashStart
        - NvClearOrderly
        - PCRExtend
        - PCRIsExtendAllowed
        - PCRIsStateSaved
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'IntegrityCommands.c:117,10'
          Dst:             PCRIsExtendAllowed
        - Src:             'IntegrityCommands.c:121,9'
          Dst:             PCRIsStateSaved
        - Src:             'IntegrityCommands.c:122,3'
          Dst:             NvClearOrderly
        - Src:             'IntegrityCommands.c:129,25'
          Dst:             CryptHashGetAlgByIndex
        - Src:             'IntegrityCommands.c:131,13'
          Dst:             CryptHashStart
        - Src:             'IntegrityCommands.c:132,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'IntegrityCommands.c:133,6'
          Dst:             CryptHashEnd
        - Src:             'IntegrityCommands.c:136,3'
          Dst:             PCRExtend
    - functionName:    TPM2_PCR_Extend
      functionSourceFile: '/src/ibmswtpm2/src/IntegrityCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          116
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - CryptHashGetDigestSize
        - NvClearOrderly
        - PCRExtend
        - PCRIsExtendAllowed
        - PCRIsStateSaved
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'IntegrityCommands.c:83,9'
          Dst:             PCRIsExtendAllowed
        - Src:             'IntegrityCommands.c:87,8'
          Dst:             PCRIsStateSaved
        - Src:             'IntegrityCommands.c:88,2'
          Dst:             NvClearOrderly
        - Src:             'IntegrityCommands.c:94,9'
          Dst:             CryptHashGetDigestSize
        - Src:             'IntegrityCommands.c:93,6'
          Dst:             PCRExtend
    - functionName:    LocalityGetAttributes
      functionSourceFile: '/src/ibmswtpm2/src/Locality.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          85
      EdgeCount:       23
      CyclomaticComplexity: 13
      functionsReached:
        - MemorySet
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Locality.c:76,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Locality.c:75,5'
          Dst:             MemorySet
        - Src:             'Locality.c:94,6'
          Dst:             TpmFail
    - functionName:    _plat__LocalitySet
      functionSourceFile: '/src/ibmswtpm2/src/LocalityPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__LocalityGet
      functionSourceFile: '/src/ibmswtpm2/src/LocalityPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      char
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPM2_SetAlgorithmSet
      functionSourceFile: '/src/ibmswtpm2/src/ManagementCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvWrite
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ManagementCommands.c:110,5'
          Dst:             NvWrite
    - functionName:    TPM2_PP_Commands
      functionSourceFile: '/src/ibmswtpm2/src/ManagementCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          84
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - NvWrite
        - PhysicalPresenceCommandClear
        - PhysicalPresenceCommandSet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ManagementCommands.c:82,2'
          Dst:             PhysicalPresenceCommandSet
        - Src:             'ManagementCommands.c:89,2'
          Dst:             PhysicalPresenceCommandClear
        - Src:             'ManagementCommands.c:91,5'
          Dst:             NvWrite
    - functionName:    TpmEndSimulation
      functionSourceFile: '/src/ibmswtpm2/src/Manufacture.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPM_TearDown
      functionSourceFile: '/src/ibmswtpm2/src/Manufacture.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPM_Manufacture
      functionSourceFile: '/src/ibmswtpm2/src/Manufacture.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CommandAuditPreInstall_Init
        - CryptInit
        - CryptStartup
        - DAPreInstall_Init
        - HierarchyPreInstall_Init
        - NvCommit
        - NvManufacture
        - NvWrite
        - PCRSimStart
        - PhysicalPresencePreInstall_Init
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'Manufacture.c:95,5'
          Dst:             CryptInit
        - Src:             'Manufacture.c:98,5'
          Dst:             NvManufacture
        - Src:             'Manufacture.c:101,5'
          Dst:             CryptStartup
        - Src:             'Manufacture.c:103,5'
          Dst:             PCRSimStart
        - Src:             'Manufacture.c:107,5'
          Dst:             HierarchyPreInstall_Init
        - Src:             'Manufacture.c:109,5'
          Dst:             DAPreInstall_Init
        - Src:             'Manufacture.c:111,5'
          Dst:             PhysicalPresencePreInstall_Init
        - Src:             'Manufacture.c:113,5'
          Dst:             CommandAuditPreInstall_Init
        - Src:             'Manufacture.c:116,5'
          Dst:             NvWrite
        - Src:             'Manufacture.c:124,5'
          Dst:             NvWrite
        - Src:             'Manufacture.c:125,5'
          Dst:             NvWrite
        - Src:             'Manufacture.c:128,5'
          Dst:             NvWrite
        - Src:             'Manufacture.c:132,5'
          Dst:             NvWrite
        - Src:             'Manufacture.c:138,5'
          Dst:             NvCommit
    - functionName:    TPM2B_CREATION_DATA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2195
      functionLinenumberEnd: 2210
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          74
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMS_CREATION_DATA_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:2203,16'
          Dst:             TPMS_CREATION_DATA_Marshal
        - Src:             'Marshal.c:2205,13'
          Dst:             UINT16_Marshal
    - functionName:    TPMS_CREATION_DATA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2178
      functionLinenumberEnd: 2188
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          97
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DATA_Marshal
        - TPM2B_DIGEST_Marshal
        - TPM2B_NAME_Marshal
        - TPMA_LOCALITY_Marshal
        - TPML_PCR_SELECTION_Marshal
        - TPM_ALG_ID_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:2181,16'
          Dst:             TPML_PCR_SELECTION_Marshal
        - Src:             'Marshal.c:2182,16'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'Marshal.c:2183,16'
          Dst:             TPMA_LOCALITY_Marshal
        - Src:             'Marshal.c:2184,16'
          Dst:             TPM_ALG_ID_Marshal
        - Src:             'Marshal.c:2185,16'
          Dst:             TPM2B_NAME_Marshal
        - Src:             'Marshal.c:2186,16'
          Dst:             TPM2B_NAME_Marshal
        - Src:             'Marshal.c:2187,16'
          Dst:             TPM2B_DATA_Marshal
    - functionName:    UINT16_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          92
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - TpmFail
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:110,6'
          Dst:             TpmFail
    - functionName:    TPML_PCR_SELECTION_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 811
      functionLinenumberEnd: 819
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          66
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_PCR_SELECTION_Marshal
        - UINT32_Marshal
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:815,16'
          Dst:             UINT32_Marshal
        - Src:             'Marshal.c:817,13'
          Dst:             TPMS_PCR_SELECTION_Marshal
    - functionName:    TPM2B_DIGEST_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 518
      functionLinenumberEnd: 521
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    23
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:520,12'
          Dst:             TPM2B_Marshal
    - functionName:    TPMA_LOCALITY_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 346
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT8_Marshal
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:348,16'
          Dst:             UINT8_Marshal
    - functionName:    TPM_ALG_ID_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Marshal
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:226,16'
          Dst:             UINT16_Marshal
    - functionName:    TPM2B_NAME_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 597
      functionLinenumberEnd: 600
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:599,16'
          Dst:             TPM2B_Marshal
    - functionName:    TPM2B_DATA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 528
      functionLinenumberEnd: 531
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:530,12'
          Dst:             TPM2B_Marshal
    - functionName:    TPM2B_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Array_Marshal
        - UINT16_Marshal
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:196,16'
          Dst:             UINT16_Marshal
        - Src:             'Marshal.c:197,16'
          Dst:             Array_Marshal
    - functionName:    Array_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          85
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - TpmFail
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:186,6'
          Dst:             TpmFail
    - functionName:    UINT8_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          78
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - TpmFail
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:83,6'
          Dst:             TpmFail
    - functionName:    UINT32_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          108
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - TpmFail
      functionUses:    31
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:133,6'
          Dst:             TpmFail
    - functionName:    TPMS_PCR_SELECTION_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 607
      functionLinenumberEnd: 613
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          58
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Array_Marshal
        - TPMI_ALG_HASH_Marshal
        - UINT8_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:610,16'
          Dst:             TPMI_ALG_HASH_Marshal
        - Src:             'Marshal.c:611,16'
          Dst:             UINT8_Marshal
        - Src:             'Marshal.c:612,16'
          Dst:             Array_Marshal
    - functionName:    TPMI_ALG_HASH_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 416
      functionLinenumberEnd: 419
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_ALG_ID_Marshal
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:418,16'
          Dst:             TPM_ALG_ID_Marshal
    - functionName:    TPMS_CONTEXT_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2164
      functionLinenumberEnd: 2171
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          64
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_CONTEXT_DATA_Marshal
        - TPMI_DH_SAVED_Marshal
        - TPMI_RH_HIERARCHY_Marshal
        - UINT64_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:2167,16'
          Dst:             UINT64_Marshal
        - Src:             'Marshal.c:2168,16'
          Dst:             TPMI_DH_SAVED_Marshal
        - Src:             'Marshal.c:2169,16'
          Dst:             TPMI_RH_HIERARCHY_Marshal
        - Src:             'Marshal.c:2170,16'
          Dst:             TPM2B_CONTEXT_DATA_Marshal
    - functionName:    UINT64_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          144
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - TpmFail
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:166,6'
          Dst:             TpmFail
    - functionName:    TPMI_DH_SAVED_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_HANDLE_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:388,16'
          Dst:             TPM_HANDLE_Marshal
    - functionName:    TPMI_RH_HIERARCHY_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 399
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_HANDLE_Marshal
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:398,16'
          Dst:             TPM_HANDLE_Marshal
    - functionName:    TPM2B_CONTEXT_DATA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2154
      functionLinenumberEnd: 2157
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:2156,16'
          Dst:             TPM2B_Marshal
    - functionName:    TPM_HANDLE_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 309
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:308,16'
          Dst:             UINT32_Marshal
    - functionName:    TPM2B_NV_PUBLIC_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2132
      functionLinenumberEnd: 2147
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          74
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMS_NV_PUBLIC_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:2140,16'
          Dst:             TPMS_NV_PUBLIC_Marshal
        - Src:             'Marshal.c:2142,13'
          Dst:             UINT16_Marshal
    - functionName:    TPMS_NV_PUBLIC_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2117
      functionLinenumberEnd: 2125
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          75
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPMA_NV_Marshal
        - TPMI_ALG_HASH_Marshal
        - TPMI_RH_NV_INDEX_Marshal
        - UINT16_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:2120,16'
          Dst:             TPMI_RH_NV_INDEX_Marshal
        - Src:             'Marshal.c:2121,16'
          Dst:             TPMI_ALG_HASH_Marshal
        - Src:             'Marshal.c:2122,16'
          Dst:             TPMA_NV_Marshal
        - Src:             'Marshal.c:2123,16'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'Marshal.c:2124,16'
          Dst:             UINT16_Marshal
    - functionName:    TPMI_RH_NV_INDEX_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 406
      functionLinenumberEnd: 409
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_HANDLE_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:408,16'
          Dst:             TPM_HANDLE_Marshal
    - functionName:    TPMA_NV_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2107
      functionLinenumberEnd: 2110
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:2109,16'
          Dst:             UINT32_Marshal
    - functionName:    TPM2B_ID_OBJECT_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2097
      functionLinenumberEnd: 2100
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:2099,16'
          Dst:             TPM2B_Marshal
    - functionName:    TPM2B_PRIVATE_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2087
      functionLinenumberEnd: 2090
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:2089,16'
          Dst:             TPM2B_Marshal
    - functionName:    TPMT_SENSITIVE_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2073
      functionLinenumberEnd: 2080
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          68
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_AUTH_Marshal
        - TPM2B_DIGEST_Marshal
        - TPMI_ALG_PUBLIC_Marshal
        - TPMU_SENSITIVE_COMPOSITE_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:2076,16'
          Dst:             TPMI_ALG_PUBLIC_Marshal
        - Src:             'Marshal.c:2077,16'
          Dst:             TPM2B_AUTH_Marshal
        - Src:             'Marshal.c:2078,16'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'Marshal.c:2079,16'
          Dst:             TPMU_SENSITIVE_COMPOSITE_Marshal
    - functionName:    TPMI_ALG_PUBLIC_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1876
      functionLinenumberEnd: 1879
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_ALG_ID_Marshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1878,16'
          Dst:             TPM_ALG_ID_Marshal
    - functionName:    TPM2B_AUTH_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 548
      functionLinenumberEnd: 551
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:550,16'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMU_SENSITIVE_COMPOSITE_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2039
      functionLinenumberEnd: 2066
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          87
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached:
        - TPM2B_ECC_PARAMETER_Marshal
        - TPM2B_PRIVATE_KEY_RSA_Marshal
        - TPM2B_SENSITIVE_DATA_Marshal
        - TPM2B_SYM_KEY_Marshal
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Marshal.c:2042,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Marshal.c:2045,13'
          Dst:             TPM2B_PRIVATE_KEY_RSA_Marshal
        - Src:             'Marshal.c:2050,13'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'Marshal.c:2055,13'
          Dst:             TPM2B_SENSITIVE_DATA_Marshal
        - Src:             'Marshal.c:2060,13'
          Dst:             TPM2B_SYM_KEY_Marshal
        - Src:             'Marshal.c:2064,2'
          Dst:             TpmFail
    - functionName:    TPM2B_PRIVATE_KEY_RSA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1629
      functionLinenumberEnd: 1632
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1631,16'
          Dst:             TPM2B_Marshal
    - functionName:    TPM2B_ECC_PARAMETER_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1639
      functionLinenumberEnd: 1642
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1641,16'
          Dst:             TPM2B_Marshal
    - functionName:    TPM2B_SENSITIVE_DATA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1258
      functionLinenumberEnd: 1261
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1260,16'
          Dst:             TPM2B_Marshal
    - functionName:    TPM2B_SYM_KEY_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1237
      functionLinenumberEnd: 1240
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1239,16'
          Dst:             TPM2B_Marshal
    - functionName:    TPM2B_PUBLIC_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2017
      functionLinenumberEnd: 2032
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          74
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMT_PUBLIC_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:2025,16'
          Dst:             TPMT_PUBLIC_Marshal
        - Src:             'Marshal.c:2027,20'
          Dst:             UINT16_Marshal
    - functionName:    TPMT_PUBLIC_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2002
      functionLinenumberEnd: 2010
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          94
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPMA_OBJECT_Marshal
        - TPMI_ALG_HASH_Marshal
        - TPMI_ALG_PUBLIC_Marshal
        - TPMU_PUBLIC_ID_Marshal
        - TPMU_PUBLIC_PARMS_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:2004,16'
          Dst:             TPMI_ALG_PUBLIC_Marshal
        - Src:             'Marshal.c:2005,16'
          Dst:             TPMI_ALG_HASH_Marshal
        - Src:             'Marshal.c:2006,16'
          Dst:             TPMA_OBJECT_Marshal
        - Src:             'Marshal.c:2007,16'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'Marshal.c:2008,16'
          Dst:             TPMU_PUBLIC_PARMS_Marshal
        - Src:             'Marshal.c:2009,16'
          Dst:             TPMU_PUBLIC_ID_Marshal
    - functionName:    TPMA_OBJECT_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 326
      functionLinenumberEnd: 329
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:328,16'
          Dst:             UINT32_Marshal
    - functionName:    TPMU_PUBLIC_PARMS_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1957
      functionLinenumberEnd: 1984
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          87
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached:
        - TPMS_ECC_PARMS_Marshal
        - TPMS_KEYEDHASH_PARMS_Marshal
        - TPMS_RSA_PARMS_Marshal
        - TPMS_SYMCIPHER_PARMS_Marshal
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Marshal.c:1960,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Marshal.c:1963,13'
          Dst:             TPMS_KEYEDHASH_PARMS_Marshal
        - Src:             'Marshal.c:1968,13'
          Dst:             TPMS_SYMCIPHER_PARMS_Marshal
        - Src:             'Marshal.c:1973,13'
          Dst:             TPMS_RSA_PARMS_Marshal
        - Src:             'Marshal.c:1978,13'
          Dst:             TPMS_ECC_PARMS_Marshal
        - Src:             'Marshal.c:1982,2'
          Dst:             TpmFail
    - functionName:    TPMU_PUBLIC_ID_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1885
      functionLinenumberEnd: 1912
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          87
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPM2B_PUBLIC_KEY_RSA_Marshal
        - TPMS_ECC_POINT_Marshal
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Marshal.c:1888,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Marshal.c:1891,13'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'Marshal.c:1896,13'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'Marshal.c:1901,13'
          Dst:             TPM2B_PUBLIC_KEY_RSA_Marshal
        - Src:             'Marshal.c:1906,13'
          Dst:             TPMS_ECC_POINT_Marshal
        - Src:             'Marshal.c:1910,2'
          Dst:             TpmFail
    - functionName:    TPM2B_PUBLIC_KEY_RSA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1609
      functionLinenumberEnd: 1612
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1611,16'
          Dst:             TPM2B_Marshal
    - functionName:    TPMS_ECC_POINT_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1649
      functionLinenumberEnd: 1654
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_ECC_PARAMETER_Marshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1652,16'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'Marshal.c:1653,16'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
    - functionName:    TPMS_KEYEDHASH_PARMS_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1919
      functionLinenumberEnd: 1922
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMT_KEYEDHASH_SCHEME_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1921,16'
          Dst:             TPMT_KEYEDHASH_SCHEME_Marshal
    - functionName:    TPMS_SYMCIPHER_PARMS_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1247
      functionLinenumberEnd: 1251
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMT_SYM_DEF_OBJECT_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1250,16'
          Dst:             TPMT_SYM_DEF_OBJECT_Marshal
    - functionName:    TPMS_RSA_PARMS_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1929
      functionLinenumberEnd: 1936
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          64
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMI_RSA_KEY_BITS_Marshal
        - TPMT_RSA_SCHEME_Marshal
        - TPMT_SYM_DEF_OBJECT_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1932,16'
          Dst:             TPMT_SYM_DEF_OBJECT_Marshal
        - Src:             'Marshal.c:1933,16'
          Dst:             TPMT_RSA_SCHEME_Marshal
        - Src:             'Marshal.c:1934,16'
          Dst:             TPMI_RSA_KEY_BITS_Marshal
        - Src:             'Marshal.c:1935,16'
          Dst:             UINT32_Marshal
    - functionName:    TPMS_ECC_PARMS_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1943
      functionLinenumberEnd: 1950
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          64
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMI_ECC_CURVE_Marshal
        - TPMT_ECC_SCHEME_Marshal
        - TPMT_KDF_SCHEME_Marshal
        - TPMT_SYM_DEF_OBJECT_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1946,16'
          Dst:             TPMT_SYM_DEF_OBJECT_Marshal
        - Src:             'Marshal.c:1947,16'
          Dst:             TPMT_ECC_SCHEME_Marshal
        - Src:             'Marshal.c:1948,16'
          Dst:             TPMI_ECC_CURVE_Marshal
        - Src:             'Marshal.c:1949,16'
          Dst:             TPMT_KDF_SCHEME_Marshal
    - functionName:    TPMT_SYM_DEF_OBJECT_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1224
      functionLinenumberEnd: 1230
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          61
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMI_ALG_SYM_OBJECT_Marshal
        - TPMU_SYM_KEY_BITS_Marshal
        - TPMU_SYM_MODE_Marshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1227,16'
          Dst:             TPMI_ALG_SYM_OBJECT_Marshal
        - Src:             'Marshal.c:1228,16'
          Dst:             TPMU_SYM_KEY_BITS_Marshal
        - Src:             'Marshal.c:1229,16'
          Dst:             TPMU_SYM_MODE_Marshal
    - functionName:    TPMT_ECC_SCHEME_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1703
      functionLinenumberEnd: 1708
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMI_ALG_ECC_SCHEME_Marshal
        - TPMU_ASYM_SCHEME_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1706,16'
          Dst:             TPMI_ALG_ECC_SCHEME_Marshal
        - Src:             'Marshal.c:1707,16'
          Dst:             TPMU_ASYM_SCHEME_Marshal
    - functionName:    TPMI_ECC_CURVE_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1693
      functionLinenumberEnd: 1696
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_ECC_CURVE_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1695,16'
          Dst:             TPM_ECC_CURVE_Marshal
    - functionName:    TPMT_KDF_SCHEME_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1509
      functionLinenumberEnd: 1514
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMI_ALG_KDF_Marshal
        - TPMU_KDF_SCHEME_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1512,16'
          Dst:             TPMI_ALG_KDF_Marshal
        - Src:             'Marshal.c:1513,16'
          Dst:             TPMU_KDF_SCHEME_Marshal
    - functionName:    TPMI_ALG_KDF_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 446
      functionLinenumberEnd: 449
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_ALG_ID_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:448,16'
          Dst:             TPM_ALG_ID_Marshal
    - functionName:    TPMU_KDF_SCHEME_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1472
      functionLinenumberEnd: 1502
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          77
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached:
        - TPMS_SCHEME_KDF1_SP800_108_Marshal
        - TPMS_SCHEME_KDF1_SP800_56A_Marshal
        - TPMS_SCHEME_MGF1_Marshal
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Marshal.c:1476,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Marshal.c:1479,13'
          Dst:             TPMS_SCHEME_MGF1_Marshal
        - Src:             'Marshal.c:1484,13'
          Dst:             TPMS_SCHEME_KDF1_SP800_56A_Marshal
        - Src:             'Marshal.c:1494,13'
          Dst:             TPMS_SCHEME_KDF1_SP800_108_Marshal
        - Src:             'Marshal.c:1500,2'
          Dst:             TpmFail
    - functionName:    TPMS_SCHEME_MGF1_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1441
      functionLinenumberEnd: 1444
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SCHEME_HASH_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1443,16'
          Dst:             TPMS_SCHEME_HASH_Marshal
    - functionName:    TPMS_SCHEME_KDF1_SP800_56A_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1448
      functionLinenumberEnd: 1451
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SCHEME_HASH_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1450,16'
          Dst:             TPMS_SCHEME_HASH_Marshal
    - functionName:    TPMS_SCHEME_KDF1_SP800_108_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1462
      functionLinenumberEnd: 1465
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SCHEME_HASH_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1464,16'
          Dst:             TPMS_SCHEME_HASH_Marshal
    - functionName:    TPMS_SCHEME_HASH_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1268
      functionLinenumberEnd: 1272
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMI_ALG_HASH_Marshal
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1271,16'
          Dst:             TPMI_ALG_HASH_Marshal
    - functionName:    TPM_ECC_CURVE_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Marshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:237,16'
          Dst:             UINT16_Marshal
    - functionName:    TPMI_ALG_ECC_SCHEME_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1683
      functionLinenumberEnd: 1686
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_ALG_ID_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1685,16'
          Dst:             TPM_ALG_ID_Marshal
    - functionName:    TPMU_ASYM_SCHEME_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1521
      functionLinenumberEnd: 1580
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          147
      EdgeCount:       26
      CyclomaticComplexity: 14
      functionsReached:
        - TPMS_ENC_SCHEME_OAEP_Marshal
        - TPMS_ENC_SCHEME_RSAES_Marshal
        - TPMS_KEY_SCHEME_ECDH_Marshal
        - TPMS_SIG_SCHEME_ECDAA_Marshal
        - TPMS_SIG_SCHEME_ECDSA_Marshal
        - TPMS_SIG_SCHEME_ECSCHNORR_Marshal
        - TPMS_SIG_SCHEME_RSAPSS_Marshal
        - TPMS_SIG_SCHEME_RSASSA_Marshal
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Marshal.c:1524,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Marshal.c:1527,13'
          Dst:             TPMS_KEY_SCHEME_ECDH_Marshal
        - Src:             'Marshal.c:1537,13'
          Dst:             TPMS_SIG_SCHEME_RSASSA_Marshal
        - Src:             'Marshal.c:1542,13'
          Dst:             TPMS_SIG_SCHEME_RSAPSS_Marshal
        - Src:             'Marshal.c:1547,13'
          Dst:             TPMS_SIG_SCHEME_ECDSA_Marshal
        - Src:             'Marshal.c:1552,13'
          Dst:             TPMS_SIG_SCHEME_ECDAA_Marshal
        - Src:             'Marshal.c:1562,13'
          Dst:             TPMS_SIG_SCHEME_ECSCHNORR_Marshal
        - Src:             'Marshal.c:1567,13'
          Dst:             TPMS_ENC_SCHEME_RSAES_Marshal
        - Src:             'Marshal.c:1572,13'
          Dst:             TPMS_ENC_SCHEME_OAEP_Marshal
        - Src:             'Marshal.c:1578,2'
          Dst:             TpmFail
    - functionName:    TPMS_KEY_SCHEME_ECDH_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1424
      functionLinenumberEnd: 1427
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SCHEME_HASH_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1426,16'
          Dst:             TPMS_SCHEME_HASH_Marshal
    - functionName:    TPMS_SIG_SCHEME_RSASSA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1335
      functionLinenumberEnd: 1338
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SCHEME_HASH_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1337,16'
          Dst:             TPMS_SCHEME_HASH_Marshal
    - functionName:    TPMS_SIG_SCHEME_RSAPSS_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1343
      functionLinenumberEnd: 1346
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SCHEME_HASH_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1345,16'
          Dst:             TPMS_SCHEME_HASH_Marshal
    - functionName:    TPMS_SIG_SCHEME_ECDSA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1353
      functionLinenumberEnd: 1356
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SCHEME_HASH_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1355,16'
          Dst:             TPMS_SCHEME_HASH_Marshal
    - functionName:    TPMS_SIG_SCHEME_ECDAA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1367
      functionLinenumberEnd: 1370
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SCHEME_ECDAA_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1369,16'
          Dst:             TPMS_SCHEME_ECDAA_Marshal
    - functionName:    TPMS_SIG_SCHEME_ECSCHNORR_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1360
      functionLinenumberEnd: 1363
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SCHEME_HASH_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1362,16'
          Dst:             TPMS_SCHEME_HASH_Marshal
    - functionName:    TPMS_ENC_SCHEME_RSAES_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1387
      functionLinenumberEnd: 1391
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPMS_ENC_SCHEME_OAEP_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1377
      functionLinenumberEnd: 1380
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SCHEME_HASH_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1379,16'
          Dst:             TPMS_SCHEME_HASH_Marshal
    - functionName:    TPMS_SCHEME_ECDAA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1279
      functionLinenumberEnd: 1284
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMI_ALG_HASH_Marshal
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1282,16'
          Dst:             TPMI_ALG_HASH_Marshal
        - Src:             'Marshal.c:1283,16'
          Dst:             UINT16_Marshal
    - functionName:    TPMI_ALG_SYM_OBJECT_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 426
      functionLinenumberEnd: 429
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_ALG_ID_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:428,16'
          Dst:             TPM_ALG_ID_Marshal
    - functionName:    TPMU_SYM_KEY_BITS_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1154
      functionLinenumberEnd: 1183
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          63
      EdgeCount:       14
      CyclomaticComplexity: 8
      functionsReached:
        - TPMI_AES_KEY_BITS_Marshal
        - TPMI_ALG_HASH_Marshal
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Marshal.c:1157,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Marshal.c:1160,13'
          Dst:             TPMI_AES_KEY_BITS_Marshal
        - Src:             'Marshal.c:1175,13'
          Dst:             TPMI_ALG_HASH_Marshal
        - Src:             'Marshal.c:1181,2'
          Dst:             TpmFail
    - functionName:    TPMU_SYM_MODE_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1190
      functionLinenumberEnd: 1217
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          54
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached:
        - TPMI_ALG_SYM_MODE_Marshal
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Marshal.c:1193,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Marshal.c:1196,13'
          Dst:             TPMI_ALG_SYM_MODE_Marshal
        - Src:             'Marshal.c:1215,2'
          Dst:             TpmFail
    - functionName:    TPMI_ALG_SYM_MODE_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 436
      functionLinenumberEnd: 439
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_ALG_ID_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:438,16'
          Dst:             TPM_ALG_ID_Marshal
    - functionName:    TPMI_AES_KEY_BITS_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1144
      functionLinenumberEnd: 1147
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_KEY_BITS_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1146,16'
          Dst:             TPM_KEY_BITS_Marshal
    - functionName:    TPM_KEY_BITS_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:207,16'
          Dst:             UINT16_Marshal
    - functionName:    TPMT_RSA_SCHEME_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1597
      functionLinenumberEnd: 1602
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMI_ALG_RSA_SCHEME_Marshal
        - TPMU_ASYM_SCHEME_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1600,16'
          Dst:             TPMI_ALG_RSA_SCHEME_Marshal
        - Src:             'Marshal.c:1601,16'
          Dst:             TPMU_ASYM_SCHEME_Marshal
    - functionName:    TPMI_RSA_KEY_BITS_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1619
      functionLinenumberEnd: 1622
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_KEY_BITS_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1621,16'
          Dst:             TPM_KEY_BITS_Marshal
    - functionName:    TPMI_ALG_RSA_SCHEME_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1587
      functionLinenumberEnd: 1590
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_ALG_ID_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1589,16'
          Dst:             TPM_ALG_ID_Marshal
    - functionName:    TPMT_KEYEDHASH_SCHEME_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1323
      functionLinenumberEnd: 1328
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMI_ALG_KEYEDHASH_SCHEME_Marshal
        - TPMU_SCHEME_KEYEDHASH_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1326,16'
          Dst:             TPMI_ALG_KEYEDHASH_SCHEME_Marshal
        - Src:             'Marshal.c:1327,16'
          Dst:             TPMU_SCHEME_KEYEDHASH_Marshal
    - functionName:    TPMI_ALG_KEYEDHASH_SCHEME_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1291
      functionLinenumberEnd: 1294
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_ALG_ID_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1293,16'
          Dst:             TPM_ALG_ID_Marshal
    - functionName:    TPMU_SCHEME_KEYEDHASH_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1398
      functionLinenumberEnd: 1417
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          63
      EdgeCount:       14
      CyclomaticComplexity: 8
      functionsReached:
        - TPMS_SCHEME_HMAC_Marshal
        - TPMS_SCHEME_XOR_Marshal
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Marshal.c:1401,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Marshal.c:1404,13'
          Dst:             TPMS_SCHEME_HMAC_Marshal
        - Src:             'Marshal.c:1409,13'
          Dst:             TPMS_SCHEME_XOR_Marshal
        - Src:             'Marshal.c:1415,2'
          Dst:             TpmFail
    - functionName:    TPMS_SCHEME_HMAC_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1301
      functionLinenumberEnd: 1304
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SCHEME_HASH_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1303,16'
          Dst:             TPMS_SCHEME_HASH_Marshal
    - functionName:    TPMS_SCHEME_XOR_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1311
      functionLinenumberEnd: 1316
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMI_ALG_HASH_Marshal
        - TPMI_ALG_KDF_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1314,16'
          Dst:             TPMI_ALG_HASH_Marshal
        - Src:             'Marshal.c:1315,16'
          Dst:             TPMI_ALG_KDF_Marshal
    - functionName:    TPMT_PUBLIC_PARMS_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1991
      functionLinenumberEnd: 1995
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMI_ALG_PUBLIC_Marshal
        - TPMU_PUBLIC_PARMS_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1993,16'
          Dst:             TPMI_ALG_PUBLIC_Marshal
        - Src:             'Marshal.c:1994,16'
          Dst:             TPMU_PUBLIC_PARMS_Marshal
    - functionName:    TPM2B_ENCRYPTED_SECRET_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1865
      functionLinenumberEnd: 1868
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1867,16'
          Dst:             TPM2B_Marshal
    - functionName:    TPMT_SIGNATURE_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1853
      functionLinenumberEnd: 1858
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMI_ALG_SIG_SCHEME_Marshal
        - TPMU_SIGNATURE_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1856,16'
          Dst:             TPMI_ALG_SIG_SCHEME_Marshal
        - Src:             'Marshal.c:1857,16'
          Dst:             TPMU_SIGNATURE_Marshal
    - functionName:    TPMI_ALG_SIG_SCHEME_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 459
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_ALG_ID_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:458,16'
          Dst:             TPM_ALG_ID_Marshal
    - functionName:    TPMU_SIGNATURE_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1802
      functionLinenumberEnd: 1846
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          119
      EdgeCount:       22
      CyclomaticComplexity: 12
      functionsReached:
        - TPMS_SIGNATURE_ECDAA_Marshal
        - TPMS_SIGNATURE_ECDSA_Marshal
        - TPMS_SIGNATURE_ECSCHNORR_Marshal
        - TPMS_SIGNATURE_RSAPSS_Marshal
        - TPMS_SIGNATURE_RSASSA_Marshal
        - TPMT_HA_Marshal
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Marshal.c:1805,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Marshal.c:1808,13'
          Dst:             TPMS_SIGNATURE_RSASSA_Marshal
        - Src:             'Marshal.c:1813,13'
          Dst:             TPMS_SIGNATURE_RSAPSS_Marshal
        - Src:             'Marshal.c:1818,13'
          Dst:             TPMS_SIGNATURE_ECDSA_Marshal
        - Src:             'Marshal.c:1823,13'
          Dst:             TPMS_SIGNATURE_ECDAA_Marshal
        - Src:             'Marshal.c:1833,13'
          Dst:             TPMS_SIGNATURE_ECSCHNORR_Marshal
        - Src:             'Marshal.c:1838,13'
          Dst:             TPMT_HA_Marshal
        - Src:             'Marshal.c:1844,2'
          Dst:             TpmFail
    - functionName:    TPMS_SIGNATURE_RSASSA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1747
      functionLinenumberEnd: 1750
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SIGNATURE_RSA_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1749,16'
          Dst:             TPMS_SIGNATURE_RSA_Marshal
    - functionName:    TPMS_SIGNATURE_RSAPSS_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1754
      functionLinenumberEnd: 1757
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SIGNATURE_RSA_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1756,16'
          Dst:             TPMS_SIGNATURE_RSA_Marshal
    - functionName:    TPMS_SIGNATURE_ECDSA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1777
      functionLinenumberEnd: 1780
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SIGNATURE_ECC_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1779,16'
          Dst:             TPMS_SIGNATURE_ECC_Marshal
    - functionName:    TPMS_SIGNATURE_ECDAA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1785
      functionLinenumberEnd: 1788
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SIGNATURE_ECC_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1787,16'
          Dst:             TPMS_SIGNATURE_ECC_Marshal
    - functionName:    TPMS_SIGNATURE_ECSCHNORR_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1793
      functionLinenumberEnd: 1796
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SIGNATURE_ECC_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1795,16'
          Dst:             TPMS_SIGNATURE_ECC_Marshal
    - functionName:    TPMT_HA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 507
      functionLinenumberEnd: 511
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          46
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMI_ALG_HASH_Marshal
        - TPMU_HA_Marshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:509,16'
          Dst:             TPMI_ALG_HASH_Marshal
        - Src:             'Marshal.c:510,16'
          Dst:             TPMU_HA_Marshal
    - functionName:    TPMU_HA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 500
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          95
      EdgeCount:       18
      CyclomaticComplexity: 10
      functionsReached:
        - Array_Marshal
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Marshal.c:469,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Marshal.c:472,13'
          Dst:             Array_Marshal
        - Src:             'Marshal.c:477,13'
          Dst:             Array_Marshal
        - Src:             'Marshal.c:482,13'
          Dst:             Array_Marshal
        - Src:             'Marshal.c:487,13'
          Dst:             Array_Marshal
        - Src:             'Marshal.c:498,2'
          Dst:             TpmFail
    - functionName:    TPMS_SIGNATURE_ECC_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1764
      functionLinenumberEnd: 1770
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          53
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_ECC_PARAMETER_Marshal
        - TPMI_ALG_HASH_Marshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1767,16'
          Dst:             TPMI_ALG_HASH_Marshal
        - Src:             'Marshal.c:1768,16'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'Marshal.c:1769,16'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
    - functionName:    TPMS_SIGNATURE_RSA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1736
      functionLinenumberEnd: 1741
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_PUBLIC_KEY_RSA_Marshal
        - TPMI_ALG_HASH_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1739,16'
          Dst:             TPMI_ALG_HASH_Marshal
        - Src:             'Marshal.c:1740,16'
          Dst:             TPM2B_PUBLIC_KEY_RSA_Marshal
    - functionName:    TPMS_ALGORITHM_DETAIL_ECC_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1715
      functionLinenumberEnd: 1729
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          141
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_ECC_PARAMETER_Marshal
        - TPMT_ECC_SCHEME_Marshal
        - TPMT_KDF_SCHEME_Marshal
        - TPM_ECC_CURVE_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1718,16'
          Dst:             TPM_ECC_CURVE_Marshal
        - Src:             'Marshal.c:1719,16'
          Dst:             UINT16_Marshal
        - Src:             'Marshal.c:1720,16'
          Dst:             TPMT_KDF_SCHEME_Marshal
        - Src:             'Marshal.c:1721,16'
          Dst:             TPMT_ECC_SCHEME_Marshal
        - Src:             'Marshal.c:1722,16'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'Marshal.c:1723,16'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'Marshal.c:1724,16'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'Marshal.c:1725,16'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'Marshal.c:1726,16'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'Marshal.c:1727,16'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
        - Src:             'Marshal.c:1728,16'
          Dst:             TPM2B_ECC_PARAMETER_Marshal
    - functionName:    TPM2B_ECC_POINT_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1661
      functionLinenumberEnd: 1676
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          74
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMS_ECC_POINT_Marshal
        - UINT16_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1669,16'
          Dst:             TPMS_ECC_POINT_Marshal
        - Src:             'Marshal.c:1671,13'
          Dst:             UINT16_Marshal
    - functionName:    TPMS_SCHEME_KDF2_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1455
      functionLinenumberEnd: 1458
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SCHEME_HASH_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1457,16'
          Dst:             TPMS_SCHEME_HASH_Marshal
    - functionName:    TPMS_KEY_SCHEME_ECMQV_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1432
      functionLinenumberEnd: 1435
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_SCHEME_HASH_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1434,16'
          Dst:             TPMS_SCHEME_HASH_Marshal
    - functionName:    TPM2B_ATTEST_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1134
      functionLinenumberEnd: 1137
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1136,16'
          Dst:             TPM2B_Marshal
    - functionName:    TPMS_ATTEST_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1117
      functionLinenumberEnd: 1127
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          101
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DATA_Marshal
        - TPM2B_NAME_Marshal
        - TPMI_ST_ATTEST_Marshal
        - TPMS_CLOCK_INFO_Marshal
        - TPMU_ATTEST_Marshal
        - TPM_GENERATED_Marshal
        - UINT64_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1120,16'
          Dst:             TPM_GENERATED_Marshal
        - Src:             'Marshal.c:1121,16'
          Dst:             TPMI_ST_ATTEST_Marshal
        - Src:             'Marshal.c:1122,16'
          Dst:             TPM2B_NAME_Marshal
        - Src:             'Marshal.c:1123,16'
          Dst:             TPM2B_DATA_Marshal
        - Src:             'Marshal.c:1124,16'
          Dst:             TPMS_CLOCK_INFO_Marshal
        - Src:             'Marshal.c:1125,16'
          Dst:             UINT64_Marshal
        - Src:             'Marshal.c:1126,16'
          Dst:             TPMU_ATTEST_Marshal
    - functionName:    TPM_GENERATED_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:216,16'
          Dst:             UINT32_Marshal
    - functionName:    TPMI_ST_ATTEST_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1072
      functionLinenumberEnd: 1075
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_ST_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1074,16'
          Dst:             TPM_ST_Marshal
    - functionName:    TPMS_CLOCK_INFO_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 959
      functionLinenumberEnd: 966
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          64
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMI_YES_NO_Marshal
        - UINT32_Marshal
        - UINT64_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:962,16'
          Dst:             UINT64_Marshal
        - Src:             'Marshal.c:963,16'
          Dst:             UINT32_Marshal
        - Src:             'Marshal.c:964,16'
          Dst:             UINT32_Marshal
        - Src:             'Marshal.c:965,16'
          Dst:             TPMI_YES_NO_Marshal
    - functionName:    TPMU_ATTEST_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1082
      functionLinenumberEnd: 1110
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          129
      EdgeCount:       22
      CyclomaticComplexity: 12
      functionsReached:
        - TPMS_CERTIFY_INFO_Marshal
        - TPMS_COMMAND_AUDIT_INFO_Marshal
        - TPMS_CREATION_INFO_Marshal
        - TPMS_NV_CERTIFY_INFO_Marshal
        - TPMS_QUOTE_INFO_Marshal
        - TPMS_SESSION_AUDIT_INFO_Marshal
        - TPMS_TIME_ATTEST_INFO_Marshal
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Marshal.c:1085,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Marshal.c:1087,13'
          Dst:             TPMS_CERTIFY_INFO_Marshal
        - Src:             'Marshal.c:1090,13'
          Dst:             TPMS_CREATION_INFO_Marshal
        - Src:             'Marshal.c:1093,13'
          Dst:             TPMS_QUOTE_INFO_Marshal
        - Src:             'Marshal.c:1096,13'
          Dst:             TPMS_COMMAND_AUDIT_INFO_Marshal
        - Src:             'Marshal.c:1099,13'
          Dst:             TPMS_SESSION_AUDIT_INFO_Marshal
        - Src:             'Marshal.c:1102,13'
          Dst:             TPMS_TIME_ATTEST_INFO_Marshal
        - Src:             'Marshal.c:1105,13'
          Dst:             TPMS_NV_CERTIFY_INFO_Marshal
        - Src:             'Marshal.c:1108,2'
          Dst:             TpmFail
    - functionName:    TPMS_CERTIFY_INFO_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 997
      functionLinenumberEnd: 1002
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_NAME_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1000,16'
          Dst:             TPM2B_NAME_Marshal
        - Src:             'Marshal.c:1001,16'
          Dst:             TPM2B_NAME_Marshal
    - functionName:    TPMS_CREATION_INFO_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1047
      functionLinenumberEnd: 1052
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPM2B_NAME_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1050,16'
          Dst:             TPM2B_NAME_Marshal
        - Src:             'Marshal.c:1051,16'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMS_QUOTE_INFO_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1009
      functionLinenumberEnd: 1014
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPML_PCR_SELECTION_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1012,16'
          Dst:             TPML_PCR_SELECTION_Marshal
        - Src:             'Marshal.c:1013,16'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMS_COMMAND_AUDIT_INFO_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1021
      functionLinenumberEnd: 1028
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          64
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPM_ALG_ID_Marshal
        - UINT64_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1024,16'
          Dst:             UINT64_Marshal
        - Src:             'Marshal.c:1025,16'
          Dst:             TPM_ALG_ID_Marshal
        - Src:             'Marshal.c:1026,16'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'Marshal.c:1027,16'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMS_SESSION_AUDIT_INFO_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1035
      functionLinenumberEnd: 1040
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPMI_YES_NO_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1038,16'
          Dst:             TPMI_YES_NO_Marshal
        - Src:             'Marshal.c:1039,16'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMS_TIME_ATTEST_INFO_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 985
      functionLinenumberEnd: 990
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_TIME_INFO_Marshal
        - UINT64_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:988,16'
          Dst:             TPMS_TIME_INFO_Marshal
        - Src:             'Marshal.c:989,16'
          Dst:             UINT64_Marshal
    - functionName:    TPMS_NV_CERTIFY_INFO_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1059
      functionLinenumberEnd: 1065
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          53
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_MAX_NV_BUFFER_Marshal
        - TPM2B_NAME_Marshal
        - UINT16_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:1062,16'
          Dst:             TPM2B_NAME_Marshal
        - Src:             'Marshal.c:1063,16'
          Dst:             UINT16_Marshal
        - Src:             'Marshal.c:1064,16'
          Dst:             TPM2B_MAX_NV_BUFFER_Marshal
    - functionName:    TPM2B_MAX_NV_BUFFER_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 568
      functionLinenumberEnd: 571
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:570,16'
          Dst:             TPM2B_Marshal
    - functionName:    TPMS_TIME_INFO_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 973
      functionLinenumberEnd: 978
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_CLOCK_INFO_Marshal
        - UINT64_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:976,16'
          Dst:             UINT64_Marshal
        - Src:             'Marshal.c:977,16'
          Dst:             TPMS_CLOCK_INFO_Marshal
    - functionName:    TPMI_YES_NO_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 366
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT8_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:368,16'
          Dst:             UINT8_Marshal
    - functionName:    TPM_ST_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Marshal
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:268,16'
          Dst:             UINT16_Marshal
    - functionName:    TPMS_CAPABILITY_DATA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 947
      functionLinenumberEnd: 952
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          45
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMU_CAPABILITIES_Marshal
        - TPM_CAP_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:950,16'
          Dst:             TPM_CAP_Marshal
        - Src:             'Marshal.c:951,16'
          Dst:             TPMU_CAPABILITIES_Marshal
    - functionName:    TPM_CAP_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:278,16'
          Dst:             UINT32_Marshal
    - functionName:    TPMU_CAPABILITIES_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 903
      functionLinenumberEnd: 940
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          171
      EdgeCount:       28
      CyclomaticComplexity: 15
      functionsReached:
        - TPML_ALG_PROPERTY_Marshal
        - TPML_CCA_Marshal
        - TPML_CC_Marshal
        - TPML_ECC_CURVE_Marshal
        - TPML_HANDLE_Marshal
        - TPML_PCR_SELECTION_Marshal
        - TPML_TAGGED_PCR_PROPERTY_Marshal
        - TPML_TAGGED_POLICY_Marshal
        - TPML_TAGGED_TPM_PROPERTY_Marshal
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Marshal.c:906,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Marshal.c:908,13'
          Dst:             TPML_ALG_PROPERTY_Marshal
        - Src:             'Marshal.c:911,13'
          Dst:             TPML_HANDLE_Marshal
        - Src:             'Marshal.c:914,13'
          Dst:             TPML_CCA_Marshal
        - Src:             'Marshal.c:917,13'
          Dst:             TPML_CC_Marshal
        - Src:             'Marshal.c:920,13'
          Dst:             TPML_CC_Marshal
        - Src:             'Marshal.c:923,13'
          Dst:             TPML_PCR_SELECTION_Marshal
        - Src:             'Marshal.c:926,13'
          Dst:             TPML_TAGGED_TPM_PROPERTY_Marshal
        - Src:             'Marshal.c:929,13'
          Dst:             TPML_TAGGED_PCR_PROPERTY_Marshal
        - Src:             'Marshal.c:932,13'
          Dst:             TPML_ECC_CURVE_Marshal
        - Src:             'Marshal.c:935,13'
          Dst:             TPML_TAGGED_POLICY_Marshal
        - Src:             'Marshal.c:938,2'
          Dst:             TpmFail
    - functionName:    TPML_ALG_PROPERTY_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 827
      functionLinenumberEnd: 835
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          66
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_ALG_PROPERTY_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:831,16'
          Dst:             UINT32_Marshal
        - Src:             'Marshal.c:833,13'
          Dst:             TPMS_ALG_PROPERTY_Marshal
    - functionName:    TPML_HANDLE_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 766
      functionLinenumberEnd: 774
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          66
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPM_HANDLE_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:770,16'
          Dst:             UINT32_Marshal
        - Src:             'Marshal.c:772,13'
          Dst:             TPM_HANDLE_Marshal
    - functionName:    TPML_CCA_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 736
      functionLinenumberEnd: 744
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          66
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPMA_CC_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:740,16'
          Dst:             UINT32_Marshal
        - Src:             'Marshal.c:742,13'
          Dst:             TPMA_CC_Marshal
    - functionName:    TPML_CC_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 721
      functionLinenumberEnd: 729
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          66
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPM_CC_Marshal
        - UINT32_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:725,16'
          Dst:             UINT32_Marshal
        - Src:             'Marshal.c:727,13'
          Dst:             TPM_CC_Marshal
    - functionName:    TPML_TAGGED_TPM_PROPERTY_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 842
      functionLinenumberEnd: 850
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          66
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_TAGGED_PROPERTY_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:846,16'
          Dst:             UINT32_Marshal
        - Src:             'Marshal.c:848,13'
          Dst:             TPMS_TAGGED_PROPERTY_Marshal
    - functionName:    TPML_TAGGED_PCR_PROPERTY_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 857
      functionLinenumberEnd: 865
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          66
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_TAGGED_PCR_SELECT_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:861,16'
          Dst:             UINT32_Marshal
        - Src:             'Marshal.c:863,13'
          Dst:             TPMS_TAGGED_PCR_SELECT_Marshal
    - functionName:    TPML_ECC_CURVE_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 872
      functionLinenumberEnd: 881
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          66
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPM_ECC_CURVE_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:877,16'
          Dst:             UINT32_Marshal
        - Src:             'Marshal.c:879,13'
          Dst:             TPM_ECC_CURVE_Marshal
    - functionName:    TPML_TAGGED_POLICY_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 888
      functionLinenumberEnd: 896
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          66
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_TAGGED_POLICY_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:892,16'
          Dst:             UINT32_Marshal
        - Src:             'Marshal.c:894,13'
          Dst:             TPMS_TAGGED_POLICY_Marshal
    - functionName:    TPMS_TAGGED_POLICY_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 697
      functionLinenumberEnd: 702
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMT_HA_Marshal
        - TPM_HANDLE_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:700,16'
          Dst:             TPM_HANDLE_Marshal
        - Src:             'Marshal.c:701,16'
          Dst:             TPMT_HA_Marshal
    - functionName:    TPMS_TAGGED_PCR_SELECT_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 684
      functionLinenumberEnd: 690
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          58
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Array_Marshal
        - TPM_PT_PCR_Marshal
        - UINT8_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:687,16'
          Dst:             TPM_PT_PCR_Marshal
        - Src:             'Marshal.c:688,16'
          Dst:             UINT8_Marshal
        - Src:             'Marshal.c:689,16'
          Dst:             Array_Marshal
    - functionName:    TPM_PT_PCR_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 299
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:298,16'
          Dst:             UINT32_Marshal
    - functionName:    TPMS_TAGGED_PROPERTY_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 709
      functionLinenumberEnd: 714
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_PT_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:712,16'
          Dst:             TPM_PT_Marshal
        - Src:             'Marshal.c:713,16'
          Dst:             UINT32_Marshal
    - functionName:    TPM_PT_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 286
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:288,16'
          Dst:             UINT32_Marshal
    - functionName:    TPM_CC_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:248,16'
          Dst:             UINT32_Marshal
    - functionName:    TPMA_CC_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 356
      functionLinenumberEnd: 359
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:358,16'
          Dst:             UINT32_Marshal
    - functionName:    TPMS_ALG_PROPERTY_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 672
      functionLinenumberEnd: 677
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMA_ALGORITHM_Marshal
        - TPM_ALG_ID_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:675,16'
          Dst:             TPM_ALG_ID_Marshal
        - Src:             'Marshal.c:676,16'
          Dst:             TPMA_ALGORITHM_Marshal
    - functionName:    TPMA_ALGORITHM_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:318,16'
          Dst:             UINT32_Marshal
    - functionName:    TPML_DIGEST_VALUES_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 796
      functionLinenumberEnd: 804
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          66
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPMT_HA_Marshal
        - UINT32_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:800,16'
          Dst:             UINT32_Marshal
        - Src:             'Marshal.c:802,13'
          Dst:             TPMT_HA_Marshal
    - functionName:    TPML_DIGEST_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 781
      functionLinenumberEnd: 789
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          66
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - UINT32_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:785,16'
          Dst:             UINT32_Marshal
        - Src:             'Marshal.c:787,13'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPML_ALG_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 751
      functionLinenumberEnd: 759
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          66
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - TPM_ALG_ID_Marshal
        - UINT32_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:755,16'
          Dst:             UINT32_Marshal
        - Src:             'Marshal.c:757,13'
          Dst:             TPM_ALG_ID_Marshal
    - functionName:    TPMT_TK_HASHCHECK_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 659
      functionLinenumberEnd: 665
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          53
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPMI_RH_HIERARCHY_Marshal
        - TPM_ST_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:662,16'
          Dst:             TPM_ST_Marshal
        - Src:             'Marshal.c:663,16'
          Dst:             TPMI_RH_HIERARCHY_Marshal
        - Src:             'Marshal.c:664,16'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMT_TK_AUTH_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 646
      functionLinenumberEnd: 652
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          53
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPMI_RH_HIERARCHY_Marshal
        - TPM_ST_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:649,16'
          Dst:             TPM_ST_Marshal
        - Src:             'Marshal.c:650,16'
          Dst:             TPMI_RH_HIERARCHY_Marshal
        - Src:             'Marshal.c:651,16'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMT_TK_VERIFIED_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 633
      functionLinenumberEnd: 639
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          53
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPMI_RH_HIERARCHY_Marshal
        - TPM_ST_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:636,16'
          Dst:             TPM_ST_Marshal
        - Src:             'Marshal.c:637,16'
          Dst:             TPMI_RH_HIERARCHY_Marshal
        - Src:             'Marshal.c:638,16'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMT_TK_CREATION_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 620
      functionLinenumberEnd: 626
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          53
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
        - TPMI_RH_HIERARCHY_Marshal
        - TPM_ST_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:623,16'
          Dst:             TPM_ST_Marshal
        - Src:             'Marshal.c:624,16'
          Dst:             TPMI_RH_HIERARCHY_Marshal
        - Src:             'Marshal.c:625,16'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPM2B_IV_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 587
      functionLinenumberEnd: 590
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:589,16'
          Dst:             TPM2B_Marshal
    - functionName:    TPM2B_TIMEOUT_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 577
      functionLinenumberEnd: 580
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:579,16'
          Dst:             TPM2B_Marshal
    - functionName:    TPM2B_MAX_BUFFER_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 558
      functionLinenumberEnd: 561
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:560,16'
          Dst:             TPM2B_Marshal
    - functionName:    TPM2B_NONCE_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 538
      functionLinenumberEnd: 541
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM2B_DIGEST_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:540,12'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    TPMI_DH_CONTEXT_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 376
      functionLinenumberEnd: 379
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPM_HANDLE_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:378,16'
          Dst:             TPM_HANDLE_Marshal
    - functionName:    TPMA_SESSION_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT8_Marshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:338,16'
          Dst:             UINT8_Marshal
    - functionName:    TPM_RC_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 259
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:258,16'
          Dst:             UINT32_Marshal
    - functionName:    INT32_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:142,12'
          Dst:             UINT32_Marshal
    - functionName:    INT8_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/Marshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT8_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Marshal.c:92,12'
          Dst:             UINT8_Marshal
    - functionName:    IsNumeric
      functionSourceFile: '/src/ibmswtpm2/src/MathOnByteBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 275
      functionLinenumberEnd: 283
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          63
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ShiftLeft
      functionSourceFile: '/src/ibmswtpm2/src/MathOnByteBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 266
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          77
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    AdjustNumberB
      functionSourceFile: '/src/ibmswtpm2/src/MathOnByteBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 218
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          158
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - MemoryCopy
        - MemorySet
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'MathOnByteBuffers.c:235,7'
          Dst:             MemoryCopy
        - Src:             'MathOnByteBuffers.c:241,6'
          Dst:             MemoryCopy
        - Src:             'MathOnByteBuffers.c:242,6'
          Dst:             MemorySet
    - functionName:    DivideB
      functionSourceFile: '/src/ibmswtpm2/src/MathOnByteBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          98
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - BnDiv
        - BnFrom2B
        - BnInit
        - BnTo2B
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'MathOnByteBuffers.c:191,5'
          Dst:             BnInit
        - Src:             'MathOnByteBuffers.c:191,5'
          Dst:             BnFrom2B
        - Src:             'MathOnByteBuffers.c:192,5'
          Dst:             BnInit
        - Src:             'MathOnByteBuffers.c:192,5'
          Dst:             BnFrom2B
        - Src:             'MathOnByteBuffers.c:193,5'
          Dst:             BnInit
        - Src:             'MathOnByteBuffers.c:194,5'
          Dst:             BnInit
        - Src:             'MathOnByteBuffers.c:197,5'
          Dst:             BnDiv
        - Src:             'MathOnByteBuffers.c:201,6'
          Dst:             BnTo2B
        - Src:             'MathOnByteBuffers.c:204,6'
          Dst:             BnTo2B
    - functionName:    ModExpB
      functionSourceFile: '/src/ibmswtpm2/src/MathOnByteBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          98
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - BnFromBytes
        - BnInit
        - BnModExp
        - BnToBytes
        - BnUnsignedCmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'MathOnByteBuffers.c:156,5'
          Dst:             BnInit
        - Src:             'MathOnByteBuffers.c:157,5'
          Dst:             BnInit
        - Src:             'MathOnByteBuffers.c:158,5'
          Dst:             BnInit
        - Src:             'MathOnByteBuffers.c:159,5'
          Dst:             BnInit
        - Src:             'MathOnByteBuffers.c:163,5'
          Dst:             BnFromBytes
        - Src:             'MathOnByteBuffers.c:164,5'
          Dst:             BnFromBytes
        - Src:             'MathOnByteBuffers.c:165,5'
          Dst:             BnFromBytes
        - Src:             'MathOnByteBuffers.c:170,8'
          Dst:             BnUnsignedCmp
        - Src:             'MathOnByteBuffers.c:172,5'
          Dst:             BnModExp
        - Src:             'MathOnByteBuffers.c:173,5'
          Dst:             BnToBytes
    - functionName:    SignedCompareB
      functionSourceFile: '/src/ibmswtpm2/src/MathOnByteBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          81
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - UnsignedCompareB
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'MathOnByteBuffers.c:124,9'
          Dst:             UnsignedCompareB
        - Src:             'MathOnByteBuffers.c:127,13'
          Dst:             UnsignedCompareB
    - functionName:    UnsignedCompareB
      functionSourceFile: '/src/ibmswtpm2/src/MathOnByteBuffers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ByteArrayToUint64
      functionSourceFile: '/src/ibmswtpm2/src/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          83
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ByteArrayToUint32
      functionSourceFile: '/src/ibmswtpm2/src/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 268
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          43
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ByteArrayToUint16
      functionSourceFile: '/src/ibmswtpm2/src/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          27
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Uint64ToByteArray
      functionSourceFile: '/src/ibmswtpm2/src/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          69
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Uint32ToByteArray
      functionSourceFile: '/src/ibmswtpm2/src/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 220
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          37
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Uint16ToByteArray
      functionSourceFile: '/src/ibmswtpm2/src/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 205
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          23
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    MemoryPad2B
      functionSourceFile: '/src/ibmswtpm2/src/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MemorySet
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Memory.c:190,5'
          Dst:             MemorySet
    - functionName:    MemorySet
      functionSourceFile: '/src/ibmswtpm2/src/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    45
      BranchProfiles:  []
      Callsites:       []
    - functionName:    MemoryEqual2B
      functionSourceFile: '/src/ibmswtpm2/src/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - MemoryEqual
      functionUses:    26
      BranchProfiles:  []
      Callsites:
        - Src:             'Memory.c:162,12'
          Dst:             MemoryEqual
    - functionName:    MemoryEqual
      functionSourceFile: '/src/ibmswtpm2/src/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          55
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    MemoryConcat2B
      functionSourceFile: '/src/ibmswtpm2/src/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          65
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy
        - TpmFail
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'Memory.c:143,5'
          Dst:             TpmFail
        - Src:             'Memory.c:144,5'
          Dst:             MemoryCopy
    - functionName:    MemoryCopy
      functionSourceFile: '/src/ibmswtpm2/src/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    41
      BranchProfiles:  []
      Callsites:       []
    - functionName:    MemoryCopy2B
      functionSourceFile: '/src/ibmswtpm2/src/Memory.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          72
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - MemoryCopy
        - TpmFail
      functionUses:    26
      BranchProfiles:  []
      Callsites:
        - Src:             'Memory.c:121,5'
          Dst:             TpmFail
        - Src:             'Memory.c:126,6'
          Dst:             TpmFail
        - Src:             'Memory.c:127,6'
          Dst:             MemoryCopy
    - functionName:    TPM2_NV_Certify
      functionSourceFile: '/src/ibmswtpm2/src/NVCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 634
      functionLinenumberEnd: 682
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          166
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - CryptSelectSignScheme
        - FillInAttestInfo
        - HandleToObject
        - IsSigningObject
        - NvGetIndexData
        - NvGetIndexInfo
        - NvGetIndexName
        - NvReadAccessChecks
        - SignAttestInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'NVCommands.c:637,40'
          Dst:             NvGetIndexInfo
        - Src:             'NVCommands.c:639,42'
          Dst:             HandleToObject
        - Src:             'NVCommands.c:641,9'
          Dst:             IsSigningObject
        - Src:             'NVCommands.c:643,9'
          Dst:             CryptSelectSignScheme
        - Src:             'NVCommands.c:647,14'
          Dst:             NvReadAccessChecks
        - Src:             'NVCommands.c:664,5'
          Dst:             FillInAttestInfo
        - Src:             'NVCommands.c:670,5'
          Dst:             NvGetIndexName
        - Src:             'NVCommands.c:676,5'
          Dst:             NvGetIndexData
        - Src:             'NVCommands.c:680,12'
          Dst:             SignAttestInfo
    - functionName:    TPM2_NV_ChangeAuth
      functionSourceFile: '/src/ibmswtpm2/src/NVCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 611
      functionLinenumberEnd: 623
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptHashGetDigestSize
        - MemoryRemoveTrailingZeros
        - NvGetIndexInfo
        - NvWriteIndexAuth
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'NVCommands.c:613,32'
          Dst:             NvGetIndexInfo
        - Src:             'NVCommands.c:617,8'
          Dst:             MemoryRemoveTrailingZeros
        - Src:             'NVCommands.c:618,10'
          Dst:             CryptHashGetDigestSize
        - Src:             'NVCommands.c:622,12'
          Dst:             NvWriteIndexAuth
    - functionName:    TPM2_NV_ReadLock
      functionSourceFile: '/src/ibmswtpm2/src/NVCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 572
      functionLinenumberEnd: 602
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          82
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - NvGetIndexInfo
        - NvReadAccessChecks
        - NvWriteIndexAttributes
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'NVCommands.c:577,32'
          Dst:             NvGetIndexInfo
        - Src:             'NVCommands.c:582,14'
          Dst:             NvReadAccessChecks
        - Src:             'NVCommands.c:599,12'
          Dst:             NvWriteIndexAttributes
    - functionName:    TPM2_NV_Read
      functionSourceFile: '/src/ibmswtpm2/src/NVCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 537
      functionLinenumberEnd: 563
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          124
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - NvGetIndexData
        - NvGetIndexInfo
        - NvReadAccessChecks
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'NVCommands.c:539,32'
          Dst:             NvGetIndexInfo
        - Src:             'NVCommands.c:544,14'
          Dst:             NvReadAccessChecks
        - Src:             'NVCommands.c:561,5'
          Dst:             NvGetIndexData
    - functionName:    TPM2_NV_GlobalWriteLock
      functionSourceFile: '/src/ibmswtpm2/src/NVCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 514
      functionLinenumberEnd: 519
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvSetGlobalLock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'NVCommands.c:519,12'
          Dst:             NvSetGlobalLock
    - functionName:    TPM2_NV_WriteLock
      functionSourceFile: '/src/ibmswtpm2/src/NVCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 475
      functionLinenumberEnd: 505
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          92
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - NvGetIndexInfo
        - NvWriteAccessChecks
        - NvWriteIndexAttributes
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'NVCommands.c:478,32'
          Dst:             NvGetIndexInfo
        - Src:             'NVCommands.c:483,14'
          Dst:             NvWriteAccessChecks
        - Src:             'NVCommands.c:503,12'
          Dst:             NvWriteIndexAttributes
    - functionName:    TPM2_NV_SetBits
      functionSourceFile: '/src/ibmswtpm2/src/NVCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 439
      functionLinenumberEnd: 466
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          93
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - NvGetIndexInfo
        - NvGetUINT64Data
        - NvWriteAccessChecks
        - NvWriteUINT64Data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'NVCommands.c:442,32'
          Dst:             NvGetIndexInfo
        - Src:             'NVCommands.c:448,14'
          Dst:             NvWriteAccessChecks
        - Src:             'NVCommands.c:461,13'
          Dst:             NvGetUINT64Data
        - Src:             'NVCommands.c:465,13'
          Dst:             NvWriteUINT64Data
    - functionName:    TPM2_NV_Extend
      functionSourceFile: '/src/ibmswtpm2/src/NVCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 389
      functionLinenumberEnd: 430
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          130
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd2B
        - CryptHashGetDigestSize
        - CryptHashStart
        - MemorySet
        - NvGetIndexData
        - NvGetIndexInfo
        - NvWriteAccessChecks
        - NvWriteIndexData
        - TpmFail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'NVCommands.c:392,40'
          Dst:             NvGetIndexInfo
        - Src:             'NVCommands.c:399,14'
          Dst:             NvWriteAccessChecks
        - Src:             'NVCommands.c:409,24'
          Dst:             CryptHashGetDigestSize
        - Src:             'NVCommands.c:410,5'
          Dst:             TpmFail
        - Src:             'NVCommands.c:413,6'
          Dst:             NvGetIndexData
        - Src:             'NVCommands.c:417,6'
          Dst:             MemorySet
        - Src:             'NVCommands.c:420,24'
          Dst:             CryptHashStart
        - Src:             'NVCommands.c:422,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'NVCommands.c:424,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'NVCommands.c:426,5'
          Dst:             CryptHashEnd2B
        - Src:             'NVCommands.c:429,12'
          Dst:             NvWriteIndexData
    - functionName:    TPM2_NV_Increment
      functionSourceFile: '/src/ibmswtpm2/src/NVCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 380
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          131
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - NvGetIndexInfo
        - NvGetUINT64Data
        - NvReadMaxCount
        - NvWriteAccessChecks
        - NvWriteUINT64Data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'NVCommands.c:341,32'
          Dst:             NvGetIndexInfo
        - Src:             'NVCommands.c:346,14'
          Dst:             NvWriteAccessChecks
        - Src:             'NVCommands.c:357,15'
          Dst:             NvReadMaxCount
        - Src:             'NVCommands.c:360,15'
          Dst:             NvGetUINT64Data
        - Src:             'NVCommands.c:366,14'
          Dst:             NvWriteUINT64Data
    - functionName:    TPM2_NV_Write
      functionSourceFile: '/src/ibmswtpm2/src/NVCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 292
      functionLinenumberEnd: 329
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          167
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - NvGetIndexInfo
        - NvWriteAccessChecks
        - NvWriteIndexData
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'NVCommands.c:293,32'
          Dst:             NvGetIndexInfo
        - Src:             'NVCommands.c:299,14'
          Dst:             NvWriteAccessChecks
        - Src:             'NVCommands.c:327,12'
          Dst:             NvWriteIndexData
    - functionName:    TPM2_NV_ReadPublic
      functionSourceFile: '/src/ibmswtpm2/src/NVCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 275
      functionLinenumberEnd: 282
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvGetIndexInfo
        - NvGetIndexName
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'NVCommands.c:276,32'
          Dst:             NvGetIndexInfo
        - Src:             'NVCommands.c:281,5'
          Dst:             NvGetIndexName
    - functionName:    TPM2_NV_UndefineSpaceSpecial
      functionSourceFile: '/src/ibmswtpm2/src/NVCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - NvDeleteIndex
        - NvGetIndexInfo
        - SessionRemoveAssociationToHandle
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'NVCommands.c:251,32'
          Dst:             NvGetIndexInfo
        - Src:             'NVCommands.c:258,14'
          Dst:             NvDeleteIndex
        - Src:             'NVCommands.c:263,2'
          Dst:             SessionRemoveAssociationToHandle
    - functionName:    TPM2_NV_UndefineSpace
      functionSourceFile: '/src/ibmswtpm2/src/NVCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          67
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - NvDeleteIndex
        - NvGetIndexInfo
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'NVCommands.c:225,32'
          Dst:             NvGetIndexInfo
        - Src:             'NVCommands.c:237,12'
          Dst:             NvDeleteIndex
    - functionName:    TPM2_NV_DefineSpace
      functionSourceFile: '/src/ibmswtpm2/src/NVCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         105
      ICount:          538
      EdgeCount:       137
      CyclomaticComplexity: 34
      functionsReached:
        - CryptHashGetDigestSize
        - MemoryRemoveTrailingZeros
        - NvDefineIndex
        - NvIndexIsDefined
      functionUses:    0
      BranchProfiles:
        - Branch String:   'NVCommands.c:97,5'
          Branch Sides:    []
        - Branch String:   'NVCommands.c:119,5'
          Branch Sides:    []
        - Branch String:   'NVCommands.c:137,5'
          Branch Sides:    []
      Callsites:
        - Src:             'NVCommands.c:72,16'
          Dst:             CryptHashGetDigestSize
        - Src:             'NVCommands.c:86,8'
          Dst:             MemoryRemoveTrailingZeros
        - Src:             'NVCommands.c:87,10'
          Dst:             CryptHashGetDigestSize
        - Src:             'NVCommands.c:209,8'
          Dst:             NvIndexIsDefined
        - Src:             'NVCommands.c:213,12'
          Dst:             NvDefineIndex
    - functionName:    NvGetEnd
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvNext
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:152,26'
          Dst:             NvNext
    - functionName:    NvNext
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          77
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - NvRead
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:93,5'
          Dst:             NvRead
    - functionName:    NvRamGetEnd
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 378
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvRamNext
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:377,26'
          Dst:             NvRamNext
    - functionName:    NvRamNext
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 337
      functionLinenumberEnd: 366
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          82
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - MemoryCopy
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:355,5'
          Dst:             MemoryCopy
    - functionName:    NvCapGetCounterAvail
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1542
      functionLinenumberEnd: 1566
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          90
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - NvCapGetPersistentNumber
        - NvGetFreeBytes
        - NvRamGetEnd
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1545,37'
          Dst:             NvCapGetPersistentNumber
        - Src:             'NVDynamic.c:1548,20'
          Dst:             NvGetFreeBytes
        - Src:             'NVDynamic.c:1559,39'
          Dst:             NvRamGetEnd
    - functionName:    NvCapGetPersistentNumber
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1398
      functionLinenumberEnd: 1404
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvNextByType
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1402,11'
          Dst:             NvNextByType
    - functionName:    NvGetFreeBytes
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvGetEnd
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:166,27'
          Dst:             NvGetEnd
    - functionName:    NvNextByType
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          60
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - HandleGetType
        - NvNext
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:118,19'
          Dst:             NvNext
        - Src:             'NVDynamic.c:122,9'
          Dst:             HandleGetType
    - functionName:    NvSetStartupAttributes
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1455
      functionLinenumberEnd: 1473
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          83
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvGetMaxCount
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1633
      functionLinenumberEnd: 1642
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvNext
        - NvRead
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1638,26'
          Dst:             NvNext
        - Src:             'NVDynamic.c:1641,5'
          Dst:             NvRead
    - functionName:    NvSetMaxCount
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1624
      functionLinenumberEnd: 1626
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvEntityStartup
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1486
      functionLinenumberEnd: 1534
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          115
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - ByteArrayToUint64
        - NvGetMaxCount
        - NvNextByType
        - NvRamNext
        - NvRead
        - NvReadNvIndexAttributes
        - NvReadRamIndexAttributes
        - NvSetMaxCount
        - NvSetStartupAttributes
        - NvWriteNvIndexAttributes
        - NvWriteRamIndexAttributes
        - Uint64ToByteArray
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1494,5'
          Dst:             NvRead
        - Src:             'NVDynamic.c:1496,19'
          Dst:             NvGetMaxCount
        - Src:             'NVDynamic.c:1496,5'
          Dst:             NvSetMaxCount
        - Src:             'NVDynamic.c:1501,26'
          Dst:             NvNextByType
        - Src:             'NVDynamic.c:1503,19'
          Dst:             NvReadNvIndexAttributes
        - Src:             'NVDynamic.c:1508,19'
          Dst:             NvSetStartupAttributes
        - Src:             'NVDynamic.c:1509,6'
          Dst:             NvWriteNvIndexAttributes
        - Src:             'NVDynamic.c:1512,29'
          Dst:             NvRamNext
        - Src:             'NVDynamic.c:1514,19'
          Dst:             NvReadRamIndexAttributes
        - Src:             'NVDynamic.c:1515,19'
          Dst:             NvSetStartupAttributes
        - Src:             'NVDynamic.c:1517,6'
          Dst:             NvWriteRamIndexAttributes
        - Src:             'NVDynamic.c:1524,17'
          Dst:             ByteArrayToUint64
        - Src:             'NVDynamic.c:1530,7'
          Dst:             Uint64ToByteArray
    - functionName:    NvReadNvIndexAttributes
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 566
      functionLinenumberEnd: 571
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvRead
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:568,5'
          Dst:             NvRead
    - functionName:    NvWriteNvIndexAttributes
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 598
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvConditionallyWrite
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:597,12'
          Dst:             NvConditionallyWrite
    - functionName:    NvReadRamIndexAttributes
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 580
      functionLinenumberEnd: 584
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:582,5'
          Dst:             MemoryCopy
    - functionName:    NvWriteRamIndexAttributes
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 609
      functionLinenumberEnd: 612
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:610,5'
          Dst:             MemoryCopy
    - functionName:    NvConditionallyWrite
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 547
      functionLinenumberEnd: 559
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          50
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - NvWrite
        - _plat__NvIsDifferent
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:549,8'
          Dst:             _plat__NvIsDifferent
        - Src:             'NVDynamic.c:554,7'
          Dst:             NvWrite
    - functionName:    NvCapGetCounterNumber
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1436
      functionLinenumberEnd: 1446
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - NvNextByType
        - NvReadNvIndexAttributes
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1440,26'
          Dst:             NvNextByType
        - Src:             'NVDynamic.c:1442,39'
          Dst:             NvReadNvIndexAttributes
    - functionName:    NvCapGetPersistentAvail
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1413
      functionLinenumberEnd: 1428
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - NvCapGetCounterNumber
        - NvGetFreeBytes
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1415,34'
          Dst:             NvCapGetCounterNumber
        - Src:             'NVDynamic.c:1418,20'
          Dst:             NvGetFreeBytes
    - functionName:    NvCapGetIndexNumber
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1385
      functionLinenumberEnd: 1390
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvNextByType
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1388,11'
          Dst:             NvNextByType
    - functionName:    NvCapGetIndex
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1350
      functionLinenumberEnd: 1377
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          90
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - HandleGetType
        - InsertSort
        - NvNextByType
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1355,5'
          Dst:             HandleGetType
        - Src:             'NVDynamic.c:1355,5'
          Dst:             TpmFail
        - Src:             'NVDynamic.c:1360,26'
          Dst:             NvNextByType
        - Src:             'NVDynamic.c:1375,6'
          Dst:             InsertSort
    - functionName:    InsertSort
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1262
      functionLinenumberEnd: 1295
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          161
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvCapGetPersistent
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1309
      functionLinenumberEnd: 1336
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          90
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - HandleGetType
        - InsertSort
        - NvNextByType
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1314,5'
          Dst:             HandleGetType
        - Src:             'NVDynamic.c:1314,5'
          Dst:             TpmFail
        - Src:             'NVDynamic.c:1319,26'
          Dst:             NvNextByType
        - Src:             'NVDynamic.c:1334,6'
          Dst:             InsertSort
    - functionName:    NvSetGlobalLock
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1218
      functionLinenumberEnd: 1252
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         20
      ICount:          106
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - NvNextByType
        - NvRamNext
        - NvReadNvIndexAttributes
        - NvReadRamIndexAttributes
        - NvWriteNvIndexAttributes
        - NvWriteRamIndexAttributes
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1226,26'
          Dst:             NvNextByType
        - Src:             'NVDynamic.c:1228,35'
          Dst:             NvReadNvIndexAttributes
        - Src:             'NVDynamic.c:1235,16'
          Dst:             NvWriteNvIndexAttributes
        - Src:             'NVDynamic.c:1241,29'
          Dst:             NvRamNext
        - Src:             'NVDynamic.c:1244,35'
          Dst:             NvReadRamIndexAttributes
        - Src:             'NVDynamic.c:1248,7'
          Dst:             NvWriteRamIndexAttributes
    - functionName:    NvFlushHierarchy
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1148
      functionLinenumberEnd: 1206
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         41
      ICount:          190
      EdgeCount:       54
      CyclomaticComplexity: 15
      functionsReached:
        - HandleGetType
        - NvDelete
        - NvDeleteIndex
        - NvNext
        - NvRead
        - NvReadNvIndexInfo
        - TpmFail
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1154,26'
          Dst:             NvNext
        - Src:             'NVDynamic.c:1156,9'
          Dst:             HandleGetType
        - Src:             'NVDynamic.c:1165,7'
          Dst:             NvReadNvIndexInfo
        - Src:             'NVDynamic.c:1171,17'
          Dst:             NvDeleteIndex
        - Src:             'NVDynamic.c:1178,14'
          Dst:             HandleGetType
        - Src:             'NVDynamic.c:1182,7'
          Dst:             NvRead
        - Src:             'NVDynamic.c:1194,17'
          Dst:             NvDelete
        - Src:             'NVDynamic.c:1203,7'
          Dst:             TpmFail
    - functionName:    NvReadNvIndexInfo
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 493
      functionLinenumberEnd: 496
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          29
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - NvRead
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:494,5'
          Dst:             TpmFail
        - Src:             'NVDynamic.c:495,5'
          Dst:             NvRead
    - functionName:    NvDeleteIndex
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1103
      functionLinenumberEnd: 1122
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          96
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - NvDelete
        - NvDeleteRAM
        - NvGetUINT64Data
        - NvIndexCacheInit
        - NvUpdateMaxCount
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1112,20'
          Dst:             NvGetUINT64Data
        - Src:             'NVDynamic.c:1112,3'
          Dst:             NvUpdateMaxCount
        - Src:             'NVDynamic.c:1113,15'
          Dst:             NvDelete
        - Src:             'NVDynamic.c:1118,3'
          Dst:             NvDeleteRAM
        - Src:             'NVDynamic.c:1119,6'
          Dst:             NvIndexCacheInit
    - functionName:    NvDelete
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 289
      functionLinenumberEnd: 321
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          83
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - NvGetEnd
        - NvRead
        - NvWriteNvListEnd
        - TpmFail
        - _plat__NvMemoryClear
        - _plat__NvMemoryMove
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:293,30'
          Dst:             NvGetEnd
        - Src:             'NVDynamic.c:298,5'
          Dst:             NvRead
        - Src:             'NVDynamic.c:305,6'
          Dst:             TpmFail
        - Src:             'NVDynamic.c:306,6'
          Dst:             _plat__NvMemoryMove
        - Src:             'NVDynamic.c:317,14'
          Dst:             NvWriteNvListEnd
        - Src:             'NVDynamic.c:319,5'
          Dst:             _plat__NvMemoryClear
    - functionName:    NvWriteNvListEnd
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 237
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          42
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy
        - NvReadMaxCount
        - NvWrite
        - TpmFail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:228,28'
          Dst:             NvReadMaxCount
        - Src:             'NVDynamic.c:233,5'
          Dst:             MemoryCopy
        - Src:             'NVDynamic.c:234,5'
          Dst:             TpmFail
        - Src:             'NVDynamic.c:236,5'
          Dst:             NvWrite
    - functionName:    NvReadMaxCount
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1603
      functionLinenumberEnd: 1604
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvGetUINT64Data
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 779
      functionLinenumberEnd: 783
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ByteArrayToUint64
        - NvGetIndexData
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:782,5'
          Dst:             NvGetIndexData
        - Src:             'NVDynamic.c:783,12'
          Dst:             ByteArrayToUint64
    - functionName:    NvUpdateMaxCount
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1613
      functionLinenumberEnd: 1616
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvDeleteRAM
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 465
      functionLinenumberEnd: 482
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          62
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy
        - MemorySet
        - NvRamGetEnd
        - NvRamGetIndex
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:469,37'
          Dst:             NvRamGetEnd
        - Src:             'NVDynamic.c:470,19'
          Dst:             NvRamGetIndex
        - Src:             'NVDynamic.c:471,5'
          Dst:             TpmFail
        - Src:             'NVDynamic.c:473,5'
          Dst:             MemoryCopy
        - Src:             'NVDynamic.c:477,5'
          Dst:             MemoryCopy
        - Src:             'NVDynamic.c:479,5'
          Dst:             MemorySet
    - functionName:    NvIndexCacheInit
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 728
      functionLinenumberEnd: 732
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvRamGetIndex
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 411
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          39
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - NvRamNext
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:406,26'
          Dst:             NvRamNext
    - functionName:    NvGetIndexData
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 747
      functionLinenumberEnd: 768
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          142
      EdgeCount:       23
      CyclomaticComplexity: 5
      functionsReached:
        - MemoryCopy
        - NvRamGetIndex
        - NvRead
        - TpmFail
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:750,5'
          Dst:             TpmFail
        - Src:             'NVDynamic.c:752,5'
          Dst:             TpmFail
        - Src:             'NVDynamic.c:756,37'
          Dst:             NvRamGetIndex
        - Src:             'NVDynamic.c:757,6'
          Dst:             TpmFail
        - Src:             'NVDynamic.c:759,6'
          Dst:             MemoryCopy
        - Src:             'NVDynamic.c:764,6'
          Dst:             TpmFail
        - Src:             'NVDynamic.c:766,6'
          Dst:             NvRead
    - functionName:    NvDeleteEvict
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1130
      functionLinenumberEnd: 1135
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvDelete
        - NvFindEvict
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1131,30'
          Dst:             NvFindEvict
        - Src:             'NVDynamic.c:1134,11'
          Dst:             NvDelete
    - functionName:    NvFindEvict
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 520
      functionLinenumberEnd: 525
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - NvFindHandle
        - NvReadObject
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:521,29'
          Dst:             NvFindHandle
        - Src:             'NVDynamic.c:524,2'
          Dst:             NvReadObject
    - functionName:    NvFindHandle
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1575
      functionLinenumberEnd: 1584
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          40
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - NvNext
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1579,19'
          Dst:             NvNext
    - functionName:    NvReadObject
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 506
      functionLinenumberEnd: 508
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvRead
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:507,5'
          Dst:             NvRead
    - functionName:    NvAddEvictObject
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1073
      functionLinenumberEnd: 1092
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvAdd
        - NvTestSpace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1081,9'
          Dst:             NvTestSpace
        - Src:             'NVDynamic.c:1087,14'
          Dst:             NvAdd
    - functionName:    NvTestSpace
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          130
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - NvCapGetCounterNumber
        - NvCapGetPersistentNumber
        - NvGetFreeBytes
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:180,31'
          Dst:             NvGetFreeBytes
        - Src:             'NVDynamic.c:193,34'
          Dst:             NvCapGetPersistentNumber
        - Src:             'NVDynamic.c:207,31'
          Dst:             NvCapGetCounterNumber
    - functionName:    NvAdd
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 282
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          77
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - NvGetEnd
        - NvWrite
        - NvWriteNvListEnd
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:260,15'
          Dst:             NvGetEnd
        - Src:             'NVDynamic.c:267,6'
          Dst:             NvWrite
        - Src:             'NVDynamic.c:271,5'
          Dst:             NvWrite
        - Src:             'NVDynamic.c:278,5'
          Dst:             NvWrite
        - Src:             'NVDynamic.c:280,5'
          Dst:             NvWriteNvListEnd
    - functionName:    NvAddRAM
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 433
      functionLinenumberEnd: 451
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          89
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - MemoryCopy
        - MemorySet
        - NvRamGetEnd
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:435,31'
          Dst:             NvRamGetEnd
        - Src:             'NVDynamic.c:438,5'
          Dst:             MemoryCopy
        - Src:             'NVDynamic.c:439,5'
          Dst:             TpmFail
        - Src:             'NVDynamic.c:441,5'
          Dst:             MemoryCopy
        - Src:             'NVDynamic.c:443,5'
          Dst:             MemorySet
        - Src:             'NVDynamic.c:448,2'
          Dst:             MemorySet
    - functionName:    NvRamTestSpaceIndex
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 389
      functionLinenumberEnd: 393
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvRamGetEnd
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:390,51'
          Dst:             NvRamGetEnd
    - functionName:    NvDefineIndex
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1025
      functionLinenumberEnd: 1062
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          131
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - NvAdd
        - NvAddRAM
        - NvRamTestSpaceIndex
        - NvTestSpace
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1041,9'
          Dst:             NvTestSpace
        - Src:             'NVDynamic.c:1046,13'
          Dst:             NvRamTestSpaceIndex
        - Src:             'NVDynamic.c:1053,14'
          Dst:             NvAdd
        - Src:             'NVDynamic.c:1059,3'
          Dst:             NvAddRAM
    - functionName:    NvGetNameByIndexHandle
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1012
      functionLinenumberEnd: 1014
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvGetIndexInfo
        - NvGetIndexName
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:1013,37'
          Dst:             NvGetIndexInfo
        - Src:             'NVDynamic.c:1014,12'
          Dst:             NvGetIndexName
    - functionName:    NvGetIndexInfo
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 851
      functionLinenumberEnd: 870
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          78
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - NvFindHandle
        - NvRamGetIndex
        - NvReadNvIndexInfo
        - NvReadRamIndexAttributes
      functionUses:    26
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:856,22'
          Dst:             NvFindHandle
        - Src:             'NVDynamic.c:859,6'
          Dst:             NvReadNvIndexInfo
        - Src:             'NVDynamic.c:862,26'
          Dst:             NvRamGetIndex
        - Src:             'NVDynamic.c:864,4'
          Dst:             NvReadRamIndexAttributes
    - functionName:    NvGetIndexName
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 984
      functionLinenumberEnd: 1000
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          58
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate
        - CryptHashEnd
        - CryptHashStart
        - TPMS_NV_PUBLIC_Marshal
        - Uint16ToByteArray
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:991,16'
          Dst:             TPMS_NV_PUBLIC_Marshal
        - Src:             'NVDynamic.c:993,18'
          Dst:             CryptHashStart
        - Src:             'NVDynamic.c:994,5'
          Dst:             CryptDigestUpdate
        - Src:             'NVDynamic.c:996,5'
          Dst:             CryptHashEnd
        - Src:             'NVDynamic.c:998,5'
          Dst:             Uint16ToByteArray
    - functionName:    NvWriteUINT64Data
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 969
      functionLinenumberEnd: 972
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvWriteIndexData
        - Uint64ToByteArray
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:971,5'
          Dst:             Uint64ToByteArray
        - Src:             'NVDynamic.c:972,12'
          Dst:             NvWriteIndexData
    - functionName:    NvWriteIndexData
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 890
      functionLinenumberEnd: 957
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          249
      EdgeCount:       44
      CyclomaticComplexity: 11
      functionsReached:
        - MemoryCopy
        - MemorySet
        - NvConditionallyWrite
        - NvWriteNvIndexAttributes
        - TpmFail
        - _plat__NvMemoryClear
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:893,5'
          Dst:             TpmFail
        - Src:             'NVDynamic.c:897,5'
          Dst:             TpmFail
        - Src:             'NVDynamic.c:899,5'
          Dst:             TpmFail
        - Src:             'NVDynamic.c:910,16'
          Dst:             NvWriteNvIndexAttributes
        - Src:             'NVDynamic.c:918,4'
          Dst:             _plat__NvMemoryClear
        - Src:             'NVDynamic.c:924,7'
          Dst:             MemoryCopy
        - Src:             'NVDynamic.c:935,4'
          Dst:             MemorySet
        - Src:             'NVDynamic.c:946,6'
          Dst:             MemoryCopy
        - Src:             'NVDynamic.c:953,15'
          Dst:             NvConditionallyWrite
    - functionName:    NvWriteIndexAuth
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 821
      functionLinenumberEnd: 837
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - MemoryCopy2B
        - NvConditionallyWrite
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:830,3'
          Dst:             MemoryCopy2B
        - Src:             'NVDynamic.c:833,11'
          Dst:             NvConditionallyWrite
    - functionName:    NvWriteIndexAttributes
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 796
      functionLinenumberEnd: 809
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvRamGetIndex
        - NvWriteNvIndexAttributes
        - NvWriteRamIndexAttributes
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:801,28'
          Dst:             NvRamGetIndex
        - Src:             'NVDynamic.c:802,6'
          Dst:             NvWriteRamIndexAttributes
        - Src:             'NVDynamic.c:807,15'
          Dst:             NvWriteNvIndexAttributes
    - functionName:    NvGetEvictObject
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 709
      functionLinenumberEnd: 721
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - NvFindEvict
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:712,18'
          Dst:             NvFindEvict
    - functionName:    NvIndexIsAccessible
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 656
      functionLinenumberEnd: 699
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          84
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - NvGetIndexInfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:657,36'
          Dst:             NvGetIndexInfo
    - functionName:    NvIsOwnerPersistentHandle
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 639
      functionLinenumberEnd: 640
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          23
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvIsPlatformPersistentHandle
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 626
      functionLinenumberEnd: 627
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          23
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvIndexIsDefined
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 533
      functionLinenumberEnd: 534
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvFindHandle
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:534,13'
          Dst:             NvFindHandle
    - functionName:    NvUpdateIndexOrderlyData
      functionSourceFile: '/src/ibmswtpm2/src/NVDynamic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 419
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvWrite
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVDynamic.c:421,5'
          Dst:             NvWrite
    - functionName:    NvFileCommit
      functionSourceFile: '/src/ibmswtpm2/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          65
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - fflush
        - fseek
        - fwrite
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVMem.c:113,5'
          Dst:             fseek
        - Src:             'NVMem.c:114,29'
          Dst:             fwrite
        - Src:             'NVMem.c:115,22'
          Dst:             fflush
        - Src:             'NVMem.c:116,5'
          Dst:             __assert_fail
    - functionName:    fseek
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fwrite
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fflush
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __assert_fail
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__ClearNvAvail
      functionSourceFile: '/src/ibmswtpm2/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 362
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__SetNvAvail
      functionSourceFile: '/src/ibmswtpm2/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 351
      functionLinenumberEnd: 353
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__NvCommit
      functionSourceFile: '/src/ibmswtpm2/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvFileCommit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVMem.c:338,13'
          Dst:             NvFileCommit
    - functionName:    _plat__NvMemoryMove
      functionSourceFile: '/src/ibmswtpm2/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVMem.c:321,5'
          Dst:             __assert_fail
        - Src:             'NVMem.c:322,5'
          Dst:             __assert_fail
    - functionName:    _plat__NvMemoryWrite
      functionSourceFile: '/src/ibmswtpm2/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 297
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVMem.c:295,5'
          Dst:             __assert_fail
    - functionName:    _plat__NvIsDifferent
      functionSourceFile: '/src/ibmswtpm2/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVMem.c:280,13'
          Dst:             memcmp
    - functionName:    _plat__NvMemoryRead
      functionSourceFile: '/src/ibmswtpm2/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVMem.c:263,5'
          Dst:             __assert_fail
    - functionName:    _plat__IsNvAvailable
      functionSourceFile: '/src/ibmswtpm2/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__NVDisable
      functionSourceFile: '/src/ibmswtpm2/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          25
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - fclose
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVMem.c:226,5'
          Dst:             fclose
    - functionName:    fclose
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvFileSize
      functionSourceFile: '/src/ibmswtpm2/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          59
      EdgeCount:       22
      CyclomaticComplexity: 12
      functionsReached:
        - __assert_fail
        - fseek
        - ftell
      functionUses:    1
      BranchProfiles:
        - Branch String:   'NVMem.c:135,5'
          Branch Sides:    []
      Callsites:
        - Src:             'NVMem.c:129,23'
          Dst:             ftell
        - Src:             'NVMem.c:131,5'
          Dst:             __assert_fail
        - Src:             'NVMem.c:133,5'
          Dst:             fseek
        - Src:             'NVMem.c:134,16'
          Dst:             ftell
        - Src:             'NVMem.c:140,6'
          Dst:             fseek
        - Src:             'NVMem.c:145,6'
          Dst:             __assert_fail
    - functionName:    ftell
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvFileOpen
      functionSourceFile: '/src/ibmswtpm2/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fopen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'NVMem.c:95,16'
          Dst:             fopen
    - functionName:    fopen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__NvMemoryClear
      functionSourceFile: '/src/ibmswtpm2/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 310
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVMem.c:307,5'
          Dst:             __assert_fail
    - functionName:    _plat__NVEnable
      functionSourceFile: '/src/ibmswtpm2/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          89
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - NvFileCommit
        - NvFileOpen
        - NvFileSize
        - __assert_fail
        - _plat__NvMemoryClear
        - fread
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'NVMem.c:190,5'
          Dst:             _plat__NvMemoryClear
        - Src:             'NVMem.c:193,13'
          Dst:             NvFileOpen
        - Src:             'NVMem.c:195,25'
          Dst:             NvFileSize
        - Src:             'NVMem.c:200,3'
          Dst:             fread
        - Src:             'NVMem.c:202,3'
          Dst:             NvFileCommit
        - Src:             'NVMem.c:205,18'
          Dst:             NvFileOpen
        - Src:             'NVMem.c:206,2'
          Dst:             NvFileCommit
        - Src:             'NVMem.c:207,5'
          Dst:             __assert_fail
    - functionName:    fread
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__NvErrors
      functionSourceFile: '/src/ibmswtpm2/src/NVMem.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvReadPersistent
      functionSourceFile: '/src/ibmswtpm2/src/NVReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvRead
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVReserved.c:223,5'
          Dst:             NvRead
    - functionName:    NvRead
      functionSourceFile: '/src/ibmswtpm2/src/NVReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          35
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - TpmFail
        - _plat__NvMemoryRead
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'NVReserved.c:168,5'
          Dst:             TpmFail
        - Src:             'NVReserved.c:169,5'
          Dst:             _plat__NvMemoryRead
    - functionName:    NvClearPersistent
      functionSourceFile: '/src/ibmswtpm2/src/NVReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          42
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - MemorySet
        - NvWrite
        - TpmFail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'NVReserved.c:212,5'
          Dst:             TpmFail
        - Src:             'NVReserved.c:213,5'
          Dst:             MemorySet
        - Src:             'NVReserved.c:214,5'
          Dst:             NvWrite
    - functionName:    NvWrite
      functionSourceFile: '/src/ibmswtpm2/src/NVReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          40
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - TpmFail
        - _plat__NvMemoryWrite
      functionUses:    93
      BranchProfiles:  []
      Callsites:
        - Src:             'NVReserved.c:183,5'
          Dst:             TpmFail
        - Src:             'NVReserved.c:184,5'
          Dst:             _plat__NvMemoryWrite
    - functionName:    NvUpdatePersistent
      functionSourceFile: '/src/ibmswtpm2/src/NVReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          42
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - MemoryCopy
        - NvWrite
        - TpmFail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'NVReserved.c:199,5'
          Dst:             TpmFail
        - Src:             'NVReserved.c:200,5'
          Dst:             MemoryCopy
        - Src:             'NVReserved.c:201,5'
          Dst:             NvWrite
    - functionName:    NvManufacture
      functionSourceFile: '/src/ibmswtpm2/src/NVReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MemorySet
        - NvInitStatic
        - NvSetMaxCount
        - NvUpdateIndexOrderlyData
        - NvWriteNvListEnd
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVReserved.c:145,5'
          Dst:             NvInitStatic
        - Src:             'NVReserved.c:147,5'
          Dst:             MemorySet
        - Src:             'NVReserved.c:149,5'
          Dst:             NvUpdateIndexOrderlyData
        - Src:             'NVReserved.c:152,5'
          Dst:             NvSetMaxCount
        - Src:             'NVReserved.c:155,5'
          Dst:             NvWriteNvListEnd
    - functionName:    NvInitStatic
      functionSourceFile: '/src/ibmswtpm2/src/NVReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvPowerOn
      functionSourceFile: '/src/ibmswtpm2/src/NVReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - NvInitStatic
        - TpmFail
        - _plat__NVEnable
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVReserved.c:125,20'
          Dst:             _plat__NVEnable
        - Src:             'NVReserved.c:126,3'
          Dst:             TpmFail
        - Src:             'NVReserved.c:127,6'
          Dst:             NvInitStatic
    - functionName:    NvCommit
      functionSourceFile: '/src/ibmswtpm2/src/NVReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _plat__NvCommit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'NVReserved.c:108,13'
          Dst:             _plat__NvCommit
    - functionName:    NvCheckState
      functionSourceFile: '/src/ibmswtpm2/src/NVReserved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          38
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _plat__IsNvAvailable
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NVReserved.c:92,19'
          Dst:             _plat__IsNvAvailable
    - functionName:    NvIsPinPassIndex
      functionSourceFile: '/src/ibmswtpm2/src/NV_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - HandleGetType
        - NvGetIndexInfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'NV_spt.c:173,8'
          Dst:             HandleGetType
        - Src:             'NV_spt.c:175,41'
          Dst:             NvGetIndexInfo
    - functionName:    NvClearOrderly
      functionSourceFile: '/src/ibmswtpm2/src/NV_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          32
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvWriteAccessChecks
      functionSourceFile: '/src/ibmswtpm2/src/NV_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          75
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NvReadAccessChecks
      functionSourceFile: '/src/ibmswtpm2/src/NV_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          88
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ObjectGetProperties
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 936
      functionLinenumberEnd: 937
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - HandleToObject
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:937,12'
          Dst:             HandleToObject
    - functionName:    HandleToObject
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - HandleGetType
        - TpmFail
      functionUses:    62
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:176,8'
          Dst:             HandleGetType
        - Src:             'Object.c:181,5'
          Dst:             TpmFail
        - Src:             'Object.c:182,5'
          Dst:             TpmFail
    - functionName:    ObjectGetPublicAttributes
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 929
      functionLinenumberEnd: 930
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - HandleToObject
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:930,12'
          Dst:             HandleToObject
    - functionName:    ObjectCapGetTransientAvail
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 913
      functionLinenumberEnd: 921
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          46
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ObjectCapGetLoaded
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 873
      functionLinenumberEnd: 904
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          130
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - HandleGetType
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:876,5'
          Dst:             HandleGetType
        - Src:             'Object.c:876,5'
          Dst:             TpmFail
        - Src:             'Object.c:887,7'
          Dst:             TpmFail
    - functionName:    ObjectIsStorage
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 849
      functionLinenumberEnd: 858
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          100
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - HandleToObject
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:850,32'
          Dst:             HandleToObject
    - functionName:    PublicMarshalAndComputeName
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 784
      functionLinenumberEnd: 801
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ObjectComputeName
        - TPMT_PUBLIC_Marshal
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:796,25'
          Dst:             TPMT_PUBLIC_Marshal
        - Src:             'Object.c:798,6'
          Dst:             ObjectComputeName
    - functionName:    ObjectComputeName
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 767
      functionLinenumberEnd: 775
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHashBlock
        - Uint16ToByteArray
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:769,20'
          Dst:             CryptHashBlock
        - Src:             'Object.c:773,5'
          Dst:             Uint16ToByteArray
    - functionName:    ObjectLoadEvict
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 720
      functionLinenumberEnd: 757
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          113
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - GetCommandCode
        - NvGetEvictObject
        - ObjectAllocateSlot
        - ObjectGetHierarchy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:736,14'
          Dst:             ObjectAllocateSlot
        - Src:             'Object.c:743,14'
          Dst:             NvGetEvictObject
        - Src:             'Object.c:752,8'
          Dst:             ObjectGetHierarchy
        - Src:             'Object.c:754,11'
          Dst:             GetCommandCode
    - functionName:    ObjectAllocateSlot
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 300
      functionLinenumberEnd: 307
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - FindEmptyObjectSlot
        - ObjectSetInUse
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:301,31'
          Dst:             FindEmptyObjectSlot
        - Src:             'Object.c:305,6'
          Dst:             ObjectSetInUse
    - functionName:    ObjectGetHierarchy
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FindEmptyObjectSlot
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 292
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          69
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - MemorySet
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:287,7'
          Dst:             MemorySet
    - functionName:    ObjectSetInUse
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ObjectFlushHierarchy
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 679
      functionLinenumberEnd: 706
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          137
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - TpmFail
      functionUses:    5
      BranchProfiles:
        - Branch String:   'Object.c:686,7'
          Branch Sides:    []
      Callsites:
        - Src:             'Object.c:701,8'
          Dst:             TpmFail
    - functionName:    ObjectContextLoad
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 635
      functionLinenumberEnd: 655
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          50
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - MemoryCopy
        - ObjectAllocateSlot
        - ObjectIsSequence
        - SequenceDataImport
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:636,30'
          Dst:             ObjectAllocateSlot
        - Src:             'Object.c:641,6'
          Dst:             MemoryCopy
        - Src:             'Object.c:643,9'
          Dst:             ObjectIsSequence
        - Src:             'Object.c:646,7'
          Dst:             SequenceDataImport
        - Src:             'Object.c:652,7'
          Dst:             MemoryCopy
    - functionName:    ObjectIsSequence
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          58
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - TpmFail
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:160,5'
          Dst:             TpmFail
    - functionName:    FlushObject
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 670
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          34
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - MemorySet
        - TpmFail
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:666,5'
          Dst:             TpmFail
        - Src:             'Object.c:668,5'
          Dst:             MemorySet
    - functionName:    ObjectTerminateEvent
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 603
      functionLinenumberEnd: 623
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          59
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - CryptHashEnd
        - CryptHashGetAlgByIndex
        - FlushObject
        - HandleToObject
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:607,33'
          Dst:             HandleToObject
        - Src:             'Object.c:615,21'
          Dst:             CryptHashGetAlgByIndex
        - Src:             'Object.c:617,7'
          Dst:             CryptHashEnd
        - Src:             'Object.c:620,6'
          Dst:             FlushObject
    - functionName:    ObjectCreateEventSequence
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 596
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          67
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - AllocateSequenceSlot
        - CryptHashGetAlgByIndex
        - CryptHashStart
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:584,39'
          Dst:             AllocateSequenceSlot
        - Src:             'Object.c:593,28'
          Dst:             CryptHashGetAlgByIndex
        - Src:             'Object.c:594,2'
          Dst:             CryptHashStart
    - functionName:    AllocateSequenceSlot
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 489
      functionLinenumberEnd: 516
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - MemorySet
        - ObjectAllocateSlot
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:490,47'
          Dst:             ObjectAllocateSlot
        - Src:             'Object.c:500,6'
          Dst:             MemorySet
    - functionName:    ObjectCreateHashSequence
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 563
      functionLinenumberEnd: 573
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - AllocateSequenceSlot
        - CryptHashStart
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:564,39'
          Dst:             AllocateSequenceSlot
        - Src:             'Object.c:571,5'
          Dst:             CryptHashStart
    - functionName:    ObjectCreateHMACSequence
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 530
      functionLinenumberEnd: 550
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          64
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - AllocateSequenceSlot
        - CryptMacStart
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:534,18'
          Dst:             AllocateSequenceSlot
        - Src:             'Object.c:544,5'
          Dst:             CryptMacStart
    - functionName:    ObjectLoad
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 406
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          221
      EdgeCount:       49
      CyclomaticComplexity: 14
      functionsReached:
        - CryptHashGetDigestSize
        - CryptRsaLoadPrivateExponent
        - CryptValidateKeys
        - PublicAttributesValidation
        - RcSafeAddToResult
        - SchemeChecks
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:416,15'
          Dst:             SchemeChecks
        - Src:             'Object.c:423,11'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object.c:426,15'
          Dst:             PublicAttributesValidation
        - Src:             'Object.c:429,9'
          Dst:             RcSafeAddToResult
        - Src:             'Object.c:452,15'
          Dst:             CryptValidateKeys
        - Src:             'Object.c:475,12'
          Dst:             CryptRsaLoadPrivateExponent
    - functionName:    ComputeQualifiedName
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 812
      functionLinenumberEnd: 836
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          69
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd
        - CryptHashStart
        - GetQualifiedName
        - MemoryCopy2B
        - Uint16ToByteArray
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:817,6'
          Dst:             MemoryCopy2B
        - Src:             'Object.c:822,6'
          Dst:             GetQualifiedName
        - Src:             'Object.c:825,30'
          Dst:             CryptHashStart
        - Src:             'Object.c:827,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'Object.c:829,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'Object.c:831,6'
          Dst:             CryptHashEnd
        - Src:             'Object.c:833,6'
          Dst:             Uint16ToByteArray
    - functionName:    GetQualifiedName
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          74
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - HandleGetType
        - HandleToObject
        - TpmFail
        - Uint32ToByteArray
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Object.c:209,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Object.c:209,12'
          Dst:             HandleGetType
        - Src:             'Object.c:213,6'
          Dst:             Uint32ToByteArray
        - Src:             'Object.c:216,15'
          Dst:             HandleToObject
        - Src:             'Object.c:224,6'
          Dst:             TpmFail
    - functionName:    ObjectSetLoadedAttributes
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 317
      functionLinenumberEnd: 385
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          301
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached:
        - ComputeQualifiedName
        - HandleToObject
        - ObjectSetInUse
      functionUses:    4
      BranchProfiles:
        - Branch String:   'Object.c:329,6'
          Branch Sides:    []
      Callsites:
        - Src:             'Object.c:318,35'
          Dst:             HandleToObject
        - Src:             'Object.c:380,6'
          Dst:             ComputeQualifiedName
        - Src:             'Object.c:384,5'
          Dst:             ObjectSetInUse
    - functionName:    GetHeriarchy
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - HandleToObject
        - ObjectGetHierarchy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:262,31'
          Dst:             HandleToObject
        - Src:             'Object.c:263,12'
          Dst:             ObjectGetHierarchy
    - functionName:    ObjectGetNameAlg
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    IsObjectPresent
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          36
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ObjectCleanupEvict
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          52
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - ObjectFlush
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:123,3'
          Dst:             ObjectFlush
    - functionName:    ObjectFlush
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ObjectStartup
      functionSourceFile: '/src/ibmswtpm2/src/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         7
      ICount:          33
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - ObjectFlush
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object.c:101,6'
          Dst:             ObjectFlush
    - functionName:    TPM2_CreateLoaded
      functionSourceFile: '/src/ibmswtpm2/src/ObjectCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 412
      functionLinenumberEnd: 537
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         52
      ICount:          392
      EdgeCount:       71
      CyclomaticComplexity: 21
      functionsReached:
        - AdjustAuthSize
        - CreateChecks
        - CryptCreateObject
        - DRBG_InstantiateSeeded
        - DRBG_InstantiateSeededKdf
        - FindEmptyObjectSlot
        - HandleToObject
        - HierarchyGetPrimarySeed
        - ObjectSetLoadedAttributes
        - PublicAttributesValidation
        - PublicMarshalAndComputeName
        - RcSafeAddToResult
        - SensitiveToPrivate
        - SetLabelAndContext
        - TpmFail
        - UnmarshalToPublic
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ObjectCommands.c:414,43'
          Dst:             HandleToObject
        - Src:             'ObjectCommands.c:430,17'
          Dst:             FindEmptyObjectSlot
        - Src:             'ObjectCommands.c:443,14'
          Dst:             UnmarshalToPublic
        - Src:             'ObjectCommands.c:448,9'
          Dst:             AdjustAuthSize
        - Src:             'ObjectCommands.c:457,6'
          Dst:             TpmFail
        - Src:             'ObjectCommands.c:468,15'
          Dst:             PublicAttributesValidation
        - Src:             'ObjectCommands.c:470,10'
          Dst:             RcSafeAddToResult
        - Src:             'ObjectCommands.c:473,15'
          Dst:             SetLabelAndContext
        - Src:             'ObjectCommands.c:477,6'
          Dst:             DRBG_InstantiateSeededKdf
        - Src:             'ObjectCommands.c:493,15'
          Dst:             CreateChecks
        - Src:             'ObjectCommands.c:496,10'
          Dst:             RcSafeAddToResult
        - Src:             'ObjectCommands.c:507,10'
          Dst:             HierarchyGetPrimarySeed
        - Src:             'ObjectCommands.c:509,18'
          Dst:             PublicMarshalAndComputeName
        - Src:             'ObjectCommands.c:506,7'
          Dst:             DRBG_InstantiateSeeded
        - Src:             'ObjectCommands.c:519,14'
          Dst:             CryptCreateObject
        - Src:             'ObjectCommands.c:526,2'
          Dst:             SensitiveToPrivate
        - Src:             'ObjectCommands.c:535,5'
          Dst:             ObjectSetLoadedAttributes
    - functionName:    TPM2_ObjectChangeAuth
      functionSourceFile: '/src/ibmswtpm2/src/ObjectCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 374
      functionLinenumberEnd: 402
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          96
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - AdjustAuthSize
        - ComputeQualifiedName
        - HandleToObject
        - MemoryEqual2B
        - ObjectIsSequence
        - SensitiveToPrivate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ObjectCommands.c:376,39'
          Dst:             HandleToObject
        - Src:             'ObjectCommands.c:380,8'
          Dst:             ObjectIsSequence
        - Src:             'ObjectCommands.c:383,9'
          Dst:             AdjustAuthSize
        - Src:             'ObjectCommands.c:388,5'
          Dst:             ComputeQualifiedName
        - Src:             'ObjectCommands.c:391,9'
          Dst:             MemoryEqual2B
        - Src:             'ObjectCommands.c:398,53'
          Dst:             HandleToObject
        - Src:             'ObjectCommands.c:398,5'
          Dst:             SensitiveToPrivate
    - functionName:    TPM2_Unseal
      functionSourceFile: '/src/ibmswtpm2/src/ObjectCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 347
      functionLinenumberEnd: 363
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          85
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - HandleToObject
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ObjectCommands.c:351,14'
          Dst:             HandleToObject
    - functionName:    TPM2_MakeCredential
      functionSourceFile: '/src/ibmswtpm2/src/ObjectCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          116
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - CryptHashGetDigestSize
        - CryptIsAsymAlgorithm
        - CryptSecretEncrypt
        - HandleToObject
        - SecretToCredential
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ObjectCommands.c:316,14'
          Dst:             HandleToObject
        - Src:             'ObjectCommands.c:319,9'
          Dst:             CryptIsAsymAlgorithm
        - Src:             'ObjectCommands.c:325,32'
          Dst:             CryptHashGetDigestSize
        - Src:             'ObjectCommands.c:330,14'
          Dst:             CryptSecretEncrypt
        - Src:             'ObjectCommands.c:334,5'
          Dst:             SecretToCredential
    - functionName:    TPM2_ActivateCredential
      functionSourceFile: '/src/ibmswtpm2/src/ObjectCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 299
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          121
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - CredentialToSecret
        - CryptIsAsymAlgorithm
        - CryptSecretDecrypt
        - HandleToObject
        - RcSafeAddToResult
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ObjectCommands.c:269,14'
          Dst:             HandleToObject
        - Src:             'ObjectCommands.c:271,22'
          Dst:             HandleToObject
        - Src:             'ObjectCommands.c:273,9'
          Dst:             CryptIsAsymAlgorithm
        - Src:             'ObjectCommands.c:282,14'
          Dst:             CryptSecretDecrypt
        - Src:             'ObjectCommands.c:287,13'
          Dst:             RcSafeAddToResult
        - Src:             'ObjectCommands.c:291,14'
          Dst:             CredentialToSecret
        - Src:             'ObjectCommands.c:297,9'
          Dst:             RcSafeAddToResult
    - functionName:    TPM2_ReadPublic
      functionSourceFile: '/src/ibmswtpm2/src/ObjectCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - HandleToObject
        - ObjectIsSequence
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ObjectCommands.c:241,39'
          Dst:             HandleToObject
        - Src:             'ObjectCommands.c:244,8'
          Dst:             ObjectIsSequence
    - functionName:    TPM2_LoadExternal
      functionSourceFile: '/src/ibmswtpm2/src/ObjectCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          158
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - FindEmptyObjectSlot
        - HierarchyIsEnabled
        - ObjectLoad
        - ObjectSetLoadedAttributes
        - PublicMarshalAndComputeName
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ObjectCommands.c:189,14'
          Dst:             FindEmptyObjectSlot
        - Src:             'ObjectCommands.c:194,9'
          Dst:             HierarchyIsEnabled
        - Src:             'ObjectCommands.c:217,5'
          Dst:             PublicMarshalAndComputeName
        - Src:             'ObjectCommands.c:219,14'
          Dst:             ObjectLoad
        - Src:             'ObjectCommands.c:227,6'
          Dst:             ObjectSetLoadedAttributes
    - functionName:    TPM2_Load
      functionSourceFile: '/src/ibmswtpm2/src/ObjectCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          141
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - FindEmptyObjectSlot
        - HandleToObject
        - ObjectIsParent
        - ObjectLoad
        - ObjectSetLoadedAttributes
        - PrivateToSensitive
        - PublicMarshalAndComputeName
        - RcSafeAddToResult
        - TpmFail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ObjectCommands.c:139,17'
          Dst:             FindEmptyObjectSlot
        - Src:             'ObjectCommands.c:144,20'
          Dst:             HandleToObject
        - Src:             'ObjectCommands.c:145,5'
          Dst:             TpmFail
        - Src:             'ObjectCommands.c:147,9'
          Dst:             ObjectIsParent
        - Src:             'ObjectCommands.c:151,5'
          Dst:             PublicMarshalAndComputeName
        - Src:             'ObjectCommands.c:155,14'
          Dst:             PrivateToSensitive
        - Src:             'ObjectCommands.c:159,9'
          Dst:             RcSafeAddToResult
        - Src:             'ObjectCommands.c:162,14'
          Dst:             ObjectLoad
        - Src:             'ObjectCommands.c:169,6'
          Dst:             ObjectSetLoadedAttributes
    - functionName:    TPM2_Create
      functionSourceFile: '/src/ibmswtpm2/src/ObjectCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          164
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - AdjustAuthSize
        - CreateChecks
        - CryptCreateObject
        - EntityGetHierarchy
        - FillInCreationData
        - FindEmptyObjectSlot
        - HandleToObject
        - ObjectIsParent
        - RcSafeAddToResult
        - SensitiveToPrivate
        - TicketComputeCreation
        - TpmFail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ObjectCommands.c:77,20'
          Dst:             HandleToObject
        - Src:             'ObjectCommands.c:78,5'
          Dst:             TpmFail
        - Src:             'ObjectCommands.c:80,9'
          Dst:             ObjectIsParent
        - Src:             'ObjectCommands.c:83,17'
          Dst:             FindEmptyObjectSlot
        - Src:             'ObjectCommands.c:95,14'
          Dst:             CreateChecks
        - Src:             'ObjectCommands.c:98,9'
          Dst:             RcSafeAddToResult
        - Src:             'ObjectCommands.c:100,9'
          Dst:             AdjustAuthSize
        - Src:             'ObjectCommands.c:104,14'
          Dst:             CryptCreateObject
        - Src:             'ObjectCommands.c:108,5'
          Dst:             FillInCreationData
        - Src:             'ObjectCommands.c:112,27'
          Dst:             EntityGetHierarchy
        - Src:             'ObjectCommands.c:112,5'
          Dst:             TicketComputeCreation
        - Src:             'ObjectCommands.c:115,5'
          Dst:             SensitiveToPrivate
    - functionName:    ComputeInnerIntegrity
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - short
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptHashEnd2B
        - CryptHashStart
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:197,25'
          Dst:             CryptHashStart
        - Src:             'Object_spt.c:199,5'
          Dst:             CryptDigestUpdate
        - Src:             'Object_spt.c:201,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'Object_spt.c:203,5'
          Dst:             CryptHashEnd2B
    - functionName:    ObjectSetExternal
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1414
      functionLinenumberEnd: 1416
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UnmarshalToPublic
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1371
      functionLinenumberEnd: 1407
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          156
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - MemorySet
        - TPM2B_DIGEST_Unmarshal
        - TPMA_OBJECT_Unmarshal
        - TPMI_ALG_HASH_Unmarshal
        - TPMI_ALG_PUBLIC_Unmarshal
        - TPMS_DERIVE_Unmarshal
        - TPMU_PUBLIC_ID_Unmarshal
        - TPMU_PUBLIC_PARMS_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:1378,5'
          Dst:             MemorySet
        - Src:             'Object_spt.c:1380,14'
          Dst:             TPMI_ALG_PUBLIC_Unmarshal
        - Src:             'Object_spt.c:1383,14'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'Object_spt.c:1386,14'
          Dst:             TPMA_OBJECT_Unmarshal
        - Src:             'Object_spt.c:1389,14'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'Object_spt.c:1392,14'
          Dst:             TPMU_PUBLIC_PARMS_Unmarshal
        - Src:             'Object_spt.c:1398,11'
          Dst:             TPMS_DERIVE_Unmarshal
        - Src:             'Object_spt.c:1401,11'
          Dst:             TPMU_PUBLIC_ID_Unmarshal
    - functionName:    SetLabelAndContext
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1332
      functionLinenumberEnd: 1358
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          96
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - MemoryCopy2B
        - TPMS_DERIVE_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:1344,15'
          Dst:             TPMS_DERIVE_Unmarshal
        - Src:             'Object_spt.c:1350,3'
          Dst:             MemoryCopy2B
        - Src:             'Object_spt.c:1354,3'
          Dst:             MemoryCopy2B
    - functionName:    CredentialToSecret
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1281
      functionLinenumberEnd: 1310
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          106
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - CryptHashGetDigestSize
        - ObjectGetNameAlg
        - TPM2B_DIGEST_Unmarshal
        - UnwrapOuter
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:1289,17'
          Dst:             ObjectGetNameAlg
        - Src:             'Object_spt.c:1291,14'
          Dst:             UnwrapOuter
        - Src:             'Object_spt.c:1297,27'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:1299,30'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:1303,15'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    UnwrapOuter
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 822
      functionLinenumberEnd: 872
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - int
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          145
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - ComputeOuterIntegrity
        - ComputeProtectionKeyParms
        - CryptGetSymmetricBlockSize
        - CryptSymmetricDecrypt
        - MemoryEqual2B
        - TPM2B_DIGEST_Unmarshal
        - TPM2B_IV_Unmarshal
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:836,14'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'Object_spt.c:840,6'
          Dst:             ComputeOuterIntegrity
        - Src:             'Object_spt.c:844,10'
          Dst:             MemoryEqual2B
        - Src:             'Object_spt.c:847,6'
          Dst:             ComputeProtectionKeyParms
        - Src:             'Object_spt.c:852,16'
          Dst:             TPM2B_IV_Unmarshal
        - Src:             'Object_spt.c:857,26'
          Dst:             CryptGetSymmetricBlockSize
        - Src:             'Object_spt.c:868,2'
          Dst:             CryptSymmetricDecrypt
    - functionName:    ComputeOuterIntegrity
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          72
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptHashGetDigestSize
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - CryptKDFa
        - GetSeedForKDF
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:167,9'
          Dst:             GetSeedForKDF
        - Src:             'Object_spt.c:169,22'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:171,5'
          Dst:             CryptKDFa
        - Src:             'Object_spt.c:174,25'
          Dst:             CryptHmacStart2B
        - Src:             'Object_spt.c:176,5'
          Dst:             CryptDigestUpdate
        - Src:             'Object_spt.c:178,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'Object_spt.c:180,5'
          Dst:             CryptHmacEnd2B
    - functionName:    ComputeProtectionKeyParms
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          98
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CryptKDFa
        - GetSeedForKDF
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:133,9'
          Dst:             GetSeedForKDF
        - Src:             'Object_spt.c:135,5'
          Dst:             CryptKDFa
    - functionName:    GetSeedForKDF
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 708
      functionLinenumberEnd: 717
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SecretToCredential
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1243
      functionLinenumberEnd: 1260
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          74
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - CryptHashGetDigestSize
        - ObjectGetNameAlg
        - ProduceOuterWrap
        - TPM2B_DIGEST_Marshal
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:1248,5'
          Dst:             TpmFail
        - Src:             'Object_spt.c:1250,17'
          Dst:             ObjectGetNameAlg
        - Src:             'Object_spt.c:1253,26'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:1256,16'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'Object_spt.c:1258,27'
          Dst:             ProduceOuterWrap
    - functionName:    ProduceOuterWrap
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 747
      functionLinenumberEnd: 793
      functionDepth:   0
      returnType:      short
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - int
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          128
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ComputeOuterIntegrity
        - ComputeProtectionKeyParms
        - CryptHashGetDigestSize
        - CryptRandomGenerate
        - CryptSymmetricEncrypt
        - GetIV2BSize
        - TPM2B_DIGEST_Marshal
        - TPM2B_IV_Marshal
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:760,38'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:765,15'
          Dst:             GetIV2BSize
        - Src:             'Object_spt.c:769,6'
          Dst:             CryptRandomGenerate
        - Src:             'Object_spt.c:772,6'
          Dst:             TPM2B_IV_Marshal
        - Src:             'Object_spt.c:779,5'
          Dst:             ComputeProtectionKeyParms
        - Src:             'Object_spt.c:782,5'
          Dst:             CryptSymmetricEncrypt
        - Src:             'Object_spt.c:787,5'
          Dst:             ComputeOuterIntegrity
        - Src:             'Object_spt.c:791,5'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    GetIV2BSize
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptGetSymmetricBlockSize
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:92,29'
          Dst:             CryptGetSymmetricBlockSize
    - functionName:    CheckInnerIntegrity
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 250
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ComputeInnerIntegrity
        - MemoryEqual2B
        - TPM2B_DIGEST_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:259,14'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'Object_spt.c:263,6'
          Dst:             ComputeInnerIntegrity
        - Src:             'Object_spt.c:266,10'
          Dst:             MemoryEqual2B
    - functionName:    DuplicateToSensitive
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1165
      functionLinenumberEnd: 1227
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          270
      EdgeCount:       47
      CyclomaticComplexity: 12
      functionsReached:
        - CheckInnerIntegrity
        - CryptHashGetDigestSize
        - CryptSymmetricDecrypt
        - TPMT_SENSITIVE_Unmarshal
        - TpmFail
        - UINT16_Unmarshal
        - UnwrapOuter
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:1173,5'
          Dst:             TpmFail
        - Src:             'Object_spt.c:1175,5'
          Dst:             TpmFail
        - Src:             'Object_spt.c:1184,15'
          Dst:             UnwrapOuter
        - Src:             'Object_spt.c:1189,40'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:1190,35'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:1196,6'
          Dst:             TpmFail
        - Src:             'Object_spt.c:1198,6'
          Dst:             CryptSymmetricDecrypt
        - Src:             'Object_spt.c:1202,15'
          Dst:             CheckInnerIntegrity
        - Src:             'Object_spt.c:1206,40'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:1207,35'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:1212,14'
          Dst:             UINT16_Unmarshal
        - Src:             'Object_spt.c:1220,16'
          Dst:             TPMT_SENSITIVE_Unmarshal
    - functionName:    ProduceInnerIntegrity
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          49
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ComputeInnerIntegrity
        - CryptHashGetDigestSize
        - TPM2B_DIGEST_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:228,38'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:230,5'
          Dst:             ComputeInnerIntegrity
        - Src:             'Object_spt.c:233,5'
          Dst:             TPM2B_DIGEST_Marshal
    - functionName:    SensitiveToDuplicate
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1058
      functionLinenumberEnd: 1135
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          282
      EdgeCount:       45
      CyclomaticComplexity: 11
      functionsReached:
        - CryptHashGetDigestSize
        - CryptRandomGenerate
        - CryptSymmetricEncrypt
        - MarshalSensitive
        - ObjectGetNameAlg
        - ProduceInnerIntegrity
        - ProduceOuterWrap
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:1067,5'
          Dst:             TpmFail
        - Src:             'Object_spt.c:1069,5'
          Dst:             TpmFail
        - Src:             'Object_spt.c:1079,40'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:1086,18'
          Dst:             ObjectGetNameAlg
        - Src:             'Object_spt.c:1088,40'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:1091,16'
          Dst:             MarshalSensitive
        - Src:             'Object_spt.c:1101,35'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:1102,17'
          Dst:             ProduceInnerIntegrity
        - Src:             'Object_spt.c:1108,7'
          Dst:             CryptRandomGenerate
        - Src:             'Object_spt.c:1115,7'
          Dst:             TpmFail
        - Src:             'Object_spt.c:1118,6'
          Dst:             CryptSymmetricEncrypt
        - Src:             'Object_spt.c:1130,17'
          Dst:             ProduceOuterWrap
    - functionName:    MarshalSensitive
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 882
      functionLinenumberEnd: 893
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          40
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHashGetDigestSize
        - MemoryPad2B
        - TPMT_SENSITIVE_Marshal
        - UINT16_Marshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:887,42'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:887,5'
          Dst:             MemoryPad2B
        - Src:             'Object_spt.c:890,14'
          Dst:             TPMT_SENSITIVE_Marshal
        - Src:             'Object_spt.c:892,32'
          Dst:             UINT16_Marshal
    - functionName:    PrivateToSensitive
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 974
      functionLinenumberEnd: 1029
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          180
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - CryptHashGetDigestSize
        - GetIV2BSize
        - ObjectGetNameAlg
        - TPMT_SENSITIVE_Unmarshal
        - TpmFail
        - UINT16_Unmarshal
        - UnwrapOuter
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:986,5'
          Dst:             TpmFail
        - Src:             'Object_spt.c:996,16'
          Dst:             ObjectGetNameAlg
        - Src:             'Object_spt.c:999,14'
          Dst:             UnwrapOuter
        - Src:             'Object_spt.c:1004,38'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:1006,14'
          Dst:             GetIV2BSize
        - Src:             'Object_spt.c:1013,14'
          Dst:             UINT16_Unmarshal
        - Src:             'Object_spt.c:1021,16'
          Dst:             TPMT_SENSITIVE_Unmarshal
    - functionName:    SensitiveToPrivate
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 912
      functionLinenumberEnd: 946
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          103
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - CryptHashGetDigestSize
        - GetIV2BSize
        - MarshalSensitive
        - ObjectGetNameAlg
        - ProduceOuterWrap
        - TpmFail
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:919,5'
          Dst:             TpmFail
        - Src:             'Object_spt.c:929,16'
          Dst:             ObjectGetNameAlg
        - Src:             'Object_spt.c:934,38'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:938,14'
          Dst:             GetIV2BSize
        - Src:             'Object_spt.c:942,16'
          Dst:             MarshalSensitive
        - Src:             'Object_spt.c:944,26'
          Dst:             ProduceOuterWrap
    - functionName:    FillInCreationData
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 651
      functionLinenumberEnd: 699
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - int
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          130
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate
        - CryptHashEnd2B
        - CryptHashStart
        - HandleGetType
        - HandleToObject
        - LocalityGetAttributes
        - PCRComputeCurrentDigest
        - TPMS_CREATION_DATA_Marshal
        - TPM_HANDLE_Marshal
        - _plat__LocalityGet
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:657,5'
          Dst:             PCRComputeCurrentDigest
        - Src:             'Object_spt.c:663,26'
          Dst:             _plat__LocalityGet
        - Src:             'Object_spt.c:663,4'
          Dst:             LocalityGetAttributes
        - Src:             'Object_spt.c:667,8'
          Dst:             HandleGetType
        - Src:             'Object_spt.c:671,3'
          Dst:             TPM_HANDLE_Marshal
        - Src:             'Object_spt.c:679,38'
          Dst:             HandleToObject
        - Src:             'Object_spt.c:693,25'
          Dst:             TPMS_CREATION_DATA_Marshal
        - Src:             'Object_spt.c:696,30'
          Dst:             CryptHashStart
        - Src:             'Object_spt.c:697,5'
          Dst:             CryptDigestUpdate
        - Src:             'Object_spt.c:698,5'
          Dst:             CryptHashEnd2B
    - functionName:    SchemeChecks
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 382
      functionLinenumberEnd: 551
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         110
      ICount:          579
      EdgeCount:       149
      CyclomaticComplexity: 41
      functionsReached:
        - CryptGetCurveSignScheme
        - CryptHashGetDigestSize
        - CryptIsAsymDecryptScheme
        - CryptIsAsymSignScheme
        - CryptSymModeIsValid
        - MemoryEqual
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Object_spt.c:388,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Object_spt.c:396,13'
          Dst:             CryptSymModeIsValid
        - Src:             'Object_spt.c:427,11'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:449,10'
          Dst:             CryptIsAsymSignScheme
        - Src:             'Object_spt.c:480,12'
          Dst:             CryptIsAsymDecryptScheme
        - Src:             'Object_spt.c:499,21'
          Dst:             CryptGetCurveSignScheme
        - Src:             'Object_spt.c:501,7'
          Dst:             TpmFail
        - Src:             'Object_spt.c:545,11'
          Dst:             MemoryEqual
    - functionName:    PublicAttributesValidation
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 570
      functionLinenumberEnd: 639
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         55
      ICount:          308
      EdgeCount:       76
      CyclomaticComplexity: 23
      functionsReached:
        - CryptHashGetDigestSize
        - SchemeChecks
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:582,9'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:638,12'
          Dst:             SchemeChecks
    - functionName:    CreateChecks
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 365
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          202
      EdgeCount:       59
      CyclomaticComplexity: 15
      functionsReached:
        - PublicAttributesValidation
      functionUses:    3
      BranchProfiles:
        - Branch String:   'Object_spt.c:333,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Object_spt.c:362,15'
          Dst:             PublicAttributesValidation
    - functionName:    ObjectIsParent
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    MemoryRemoveTrailingZeros
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1319
      functionLinenumberEnd: 1322
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          52
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    AdjustAuthSize
      functionSourceFile: '/src/ibmswtpm2/src/Object_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 292
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          80
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - CryptHashGetDigestSize
        - MemoryPad2B
        - MemoryRemoveTrailingZeros
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'Object_spt.c:285,6'
          Dst:             CryptHashGetDigestSize
        - Src:             'Object_spt.c:286,21'
          Dst:             MemoryRemoveTrailingZeros
        - Src:             'Object_spt.c:289,2'
          Dst:             MemoryPad2B
    - functionName:    PCRSetSelectBit
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1040
      functionLinenumberEnd: 1042
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PCRCapGetHandles
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1197
      functionLinenumberEnd: 1223
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          97
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - HandleGetType
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:1200,5'
          Dst:             HandleGetType
        - Src:             'PCR.c:1200,5'
          Dst:             TpmFail
    - functionName:    PCRGetProperty
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1054
      functionLinenumberEnd: 1142
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         70
      ICount:          420
      EdgeCount:       85
      CyclomaticComplexity: 17
      functionsReached:
        - MemorySet
        - PCRBelongsAuthGroup
        - PCRBelongsPolicyGroup
        - PCRBelongsTCBGroup
        - PCRSetSelectBit
      functionUses:    1
      BranchProfiles:
        - Branch String:   'PCR.c:1065,6'
          Branch Sides:    []
      Callsites:
        - Src:             'PCR.c:1061,5'
          Dst:             MemorySet
        - Src:             'PCR.c:1069,4'
          Dst:             PCRSetSelectBit
        - Src:             'PCR.c:1073,4'
          Dst:             PCRSetSelectBit
        - Src:             'PCR.c:1077,4'
          Dst:             PCRSetSelectBit
        - Src:             'PCR.c:1081,4'
          Dst:             PCRSetSelectBit
        - Src:             'PCR.c:1085,4'
          Dst:             PCRSetSelectBit
        - Src:             'PCR.c:1089,4'
          Dst:             PCRSetSelectBit
        - Src:             'PCR.c:1093,4'
          Dst:             PCRSetSelectBit
        - Src:             'PCR.c:1097,4'
          Dst:             PCRSetSelectBit
        - Src:             'PCR.c:1101,4'
          Dst:             PCRSetSelectBit
        - Src:             'PCR.c:1105,4'
          Dst:             PCRSetSelectBit
        - Src:             'PCR.c:1109,4'
          Dst:             PCRSetSelectBit
        - Src:             'PCR.c:1114,4'
          Dst:             PCRSetSelectBit
        - Src:             'PCR.c:1118,10'
          Dst:             PCRBelongsPolicyGroup
        - Src:             'PCR.c:1119,4'
          Dst:             PCRSetSelectBit
        - Src:             'PCR.c:1124,10'
          Dst:             PCRBelongsAuthGroup
        - Src:             'PCR.c:1125,4'
          Dst:             PCRSetSelectBit
        - Src:             'PCR.c:1130,10'
          Dst:             PCRBelongsTCBGroup
        - Src:             'PCR.c:1131,4'
          Dst:             PCRSetSelectBit
    - functionName:    PCRBelongsPolicyGroup
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          35
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PCRBelongsAuthGroup
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          35
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PCRBelongsTCBGroup
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          31
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PCRCapGetProperties
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1154
      functionLinenumberEnd: 1183
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          95
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - PCRGetProperty
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:1171,10'
          Dst:             PCRGetProperty
    - functionName:    PCRCapGetAllocation
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1021
      functionLinenumberEnd: 1032
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          29
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PCRResetDynamics
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 987
      functionLinenumberEnd: 1009
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         17
      ICount:          94
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - CryptHashGetDigestSize
        - GetPcrPointer
        - MemorySet
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:997,17'
          Dst:             GetPcrPointer
        - Src:             'PCR.c:1001,5'
          Dst:             CryptHashGetDigestSize
        - Src:             'PCR.c:1005,5'
          Dst:             MemorySet
    - functionName:    GetPcrPointer
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 352
      functionLinenumberEnd: 388
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          81
      EdgeCount:       23
      CyclomaticComplexity: 13
      functionsReached:
        - PcrIsAllocated
        - TpmFail
      functionUses:    9
      BranchProfiles:
        - Branch String:   'PCR.c:356,5'
          Branch Sides:    []
      Callsites:
        - Src:             'PCR.c:354,9'
          Dst:             PcrIsAllocated
        - Src:             'PCR.c:384,6'
          Dst:             TpmFail
    - functionName:    PcrIsAllocated
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 322
      functionLinenumberEnd: 340
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          79
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PCRSetValue
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 951
      functionLinenumberEnd: 980
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          105
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - CryptHashGetAlgByIndex
        - CryptHashGetDigestSize
        - GetPcrPointer
        - MemorySet
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:960,13'
          Dst:             CryptHashGetAlgByIndex
        - Src:             'PCR.c:965,16'
          Dst:             GetPcrPointer
        - Src:             'PCR.c:970,20'
          Dst:             CryptHashGetDigestSize
        - Src:             'PCR.c:975,4'
          Dst:             MemorySet
        - Src:             'PCR.c:977,4'
          Dst:             MemorySet
    - functionName:    PCRAllocate
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 860
      functionLinenumberEnd: 942
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          314
      EdgeCount:       58
      CyclomaticComplexity: 14
      functionsReached:
        - CryptHashGetDigestSize
        - NvWrite
        - TestBit
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:891,6'
          Dst:             TpmFail
        - Src:             'PCR.c:902,5'
          Dst:             CryptHashGetDigestSize
        - Src:             'PCR.c:905,27'
          Dst:             TestBit
        - Src:             'PCR.c:913,29'
          Dst:             TestBit
        - Src:             'PCR.c:940,5'
          Dst:             NvWrite
    - functionName:    PcrWrite
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 836
      functionLinenumberEnd: 845
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GetPcrPointer
        - MemoryCopy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:840,15'
          Dst:             GetPcrPointer
        - Src:             'PCR.c:843,6'
          Dst:             MemoryCopy
    - functionName:    PCRRead
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 765
      functionLinenumberEnd: 825
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          258
      EdgeCount:       43
      CyclomaticComplexity: 11
      functionsReached:
        - CryptHashGetDigestSize
        - FilterPcr
        - GetPcrPointer
        - IsPcrSelected
        - MemoryCopy
        - MemorySet
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:776,6'
          Dst:             FilterPcr
        - Src:             'PCR.c:780,10'
          Dst:             IsPcrSelected
        - Src:             'PCR.c:799,5'
          Dst:             CryptHashGetDigestSize
        - Src:             'PCR.c:801,18'
          Dst:             GetPcrPointer
        - Src:             'PCR.c:802,8'
          Dst:             TpmFail
        - Src:             'PCR.c:804,8'
          Dst:             MemoryCopy
        - Src:             'PCR.c:816,8'
          Dst:             MemorySet
    - functionName:    FilterPcr
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          128
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    IsPcrSelected
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 399
      functionLinenumberEnd: 403
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          39
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PCRComputeCurrentDigest
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 720
      functionLinenumberEnd: 752
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          141
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - CryptDigestUpdate
        - CryptHashEnd2B
        - CryptHashGetDigestSize
        - CryptHashStart
        - FilterPcr
        - GetPcrPointer
        - IsPcrSelected
        - TpmFail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:728,22'
          Dst:             CryptHashStart
        - Src:             'PCR.c:729,5'
          Dst:             TpmFail
        - Src:             'PCR.c:735,6'
          Dst:             FilterPcr
        - Src:             'PCR.c:737,16'
          Dst:             CryptHashGetDigestSize
        - Src:             'PCR.c:741,10'
          Dst:             IsPcrSelected
        - Src:             'PCR.c:744,18'
          Dst:             GetPcrPointer
        - Src:             'PCR.c:745,8'
          Dst:             TpmFail
        - Src:             'PCR.c:746,8'
          Dst:             CryptDigestUpdate
        - Src:             'PCR.c:751,5'
          Dst:             CryptHashEnd2B
    - functionName:    PCRIsExtendAllowed
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 670
      functionLinenumberEnd: 681
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _plat__LocalityGet
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:675,23'
          Dst:             _plat__LocalityGet
    - functionName:    PCRIsResetAllowed
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 624
      functionLinenumberEnd: 640
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          64
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _plat__LocalityGet
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:629,23'
          Dst:             _plat__LocalityGet
    - functionName:    PCRIsStateSaved
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 607
      functionLinenumberEnd: 613
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PCRStateSave
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 562
      functionLinenumberEnd: 596
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          126
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - CryptHashGetDigestSize
        - GetPcrPointer
        - GetSavedPcrPointer
        - MemoryCopy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:577,17'
          Dst:             GetPcrPointer
        - Src:             'PCR.c:581,7'
          Dst:             CryptHashGetDigestSize
        - Src:             'PCR.c:587,8'
          Dst:             GetSavedPcrPointer
        - Src:             'PCR.c:589,9'
          Dst:             MemoryCopy
    - functionName:    GetSavedPcrPointer
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          64
      EdgeCount:       18
      CyclomaticComplexity: 10
      functionsReached:
        - TpmFail
      functionUses:    2
      BranchProfiles:
        - Branch String:   'PCR.c:280,5'
          Branch Sides:    []
      Callsites:
        - Src:             'PCR.c:310,5'
          Dst:             TpmFail
    - functionName:    PCRChanged
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 650
      functionLinenumberEnd: 659
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          50
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - PCRBelongsTCBGroup
        - TpmFail
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:653,29'
          Dst:             PCRBelongsTCBGroup
        - Src:             'PCR.c:657,3'
          Dst:             TpmFail
    - functionName:    PCRStartup
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 485
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         44
      ICount:          237
      EdgeCount:       58
      CyclomaticComplexity: 16
      functionsReached:
        - CryptHashGetDigestSize
        - GetPcrPointer
        - GetSavedPcrPointer
        - MemoryCopy
        - MemorySet
        - PCRChanged
        - PCR_ClearAuth
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:509,7'
          Dst:             PCRChanged
        - Src:             'PCR.c:519,34'
          Dst:             GetPcrPointer
        - Src:             'PCR.c:520,34'
          Dst:             CryptHashGetDigestSize
        - Src:             'PCR.c:528,24'
          Dst:             GetSavedPcrPointer
        - Src:             'PCR.c:531,9'
          Dst:             MemoryCopy
        - Src:             'PCR.c:540,6'
          Dst:             MemorySet
        - Src:             'PCR.c:543,10'
          Dst:             MemorySet
        - Src:             'PCR.c:554,2'
          Dst:             PCR_ClearAuth
    - functionName:    PCR_ClearAuth
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 469
      functionLinenumberEnd: 477
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          27
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PCRExtend
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 691
      functionLinenumberEnd: 707
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate
        - CryptHashEnd
        - CryptHashGetDigestSize
        - CryptHashStart
        - GetPcrPointer
        - PCRChanged
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:695,15'
          Dst:             GetPcrPointer
        - Src:             'PCR.c:699,16'
          Dst:             CryptHashGetDigestSize
        - Src:             'PCR.c:700,6'
          Dst:             CryptHashStart
        - Src:             'PCR.c:701,6'
          Dst:             CryptDigestUpdate
        - Src:             'PCR.c:702,6'
          Dst:             CryptDigestUpdate
        - Src:             'PCR.c:703,6'
          Dst:             CryptHashEnd
        - Src:             'PCR.c:705,6'
          Dst:             PCRChanged
    - functionName:    PcrDrtm
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 447
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - GetPcrPointer
        - MemorySet
        - PCRExtend
        - TPMIsStarted
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:448,28'
          Dst:             GetPcrPointer
        - Src:             'PCR.c:452,6'
          Dst:             MemorySet
        - Src:             'PCR.c:454,10'
          Dst:             TPMIsStarted
        - Src:             'PCR.c:459,6'
          Dst:             PCRExtend
    - functionName:    PCRSimStart
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 267
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         19
      ICount:          107
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - CryptHashGetAlgByIndex
        - NvWrite
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:257,5'
          Dst:             CryptHashGetAlgByIndex
        - Src:             'PCR.c:265,5'
          Dst:             NvWrite
        - Src:             'PCR.c:266,5'
          Dst:             NvWrite
    - functionName:    PCRGetAuthPolicy
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - PCRBelongsPolicyGroup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:217,8'
          Dst:             PCRBelongsPolicyGroup
    - functionName:    PCRGetAuthValue
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 205
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - PCRBelongsAuthGroup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:197,8'
          Dst:             PCRBelongsAuthGroup
    - functionName:    PCRPolicyIsAvailable
      functionSourceFile: '/src/ibmswtpm2/src/PCR.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - PCRBelongsPolicyGroup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'PCR.c:186,12'
          Dst:             PCRBelongsPolicyGroup
    - functionName:    PhysicalPresenceCapGetCCList
      functionSourceFile: '/src/ibmswtpm2/src/PP.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          100
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - GetClosestCommandIndex
        - GetCommandCode
        - GetNextCommandIndex
        - PhysicalPresenceIsRequired
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PP.c:158,24'
          Dst:             GetClosestCommandIndex
        - Src:             'PP.c:162,9'
          Dst:             PhysicalPresenceIsRequired
        - Src:             'PP.c:169,7'
          Dst:             GetCommandCode
        - Src:             'PP.c:160,17'
          Dst:             GetNextCommandIndex
    - functionName:    PhysicalPresenceIsRequired
      functionSourceFile: '/src/ibmswtpm2/src/PP.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TestBit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'PP.c:136,13'
          Dst:             TestBit
    - functionName:    PhysicalPresenceCommandClear
      functionSourceFile: '/src/ibmswtpm2/src/PP.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ClearBit
        - CommandCodeToCommandIndex
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PP.c:116,40'
          Dst:             CommandCodeToCommandIndex
        - Src:             'PP.c:122,2'
          Dst:             ClearBit
    - functionName:    PhysicalPresenceCommandSet
      functionSourceFile: '/src/ibmswtpm2/src/PP.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CommandCodeToCommandIndex
        - SetBit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PP.c:100,40'
          Dst:             CommandCodeToCommandIndex
        - Src:             'PP.c:106,2'
          Dst:             SetBit
    - functionName:    PhysicalPresencePreInstall_Init
      functionSourceFile: '/src/ibmswtpm2/src/PP.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          65
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - MemorySet
        - NvWrite
        - SetBit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PP.c:81,5'
          Dst:             MemorySet
        - Src:             'PP.c:87,3'
          Dst:             SetBit
        - Src:             'PP.c:90,5'
          Dst:             NvWrite
    - functionName:    _plat__Signal_PhysicalPresenceOff
      functionSourceFile: '/src/ibmswtpm2/src/PPPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__Signal_PhysicalPresenceOn
      functionSourceFile: '/src/ibmswtpm2/src/PPPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__PhysicalPresenceAsserted
      functionSourceFile: '/src/ibmswtpm2/src/PPPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PolicySptCheckCondition
      functionSourceFile: '/src/ibmswtpm2/src/Policy_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          273
      EdgeCount:       32
      CyclomaticComplexity: 4
      functionsReached:
        - SignedCompareB
        - TpmFail
        - UnsignedCompareB
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Policy_spt.c:228,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Policy_spt.c:232,14'
          Dst:             UnsignedCompareB
        - Src:             'Policy_spt.c:236,14'
          Dst:             UnsignedCompareB
        - Src:             'Policy_spt.c:240,14'
          Dst:             SignedCompareB
        - Src:             'Policy_spt.c:244,14'
          Dst:             UnsignedCompareB
        - Src:             'Policy_spt.c:248,14'
          Dst:             SignedCompareB
        - Src:             'Policy_spt.c:252,14'
          Dst:             UnsignedCompareB
        - Src:             'Policy_spt.c:256,14'
          Dst:             SignedCompareB
        - Src:             'Policy_spt.c:260,14'
          Dst:             UnsignedCompareB
        - Src:             'Policy_spt.c:264,14'
          Dst:             SignedCompareB
        - Src:             'Policy_spt.c:268,14'
          Dst:             UnsignedCompareB
        - Src:             'Policy_spt.c:289,6'
          Dst:             TpmFail
    - functionName:    PolicyDigestClear
      functionSourceFile: '/src/ibmswtpm2/src/Policy_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHashGetDigestSize
        - MemorySet
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Policy_spt.c:215,39'
          Dst:             CryptHashGetDigestSize
        - Src:             'Policy_spt.c:216,5'
          Dst:             MemorySet
    - functionName:    ComputeAuthTimeout
      functionSourceFile: '/src/ibmswtpm2/src/Policy_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          67
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PolicyContextUpdate
      functionSourceFile: '/src/ibmswtpm2/src/Policy_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          162
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashGetDigestSize
        - CryptHashStart
        - TpmFail
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'Policy_spt.c:130,5'
          Dst:             CryptHashStart
        - Src:             'Policy_spt.c:132,5'
          Dst:             CryptHashGetDigestSize
        - Src:             'Policy_spt.c:132,5'
          Dst:             TpmFail
        - Src:             'Policy_spt.c:135,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'Policy_spt.c:137,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'Policy_spt.c:140,2'
          Dst:             CryptDigestUpdate2B
        - Src:             'Policy_spt.c:142,5'
          Dst:             CryptHashEnd2B
        - Src:             'Policy_spt.c:147,6'
          Dst:             CryptHashStart
        - Src:             'Policy_spt.c:149,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'Policy_spt.c:151,6'
          Dst:             CryptDigestUpdate2B
        - Src:             'Policy_spt.c:153,6'
          Dst:             CryptHashEnd2B
    - functionName:    PolicyParameterChecks
      functionSourceFile: '/src/ibmswtpm2/src/Policy_spt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          177
      EdgeCount:       45
      CyclomaticComplexity: 14
      functionsReached:
        - MemoryEqual2B
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Policy_spt.c:85,10'
          Dst:             MemoryEqual2B
        - Src:             'Policy_spt.c:110,13'
          Dst:             MemoryEqual2B
    - functionName:    TPMIsStarted
      functionSourceFile: '/src/ibmswtpm2/src/Power.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPMRegisterStartup
      functionSourceFile: '/src/ibmswtpm2/src/Power.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPMInit
      functionSourceFile: '/src/ibmswtpm2/src/Power.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__Signal_PowerOff
      functionSourceFile: '/src/ibmswtpm2/src/PowerPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _plat__NVDisable
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PowerPlat.c:124,5'
          Dst:             _plat__NVDisable
    - functionName:    _plat__Signal_Reset
      functionSourceFile: '/src/ibmswtpm2/src/PowerPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _TPM_Init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PowerPlat.c:111,5'
          Dst:             _TPM_Init
    - functionName:    _plat__WasPowerLost
      functionSourceFile: '/src/ibmswtpm2/src/PowerPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__Signal_PowerOn
      functionSourceFile: '/src/ibmswtpm2/src/PowerPlat.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _plat__TimerReset
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PowerPlat.c:76,5'
          Dst:             _plat__TimerReset
    - functionName:    TPMPropertyIsDefined
      functionSourceFile: '/src/ibmswtpm2/src/PropertyCap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 545
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         103
      ICount:          624
      EdgeCount:       112
      CyclomaticComplexity: 11
      functionsReached:
        - ByteArrayToUint32
        - NvCapGetCounterAvail
        - NvCapGetCounterNumber
        - NvCapGetIndexNumber
        - NvCapGetPersistentAvail
        - NvCapGetPersistentNumber
        - ObjectCapGetTransientAvail
        - SessionCapGetActiveAvail
        - SessionCapGetActiveNumber
        - SessionCapGetLoadedAvail
        - SessionCapGetLoadedNumber
      functionUses:    1
      BranchProfiles:
        - Branch String:   'PropertyCap.c:82,5'
          Branch Sides:    []
      Callsites:
        - Src:             'PropertyCap.c:107,15'
          Dst:             ByteArrayToUint32
        - Src:             'PropertyCap.c:111,15'
          Dst:             ByteArrayToUint32
        - Src:             'PropertyCap.c:116,15'
          Dst:             ByteArrayToUint32
        - Src:             'PropertyCap.c:446,15'
          Dst:             NvCapGetIndexNumber
        - Src:             'PropertyCap.c:451,15'
          Dst:             SessionCapGetLoadedNumber
        - Src:             'PropertyCap.c:456,15'
          Dst:             SessionCapGetLoadedAvail
        - Src:             'PropertyCap.c:461,15'
          Dst:             SessionCapGetActiveNumber
        - Src:             'PropertyCap.c:466,15'
          Dst:             SessionCapGetActiveAvail
        - Src:             'PropertyCap.c:471,15'
          Dst:             ObjectCapGetTransientAvail
        - Src:             'PropertyCap.c:476,15'
          Dst:             NvCapGetPersistentNumber
        - Src:             'PropertyCap.c:481,15'
          Dst:             NvCapGetPersistentAvail
        - Src:             'PropertyCap.c:486,15'
          Dst:             NvCapGetCounterNumber
        - Src:             'PropertyCap.c:491,15'
          Dst:             NvCapGetCounterAvail
    - functionName:    TPMCapGetProperties
      functionSourceFile: '/src/ibmswtpm2/src/PropertyCap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 560
      functionLinenumberEnd: 604
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          165
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - TPMPropertyIsDefined
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'PropertyCap.c:584,9'
          Dst:             TPMPropertyIsDefined
    - functionName:    TPM2_StirRandom
      functionSourceFile: '/src/ibmswtpm2/src/RandomCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptRandomStir
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'RandomCommands.c:91,5'
          Dst:             CryptRandomStir
    - functionName:    TPM2_GetRandom
      functionSourceFile: '/src/ibmswtpm2/src/RandomCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptRandomGenerate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'RandomCommands.c:78,5'
          Dst:             CryptRandomGenerate
    - functionName:    BuildResponseHeader
      functionSourceFile: '/src/ibmswtpm2/src/Response.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          124
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - TPM_HANDLE_Marshal
        - TPM_RC_Marshal
        - TPM_ST_Marshal
        - UINT32_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Response.c:94,5'
          Dst:             TPM_ST_Marshal
        - Src:             'Response.c:95,5'
          Dst:             UINT32_Marshal
        - Src:             'Response.c:96,5'
          Dst:             TPM_RC_Marshal
        - Src:             'Response.c:100,3'
          Dst:             TPM_HANDLE_Marshal
        - Src:             'Response.c:102,3'
          Dst:             UINT32_Marshal
    - functionName:    RcSafeAddToResult
      functionSourceFile: '/src/ibmswtpm2/src/ResponseCodeProcessing.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          39
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    20
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__RunCommand
      functionSourceFile: '/src/ibmswtpm2/src/RunCommand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ExecuteCommand
        - _setjmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'RunCommand.c:95,5'
          Dst:             _setjmp
        - Src:             'RunCommand.c:96,5'
          Dst:             ExecuteCommand
    - functionName:    _setjmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__Fail
      functionSourceFile: '/src/ibmswtpm2/src/RunCommand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          2
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - longjmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'RunCommand.c:105,5'
          Dst:             longjmp
    - functionName:    longjmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SessionCapGetActiveAvail
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 818
      functionLinenumberEnd: 826
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          44
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SessionCapGetActiveNumber
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 800
      functionLinenumberEnd: 808
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          44
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SessionCapGetLoadedAvail
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 790
      functionLinenumberEnd: 791
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SessionCapGetLoadedNumber
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 778
      functionLinenumberEnd: 779
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SessionCapGetSaved
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 732
      functionLinenumberEnd: 770
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          126
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - HandleGetType
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Session.c:736,5'
          Dst:             HandleGetType
        - Src:             'Session.c:736,5'
          Dst:             TpmFail
    - functionName:    SessionCapGetLoaded
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 678
      functionLinenumberEnd: 718
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          151
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - HandleGetType
        - SessionGet
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Session.c:681,5'
          Dst:             HandleGetType
        - Src:             'Session.c:681,5'
          Dst:             TpmFail
        - Src:             'Session.c:702,19'
          Dst:             SessionGet
    - functionName:    SessionGet
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 250
      functionLinenumberEnd: 262
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          77
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - HandleGetType
        - TpmFail
      functionUses:    39
      BranchProfiles:  []
      Callsites:
        - Src:             'Session.c:253,5'
          Dst:             HandleGetType
        - Src:             'Session.c:253,5'
          Dst:             HandleGetType
        - Src:             'Session.c:253,5'
          Dst:             TpmFail
        - Src:             'Session.c:257,5'
          Dst:             TpmFail
        - Src:             'Session.c:261,5'
          Dst:             TpmFail
    - functionName:    SessionResetPolicyData
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 638
      functionLinenumberEnd: 664
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          104
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - MemorySet
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Session.c:640,5'
          Dst:             TpmFail
        - Src:             'Session.c:646,5'
          Dst:             MemorySet
        - Src:             'Session.c:654,5'
          Dst:             MemorySet
        - Src:             'Session.c:657,5'
          Dst:             MemorySet
    - functionName:    SessionFlush
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 554
      functionLinenumberEnd: 586
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          122
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - ContextIdSetOldest
        - HandleGetType
        - SessionIsLoaded
        - SessionIsSaved
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Session.c:557,5'
          Dst:             HandleGetType
        - Src:             'Session.c:557,5'
          Dst:             HandleGetType
        - Src:             'Session.c:557,5'
          Dst:             SessionIsLoaded
        - Src:             'Session.c:557,5'
          Dst:             SessionIsSaved
        - Src:             'Session.c:557,5'
          Dst:             TpmFail
        - Src:             'Session.c:565,5'
          Dst:             TpmFail
        - Src:             'Session.c:576,3'
          Dst:             ContextIdSetOldest
    - functionName:    SessionIsLoaded
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          82
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - HandleGetType
        - TpmFail
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'Session.c:166,5'
          Dst:             HandleGetType
        - Src:             'Session.c:166,5'
          Dst:             HandleGetType
        - Src:             'Session.c:166,5'
          Dst:             TpmFail
    - functionName:    SessionIsSaved
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          82
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - HandleGetType
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Session.c:190,5'
          Dst:             HandleGetType
        - Src:             'Session.c:190,5'
          Dst:             HandleGetType
        - Src:             'Session.c:190,5'
          Dst:             TpmFail
    - functionName:    ContextIdSetOldest
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          74
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SessionContextLoad
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 510
      functionLinenumberEnd: 545
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         34
      ICount:          192
      EdgeCount:       43
      CyclomaticComplexity: 11
      functionsReached:
        - ContextIdSetOldest
        - HandleGetType
        - MemoryCopy
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Session.c:513,5'
          Dst:             HandleGetType
        - Src:             'Session.c:513,5'
          Dst:             HandleGetType
        - Src:             'Session.c:513,5'
          Dst:             TpmFail
        - Src:             'Session.c:522,5'
          Dst:             TpmFail
        - Src:             'Session.c:531,5'
          Dst:             TpmFail
        - Src:             'Session.c:537,2'
          Dst:             ContextIdSetOldest
        - Src:             'Session.c:539,5'
          Dst:             MemoryCopy
    - functionName:    SessionContextSave
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 495
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          153
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - SessionIsLoaded
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Session.c:454,5'
          Dst:             SessionIsLoaded
        - Src:             'Session.c:454,5'
          Dst:             TpmFail
        - Src:             'Session.c:466,5'
          Dst:             TpmFail
    - functionName:    SessionComputeBoundEntity
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 599
      functionLinenumberEnd: 618
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          80
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - EntityGetAuthValue
        - EntityGetName
        - MemorySet
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Session.c:604,5'
          Dst:             EntityGetName
        - Src:             'Session.c:610,5'
          Dst:             EntityGetAuthValue
        - Src:             'Session.c:612,5'
          Dst:             MemorySet
    - functionName:    SessionSetStartTime
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 626
      functionLinenumberEnd: 630
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ContextIdSessionCreate
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 315
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          106
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Session.c:285,5'
          Dst:             TpmFail
    - functionName:    SessionCreate
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - char
        - short
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          396
      EdgeCount:       63
      CyclomaticComplexity: 16
      functionsReached:
        - ContextIdSessionCreate
        - CryptHashGetDigestSize
        - CryptKDFa
        - CryptRandomGenerate
        - EntityGetAuthValue
        - IsDAExempted
        - MemoryConcat2B
        - MemoryCopy2B
        - MemorySet
        - SessionComputeBoundEntity
        - SessionSetStartTime
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Session.c:340,5'
          Dst:             TpmFail
        - Src:             'Session.c:358,2'
          Dst:             TpmFail
        - Src:             'Session.c:361,14'
          Dst:             ContextIdSessionCreate
        - Src:             'Session.c:369,5'
          Dst:             MemorySet
        - Src:             'Session.c:384,6'
          Dst:             SessionSetStartTime
        - Src:             'Session.c:389,3'
          Dst:             CryptHashGetDigestSize
        - Src:             'Session.c:393,5'
          Dst:             CryptRandomGenerate
        - Src:             'Session.c:394,5'
          Dst:             MemoryCopy2B
        - Src:             'Session.c:409,35'
          Dst:             CryptHashGetDigestSize
        - Src:             'Session.c:411,6'
          Dst:             EntityGetAuthValue
        - Src:             'Session.c:412,6'
          Dst:             TpmFail
        - Src:             'Session.c:414,6'
          Dst:             MemoryConcat2B
        - Src:             'Session.c:416,6'
          Dst:             CryptKDFa
        - Src:             'Session.c:426,6'
          Dst:             SessionComputeBoundEntity
        - Src:             'Session.c:431,13'
          Dst:             IsDAExempted
    - functionName:    SessionPCRValueIsCurrent
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          36
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SequenceNumberForSavedContextIsValid
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          81
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SessionStartup
      functionSourceFile: '/src/ibmswtpm2/src/Session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          113
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - ContextIdSetOldest
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Session.c:139,6'
          Dst:             ContextIdSetOldest
    - functionName:    TPM2_PolicyRestart
      functionSourceFile: '/src/ibmswtpm2/src/SessionCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SessionGet
        - SessionResetPolicyData
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionCommands.c:172,28'
          Dst:             SessionGet
        - Src:             'SessionCommands.c:172,5'
          Dst:             SessionResetPolicyData
    - functionName:    TPM2_StartAuthSession
      functionSourceFile: '/src/ibmswtpm2/src/SessionCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         42
      ICount:          289
      EdgeCount:       56
      CyclomaticComplexity: 16
      functionsReached:
        - CryptHashGetDigestSize
        - CryptIsAsymAlgorithm
        - CryptSecretDecrypt
        - HandleGetType
        - HandleToObject
        - NvGetIndexInfo
        - SessionCreate
      functionUses:    0
      BranchProfiles:
        - Branch String:   'SessionCommands.c:116,5'
          Branch Sides:    []
      Callsites:
        - Src:             'SessionCommands.c:78,36'
          Dst:             CryptHashGetDigestSize
        - Src:             'SessionCommands.c:84,15'
          Dst:             HandleToObject
        - Src:             'SessionCommands.c:89,10'
          Dst:             CryptIsAsymAlgorithm
        - Src:             'SessionCommands.c:104,15'
          Dst:             CryptSecretDecrypt
        - Src:             'SessionCommands.c:116,12'
          Dst:             HandleGetType
        - Src:             'SessionCommands.c:120,27'
          Dst:             HandleToObject
        - Src:             'SessionCommands.c:135,31'
          Dst:             NvGetIndexInfo
        - Src:             'SessionCommands.c:157,14'
          Dst:             SessionCreate
    - functionName:    UpdateInternalSession
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1817
      functionLinenumberEnd: 1828
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - HandleGetType
        - SessionResetPolicyData
        - SessionSetStartTime
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1820,8'
          Dst:             HandleGetType
        - Src:             'SessionProcess.c:1825,6'
          Dst:             SessionResetPolicyData
        - Src:             'SessionProcess.c:1826,6'
          Dst:             SessionSetStartTime
    - functionName:    ComputeResponseHMAC
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1761
      functionLinenumberEnd: 1807
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          122
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ComputeRpHash
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - EntityGetAuthValue
        - MemoryConcat2B
        - MemoryCopy2B
        - TPMA_SESSION_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1768,31'
          Dst:             ComputeRpHash
        - Src:             'SessionProcess.c:1770,5'
          Dst:             MemoryCopy2B
        - Src:             'SessionProcess.c:1782,6'
          Dst:             EntityGetAuthValue
        - Src:             'SessionProcess.c:1784,6'
          Dst:             MemoryConcat2B
        - Src:             'SessionProcess.c:1795,20'
          Dst:             CryptHmacStart2B
        - Src:             'SessionProcess.c:1797,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'SessionProcess.c:1798,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'SessionProcess.c:1799,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'SessionProcess.c:1802,19'
          Dst:             TPMA_SESSION_Marshal
        - Src:             'SessionProcess.c:1803,5'
          Dst:             CryptDigestUpdate
        - Src:             'SessionProcess.c:1805,5'
          Dst:             CryptHmacEnd2B
    - functionName:    ComputeRpHash
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1576
      functionLinenumberEnd: 1592
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          57
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - GetRpHashPointer
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1577,31'
          Dst:             GetRpHashPointer
        - Src:             'SessionProcess.c:1583,23'
          Dst:             CryptHashStart
        - Src:             'SessionProcess.c:1585,6'
          Dst:             CryptDigestUpdateInt
        - Src:             'SessionProcess.c:1586,6'
          Dst:             CryptDigestUpdateInt
        - Src:             'SessionProcess.c:1587,6'
          Dst:             CryptDigestUpdate
        - Src:             'SessionProcess.c:1590,6'
          Dst:             CryptHashEnd2B
    - functionName:    GetRpHashPointer
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 577
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       14
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'SessionProcess.c:551,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    GetCpHash
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 622
      functionLinenumberEnd: 626
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          36
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - GetCpHashPointer
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:623,35'
          Dst:             GetCpHashPointer
        - Src:             'SessionProcess.c:625,5'
          Dst:             TpmFail
    - functionName:    GetCpHashPointer
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 515
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       14
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'SessionProcess.c:516,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    UpdateAuditDigest
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1621
      functionLinenumberEnd: 1638
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          52
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - ComputeRpHash
        - CryptDigestUpdate2B
        - CryptHashEnd2B
        - CryptHashStart
        - GetCpHash
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1623,31'
          Dst:             GetCpHash
        - Src:             'SessionProcess.c:1624,31'
          Dst:             ComputeRpHash
        - Src:             'SessionProcess.c:1626,5'
          Dst:             TpmFail
        - Src:             'SessionProcess.c:1629,22'
          Dst:             CryptHashStart
        - Src:             'SessionProcess.c:1631,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'SessionProcess.c:1633,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'SessionProcess.c:1635,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'SessionProcess.c:1637,5'
          Dst:             CryptHashEnd2B
    - functionName:    Audit
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1646
      functionLinenumberEnd: 1649
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpdateAuditDigest
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1647,5'
          Dst:             UpdateAuditDigest
    - functionName:    InitAuditSession
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1600
      functionLinenumberEnd: 1611
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          42
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptHashGetDigestSize
        - MemorySet
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1606,38'
          Dst:             CryptHashGetDigestSize
        - Src:             'SessionProcess.c:1608,5'
          Dst:             MemorySet
    - functionName:    ComputeCommandHMAC
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 735
      functionLinenumberEnd: 821
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          253
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - ComputeCpHash
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - EntityGetAuthValue
        - MemoryConcat2B
        - MemoryCopy2B
        - SessionGet
        - TPMA_SESSION_Marshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:761,6'
          Dst:             SessionGet
        - Src:             'SessionProcess.c:771,6'
          Dst:             SessionGet
        - Src:             'SessionProcess.c:776,15'
          Dst:             SessionGet
        - Src:             'SessionProcess.c:778,5'
          Dst:             MemoryCopy2B
        - Src:             'SessionProcess.c:790,6'
          Dst:             EntityGetAuthValue
        - Src:             'SessionProcess.c:792,6'
          Dst:             MemoryConcat2B
        - Src:             'SessionProcess.c:802,20'
          Dst:             CryptHmacStart2B
        - Src:             'SessionProcess.c:805,5'
          Dst:             ComputeCpHash
        - Src:             'SessionProcess.c:804,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'SessionProcess.c:807,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'SessionProcess.c:808,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'SessionProcess.c:810,2'
          Dst:             CryptDigestUpdate2B
        - Src:             'SessionProcess.c:812,2'
          Dst:             CryptDigestUpdate2B
        - Src:             'SessionProcess.c:815,19'
          Dst:             TPMA_SESSION_Marshal
        - Src:             'SessionProcess.c:817,5'
          Dst:             CryptDigestUpdate
        - Src:             'SessionProcess.c:819,5'
          Dst:             CryptHmacEnd2B
    - functionName:    ComputeCpHash
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 585
      functionLinenumberEnd: 613
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          83
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - CryptDigestUpdate
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHashEnd2B
        - CryptHashStart
        - EntityGetName
        - GetCpHashPointer
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:597,14'
          Dst:             GetCpHashPointer
        - Src:             'SessionProcess.c:600,23'
          Dst:             CryptHashStart
        - Src:             'SessionProcess.c:602,6'
          Dst:             CryptDigestUpdateInt
        - Src:             'SessionProcess.c:605,36'
          Dst:             EntityGetName
        - Src:             'SessionProcess.c:605,3'
          Dst:             CryptDigestUpdate2B
        - Src:             'SessionProcess.c:608,6'
          Dst:             CryptDigestUpdate
        - Src:             'SessionProcess.c:611,6'
          Dst:             CryptHashEnd2B
    - functionName:    IncrementLockout
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         37
      ICount:          179
      EdgeCount:       48
      CyclomaticComplexity: 13
      functionsReached:
        - DARegisterFailure
        - IsDAExempted
        - NvWrite
        - SessionGet
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:130,9'
          Dst:             IsDAExempted
        - Src:             'SessionProcess.c:135,16'
          Dst:             SessionGet
        - Src:             'SessionProcess.c:143,13'
          Dst:             IsDAExempted
        - Src:             'SessionProcess.c:150,6'
          Dst:             TpmFail
        - Src:             'SessionProcess.c:159,4'
          Dst:             NvWrite
        - Src:             'SessionProcess.c:172,4'
          Dst:             NvWrite
        - Src:             'SessionProcess.c:179,5'
          Dst:             DARegisterFailure
    - functionName:    IsDAExempted
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          71
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - HandleGetType
        - NvGetIndexInfo
        - ObjectGetPublicAttributes
      functionUses:    4
      BranchProfiles:
        - Branch String:   'SessionProcess.c:83,5'
          Branch Sides:    []
      Callsites:
        - Src:             'SessionProcess.c:83,12'
          Dst:             HandleGetType
        - Src:             'SessionProcess.c:94,34'
          Dst:             ObjectGetPublicAttributes
        - Src:             'SessionProcess.c:100,36'
          Dst:             NvGetIndexInfo
    - functionName:    CompareTemplateHash
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 637
      functionLinenumberEnd: 673
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          123
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - CryptHashBlock
        - MemoryEqual2B
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:654,8'
          Dst:             UINT16_Unmarshal
        - Src:             'SessionProcess.c:664,8'
          Dst:             UINT16_Unmarshal
        - Src:             'SessionProcess.c:670,20'
          Dst:             CryptHashBlock
        - Src:             'SessionProcess.c:672,12'
          Dst:             MemoryEqual2B
    - functionName:    CheckPWAuthSession
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 709
      functionLinenumberEnd: 726
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - EntityGetAuthValue
        - IncrementLockout
        - MemoryEqual2B
        - MemoryRemoveTrailingZeros
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:713,5'
          Dst:             MemoryRemoveTrailingZeros
        - Src:             'SessionProcess.c:715,5'
          Dst:             EntityGetAuthValue
        - Src:             'SessionProcess.c:717,8'
          Dst:             MemoryEqual2B
        - Src:             'SessionProcess.c:724,13'
          Dst:             IncrementLockout
    - functionName:    CheckPolicyAuthSession
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 877
      functionLinenumberEnd: 996
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         76
      ICount:          461
      EdgeCount:       105
      CyclomaticComplexity: 31
      functionsReached:
        - CommandAuthRole
        - CompareNameHash
        - CompareTemplateHash
        - ComputeCpHash
        - EntityGetAuthPolicy
        - HandleGetType
        - MemoryEqual2B
        - NvGetIndexInfo
        - SessionGet
        - SessionPCRValueIsCurrent
        - TPMA_LOCALITY_Marshal
        - _plat__LocalityGet
        - _plat__PhysicalPresenceAsserted
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:883,15'
          Dst:             SessionGet
        - Src:             'SessionProcess.c:891,9'
          Dst:             SessionPCRValueIsCurrent
        - Src:             'SessionProcess.c:894,17'
          Dst:             EntityGetAuthPolicy
        - Src:             'SessionProcess.c:897,9'
          Dst:             MemoryEqual2B
        - Src:             'SessionProcess.c:925,25'
          Dst:             CommandAuthRole
        - Src:             'SessionProcess.c:935,2'
          Dst:             TPMA_LOCALITY_Marshal
        - Src:             'SessionProcess.c:940,14'
          Dst:             _plat__LocalityGet
        - Src:             'SessionProcess.c:963,12'
          Dst:             _plat__PhysicalPresenceAsserted
        - Src:             'SessionProcess.c:973,9'
          Dst:             ComputeCpHash
        - Src:             'SessionProcess.c:972,8'
          Dst:             MemoryEqual2B
        - Src:             'SessionProcess.c:975,8'
          Dst:             CompareTemplateHash
        - Src:             'SessionProcess.c:977,8'
          Dst:             CompareNameHash
        - Src:             'SessionProcess.c:986,9'
          Dst:             HandleGetType
        - Src:             'SessionProcess.c:989,16'
          Dst:             NvGetIndexInfo
    - functionName:    CompareNameHash
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 681
      functionLinenumberEnd: 696
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          64
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd2B
        - CryptHashStart
        - EntityGetName
        - MemoryEqual
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:687,23'
          Dst:             CryptHashStart
        - Src:             'SessionProcess.c:690,35'
          Dst:             EntityGetName
        - Src:             'SessionProcess.c:690,2'
          Dst:             CryptDigestUpdate2B
        - Src:             'SessionProcess.c:693,5'
          Dst:             CryptHashEnd2B
        - Src:             'SessionProcess.c:695,12'
          Dst:             MemoryEqual
    - functionName:    IsAuthPolicyAvailable
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 478
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          217
      EdgeCount:       61
      CyclomaticComplexity: 12
      functionsReached:
        - HandleGetType
        - HandleToObject
        - IsPolicySessionRequired
        - IsWriteOperation
        - NvGetIndexInfo
        - ObjectIsSequence
        - PCRPolicyIsAvailable
      functionUses:    1
      BranchProfiles:
        - Branch String:   'SessionProcess.c:399,5'
          Branch Sides:    []
        - Branch String:   'SessionProcess.c:402,6'
          Branch Sides:    []
      Callsites:
        - Src:             'SessionProcess.c:399,12'
          Dst:             HandleGetType
        - Src:             'SessionProcess.c:430,23'
          Dst:             HandleToObject
        - Src:             'SessionProcess.c:437,10'
          Dst:             ObjectIsSequence
        - Src:             'SessionProcess.c:445,33'
          Dst:             NvGetIndexInfo
        - Src:             'SessionProcess.c:453,9'
          Dst:             IsPolicySessionRequired
        - Src:             'SessionProcess.c:457,14'
          Dst:             IsWriteOperation
        - Src:             'SessionProcess.c:472,9'
          Dst:             PCRPolicyIsAvailable
    - functionName:    IsPolicySessionRequired
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          123
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - CommandAuthRole
        - HandleGetType
        - HandleToObject
        - PCRGetAuthPolicy
        - PCRPolicyIsAvailable
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:225,28'
          Dst:             CommandAuthRole
        - Src:             'SessionProcess.c:226,28'
          Dst:             HandleGetType
        - Src:             'SessionProcess.c:237,29'
          Dst:             HandleToObject
        - Src:             'SessionProcess.c:246,9'
          Dst:             PCRPolicyIsAvailable
        - Src:             'SessionProcess.c:250,19'
          Dst:             PCRGetAuthPolicy
    - functionName:    IsAuthValueAvailable
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 273
      functionLinenumberEnd: 380
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          239
      EdgeCount:       61
      CyclomaticComplexity: 12
      functionsReached:
        - CommandAuthRole
        - HandleGetType
        - HandleToObject
        - IsWriteOperation
        - NvGetIndexInfo
        - NvGetUINT64Data
        - ObjectIsSequence
        - TpmFail
      functionUses:    1
      BranchProfiles:
        - Branch String:   'SessionProcess.c:276,5'
          Branch Sides:    []
        - Branch String:   'SessionProcess.c:279,6'
          Branch Sides:    []
      Callsites:
        - Src:             'SessionProcess.c:276,12'
          Dst:             HandleGetType
        - Src:             'SessionProcess.c:312,14'
          Dst:             HandleToObject
        - Src:             'SessionProcess.c:318,8'
          Dst:             ObjectIsSequence
        - Src:             'SessionProcess.c:329,9'
          Dst:             CommandAuthRole
        - Src:             'SessionProcess.c:338,32'
          Dst:             NvGetIndexInfo
        - Src:             'SessionProcess.c:341,5'
          Dst:             TpmFail
        - Src:             'SessionProcess.c:343,8'
          Dst:             IsWriteOperation
        - Src:             'SessionProcess.c:361,20'
          Dst:             NvGetUINT64Data
    - functionName:    IsSessionBindEntity
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - MemoryEqual2B
        - SessionComputeBoundEntity
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:198,6'
          Dst:             SessionComputeBoundEntity
        - Src:             'SessionProcess.c:200,13'
          Dst:             MemoryEqual2B
    - functionName:    SessionRemoveAssociationToHandle
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1979
      functionLinenumberEnd: 1988
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          44
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BuildSingleResponseAuth
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1838
      functionLinenumberEnd: 1850
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          68
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ComputeResponseHMAC
        - HandleGetType
        - SessionGet
        - UpdateInternalSession
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1840,28'
          Dst:             SessionGet
        - Src:             'SessionProcess.c:1843,8'
          Dst:             HandleGetType
        - Src:             'SessionProcess.c:1848,2'
          Dst:             ComputeResponseHMAC
        - Src:             'SessionProcess.c:1849,5'
          Dst:             UpdateInternalSession
    - functionName:    CommandAudit
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1658
      functionLinenumberEnd: 1684
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          50
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CryptHashGetDigestSize
        - MemorySet
        - NvWrite
        - UpdateAuditDigest
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1674,37'
          Dst:             CryptHashGetDigestSize
        - Src:             'SessionProcess.c:1675,6'
          Dst:             MemorySet
        - Src:             'SessionProcess.c:1680,6'
          Dst:             NvWrite
        - Src:             'SessionProcess.c:1682,5'
          Dst:             UpdateAuditDigest
    - functionName:    UpdateAuditSessionStatus
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1697
      functionLinenumberEnd: 1750
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          169
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - Audit
        - InitAuditSession
        - IsSessionAllowed
        - SessionGet
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1708,16'
          Dst:             SessionGet
        - Src:             'SessionProcess.c:1720,8'
          Dst:             InitAuditSession
        - Src:             'SessionProcess.c:1740,7'
          Dst:             Audit
        - Src:             'SessionProcess.c:1746,45'
          Dst:             IsSessionAllowed
    - functionName:    UpdateAllNonceTPM
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1858
      functionLinenumberEnd: 1872
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          66
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - CryptRandomGenerate
        - SessionGet
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1866,17'
          Dst:             SessionGet
        - Src:             'SessionProcess.c:1868,7'
          Dst:             CryptRandomGenerate
    - functionName:    BuildResponseSession
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1886
      functionLinenumberEnd: 1970
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         32
      ICount:          249
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached:
        - BuildSingleResponseAuth
        - CommandAudit
        - CommandAuditIsRequired
        - CryptParameterEncryption
        - EncryptSize
        - EntityGetAuthValue
        - SessionFlush
        - TPM2B_DIGEST_Marshal
        - TPM2B_NONCE_Marshal
        - TPMA_SESSION_Marshal
        - TpmFail
        - UpdateAllNonceTPM
        - UpdateAuditSessionStatus
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1887,5'
          Dst:             TpmFail
        - Src:             'SessionProcess.c:1895,6'
          Dst:             UpdateAllNonceTPM
        - Src:             'SessionProcess.c:1912,8'
          Dst:             EntityGetAuthValue
        - Src:             'SessionProcess.c:1915,14'
          Dst:             EncryptSize
        - Src:             'SessionProcess.c:1916,7'
          Dst:             CryptParameterEncryption
        - Src:             'SessionProcess.c:1925,5'
          Dst:             UpdateAuditSessionStatus
        - Src:             'SessionProcess.c:1928,8'
          Dst:             CommandAuditIsRequired
        - Src:             'SessionProcess.c:1929,2'
          Dst:             CommandAudit
        - Src:             'SessionProcess.c:1935,6'
          Dst:             TpmFail
        - Src:             'SessionProcess.c:1955,19'
          Dst:             BuildSingleResponseAuth
        - Src:             'SessionProcess.c:1957,28'
          Dst:             TPM2B_NONCE_Marshal
        - Src:             'SessionProcess.c:1960,28'
          Dst:             TPMA_SESSION_Marshal
        - Src:             'SessionProcess.c:1963,28'
          Dst:             TPM2B_DIGEST_Marshal
        - Src:             'SessionProcess.c:1967,4'
          Dst:             SessionFlush
    - functionName:    CheckAuthNoSession
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1542
      functionLinenumberEnd: 1563
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          81
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - CheckCommandAudit
        - CommandAuditIsRequired
        - CommandAuthRole
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1548,9'
          Dst:             CommandAuthRole
        - Src:             'SessionProcess.c:1553,8'
          Dst:             CommandAuditIsRequired
        - Src:             'SessionProcess.c:1555,15'
          Dst:             CheckCommandAudit
    - functionName:    CheckCommandAudit
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1369
      functionLinenumberEnd: 1382
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          58
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ComputeCpHash
        - GetCommandCode
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1375,11'
          Dst:             GetCommandCode
        - Src:             'SessionProcess.c:1380,5'
          Dst:             ComputeCpHash
    - functionName:    CheckSessionHMAC
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 837
      functionLinenumberEnd: 850
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ComputeCommandHMAC
        - IncrementLockout
        - MemoryEqual2B
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:840,4'
          Dst:             ComputeCommandHMAC
        - Src:             'SessionProcess.c:842,9'
          Dst:             MemoryEqual2B
        - Src:             'SessionProcess.c:847,13'
          Dst:             IncrementLockout
    - functionName:    CheckAuthSession
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1232
      functionLinenumberEnd: 1356
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         72
      ICount:          434
      EdgeCount:       96
      CyclomaticComplexity: 26
      functionsReached:
        - CheckLockedOut
        - CheckPWAuthSession
        - CheckPolicyAuthSession
        - CheckSessionHMAC
        - HandleGetType
        - IsAuthPolicyAvailable
        - IsAuthValueAvailable
        - IsDAExempted
        - IsPolicySessionRequired
        - IsSessionBindEntity
        - NvGetIndexInfo
        - NvGetUINT64Data
        - NvWriteUINT64Data
        - PhysicalPresenceIsRequired
        - SessionGet
        - TpmFail
        - _plat__PhysicalPresenceAsserted
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1237,42'
          Dst:             HandleGetType
        - Src:             'SessionProcess.c:1238,5'
          Dst:             TpmFail
        - Src:             'SessionProcess.c:1244,9'
          Dst:             PhysicalPresenceIsRequired
        - Src:             'SessionProcess.c:1245,13'
          Dst:             _plat__PhysicalPresenceAsserted
        - Src:             'SessionProcess.c:1250,16'
          Dst:             SessionGet
        - Src:             'SessionProcess.c:1266,5'
          Dst:             IsSessionBindEntity
        - Src:             'SessionProcess.c:1275,10'
          Dst:             IsDAExempted
        - Src:             'SessionProcess.c:1278,16'
          Dst:             CheckLockedOut
        - Src:             'SessionProcess.c:1287,9'
          Dst:             IsPolicySessionRequired
        - Src:             'SessionProcess.c:1292,10'
          Dst:             IsAuthValueAvailable
        - Src:             'SessionProcess.c:1300,10'
          Dst:             IsAuthPolicyAvailable
        - Src:             'SessionProcess.c:1303,15'
          Dst:             CheckPolicyAuthSession
        - Src:             'SessionProcess.c:1309,11'
          Dst:             CheckPWAuthSession
        - Src:             'SessionProcess.c:1311,11'
          Dst:             CheckSessionHMAC
        - Src:             'SessionProcess.c:1320,27'
          Dst:             HandleGetType
        - Src:             'SessionProcess.c:1323,33'
          Dst:             NvGetIndexInfo
        - Src:             'SessionProcess.c:1326,6'
          Dst:             TpmFail
        - Src:             'SessionProcess.c:1333,24'
          Dst:             NvGetUINT64Data
        - Src:             'SessionProcess.c:1338,7'
          Dst:             NvWriteUINT64Data
        - Src:             'SessionProcess.c:1350,24'
          Dst:             NvGetUINT64Data
        - Src:             'SessionProcess.c:1352,7'
          Dst:             NvWriteUINT64Data
    - functionName:    CheckLockedOut
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1168
      functionLinenumberEnd: 1210
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          118
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - NvWrite
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1180,6'
          Dst:             NvWrite
        - Src:             'SessionProcess.c:1181,6'
          Dst:             NvWrite
        - Src:             'SessionProcess.c:1204,7'
          Dst:             NvWrite
    - functionName:    RetrieveSessionData
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1009
      functionLinenumberEnd: 1154
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         87
      ICount:          575
      EdgeCount:       122
      CyclomaticComplexity: 37
      functionsReached:
        - DecryptSize
        - EncryptSize
        - HandleGetType
        - SessionGet
        - SessionIsLoaded
        - TPM2B_AUTH_Unmarshal
        - TPM2B_NONCE_Unmarshal
        - TPMA_SESSION_Unmarshal
        - TPMI_SH_AUTH_SESSION_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1032,15'
          Dst:             TPMI_SH_AUTH_SESSION_Unmarshal
        - Src:             'SessionProcess.c:1039,15'
          Dst:             TPM2B_NONCE_Unmarshal
        - Src:             'SessionProcess.c:1045,15'
          Dst:             TPMA_SESSION_Unmarshal
        - Src:             'SessionProcess.c:1051,15'
          Dst:             TPM2B_AUTH_Unmarshal
        - Src:             'SessionProcess.c:1074,10'
          Dst:             SessionIsLoaded
        - Src:             'SessionProcess.c:1076,20'
          Dst:             HandleGetType
        - Src:             'SessionProcess.c:1077,16'
          Dst:             SessionGet
        - Src:             'SessionProcess.c:1096,10'
          Dst:             DecryptSize
        - Src:             'SessionProcess.c:1112,10'
          Dst:             EncryptSize
        - Src:             'SessionProcess.c:1131,10'
          Dst:             HandleGetType
    - functionName:    ParseSessionBuffer
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1395
      functionLinenumberEnd: 1532
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         74
      ICount:          505
      EdgeCount:       100
      CyclomaticComplexity: 28
      functionsReached:
        - CheckAuthSession
        - CheckCommandAudit
        - CheckLockedOut
        - CheckSessionHMAC
        - CommandAuditIsRequired
        - CommandAuthRole
        - ComputeCpHash
        - CryptParameterDecryption
        - DecryptSize
        - EntityGetAuthValue
        - IsSessionAllowed
        - RcSafeAddToResult
        - RetrieveSessionData
        - SessionGet
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'SessionProcess.c:1404,9'
          Dst:             IsSessionAllowed
        - Src:             'SessionProcess.c:1408,14'
          Dst:             RetrieveSessionData
        - Src:             'SessionProcess.c:1413,5'
          Dst:             TpmFail
        - Src:             'SessionProcess.c:1417,9'
          Dst:             CommandAuthRole
        - Src:             'SessionProcess.c:1449,17'
          Dst:             SessionGet
        - Src:             'SessionProcess.c:1460,17'
          Dst:             CheckLockedOut
        - Src:             'SessionProcess.c:1466,4'
          Dst:             ComputeCpHash
        - Src:             'SessionProcess.c:1471,16'
          Dst:             CheckAuthSession
        - Src:             'SessionProcess.c:1473,11'
          Dst:             RcSafeAddToResult
        - Src:             'SessionProcess.c:1484,7'
          Dst:             TpmFail
        - Src:             'SessionProcess.c:1487,16'
          Dst:             CheckSessionHMAC
        - Src:             'SessionProcess.c:1489,11'
          Dst:             RcSafeAddToResult
        - Src:             'SessionProcess.c:1495,8'
          Dst:             CommandAuditIsRequired
        - Src:             'SessionProcess.c:1497,15'
          Dst:             CheckCommandAudit
        - Src:             'SessionProcess.c:1514,7'
          Dst:             EntityGetAuthValue
        - Src:             'SessionProcess.c:1521,13'
          Dst:             DecryptSize
        - Src:             'SessionProcess.c:1522,15'
          Dst:             CryptParameterDecryption
        - Src:             'SessionProcess.c:1528,10'
          Dst:             RcSafeAddToResult
    - functionName:    ClearCpRpHashes
      functionSourceFile: '/src/ibmswtpm2/src/SessionProcess.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 507
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          38
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPM2_Sign
      functionSourceFile: '/src/ibmswtpm2/src/SigningCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          137
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - CryptHashGetDigestSize
        - CryptSelectSignScheme
        - CryptSign
        - HandleToObject
        - IsSigningObject
        - MemoryEqual2B
        - TicketComputeHashCheck
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'SigningCommands.c:115,43'
          Dst:             HandleToObject
        - Src:             'SigningCommands.c:118,9'
          Dst:             IsSigningObject
        - Src:             'SigningCommands.c:122,9'
          Dst:             CryptSelectSignScheme
        - Src:             'SigningCommands.c:129,6'
          Dst:             TicketComputeHashCheck
        - Src:             'SigningCommands.c:132,10'
          Dst:             MemoryEqual2B
        - Src:             'SigningCommands.c:142,12'
          Dst:             CryptHashGetDigestSize
        - Src:             'SigningCommands.c:148,14'
          Dst:             CryptSign
    - functionName:    TPM2_VerifySignature
      functionSourceFile: '/src/ibmswtpm2/src/SigningCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          111
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - CryptValidateSignature
        - GetHeriarchy
        - HandleToObject
        - RcSafeAddToResult
        - TicketComputeVerified
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'SigningCommands.c:72,43'
          Dst:             HandleToObject
        - Src:             'SigningCommands.c:80,14'
          Dst:             CryptValidateSignature
        - Src:             'SigningCommands.c:82,9'
          Dst:             RcSafeAddToResult
        - Src:             'SigningCommands.c:84,17'
          Dst:             GetHeriarchy
        - Src:             'SigningCommands.c:97,6'
          Dst:             TicketComputeVerified
    - functionName:    TPM2_Shutdown
      functionSourceFile: '/src/ibmswtpm2/src/StartupCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          115
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - NvUpdateIndexOrderlyData
        - NvWrite
        - PCRStateSave
        - TpmFail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'StartupCommands.c:290,5'
          Dst:             PCRStateSave
        - Src:             'StartupCommands.c:292,5'
          Dst:             NvUpdateIndexOrderlyData
        - Src:             'StartupCommands.c:298,5'
          Dst:             NvWrite
        - Src:             'StartupCommands.c:302,6'
          Dst:             NvWrite
        - Src:             'StartupCommands.c:303,6'
          Dst:             NvWrite
        - Src:             'StartupCommands.c:313,6'
          Dst:             NvWrite
        - Src:             'StartupCommands.c:316,2'
          Dst:             TpmFail
        - Src:             'StartupCommands.c:317,5'
          Dst:             NvWrite
    - functionName:    TPM2_Startup
      functionSourceFile: '/src/ibmswtpm2/src/StartupCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         46
      ICount:          287
      EdgeCount:       59
      CyclomaticComplexity: 15
      functionsReached:
        - CommandAuditStartup
        - CryptStartup
        - DAStartup
        - HierarchyStartup
        - NvEntityStartup
        - NvRead
        - NvWrite
        - ObjectStartup
        - PCRStartup
        - SessionStartup
        - TPMRegisterStartup
        - TimeStartup
        - TpmFail
        - _plat__GetUnique
        - _plat__LocalityGet
      functionUses:    0
      BranchProfiles:
        - Branch String:   'StartupCommands.c:218,5'
          Branch Sides:    []
      Callsites:
        - Src:             'StartupCommands.c:118,37'
          Dst:             _plat__LocalityGet
        - Src:             'StartupCommands.c:179,6'
          Dst:             NvRead
        - Src:             'StartupCommands.c:185,14'
          Dst:             NvRead
        - Src:             'StartupCommands.c:197,5'
          Dst:             CryptStartup
        - Src:             'StartupCommands.c:200,5'
          Dst:             TPMRegisterStartup
        - Src:             'StartupCommands.c:204,12'
          Dst:             _plat__GetUnique
        - Src:             'StartupCommands.c:208,5'
          Dst:             TimeStartup
        - Src:             'StartupCommands.c:210,5'
          Dst:             DAStartup
        - Src:             'StartupCommands.c:212,5'
          Dst:             HierarchyStartup
        - Src:             'StartupCommands.c:214,5'
          Dst:             PCRStartup
        - Src:             'StartupCommands.c:216,5'
          Dst:             CommandAuditStartup
        - Src:             'StartupCommands.c:238,6'
          Dst:             NvWrite
        - Src:             'StartupCommands.c:248,3'
          Dst:             TpmFail
        - Src:             'StartupCommands.c:250,6'
          Dst:             NvWrite
        - Src:             'StartupCommands.c:256,5'
          Dst:             SessionStartup
        - Src:             'StartupCommands.c:258,5'
          Dst:             ObjectStartup
        - Src:             'StartupCommands.c:261,5'
          Dst:             NvEntityStartup
        - Src:             'StartupCommands.c:264,5'
          Dst:             NvWrite
    - functionName:    _TPM_Init
      functionSourceFile: '/src/ibmswtpm2/src/StartupCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptInit
        - NvPowerOn
        - NvRead
        - NvReadPersistent
        - TPMInit
        - TimePowerOn
        - _plat__WasPowerLost
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'StartupCommands.c:71,39'
          Dst:             _plat__WasPowerLost
        - Src:             'StartupCommands.c:88,5'
          Dst:             TPMInit
        - Src:             'StartupCommands.c:94,14'
          Dst:             NvPowerOn
        - Src:             'StartupCommands.c:96,24'
          Dst:             CryptInit
        - Src:             'StartupCommands.c:100,6'
          Dst:             NvReadPersistent
        - Src:             'StartupCommands.c:103,6'
          Dst:             NvRead
        - Src:             'StartupCommands.c:105,6'
          Dst:             TimePowerOn
    - functionName:    TPM2_MAC
      functionSourceFile: '/src/ibmswtpm2/src/SymmetricCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          130
      EdgeCount:       22
      CyclomaticComplexity: 8
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHmacEnd2B
        - CryptMacStart
        - CryptSelectMac
        - HandleToObject
        - RcSafeAddToResult
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'SymmetricCommands.c:320,17'
          Dst:             HandleToObject
        - Src:             'SymmetricCommands.c:324,14'
          Dst:             CryptSelectMac
        - Src:             'SymmetricCommands.c:330,9'
          Dst:             RcSafeAddToResult
        - Src:             'SymmetricCommands.c:338,26'
          Dst:             CryptMacStart
        - Src:             'SymmetricCommands.c:344,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'SymmetricCommands.c:346,8'
          Dst:             CryptHmacEnd2B
    - functionName:    TPM2_Hash
      functionSourceFile: '/src/ibmswtpm2/src/SymmetricCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          108
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - CryptDigestUpdate2B
        - CryptHashEnd2B
        - CryptHashStart
        - TicketComputeHashCheck
        - TicketIsSafe
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'SymmetricCommands.c:215,27'
          Dst:             CryptHashStart
        - Src:             'SymmetricCommands.c:217,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'SymmetricCommands.c:219,5'
          Dst:             CryptHashEnd2B
        - Src:             'SymmetricCommands.c:230,10'
          Dst:             TicketIsSafe
        - Src:             'SymmetricCommands.c:239,6'
          Dst:             TicketComputeHashCheck
    - functionName:    TPM2_EncryptDecrypt2
      functionSourceFile: '/src/ibmswtpm2/src/SymmetricCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - EncryptDecryptShared
      functionUses:    0
      BranchProfiles:
        - Branch String:   'SymmetricCommands.c:185,5'
          Branch Sides:    []
      Callsites:
        - Src:             'SymmetricCommands.c:181,14'
          Dst:             EncryptDecryptShared
    - functionName:    TPM2_EncryptDecrypt
      functionSourceFile: '/src/ibmswtpm2/src/SymmetricCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - EncryptDecryptShared
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'SymmetricCommands.c:75,12'
          Dst:             EncryptDecryptShared
    - functionName:    _rpc__Shutdown
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _rpc__RsaKeyCacheControl
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 301
      functionLinenumberEnd: 307
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _rpc__Signal_NvOff
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _plat__ClearNvAvail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmdp.c:291,5'
          Dst:             _plat__ClearNvAvail
    - functionName:    _rpc__Signal_NvOn
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 281
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _plat__SetNvAvail
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmdp.c:279,5'
          Dst:             _plat__SetNvAvail
    - functionName:    _rpc__Signal_CancelOff
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 268
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _plat__ClearCancel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmdp.c:266,5'
          Dst:             _plat__ClearCancel
    - functionName:    _rpc__Signal_CancelOn
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _plat__SetCancel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmdp.c:253,5'
          Dst:             _plat__SetCancel
    - functionName:    _rpc__Send_Command
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - char
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _plat__LocalitySet
        - _plat__RunCommand
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmdp.c:235,5'
          Dst:             _plat__LocalitySet
        - Src:             'TPMCmdp.c:237,5'
          Dst:             _plat__RunCommand
    - functionName:    _rpc__Signal_HashEnd
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _TPM_Hash_End
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmdp.c:216,5'
          Dst:             _TPM_Hash_End
    - functionName:    _rpc__Signal_Hash_Data
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 205
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _TPM_Hash_Data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmdp.c:203,5'
          Dst:             _TPM_Hash_Data
    - functionName:    _rpc__Signal_Hash_Start
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _TPM_Hash_Start
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmdp.c:190,5'
          Dst:             _TPM_Hash_Start
    - functionName:    _rpc__Signal_PhysicalPresenceOff
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _plat__Signal_PhysicalPresenceOff
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmdp.c:177,5'
          Dst:             _plat__Signal_PhysicalPresenceOff
    - functionName:    _rpc__Signal_PhysicalPresenceOn
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _plat__Signal_PhysicalPresenceOn
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmdp.c:164,5'
          Dst:             _plat__Signal_PhysicalPresenceOn
    - functionName:    _rpc__ForceFailureMode
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SetForceFailureMode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmdp.c:152,5'
          Dst:             SetForceFailureMode
    - functionName:    _rpc__Signal_PowerOff
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          25
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _plat__Signal_PowerOff
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmdp.c:139,5'
          Dst:             _plat__Signal_PowerOff
    - functionName:    _rpc__Signal_Restart
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _plat__TimerRestart
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmdp.c:127,5'
          Dst:             _plat__TimerRestart
    - functionName:    _rpc__Signal_PowerOn
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmdp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          69
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _plat__Signal_PowerOn
        - _plat__Signal_Reset
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmdp.c:113,2'
          Dst:             _plat__Signal_PowerOn
        - Src:             'TPMCmdp.c:115,5'
          Dst:             _plat__Signal_Reset
    - functionName:    tpm_server_main
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         37
      ICount:          208
      EdgeCount:       46
      CyclomaticComplexity: 11
      functionsReached:
        - StartTcpServer
        - TPM_Manufacture
        - TPM_TearDown
        - Usage
        - _plat__NVDisable
        - _plat__NVEnable
        - _rpc__Signal_NvOn
        - _rpc__Signal_PowerOn
        - atoi
        - exit
        - fclose
        - fopen
        - printf
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmds.c:131,6'
          Dst:             strcmp
        - Src:             'TPMCmds.c:134,11'
          Dst:             strcmp
        - Src:             'TPMCmds.c:137,13'
          Dst:             atoi
        - Src:             'TPMCmds.c:139,7'
          Dst:             Usage
        - Src:             'TPMCmds.c:143,3'
          Dst:             printf
        - Src:             'TPMCmds.c:144,3'
          Dst:             Usage
        - Src:             'TPMCmds.c:147,11'
          Dst:             strcmp
        - Src:             'TPMCmds.c:148,6'
          Dst:             Usage
        - Src:             'TPMCmds.c:151,6'
          Dst:             printf
        - Src:             'TPMCmds.c:152,6'
          Dst:             Usage
        - Src:             'TPMCmds.c:157,15'
          Dst:             fopen
        - Src:             'TPMCmds.c:162,6'
          Dst:             fclose
        - Src:             'TPMCmds.c:165,5'
          Dst:             _plat__NVEnable
        - Src:             'TPMCmds.c:167,5'
          Dst:             TPM_Manufacture
        - Src:             'TPMCmds.c:169,3'
          Dst:             exit
        - Src:             'TPMCmds.c:172,5'
          Dst:             TPM_Manufacture
        - Src:             'TPMCmds.c:174,3'
          Dst:             exit
        - Src:             'TPMCmds.c:177,2'
          Dst:             TPM_TearDown
        - Src:             'TPMCmds.c:178,5'
          Dst:             TPM_Manufacture
        - Src:             'TPMCmds.c:180,3'
          Dst:             exit
        - Src:             'TPMCmds.c:184,5'
          Dst:             _plat__NVDisable
        - Src:             'TPMCmds.c:186,5'
          Dst:             _rpc__Signal_PowerOn
        - Src:             'TPMCmds.c:187,5'
          Dst:             _rpc__Signal_NvOn
        - Src:             'TPMCmds.c:189,5'
          Dst:             StartTcpServer
    - functionName:    strcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    atoi
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Usage
      functionSourceFile: '/src/ibmswtpm2/src/TPMCmds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - exit
        - fprintf
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'TPMCmds.c:99,5'
          Dst:             fprintf
        - Src:             'TPMCmds.c:100,5'
          Dst:             fprintf
        - Src:             'TPMCmds.c:101,5'
          Dst:             fprintf
        - Src:             'TPMCmds.c:103,5'
          Dst:             fprintf
        - Src:             'TPMCmds.c:105,5'
          Dst:             fprintf
        - Src:             'TPMCmds.c:106,5'
          Dst:             fprintf
        - Src:             'TPMCmds.c:107,5'
          Dst:             exit
    - functionName:    printf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    28
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPM2_GetTestResult
      functionSourceFile: '/src/ibmswtpm2/src/TestingCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptGetTestResult
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'TestingCommands.c:105,23'
          Dst:             CryptGetTestResult
    - functionName:    TPM2_IncrementalSelfTest
      functionSourceFile: '/src/ibmswtpm2/src/TestingCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptIncrementalSelfTest
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'TestingCommands.c:89,14'
          Dst:             CryptIncrementalSelfTest
    - functionName:    TPM2_SelfTest
      functionSourceFile: '/src/ibmswtpm2/src/TestingCommands.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptSelfTest
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'TestingCommands.c:72,12'
          Dst:             CryptSelfTest
    - functionName:    TicketComputeCreation
      functionSourceFile: '/src/ibmswtpm2/src/Ticket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - HierarchyGetProof
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Ticket.c:219,13'
          Dst:             HierarchyGetProof
        - Src:             'Ticket.c:224,29'
          Dst:             CryptHmacStart2B
        - Src:             'Ticket.c:227,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'Ticket.c:230,2'
          Dst:             CryptDigestUpdate2B
        - Src:             'Ticket.c:232,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'Ticket.c:234,5'
          Dst:             CryptHmacEnd2B
    - functionName:    TicketComputeHashCheck
      functionSourceFile: '/src/ibmswtpm2/src/Ticket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          51
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - HierarchyGetProof
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Ticket.c:189,13'
          Dst:             HierarchyGetProof
        - Src:             'Ticket.c:194,29'
          Dst:             CryptHmacStart2B
        - Src:             'Ticket.c:197,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'Ticket.c:199,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'Ticket.c:201,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'Ticket.c:203,5'
          Dst:             CryptHmacEnd2B
    - functionName:    TicketComputeAuth
      functionSourceFile: '/src/ibmswtpm2/src/Ticket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - short
        - int
        - size_t
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          93
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - HierarchyGetProof
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Ticket.c:144,13'
          Dst:             HierarchyGetProof
        - Src:             'Ticket.c:149,29'
          Dst:             CryptHmacStart2B
        - Src:             'Ticket.c:152,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'Ticket.c:154,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'Ticket.c:156,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'Ticket.c:158,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'Ticket.c:160,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'Ticket.c:164,6'
          Dst:             CryptDigestUpdateInt
        - Src:             'Ticket.c:168,3'
          Dst:             CryptDigestUpdateInt
        - Src:             'Ticket.c:172,5'
          Dst:             CryptHmacEnd2B
    - functionName:    TicketComputeVerified
      functionSourceFile: '/src/ibmswtpm2/src/Ticket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          51
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CryptDigestUpdate2B
        - CryptDigestUpdateInt
        - CryptHmacEnd2B
        - CryptHmacStart2B
        - HierarchyGetProof
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Ticket.c:111,13'
          Dst:             HierarchyGetProof
        - Src:             'Ticket.c:113,29'
          Dst:             CryptHmacStart2B
        - Src:             'Ticket.c:116,5'
          Dst:             CryptDigestUpdateInt
        - Src:             'Ticket.c:118,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'Ticket.c:120,5'
          Dst:             CryptDigestUpdate2B
        - Src:             'Ticket.c:122,5'
          Dst:             CryptHmacEnd2B
    - functionName:    TicketIsSafe
      functionSourceFile: '/src/ibmswtpm2/src/Ticket.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - MemoryEqual
        - TPM_GENERATED_Marshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Ticket.c:89,5'
          Dst:             TPM_GENERATED_Marshal
        - Src:             'Ticket.c:90,8'
          Dst:             MemoryEqual
    - functionName:    TimeFillInfo
      functionSourceFile: '/src/ibmswtpm2/src/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 253
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          37
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TimeGetMarshaled
      functionSourceFile: '/src/ibmswtpm2/src/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TPMS_TIME_INFO_Marshal
        - TimeFillInfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Time.c:243,5'
          Dst:             TimeFillInfo
        - Src:             'Time.c:245,12'
          Dst:             TPMS_TIME_INFO_Marshal
    - functionName:    TimeSetAdjustRate
      functionSourceFile: '/src/ibmswtpm2/src/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          57
      EdgeCount:       22
      CyclomaticComplexity: 12
      functionsReached:
        - TpmFail
        - _plat__ClockAdjustRate
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Time.c:203,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Time.c:206,6'
          Dst:             _plat__ClockAdjustRate
        - Src:             'Time.c:209,6'
          Dst:             _plat__ClockAdjustRate
        - Src:             'Time.c:212,6'
          Dst:             _plat__ClockAdjustRate
        - Src:             'Time.c:215,6'
          Dst:             _plat__ClockAdjustRate
        - Src:             'Time.c:218,6'
          Dst:             _plat__ClockAdjustRate
        - Src:             'Time.c:221,6'
          Dst:             _plat__ClockAdjustRate
        - Src:             'Time.c:226,6'
          Dst:             TpmFail
    - functionName:    TimeUpdateToCurrent
      functionSourceFile: '/src/ibmswtpm2/src/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          33
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMIsStarted
        - TimeUpdate
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Time.c:192,29'
          Dst:             TPMIsStarted
        - Src:             'Time.c:194,5'
          Dst:             TimeUpdate
    - functionName:    TimeUpdate
      functionSourceFile: '/src/ibmswtpm2/src/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - DASelfHeal
        - TimeClockUpdate
        - TimeNewEpoch
        - _plat__TimerRead
        - _plat__TimerWasStopped
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Time.c:160,8'
          Dst:             _plat__TimerWasStopped
        - Src:             'Time.c:162,6'
          Dst:             TimeNewEpoch
        - Src:             'Time.c:166,15'
          Dst:             _plat__TimerRead
        - Src:             'Time.c:171,5'
          Dst:             TimeClockUpdate
        - Src:             'Time.c:173,5'
          Dst:             DASelfHeal
    - functionName:    TimeNewEpoch
      functionSourceFile: '/src/ibmswtpm2/src/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - NvWrite
        - _plat__TimerWasStopped
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Time.c:96,5'
          Dst:             NvWrite
        - Src:             'Time.c:99,5'
          Dst:             _plat__TimerWasStopped
    - functionName:    TimeClockUpdate
      functionSourceFile: '/src/ibmswtpm2/src/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          43
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - NvWrite
        - TpmFail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Time.c:134,6'
          Dst:             TpmFail
        - Src:             'Time.c:139,6'
          Dst:             NvWrite
    - functionName:    TimeStartup
      functionSourceFile: '/src/ibmswtpm2/src/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          22
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TimePowerOn
      functionSourceFile: '/src/ibmswtpm2/src/Time.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _plat__TimerRead
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Time.c:80,14'
          Dst:             _plat__TimerRead
    - functionName:    MarshalUint32
      functionSourceFile: '/src/ibmswtpm2/src/TpmFail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Marshal
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmFail.c:147,12'
          Dst:             UINT32_Marshal
    - functionName:    MarshalUint16
      functionSourceFile: '/src/ibmswtpm2/src/TpmFail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT16_Marshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmFail.c:137,12'
          Dst:             UINT16_Marshal
    - functionName:    UnmarshalHeader
      functionSourceFile: '/src/ibmswtpm2/src/TpmFail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          68
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - UINT16_Unmarshal
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmFail.c:160,8'
          Dst:             UINT16_Unmarshal
        - Src:             'TpmFail.c:161,11'
          Dst:             UINT32_Unmarshal
        - Src:             'TpmFail.c:162,11'
          Dst:             UINT32_Unmarshal
    - functionName:    TpmFailureMode
      functionSourceFile: '/src/ibmswtpm2/src/TpmFail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 398
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         68
      ICount:          367
      EdgeCount:       86
      CyclomaticComplexity: 20
      functionsReached:
        - MarshalUint16
        - MarshalUint32
        - TPM_Manufacture
        - UINT32_Unmarshal
        - UnmarshalHeader
      functionUses:    1
      BranchProfiles:
        - Branch String:   'TpmFail.c:246,5'
          Branch Sides:    []
        - Branch String:   'TpmFail.c:309,3'
          Branch Sides:    []
      Callsites:
        - Src:             'TpmFail.c:241,9'
          Dst:             UnmarshalHeader
        - Src:             'TpmFail.c:253,20'
          Dst:             MarshalUint16
        - Src:             'TpmFail.c:254,21'
          Dst:             MarshalUint32
        - Src:             'TpmFail.c:255,21'
          Dst:             MarshalUint32
        - Src:             'TpmFail.c:256,21'
          Dst:             MarshalUint32
        - Src:             'TpmFail.c:258,18'
          Dst:             MarshalUint32
        - Src:             'TpmFail.c:260,18'
          Dst:             MarshalUint32
        - Src:             'TpmFail.c:267,30'
          Dst:             UINT32_Unmarshal
        - Src:             'TpmFail.c:270,30'
          Dst:             UINT32_Unmarshal
        - Src:             'TpmFail.c:272,30'
          Dst:             UINT32_Unmarshal
        - Src:             'TpmFail.c:285,7'
          Dst:             TPM_Manufacture
        - Src:             'TpmFail.c:303,21'
          Dst:             MarshalUint32
        - Src:             'TpmFail.c:305,21'
          Dst:             MarshalUint32
        - Src:             'TpmFail.c:307,21'
          Dst:             MarshalUint32
        - Src:             'TpmFail.c:375,21'
          Dst:             MarshalUint32
        - Src:             'TpmFail.c:384,5'
          Dst:             MarshalUint16
        - Src:             'TpmFail.c:385,5'
          Dst:             MarshalUint32
        - Src:             'TpmFail.c:386,5'
          Dst:             MarshalUint32
        - Src:             'TpmFail.c:392,19'
          Dst:             MarshalUint16
        - Src:             'TpmFail.c:393,20'
          Dst:             MarshalUint32
        - Src:             'TpmFail.c:394,20'
          Dst:             MarshalUint32
    - functionName:    SetForceFailureMode
      functionSourceFile: '/src/ibmswtpm2/src/TpmFail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TpmFail
      functionSourceFile: '/src/ibmswtpm2/src/TpmFail.c'
      linkageType:     InternalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - _plat__Fail
      functionUses:    286
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmFail.c:217,5'
          Dst:             _plat__Fail
    - functionName:    TpmSizeChecks
      functionSourceFile: '/src/ibmswtpm2/src/TpmSizeChecks.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnEccAdd
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 577
      functionLinenumberEnd: 587
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          64
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - EC_POINT_add
        - EC_POINT_free
        - EC_POINT_new
        - EcPointInitialized
        - PointFromOssl
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslMath.c:578,31'
          Dst:             EC_POINT_new
        - Src:             'TpmToOsslMath.c:579,31'
          Dst:             EcPointInitialized
        - Src:             'TpmToOsslMath.c:580,31'
          Dst:             EcPointInitialized
        - Src:             'TpmToOsslMath.c:582,5'
          Dst:             EC_POINT_add
        - Src:             'TpmToOsslMath.c:583,5'
          Dst:             PointFromOssl
        - Src:             'TpmToOsslMath.c:584,5'
          Dst:             EC_POINT_free
        - Src:             'TpmToOsslMath.c:585,5'
          Dst:             EC_POINT_free
        - Src:             'TpmToOsslMath.c:586,5'
          Dst:             EC_POINT_free
    - functionName:    EC_POINT_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EcPointInitialized
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 429
      functionLinenumberEnd: 439
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          111
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - BN_free
        - BigInitialized
        - EC_POINT_new
        - EC_POINT_set_affine_coordinates_GFp
        - TpmFail
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslMath.c:430,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:431,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:433,11'
          Dst:             EC_POINT_new
        - Src:             'TpmToOsslMath.c:434,5'
          Dst:             TpmFail
        - Src:             'TpmToOsslMath.c:436,2'
          Dst:             EC_POINT_set_affine_coordinates_GFp
        - Src:             'TpmToOsslMath.c:437,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:438,5'
          Dst:             BN_free
    - functionName:    EC_POINT_add
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PointFromOssl
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 399
      functionLinenumberEnd: 420
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          90
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - BN_CTX_end
        - BN_CTX_get
        - BN_CTX_start
        - BnSetWord
        - EC_POINT_get_affine_coordinates_GFp
        - OsslToTpmBn
        - TpmFail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslMath.c:403,5'
          Dst:             BN_CTX_start
        - Src:             'TpmToOsslMath.c:405,9'
          Dst:             BN_CTX_get
        - Src:             'TpmToOsslMath.c:406,9'
          Dst:             BN_CTX_get
        - Src:             'TpmToOsslMath.c:408,2'
          Dst:             TpmFail
        - Src:             'TpmToOsslMath.c:410,10'
          Dst:             EC_POINT_get_affine_coordinates_GFp
        - Src:             'TpmToOsslMath.c:413,6'
          Dst:             OsslToTpmBn
        - Src:             'TpmToOsslMath.c:414,6'
          Dst:             OsslToTpmBn
        - Src:             'TpmToOsslMath.c:415,6'
          Dst:             BnSetWord
        - Src:             'TpmToOsslMath.c:418,2'
          Dst:             BnSetWord
        - Src:             'TpmToOsslMath.c:419,5'
          Dst:             BN_CTX_end
    - functionName:    EC_POINT_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BN_CTX_start
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BN_CTX_get
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EC_POINT_get_affine_coordinates_GFp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    OsslToTpmBn
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - BN_bn2bin
        - BN_num_bits
        - BnFromBytes
        - TpmFail
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslMath.c:92,6'
          Dst:             BN_num_bits
        - Src:             'TpmToOsslMath.c:92,6'
          Dst:             TpmFail
        - Src:             'TpmToOsslMath.c:93,6'
          Dst:             BN_num_bits
        - Src:             'TpmToOsslMath.c:93,6'
          Dst:             TpmFail
        - Src:             'TpmToOsslMath.c:94,19'
          Dst:             BN_bn2bin
        - Src:             'TpmToOsslMath.c:95,6'
          Dst:             BnFromBytes
    - functionName:    BN_CTX_end
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BN_num_bits
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BN_bn2bin
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BigInitialized
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BN_bin2bn
        - BnToBytes
      functionUses:    34
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslMath.c:112,5'
          Dst:             BnToBytes
        - Src:             'TpmToOsslMath.c:113,14'
          Dst:             BN_bin2bn
    - functionName:    EC_POINT_set_affine_coordinates_GFp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BN_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    34
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BN_bin2bn
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnEccModMult2
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 540
      functionLinenumberEnd: 564
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          128
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - BN_free
        - BigInitialized
        - EC_POINT_free
        - EC_POINT_mul
        - EC_POINT_new
        - EC_POINTs_mul
        - EcPointInitialized
        - PointFromOssl
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslMath.c:541,31'
          Dst:             EC_POINT_new
        - Src:             'TpmToOsslMath.c:542,31'
          Dst:             EcPointInitialized
        - Src:             'TpmToOsslMath.c:543,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:544,31'
          Dst:             EcPointInitialized
        - Src:             'TpmToOsslMath.c:545,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:547,2'
          Dst:             EC_POINT_mul
        - Src:             'TpmToOsslMath.c:556,6'
          Dst:             EC_POINTs_mul
        - Src:             'TpmToOsslMath.c:558,5'
          Dst:             PointFromOssl
        - Src:             'TpmToOsslMath.c:559,5'
          Dst:             EC_POINT_free
        - Src:             'TpmToOsslMath.c:560,5'
          Dst:             EC_POINT_free
        - Src:             'TpmToOsslMath.c:561,5'
          Dst:             EC_POINT_free
        - Src:             'TpmToOsslMath.c:562,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:563,5'
          Dst:             BN_free
    - functionName:    EC_POINT_mul
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EC_POINTs_mul
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnEccModMult
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 514
      functionLinenumberEnd: 526
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          83
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BN_free
        - BigInitialized
        - EC_POINT_free
        - EC_POINT_mul
        - EC_POINT_new
        - EcPointInitialized
        - PointFromOssl
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslMath.c:515,31'
          Dst:             EC_POINT_new
        - Src:             'TpmToOsslMath.c:516,31'
          Dst:             EcPointInitialized
        - Src:             'TpmToOsslMath.c:517,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:519,2'
          Dst:             EC_POINT_mul
        - Src:             'TpmToOsslMath.c:521,2'
          Dst:             EC_POINT_mul
        - Src:             'TpmToOsslMath.c:522,5'
          Dst:             PointFromOssl
        - Src:             'TpmToOsslMath.c:523,5'
          Dst:             EC_POINT_free
        - Src:             'TpmToOsslMath.c:524,5'
          Dst:             EC_POINT_free
        - Src:             'TpmToOsslMath.c:525,5'
          Dst:             BN_free
    - functionName:    BnCurveInitialize
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 452
      functionLinenumberEnd: 501
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         55
      ICount:          359
      EdgeCount:       73
      CyclomaticComplexity: 20
      functionsReached:
        - BN_free
        - BigInitialized
        - EC_GROUP_free
        - EC_GROUP_new_curve_GFp
        - EC_GROUP_set_generator
        - EC_POINT_free
        - EC_POINT_new
        - EC_POINT_set_affine_coordinates_GFp
        - GetCurveData
        - OsslContextEnter
        - OsslContextLeave
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslMath.c:455,34'
          Dst:             GetCurveData
        - Src:             'TpmToOsslMath.c:457,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:458,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:459,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:460,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:461,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:462,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:463,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:466,24'
          Dst:             OsslContextEnter
        - Src:             'TpmToOsslMath.c:470,25'
          Dst:             EC_GROUP_new_curve_GFp
        - Src:             'TpmToOsslMath.c:473,22'
          Dst:             EC_POINT_new
        - Src:             'TpmToOsslMath.c:476,6'
          Dst:             EC_POINT_set_affine_coordinates_GFp
        - Src:             'TpmToOsslMath.c:478,16'
          Dst:             EC_GROUP_set_generator
        - Src:             'TpmToOsslMath.c:480,2'
          Dst:             EC_POINT_free
        - Src:             'TpmToOsslMath.c:483,6'
          Dst:             EC_GROUP_free
        - Src:             'TpmToOsslMath.c:488,6'
          Dst:             OsslContextLeave
        - Src:             'TpmToOsslMath.c:494,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:495,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:496,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:497,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:498,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:499,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:500,5'
          Dst:             BN_free
    - functionName:    EC_GROUP_new_curve_GFp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EC_GROUP_set_generator
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnModInverse
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 371
      functionLinenumberEnd: 386
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          65
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BN_free
        - BN_mod_inverse
        - BigInitialized
        - OsslContextEnter
        - OsslContextLeave
        - OsslToTpmBn
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslMath.c:372,5'
          Dst:             OsslContextEnter
        - Src:             'TpmToOsslMath.c:373,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:374,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:375,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:377,11'
          Dst:             BN_mod_inverse
        - Src:             'TpmToOsslMath.c:380,6'
          Dst:             OsslToTpmBn
        - Src:             'TpmToOsslMath.c:382,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:383,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:384,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:385,5'
          Dst:             OsslContextLeave
    - functionName:    BN_mod_inverse
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnModExp
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 361
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          72
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BN_free
        - BN_mod_exp
        - BigInitialized
        - OsslContextEnter
        - OsslContextLeave
        - OsslToTpmBn
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslMath.c:344,5'
          Dst:             OsslContextEnter
        - Src:             'TpmToOsslMath.c:345,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:346,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:347,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:348,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:351,10'
          Dst:             BN_mod_exp
        - Src:             'TpmToOsslMath.c:354,6'
          Dst:             OsslToTpmBn
        - Src:             'TpmToOsslMath.c:356,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:357,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:358,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:359,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:360,5'
          Dst:             OsslContextLeave
    - functionName:    BN_mod_exp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnGcd
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          82
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - BN_free
        - BN_gcd
        - BN_num_bits
        - BigInitialized
        - OsslContextEnter
        - OsslContextLeave
        - OsslToTpmBn
        - TpmFail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslMath.c:315,5'
          Dst:             OsslContextEnter
        - Src:             'TpmToOsslMath.c:316,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:317,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:318,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:320,5'
          Dst:             TpmFail
        - Src:             'TpmToOsslMath.c:321,10'
          Dst:             BN_gcd
        - Src:             'TpmToOsslMath.c:324,6'
          Dst:             OsslToTpmBn
        - Src:             'TpmToOsslMath.c:325,18'
          Dst:             BN_num_bits
        - Src:             'TpmToOsslMath.c:327,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:328,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:329,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:330,5'
          Dst:             OsslContextLeave
    - functionName:    BN_gcd
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnDiv
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 302
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          181
      EdgeCount:       33
      CyclomaticComplexity: 8
      functionsReached:
        - BN_div
        - BN_free
        - BigInitialized
        - BnCopy
        - BnSetWord
        - OsslContextEnter
        - OsslContextLeave
        - OsslToTpmBn
        - TpmFail
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslMath.c:263,5'
          Dst:             OsslContextEnter
        - Src:             'TpmToOsslMath.c:264,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:265,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:266,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:267,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:269,5'
          Dst:             TpmFail
        - Src:             'TpmToOsslMath.c:273,3'
          Dst:             BnSetWord
        - Src:             'TpmToOsslMath.c:275,3'
          Dst:             BnCopy
        - Src:             'TpmToOsslMath.c:280,6'
          Dst:             TpmFail
        - Src:             'TpmToOsslMath.c:283,6'
          Dst:             TpmFail
        - Src:             'TpmToOsslMath.c:285,11'
          Dst:             BN_div
        - Src:             'TpmToOsslMath.c:288,7'
          Dst:             OsslToTpmBn
        - Src:             'TpmToOsslMath.c:289,7'
          Dst:             OsslToTpmBn
        - Src:             'TpmToOsslMath.c:297,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:298,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:299,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:300,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:301,5'
          Dst:             OsslContextLeave
    - functionName:    BN_div
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnMult
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 250
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          89
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - BN_free
        - BN_mul
        - BigInitialized
        - BnCopy
        - BnInit
        - BnSizeInBits
        - OsslContextEnter
        - OsslContextLeave
        - OsslToTpmBn
        - TpmFail
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslMath.c:231,5'
          Dst:             OsslContextEnter
        - Src:             'TpmToOsslMath.c:232,5'
          Dst:             BnInit
        - Src:             'TpmToOsslMath.c:233,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:234,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:235,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:237,5'
          Dst:             BnSizeInBits
        - Src:             'TpmToOsslMath.c:237,5'
          Dst:             BnSizeInBits
        - Src:             'TpmToOsslMath.c:237,5'
          Dst:             TpmFail
        - Src:             'TpmToOsslMath.c:240,10'
          Dst:             BN_mul
        - Src:             'TpmToOsslMath.c:243,6'
          Dst:             OsslToTpmBn
        - Src:             'TpmToOsslMath.c:244,6'
          Dst:             BnCopy
        - Src:             'TpmToOsslMath.c:246,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:247,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:248,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:249,5'
          Dst:             OsslContextLeave
    - functionName:    BN_mul
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BnModMult
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslMath.c'
      linkageType:     InternalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 220
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          131
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - BN_div
        - BN_free
        - BN_mul
        - BN_num_bits
        - BigInitialized
        - BnInit
        - OsslContextEnter
        - OsslContextLeave
        - OsslToTpmBn
        - TpmFail
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslMath.c:198,5'
          Dst:             OsslContextEnter
        - Src:             'TpmToOsslMath.c:199,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:200,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:201,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:202,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:203,5'
          Dst:             BnInit
        - Src:             'TpmToOsslMath.c:203,5'
          Dst:             BnInit
        - Src:             'TpmToOsslMath.c:203,5'
          Dst:             BigInitialized
        - Src:             'TpmToOsslMath.c:205,5'
          Dst:             TpmFail
        - Src:             'TpmToOsslMath.c:206,10'
          Dst:             BN_mul
        - Src:             'TpmToOsslMath.c:207,16'
          Dst:             BN_div
        - Src:             'TpmToOsslMath.c:210,21'
          Dst:             BN_num_bits
        - Src:             'TpmToOsslMath.c:212,6'
          Dst:             OsslToTpmBn
        - Src:             'TpmToOsslMath.c:214,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:215,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:216,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:217,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:218,5'
          Dst:             BN_free
        - Src:             'TpmToOsslMath.c:219,5'
          Dst:             OsslContextLeave
    - functionName:    OsslContextLeave
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslSupport.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BN_CTX_end
        - BN_CTX_free
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslSupport.c:106,6'
          Dst:             BN_CTX_end
        - Src:             'TpmToOsslSupport.c:107,6'
          Dst:             BN_CTX_free
    - functionName:    BN_CTX_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    OsslContextEnter
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslSupport.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         5
      ICount:          28
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - BN_CTX_new
        - BN_CTX_start
        - TpmFail
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'TpmToOsslSupport.c:91,36'
          Dst:             BN_CTX_new
        - Src:             'TpmToOsslSupport.c:93,2'
          Dst:             TpmFail
        - Src:             'TpmToOsslSupport.c:94,5'
          Dst:             BN_CTX_start
    - functionName:    BN_CTX_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SupportLibInit
      functionSourceFile: '/src/ibmswtpm2/src/TpmToOsslSupport.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _plat__GetUnique
      functionSourceFile: '/src/ibmswtpm2/src/Unique.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          123
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPM2B_CREATION_DATA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4400
      functionLinenumberEnd: 4423
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          126
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - TPMS_CREATION_DATA_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4405,7'
          Dst:             UINT16_Unmarshal
        - Src:             'Unmarshal.c:4416,7'
          Dst:             TPMS_CREATION_DATA_Unmarshal
    - functionName:    UINT16_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          56
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    22
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPMS_CREATION_DATA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4369
      functionLinenumberEnd: 4393
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          146
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - TPM2B_DATA_Unmarshal
        - TPM2B_DIGEST_Unmarshal
        - TPM2B_NAME_Unmarshal
        - TPMA_LOCALITY_Unmarshal
        - TPML_PCR_SELECTION_Unmarshal
        - TPM_ALG_ID_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4373,7'
          Dst:             TPML_PCR_SELECTION_Unmarshal
        - Src:             'Unmarshal.c:4376,7'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'Unmarshal.c:4379,7'
          Dst:             TPMA_LOCALITY_Unmarshal
        - Src:             'Unmarshal.c:4382,7'
          Dst:             TPM_ALG_ID_Unmarshal
        - Src:             'Unmarshal.c:4385,7'
          Dst:             TPM2B_NAME_Unmarshal
        - Src:             'Unmarshal.c:4388,7'
          Dst:             TPM2B_NAME_Unmarshal
        - Src:             'Unmarshal.c:4391,7'
          Dst:             TPM2B_DATA_Unmarshal
    - functionName:    TPML_PCR_SELECTION_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1972
      functionLinenumberEnd: 1987
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          105
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - TPMS_PCR_SELECTION_Unmarshal
        - UINT32_Unmarshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1977,7'
          Dst:             UINT32_Unmarshal
        - Src:             'Unmarshal.c:1985,7'
          Dst:             TPMS_PCR_SELECTION_Unmarshal
    - functionName:    TPM2B_DIGEST_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1499
      functionLinenumberEnd: 1505
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    25
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1503,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPMA_LOCALITY_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 522
      functionLinenumberEnd: 528
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UINT8_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:526,7'
          Dst:             UINT8_Unmarshal
    - functionName:    TPM_ALG_ID_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:192,7'
          Dst:             UINT16_Unmarshal
    - functionName:    TPM2B_NAME_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1629
      functionLinenumberEnd: 1635
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1633,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPM2B_DATA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1512
      functionLinenumberEnd: 1518
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1516,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPM2B_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          89
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - Array_Unmarshal
        - UINT16_Unmarshal
      functionUses:    22
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:140,7'
          Dst:             UINT16_Unmarshal
        - Src:             'Unmarshal.c:148,7'
          Dst:             Array_Unmarshal
    - functionName:    Array_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          50
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UINT8_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          44
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UINT32_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          67
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    35
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPMS_PCR_SELECTION_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1642
      functionLinenumberEnd: 1660
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          116
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - Array_Unmarshal
        - TPMI_ALG_HASH_Unmarshal
        - UINT8_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1646,7'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'Unmarshal.c:1649,7'
          Dst:             UINT8_Unmarshal
        - Src:             'Unmarshal.c:1658,7'
          Dst:             Array_Unmarshal
    - functionName:    TPMI_ALG_HASH_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1062
      functionLinenumberEnd: 1094
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          89
      EdgeCount:       22
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_ALG_ID_Unmarshal
      functionUses:    11
      BranchProfiles:
        - Branch String:   'Unmarshal.c:1069,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:1066,7'
          Dst:             TPM_ALG_ID_Unmarshal
    - functionName:    TPMS_CONTEXT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4347
      functionLinenumberEnd: 4362
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          92
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - TPM2B_CONTEXT_DATA_Unmarshal
        - TPMI_DH_SAVED_Unmarshal
        - TPMI_RH_HIERARCHY_Unmarshal
        - UINT64_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4351,7'
          Dst:             UINT64_Unmarshal
        - Src:             'Unmarshal.c:4354,7'
          Dst:             TPMI_DH_SAVED_Unmarshal
        - Src:             'Unmarshal.c:4357,7'
          Dst:             TPMI_RH_HIERARCHY_Unmarshal
        - Src:             'Unmarshal.c:4360,7'
          Dst:             TPM2B_CONTEXT_DATA_Unmarshal
    - functionName:    UINT64_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          95
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPMI_DH_SAVED_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 791
      functionLinenumberEnd: 812
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          158
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:796,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_RH_HIERARCHY_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 819
      functionLinenumberEnd: 839
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          84
      EdgeCount:       21
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    5
      BranchProfiles:
        - Branch String:   'Unmarshal.c:826,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:823,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPM2B_CONTEXT_DATA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4334
      functionLinenumberEnd: 4340
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4338,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPM_HANDLE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 455
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    22
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:459,7'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMS_CONTEXT_DATA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4318
      functionLinenumberEnd: 4327
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPM2B_CONTEXT_SENSITIVE_Unmarshal
        - TPM2B_DIGEST_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4322,7'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'Unmarshal.c:4325,7'
          Dst:             TPM2B_CONTEXT_SENSITIVE_Unmarshal
    - functionName:    TPM2B_CONTEXT_SENSITIVE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4305
      functionLinenumberEnd: 4311
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4309,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPM2B_NV_PUBLIC_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4275
      functionLinenumberEnd: 4298
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          126
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - TPMS_NV_PUBLIC_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4280,7'
          Dst:             UINT16_Unmarshal
        - Src:             'Unmarshal.c:4291,7'
          Dst:             TPMS_NV_PUBLIC_Unmarshal
    - functionName:    TPMS_NV_PUBLIC_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4245
      functionLinenumberEnd: 4268
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          135
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPMA_NV_Unmarshal
        - TPMI_ALG_HASH_Unmarshal
        - TPMI_RH_NV_INDEX_Unmarshal
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4249,7'
          Dst:             TPMI_RH_NV_INDEX_Unmarshal
        - Src:             'Unmarshal.c:4252,7'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'Unmarshal.c:4255,7'
          Dst:             TPMA_NV_Unmarshal
        - Src:             'Unmarshal.c:4258,7'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'Unmarshal.c:4261,7'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMI_RH_NV_INDEX_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1042
      functionLinenumberEnd: 1055
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          84
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1047,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMA_NV_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4227
      functionLinenumberEnd: 4238
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4231,7'
          Dst:             UINT32_Unmarshal
    - functionName:    TPM2B_ID_OBJECT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4214
      functionLinenumberEnd: 4220
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4218,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPM2B_PRIVATE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4201
      functionLinenumberEnd: 4207
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4205,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPM2B_SENSITIVE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4174
      functionLinenumberEnd: 4194
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          113
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - TPMT_SENSITIVE_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4179,7'
          Dst:             UINT16_Unmarshal
        - Src:             'Unmarshal.c:4186,11'
          Dst:             TPMT_SENSITIVE_Unmarshal
    - functionName:    TPMT_SENSITIVE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4152
      functionLinenumberEnd: 4167
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          96
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - TPM2B_AUTH_Unmarshal
        - TPM2B_DIGEST_Unmarshal
        - TPMI_ALG_PUBLIC_Unmarshal
        - TPMU_SENSITIVE_COMPOSITE_Unmarshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4156,7'
          Dst:             TPMI_ALG_PUBLIC_Unmarshal
        - Src:             'Unmarshal.c:4159,7'
          Dst:             TPM2B_AUTH_Unmarshal
        - Src:             'Unmarshal.c:4162,7'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'Unmarshal.c:4165,7'
          Dst:             TPMU_SENSITIVE_COMPOSITE_Unmarshal
    - functionName:    TPMI_ALG_PUBLIC_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3841
      functionLinenumberEnd: 3866
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          74
      EdgeCount:       17
      CyclomaticComplexity: 3
      functionsReached:
        - TPM_ALG_ID_Unmarshal
      functionUses:    4
      BranchProfiles:
        - Branch String:   'Unmarshal.c:3848,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:3845,7'
          Dst:             TPM_ALG_ID_Unmarshal
    - functionName:    TPM2B_AUTH_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1538
      functionLinenumberEnd: 1544
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1542,7'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPMU_SENSITIVE_COMPOSITE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4118
      functionLinenumberEnd: 4145
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - TPM2B_ECC_PARAMETER_Unmarshal
        - TPM2B_PRIVATE_KEY_RSA_Unmarshal
        - TPM2B_SENSITIVE_DATA_Unmarshal
        - TPM2B_SYM_KEY_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:4121,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:4124,7'
          Dst:             TPM2B_PRIVATE_KEY_RSA_Unmarshal
        - Src:             'Unmarshal.c:4129,7'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
        - Src:             'Unmarshal.c:4134,7'
          Dst:             TPM2B_SENSITIVE_DATA_Unmarshal
        - Src:             'Unmarshal.c:4139,7'
          Dst:             TPM2B_SYM_KEY_Unmarshal
    - functionName:    TPM2B_PRIVATE_KEY_RSA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3452
      functionLinenumberEnd: 3458
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3456,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPM2B_ECC_PARAMETER_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3465
      functionLinenumberEnd: 3471
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3469,12'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPM2B_SENSITIVE_DATA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2689
      functionLinenumberEnd: 2695
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2693,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPM2B_SYM_KEY_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2621
      functionLinenumberEnd: 2627
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2625,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPM2B_TEMPLATE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4090
      functionLinenumberEnd: 4096
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4094,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPM2B_PUBLIC_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4060
      functionLinenumberEnd: 4083
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          129
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - TPMT_PUBLIC_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4065,7'
          Dst:             UINT16_Unmarshal
        - Src:             'Unmarshal.c:4076,7'
          Dst:             TPMT_PUBLIC_Unmarshal
    - functionName:    TPMT_PUBLIC_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4032
      functionLinenumberEnd: 4053
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          139
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPMA_OBJECT_Unmarshal
        - TPMI_ALG_HASH_Unmarshal
        - TPMI_ALG_PUBLIC_Unmarshal
        - TPMU_PUBLIC_ID_Unmarshal
        - TPMU_PUBLIC_PARMS_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4036,7'
          Dst:             TPMI_ALG_PUBLIC_Unmarshal
        - Src:             'Unmarshal.c:4039,7'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'Unmarshal.c:4042,7'
          Dst:             TPMA_OBJECT_Unmarshal
        - Src:             'Unmarshal.c:4045,7'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'Unmarshal.c:4048,7'
          Dst:             TPMU_PUBLIC_PARMS_Unmarshal
        - Src:             'Unmarshal.c:4051,7'
          Dst:             TPMU_PUBLIC_ID_Unmarshal
    - functionName:    TPMA_OBJECT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 497
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:490,7'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMU_PUBLIC_PARMS_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3982
      functionLinenumberEnd: 4009
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - TPMS_ECC_PARMS_Unmarshal
        - TPMS_KEYEDHASH_PARMS_Unmarshal
        - TPMS_RSA_PARMS_Unmarshal
        - TPMS_SYMCIPHER_PARMS_Unmarshal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'Unmarshal.c:3985,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:3988,7'
          Dst:             TPMS_KEYEDHASH_PARMS_Unmarshal
        - Src:             'Unmarshal.c:3993,7'
          Dst:             TPMS_SYMCIPHER_PARMS_Unmarshal
        - Src:             'Unmarshal.c:3998,7'
          Dst:             TPMS_RSA_PARMS_Unmarshal
        - Src:             'Unmarshal.c:4003,7'
          Dst:             TPMS_ECC_PARMS_Unmarshal
    - functionName:    TPMU_PUBLIC_ID_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3873
      functionLinenumberEnd: 3900
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPM2B_PUBLIC_KEY_RSA_Unmarshal
        - TPMS_ECC_POINT_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Unmarshal.c:3876,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:3879,7'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'Unmarshal.c:3884,7'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'Unmarshal.c:3889,7'
          Dst:             TPM2B_PUBLIC_KEY_RSA_Unmarshal
        - Src:             'Unmarshal.c:3894,7'
          Dst:             TPMS_ECC_POINT_Unmarshal
    - functionName:    TPM2B_PUBLIC_KEY_RSA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3417
      functionLinenumberEnd: 3423
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3421,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPMS_ECC_POINT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3478
      functionLinenumberEnd: 3487
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPM2B_ECC_PARAMETER_Unmarshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3482,7'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
        - Src:             'Unmarshal.c:3485,7'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
    - functionName:    TPMS_KEYEDHASH_PARMS_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3907
      functionLinenumberEnd: 3913
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMT_KEYEDHASH_SCHEME_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3911,7'
          Dst:             TPMT_KEYEDHASH_SCHEME_Unmarshal
    - functionName:    TPMS_SYMCIPHER_PARMS_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2634
      functionLinenumberEnd: 2640
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMT_SYM_DEF_OBJECT_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2638,7'
          Dst:             TPMT_SYM_DEF_OBJECT_Unmarshal
    - functionName:    TPMS_RSA_PARMS_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3938
      functionLinenumberEnd: 3953
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          92
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - TPMI_RSA_KEY_BITS_Unmarshal
        - TPMT_RSA_SCHEME_Unmarshal
        - TPMT_SYM_DEF_OBJECT_Unmarshal
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3942,7'
          Dst:             TPMT_SYM_DEF_OBJECT_Unmarshal
        - Src:             'Unmarshal.c:3945,7'
          Dst:             TPMT_RSA_SCHEME_Unmarshal
        - Src:             'Unmarshal.c:3948,7'
          Dst:             TPMI_RSA_KEY_BITS_Unmarshal
        - Src:             'Unmarshal.c:3951,7'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMS_ECC_PARMS_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3960
      functionLinenumberEnd: 3975
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          92
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - TPMI_ECC_CURVE_Unmarshal
        - TPMT_ECC_SCHEME_Unmarshal
        - TPMT_KDF_SCHEME_Unmarshal
        - TPMT_SYM_DEF_OBJECT_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3964,7'
          Dst:             TPMT_SYM_DEF_OBJECT_Unmarshal
        - Src:             'Unmarshal.c:3967,7'
          Dst:             TPMT_ECC_SCHEME_Unmarshal
        - Src:             'Unmarshal.c:3970,7'
          Dst:             TPMI_ECC_CURVE_Unmarshal
        - Src:             'Unmarshal.c:3973,7'
          Dst:             TPMT_KDF_SCHEME_Unmarshal
    - functionName:    TPMT_SYM_DEF_OBJECT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2602
      functionLinenumberEnd: 2614
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          85
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - TPMI_ALG_SYM_OBJECT_Unmarshal
        - TPMU_SYM_KEY_BITS_Unmarshal
        - TPMU_SYM_MODE_Unmarshal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2606,7'
          Dst:             TPMI_ALG_SYM_OBJECT_Unmarshal
        - Src:             'Unmarshal.c:2609,7'
          Dst:             TPMU_SYM_KEY_BITS_Unmarshal
        - Src:             'Unmarshal.c:2612,7'
          Dst:             TPMU_SYM_MODE_Unmarshal
    - functionName:    TPMT_ECC_SCHEME_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3595
      functionLinenumberEnd: 3604
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMI_ALG_ECC_SCHEME_Unmarshal
        - TPMU_ASYM_SCHEME_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3599,7'
          Dst:             TPMI_ALG_ECC_SCHEME_Unmarshal
        - Src:             'Unmarshal.c:3602,7'
          Dst:             TPMU_ASYM_SCHEME_Unmarshal
    - functionName:    TPMI_ECC_CURVE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3566
      functionLinenumberEnd: 3588
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          70
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached:
        - TPM_ECC_CURVE_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:3573,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:3570,7'
          Dst:             TPM_ECC_CURVE_Unmarshal
    - functionName:    TPMT_KDF_SCHEME_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3163
      functionLinenumberEnd: 3172
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMI_ALG_KDF_Unmarshal
        - TPMU_KDF_SCHEME_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3167,7'
          Dst:             TPMI_ALG_KDF_Unmarshal
        - Src:             'Unmarshal.c:3170,7'
          Dst:             TPMU_KDF_SCHEME_Unmarshal
    - functionName:    TPMI_ALG_KDF_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1212
      functionLinenumberEnd: 1241
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          85
      EdgeCount:       21
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_ALG_ID_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Unmarshal.c:1219,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:1216,7'
          Dst:             TPM_ALG_ID_Unmarshal
    - functionName:    TPMU_KDF_SCHEME_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3127
      functionLinenumberEnd: 3156
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          62
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - TPMS_SCHEME_KDF1_SP800_108_Unmarshal
        - TPMS_SCHEME_KDF1_SP800_56A_Unmarshal
        - TPMS_SCHEME_MGF1_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:3130,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:3133,7'
          Dst:             TPMS_SCHEME_MGF1_Unmarshal
        - Src:             'Unmarshal.c:3138,7'
          Dst:             TPMS_SCHEME_KDF1_SP800_56A_Unmarshal
        - Src:             'Unmarshal.c:3148,7'
          Dst:             TPMS_SCHEME_KDF1_SP800_108_Unmarshal
    - functionName:    TPMS_SCHEME_MGF1_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3114
      functionLinenumberEnd: 3120
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3118,7'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPMS_SCHEME_KDF1_SP800_56A_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3088
      functionLinenumberEnd: 3094
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3092,7'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPMS_SCHEME_KDF1_SP800_108_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3075
      functionLinenumberEnd: 3081
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3079,7'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPMS_SCHEME_HASH_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2748
      functionLinenumberEnd: 2754
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMI_ALG_HASH_Unmarshal
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2752,7'
          Dst:             TPMI_ALG_HASH_Unmarshal
    - functionName:    TPM_ECC_CURVE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          94
      EdgeCount:       22
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'Unmarshal.c:209,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:206,7'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMI_ALG_ECC_SCHEME_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3524
      functionLinenumberEnd: 3559
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          89
      EdgeCount:       22
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_ALG_ID_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:3531,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:3528,7'
          Dst:             TPM_ALG_ID_Unmarshal
    - functionName:    TPMU_ASYM_SCHEME_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3235
      functionLinenumberEnd: 3294
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          107
      EdgeCount:       27
      CyclomaticComplexity: 15
      functionsReached:
        - TPMS_ENC_SCHEME_OAEP_Unmarshal
        - TPMS_ENC_SCHEME_RSAES_Unmarshal
        - TPMS_KEY_SCHEME_ECDH_Unmarshal
        - TPMS_SIG_SCHEME_ECDAA_Unmarshal
        - TPMS_SIG_SCHEME_ECDSA_Unmarshal
        - TPMS_SIG_SCHEME_ECSCHNORR_Unmarshal
        - TPMS_SIG_SCHEME_RSAPSS_Unmarshal
        - TPMS_SIG_SCHEME_RSASSA_Unmarshal
      functionUses:    3
      BranchProfiles:
        - Branch String:   'Unmarshal.c:3238,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:3241,7'
          Dst:             TPMS_KEY_SCHEME_ECDH_Unmarshal
        - Src:             'Unmarshal.c:3251,7'
          Dst:             TPMS_SIG_SCHEME_RSASSA_Unmarshal
        - Src:             'Unmarshal.c:3256,7'
          Dst:             TPMS_SIG_SCHEME_RSAPSS_Unmarshal
        - Src:             'Unmarshal.c:3261,7'
          Dst:             TPMS_SIG_SCHEME_ECDSA_Unmarshal
        - Src:             'Unmarshal.c:3266,7'
          Dst:             TPMS_SIG_SCHEME_ECDAA_Unmarshal
        - Src:             'Unmarshal.c:3276,7'
          Dst:             TPMS_SIG_SCHEME_ECSCHNORR_Unmarshal
        - Src:             'Unmarshal.c:3281,7'
          Dst:             TPMS_ENC_SCHEME_RSAES_Unmarshal
        - Src:             'Unmarshal.c:3286,7'
          Dst:             TPMS_ENC_SCHEME_OAEP_Unmarshal
    - functionName:    TPMS_KEY_SCHEME_ECDH_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3049
      functionLinenumberEnd: 3055
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3053,7'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPMS_SIG_SCHEME_RSASSA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2891
      functionLinenumberEnd: 2897
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2895,7'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPMS_SIG_SCHEME_RSAPSS_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2878
      functionLinenumberEnd: 2884
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2882,7'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPMS_SIG_SCHEME_ECDSA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2917
      functionLinenumberEnd: 2923
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2921,7'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPMS_SIG_SCHEME_ECDAA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2904
      functionLinenumberEnd: 2910
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SCHEME_ECDAA_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2908,7'
          Dst:             TPMS_SCHEME_ECDAA_Unmarshal
    - functionName:    TPMS_SIG_SCHEME_ECSCHNORR_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2930
      functionLinenumberEnd: 2936
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2934,7'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPMS_ENC_SCHEME_RSAES_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3036
      functionLinenumberEnd: 3042
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_EMPTY_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3040,7'
          Dst:             TPMS_EMPTY_Unmarshal
    - functionName:    TPMS_ENC_SCHEME_OAEP_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3023
      functionLinenumberEnd: 3029
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3027,7'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPMS_EMPTY_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1430
      functionLinenumberEnd: 1435
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          19
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPMS_SCHEME_ECDAA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2761
      functionLinenumberEnd: 2770
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMI_ALG_HASH_Unmarshal
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2765,7'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'Unmarshal.c:2768,7'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMI_ALG_SYM_OBJECT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1137
      functionLinenumberEnd: 1163
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          76
      EdgeCount:       18
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_ALG_ID_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:1144,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:1141,7'
          Dst:             TPM_ALG_ID_Unmarshal
    - functionName:    TPMU_SYM_KEY_BITS_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2515
      functionLinenumberEnd: 2544
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - TPMI_AES_KEY_BITS_Unmarshal
        - TPMI_ALG_HASH_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Unmarshal.c:2518,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:2521,7'
          Dst:             TPMI_AES_KEY_BITS_Unmarshal
        - Src:             'Unmarshal.c:2536,7'
          Dst:             TPMI_ALG_HASH_Unmarshal
    - functionName:    TPMU_SYM_MODE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2551
      functionLinenumberEnd: 2576
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          49
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - TPMI_ALG_SYM_MODE_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Unmarshal.c:2554,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:2557,7'
          Dst:             TPMI_ALG_SYM_MODE_Unmarshal
    - functionName:    TPMI_ALG_SYM_MODE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1170
      functionLinenumberEnd: 1205
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          97
      EdgeCount:       24
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_ALG_ID_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:1177,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:1174,7'
          Dst:             TPM_ALG_ID_Unmarshal
    - functionName:    TPMI_AES_KEY_BITS_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2450
      functionLinenumberEnd: 2465
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - TPM_KEY_BITS_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:2457,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:2454,7'
          Dst:             TPM_KEY_BITS_Unmarshal
    - functionName:    TPM_KEY_BITS_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:161,7'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMT_RSA_SCHEME_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3355
      functionLinenumberEnd: 3364
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMI_ALG_RSA_SCHEME_Unmarshal
        - TPMU_ASYM_SCHEME_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3359,7'
          Dst:             TPMI_ALG_RSA_SCHEME_Unmarshal
        - Src:             'Unmarshal.c:3362,7'
          Dst:             TPMU_ASYM_SCHEME_Unmarshal
    - functionName:    TPMI_RSA_KEY_BITS_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3430
      functionLinenumberEnd: 3445
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - TPM_KEY_BITS_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:3437,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:3434,7'
          Dst:             TPM_KEY_BITS_Unmarshal
    - functionName:    TPMI_ALG_RSA_SCHEME_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3319
      functionLinenumberEnd: 3348
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          89
      EdgeCount:       22
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_ALG_ID_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:3326,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:3323,7'
          Dst:             TPM_ALG_ID_Unmarshal
    - functionName:    TPMT_KEYEDHASH_SCHEME_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2862
      functionLinenumberEnd: 2871
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMI_ALG_KEYEDHASH_SCHEME_Unmarshal
        - TPMU_SCHEME_KEYEDHASH_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2866,7'
          Dst:             TPMI_ALG_KEYEDHASH_SCHEME_Unmarshal
        - Src:             'Unmarshal.c:2869,7'
          Dst:             TPMU_SCHEME_KEYEDHASH_Unmarshal
    - functionName:    TPMI_ALG_KEYEDHASH_SCHEME_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2777
      functionLinenumberEnd: 2800
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          81
      EdgeCount:       20
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_ALG_ID_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:2784,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:2781,7'
          Dst:             TPM_ALG_ID_Unmarshal
    - functionName:    TPMU_SCHEME_KEYEDHASH_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2836
      functionLinenumberEnd: 2855
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - TPMS_SCHEME_HMAC_Unmarshal
        - TPMS_SCHEME_XOR_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:2839,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:2842,7'
          Dst:             TPMS_SCHEME_HMAC_Unmarshal
        - Src:             'Unmarshal.c:2847,7'
          Dst:             TPMS_SCHEME_XOR_Unmarshal
    - functionName:    TPMS_SCHEME_HMAC_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2807
      functionLinenumberEnd: 2813
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2811,7'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPMS_SCHEME_XOR_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2820
      functionLinenumberEnd: 2829
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMI_ALG_HASH_Unmarshal
        - TPMI_ALG_KDF_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2824,7'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'Unmarshal.c:2827,7'
          Dst:             TPMI_ALG_KDF_Unmarshal
    - functionName:    TPMT_PUBLIC_PARMS_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4016
      functionLinenumberEnd: 4025
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMI_ALG_PUBLIC_Unmarshal
        - TPMU_PUBLIC_PARMS_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:4020,7'
          Dst:             TPMI_ALG_PUBLIC_Unmarshal
        - Src:             'Unmarshal.c:4023,7'
          Dst:             TPMU_PUBLIC_PARMS_Unmarshal
    - functionName:    TPM2B_ENCRYPTED_SECRET_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3828
      functionLinenumberEnd: 3834
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3832,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPMT_SIGNATURE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3812
      functionLinenumberEnd: 3821
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMI_ALG_SIG_SCHEME_Unmarshal
        - TPMU_SIGNATURE_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3816,7'
          Dst:             TPMI_ALG_SIG_SCHEME_Unmarshal
        - Src:             'Unmarshal.c:3819,7'
          Dst:             TPMU_SIGNATURE_Unmarshal
    - functionName:    TPMI_ALG_SIG_SCHEME_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1248
      functionLinenumberEnd: 1286
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          97
      EdgeCount:       24
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_ALG_ID_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Unmarshal.c:1255,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:1252,7'
          Dst:             TPM_ALG_ID_Unmarshal
    - functionName:    TPMU_SIGNATURE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3761
      functionLinenumberEnd: 3805
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          89
      EdgeCount:       23
      CyclomaticComplexity: 13
      functionsReached:
        - TPMS_SIGNATURE_ECDAA_Unmarshal
        - TPMS_SIGNATURE_ECDSA_Unmarshal
        - TPMS_SIGNATURE_ECSCHNORR_Unmarshal
        - TPMS_SIGNATURE_RSAPSS_Unmarshal
        - TPMS_SIGNATURE_RSASSA_Unmarshal
        - TPMT_HA_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:3764,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:3767,7'
          Dst:             TPMS_SIGNATURE_RSASSA_Unmarshal
        - Src:             'Unmarshal.c:3772,7'
          Dst:             TPMS_SIGNATURE_RSAPSS_Unmarshal
        - Src:             'Unmarshal.c:3777,7'
          Dst:             TPMS_SIGNATURE_ECDSA_Unmarshal
        - Src:             'Unmarshal.c:3782,7'
          Dst:             TPMS_SIGNATURE_ECDAA_Unmarshal
        - Src:             'Unmarshal.c:3792,7'
          Dst:             TPMS_SIGNATURE_ECSCHNORR_Unmarshal
        - Src:             'Unmarshal.c:3797,7'
          Dst:             TPMT_HA_Unmarshal
    - functionName:    TPMS_SIGNATURE_RSASSA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3670
      functionLinenumberEnd: 3676
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SIGNATURE_RSA_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3674,7'
          Dst:             TPMS_SIGNATURE_RSA_Unmarshal
    - functionName:    TPMS_SIGNATURE_RSAPSS_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3683
      functionLinenumberEnd: 3689
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SIGNATURE_RSA_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3687,7'
          Dst:             TPMS_SIGNATURE_RSA_Unmarshal
    - functionName:    TPMS_SIGNATURE_ECDSA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3715
      functionLinenumberEnd: 3721
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SIGNATURE_ECC_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3719,7'
          Dst:             TPMS_SIGNATURE_ECC_Unmarshal
    - functionName:    TPMS_SIGNATURE_ECDAA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3726
      functionLinenumberEnd: 3732
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SIGNATURE_ECC_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3730,7'
          Dst:             TPMS_SIGNATURE_ECC_Unmarshal
    - functionName:    TPMS_SIGNATURE_ECSCHNORR_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3748
      functionLinenumberEnd: 3754
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SIGNATURE_ECC_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3752,7'
          Dst:             TPMS_SIGNATURE_ECC_Unmarshal
    - functionName:    TPMT_HA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1483
      functionLinenumberEnd: 1492
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMI_ALG_HASH_Unmarshal
        - TPMU_HA_Unmarshal
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1487,7'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'Unmarshal.c:1490,7'
          Dst:             TPMU_HA_Unmarshal
    - functionName:    TPMU_HA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1442
      functionLinenumberEnd: 1476
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          75
      EdgeCount:       19
      CyclomaticComplexity: 11
      functionsReached:
        - Array_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:1445,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:1448,7'
          Dst:             Array_Unmarshal
        - Src:             'Unmarshal.c:1453,7'
          Dst:             Array_Unmarshal
        - Src:             'Unmarshal.c:1458,7'
          Dst:             Array_Unmarshal
        - Src:             'Unmarshal.c:1463,7'
          Dst:             Array_Unmarshal
    - functionName:    TPMS_SIGNATURE_ECC_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3696
      functionLinenumberEnd: 3708
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          74
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - TPM2B_ECC_PARAMETER_Unmarshal
        - TPMI_ALG_HASH_Unmarshal
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3700,7'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'Unmarshal.c:3703,7'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
        - Src:             'Unmarshal.c:3706,7'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
    - functionName:    TPMS_SIGNATURE_RSA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3654
      functionLinenumberEnd: 3663
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPM2B_PUBLIC_KEY_RSA_Unmarshal
        - TPMI_ALG_HASH_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3658,7'
          Dst:             TPMI_ALG_HASH_Unmarshal
        - Src:             'Unmarshal.c:3661,7'
          Dst:             TPM2B_PUBLIC_KEY_RSA_Unmarshal
    - functionName:    TPMS_SIGNATURE_SM2_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3737
      functionLinenumberEnd: 3743
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SIGNATURE_ECC_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3741,7'
          Dst:             TPMS_SIGNATURE_ECC_Unmarshal
    - functionName:    TPMS_ALGORITHM_DETAIL_ECC_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3611
      functionLinenumberEnd: 3647
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          218
      EdgeCount:       47
      CyclomaticComplexity: 13
      functionsReached:
        - TPM2B_ECC_PARAMETER_Unmarshal
        - TPMT_ECC_SCHEME_Unmarshal
        - TPMT_KDF_SCHEME_Unmarshal
        - TPM_ECC_CURVE_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3615,7'
          Dst:             TPM_ECC_CURVE_Unmarshal
        - Src:             'Unmarshal.c:3618,7'
          Dst:             UINT16_Unmarshal
        - Src:             'Unmarshal.c:3621,7'
          Dst:             TPMT_KDF_SCHEME_Unmarshal
        - Src:             'Unmarshal.c:3624,7'
          Dst:             TPMT_ECC_SCHEME_Unmarshal
        - Src:             'Unmarshal.c:3627,7'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
        - Src:             'Unmarshal.c:3630,7'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
        - Src:             'Unmarshal.c:3633,7'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
        - Src:             'Unmarshal.c:3636,7'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
        - Src:             'Unmarshal.c:3639,7'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
        - Src:             'Unmarshal.c:3642,7'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
        - Src:             'Unmarshal.c:3645,7'
          Dst:             TPM2B_ECC_PARAMETER_Unmarshal
    - functionName:    TPM2B_ECC_POINT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3494
      functionLinenumberEnd: 3517
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          126
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - TPMS_ECC_POINT_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3499,7'
          Dst:             UINT16_Unmarshal
        - Src:             'Unmarshal.c:3510,7'
          Dst:             TPMS_ECC_POINT_Unmarshal
    - functionName:    TPMT_RSA_DECRYPT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3401
      functionLinenumberEnd: 3410
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMI_ALG_RSA_DECRYPT_Unmarshal
        - TPMU_ASYM_SCHEME_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3405,7'
          Dst:             TPMI_ALG_RSA_DECRYPT_Unmarshal
        - Src:             'Unmarshal.c:3408,7'
          Dst:             TPMU_ASYM_SCHEME_Unmarshal
    - functionName:    TPMI_ALG_RSA_DECRYPT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3371
      functionLinenumberEnd: 3394
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          81
      EdgeCount:       20
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_ALG_ID_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:3378,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:3375,7'
          Dst:             TPM_ALG_ID_Unmarshal
    - functionName:    TPMS_SCHEME_KDF2_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3101
      functionLinenumberEnd: 3107
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3105,7'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPMS_KEY_SCHEME_ECMQV_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3062
      functionLinenumberEnd: 3068
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3066,7'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPMT_SIG_SCHEME_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3007
      functionLinenumberEnd: 3016
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMI_ALG_SIG_SCHEME_Unmarshal
        - TPMU_SIG_SCHEME_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:3011,7'
          Dst:             TPMI_ALG_SIG_SCHEME_Unmarshal
        - Src:             'Unmarshal.c:3014,7'
          Dst:             TPMU_SIG_SCHEME_Unmarshal
    - functionName:    TPMU_SIG_SCHEME_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2956
      functionLinenumberEnd: 3000
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          89
      EdgeCount:       23
      CyclomaticComplexity: 13
      functionsReached:
        - TPMS_SCHEME_HMAC_Unmarshal
        - TPMS_SIG_SCHEME_ECDAA_Unmarshal
        - TPMS_SIG_SCHEME_ECDSA_Unmarshal
        - TPMS_SIG_SCHEME_ECSCHNORR_Unmarshal
        - TPMS_SIG_SCHEME_RSAPSS_Unmarshal
        - TPMS_SIG_SCHEME_RSASSA_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:2959,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:2962,7'
          Dst:             TPMS_SIG_SCHEME_RSASSA_Unmarshal
        - Src:             'Unmarshal.c:2967,7'
          Dst:             TPMS_SIG_SCHEME_RSAPSS_Unmarshal
        - Src:             'Unmarshal.c:2972,7'
          Dst:             TPMS_SIG_SCHEME_ECDSA_Unmarshal
        - Src:             'Unmarshal.c:2977,7'
          Dst:             TPMS_SIG_SCHEME_ECDAA_Unmarshal
        - Src:             'Unmarshal.c:2987,7'
          Dst:             TPMS_SIG_SCHEME_ECSCHNORR_Unmarshal
        - Src:             'Unmarshal.c:2992,7'
          Dst:             TPMS_SCHEME_HMAC_Unmarshal
    - functionName:    TPMS_SIG_SCHEME_SM2_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2943
      functionLinenumberEnd: 2949
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPMS_SCHEME_HASH_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2947,7'
          Dst:             TPMS_SCHEME_HASH_Unmarshal
    - functionName:    TPM2B_SENSITIVE_CREATE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2718
      functionLinenumberEnd: 2741
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          126
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - TPMS_SENSITIVE_CREATE_Unmarshal
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2723,7'
          Dst:             UINT16_Unmarshal
        - Src:             'Unmarshal.c:2734,7'
          Dst:             TPMS_SENSITIVE_CREATE_Unmarshal
    - functionName:    TPMS_SENSITIVE_CREATE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2702
      functionLinenumberEnd: 2711
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPM2B_AUTH_Unmarshal
        - TPM2B_SENSITIVE_DATA_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2706,7'
          Dst:             TPM2B_AUTH_Unmarshal
        - Src:             'Unmarshal.c:2709,7'
          Dst:             TPM2B_SENSITIVE_DATA_Unmarshal
    - functionName:    TPM2B_DERIVE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2676
      functionLinenumberEnd: 2682
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2680,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPMS_DERIVE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2660
      functionLinenumberEnd: 2669
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPM2B_LABEL_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2664,7'
          Dst:             TPM2B_LABEL_Unmarshal
        - Src:             'Unmarshal.c:2667,7'
          Dst:             TPM2B_LABEL_Unmarshal
    - functionName:    TPM2B_LABEL_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2647
      functionLinenumberEnd: 2653
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2651,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPMT_SYM_DEF_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2583
      functionLinenumberEnd: 2595
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          85
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - TPMI_ALG_SYM_Unmarshal
        - TPMU_SYM_KEY_BITS_Unmarshal
        - TPMU_SYM_MODE_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2587,7'
          Dst:             TPMI_ALG_SYM_Unmarshal
        - Src:             'Unmarshal.c:2590,7'
          Dst:             TPMU_SYM_KEY_BITS_Unmarshal
        - Src:             'Unmarshal.c:2593,7'
          Dst:             TPMU_SYM_MODE_Unmarshal
    - functionName:    TPMI_ALG_SYM_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1101
      functionLinenumberEnd: 1130
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          81
      EdgeCount:       20
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_ALG_ID_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:1108,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:1105,7'
          Dst:             TPM_ALG_ID_Unmarshal
    - functionName:    TPMS_AUTH_RESPONSE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2430
      functionLinenumberEnd: 2442
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          74
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - TPM2B_AUTH_Unmarshal
        - TPM2B_NONCE_Unmarshal
        - TPMA_SESSION_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2434,7'
          Dst:             TPM2B_NONCE_Unmarshal
        - Src:             'Unmarshal.c:2437,7'
          Dst:             TPMA_SESSION_Unmarshal
        - Src:             'Unmarshal.c:2440,7'
          Dst:             TPM2B_AUTH_Unmarshal
    - functionName:    TPM2B_NONCE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1525
      functionLinenumberEnd: 1531
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1529,7'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPMA_SESSION_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 504
      functionLinenumberEnd: 515
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          62
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UINT8_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:508,7'
          Dst:             UINT8_Unmarshal
    - functionName:    TPM2B_ATTEST_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2417
      functionLinenumberEnd: 2423
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2421,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPMS_ATTEST_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2386
      functionLinenumberEnd: 2410
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          150
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - TPM2B_DATA_Unmarshal
        - TPM2B_NAME_Unmarshal
        - TPMI_ST_ATTEST_Unmarshal
        - TPMS_CLOCK_INFO_Unmarshal
        - TPMU_ATTEST_Unmarshal
        - TPM_GENERATED_Unmarshal
        - UINT64_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2390,7'
          Dst:             TPM_GENERATED_Unmarshal
        - Src:             'Unmarshal.c:2393,7'
          Dst:             TPMI_ST_ATTEST_Unmarshal
        - Src:             'Unmarshal.c:2396,7'
          Dst:             TPM2B_NAME_Unmarshal
        - Src:             'Unmarshal.c:2399,7'
          Dst:             TPM2B_DATA_Unmarshal
        - Src:             'Unmarshal.c:2402,7'
          Dst:             TPMS_CLOCK_INFO_Unmarshal
        - Src:             'Unmarshal.c:2405,7'
          Dst:             UINT64_Unmarshal
        - Src:             'Unmarshal.c:2408,7'
          Dst:             TPMU_ATTEST_Unmarshal
    - functionName:    TPM_GENERATED_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          60
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:174,7'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMI_ST_ATTEST_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2323
      functionLinenumberEnd: 2343
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          86
      EdgeCount:       20
      CyclomaticComplexity: 3
      functionsReached:
        - TPM_ST_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:2330,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:2327,7'
          Dst:             TPM_ST_Unmarshal
    - functionName:    TPMS_CLOCK_INFO_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2164
      functionLinenumberEnd: 2179
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          92
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - TPMI_YES_NO_Unmarshal
        - UINT32_Unmarshal
        - UINT64_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2168,7'
          Dst:             UINT64_Unmarshal
        - Src:             'Unmarshal.c:2171,7'
          Dst:             UINT32_Unmarshal
        - Src:             'Unmarshal.c:2174,7'
          Dst:             UINT32_Unmarshal
        - Src:             'Unmarshal.c:2177,7'
          Dst:             TPMI_YES_NO_Unmarshal
    - functionName:    TPMU_ATTEST_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2350
      functionLinenumberEnd: 2379
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          94
      EdgeCount:       23
      CyclomaticComplexity: 13
      functionsReached:
        - TPMS_CERTIFY_INFO_Unmarshal
        - TPMS_COMMAND_AUDIT_INFO_Unmarshal
        - TPMS_CREATION_INFO_Unmarshal
        - TPMS_NV_CERTIFY_INFO_Unmarshal
        - TPMS_QUOTE_INFO_Unmarshal
        - TPMS_SESSION_AUDIT_INFO_Unmarshal
        - TPMS_TIME_ATTEST_INFO_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:2353,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:2355,7'
          Dst:             TPMS_CERTIFY_INFO_Unmarshal
        - Src:             'Unmarshal.c:2358,7'
          Dst:             TPMS_CREATION_INFO_Unmarshal
        - Src:             'Unmarshal.c:2361,7'
          Dst:             TPMS_QUOTE_INFO_Unmarshal
        - Src:             'Unmarshal.c:2364,7'
          Dst:             TPMS_COMMAND_AUDIT_INFO_Unmarshal
        - Src:             'Unmarshal.c:2367,7'
          Dst:             TPMS_SESSION_AUDIT_INFO_Unmarshal
        - Src:             'Unmarshal.c:2370,7'
          Dst:             TPMS_TIME_ATTEST_INFO_Unmarshal
        - Src:             'Unmarshal.c:2373,7'
          Dst:             TPMS_NV_CERTIFY_INFO_Unmarshal
    - functionName:    TPMS_CERTIFY_INFO_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2218
      functionLinenumberEnd: 2227
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPM2B_NAME_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2222,7'
          Dst:             TPM2B_NAME_Unmarshal
        - Src:             'Unmarshal.c:2225,7'
          Dst:             TPM2B_NAME_Unmarshal
    - functionName:    TPMS_CREATION_INFO_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2288
      functionLinenumberEnd: 2297
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPM2B_NAME_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2292,7'
          Dst:             TPM2B_NAME_Unmarshal
        - Src:             'Unmarshal.c:2295,7'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPMS_QUOTE_INFO_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2234
      functionLinenumberEnd: 2243
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPML_PCR_SELECTION_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2238,7'
          Dst:             TPML_PCR_SELECTION_Unmarshal
        - Src:             'Unmarshal.c:2241,7'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPMS_COMMAND_AUDIT_INFO_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2250
      functionLinenumberEnd: 2265
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          92
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPM_ALG_ID_Unmarshal
        - UINT64_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2254,7'
          Dst:             UINT64_Unmarshal
        - Src:             'Unmarshal.c:2257,7'
          Dst:             TPM_ALG_ID_Unmarshal
        - Src:             'Unmarshal.c:2260,7'
          Dst:             TPM2B_DIGEST_Unmarshal
        - Src:             'Unmarshal.c:2263,7'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPMS_SESSION_AUDIT_INFO_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2272
      functionLinenumberEnd: 2281
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPMI_YES_NO_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2276,7'
          Dst:             TPMI_YES_NO_Unmarshal
        - Src:             'Unmarshal.c:2279,7'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPMS_TIME_ATTEST_INFO_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2202
      functionLinenumberEnd: 2211
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMS_TIME_INFO_Unmarshal
        - UINT64_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2206,7'
          Dst:             TPMS_TIME_INFO_Unmarshal
        - Src:             'Unmarshal.c:2209,7'
          Dst:             UINT64_Unmarshal
    - functionName:    TPMS_NV_CERTIFY_INFO_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2304
      functionLinenumberEnd: 2316
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          74
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - TPM2B_MAX_NV_BUFFER_Unmarshal
        - TPM2B_NAME_Unmarshal
        - UINT16_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2308,7'
          Dst:             TPM2B_NAME_Unmarshal
        - Src:             'Unmarshal.c:2311,7'
          Dst:             UINT16_Unmarshal
        - Src:             'Unmarshal.c:2314,7'
          Dst:             TPM2B_MAX_NV_BUFFER_Unmarshal
    - functionName:    TPM2B_MAX_NV_BUFFER_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1590
      functionLinenumberEnd: 1596
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1594,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPMS_TIME_INFO_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2186
      functionLinenumberEnd: 2195
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMS_CLOCK_INFO_Unmarshal
        - UINT64_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2190,7'
          Dst:             UINT64_Unmarshal
        - Src:             'Unmarshal.c:2193,7'
          Dst:             TPMS_CLOCK_INFO_Unmarshal
    - functionName:    TPMI_YES_NO_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 553
      functionLinenumberEnd: 568
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - UINT8_Unmarshal
      functionUses:    2
      BranchProfiles:
        - Branch String:   'Unmarshal.c:560,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:557,7'
          Dst:             UINT8_Unmarshal
    - functionName:    TPM_ST_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 317
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          122
      EdgeCount:       29
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    6
      BranchProfiles:
        - Branch String:   'Unmarshal.c:324,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:321,7'
          Dst:             UINT16_Unmarshal
    - functionName:    TPMS_CAPABILITY_DATA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2148
      functionLinenumberEnd: 2157
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMU_CAPABILITIES_Unmarshal
        - TPM_CAP_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2152,7'
          Dst:             TPM_CAP_Unmarshal
        - Src:             'Unmarshal.c:2155,7'
          Dst:             TPMU_CAPABILITIES_Unmarshal
    - functionName:    TPM_CAP_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          101
      EdgeCount:       24
      CyclomaticComplexity: 3
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:405,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:402,7'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMU_CAPABILITIES_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2104
      functionLinenumberEnd: 2141
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          121
      EdgeCount:       29
      CyclomaticComplexity: 16
      functionsReached:
        - TPML_ALG_PROPERTY_Unmarshal
        - TPML_CCA_Unmarshal
        - TPML_CC_Unmarshal
        - TPML_ECC_CURVE_Unmarshal
        - TPML_HANDLE_Unmarshal
        - TPML_PCR_SELECTION_Unmarshal
        - TPML_TAGGED_PCR_PROPERTY_Unmarshal
        - TPML_TAGGED_POLICY_Unmarshal
        - TPML_TAGGED_TPM_PROPERTY_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:2107,5'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:2109,7'
          Dst:             TPML_ALG_PROPERTY_Unmarshal
        - Src:             'Unmarshal.c:2112,7'
          Dst:             TPML_HANDLE_Unmarshal
        - Src:             'Unmarshal.c:2115,7'
          Dst:             TPML_CCA_Unmarshal
        - Src:             'Unmarshal.c:2118,7'
          Dst:             TPML_CC_Unmarshal
        - Src:             'Unmarshal.c:2121,7'
          Dst:             TPML_CC_Unmarshal
        - Src:             'Unmarshal.c:2124,7'
          Dst:             TPML_PCR_SELECTION_Unmarshal
        - Src:             'Unmarshal.c:2127,7'
          Dst:             TPML_TAGGED_TPM_PROPERTY_Unmarshal
        - Src:             'Unmarshal.c:2130,7'
          Dst:             TPML_TAGGED_PCR_PROPERTY_Unmarshal
        - Src:             'Unmarshal.c:2133,7'
          Dst:             TPML_ECC_CURVE_Unmarshal
        - Src:             'Unmarshal.c:2136,7'
          Dst:             TPML_TAGGED_POLICY_Unmarshal
    - functionName:    TPML_ALG_PROPERTY_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1994
      functionLinenumberEnd: 2009
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          106
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - TPMS_ALG_PROPERTY_Unmarshal
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1999,7'
          Dst:             UINT32_Unmarshal
        - Src:             'Unmarshal.c:2007,7'
          Dst:             TPMS_ALG_PROPERTY_Unmarshal
    - functionName:    TPML_HANDLE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1896
      functionLinenumberEnd: 1911
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          106
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - TPM_HANDLE_Unmarshal
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1901,7'
          Dst:             UINT32_Unmarshal
        - Src:             'Unmarshal.c:1909,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPML_CCA_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1852
      functionLinenumberEnd: 1867
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          106
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - TPMA_CC_Unmarshal
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1857,7'
          Dst:             UINT32_Unmarshal
        - Src:             'Unmarshal.c:1865,7'
          Dst:             TPMA_CC_Unmarshal
    - functionName:    TPML_CC_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1815
      functionLinenumberEnd: 1830
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          106
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - TPM_CC_Unmarshal
        - UINT32_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1820,7'
          Dst:             UINT32_Unmarshal
        - Src:             'Unmarshal.c:1828,7'
          Dst:             TPM_CC_Unmarshal
    - functionName:    TPML_TAGGED_TPM_PROPERTY_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2016
      functionLinenumberEnd: 2031
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          106
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - TPMS_TAGGED_PROPERTY_Unmarshal
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2021,7'
          Dst:             UINT32_Unmarshal
        - Src:             'Unmarshal.c:2029,7'
          Dst:             TPMS_TAGGED_PROPERTY_Unmarshal
    - functionName:    TPML_TAGGED_PCR_PROPERTY_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2038
      functionLinenumberEnd: 2053
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          106
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - TPMS_TAGGED_PCR_SELECT_Unmarshal
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2043,7'
          Dst:             UINT32_Unmarshal
        - Src:             'Unmarshal.c:2051,7'
          Dst:             TPMS_TAGGED_PCR_SELECT_Unmarshal
    - functionName:    TPML_ECC_CURVE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2060
      functionLinenumberEnd: 2075
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          106
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - TPM_ECC_CURVE_Unmarshal
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2065,7'
          Dst:             UINT32_Unmarshal
        - Src:             'Unmarshal.c:2073,7'
          Dst:             TPM_ECC_CURVE_Unmarshal
    - functionName:    TPML_TAGGED_POLICY_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2082
      functionLinenumberEnd: 2097
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          106
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - TPMS_TAGGED_POLICY_Unmarshal
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:2087,7'
          Dst:             UINT32_Unmarshal
        - Src:             'Unmarshal.c:2095,7'
          Dst:             TPMS_TAGGED_POLICY_Unmarshal
    - functionName:    TPMS_TAGGED_POLICY_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1837
      functionLinenumberEnd: 1845
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMT_HA_Unmarshal
        - TPM_HANDLE_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1840,7'
          Dst:             TPM_HANDLE_Unmarshal
        - Src:             'Unmarshal.c:1843,7'
          Dst:             TPMT_HA_Unmarshal
    - functionName:    TPMS_TAGGED_PCR_SELECT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1796
      functionLinenumberEnd: 1808
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          79
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - Array_Unmarshal
        - TPM_PT_PCR_Unmarshal
        - UINT8_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1800,7'
          Dst:             TPM_PT_PCR_Unmarshal
        - Src:             'Unmarshal.c:1803,7'
          Dst:             UINT8_Unmarshal
        - Src:             'Unmarshal.c:1806,7'
          Dst:             Array_Unmarshal
    - functionName:    TPM_PT_PCR_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 442
      functionLinenumberEnd: 448
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:446,7'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMS_TAGGED_PROPERTY_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1780
      functionLinenumberEnd: 1789
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_PT_Unmarshal
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1784,7'
          Dst:             TPM_PT_Unmarshal
        - Src:             'Unmarshal.c:1787,7'
          Dst:             UINT32_Unmarshal
    - functionName:    TPM_PT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 429
      functionLinenumberEnd: 435
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:433,7'
          Dst:             UINT32_Unmarshal
    - functionName:    TPM_CC_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:236,7'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMA_CC_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 535
      functionLinenumberEnd: 546
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:539,7'
          Dst:             UINT32_Unmarshal
    - functionName:    TPMS_ALG_PROPERTY_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1764
      functionLinenumberEnd: 1773
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - TPMA_ALGORITHM_Unmarshal
        - TPM_ALG_ID_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1768,7'
          Dst:             TPM_ALG_ID_Unmarshal
        - Src:             'Unmarshal.c:1771,7'
          Dst:             TPMA_ALGORITHM_Unmarshal
    - functionName:    TPMA_ALGORITHM_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 468
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:472,7'
          Dst:             UINT32_Unmarshal
    - functionName:    TPML_DIGEST_VALUES_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1950
      functionLinenumberEnd: 1965
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          105
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - TPMT_HA_Unmarshal
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1955,7'
          Dst:             UINT32_Unmarshal
        - Src:             'Unmarshal.c:1963,7'
          Dst:             TPMT_HA_Unmarshal
    - functionName:    TPML_DIGEST_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1922
      functionLinenumberEnd: 1943
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          129
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1927,7'
          Dst:             UINT32_Unmarshal
        - Src:             'Unmarshal.c:1941,7'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPML_ALG_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1874
      functionLinenumberEnd: 1889
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          105
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - TPM_ALG_ID_Unmarshal
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1879,7'
          Dst:             UINT32_Unmarshal
        - Src:             'Unmarshal.c:1887,7'
          Dst:             TPM_ALG_ID_Unmarshal
    - functionName:    TPMT_TK_HASHCHECK_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1740
      functionLinenumberEnd: 1757
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          99
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPMI_RH_HIERARCHY_Unmarshal
        - TPM_ST_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1744,7'
          Dst:             TPM_ST_Unmarshal
        - Src:             'Unmarshal.c:1752,7'
          Dst:             TPMI_RH_HIERARCHY_Unmarshal
        - Src:             'Unmarshal.c:1755,7'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPMT_TK_AUTH_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1715
      functionLinenumberEnd: 1733
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          110
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPMI_RH_HIERARCHY_Unmarshal
        - TPM_ST_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1719,7'
          Dst:             TPM_ST_Unmarshal
        - Src:             'Unmarshal.c:1728,7'
          Dst:             TPMI_RH_HIERARCHY_Unmarshal
        - Src:             'Unmarshal.c:1731,7'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPMT_TK_VERIFIED_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1691
      functionLinenumberEnd: 1708
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          99
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPMI_RH_HIERARCHY_Unmarshal
        - TPM_ST_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1695,7'
          Dst:             TPM_ST_Unmarshal
        - Src:             'Unmarshal.c:1703,7'
          Dst:             TPMI_RH_HIERARCHY_Unmarshal
        - Src:             'Unmarshal.c:1706,7'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPMT_TK_CREATION_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1667
      functionLinenumberEnd: 1684
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          99
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
        - TPMI_RH_HIERARCHY_Unmarshal
        - TPM_ST_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1671,7'
          Dst:             TPM_ST_Unmarshal
        - Src:             'Unmarshal.c:1679,7'
          Dst:             TPMI_RH_HIERARCHY_Unmarshal
        - Src:             'Unmarshal.c:1682,7'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPM2B_IV_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1616
      functionLinenumberEnd: 1622
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1620,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPM2B_TIMEOUT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1603
      functionLinenumberEnd: 1609
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1607,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPM2B_MAX_BUFFER_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1577
      functionLinenumberEnd: 1583
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1581,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPM2B_EVENT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1564
      functionLinenumberEnd: 1570
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1568,7'
          Dst:             TPM2B_Unmarshal
    - functionName:    TPM2B_OPERAND_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1551
      functionLinenumberEnd: 1557
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TPM2B_DIGEST_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:1555,7'
          Dst:             TPM2B_DIGEST_Unmarshal
    - functionName:    TPMI_ALG_CIPHER_MODE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1391
      functionLinenumberEnd: 1423
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          93
      EdgeCount:       23
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_ALG_ID_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Unmarshal.c:1398,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:1395,7'
          Dst:             TPM_ALG_ID_Unmarshal
    - functionName:    TPMI_ALG_MAC_SCHEME_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1349
      functionLinenumberEnd: 1384
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          93
      EdgeCount:       23
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_ALG_ID_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Unmarshal.c:1356,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:1353,7'
          Dst:             TPM_ALG_ID_Unmarshal
    - functionName:    TPMI_ST_COMMAND_TAG_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1327
      functionLinenumberEnd: 1342
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - TPM_ST_Unmarshal
      functionUses:    1
      BranchProfiles:
        - Branch String:   'Unmarshal.c:1334,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:1331,7'
          Dst:             TPM_ST_Unmarshal
    - functionName:    TPMI_ECC_KEY_EXCHANGE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1293
      functionLinenumberEnd: 1319
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          76
      EdgeCount:       18
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_ALG_ID_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Unmarshal.c:1300,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:1297,7'
          Dst:             TPM_ALG_ID_Unmarshal
    - functionName:    TPMI_RH_LOCKOUT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1020
      functionLinenumberEnd: 1035
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          64
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Unmarshal.c:1028,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:1025,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_RH_NV_AUTH_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 992
      functionLinenumberEnd: 1013
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          99
      EdgeCount:       23
      CyclomaticComplexity: 5
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Unmarshal.c:1000,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:997,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_RH_CLEAR_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 969
      functionLinenumberEnd: 985
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          69
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Unmarshal.c:977,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:974,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_RH_PROVISION_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 946
      functionLinenumberEnd: 962
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          69
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Unmarshal.c:954,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:951,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_RH_ENDORSEMENT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 921
      functionLinenumberEnd: 939
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          75
      EdgeCount:       18
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Unmarshal.c:928,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:925,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_RH_PLATFORM_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 899
      functionLinenumberEnd: 914
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          64
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Unmarshal.c:907,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:904,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_RH_HIERARCHY_AUTH_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 874
      functionLinenumberEnd: 892
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          77
      EdgeCount:       17
      CyclomaticComplexity: 3
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Unmarshal.c:882,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:879,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_RH_ENABLES_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 846
      functionLinenumberEnd: 867
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          88
      EdgeCount:       22
      CyclomaticComplexity: 4
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Unmarshal.c:853,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:850,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_DH_CONTEXT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 767
      functionLinenumberEnd: 784
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          142
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:772,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_SH_POLICY_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 747
      functionLinenumberEnd: 760
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          84
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:752,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_SH_HMAC_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 727
      functionLinenumberEnd: 740
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          84
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:732,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_SH_AUTH_SESSION_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 704
      functionLinenumberEnd: 720
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          140
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:708,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_DH_PCR_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 683
      functionLinenumberEnd: 697
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          97
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:687,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_DH_ENTITY_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 646
      functionLinenumberEnd: 676
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          273
      EdgeCount:       62
      CyclomaticComplexity: 19
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:650,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_DH_PERSISTENT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 627
      functionLinenumberEnd: 639
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          80
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:631,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_DH_PARENT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 598
      functionLinenumberEnd: 620
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          185
      EdgeCount:       42
      CyclomaticComplexity: 13
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:602,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPMI_DH_OBJECT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 575
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          140
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - TPM_HANDLE_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:579,7'
          Dst:             TPM_HANDLE_Unmarshal
    - functionName:    TPM_SE_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 375
      functionLinenumberEnd: 391
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          70
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached:
        - UINT8_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Unmarshal.c:382,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:379,7'
          Dst:             UINT8_Unmarshal
    - functionName:    TPM_SU_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 353
      functionLinenumberEnd: 368
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Unmarshal.c:360,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:357,7'
          Dst:             UINT16_Unmarshal
    - functionName:    TPM_EO_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 310
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          106
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - UINT16_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Unmarshal.c:292,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:289,7'
          Dst:             UINT16_Unmarshal
    - functionName:    TPM_CLOCK_ADJUST_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          86
      EdgeCount:       20
      CyclomaticComplexity: 3
      functionsReached:
        - INT8_Unmarshal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'Unmarshal.c:265,2'
          Branch Sides:    []
      Callsites:
        - Src:             'Unmarshal.c:262,7'
          Dst:             INT8_Unmarshal
    - functionName:    INT8_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT8_Unmarshal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:61,12'
          Dst:             UINT8_Unmarshal
    - functionName:    TPM_RC_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:249,7'
          Dst:             UINT32_Unmarshal
    - functionName:    INT32_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/Unmarshal.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UINT32_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'Unmarshal.c:95,12'
          Dst:             UINT32_Unmarshal
    - functionName:    TPM2_Vendor_TCG_Test
      functionSourceFile: '/src/ibmswtpm2/src/Vendor_TCG_Test.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NTC2_CFG_STRUCT_Marshal
      functionSourceFile: '/src/ibmswtpm2/src/ntc2lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Array_Marshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ntc2lib.c:69,16'
          Dst:             Array_Marshal
    - functionName:    NTC2_CFG_STRUCT_Unmarshal
      functionSourceFile: '/src/ibmswtpm2/src/ntc2lib.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - Array_Unmarshal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ntc2lib.c:58,7'
          Dst:             Array_Unmarshal
    - functionName:    NTC2_GetConfig
      functionSourceFile: '/src/ibmswtpm2/src/ntc2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NTC2_LockPreConfig
      functionSourceFile: '/src/ibmswtpm2/src/ntc2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NTC2_PreConfig
      functionSourceFile: '/src/ibmswtpm2/src/ntc2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ReadVarBytes
      functionSourceFile: '/src/ibmswtpm2/src/TcpServerPosix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 609
      functionLinenumberEnd: 626
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          83
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - ReadBytes
        - ntohl
        - printf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'TcpServerPosix.c:613,11'
          Dst:             ReadBytes
        - Src:             'TcpServerPosix.c:615,14'
          Dst:             ntohl
        - Src:             'TcpServerPosix.c:619,6'
          Dst:             printf
        - Src:             'TcpServerPosix.c:623,11'
          Dst:             ReadBytes
    - functionName:    ReadBytes
      functionSourceFile: '/src/ibmswtpm2/src/TcpServerPosix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 539
      functionLinenumberEnd: 558
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          76
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - printf
        - read
        - strerror
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'TcpServerPosix.c:545,12'
          Dst:             read
        - Src:             'TcpServerPosix.c:548,49'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:548,65'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:548,56'
          Dst:             strerror
        - Src:             'TcpServerPosix.c:548,7'
          Dst:             printf
    - functionName:    ntohl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __errno_location
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    24
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strerror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WriteBytes
      functionSourceFile: '/src/ibmswtpm2/src/TcpServerPosix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 569
      functionLinenumberEnd: 583
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - printf
        - strerror
        - write
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'TcpServerPosix.c:574,12'
          Dst:             write
        - Src:             'TcpServerPosix.c:577,50'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:577,66'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:577,57'
          Dst:             strerror
        - Src:             'TcpServerPosix.c:577,7'
          Dst:             printf
    - functionName:    StartTcpServer
      functionSourceFile: '/src/ibmswtpm2/src/TcpServerPosix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 507
      functionLinenumberEnd: 527
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          51
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - PlatformSignalService
        - RegularCommandService
        - printf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TcpServerPosix.c:511,11'
          Dst:             PlatformSignalService
        - Src:             'TcpServerPosix.c:514,6'
          Dst:             printf
        - Src:             'TcpServerPosix.c:519,11'
          Dst:             RegularCommandService
        - Src:             'TcpServerPosix.c:522,6'
          Dst:             printf
    - functionName:    PlatformSignalService
      functionSourceFile: '/src/ibmswtpm2/src/TcpServerPosix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 377
      functionLinenumberEnd: 410
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - PlatformSvcRoutine
        - printf
        - pthread_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TcpServerPosix.c:382,11'
          Dst:             pthread_create
        - Src:             'TcpServerPosix.c:382,11'
          Dst:             PlatformSvcRoutine
        - Src:             'TcpServerPosix.c:387,2'
          Dst:             printf
    - functionName:    RegularCommandService
      functionSourceFile: '/src/ibmswtpm2/src/TcpServerPosix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 419
      functionLinenumberEnd: 495
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         46
      ICount:          324
      EdgeCount:       60
      CyclomaticComplexity: 16
      functionsReached:
        - CreateSocket
        - TpmServer
        - __errno_location
        - accept
        - close
        - printf
        - select
        - strerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TcpServerPosix.c:429,9'
          Dst:             CreateSocket
        - Src:             'TcpServerPosix.c:434,9'
          Dst:             CreateSocket
        - Src:             'TcpServerPosix.c:439,9'
          Dst:             printf
        - Src:             'TcpServerPosix.c:452,6'
          Dst:             printf
        - Src:             'TcpServerPosix.c:460,16'
          Dst:             select
        - Src:             'TcpServerPosix.c:461,31'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:463,71'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:464,19'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:464,10'
          Dst:             strerror
        - Src:             'TcpServerPosix.c:463,10'
          Dst:             printf
        - Src:             'TcpServerPosix.c:474,18'
          Dst:             accept
        - Src:             'TcpServerPosix.c:480,18'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:480,34'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:480,25'
          Dst:             strerror
        - Src:             'TcpServerPosix.c:479,4'
          Dst:             printf
        - Src:             'TcpServerPosix.c:483,10'
          Dst:             printf
        - Src:             'TcpServerPosix.c:487,28'
          Dst:             TpmServer
        - Src:             'TcpServerPosix.c:488,10'
          Dst:             close
    - functionName:    CreateSocket
      functionSourceFile: '/src/ibmswtpm2/src/TcpServerPosix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          193
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - bind
        - close
        - htons
        - listen
        - printf
        - setsockopt
        - socket
        - strerror
      functionUses:    4
      BranchProfiles:
        - Branch String:   'TcpServerPosix.c:135,5'
          Branch Sides:    []
      Callsites:
        - Src:             'TcpServerPosix.c:121,21'
          Dst:             socket
        - Src:             'TcpServerPosix.c:126,56'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:126,72'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:126,63'
          Dst:             strerror
        - Src:             'TcpServerPosix.c:124,13'
          Dst:             printf
        - Src:             'TcpServerPosix.c:127,6'
          Dst:             printf
        - Src:             'TcpServerPosix.c:138,13'
          Dst:             htons
        - Src:             'TcpServerPosix.c:143,13'
          Dst:             htons
        - Src:             'TcpServerPosix.c:148,15'
          Dst:             setsockopt
        - Src:             'TcpServerPosix.c:152,6'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:152,22'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:152,13'
          Dst:             strerror
        - Src:             'TcpServerPosix.c:151,6'
          Dst:             printf
        - Src:             'TcpServerPosix.c:157,9'
          Dst:             printf
        - Src:             'TcpServerPosix.c:163,11'
          Dst:             setsockopt
        - Src:             'TcpServerPosix.c:165,47'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:165,63'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:165,54'
          Dst:             strerror
        - Src:             'TcpServerPosix.c:165,2'
          Dst:             printf
        - Src:             'TcpServerPosix.c:169,10'
          Dst:             bind
        - Src:             'TcpServerPosix.c:172,13'
          Dst:             close
        - Src:             'TcpServerPosix.c:174,47'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:174,63'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:174,54'
          Dst:             strerror
        - Src:             'TcpServerPosix.c:174,6'
          Dst:             printf
        - Src:             'TcpServerPosix.c:179,10'
          Dst:             listen
        - Src:             'TcpServerPosix.c:182,6'
          Dst:             close
        - Src:             'TcpServerPosix.c:184,55'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:184,71'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:184,62'
          Dst:             strerror
        - Src:             'TcpServerPosix.c:184,13'
          Dst:             printf
    - functionName:    select
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    accept
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TpmServer
      functionSourceFile: '/src/ibmswtpm2/src/TcpServerPosix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 656
      functionLinenumberEnd: 774
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         39
      ICount:          242
      EdgeCount:       49
      CyclomaticComplexity: 12
      functionsReached:
        - ReadBytes
        - ReadVarBytes
        - _rpc__Send_Command
        - _rpc__Signal_HashEnd
        - _rpc__Signal_Hash_Data
        - _rpc__Signal_Hash_Start
        - ntohl
        - printf
      functionUses:    2
      BranchProfiles:
        - Branch String:   'TcpServerPosix.c:675,6'
          Branch Sides:    []
      Callsites:
        - Src:             'TcpServerPosix.c:668,11'
          Dst:             ReadBytes
        - Src:             'TcpServerPosix.c:674,16'
          Dst:             ntohl
        - Src:             'TcpServerPosix.c:678,7'
          Dst:             _rpc__Signal_Hash_Start
        - Src:             'TcpServerPosix.c:682,7'
          Dst:             _rpc__Signal_HashEnd
        - Src:             'TcpServerPosix.c:686,12'
          Dst:             ReadVarBytes
        - Src:             'TcpServerPosix.c:690,7'
          Dst:             _rpc__Signal_Hash_Data
        - Src:             'TcpServerPosix.c:694,12'
          Dst:             ReadBytes
        - Src:             'TcpServerPosix.c:698,12'
          Dst:             ReadVarBytes
        - Src:             'TcpServerPosix.c:714,7'
          Dst:             _rpc__Send_Command
        - Src:             'TcpServerPosix.c:734,12'
          Dst:             ReadBytes
        - Src:             'TcpServerPosix.c:739,8'
          Dst:             printf
        - Src:             'TcpServerPosix.c:750,12'
          Dst:             ReadBytes
        - Src:             'TcpServerPosix.c:764,7'
          Dst:             printf
    - functionName:    socket
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    htons
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setsockopt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    bind
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    listen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PlatformSvcRoutine
      functionSourceFile: '/src/ibmswtpm2/src/TcpServerPosix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 286
      functionLinenumberEnd: 366
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         46
      ICount:          325
      EdgeCount:       60
      CyclomaticComplexity: 16
      functionsReached:
        - CreateSocket
        - PlatformServer
        - __errno_location
        - accept
        - close
        - printf
        - select
        - strerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TcpServerPosix.c:297,9'
          Dst:             CreateSocket
        - Src:             'TcpServerPosix.c:302,9'
          Dst:             CreateSocket
        - Src:             'TcpServerPosix.c:307,2'
          Dst:             printf
        - Src:             'TcpServerPosix.c:320,9'
          Dst:             printf
        - Src:             'TcpServerPosix.c:328,12'
          Dst:             select
        - Src:             'TcpServerPosix.c:330,25'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:333,6'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:333,22'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:333,13'
          Dst:             strerror
        - Src:             'TcpServerPosix.c:332,6'
          Dst:             printf
        - Src:             'TcpServerPosix.c:345,21'
          Dst:             accept
        - Src:             'TcpServerPosix.c:351,14'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:351,30'
          Dst:             __errno_location
        - Src:             'TcpServerPosix.c:351,21'
          Dst:             strerror
        - Src:             'TcpServerPosix.c:350,7'
          Dst:             printf
        - Src:             'TcpServerPosix.c:354,6'
          Dst:             printf
        - Src:             'TcpServerPosix.c:358,24'
          Dst:             PlatformServer
        - Src:             'TcpServerPosix.c:359,6'
          Dst:             close
    - functionName:    pthread_create
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PlatformServer
      functionSourceFile: '/src/ibmswtpm2/src/TcpServerPosix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 277
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          127
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - ReadBytes
        - WriteUINT32
        - WriteVarBytes
        - _rpc__ForceFailureMode
        - _rpc__Signal_CancelOff
        - _rpc__Signal_CancelOn
        - _rpc__Signal_NvOff
        - _rpc__Signal_NvOn
        - _rpc__Signal_PhysicalPresenceOff
        - _rpc__Signal_PhysicalPresenceOn
        - _rpc__Signal_PowerOff
        - _rpc__Signal_PowerOn
        - ntohl
        - printf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'TcpServerPosix.c:211,6'
          Branch Sides:    []
      Callsites:
        - Src:             'TcpServerPosix.c:205,11'
          Dst:             ReadBytes
        - Src:             'TcpServerPosix.c:210,16'
          Dst:             ntohl
        - Src:             'TcpServerPosix.c:214,7'
          Dst:             _rpc__Signal_PowerOn
        - Src:             'TcpServerPosix.c:218,7'
          Dst:             _rpc__Signal_PowerOff
        - Src:             'TcpServerPosix.c:222,7'
          Dst:             _rpc__Signal_PowerOn
        - Src:             'TcpServerPosix.c:226,7'
          Dst:             _rpc__Signal_PhysicalPresenceOn
        - Src:             'TcpServerPosix.c:230,7'
          Dst:             _rpc__Signal_PhysicalPresenceOff
        - Src:             'TcpServerPosix.c:234,7'
          Dst:             _rpc__Signal_CancelOn
        - Src:             'TcpServerPosix.c:238,7'
          Dst:             _rpc__Signal_CancelOff
        - Src:             'TcpServerPosix.c:242,7'
          Dst:             _rpc__Signal_NvOn
        - Src:             'TcpServerPosix.c:246,7'
          Dst:             _rpc__Signal_NvOff
        - Src:             'TcpServerPosix.c:258,7'
          Dst:             _rpc__ForceFailureMode
        - Src:             'TcpServerPosix.c:262,12'
          Dst:             WriteVarBytes
        - Src:             'TcpServerPosix.c:270,7'
          Dst:             printf
        - Src:             'TcpServerPosix.c:271,7'
          Dst:             WriteUINT32
        - Src:             'TcpServerPosix.c:274,6'
          Dst:             WriteUINT32
    - functionName:    WriteVarBytes
      functionSourceFile: '/src/ibmswtpm2/src/TcpServerPosix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 638
      functionLinenumberEnd: 647
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          57
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - WriteBytes
        - htonl
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'TcpServerPosix.c:639,38'
          Dst:             htonl
        - Src:             'TcpServerPosix.c:642,11'
          Dst:             WriteBytes
        - Src:             'TcpServerPosix.c:644,11'
          Dst:             WriteBytes
    - functionName:    WriteUINT32
      functionSourceFile: '/src/ibmswtpm2/src/TcpServerPosix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 593
      functionLinenumberEnd: 595
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WriteBytes
        - htonl
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'TcpServerPosix.c:594,21'
          Dst:             htonl
        - Src:             'TcpServerPosix.c:595,12'
          Dst:             WriteBytes
    - functionName:    htonl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
...
